*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Inter',sans-serif;line-height:1.6;color:#333;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{position:fixed;top:0;width:100%;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,0.05);z-index:1000;transition:all 0.3s ease}.navbar .container{display:flex;justify-content:space-between;align-items:center;padding:1rem 20px}.logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#2ecc71,#27ae60);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-img{height:50px;width:auto;display:block;-webkit-text-fill-color:initial}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{text-decoration:none;color:#333;font-weight:500;transition:color 0.3s;position:relative}.nav-link:hover{color:#27ae60}.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:#27ae60;transition:width 0.3s}.nav-link:hover::after{width:100%}.hamburger{display:none;flex-direction:column;cursor:pointer}.hamburger span{width:25px;height:3px;background:#333;margin:3px 0;transition:0.3s}.hero{min-height:100vh;background:linear-gradient(135deg,#1e3c72 0%,#2ecc71 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23ffffff" fill-opacity="0.1" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,138.7C960,139,1056,117,1152,106.7C1248,96,1344,96,1392,96L1440,96L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom;background-size:cover}.hero-content{text-align:center;color:#fff;z-index:1;animation:fadeInUp 1s ease-out}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,0.3)}.hero-logo{width:280px;max-width:70vw;height:auto;margin:0 auto 1.5rem;display:block;filter:drop-shadow(2px 2px 6px rgba(0,0,0,0.4))}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{font-size:1.3rem;margin-bottom:2rem;font-weight:300}.btn-primary{display:inline-block;padding:1rem 2.5rem;background:#fff;color:#27ae60;text-decoration:none;border-radius:50px;font-weight:600;transition:all 0.3s;box-shadow:0 4px 15px rgba(0,0,0,0.2)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.3)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:1}.scroll-indicator span{display:block;width:20px;height:30px;border:2px solid #fff;border-radius:15px;position:relative}.scroll-indicator span::before{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:#fff;border-radius:2px;animation:scroll 2s infinite}@keyframes scroll{0%,100%{opacity:0;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(10px)}}.about,.contact{padding:5rem 0;background:#f8f9fa}.about{background:#fff}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2.5rem;color:#2c3e50;margin-bottom:1rem}.divider{width:80px;height:4px;background:linear-gradient(135deg,#2ecc71,#27ae60);margin:0 auto;border-radius:2px}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.about-card{background:#fff;padding:2rem;border-radius:15px;text-align:center;box-shadow:0 5px 20px rgba(0,0,0,0.08);transition:all 0.3s;opacity:0;transform:translateY(20px)}.about-card.fade-in{opacity:1;transform:translateY(0);animation:fadeInUp 0.6s ease-out forwards}.about-card:hover{transform:translateY(-10px);box-shadow:0 10px 30px rgba(0,0,0,0.15)}.card-icon{font-size:3rem;margin-bottom:1rem}.about-card h3{color:#27ae60;margin-bottom:1rem;font-size:1.4rem}.about-text{max-width:800px;margin:0 auto;text-align:center;line-height:1.8}.about-text p{margin-bottom:1rem;color:#555}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.contact-info,.contact-form-container{background:#fff;padding:2.5rem;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.08);opacity:0;transform:translateY(20px)}.contact-info.fade-in,.contact-form-container.fade-in{opacity:1;transform:translateY(0);animation:fadeInUp 0.6s ease-out forwards}.contact-info h3,.contact-form-container h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem}.info-item{margin-bottom:1.5rem}.info-item strong{color:#27ae60;display:block;margin-bottom:0.5rem}.info-box{background:#e8f5e9;padding:1.5rem;border-radius:10px;margin-top:2rem;border-left:4px solid #27ae60}.info-box h4{color:#27ae60;margin-bottom:0.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:0.5rem;color:#2c3e50;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.8rem;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;transition:border 0.3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#27ae60}.form-group small{color:#666;font-size:0.85rem}.form-privacy{display:flex;align-items:center;gap:0.5rem;margin-bottom:1.5rem}.form-privacy input[type="checkbox"]{width:auto}.btn-submit{width:100%;padding:1rem;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 15px rgba(46,204,113,0.3)}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(46,204,113,0.4)}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem}.alert-success{background:#d4edda;color:#155724;border-left:4px solid #28a745}.alert-error{background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.footer{background:#2c3e50;color:#fff;text-align:center;padding:2rem 0}.footer p{margin:0.5rem 0;opacity:0.8}@media(max-width:768px){.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background:#fff;width:100%;text-align:center;transition:0.3s;box-shadow:0 10px 27px rgba(0,0,0,0.05);padding:2rem 0}.nav-menu.active{left:0}.hamburger{display:flex}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.section-header h2{font-size:2rem}.contact-grid{grid-template-columns:1fr;gap:1.5rem}.contact-info,.contact-form-container{padding:1.5rem}.form-privacy{align-items:flex-start}.hero-logo{width:200px}.about,.contact{padding:3rem 0}.about-card{padding:1.5rem}.card-icon{font-size:2.5rem}.section-header{margin-bottom:2rem}.logo{font-size:1.2rem}.contact-info h3,.contact-form-container h3{font-size:1.3rem}.info-item a{word-break:break-all}.footer p{font-size:0.85rem;overflow-wrap:break-word}.btn-submit{font-size:1rem}.form-group input,.form-group select,.form-group textarea{font-size:16px}}.modello-231 {
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(46,204,113,0.08);
    padding: 2.5rem;
    margin-bottom: 2rem;
    color: #2c3e50;
    font-size: 1.05rem;
    animation: fadeInUp 0.6s ease-out forwards;
}
.modello-231 h2 {
    font-size: 2rem;
    color: #27ae60;
    font-weight: 700;
    margin-bottom: 1rem;
    text-shadow: 1px 1px 3px rgba(46,204,113,0.10);
}
.modello-231 h3 {
    font-size: 1.25rem;
    color: #2c3e50;
    margin-top: 2rem;
    margin-bottom: 1rem;
}
.modello-231 .document-links {
    margin-bottom: 2rem;
    margin-top: 1.2rem;
}
.modello-231 .document-links .btn-primary {
    display: inline-block;
    background: linear-gradient(135deg,#2ecc71,#27ae60);
    color: #fff;
    border: none;
    font-weight: 600;
    border-radius: 50px;
    text-decoration: none;
    padding: 0.8rem 2rem;
    margin-bottom: 0.5rem;
    transition: background 0.3s;
    box-shadow: 0 2px 8px rgba(46,204,113,0.13);
}
.modello-231 .document-links .btn-primary:hover {
    background: #27ae60;
}
.modello-231 .info-box {
    background: #e8f5e9;
    padding: 1.2rem;
    border-radius: 10px;
    border-left: 4px solid #27ae60;
    margin-top: 1.5rem;
    font-size: 1rem;
}
@media(min-width:769px) and (max-width:900px){
    .contact-grid{gap:1.5rem}
}
@media(max-width:768px){
    .modello-231{padding:1.2rem;}
    .modello-231 h2{font-size:1.3rem;}
    .modello-231 h3{font-size:1rem;}
    .modello-231 .document-links .btn-primary{display:block;margin-right:0;text-align:center;margin-bottom:0.6rem;}
}
@media(max-width:480px){
    .container{padding:0 15px}
    .hero-logo{width:150px}
    .hero-subtitle{font-size:0.95rem;padding:0 0.5rem}
    .btn-primary{padding:0.8rem 1.8rem;font-size:0.9rem}
    .about,.contact{padding:2rem 0}
    .about-card{padding:1.2rem}
    .card-icon{font-size:2rem}
    .about-card h3{font-size:1.2rem}
    .section-header h2{font-size:1.5rem}
    .section-header{margin-bottom:1.5rem}
    .contact-info h3,.contact-form-container h3{font-size:1.1rem}
    .info-item{margin-bottom:1rem}
    .info-box{padding:1rem}
    .form-group{margin-bottom:1rem}
    .footer{padding:1.5rem 0}
    .footer p{font-size:0.78rem}
    .modello-231{padding:1rem}
    .modello-231 h3{font-size:0.95rem}
    .modello-231 .document-links .btn-primary{padding:0.7rem 1.2rem;font-size:0.9rem}
    .btn-submit{padding:0.85rem;font-size:0.95rem}
    .alert{font-size:0.9rem}
}
@media(hover:none){
    .about-card:hover{transform:none;box-shadow:0 5px 20px rgba(0,0,0,0.08)}
    .btn-primary:hover{transform:none;box-shadow:0 4px 15px rgba(0,0,0,0.2)}
    .btn-submit:hover{transform:none;box-shadow:0 4px 15px rgba(46,204,113,0.3)}
    .right-card:hover{transform:none;box-shadow:none}
}