:root{--blue-light:#94C7E8;--blue-primary:#2A87C7;--blue-dark:#2B4662;--white:#FFFFFF;--gray:#8F8F8F;--gray-light:#E6E7E8;--black:#1a1a1a}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--black);line-height:1.6;background:var(--white);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;line-height:1.2}
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-light);transition:all .3s}
.header-inner{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}
.logo img{height:50px;width:auto}
.nav{display:flex;gap:2rem;align-items:center}
.nav a{text-decoration:none;color:var(--blue-dark);font-weight:500;font-size:.95rem;transition:color .3s;position:relative}
.nav a:not(.btn)::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--blue-primary);transition:width .3s}
.nav a:not(.btn):hover::after{width:100%}
.nav a:hover{color:var(--blue-primary)}
.lang-selector{display:flex;align-items:center;gap:.5rem;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--gray-light)}
.lang-btn{background:none;border:2px solid transparent;border-radius:4px;cursor:pointer;padding:2px;transition:all .3s;display:flex;align-items:center;justify-content:center;opacity:.6}
.lang-btn:hover{opacity:1}
.lang-btn.active{border-color:var(--blue-primary);opacity:1}
.flag{width:24px;height:18px;border-radius:2px;display:block}
.btn{display:inline-block;padding:.85rem 1.75rem;background:var(--blue-primary);color:var(--white);text-decoration:none;font-weight:600;font-size:.9rem;border-radius:4px;transition:all .3s;border:2px solid var(--blue-primary);cursor:pointer}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(42,135,199,0.3)}
.btn-outline-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.3)}
.btn-outline-light:hover{background:var(--white);color:var(--blue-dark);border-color:var(--white)}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,var(--blue-dark) 0%,#1a3247 100%);overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(148,199,232,0.15) 0%,transparent 70%);pointer-events:none}
.hero-content{max-width:1400px;margin:0 auto;padding:8rem 2rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-text{animation:fadeInUp 1s ease}
.hero-badge{display:inline-block;background:rgba(148,199,232,0.2);color:var(--blue-light);padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:500;margin-bottom:1.5rem;border:1px solid rgba(148,199,232,0.3)}
.hero h1{font-size:3.5rem;color:var(--white);margin-bottom:1.5rem;letter-spacing:-.02em}
.hero h1 .highlight{color:var(--blue-light)}
.hero p{font-size:1.15rem;color:rgba(255,255,255,0.8);margin-bottom:2.5rem;max-width:500px;line-height:1.8}
.hero-buttons{display:flex;gap:1rem}
.hero-image{position:relative;animation:fadeInRight 1s ease .3s both}
.hero-image img{width:100%;height:auto;border-radius:12px;box-shadow:0 30px 60px rgba(0,0,0,0.4)}
.hero-image::before{content:'';position:absolute;top:-20px;left:-20px;right:20px;bottom:20px;border:2px solid var(--blue-primary);border-radius:12px;opacity:.5}
.section{padding:6rem 2rem}
.section-header{text-align:center;max-width:700px;margin:0 auto 4rem}
.section-header h2{font-size:2.75rem;color:var(--blue-dark);margin-bottom:1rem}
.section-header p{font-size:1.1rem;color:var(--gray)}
.section-header .line{width:60px;height:3px;background:var(--blue-primary);margin:1.5rem auto 0}
.flotta{background:var(--gray-light)}
.flotta-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.car-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,0.08);transition:all .4s}
.car-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(42,135,199,0.15)}
.car-card-image{position:relative;height:220px;overflow:hidden}
.car-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.car-card:hover .car-card-image img{transform:scale(1.05)}
.car-card-badge{position:absolute;top:1rem;right:1rem;background:var(--blue-primary);color:var(--white);padding:.35rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:uppercase}
.car-card-badge.electric{background:#00D26A}
.car-card-content{padding:1.5rem}
.car-card h3{font-family:'DM Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--blue-dark);margin-bottom:.5rem}
.car-card-type{font-size:.85rem;color:var(--gray);margin-bottom:1rem}
.car-card-features{display:flex;gap:1rem;flex-wrap:wrap}
.car-card-feature{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--blue-dark)}
.car-card-feature svg{width:16px;height:16px;color:var(--blue-primary)}
.chi-siamo{background:var(--white)}
.chi-siamo-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.chi-siamo-image img{width:100%;border-radius:12px;box-shadow:0 30px 60px rgba(0,0,0,0.15)}
.chi-siamo-text h2{font-size:2.5rem;color:var(--blue-dark);margin-bottom:1.5rem}
.chi-siamo-text p{font-size:1.05rem;color:var(--gray);margin-bottom:1.5rem;line-height:1.8}
.servizi{background:var(--blue-dark);color:var(--white);position:relative;overflow:hidden}
.servizi::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at right,rgba(148,199,232,0.1) 0%,transparent 70%)}
.servizi .section-header h2{color:var(--white)}
.servizi .section-header p{color:rgba(255,255,255,0.7)}
.servizi .section-header .line{background:var(--blue-light)}
.servizi-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;position:relative;z-index:1}
.servizio-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:2.5rem;backdrop-filter:blur(10px);transition:all .3s}
.servizio-card:hover{background:rgba(255,255,255,0.1);transform:translateY(-5px)}
.servizio-icon{width:60px;height:60px;background:var(--blue-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.servizio-icon svg{width:28px;height:28px;color:var(--white)}
.servizio-card h3{font-family:'DM Sans',sans-serif;font-size:1.35rem;font-weight:600;margin-bottom:1rem}
.servizio-card p{color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.7}
.servizio-features{list-style:none}
.servizio-features li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:rgba(255,255,255,0.9);font-size:.95rem}
.servizio-features li svg{width:18px;height:18px;color:var(--blue-light);flex-shrink:0}
.perche{background:var(--white)}
.perche-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.perche-item{text-align:center;padding:2rem;border-radius:12px;transition:all .3s}
.perche-item:hover{background:var(--gray-light)}
.perche-icon{width:70px;height:70px;background:linear-gradient(135deg,var(--blue-primary),var(--blue-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.perche-icon svg{width:30px;height:30px;color:var(--white)}
.perche-item h3{font-family:'DM Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--blue-dark);margin-bottom:.75rem}
.perche-item p{font-size:.9rem;color:var(--gray);line-height:1.6}
.come-funziona{background:var(--gray-light)}
.steps{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;position:relative}
.steps::before{content:'';position:absolute;top:40px;left:15%;right:15%;height:2px;background:var(--blue-primary);opacity:.3}
.step{text-align:center;flex:1;position:relative;z-index:1}
.step-number{width:80px;height:80px;background:var(--white);border:3px solid var(--blue-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--blue-primary);margin:0 auto 1.5rem;transition:all .3s}
.step:hover .step-number{background:var(--blue-primary);color:var(--white)}
.step h3{font-family:'DM Sans',sans-serif;font-size:1.15rem;font-weight:600;color:var(--blue-dark);margin-bottom:.75rem}
.step p{font-size:.9rem;color:var(--gray);max-width:250px;margin:0 auto}
.contatti{background:var(--white)}
.contatti-wrapper{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.contatti-info h2{font-size:2.5rem;color:var(--blue-dark);margin-bottom:1rem}
.contatti-info>p{font-size:1.05rem;color:var(--gray);margin-bottom:2.5rem;line-height:1.7}
.info-item{display:flex;gap:1rem;margin-bottom:1.5rem}
.info-item-icon{width:50px;height:50px;background:var(--gray-light);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.info-item-icon svg{width:22px;height:22px;color:var(--blue-primary)}
.info-item-content h4{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:600;color:var(--blue-dark);margin-bottom:.25rem}
.info-item-content p{font-size:.9rem;color:var(--gray)}
.contatti-form{background:var(--gray-light);padding:2.5rem;border-radius:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{margin-bottom:1.25rem}
.form-group.full-width{grid-column:span 2}
.form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--blue-dark);margin-bottom:.5rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.9rem 1rem;border:2px solid transparent;background:var(--white);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--black);transition:all .3s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue-primary)}
.form-group textarea{resize:vertical;min-height:120px}
.contatti-form .btn{width:100%;padding:1rem;font-size:1rem}
.footer{background:var(--blue-dark);color:var(--white);padding:4rem 2rem 2rem}
.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.footer-brand img{height:45px;margin-bottom:1.25rem;filter:brightness(0) invert(1)}
.footer-brand p{font-size:.9rem;color:rgba(255,255,255,0.7);line-height:1.7;max-width:300px}
.footer-section h4{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;margin-bottom:1.25rem}
.footer-section ul{list-style:none}
.footer-section ul li{margin-bottom:.75rem}
.footer-section ul li a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:.9rem;transition:color .3s}
.footer-section ul li a:hover{color:var(--blue-light)}
.footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:rgba(255,255,255,0.5)}
.social-links{display:flex;gap:1rem}
.social-links a{width:40px;height:40px;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);transition:all .3s}
.social-links a:hover{background:var(--blue-primary)}
.social-links a svg{width:18px;height:18px}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
.animate{opacity:0;transform:translateY(30px);transition:all .8s ease}
.animate.visible{opacity:1;transform:translateY(0)}
.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.mobile-menu-btn span{display:block;width:25px;height:2px;background:var(--blue-dark);margin:6px 0;transition:all .3s}
.mobile-lang-selector{display:none;justify-content:center;gap:.5rem;padding:1rem 0;border-top:1px solid var(--gray-light);margin-top:1rem}
@media(max-width:1200px){.flotta-grid{grid-template-columns:repeat(2,1fr)}.perche-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr 1fr}}
@media(max-width:992px){.hero-content{grid-template-columns:1fr;text-align:center}.hero h1{font-size:2.75rem}.hero p{margin:0 auto 2.5rem}.hero-buttons{justify-content:center}.hero-image{max-width:600px;margin:0 auto}.hero-image::before{display:none}.chi-siamo-content{grid-template-columns:1fr;gap:3rem}.servizi-grid{grid-template-columns:1fr}.contatti-wrapper{grid-template-columns:1fr}.lang-selector{display:none}.mobile-lang-selector{display:flex}}
@media(max-width:768px){.nav{position:fixed;top:0;right:-100%;width:80%;max-width:300px;height:100vh;background:var(--white);flex-direction:column;padding:5rem 2rem 2rem;gap:1.5rem;box-shadow:-10px 0 30px rgba(0,0,0,0.1);transition:right .3s}.nav.active{right:0}.nav a{font-size:1.1rem}.mobile-menu-btn{display:block;z-index:1001}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.hero h1{font-size:2.25rem}.section-header h2{font-size:2rem}.flotta-grid{grid-template-columns:1fr}.perche-grid{grid-template-columns:1fr}.steps{flex-direction:column;gap:3rem}.steps::before{display:none}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.footer-content{grid-template-columns:1fr;text-align:center}.footer-brand{display:flex;flex-direction:column;align-items:center}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}

/* Cookie Banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--white);box-shadow:0 -4px 20px rgba(0,0,0,0.15);z-index:9999;padding:1.5rem 2rem;display:none}
.cookie-banner.show{display:block;animation:slideUp .3s ease}
.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cookie-banner-text{flex:1;min-width:300px}
.cookie-banner-text h4{font-family:'DM Sans',sans-serif;font-size:1.1rem;font-weight:600;color:var(--blue-dark);margin-bottom:.5rem}
.cookie-banner-text p{font-size:.9rem;color:var(--gray);line-height:1.6;margin:0}
.cookie-banner-text a{color:var(--blue-primary)}
.cookie-banner-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.cookie-btn{padding:.75rem 1.5rem;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;border:2px solid var(--blue-primary)}
.cookie-btn-accept{background:var(--blue-primary);color:var(--white)}
.cookie-btn-accept:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.cookie-btn-reject{background:transparent;color:var(--blue-primary)}
.cookie-btn-reject:hover{background:var(--gray-light)}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:768px){.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-buttons{width:100%;justify-content:center}}
