:root{--color-bg: #FAFAFA;--color-text: #1a1a1a;--color-gold: #B89E73;--color-gold-dark: #9e865d;--color-gold-light: #E6DBC9;--color-white: #FFFFFF;--font-title: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif;--font-signature: "Pinyon Script", cursive;--header-height: 90px;--header-height-scrolled: 70px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-weight:400;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-title);font-weight:400;color:#111;line-height:1.2}h1{font-size:clamp(2.8rem,6vw,5.5rem)}h2{font-size:clamp(2.2rem,5vw,3.5rem);text-align:center;margin-bottom:1rem;letter-spacing:-1px}h3{font-size:clamp(1.5rem,3vw,1.8rem);margin-bottom:.5rem;color:#222}p{color:#444;margin-bottom:1.5rem;font-size:clamp(1rem,2vw,1.1rem);font-weight:400}a{text-decoration:none;transition:all .4s ease;color:inherit}.container{max-width:1300px;margin:0 auto;padding:0 2rem;width:100%}.text-center{text-align:center}.gold-text{color:var(--color-gold-dark);font-style:italic;font-weight:500}.uppercase{text-transform:uppercase;letter-spacing:3px;font-size:.8rem;font-weight:600;color:#555}.separator{width:60px;height:1px;background:var(--color-gold);margin:2rem auto;display:block}.no-scroll{overflow:hidden}#preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:9999;display:flex;justify-content:center;align-items:center;transition:opacity .5s ease-out,visibility .5s}.loader-content{text-align:center;animation:pulse 2s infinite}.loader-logo{font-family:var(--font-title);font-size:2rem;color:#000;letter-spacing:2px}.loader-logo span{color:var(--color-gold);font-size:2.5rem}#scroll-progress{position:fixed;top:0;left:0;width:0%;height:4px;background:linear-gradient(90deg,var(--color-gold) 0%,var(--color-gold-light) 100%);z-index:99999;transition:width .1s ease-out;box-shadow:0 0 10px #b89e7380}.reveal{opacity:0;transform:translateY(40px);transition:all 1s cubic-bezier(.2,.8,.2,1)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.site-header{position:fixed;top:0;width:100%;z-index:1000;height:var(--header-height);display:flex;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);background:#fafafaf2;backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.03)}.site-header.scrolled{height:var(--header-height-scrolled);background:#fffffffa;box-shadow:0 10px 30px #0000000d}.header-inner{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.logo{font-family:var(--font-title);font-size:clamp(1.4rem,4vw,1.6rem);font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#000;display:flex;align-items:center;gap:5px;z-index:1001;white-space:nowrap}.logo span{color:var(--color-gold);font-style:italic;text-transform:none;font-size:1.2em}.nav-desktop{display:flex;gap:35px;align-items:center}.nav-desktop a{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;position:relative;font-weight:600;color:#333;white-space:nowrap}.nav-desktop a:after{content:"";position:absolute;width:0;height:1px;bottom:-5px;left:0;background:var(--color-gold);transition:.3s}.nav-desktop a:hover:after{width:100%}.btn-gold{border:1px solid var(--color-gold);color:var(--color-gold-dark);padding:12px 30px;text-transform:uppercase;letter-spacing:1.5px;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;background:transparent;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;z-index:1}.btn-gold:before{content:"";position:absolute;top:0;left:0;width:0%;height:100%;background:var(--color-gold);z-index:-1;transition:width .4s cubic-bezier(.4,0,.2,1)}.btn-gold:hover{color:#fff;border-color:var(--color-gold)}.btn-gold:hover:before{width:100%}.contact-banner{background:#080808;position:relative;padding:100px 0;color:#fff;overflow:hidden;border-top:1px solid rgba(184,158,115,.2)}.contact-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);opacity:.5}.contact-header h2{font-family:var(--font-title);font-size:3rem;margin-bottom:1rem;background:linear-gradient(to right,#fff,#ccc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.contact-header p{color:#888;font-size:1.1rem;max-width:600px;margin:0 auto 4rem}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:30px}.contact-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);padding:40px 30px;border-radius:4px;transition:all .4s ease;position:relative;overflow:hidden}.contact-card:hover{background:#ffffff0d;transform:translateY(-5px);border-color:var(--color-gold);box-shadow:0 10px 30px #00000080}.contact-icon-box{width:70px;height:70px;margin:0 auto 25px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(184,158,115,.3);color:var(--color-gold);font-size:2rem;transition:all .4s ease}.contact-card:hover .contact-icon-box{background:var(--color-gold);color:#000;border-color:var(--color-gold);transform:scale(1.1)}.contact-card h3{color:#fff;font-size:1.2rem;margin-bottom:15px;letter-spacing:1px;text-transform:uppercase}.contact-link{display:block;color:#ccc;font-size:1.1rem;margin-bottom:5px;text-decoration:none;transition:color .3s}.contact-link.highlight{font-size:1.4rem;color:var(--color-gold);font-family:var(--font-title)}.contact-link:hover{color:#fff}.contact-sub{display:block;font-size:.9rem;color:#666;margin-top:5px}.hamburger{display:none;cursor:pointer;z-index:1001;flex-direction:column;gap:5px}.hamburger span{display:block;width:25px;height:2px;background:#333;transition:.3s}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;transform:translateY(-100%);transition:.5s cubic-bezier(.7,0,.3,1);z-index:999;overflow-y:auto;padding-top:var(--header-height)}.site-header{z-index:1000}.hamburger,.logo,.theme-toggle{z-index:1001}.mobile-menu.active{transform:translateY(0)}.mobile-menu a{font-size:1.5rem;font-family:var(--font-title);color:#333}.hero{height:100vh;min-height:600px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background-color:#1a1a1a}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:url(images/sito/hero-bg.webp) center/cover no-repeat;opacity:.6;animation:slowZoom 30s infinite alternate cubic-bezier(.4,0,.2,1)}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#0003,#000c);z-index:1}.hero-content{position:relative;z-index:2;max-width:900px;width:90%;padding:clamp(40px,10vw,80px);border:1px solid rgba(184,158,115,.3);background:#0000004d;backdrop-filter:blur(3px)}.hero-content:before{content:"";position:absolute;inset:6px;border:1px solid rgba(184,158,115,.15);pointer-events:none}.hero-subtitle{font-size:.85rem;letter-spacing:4px;color:var(--color-gold);margin-bottom:25px;display:block;font-weight:500;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.8);opacity:0;animation:fadeInUp 1s ease-out forwards;animation-delay:.2s}.hero h1{color:#fff;margin-bottom:30px;font-weight:300;letter-spacing:-.5px;line-height:1.1;text-shadow:0 4px 20px rgba(0,0,0,.9);opacity:0;animation:fadeInUp 1s ease-out forwards;animation-delay:.4s}.hero p{color:#ddd;margin-bottom:0;font-family:var(--font-body);font-weight:300;text-shadow:0 2px 10px rgba(0,0,0,.8);max-width:600px;margin-left:auto;margin-right:auto;opacity:0;animation:fadeInUp 1s ease-out forwards;animation-delay:.8s}.hero-separator{width:80px;height:1px;background:var(--color-gold);margin:30px auto;display:block;opacity:0;animation:fadeInUp 1s ease-out forwards;animation-delay:.6s}.scroll-down{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:3;color:#ffffff80;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;animation:bounce 2s infinite;cursor:pointer;opacity:0;animation:fadeIn 1s ease-out forwards 1.2s,bounce 2s infinite 1.2s}.scroll-down:after{content:"";display:block;width:1px;height:40px;background:#ffffff4d;margin:10px auto 0}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.15)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.whatsapp-float{position:fixed;bottom:30px;right:30px;z-index:1002;background:var(--color-gold);color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 4px 20px #b89e7366;transition:all .3s}.whatsapp-float:hover{transform:translateY(-5px) scale(1.05);background:var(--color-gold-dark);box-shadow:0 10px 30px #b89e7399}.back-to-top{position:fixed;bottom:30px;left:30px;z-index:999;background:#333;color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;border:1px solid rgba(255,255,255,.1)}.back-to-top.visible{opacity:1;pointer-events:all}.back-to-top:hover{background:var(--color-gold)}section{padding:clamp(4rem,8vw,8rem) 0}.emergency-guide{background:#fff;border-bottom:1px solid #eee}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(30px,5vw,50px);margin-top:3rem}.guide-step h3{font-size:1.4rem;color:var(--color-gold-dark);margin-bottom:1rem;font-weight:500}.guide-step ul{list-style:none;padding-left:0}.guide-step ul li{position:relative;padding-left:20px;margin-bottom:10px;color:#333;font-size:1rem;font-weight:400}.guide-step ul li:before{content:"\2022";color:var(--color-gold);position:absolute;left:0;font-size:1.2rem;line-height:1}.about-section{background:#fafafa;position:relative}.about-content{max-width:800px;margin:0 auto;text-align:center}.about-text{font-size:clamp(1rem,2vw,1.15rem);line-height:1.8;color:#444;margin-bottom:2rem;text-align:justify}.drop-cap{float:left;font-family:var(--font-title);font-size:clamp(3.5rem,6vw,4.5rem);line-height:.8;color:var(--color-gold);padding-right:15px;padding-top:5px}.signature-container{margin-top:40px;text-align:center}.signature{font-family:var(--font-signature);font-size:clamp(2.5rem,5vw,3.5rem);color:var(--color-gold-dark);transform:rotate(-3deg);display:inline-block}.badge-65{width:clamp(120px,15vw,150px);height:clamp(120px,15vw,150px);margin:0 auto 3rem;border:1px solid var(--color-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;position:relative}.badge-65:before{content:"";position:absolute;inset:5px;border:1px solid rgba(184,158,115,.3);border-radius:50%}.badge-65 span.num{font-family:var(--font-title);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1;color:var(--color-gold)}.badge-65 span.txt{font-size:.6rem;text-transform:uppercase;letter-spacing:2px;margin-top:5px}.quote-box{width:100%}.quote-box p.lead{font-size:clamp(1.1rem,2.5vw,1.4rem);font-family:var(--font-title);color:#222;font-style:italic;line-height:1.5;font-weight:500}.necrologi-section{background:#fff url(https://images.unsplash.com/photo-1548625361-bd8769db0c6d?q=80&w=1920&auto=format&fit=crop) center/cover no-repeat;background-blend-mode:overlay;background-color:#fffffff2;border-top:1px solid #f0f0f0}.search-bar-container{max-width:500px;width:100%;margin:0 auto 3rem;display:flex;gap:10px;flex-wrap:wrap}.search-input{flex:1;padding:15px;border:1px solid #ddd;font-family:var(--font-body);background:#fafafa;transition:.3s;min-width:200px}.search-input:focus{border-color:var(--color-gold);outline:none;background:#fff}.search-btn{padding:15px 30px;border:1px solid var(--color-gold);width:auto}.necrologi-grid{display:flex;overflow-x:auto;gap:30px;padding-bottom:30px;padding-left:20px;padding-right:20px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-gold) #f0f0f0}.necrologi-grid::-webkit-scrollbar{display:none}.necrologi-grid{-ms-overflow-style:none;scrollbar-width:none}.necro-card{scroll-snap-align:center;min-width:320px;max-width:350px;background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px #00000008;transition:.3s;overflow:hidden;flex-shrink:0}.necro-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #b89e7326}.necro-img{height:250px;background-size:cover;background-position:center;filter:grayscale(100%);transition:.5s}.necro-card:hover .necro-img{filter:grayscale(0%)}.necro-info{padding:25px;text-align:center}.necro-info h4{font-size:1.5rem;margin-bottom:5px;color:#222}.necro-date{display:block;color:var(--color-gold);font-size:.9rem;margin-bottom:15px;letter-spacing:1px}.necro-msg{font-size:.9rem;color:#666;margin-bottom:20px;line-height:1.6}.necro-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.btn-outline{border:1px solid #ddd;background:transparent;padding:8px 15px;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:.3s;white-space:nowrap}.btn-outline:hover{border-color:#333;background:#333;color:#fff}.btn-gold-small{border:1px solid var(--color-gold);background:var(--color-gold);color:#fff;padding:8px 15px;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:.3s;white-space:nowrap}.btn-gold-small:hover{background:var(--color-gold-dark);border-color:var(--color-gold-dark)}.innovazione-section{background:#fdfbf7;border-top:1px solid rgba(184,158,115,.1)}.innovazione-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-top:4rem}.innovazione-item{text-align:center;transition:.4s;padding:20px}.innovazione-item:hover{transform:translateY(-10px)}.innovazione-icon-box{width:80px;height:80px;margin:0 auto 20px;border:1px solid var(--color-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--color-gold-dark);transition:.4s;background:#fff}.innovazione-item:hover .innovazione-icon-box{background:var(--color-gold);color:#fff;box-shadow:0 10px 20px #b89e734d}.innovazione-item h4{font-size:1.3rem;margin-bottom:15px;color:#222}.innovazione-item p{font-size:.95rem;color:#555}.services-section{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;padding:20px 0}.service-card{background:#fff;padding:50px 30px;border-radius:12px;text-align:center;transition:all .4s cubic-bezier(.2,.8,.2,1);border:1px solid rgba(184,158,115,.15);box-shadow:0 10px 30px #00000008;position:relative;overflow:hidden}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #b89e7326;border-color:var(--color-gold)}.services-section .icon-box{width:90px;height:90px;margin:0 auto 30px;background:linear-gradient(135deg,#fdfbf7,#fff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--color-gold);border:2px solid var(--color-gold);box-shadow:0 5px 15px #b89e7333;transition:all .4s ease;position:relative}.services-section .icon-box:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(184,158,115,.3);opacity:0;transition:all .4s ease}.service-card:hover .icon-box{background:var(--color-gold);color:#fff;transform:scale(1.05)}.service-card:hover .icon-box:after{opacity:1;transform:scale(1.1)}.service-card h3{font-family:var(--font-title);font-size:1.5rem;margin-bottom:15px;color:#222;letter-spacing:.5px}.service-card p{font-family:var(--font-body);font-size:1rem;color:#666;line-height:1.6}body.dark-mode .service-card{background:#151515;border-color:#ffffff0d}body.dark-mode .services-section .icon-box{background:#222;border-color:var(--color-gold)}body.dark-mode .service-card:hover .icon-box{background:var(--color-gold);color:#000}body.dark-mode .service-card h3{color:#fff}body.dark-mode .service-card p{color:#aaa}.icon-svg{width:35px;height:35px;margin-bottom:20px;stroke:var(--color-gold);fill:none}.ai-section{background:#fdfbf7;position:relative;border-top:1px solid #eee}.ai-container{width:100%;max-width:800px;margin:0 auto;background:#fff;padding:clamp(20px,5vw,40px);box-shadow:0 20px 40px #b89e731a;border:1px solid rgba(184,158,115,.2)}.ai-form-group{margin-bottom:20px}.ai-label{display:block;font-family:var(--font-title);font-size:1.1rem;margin-bottom:8px;color:#222;font-weight:600}.ai-select,.ai-input{width:100%;padding:12px;border:1px solid #ddd;font-family:var(--font-body);font-size:1rem;color:#333;background:#fafafa;transition:.3s}.ai-select:focus,.ai-input:focus{border-color:var(--color-gold);outline:none;background:#fff}.ai-btn-generate{width:100%;background:var(--color-gold);color:#fff;border:none;padding:15px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;font-weight:500;cursor:pointer;transition:.3s;display:flex;justify-content:center;align-items:center;gap:10px}.ai-btn-generate:hover{background:#a38a63}.ai-btn-generate:disabled{background:#ccc;cursor:not-allowed}.ai-result-area{margin-top:30px;padding:20px;background:#fcfcfc;border-left:3px solid var(--color-gold);font-family:var(--font-title);font-style:italic;font-size:1.2rem;color:#333;display:none;position:relative}.ai-result-area.visible{display:block;animation:fadeIn .5s ease}.copy-btn{margin-top:15px;font-size:.8rem;color:var(--color-gold-dark);cursor:pointer;text-decoration:underline;background:none;border:none;padding:0;font-weight:600}.testimonials-section{background:#fdfbf7;color:#333;padding-bottom:6rem}.testimonials-section h2{color:#111}.testimonials-section p{color:#555}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:4rem}.review-item{background:#fff;padding:40px;border:1px solid rgba(184,158,115,.15);box-shadow:0 10px 30px #00000008;transition:transform .3s ease,box-shadow .3s ease;position:relative;border-radius:4px}.review-item:hover{transform:translateY(-5px);box-shadow:0 20px 40px #b89e731a;border-color:var(--color-gold)}.review-text{font-family:var(--font-body);font-style:italic;font-size:1.05rem;line-height:1.8;color:#444;margin-bottom:20px}.faq-container{max-width:800px;margin:3rem auto 0}details{margin-bottom:20px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:8px;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 10px #00000005}details:hover{border-color:var(--color-gold);box-shadow:0 8px 20px #b89e731a;transform:translateY(-2px)}details[open]{border-color:var(--color-gold-dark);box-shadow:0 10px 30px #0000000d}summary{font-family:var(--font-title);font-size:1.25rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:#333;font-weight:500;padding:25px;list-style:none;transition:color .3s}summary::-webkit-details-marker{display:none}summary:hover{color:var(--color-gold-dark)}summary i{color:var(--color-gold);transition:transform .3s ease;font-size:1.2rem}details[open] summary{background:#b89e730d;color:var(--color-gold-dark)}details[open] summary i{transform:rotate(45deg)}.faq-answer{color:#555;padding:20px 25px 25px;line-height:1.8;font-size:1rem;border-top:1px solid rgba(0,0,0,.03);margin-top:0;background:#fff;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.location-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #f0f0f0}.location-img{width:100%;height:400px;object-fit:cover;filter:grayscale(100%);transition:.5s;background-color:#eee}.location-row:hover .location-img{filter:grayscale(0%)}.location-info{padding:clamp(30px,5vw,60px);display:flex;flex-direction:column;justify-content:center;background:#fff}.map-section{padding:0;position:relative;height:500px;width:100%;background:#f0f0f0;border-top:1px solid rgba(184,158,115,.2);overflow:hidden}.map-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:#b89e731a;z-index:1}.google-map{width:100%;height:100%;border:0;filter:grayscale(100%) contrast(1.1);transition:filter .5s ease}.google-map:hover{filter:grayscale(0%)}.map-info-box{position:absolute;top:50%;left:10%;transform:translateY(-50%);background:#fff;padding:40px;box-shadow:0 15px 40px #0000001a;border-left:3px solid var(--color-gold);max-width:400px;z-index:2;width:90%}.contact-banner{background:#111;color:#fff;text-align:center}footer{background:#111;color:#ccc;padding:4rem 0 2rem;border-top:1px solid #222}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}.footer-col h4{color:#fff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader{border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top:2px solid #fff;width:20px;height:20px;animation:spin 1s linear infinite;display:none}@media(max-width:900px){.container{padding:0 1.5rem}section{padding:4rem 0}.nav-desktop{display:none}.theme-toggle{margin-left:auto;margin-right:15px}.hamburger{display:flex;padding:10px;margin-right:-10px}.hero-content{padding:2rem;border:none;background:none;backdrop-filter:none;width:100%}.hero-content:before{display:none}.hero h1{text-shadow:0 2px 10px rgba(0,0,0,.9);font-size:clamp(2.5rem,10vw,3.5rem)}.hero p{padding:0;text-shadow:0 2px 5px rgba(0,0,0,.9);color:#f0f0f0;font-size:1rem}.location-row{grid-template-columns:1fr}.location-row:nth-child(odd) .location-info{order:2}.location-img{height:250px}.map-section{height:auto;display:flex;flex-direction:column}.map-info-box{position:relative;top:auto;left:auto;transform:none;width:100%;max-width:none;order:1;box-shadow:none;border-bottom:1px solid #eee;margin:0;border-left:none;padding:30px 20px}.google-map{height:350px;order:2;min-height:300px}.whatsapp-float{bottom:20px;right:20px;width:55px;height:55px;font-size:28px}.back-to-top{bottom:20px;left:20px;width:40px;height:40px}.ai-container{padding:1.5rem;border:none;box-shadow:0 5px 20px #0000000d}.ai-select,.ai-input{font-size:16px;padding:15px}.search-bar-container{flex-direction:column}.search-btn{width:100%}.footer-grid{text-align:center;gap:40px}}.service-card{background:#ffffffe6;backdrop-filter:blur(10px);border:1px solid rgba(184,158,115,.2);border-radius:8px}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #b89e7333;border-color:var(--color-gold)}.hero h1{text-shadow:0 4px 30px rgba(0,0,0,.95)}footer{background:#050505;color:#ddd;border-top:4px solid var(--color-gold);padding:80px 0 30px}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;margin-bottom:60px}.footer-col h4{color:var(--color-gold);margin-bottom:25px;font-family:var(--font-title);font-size:1.2rem;letter-spacing:1px}.footer-desc{font-size:.9rem;line-height:1.6;color:#888}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:12px;font-size:.95rem;color:#aaa}.footer-links a{color:#aaa;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--color-gold);padding-left:5px}.social-icons{display:flex;gap:15px}.social-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;transition:all .3s;text-decoration:none}.social-icon:hover{background:var(--color-gold);color:#000;border-color:var(--color-gold);transform:translateY(-3px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding-top:30px;text-align:center;font-size:.85rem;color:#555;display:flex;flex-direction:column;gap:10px}.necrologi-grid{scroll-behavior:auto}body.dark-mode{--color-bg: #0d0d0d;--color-text: #e0e0e0;--color-white: #0d0d0d;background-color:var(--color-bg);color:var(--color-text)}body.dark-mode html{background-color:var(--color-bg)}body.dark-mode select,body.dark-mode input,body.dark-mode textarea{background-color:#222!important;color:#fff!important;border-color:#444!important}body.dark-mode ::placeholder{color:#888}body.dark-mode .site-header{background:#0d0d0dfa;border-bottom:1px solid rgba(184,158,115,.2)}body.dark-mode .logo span{color:var(--color-gold)}body.dark-mode .logo,body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode .nav-desktop a{color:#f0f0f0}body.dark-mode .section,body.dark-mode .contact-banner{background:#0d0d0d;color:#ddd}body.dark-mode .contact-banner:before{opacity:.3}body.dark-mode .necro-card,body.dark-mode .service-card,body.dark-mode .guide-step,body.dark-mode .ai-section,body.dark-mode .about-section,body.dark-mode .necrologi-section,body.dark-mode .emergency-guide,body.dark-mode .innovazione-section,body.dark-mode .services-section,body.dark-mode .faq-section,body.dark-mode details,body.dark-mode .location-info,body.dark-mode .map-info-box{background:#151515;color:#ddd;border-color:#b89e7326;box-shadow:0 5px 15px #00000080}body.dark-mode summary{color:#fff}body.dark-mode .faq-answer{background:#151515;color:#ccc;border-top-color:#ffffff0d}body.dark-mode details:hover{border-color:var(--color-gold)}body.dark-mode details[open] summary{background:#b89e731a;color:var(--color-gold)}body.dark-mode .necro-info h4{color:#fff}body.dark-mode .search-input,body.dark-mode .ai-input,body.dark-mode .ai-select{background:#222;border-color:#333;color:#fff}body.dark-mode .footer-col p{color:#999}.nav-btn-gold{background:var(--color-gold);color:#000!important;padding:8px 20px;border-radius:4px;font-weight:600;margin-left:15px;transition:all .3s ease}.nav-btn-gold:hover{background:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #b89e7366}.map-iframe iframe{width:100%;height:100%;border:0;filter:grayscale(100%) invert(90%) contrast(85%);transition:filter .5s ease}.map-iframe:hover iframe{filter:grayscale(0%) invert(0%)}.theme-toggle{background:transparent;border:1px solid var(--color-gold);color:var(--color-gold);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-left:20px;transition:.3s}.view-all-link{text-decoration:underline;color:#666;font-size:.9rem;transition:color .3s}body.dark-mode .view-all-link{color:#aaa}body.dark-mode .view-all-link:hover{color:var(--color-gold)}.theme-toggle:hover{background:var(--color-gold);color:#fff}body.dark-mode .btn-outline{color:#fff;border-color:#555}body.dark-mode .btn-outline:hover{background:#fff;color:#000;border-color:#fff}.google-rating-badge{display:inline-flex;align-items:center;gap:15px;background:#fff;padding:8px 25px;border-radius:50px;box-shadow:0 10px 30px #00000014;margin-bottom:1.5rem;border:1px solid rgba(184,158,115,.2);transition:transform .3s ease}.google-rating-badge:hover{transform:translateY(-3px);box-shadow:0 15px 35px #b89e7326}.testimonials-section .text-center{display:flex;flex-direction:column;align-items:center}.google-score{font-size:1.8rem;font-weight:700;color:#333}.google-text{font-size:.9rem;color:#666}.history-section{padding:100px 0;background:#fdfbf7;position:relative;overflow:hidden}.timeline{position:relative;max-width:1000px;margin:0 auto}.timeline:after{content:"";position:absolute;width:2px;background:#b89e734d;top:0;bottom:0;left:50%;margin-left:-1px}.timeline-item{padding:10px 40px;position:relative;width:50%;box-sizing:border-box}.timeline-item.left{left:0;text-align:right}.timeline-item.right{left:50%;text-align:left}.timeline-item:after{content:"";position:absolute;width:20px;height:20px;right:-10px;background:#fff;border:4px solid var(--color-gold);top:20px;border-radius:50%;z-index:1;transition:all .3s ease;box-shadow:0 0 0 4px #b89e731a}.timeline-item.right:after{left:-10px}.timeline-item:hover:after{background:var(--color-gold);transform:scale(1.2);box-shadow:0 0 15px #b89e7399}.timeline-content{padding:30px;background:#fff;border-radius:8px;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px #0000000d;transition:all .4s ease}.timeline-item:hover .timeline-content{transform:translateY(-5px);border-color:var(--color-gold);box-shadow:0 15px 40px #b89e7326}.year{display:block;font-family:var(--font-title);font-size:2.5rem;color:#b89e7333;line-height:1;margin-bottom:10px;font-weight:700}.timeline-content h3{color:#333;margin-bottom:10px;font-size:1.4rem}.timeline-content p{color:#666;font-size:.95rem;line-height:1.6}@media screen and (max-width:768px){.timeline:after{left:31px}.timeline-item{width:100%;padding-left:70px;padding-right:25px}.timeline-item.left,.timeline-item.right{left:0;text-align:left}.timeline-item:after{left:21px}}body.dark-mode .history-section{background:#0d0d0d}body.dark-mode .timeline-content{background:#151515;border-color:#ffffff0d}body.dark-mode .timeline-content h3{color:#fff}body.dark-mode .timeline-content p{color:#bbb}.parallax-section{background-image:url(images/sito/hero-bg.webp);background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover;padding:120px 0;position:relative;text-align:center}.parallax-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009}.quote-box{position:relative;z-index:2;max-width:800px;margin:0 auto}.quote-box blockquote{font-family:var(--font-title);font-size:clamp(1.5rem,5vw,2.2rem);color:#fff;line-height:1.4;margin-bottom:30px;font-style:italic;text-shadow:0 4px 10px rgba(0,0,0,.5)}.quote-box cite{font-family:var(--font-body);font-size:1.1rem;color:var(--color-gold);text-transform:uppercase;letter-spacing:2px;font-style:normal}.google-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 10px 30px #0000000d;border:1px solid #f0f0f0;text-align:left;position:relative;transition:transform .3s ease}.google-card:hover{transform:translateY(-5px)}.review-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.reviewer-initial{width:45px;height:45px;background:#78909c;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600}.reviewer-info{flex:1}.reviewer-name{display:block;font-weight:700;color:#333;font-size:1rem}.review-stars{color:#fbbc04;font-size:.9rem;letter-spacing:2px}.g-icon{width:24px;height:24px;opacity:.8}.review-text{font-style:italic;color:#555;line-height:1.6;margin-bottom:15px}.review-date{display:block;font-size:.8rem;color:#999;text-align:right}body.dark-mode .google-rating-badge,body.dark-mode .google-card{background:#1a1a1a;border-color:#333}body.dark-mode .google-score,body.dark-mode .reviewer-name{color:#fff}body.dark-mode .review-text{color:#ccc}body.dark-mode .testimonials-section{background:#0f0f0f}body.dark-mode .review-item{background:#1a1a1a;border-color:#333}body.dark-mode .review-item .review-text{color:#ddd}body.dark-mode .google-rating-badge span{color:#fff!important}.guide-section{padding:6rem 0;background:#f9f9f9;overflow:hidden}.horizontal-scroll{display:flex;gap:20px;overflow-x:auto;padding:20px 5%;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;scroll-snap-type:x mandatory;scroll-padding:5%}.horizontal-scroll:after{content:"";flex:0 0 5%}.horizontal-scroll::-webkit-scrollbar{display:none}.horizontal-scroll:active{cursor:grabbing}.guide-card{flex:0 0 280px;background:#fff;padding:30px;border-radius:15px;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px #0000000d;position:relative;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;scroll-snap-align:center}.guide-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #b89e7333;border-color:var(--color-gold)}.guide-number{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:var(--color-gold);color:#fff;width:40px;height:40px;border-radius:50%;border:4px solid #f9f9f9;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;z-index:2}.guide-icon{width:60px;height:60px;background:#b89e731a;color:var(--color-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;margin-top:10px}.guide-icon svg{width:30px;height:30px}.guide-card h3{font-size:1.2rem;margin-bottom:10px;color:#222}.guide-card p{font-size:.95rem;color:#666;line-height:1.6}body.dark-mode .guide-section{background:#0f0f0f}body.dark-mode .guide-card{background:#1a1a1a;border-color:#333}body.dark-mode .guide-number{border-color:#0f0f0f}body.dark-mode .guide-card h3{color:#fff}body.dark-mode .guide-card p{color:#ccc}@media(max-width:768px){.guide-card{flex:0 0 280px;scroll-snap-align:center;padding:25px}}.locations-section{padding:0}.location-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:400px}.location-img{width:50%;height:400px;object-fit:cover}.location-info{width:50%;padding:4rem;background:var(--color-white);display:flex;flex-direction:column;justify-content:center}@media(max-width:768px){.location-row{flex-direction:column}.location-img,.location-info{width:100%;height:auto}.location-img{height:300px}.location-info{padding:2rem}.location-row.reverse-layout{flex-direction:column-reverse}}.logo{display:flex!important;align-items:center;gap:15px}.logo-shield{height:55px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:transform .3s ease}.logo:hover .logo-shield{transform:scale(1.05)}@media(max-width:768px){.logo-shield{height:45px}}.signature-wrapper{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:50px}.sig-logo{height:90px;width:auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.sig-text{font-family:Pinyon Script,cursive;color:var(--color-gold);font-size:2.8rem;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.1)}@media(max-width:768px){.signature-wrapper{flex-direction:column;margin-top:30px}.sig-logo{height:60px;display:block!important}.sig-text{font-size:2rem;text-align:center;padding:0 10px}}@media(max-width:1200px){.hero h1 span{font-size:1em!important}}@media(max-width:768px){.hero h1 span{font-size:.9em!important}}@media(max-width:480px){.hero h1{font-size:6vw!important}.hero h1 span{font-size:1em!important;display:block;white-space:nowrap;font-size:5vw!important}}.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--color-gold-dark);text-decoration:none;transition:all .35s ease}.card-link i{transition:transform .35s ease}.card-link:hover{color:var(--color-gold);letter-spacing:2.5px}.card-link:hover i{transform:translate(6px)}body.dark-mode .card-link{color:var(--color-gold)}.service-hero{position:relative;padding:180px 20px 90px;text-align:center;background:linear-gradient(#0a0a0ad1,#0a0a0ae0),url(images/sito/hero-bg.webp) center/cover no-repeat;color:#fff}.service-hero .hero-eyebrow{display:block;font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--color-gold);margin-bottom:18px}.service-hero h1{font-size:clamp(2.4rem,5vw,4rem);color:#fff;margin-bottom:14px}.service-hero p.lead{max-width:640px;margin:0 auto;color:#ddd;font-size:clamp(1rem,2vw,1.15rem)}.service-hero .hero-separator{display:block;width:70px;height:1px;background:var(--color-gold);margin:22px auto}.breadcrumbs{padding:18px 0;font-size:.82rem;letter-spacing:.5px;color:#888;background:#fff;border-bottom:1px solid rgba(184,158,115,.15)}.breadcrumbs a{color:var(--color-gold-dark);text-decoration:none;transition:color .3s}.breadcrumbs a:hover{color:var(--color-gold)}.breadcrumbs .sep{margin:0 8px;color:#ccc}body.dark-mode .breadcrumbs{background:#0d0d0d;border-color:#222;color:#777}.service-article{padding:70px 0 30px}.service-article .container{max-width:860px}.service-article h2{text-align:left;font-size:clamp(1.7rem,3.5vw,2.4rem);margin:2.2rem 0 1rem}.service-article h2:first-child{margin-top:0}.service-article ul.gold-list{list-style:none;margin:0 0 1.8rem;padding:0}.service-article ul.gold-list li{position:relative;padding-left:34px;margin-bottom:14px;color:#444;line-height:1.7}.service-article ul.gold-list li:before{content:"";position:absolute;left:0;top:9px;width:18px;height:1px;background:var(--color-gold)}body.dark-mode .service-article ul.gold-list li{color:#bbb}.service-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin:40px 0}.service-feature{background:#fff;border:1px solid rgba(184,158,115,.18);border-radius:12px;padding:32px 26px;box-shadow:0 12px 35px #0000000d;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.service-feature:hover{transform:translateY(-6px);box-shadow:0 22px 55px #b89e732e}.service-feature i{font-size:2rem;color:var(--color-gold);margin-bottom:14px;display:block}.service-feature h3{font-size:1.25rem;margin-bottom:8px}.service-feature p{font-size:.95rem;margin:0;color:#555}body.dark-mode .service-feature{background:#141414;border-color:#2a2a2a}body.dark-mode .service-feature p{color:#aaa}.cta-band{margin:70px 0 0;padding:70px 20px;text-align:center;background:linear-gradient(135deg,#101010,#1c1a16);box-shadow:inset 0 1px #b89e7359}.cta-band h2{color:#fff;margin-bottom:10px}.cta-band p{color:#bbb;max-width:560px;margin:0 auto 30px}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-buttons .btn-gold{box-shadow:0 12px 30px #b89e7359}.btn-ghost{display:inline-block;padding:14px 32px;border:1px solid var(--color-gold);color:var(--color-gold);text-decoration:none;font-size:.8rem;letter-spacing:2.5px;text-transform:uppercase;border-radius:2px;transition:all .35s}.btn-ghost:hover{background:var(--color-gold);color:#111;transform:translateY(-3px);box-shadow:0 12px 30px #b89e734d}.related-services{padding:50px 0 80px;text-align:center}.related-services h3{margin-bottom:24px}.related-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.related-chips a{padding:10px 22px;border:1px solid rgba(184,158,115,.4);border-radius:40px;color:var(--color-gold-dark);text-decoration:none;font-size:.85rem;letter-spacing:.5px;transition:all .35s;background:#fff}.related-chips a:hover{background:var(--color-gold);border-color:var(--color-gold);color:#fff;transform:translateY(-3px);box-shadow:0 10px 25px #b89e734d}body.dark-mode .related-chips a{background:#141414;color:var(--color-gold)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}.location-img{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}.location-img:hover{transform:scale(1.015);box-shadow:0 25px 60px #0000002e}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){.service-hero{padding:140px 18px 60px}.service-article{padding:50px 0 20px}.service-article .container{padding:0 22px}.breadcrumbs{font-size:.72rem;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.breadcrumbs .container{padding:0 22px}.cta-buttons .btn-gold,.cta-buttons .btn-ghost{width:100%;max-width:340px}.service-features{grid-template-columns:1fr}}.hero-slideshow{position:absolute;inset:0;overflow:hidden;background:#0a0a0a}.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transform:scale(1.02);animation:heroFade 21s infinite;will-change:opacity,transform}.hero-slide.slide-1{background-image:url(images/sito/hero-bg.webp);animation-delay:0s}.hero-slide.slide-2{background-image:url(images/sito/catte.webp);animation-delay:7s}.hero-slide.slide-3{background-image:url(images/sito/parcoauto.webp);animation-delay:14s}@keyframes heroFade{0%{opacity:0;transform:scale(1.02)}5%{opacity:1}33%{opacity:1;transform:scale(1.1)}41%{opacity:0;transform:scale(1.12)}to{opacity:0;transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.hero-slide{animation:none}.hero-slide.slide-1{opacity:1;transform:none}}.site-header.scrolled{background:#ffffffb8!important;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 10px 40px #00000014}body.dark-mode .site-header.scrolled{background:#0d0d0db8!important}.service-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);transition:width .55s cubic-bezier(.2,.8,.2,1)}.service-card:hover:before{width:85%}.social-band{padding:90px 20px;text-align:center;background:radial-gradient(ellipse at 50% -20%,rgba(184,158,115,.22),transparent 55%),linear-gradient(160deg,#0e0e0e,#1a1712)}.social-band-icon{font-size:3rem;color:var(--color-gold);display:inline-block;margin-bottom:18px;animation:floatIcon 4s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mobile-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:998;display:none;grid-template-columns:1fr 1fr;gap:10px;background:#0a0a0aeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0000004d;border-top:1px solid rgba(184,158,115,.35)}.mobile-action-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 10px;border-radius:8px;text-decoration:none;font-family:var(--font-body);font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;transition:transform .25s ease,box-shadow .25s ease}.mobile-action-bar a:active{transform:scale(.97)}.mobile-action-bar a i{font-size:1.15rem}.mab-call{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-dark));color:#111;box-shadow:0 6px 18px #b89e7373}.mab-wa{border:1px solid rgba(184,158,115,.6);color:var(--color-gold-light)}::selection{background:var(--color-gold);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f3f1ec}::-webkit-scrollbar-thumb{background:linear-gradient(var(--color-gold),var(--color-gold-dark));border-radius:10px}body.dark-mode ::-webkit-scrollbar-track{background:#141414}@media(max-width:768px){.mobile-action-bar{display:grid}body{padding-bottom:78px}.whatsapp-float{display:none}.back-to-top{bottom:95px}.social-band{padding:70px 18px}.nav-desktop a,.footer-links a{padding:4px 0}.faq-container details summary{padding:18px 16px}}.hero-content>*{opacity:0;transform:translateY(26px);animation:heroEnter 1.1s cubic-bezier(.2,.8,.2,1) forwards}.hero-content>*:nth-child(1){animation-delay:.25s}.hero-content>*:nth-child(2){animation-delay:.45s}.hero-content>*:nth-child(3){animation-delay:.7s}.hero-content>*:nth-child(4){animation-delay:.9s}.hero-content>*:nth-child(5){animation-delay:1.1s}.hero-content>*:nth-child(6){animation-delay:1.3s}@keyframes heroEnter{to{opacity:1;transform:translateY(0)}}.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:34px}.btn-hero{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:16px 34px;font-size:.82rem}.hero-trust{margin-top:22px;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:#ffffffbf}.hero-particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.hero-particles span{position:absolute;bottom:-12px;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,var(--color-gold-light),var(--color-gold));filter:blur(.6px);opacity:0;animation:rise 14s linear infinite}.hero-particles span:nth-child(1){left:8%;animation-delay:0s;animation-duration:16s}.hero-particles span:nth-child(2){left:22%;animation-delay:3s;width:4px;height:4px}.hero-particles span:nth-child(3){left:37%;animation-delay:7s;animation-duration:18s}.hero-particles span:nth-child(4){left:52%;animation-delay:1.5s;width:3px;height:3px}.hero-particles span:nth-child(5){left:68%;animation-delay:5s;animation-duration:15s}.hero-particles span:nth-child(6){left:81%;animation-delay:9s;width:4px;height:4px}.hero-particles span:nth-child(7){left:93%;animation-delay:12s;animation-duration:20s}@keyframes rise{0%{transform:translateY(0) translate(0);opacity:0}8%{opacity:.85}50%{transform:translateY(-55vh) translate(18px);opacity:.5}to{transform:translateY(-108vh) translate(-12px);opacity:0}}.btn-gold{position:relative;overflow:hidden}.btn-gold:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-20deg);transition:left .6s ease}.btn-gold:hover:after{left:130%}.stats-band{background:linear-gradient(120deg,#101010,#1d1a14 60%,#101010);border-top:1px solid rgba(184,158,115,.3);border-bottom:1px solid rgba(184,158,115,.3);padding:55px 20px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}.stat-num{display:block;font-family:var(--font-title);font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;color:var(--color-gold);margin-bottom:8px}.stat-label{display:block;font-size:.72rem;letter-spacing:2.5px;text-transform:uppercase;color:#bbb}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:34px 10px}}.reviews-link{display:inline-flex;align-items:center;gap:8px;color:var(--color-gold-dark);text-decoration:none;font-size:.9rem;letter-spacing:.5px;border-bottom:1px solid rgba(184,158,115,.4);padding-bottom:2px;transition:all .3s}.reviews-link:hover{color:var(--color-gold);border-color:var(--color-gold);gap:12px}.map-lazy{cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 30% 30%,rgba(184,158,115,.14),transparent 60%),linear-gradient(140deg,#14130f,#201d16);transition:box-shadow .4s}.map-lazy:hover{box-shadow:inset 0 0 0 2px var(--color-gold)}.map-lazy-fill{width:100%;height:100%;border-radius:12px}.map-lazy-inner i{font-size:3rem;color:var(--color-gold);display:block;margin-bottom:12px;animation:pinPulse 2.6s ease-in-out infinite}@keyframes pinPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.map-lazy-inner p{color:#ddd;font-family:var(--font-title);font-size:1.25rem;margin-bottom:18px}.map-lazy-inner .btn-gold{display:inline-block}.map-lazy-inner small{display:block;margin-top:14px;color:#888;font-size:.72rem;letter-spacing:.5px}.map-lazy iframe{width:100%;height:100%;border:0;display:block}.mobile-menu{background:radial-gradient(circle at 80% 10%,rgba(184,158,115,.16),transparent 50%),#0a0a0af5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);gap:26px}.mobile-menu a{font-size:1.9rem;color:#f2f2f2;opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),color .3s}.mobile-menu a:hover{color:var(--color-gold)}.mobile-menu.active a{opacity:1;transform:translateY(0)}.mobile-menu.active a:nth-child(1){transition-delay:.1s}.mobile-menu.active a:nth-child(2){transition-delay:.17s}.mobile-menu.active a:nth-child(3){transition-delay:.24s}.mobile-menu.active a:nth-child(4){transition-delay:.31s}.mobile-menu.active a:nth-child(5){transition-delay:.38s}.mobile-menu.active a:nth-child(6){transition-delay:.45s}.mobile-menu .btn-gold{font-size:.85rem;color:#111}.mobile-menu .menu-social{display:flex;gap:26px;margin-top:10px;opacity:0;transition:opacity .5s ease .5s}.mobile-menu.active .menu-social{opacity:1}.mobile-menu .menu-social a{font-size:1.5rem;color:var(--color-gold);opacity:1;transform:none;transition-delay:0s!important}.hamburger.active span{background:var(--color-gold)!important}@media(max-width:768px){.services-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:10px 6px 26px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.services-grid::-webkit-scrollbar{display:none}.services-grid .service-card{min-width:80%;scroll-snap-align:center;flex-shrink:0}.services-grid:after{content:"";min-width:4px}.service-card:active,.guide-card:active,.innovazione-item:active,.necro-card:active{transform:scale(.98);transition:transform .15s ease}.hero-cta .btn-hero{width:100%;max-width:320px}.hero-trust{font-size:.68rem;padding:0 12px}}.necrologi-compact{padding:90px 20px;background:radial-gradient(ellipse at 50% 120%,rgba(184,158,115,.1),transparent 60%),#fbfaf7;border-top:1px solid rgba(184,158,115,.15);border-bottom:1px solid rgba(184,158,115,.15)}body.dark-mode .necrologi-compact{background:#101010;border-color:#222}.previdenza-highlight{padding:100px 20px;background:linear-gradient(150deg,#101010,#1c1913);overflow:hidden}.prev-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}.previdenza-highlight h2{color:#fff;margin-bottom:1rem}.previdenza-highlight p{color:#bbb}.previdenza-highlight .gold-list li{color:#ccc}.prev-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.prev-visual{display:flex;justify-content:center}.prev-card{position:relative;padding:55px 40px;border:1px solid rgba(184,158,115,.45);border-radius:14px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(184,158,115,.16),transparent 65%),#ffffff05;box-shadow:0 30px 70px #00000073;animation:floatIcon 5s ease-in-out infinite;max-width:300px}.prev-card i{font-size:3.4rem;color:var(--color-gold);display:block;margin-bottom:16px}.prev-card .prev-since{display:block;font-family:var(--font-title);font-size:2rem;color:#fff;margin-bottom:8px}.prev-card p{font-size:.9rem;color:#aaa;margin:0}@media(max-width:900px){.prev-grid{grid-template-columns:1fr;gap:40px;text-align:center}.previdenza-highlight h2{text-align:center!important}.previdenza-highlight .gold-list{text-align:left;max-width:420px;margin-left:auto;margin-right:auto}.prev-cta{justify-content:center}.previdenza-highlight{padding:70px 18px}}.hero,.mobile-menu{height:100dvh}@media(max-width:1024px){.parallax-section{background-attachment:scroll!important}}.search-input,.ai-input,.ai-select{font-size:16px}a,button,input,select,summary,.hamburger,.map-lazy{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.site-header{padding-top:env(safe-area-inset-top)}.mobile-menu{padding-top:calc(var(--header-height) + env(safe-area-inset-top))}.horizontal-scroll,.services-grid,.necrologi-grid{-webkit-overflow-scrolling:touch}@media(max-width:380px){.hero-content h1{font-size:2.3rem}.btn-hero{min-width:0;width:100%}.stats-grid{gap:26px 6px}.stat-num{font-size:2.2rem}}.service-card{cursor:pointer}.service-card .card-link:after,.innovazione-item .card-link:after{content:"";position:absolute;inset:0;z-index:1}.innovazione-item{position:relative}.innovazione-item:has(.card-link){cursor:pointer}html{scroll-padding-top:105px}span.uppercase.gold-text:before,span.uppercase.gold-text:after,.service-hero .hero-eyebrow:before,.service-hero .hero-eyebrow:after{content:"";display:inline-block;width:34px;height:1px;vertical-align:middle}span.uppercase.gold-text:before,.service-hero .hero-eyebrow:before{background:linear-gradient(90deg,transparent,var(--color-gold));margin-right:12px}span.uppercase.gold-text:after,.service-hero .hero-eyebrow:after{background:linear-gradient(90deg,var(--color-gold),transparent);margin-left:12px}.review-item{position:relative;overflow:hidden}.review-item:before{content:"\201c";position:absolute;top:2px;right:16px;font-family:var(--font-title);font-size:5.5rem;line-height:1;color:var(--color-gold);opacity:.14;pointer-events:none}.parallax-section .quote-box blockquote{letter-spacing:.5px}.dove-trovarci{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;margin-top:60px;align-items:stretch}.dt-info{background:#fff;border:1px solid rgba(184,158,115,.25);border-radius:14px;padding:42px 38px;box-shadow:0 18px 50px #00000014;text-align:left}.dt-info h3{margin:10px 0 26px}.dt-list{list-style:none;margin:0 0 26px;padding:0}.dt-list li{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;line-height:1.55;color:#444}.dt-list li i{font-size:1.45rem;color:var(--color-gold);margin-top:3px;flex-shrink:0}.dt-list li strong{color:#222}body.dark-mode .dt-info{background:#141414;border-color:#2a2a2a}body.dark-mode .dt-list li{color:#aaa}body.dark-mode .dt-list li strong{color:#eee}.dt-map{position:relative;min-height:440px;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px #00000040}.dt-map-pattern{position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(90deg,transparent 0 70px,rgba(184,158,115,.08) 70px 71px),repeating-linear-gradient(0deg,transparent 0 70px,rgba(184,158,115,.08) 70px 71px),repeating-linear-gradient(38deg,transparent 0 120px,rgba(184,158,115,.06) 120px 122px),radial-gradient(circle at 55% 45%,rgba(184,158,115,.2),transparent 40%)}.dt-map .map-lazy-inner{position:relative;z-index:2}.dt-pin{position:relative;display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;margin-bottom:14px}.dt-pin i{font-size:2.6rem;color:var(--color-gold);animation:pinPulse 2.6s ease-in-out infinite;margin:0!important}.dt-pin:before,.dt-pin:after{content:"";position:absolute;inset:0;border:1px solid rgba(184,158,115,.55);border-radius:50%;animation:pinRing 2.6s ease-out infinite}.dt-pin:after{animation-delay:1.3s}@keyframes pinRing{0%{transform:scale(.55);opacity:1}to{transform:scale(1.5);opacity:0}}.dt-map iframe{position:absolute;inset:0;z-index:3}@media(max-width:900px){.dove-trovarci{grid-template-columns:1fr}.dt-map{min-height:320px}.dt-info{padding:32px 26px}}@view-transition{navigation:auto}::view-transition-old(root){animation:vtFade .28s ease both}::view-transition-new(root){animation:vtRise .34s ease both}@keyframes vtFade{to{opacity:0}}@keyframes vtRise{0%{opacity:0;transform:translateY(10px)}}#preloader .loader-logo{position:relative;overflow:hidden}#preloader .loader-logo:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,rgba(184,158,115,.4) 50%,transparent 75%);transform:translate(-110%);animation:logoSheen 1.3s ease-in-out infinite}@keyframes logoSheen{to{transform:translate(110%)}}.reveal .timeline:after{transform:scaleY(0);transform-origin:top center;transition:transform 1.8s cubic-bezier(.2,.8,.2,1) .3s}.reveal.active .timeline:after{transform:scaleY(1)}.reveal .innovazione-item{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.active .innovazione-item{opacity:1;transform:translateY(0)}.reveal.active .innovazione-item:nth-child(1){transition-delay:.05s}.reveal.active .innovazione-item:nth-child(2){transition-delay:.15s}.reveal.active .innovazione-item:nth-child(3){transition-delay:.25s}.reveal.active .innovazione-item:nth-child(4){transition-delay:.35s}:root{interpolate-size:allow-keywords}.faq-container details::details-content{block-size:0;overflow:hidden;transition:block-size .4s ease,content-visibility .4s allow-discrete}.faq-container details[open]::details-content{block-size:auto}.faq-container details summary i{transition:transform .35s ease}.faq-container details[open] summary i{transform:rotate(45deg)}.mobile-action-bar{animation:mabRise .6s cubic-bezier(.2,.8,.2,1) .4s backwards}@keyframes mabRise{0%{transform:translateY(100%)}}@media(max-width:768px){.guide-grid.horizontal-scroll{scroll-snap-type:x mandatory;scrollbar-width:none}.guide-grid.horizontal-scroll::-webkit-scrollbar{display:none}.guide-grid.horizontal-scroll .guide-card{scroll-snap-align:center}}.guide-section,.testimonials-section,.locations-section,.faq-section,.contact-banner{content-visibility:auto;contain-intrinsic-size:auto 700px}@media print{.site-header,.mobile-menu,.mobile-action-bar,.whatsapp-float,.back-to-top,#scroll-progress,#preloader,.cta-band,.related-services,.social-band,.theme-toggle,.hamburger,footer{display:none!important}body{background:#fff!important;color:#000!important}.service-hero,.memorial-wrap{padding:20px 0!important;background:none!important;color:#000!important}.service-hero h1{color:#000!important}.memorial-photo{margin-top:0!important;box-shadow:none!important}.memorial-actions{display:none!important}a{text-decoration:none;color:#000}}@media(max-width:768px){.about-section,.services-section,.emergency-guide,.innovazione-section,.history-section,.necrologi-compact,.previdenza-highlight,.ai-section,.guide-section,.testimonials-section,.locations-section,.faq-section,.related-services,.contact-banner{padding-top:52px!important;padding-bottom:52px!important}.parallax-section{padding:55px 20px!important}.social-band{padding:55px 18px}h2{margin-bottom:.6rem}.about-content .about-text:nth-of-type(n+2){display:none}.about-content.expanded .about-text{display:block}.emergency-guide .guide-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.emergency-guide .guide-grid::-webkit-scrollbar{display:none}.emergency-guide .guide-step{min-width:80%;flex-shrink:0;scroll-snap-align:center}.innovazione-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.innovazione-grid::-webkit-scrollbar{display:none}.innovazione-item{min-width:74%;flex-shrink:0;scroll-snap-align:center}.reviews-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.reviews-grid::-webkit-scrollbar{display:none}.review-item{min-width:84%;flex-shrink:0;scroll-snap-align:center}.emergency-guide .guide-grid:after,.innovazione-grid:after,.reviews-grid:after{content:"";min-width:4px}.timeline-item .timeline-content p{display:none}.timeline-item .timeline-content{padding:16px 18px}.timeline-item{margin-bottom:8px}.prev-visual{display:none}.previdenza-highlight .gold-list li{margin-bottom:10px}.location-img{max-height:220px;width:100%;object-fit:cover}.ai-section .ai-container{display:none}.ai-section.open .ai-container{display:block}.contact-grid{gap:12px}.contact-card{display:flex;align-items:center;gap:16px;text-align:left;padding:16px 18px}.contact-card .contact-icon-box{margin:0;flex-shrink:0;width:50px;height:50px;font-size:1.3rem}.contact-card h3{font-size:1.05rem;margin-bottom:2px}.contact-card .contact-sub{font-size:.72rem}.footer-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:26px 18px}.footer-col.brand-col{grid-column:1 / -1;text-align:center}.footer-col h4{font-size:.95rem}.footer-links li{font-size:.85rem;margin-bottom:6px}.read-more-btn,.ai-open-btn{display:inline-flex;align-items:center;gap:8px;margin:6px auto 0;padding:11px 26px;background:none;border:1px solid var(--color-gold);color:var(--color-gold-dark);font-family:var(--font-body);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;border-radius:40px;cursor:pointer}.ai-open-btn{display:flex;background:linear-gradient(135deg,var(--color-gold),var(--color-gold-dark));color:#111;border:none;box-shadow:0 8px 22px #b89e7366}}@media(min-width:769px){.read-more-btn,.ai-open-btn{display:none!important}}@media(max-width:768px){.hero{height:92svh;min-height:540px}.hero-overlay{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a61 45%,#0a0a0ab8)!important}.hero-subtitle{font-size:.66rem;letter-spacing:2.5px;margin-bottom:16px}.hero-content h1{font-size:2.05rem;line-height:1.15}.hero-content h1 span{display:block;white-space:normal!important;font-size:1.35em!important;margin-top:6px;line-height:1.1}.hero-separator{margin:16px auto}.hero-content>p:not(.hero-trust){font-size:1.1rem!important;margin-top:8px!important}.hero-cta{flex-direction:row;flex-wrap:nowrap;gap:10px;margin-top:24px;padding:0 6px}.hero-cta .btn-hero{flex:1 1 0;width:auto!important;max-width:none!important;min-width:0!important;padding:14px 8px;font-size:.68rem;letter-spacing:1.4px}.hero-trust{font-size:.6rem;letter-spacing:1.1px;line-height:1.7;margin-top:16px;padding:0 22px}.hero-particles,.scroll-down{display:none!important}}.carousel-dots{display:none}@media(max-width:768px){.carousel-dots{display:flex;justify-content:center;gap:8px;margin:2px 0 6px}.carousel-dots button{width:7px;height:7px;border-radius:50%;border:none;padding:0;background:#b89e7359;transition:all .3s ease}.carousel-dots button.active{background:var(--color-gold);width:20px;border-radius:6px}}.app-tiles{display:none}@media(max-width:768px){.app-tiles{display:block;padding:44px 16px 6px}.tiles-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:104px;padding:18px 10px;background:#fff;border:1px solid rgba(184,158,115,.22);border-radius:16px;text-decoration:none;box-shadow:0 10px 26px #0000000f;transition:transform .15s ease,box-shadow .3s ease}.app-tile:active{transform:scale(.955)}.app-tile i{font-size:1.75rem;color:var(--color-gold)}.app-tile span{font-size:.7rem;letter-spacing:1.6px;text-transform:uppercase;font-weight:500;color:#333;text-align:center;line-height:1.5}body.dark-mode .app-tile{background:#141414;border-color:#2a2a2a}body.dark-mode .app-tile span{color:#ddd}.emergency-guide,.innovazione-section,.history-section,.parallax-section,.guide-section,.social-band{display:none!important}.ai-section{display:none}.ai-section.open{display:block}}.reviews-cta{max-width:640px;margin:30px auto 0;padding:44px 34px;text-align:center;border:1px solid rgba(184,158,115,.35);border-radius:14px;background:radial-gradient(circle at 50% 0%,rgba(184,158,115,.1),transparent 60%),#fff;box-shadow:0 16px 45px #0000000f}.reviews-cta i{font-size:2.6rem;color:var(--color-gold);display:block;margin-bottom:14px}.reviews-cta p{font-family:var(--font-title);font-size:1.25rem;font-style:italic;color:#444;margin-bottom:26px}body.dark-mode .reviews-cta{background:#141414;border-color:#2a2a2a}body.dark-mode .reviews-cta p{color:#bbb}@media(max-width:768px){.services-grid,.innovazione-grid,.reviews-grid,.emergency-guide .guide-grid,.guide-grid.horizontal-scroll{justify-content:flex-start!important}.hero{height:84svh;min-height:500px}.hero-content{padding:26px 16px;background:radial-gradient(70% 60% at 50% 45%,rgba(8,8,8,.38),transparent 100%)}.hero-content h1,.hero-content h1 span{text-shadow:0 2px 14px rgba(0,0,0,.8),0 0 34px rgba(0,0,0,.55)}.hero-subtitle{font-size:.58rem;letter-spacing:1.8px}.hero-trust{font-size:.55rem;letter-spacing:.8px;opacity:.82;max-width:300px;margin:12px auto 0;padding:0}}@media(max-width:768px){.services-grid .service-card{min-width:72%;padding:26px 20px 22px}.services-section .icon-box{width:56px;height:56px;margin:0 auto 14px}.services-section .icon-box i{font-size:1.45rem}.service-card h3{font-size:1.12rem;margin-bottom:6px}.service-card p{font-size:.86rem;line-height:1.6;margin-bottom:8px}.service-card .card-link{margin-top:10px;font-size:.66rem}.emergency-guide .guide-step{min-width:74%;padding:24px 20px}.emergency-guide .guide-step h3{font-size:1.1rem}.emergency-guide .guide-step li{font-size:.86rem}.reviews-grid .review-item{min-width:78%;padding:24px 20px}.review-item .review-text{font-size:.9rem;line-height:1.65}.services-grid,.innovazione-grid,.reviews-grid,.emergency-guide .guide-grid,.guide-grid.horizontal-scroll{scroll-snap-type:x proximity;scroll-padding-left:16px}.contact-grid{display:grid!important;grid-template-columns:1fr;gap:12px}.contact-card{display:grid!important;grid-template-columns:52px 1fr;column-gap:16px;align-items:center;text-align:left;padding:16px 18px}.contact-card .contact-icon-box{grid-row:1 / 4;margin:0;width:52px;height:52px}.contact-card h3{grid-column:2;font-size:.98rem;margin:0 0 2px}.contact-card .contact-link{grid-column:2;font-size:1.02rem;line-height:1.35;word-break:break-all}.contact-card .contact-sub{grid-column:2;font-size:.66rem;margin-top:2px}}@media(max-width:768px){.services-grid .service-card{flex:0 0 74%!important;min-width:0!important;max-width:74%}.innovazione-grid .innovazione-item{flex:0 0 72%!important;min-width:0!important;max-width:72%}.reviews-grid .review-item{flex:0 0 80%!important;min-width:0!important;max-width:80%}.emergency-guide .guide-step,.guide-grid.horizontal-scroll .guide-card{flex:0 0 76%!important;min-width:0!important;max-width:76%}}@media(max-width:900px){.mobile-menu{left:auto;right:0;width:min(86%,360px);height:100dvh;transform:translate(100%);background:radial-gradient(circle at 90% 0%,rgba(184,158,115,.14),transparent 45%),linear-gradient(180deg,#101010,#1b1813);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:calc(env(safe-area-inset-top) + 92px) 28px 34px;box-shadow:-25px 0 70px #00000080;border-left:1px solid rgba(184,158,115,.25)}.mobile-menu.active{transform:translate(0)}.mobile-menu>a{font-family:var(--font-body);font-size:.92rem;letter-spacing:2.5px;text-transform:uppercase;color:#ececec;padding:18px 2px;border-bottom:1px solid rgba(184,158,115,.16);display:flex;align-items:center;justify-content:space-between}.mobile-menu>a:after{content:"\2192";color:var(--color-gold);opacity:.75;font-size:1.05rem}.mobile-menu>a.btn-gold{border-bottom:none;justify-content:center;gap:10px;margin-top:28px;border-radius:10px;color:#111;font-size:.85rem;letter-spacing:2px;padding:16px}.mobile-menu>a.btn-gold:after{content:""}.mobile-menu .menu-social{margin-top:auto;justify-content:center;gap:30px;padding-top:24px;border-top:1px solid rgba(184,158,115,.16)}.reviews-grid .review-item{border:1px solid rgba(184,158,115,.28);border-left:3px solid var(--color-gold);border-radius:12px;box-shadow:0 12px 34px #00000012}.review-item .review-text{font-family:var(--font-title);font-style:italic;font-size:1.04rem;line-height:1.6;color:#3d3d3d}.review-item .ph-star{font-size:.85rem}.services-grid{align-items:stretch}}@media(max-width:900px){.mobile-menu{padding:calc(env(safe-area-inset-top) + 104px) 30px 34px}.mobile-menu:before{content:"Menu";display:block;font-family:var(--font-body);font-size:.6rem;letter-spacing:4px;text-transform:uppercase;color:var(--color-gold);opacity:.85;margin-bottom:4px}.mobile-menu.active{box-shadow:-25px 0 70px #00000080,0 0 0 100vmax #0808088c}.mobile-menu>a{font-family:var(--font-title);font-size:1.5rem;letter-spacing:.5px;text-transform:none;color:#f2f2f2;padding:15px 2px}.mobile-menu>a:after{content:"";width:8px;height:8px;border-top:1.5px solid var(--color-gold);border-right:1.5px solid var(--color-gold);transform:rotate(45deg);opacity:.85;flex-shrink:0}.mobile-menu>a.btn-gold{font-family:var(--font-body);font-size:.82rem;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg,var(--color-gold),var(--color-gold-dark))!important;color:#111!important;justify-content:center;border-bottom:none;border-radius:10px;margin-top:26px;padding:16px;box-shadow:0 10px 26px #b89e7359}.mobile-menu>a.btn-gold:after{content:none}}@media(min-width:769px){.innovazione-grid{align-items:stretch;gap:28px}.innovazione-item{background:#fff;border:1px solid rgba(184,158,115,.2);border-radius:14px;padding:44px 26px 30px;box-shadow:0 12px 35px #0000000d;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.innovazione-item:hover{transform:translateY(-8px);box-shadow:0 24px 55px #b89e732e;border-color:var(--color-gold)}.innovazione-item .innovazione-icon-box{background:linear-gradient(135deg,#faf6ee,#fff);border:1px solid rgba(184,158,115,.4);box-shadow:0 8px 20px #b89e7326}.innovazione-item p{flex-grow:1}.innovazione-item .card-link{margin-top:18px;justify-content:center;display:inline-flex;align-self:center}body.dark-mode .innovazione-item{background:#141414;border-color:#2a2a2a}.guide-section .guide-grid{align-items:stretch}.guide-section .guide-card{display:flex;flex-direction:column;height:100%;border:1px solid rgba(184,158,115,.18);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.guide-section .guide-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px #b89e7326}.socials-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.socials-row .btn-ghost{display:inline-flex;align-items:center;gap:10px}.socials-row .btn-ghost i{font-size:1.2rem}}@media(min-width:769px){footer .footer-grid{display:flex!important;flex-wrap:wrap;gap:44px 34px;align-items:flex-start}footer .footer-col{flex:1 1 150px;min-width:140px}footer .footer-col.brand-col{flex:1.5 1 220px}footer .footer-col h4{font-size:1.15rem;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(184,158,115,.25)}footer .footer-links li{margin-bottom:9px;font-size:.92rem;line-height:1.5}footer .footer-desc{font-size:.92rem;line-height:1.8}footer .footer-links .nav-btn-gold{background:none!important;border:none!important;padding:0!important;color:var(--color-gold)!important;font-size:.92rem;letter-spacing:normal;text-transform:none}footer .social-icons{gap:12px}footer .footer-bottom{margin-top:50px;padding-top:22px}}@media(max-width:768px){/* Regia rimossa (V14.1): l’ordine delle sezioni è quello del documento */.app-tile{opacity:0;transform:translateY(18px) scale(.97);animation:tileIn .55s cubic-bezier(.2,.8,.2,1) forwards}.app-tile:nth-child(1){animation-delay:.1s}.app-tile:nth-child(2){animation-delay:.18s}.app-tile:nth-child(3){animation-delay:.26s}.app-tile:nth-child(4){animation-delay:.34s}.app-tile:nth-child(5){animation-delay:.42s}.app-tile:nth-child(6){animation-delay:.5s}}@keyframes tileIn{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.app-tile{animation:none;opacity:1;transform:none}}@media(min-width:769px){/* Regia rimossa (V14.1): l’ordine delle sezioni è quello del documento */}


/* ============================================================
   V13 — LUXURY DEPTH & MOTION LAYER
   ============================================================ */
.reveal { transform: translateY(48px); transition: opacity 1.1s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1); }
.reveal-left, .reveal-right, .reveal-zoom { opacity: 0; transition: opacity 1.1s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform; }
.reveal-left { transform: translateX(-56px); }
.reveal-right { transform: translateX(56px); }
.reveal-zoom { transform: scale(.93) translateY(24px); }
.reveal-left.active, .reveal-right.active { opacity: 1; transform: translateX(0); }
.reveal-zoom.active { opacity: 1; transform: scale(1) translateY(0); }

/* Ombre stratificate + alone dorato in hover */
.service-card, .innovazione-item, .guide-step, .contact-card, .review-item, .guide-card, .timeline-content, .prep-card, .prevo-card {
  box-shadow: 0 1px 2px rgba(17,17,17,.04), 0 10px 30px rgba(17,17,17,.06);
}
.service-card:hover, .innovazione-item:hover, .guide-step:hover, .contact-card:hover, .review-item:hover, .guide-card:hover, .prep-card:hover, .prevo-card:hover {
  box-shadow: 0 2px 5px rgba(17,17,17,.06), 0 22px 48px rgba(17,17,17,.14), 0 34px 90px rgba(184,158,115,.22);
}
body.dark-mode .service-card:hover, body.dark-mode .innovazione-item:hover, body.dark-mode .guide-step:hover,
body.dark-mode .contact-card:hover, body.dark-mode .review-item:hover, body.dark-mode .guide-card:hover {
  box-shadow: 0 22px 48px rgba(0,0,0,.55), 0 0 70px rgba(184,158,115,.14);
}

/* Luce dorata che segue il cursore */
.service-card, .innovazione-item, .prep-card, .prevo-card { position: relative; overflow: hidden; }
.service-card::after, .innovazione-item::after, .prep-card::after, .prevo-card::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(460px circle at var(--mx,50%) var(--my,50%), rgba(184,158,115,.16), transparent 62%);
  opacity: 0; transition: opacity .5s ease;
}
.service-card:hover::after, .innovazione-item:hover::after, .prep-card:hover::after, .prevo-card:hover::after { opacity: 1; }

/* Icone elastiche */
.icon-box, .innovazione-icon-box, .contact-icon-box, .prevo-icon {
  transition: transform .55s cubic-bezier(.34,1.56,.64,1), box-shadow .55s ease, background .4s ease, color .4s ease;
}
.service-card:hover .icon-box, .innovazione-item:hover .innovazione-icon-box, .contact-card:hover .contact-icon-box {
  transform: translateY(-5px) scale(1.08) rotate(-4deg);
  box-shadow: 0 14px 30px rgba(184,158,115,.35);
}

/* Bottoni: bagliore dorato */
.btn-gold { box-shadow: 0 6px 18px rgba(184,158,115,.35); }
.btn-gold:hover { box-shadow: 0 12px 32px rgba(184,158,115,.55); transform: translateY(-3px); }
.btn-ghost:hover { transform: translateY(-3px); }

/* WhatsApp: anello pulsante */
.whatsapp-float::before { content: ""; position: absolute; inset: 0; border-radius: 50%; animation: waPulse 2.6s ease-out infinite; }
@keyframes waPulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.45); } 70% { box-shadow: 0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }

/* Nome in oro liquido nell'hero */
.hero h1 span {
  background: linear-gradient(100deg, #a98c5d 10%, #e8d5ac 32%, #fdf6e3 50%, #e8d5ac 68%, #a98c5d 90%);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; text-shadow: none; animation: goldShine 6s linear infinite;
}
@keyframes goldShine { to { background-position: 200% center; } }

#scroll-progress { background: linear-gradient(90deg, var(--color-gold-dark), var(--color-gold), #e8d5ac) !important; box-shadow: 0 0 12px rgba(184,158,115,.6); }

/* Logo scudo 3D */
.logo { perspective: 500px; }
.logo-shield { transition: transform .6s cubic-bezier(.34,1.56,.64,1); }
.logo:hover .logo-shield { transform: rotateY(26deg) scale(1.06); }

/* Banda numeri */
.stats-band { position: relative; overflow: hidden; }
.stats-band::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(700px 240px at 15% 0%, rgba(184,158,115,.14), transparent 70%), radial-gradient(700px 240px at 85% 100%, rgba(184,158,115,.10), transparent 70%); }
.stat { transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.stat:hover { transform: translateY(-6px); }
.stat-num { text-shadow: 0 0 30px rgba(184,158,115,.35); }

.timeline-content { transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s ease; }
.timeline-content:hover { transform: translateY(-5px); }

.location-img { transition: transform 1.2s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease; }
.location-row:hover .location-img { transform: scale(1.02); box-shadow: 0 30px 70px rgba(17,17,17,.25); }

.faq-container details { transition: transform .4s ease, box-shadow .4s ease; }
.faq-container details[open] { box-shadow: 0 16px 40px rgba(17,17,17,.08); }
.app-tile { transition: transform .25s ease, box-shadow .25s ease; }
.app-tile:active { transform: scale(.94); }

/* ============================================================
   V13 — PREPARAZIONE DELLA SALMA (home)
   ============================================================ */
.prep-section { background: linear-gradient(180deg, #F7F4EE 0%, #FCFBF8 100%); padding: 110px 0; position: relative; }
.prep-section::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1100px, 90%); height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,158,115,.5), transparent); }
.prep-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-bottom: 44px; }
.prep-card { background: #fff; border: 1px solid rgba(184,158,115,.22); border-radius: 14px; padding: 44px 34px; text-align: center; }
.prep-card > i { font-size: 2.4rem; color: var(--color-gold-dark); display: inline-flex; width: 86px; height: 86px; align-items: center; justify-content: center;
  border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fdfaf3, #f1e8d8); border: 1px solid rgba(184,158,115,.35);
  box-shadow: 0 12px 26px rgba(184,158,115,.22), inset 0 2px 6px rgba(255,255,255,.9); margin-bottom: 22px;
  transition: transform .55s cubic-bezier(.34,1.56,.64,1), box-shadow .55s ease; }
.prep-card:hover > i { transform: translateY(-5px) scale(1.08) rotate(-4deg); box-shadow: 0 16px 34px rgba(184,158,115,.35); }
.prep-num { display: block; font-family: var(--font-title); font-style: italic; color: var(--color-gold-dark); letter-spacing: 2px; font-size: .85rem; margin-bottom: 10px; text-transform: uppercase; }
.prep-card h3 { font-size: 1.45rem; }
.prep-card p { font-size: .98rem; margin-bottom: 0; }
.prep-cta-row { text-align: center; }
body.dark-mode .prep-section { background: #0f0f0f; }
body.dark-mode .prep-card { background: #151515; border-color: rgba(184,158,115,.25); }
body.dark-mode .prep-card > i { background: #1d1a14; box-shadow: 0 12px 26px rgba(0,0,0,.5); }
body.dark-mode .prep-card p { color: #aaa; }

/* ============================================================
   V13 — DISPERSIONE CENERI IN MARE (home)
   ============================================================ */
.mare-section { position: relative; overflow: hidden; padding: 130px 0 170px; color: #dfe8ee;
  background: linear-gradient(180deg, #0a141d 0%, #0d2130 55%, #0a1926 100%); }
.mare-waves { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.mare-waves .wave { position: absolute; left: -55%; top: 78%; width: 210%; height: 210%; border-radius: 41% 45% 42% 46%; animation: waveSpin 20s linear infinite; }
.mare-waves .w1 { background: rgba(27,55,75,.8); animation-duration: 17s; }
.mare-waves .w2 { background: rgba(184,158,115,.07); animation-duration: 24s; animation-direction: reverse; top: 80%; }
.mare-waves .w3 { background: rgba(11,29,43,.95); animation-duration: 30s; top: 83%; }
@keyframes waveSpin { to { transform: rotate(360deg); } }
.mare-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; position: relative; z-index: 2; }
.mare-text h2 { color: #fff; }
.mare-text p { color: #b9c9d4; }
.mare-section .gold-list li { color: #c9d6de; }
.mare-section .gold-list li strong { color: #e9dfc8; }
.mare-visual { perspective: 1000px; }
.mare-card { position: relative; background: rgba(255,255,255,.05); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(184,158,115,.35); border-radius: 18px; padding: 56px 44px; text-align: center;
  box-shadow: 0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12); transform: rotate(2deg); }
.mare-card:hover { box-shadow: 0 40px 100px rgba(0,0,0,.55), 0 0 80px rgba(184,158,115,.15), inset 0 1px 0 rgba(255,255,255,.15); }
.mare-card > i { font-size: 3.4rem; color: var(--color-gold); margin-bottom: 14px; display: inline-block; animation: boatFloat 5.5s ease-in-out infinite; }
@keyframes boatFloat { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-10px) rotate(2deg); } }
.mare-badge { display: inline-block; font-size: .72rem; letter-spacing: 3px; text-transform: uppercase; color: var(--color-gold);
  border: 1px solid rgba(184,158,115,.4); border-radius: 100px; padding: 6px 16px; margin: 0 auto 18px; }
.mare-card p { font-family: var(--font-title); font-size: 1.5rem; font-style: italic; color: #eef4f8; margin: 0; line-height: 1.5; }

/* ============================================================
   V13 — PREVENTIVO & RATEIZZAZIONE (home)
   ============================================================ */
.prevo-band { position: relative; padding: 110px 0; overflow: hidden; background:
  radial-gradient(900px 400px at 80% -10%, rgba(184,158,115,.16), transparent 60%),
  radial-gradient(700px 300px at 10% 110%, rgba(184,158,115,.10), transparent 60%), #101010; }
.prevo-band .uppercase { color: #9a9a9a; }
.prevo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 1000px; margin: 0 auto; }
.prevo-card { background: linear-gradient(165deg, #fdfcf9, #f4efe5); border-radius: 16px; padding: 48px 40px; border: 1px solid rgba(184,158,115,.3); }
.prevo-icon { width: 74px; height: 74px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 2.1rem; color: #fff;
  background: linear-gradient(145deg, var(--color-gold), var(--color-gold-dark)); box-shadow: 0 14px 30px rgba(184,158,115,.4); margin-bottom: 24px; }
.prevo-card:hover .prevo-icon { transform: translateY(-5px) scale(1.08) rotate(-4deg); }
.prevo-card h3 { font-size: 1.6rem; color: #1a1a1a; }
.prevo-card p { font-size: .98rem; color: #555; }
body.dark-mode .prevo-card h3 { color: #1a1a1a; }
body.dark-mode .prevo-card p { color: #555; }

@media (max-width: 992px) {
  .prep-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto 40px; }
  .mare-grid { grid-template-columns: 1fr; gap: 44px; }
  .mare-visual { max-width: 420px; margin: 0 auto; width: 100%; }
  .prevo-grid { grid-template-columns: 1fr; max-width: 560px; }
  .mare-section { padding: 90px 0 130px; }
  .prep-section, .prevo-band { padding: 80px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .hero h1 span, .mare-waves .wave, .mare-card > i, .whatsapp-float::before { animation: none; }
  .reveal, .reveal-left, .reveal-right, .reveal-zoom { transition-duration: .01s; }
}


/* ============================================================
   V14 — MENU A TENDINA SERVIZI
   ============================================================ */
.nav-drop { position: relative; display: inline-block; }
.nav-drop-toggle { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.nav-drop-toggle .ph-caret-down { font-size: .8em; transition: transform .35s ease; }
.nav-drop:hover .nav-drop-toggle .ph-caret-down, .nav-drop:focus-within .nav-drop-toggle .ph-caret-down { transform: rotate(180deg); }
.nav-drop-menu { position: absolute; top: 100%; left: 50%; width: 600px; padding-top: 18px;
  transform: translateX(-50%) translateY(14px); opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .3s ease, transform .3s cubic-bezier(.22,.61,.36,1), visibility .3s; z-index: 1200; }
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.nav-drop-panel { position: relative; background: rgba(255,255,255,.98); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(184,158,115,.32); border-radius: 14px; padding: 18px;
  box-shadow: 0 30px 70px rgba(17,17,17,.18), 0 6px 20px rgba(17,17,17,.08); }
.nav-drop-panel::before { content: ""; position: absolute; top: -7px; left: 50%; width: 12px; height: 12px;
  background: rgba(255,255,255,.98); border-left: 1px solid rgba(184,158,115,.32); border-top: 1px solid rgba(184,158,115,.32);
  transform: translateX(-50%) rotate(45deg); }
.nav-drop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 16px; }
.nav-drop-grid a { display: flex !important; align-items: center; gap: 10px; padding: 9px 12px !important; margin: 0 !important;
  border-radius: 8px; font-size: .8rem !important; letter-spacing: .4px; text-transform: none !important;
  color: #333 !important; white-space: nowrap; transition: background .3s ease, color .3s ease, transform .3s ease; }
.nav-drop-grid a::after, .nav-drop-all::after { content: none !important; display: none !important; }
.nav-drop-grid a i { color: var(--color-gold-dark); font-size: 1.15rem; }
.nav-drop-grid a:hover { background: rgba(184,158,115,.13); color: #111 !important; transform: translateX(3px); }
.nav-drop-all { display: flex !important; align-items: center; justify-content: center; gap: 8px;
  margin: 12px 0 0 !important; padding: 12px 0 0 !important; border-top: 1px solid rgba(184,158,115,.25);
  font-size: .72rem !important; text-transform: uppercase; letter-spacing: 2px; color: var(--color-gold-dark) !important; }
.nav-drop-all:hover { color: #111 !important; }
body.dark-mode .nav-drop-panel { background: rgba(16,16,16,.98); border-color: rgba(184,158,115,.35); }
body.dark-mode .nav-drop-panel::before { background: rgba(16,16,16,.98); }
body.dark-mode .nav-drop-grid a { color: #ccc !important; }
body.dark-mode .nav-drop-grid a:hover { background: rgba(184,158,115,.16); color: #fff !important; }

/* Tendina Servizi nel menu mobile */
.mobile-menu .mm-acc { width: 100%; }
.mobile-menu .mm-acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-title); font-size: 1.5rem; color: #f2f2f2; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.mobile-menu .mm-acc summary::-webkit-details-marker { display: none; }
.mobile-menu .mm-acc summary i { color: var(--color-gold); font-size: 1rem; transition: transform .35s ease; }
.mobile-menu .mm-acc[open] summary i { transform: rotate(180deg); }
.mobile-menu .mm-acc-links { display: grid; padding: 6px 0 10px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
.mobile-menu .mm-acc-links a { font-family: var(--font-body) !important; font-size: .88rem !important; color: #cfcfcf !important;
  padding: 8px 0 !important; border-bottom: none !important; display: flex !important; align-items: center; gap: 10px; letter-spacing: .5px; }
.mobile-menu .mm-acc-links a::after { content: none !important; }
.mobile-menu .mm-acc-links a i { color: var(--color-gold); font-size: 1rem; }

/* ============================================================
   V14.1 — FIX: accordion mobile, sedi, ordine documento
   ============================================================ */
.mobile-menu details.mm-acc { margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important;
  border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; height: auto !important; max-height: none !important; transform: none !important; }
.mobile-menu .mm-acc summary { padding: 12px 0 !important; background: transparent !important; color: #f2f2f2 !important; font-size: 1.5rem !important; }
.mobile-menu .mm-acc[open] summary { background: transparent !important; color: var(--color-gold) !important; }
.mobile-menu .mm-acc summary i { transform: none; }
.mobile-menu .mm-acc[open] summary i { transform: rotate(180deg) !important; }
.locations-section { height: auto !important; contain-intrinsic-size: auto 1000px; }
.location-row { height: auto; }

/* V14.2 — chevron disegnato (nessun glifo esterno) */
.nav-caret { display: inline-block; width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg) translateY(-2px); transition: transform .35s ease; margin-left: 2px; flex: none; }
.nav-drop:hover .nav-drop-toggle .nav-caret, .nav-drop:focus-within .nav-drop-toggle .nav-caret { transform: rotate(225deg) translateY(-2px); }
.mobile-menu .mm-acc summary .nav-caret { color: var(--color-gold); width: 9px; height: 9px; margin-right: 4px; }
.mobile-menu .mm-acc[open] summary .nav-caret { transform: rotate(225deg) !important; }

/* ============================================================
   V15 — ONDE LEGGERE, CAROSELLO RECENSIONI, PAGINE SERVIZIO
   ============================================================ */
/* Onde: solo un orizzonte sul fondo, testo sempre sopra */
.mare-section .container { position: relative; z-index: 3; }
.mare-waves { opacity: .55; }
.mare-waves .wave { top: 86%; }
.mare-waves .w1 { background: rgba(27,55,75,.38); }
.mare-waves .w2 { background: rgba(184,158,115,.05); top: 88%; }
.mare-waves .w3 { background: rgba(11,29,43,.5); top: 90%; }

/* Carosello recensioni Google */
.reviews-carousel { position: relative; max-width: 780px; margin: 0 auto; display: block; }
.reviews-carousel .review-item { position: absolute; top: 0; left: 0; right: 0; opacity: 0; transform: translateY(16px) scale(.985);
  transition: opacity .8s ease, transform .8s ease; pointer-events: none; }
.reviews-carousel .review-item.active { position: relative; opacity: 1; transform: none; pointer-events: auto; }
.reviews-dots { display: flex; gap: 10px; justify-content: center; margin-top: 26px; }
.reviews-dots button { width: 9px; height: 9px; border-radius: 50%; border: 1px solid var(--color-gold-dark); background: transparent;
  cursor: pointer; padding: 0; transition: background .3s ease, transform .3s ease; }
.reviews-dots button.active { background: var(--color-gold); transform: scale(1.3); }

/* Pagine servizio: effetti a tema */
.reveal-auto { opacity: 0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
.reveal-auto.active { opacity: 1; transform: none; }
.service-feature { position: relative; overflow: hidden; transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s ease, border-color .4s ease; }
.service-feature:hover { transform: translateY(-8px); border-color: var(--color-gold); box-shadow: 0 22px 48px rgba(17,17,17,.12), 0 30px 80px rgba(184,158,115,.2); }
.service-feature > i { transition: transform .55s cubic-bezier(.34,1.56,.64,1); display: inline-block; }
.service-feature:hover > i { transform: translateY(-5px) scale(1.15) rotate(-5deg); }
.related-chips a { transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease; }
.related-chips a:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(184,158,115,.25); }
.breadcrumbs a:hover { color: var(--color-gold-dark); }
@media (prefers-reduced-motion: reduce) { .reveal-auto { opacity: 1; transform: none; transition: none; } }

/* Bagliore dorato animato negli hero delle pagine servizio */
.service-hero { position: relative; overflow: hidden; }
.service-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(640px 240px at 50% 118%, rgba(184,158,115,.24), transparent 70%);
  animation: heroGlow 7s ease-in-out infinite alternate; }
@keyframes heroGlow { from { opacity: .5; } to { opacity: 1; } }
.service-hero > * { position: relative; z-index: 1; }

.service-feature::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(360px circle at var(--mx,50%) var(--my,50%), rgba(184,158,115,.14), transparent 65%);
  opacity: 0; transition: opacity .5s ease; }
.service-feature:hover::after { opacity: 1; }

/* ============================================================
   V16 — NUMERI VIVI + PAGINE SERVIZIO PREMIUM
   ============================================================ */
.stats-band .stat-num { background: linear-gradient(100deg, #8a7147 10%, #e8d5ac 35%, #fdf6e3 50%, #e8d5ac 65%, #8a7147 90%);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: goldShine 7s linear infinite; text-shadow: none; }
.badge-65::after { content: ""; position: absolute; inset: -12px; border-radius: 50%;
  border: 1px dashed rgba(184,158,115,.55); animation: spinSlow 30s linear infinite; }
@keyframes spinSlow { to { transform: rotate(360deg); } }
.reveal.active .badge-65 { animation: badgePop .9s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes badgePop { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Fascia fiducia nelle pagine servizio */
.svc-trust { background: linear-gradient(180deg, #faf7f1, #fdfcf9); border-bottom: 1px solid rgba(184,158,115,.25); }
.svc-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding-top: 26px; padding-bottom: 26px; max-width: 1100px; }
.svc-t { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.svc-t-num { font-family: var(--font-title); font-size: 2rem; color: var(--color-gold-dark); line-height: 1.1; }
.svc-t-num .ph-fill { color: var(--color-gold); }
.svc-t-label { font-size: .68rem; letter-spacing: 2px; text-transform: uppercase; color: #777; }
body.dark-mode .svc-trust { background: #101010; border-color: #222; }
body.dark-mode .svc-t-label { color: #888; }
@media (max-width: 768px) { .svc-trust-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 10px; } }

/* Articolo servizio: capolettera e filo d'oro sui titoli */
.service-article .container > p:first-of-type::first-letter { font-family: var(--font-title); font-size: 3.4em; float: left;
  line-height: .8; padding: 6px 10px 0 0; color: var(--color-gold-dark); }
.service-article h2 { margin-top: 2.2em; }
.service-article h2::before { content: ""; display: block; width: 46px; height: 2px; margin-bottom: 14px;
  background: linear-gradient(90deg, var(--color-gold), transparent); }
.service-article h2:first-child { margin-top: 0; }
@media (prefers-reduced-motion: reduce) { .stats-band .stat-num, .badge-65::after, .reveal.active .badge-65 { animation: none; } }

/* ============================================================
   V17 — REGIA CINEMATOGRAFICA: cursore, polvere d'oro,
   filigrana, bottoni magnetici, transizioni di pagina
   ============================================================ */
::selection { background: rgba(184,158,115,.35); }

/* Ingresso e uscita di pagina */
body { animation: pageIn .65s ease both; }
@keyframes pageIn { from { opacity: 0; } }
body.page-leaving { opacity: 0 !important; transition: opacity .3s ease; animation: none; }

/* Cursore di lusso (solo desktop) */
.lux-cursor, .lux-ring { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .lux-cursor { position: fixed; top: 0; left: 0; width: 7px; height: 7px; border-radius: 50%;
    background: var(--color-gold); pointer-events: none; z-index: 99999; }
  .lux-ring { position: fixed; top: 0; left: 0; width: 34px; height: 34px; border-radius: 50%;
    border: 1px solid rgba(184,158,115,.6); pointer-events: none; z-index: 99998;
    transition: width .25s ease, height .25s ease, border-color .25s ease, background .25s ease, margin .25s ease; }
  .lux-ring.is-link { width: 54px; height: 54px; margin: -10px 0 0 -10px; border-color: rgba(184,158,115,.95); background: rgba(184,158,115,.08); }
}

/* Polvere d'oro nelle bande scure */
.gold-dust { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.gold-dust span { position: absolute; bottom: -10px; border-radius: 50%; opacity: 0;
  background: radial-gradient(circle, rgba(232,213,172,.9), rgba(184,158,115,.25)); filter: blur(.4px);
  animation: dustRise 16s linear infinite; }
@keyframes dustRise { 0% { transform: translateY(0) translateX(0); opacity: 0; }
  8% { opacity: .75; } 90% { opacity: .25; } 100% { transform: translateY(-105vh) translateX(24px); opacity: 0; } }
.cta-band { position: relative; overflow: hidden; }
.cta-band .container, .stats-band .container, .prevo-band .container { position: relative; z-index: 2; }

/* Filigrana calligrafica dietro Chi Siamo */
.about-section { position: relative; overflow: hidden; }
.about-section .container { position: relative; z-index: 1; }
.about-watermark { position: absolute; top: 30px; left: 50%; transform: translateX(-50%);
  font-family: var(--font-signature); font-size: clamp(6rem, 16vw, 15rem); line-height: 1;
  color: rgba(184,158,115,.09); white-space: nowrap; pointer-events: none; user-select: none; z-index: 0; }
body.dark-mode .about-watermark { color: rgba(184,158,115,.07); }

/* Separatore hero servizio che si disegna */
.service-hero .hero-separator { transform-origin: center; animation: sepDraw 1.4s cubic-bezier(.22,.61,.36,1) .3s both; }
@keyframes sepDraw { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  body { animation: none; }
  .gold-dust, .lux-cursor, .lux-ring { display: none; }
  .service-hero .hero-separator { animation: none; }
}

/* ============================================================
   V18 — TITOLI MERAVIGLIOSI (tutto il sito)
   ============================================================ */
.ttl-clip { overflow: hidden; }
.ttl-clip .ttl-inner { display: block; transform: translateY(112%); transition: transform 1.15s cubic-bezier(.19,1,.22,1); will-change: transform; }
.ttl-clip.ttl-on .ttl-inner { transform: none; }
.ttl-fancy { font-style: italic; color: var(--color-gold-dark); }
.cta-band .ttl-fancy, .mare-section .ttl-fancy, .prevo-band .ttl-fancy, .social-band .ttl-fancy,
.service-hero .ttl-fancy, .stats-band .ttl-fancy, body.dark-mode .ttl-fancy { color: var(--color-gold); }
.ttl-orn::after { content: "\2726"; display: block; margin-top: 14px; line-height: 1; font-size: .34em;
  color: var(--color-gold); font-style: normal; letter-spacing: 0;
  background: linear-gradient(90deg, transparent, rgba(184,158,115,.55)), linear-gradient(90deg, rgba(184,158,115,.55), transparent);
  background-repeat: no-repeat; background-size: 44px 1px, 44px 1px;
  background-position: calc(50% - 48px) 50%, calc(50% + 48px) 50%;
  opacity: 0; transform: scale(.6); transition: opacity .8s ease .45s, transform .8s cubic-bezier(.34,1.56,.64,1) .45s; }
.ttl-on.ttl-orn::after { opacity: 1; transform: scale(1); }

/* ============================================================
   V18 — LA NOSTRA STORIA IN 3D
   ============================================================ */
.history-section { overflow: hidden; }
.timeline { perspective: 1200px; }
.timeline-item.reveal .timeline-content { opacity: 0; transition: transform 1.2s cubic-bezier(.19,1,.22,1), opacity .9s ease, box-shadow .5s ease; will-change: transform; }
.timeline-item.left .timeline-content { transform: perspective(1000px) rotateY(24deg) rotateX(7deg) translateX(-44px); transform-origin: right center; }
.timeline-item.right .timeline-content { transform: perspective(1000px) rotateY(-24deg) rotateX(7deg) translateX(44px); transform-origin: left center; }
.timeline-item.reveal.active .timeline-content { transform: perspective(1000px) rotateY(0) rotateX(0) translateX(0); opacity: 1; }
.timeline-content .year { display: inline-block; }
.timeline-item.reveal.active .year { animation: yearFlip .9s cubic-bezier(.34,1.56,.64,1) .4s both; }
@keyframes yearFlip { from { transform: perspective(400px) rotateX(72deg) translateY(10px); opacity: 0; } to { transform: none; opacity: 1; } }
.timeline-content:hover { box-shadow: 0 2px 5px rgba(17,17,17,.06), 0 24px 50px rgba(17,17,17,.14), 0 36px 90px rgba(184,158,115,.22); }

@media (prefers-reduced-motion: reduce) {
  .ttl-clip .ttl-inner { transform: none; transition: none; }
  .ttl-orn::after { opacity: 1; transform: none; transition: none; }
  .timeline-item.reveal .timeline-content { transform: none; opacity: 1; transition: none; }
  .timeline-item.reveal.active .year { animation: none; }
}

/* ============================================================
   V19 — CITAZIONE CINEMATOGRAFICA (parola per parola)
   ============================================================ */
.parallax-section { overflow: hidden; }
.parallax-section .container { position: relative; z-index: 2; }
.quote-w { display: inline-block; opacity: 0; transform: translateY(20px) rotate(2deg); filter: blur(5px);
  transition: opacity .7s ease, transform .9s cubic-bezier(.19,1,.22,1), filter .7s ease; }
.quote-on .quote-w { opacity: 1; transform: none; filter: none; }
.quote-box cite { display: inline-block; opacity: 0; letter-spacing: 7px; transition: opacity 1.2s ease 1.3s, letter-spacing 1.2s ease 1.3s; }
.quote-on cite { opacity: 1; letter-spacing: 2px; }
.quote-box .ph-quotes { display: inline-block; opacity: 0; transform: scale(.4) rotate(-14deg);
  transition: opacity .8s ease, transform .9s cubic-bezier(.34,1.56,.64,1); }
.quote-on .ph-quotes { opacity: 1; transform: none; }
.parallax-overlay { animation: overlayBreathe 10s ease-in-out infinite alternate; }
@keyframes overlayBreathe { from { opacity: .95; } to { opacity: .75; } }
@media (prefers-reduced-motion: reduce) {
  .quote-w, .quote-box cite, .quote-box .ph-quotes { opacity: 1; transform: none; filter: none; transition: none; }
  .parallax-overlay { animation: none; }
}

/* ============================================================
   V20 — BACHECA NECROLOGI: pannello memoriale con lume
   ============================================================ */
.necro-panel { position: relative; overflow: hidden; max-width: 880px; margin: 0 auto; padding: 70px 44px 60px; border-radius: 20px;
  background: radial-gradient(620px 300px at 50% -90px, rgba(184,158,115,.2), transparent 60%),
              linear-gradient(170deg, #17181a, #0e0f11 60%, #131210);
  border: 1px solid rgba(184,158,115,.35);
  box-shadow: 0 40px 90px rgba(17,17,17,.28), inset 0 1px 0 rgba(255,255,255,.06); }
.necro-panel::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(184,158,115,.18); border-radius: 14px; pointer-events: none; }
.necro-glow { position: absolute; left: 50%; top: -120px; width: 440px; height: 270px; transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(232,213,172,.3), transparent); filter: blur(10px);
  animation: candle 4.5s ease-in-out infinite; pointer-events: none; }
@keyframes candle { 0%, 100% { opacity: .7; } 30% { opacity: 1; } 55% { opacity: .55; } 80% { opacity: .9; } }
.necro-icon { font-size: 2.2rem; color: var(--color-gold); display: inline-block; margin-bottom: 8px; animation: boatFloat 6s ease-in-out infinite; }
.necro-panel .gold-text { color: var(--color-gold); }
.necro-panel h2 { color: #fff; }
.necro-panel .ttl-fancy { color: var(--color-gold); }
.necro-sub { color: #b9b9b9; max-width: 580px; margin: 14px auto 34px; }
.necro-panel .search-bar-container, .necro-panel .necro-link { position: relative; z-index: 2; }
.necro-panel .search-input { background: rgba(255,255,255,.06); border: 1px solid rgba(184,158,115,.35); color: #fff;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.necro-panel .search-input::placeholder { color: #9a9a9a; }
.necro-panel .search-input:focus { outline: none; border-color: var(--color-gold); box-shadow: 0 0 0 4px rgba(184,158,115,.18); }
.necro-link { color: #cfcfcf; display: inline-flex; align-items: center; gap: 8px; margin-top: 30px; }
.necro-link:hover { color: var(--color-gold); }
.necro-link i { transition: transform .3s ease; }
.necro-link:hover i { transform: translateX(5px); }
body.dark-mode .necrologi-compact { background: #0d0d0d; }
@media (max-width: 768px) { .necro-panel { padding: 54px 22px 46px; border-radius: 16px; } .necro-glow { width: 320px; } }
@media (prefers-reduced-motion: reduce) { .necro-glow, .necro-icon { animation: none; } }

/* ============================================================
   V21 — GUIDA ALLINEATA, FAQ NOBILE, PRELOADER UNICO
   ============================================================ */
/* Card "Cosa fare": stessa altezza + hover teatrale */
.guide-section .guide-grid { align-items: stretch; }
.guide-section .guide-card { display: flex; flex-direction: column; height: auto; min-height: 100%; }
.guide-section .guide-card p { flex: 1; }
.guide-card { position: relative; border: 1px solid rgba(0,0,0,.04); }
.guide-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(184,158,115,.15), transparent 62%);
  opacity: 0; transition: opacity .5s ease; }
.guide-card:hover::after { opacity: 1; }
.guide-card:hover { border-color: rgba(184,158,115,.5); }
.guide-card .guide-icon { transition: transform .55s cubic-bezier(.34,1.56,.64,1), box-shadow .5s ease; }
.guide-card:hover .guide-icon { transform: translateY(-6px) scale(1.12) rotate(-6deg); box-shadow: 0 14px 30px rgba(184,158,115,.3); }
.guide-number { transition: transform .7s cubic-bezier(.34,1.56,.64,1), box-shadow .5s ease; }
.guide-card:hover .guide-number { transform: rotate(360deg) scale(1.12); box-shadow: 0 10px 22px rgba(184,158,115,.4); }

/* FAQ: righe nobili con filo d'oro */
.faq-container details { border: 1px solid rgba(184,158,115,.22); border-radius: 12px; overflow: hidden;
  background: linear-gradient(180deg, #fff, #fdfbf7); position: relative; }
.faq-container details::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--color-gold), var(--color-gold-dark));
  transform: scaleY(0); transform-origin: top; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.faq-container details:hover::before, .faq-container details[open]::before { transform: scaleY(1); }
.faq-container details:hover { transform: translateX(6px); }
.faq-container summary i { width: 34px; height: 34px; border: 1px solid rgba(184,158,115,.4); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; flex: none; font-size: 1rem;
  transition: transform .45s cubic-bezier(.34,1.56,.64,1), background .3s ease, color .3s ease; }
.faq-container details[open] summary i { background: var(--color-gold); color: #fff; transform: rotate(135deg); }
.faq-container .faq-answer { border-top: 1px dashed rgba(184,158,115,.3); }
.faq-container details[open] .faq-answer { animation: faqIn .5s ease both; }
@keyframes faqIn { from { opacity: 0; transform: translateY(-8px); } }
body.dark-mode .faq-container details { background: #151515; border-color: #2a2a2a; }

/* Preloader: emblema, anelli e barra d'oro */
#preloader { background: radial-gradient(700px 420px at 50% 42%, #1a1917, #0b0b0a) !important; transition: opacity .6s ease, visibility .6s ease; }
.loader-emblem { position: relative; width: 132px; height: 132px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; }
.loader-emblem img { width: 60px; height: auto; filter: drop-shadow(0 0 18px rgba(184,158,115,.45)); animation: emblemPulse 2.6s ease-in-out infinite; }
.loader-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(184,158,115,.22); border-top-color: var(--color-gold); animation: spin 1.6s linear infinite; }
.loader-ring.r2 { inset: 11px; border: 1px dashed rgba(184,158,115,.18); border-bottom-color: rgba(232,213,172,.75); animation: spinRev 2.8s linear infinite; }
@keyframes spinRev { to { transform: rotate(-360deg); } }
@keyframes emblemPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
#preloader .loader-logo { color: #f0ede6 !important; font-family: var(--font-title); font-size: 2.1rem; letter-spacing: 2px; }
#preloader .loader-logo span { color: var(--color-gold); font-family: var(--font-signature); font-size: 1.25em; }
.loader-tag { display: block; margin-top: 8px; font-size: .66rem; letter-spacing: 3px; text-transform: uppercase; color: #8d8a83; font-family: var(--font-body); }
.loader-bar { display: block; width: 180px; height: 2px; margin: 24px auto 0; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; }
.loader-bar span { display: block; height: 100%; width: 40%; background: linear-gradient(90deg, transparent, var(--color-gold), transparent); animation: loadSweep 1.2s ease-in-out infinite; }
@keyframes loadSweep { from { transform: translateX(-100%); } to { transform: translateX(450%); } }
@media (prefers-reduced-motion: reduce) { .loader-ring, .loader-emblem img, .loader-bar span { animation: none; } }

/* ============================================================
   V22 — FOOTER RAFFINATO
   ============================================================ */
footer { position: relative; overflow: hidden;
  background: radial-gradient(900px 320px at 85% 0%, rgba(184,158,115,.09), transparent 60%),
              radial-gradient(600px 260px at 8% 100%, rgba(184,158,115,.06), transparent 60%), #0c0c0b !important;
  border-top: 1px solid rgba(184,158,115,.4); }
footer::after { content: "Scimò"; position: absolute; right: -30px; bottom: -70px; font-family: var(--font-signature);
  font-size: 15rem; line-height: 1; color: rgba(184,158,115,.05); pointer-events: none; user-select: none; }
footer .container { position: relative; z-index: 1; }
footer .footer-col h4 { position: relative; display: inline-block; letter-spacing: 1px; padding-bottom: 10px; margin-bottom: 16px; }
footer .footer-col h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 30px; height: 1px;
  background: linear-gradient(90deg, var(--color-gold), transparent); transition: width .45s cubic-bezier(.22,.61,.36,1); }
footer .footer-col:hover h4::after { width: 100%; }
footer .footer-links a { position: relative; display: inline-block; transition: color .3s ease, transform .3s ease; }
footer .footer-links a::before { content: ""; position: absolute; left: -14px; top: 50%; width: 8px; height: 1px;
  background: var(--color-gold); opacity: 0; transition: opacity .3s ease, width .3s ease; }
footer .footer-links a:hover { color: var(--color-gold) !important; transform: translateX(14px); }
footer .footer-links a:hover::before { opacity: 1; }
footer .social-icons .social-icon { border: 1px solid rgba(184,158,115,.35); transition: transform .4s cubic-bezier(.34,1.56,.64,1), background .3s ease, color .3s ease, border-color .3s ease, box-shadow .4s ease; }
footer .social-icons .social-icon:hover { background: var(--color-gold); color: #0c0c0b; border-color: var(--color-gold);
  transform: translateY(-5px) scale(1.08); box-shadow: 0 12px 26px rgba(184,158,115,.4); }
footer .footer-bottom { position: relative; }
footer .footer-bottom::before { content: "\2726"; display: block; text-align: center; color: var(--color-gold); font-size: .7rem; margin-bottom: 16px;
  background: linear-gradient(90deg, transparent, rgba(184,158,115,.35)), linear-gradient(90deg, rgba(184,158,115,.35), transparent);
  background-repeat: no-repeat; background-size: 160px 1px, 160px 1px;
  background-position: calc(50% - 100px) 50%, calc(50% + 100px) 50%; }
footer .footer-bottom a { color: var(--color-gold-dark); }
footer .footer-bottom a:hover { color: var(--color-gold); }
.back-to-top { border: 1px solid rgba(184,158,115,.45) !important; border-radius: 50% !important; background: rgba(12,12,11,.85) !important;
  color: var(--color-gold) !important; backdrop-filter: blur(6px); transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease, opacity .3s ease, visibility .3s ease !important; }
.back-to-top:hover { transform: translateY(-5px) !important; box-shadow: 0 14px 30px rgba(184,158,115,.35); }
@media (max-width: 768px) { footer::after { font-size: 9rem; right: -20px; bottom: -40px; } }

/* ============================================================
   V23 — PRODUZIONE: performance e rifiniture finali
   ============================================================ */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Rendering differito delle sezioni sotto la piega (velocità percepita) */
.prep-section, .mare-section, .prevo-band, .necrologi-section, .guide-section, .faq-section,
.reviews-section, .history-section, .location-section, .related-services, .social-band {
  content-visibility: auto; contain-intrinsic-size: auto 720px; }

/* GPU hints solo dove serve */
.lux-cursor, .lux-ring { will-change: transform; }
.gold-dust span { will-change: transform, opacity; }

/* Focus visibile ed elegante (accessibilità premium) */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--color-gold); outline-offset: 3px; border-radius: 4px; }

/* Header: linea d'oro che accompagna lo scroll */
.site-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,158,115,.65), transparent);
  opacity: 0; transition: opacity .5s ease; }
.site-header.scrolled::after { opacity: 1; }

/* Immagini sedi: cornice d'oro al passaggio */
.location-img { border: 1px solid transparent; }
.location-row:hover .location-img { border-color: rgba(184,158,115,.45); }

/* Scrollbar elegante (desktop) */
@media (hover: hover) and (pointer: fine) {
  ::-webkit-scrollbar { width: 11px; }
  ::-webkit-scrollbar-track { background: #111; }
  ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--color-gold-dark), #6f5a38); border-radius: 6px; border: 2px solid #111; }
  ::-webkit-scrollbar-thumb:hover { background: var(--color-gold); }
}

/* Tocco mobile: feedback immediato sulle card (niente hover sul touch) */
@media (hover: none) {
  .service-card:active, .prep-card:active, .prevo-card:active, .guide-card:active, .guide-step:active,
  .contact-card:active, .innovazione-item:active { transform: scale(.985); transition: transform .15s ease; }
  .btn-gold:active, .btn-ghost:active { transform: scale(.96); }
}

/* V24 — logo scudo: più grande, batte come un cuore */
.site-header .logo .logo-shield { height: 96px !important; margin: -16px 0 -16px -14px; width: auto !important;
  animation: shieldBeat 2.2s ease-in-out infinite; transform-origin: center; }
@keyframes shieldBeat {
  0%, 100% { transform: scale(1); }
  12% { transform: scale(1.14); }
  24% { transform: scale(1); }
  36% { transform: scale(1.1); }
  48% { transform: scale(1); }
}
.logo:hover .logo-shield { animation-play-state: paused; }
@media (max-width: 768px) { .site-header .logo .logo-shield { height: 74px !important; margin: -12px 0 -12px -8px; } }
@media (prefers-reduced-motion: reduce) { .site-header .logo .logo-shield { animation: none; } }







/* V28 — SOLO la freccia, tutta d'oro: niente stelle, niente cerchi */
.lux-cursor, .lux-ring { display: none !important; }
@media (hover: hover) and (pointer: fine) {
  html, body, a, button, summary, .app-tile, label, select, .lux-cursor {
    cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220.9%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23a9853f%22%2F%3E%3Cstop%20offset%3D%220.55%22%20stop-color%3D%22%23f5e6bf%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23a9853f%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M5%202%20L5%2023%20L10.1%2018.2%20L13.2%2025.4%20L16.6%2023.9%20L13.6%2016.9%20L20.8%2016.4%20Z%22%20fill%3D%22url(%23g)%22%20stroke%3D%22%234a3a1f%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 5 2, auto !important; }
  a, button, summary, .app-tile, label, select, .hamburger, .theme-toggle, .scroll-down,
  .service-card, .innovazione-item, .map-lazy, .nav-drop-toggle, .reviews-dots button,
  .whatsapp-float, .back-to-top, .search-btn, [role="button"], [onclick],
  a *, button *, summary *, .hamburger *, .service-card *, .map-lazy * {
    cursor: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22h%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220.9%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23c9a75a%22%2F%3E%3Cstop%20offset%3D%220.55%22%20stop-color%3D%22%23fdf3d6%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23c9a75a%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M11%201.6%20c-1.1%200-2%20.9-2%202%20v9.2%20l-1.5-1.8%20c-.8-1-2.3-1.1-3.2-.3%20-.9.8-.9%202.2-.1%203.1%20l4.7%205.7%20c1.1%201.3%202.7%202%204.4%202%20h4.1%20c3%200%205.4-2.4%205.4-5.4%20v-4.2%20c0-1.1-.9-2-2-2%20-.4%200-.8.1-1.1.3%20-.3-.8-1.1-1.4-2-1.4%20-.5%200-1%20.2-1.4.5%20-.4-.7-1.1-1.2-2-1.2%20-.4%200-.7.1-1%20.2%20V3.6%20c0-1.1-.9-2-2-2%20Z%22%20fill%3D%22url(%23h)%22%20stroke%3D%22%234a3a1f%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 10 2, pointer !important; }
  input, textarea { cursor: text !important; }
}
