:root{--bg-primary: #b7dff7;--bg-card: #ffffff;--color-accent: #c45c3e;--color-accent-light: #e07a5f;--color-accent-dark: #9e3f2a;--color-text: #2d3436;--color-text-muted: #636e72;--color-border: rgba(45, 52, 54, .1);--font-display: "Fraunces", serif;--font-body: "Outfit", sans-serif;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--shadow-card: 0 2px 8px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .08);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;background-color:var(--bg-primary);color:var(--color-text);line-height:1.6;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;margin:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-dark)}img{max-width:100%;height:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#main{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpStagger{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.navbar{background:#1a1a1a!important;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 20px #0000004d;padding:.5rem 0;transition:all var(--transition-smooth);min-height:60px;z-index:9999!important}.navbar>.container{min-height:60px}.navbar-brand{display:flex;align-items:center;gap:.5rem;padding:0}.navbar-brand img{height:42px;width:auto;background:#1a1a1a;border-radius:var(--radius-sm);transition:transform var(--transition-fast)}.navbar-brand:hover img{transform:scale(1.05)}.navbar-brand span{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:#fff}.navbar-toggler{border:none;padding:.5rem;background:transparent!important}.navbar-toggler:focus{box-shadow:none}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important}.navbar-nav .nav-link{font-family:var(--font-body);font-weight:500;font-size:.95rem;color:#ffffffbf;padding:.5rem 1rem;position:relative;transition:color var(--transition-fast)}.navbar-nav .nav-link:after{content:"";position:absolute;bottom:0;left:1rem;right:1rem;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform var(--transition-fast)}.navbar-nav .nav-link:hover{color:#fff}.navbar-nav .nav-link:hover:after,.navbar-nav .nav-link.active:after{transform:scaleX(1)}.navbar-nav .nav-link.active{color:var(--color-accent)}@media(max-width:991px){.navbar-collapse{background:#1a1a1a;padding:1rem;margin-top:.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.navbar-nav .nav-link{padding:.75rem .5rem;color:#fffc}.navbar-nav .nav-link:hover{color:#fff}.navbar-nav .nav-link:after{display:none}}#header{padding:2rem 0;animation:fadeInUpStagger .6s ease forwards;animation-delay:.1s;opacity:0}.hero-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(196,92,62,.1) 0%,transparent 50%);pointer-events:none;z-index:1}.hero-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-smooth)}.hero-image:hover img{transform:scale(1.02)}.news-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-card);border-left:4px solid var(--color-accent);height:100%;display:flex;flex-direction:column;justify-content:center;animation:fadeInUpStagger .6s ease forwards;animation-delay:.2s;opacity:0}.news-card h2{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;color:var(--color-text);margin-bottom:.75rem}.news-card h2 svg{flex-shrink:0}.news-card p{color:var(--color-text-muted);font-size:.95rem;margin:0;line-height:1.6}#services{padding:1rem 0 3rem}.service-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);height:100%;display:flex;flex-direction:column;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);animation:fadeInUpStagger .6s ease forwards;opacity:0}.service-card:nth-child(1){animation-delay:.3s}.service-card:nth-child(2){animation-delay:.4s}.service-card:nth-child(3){animation-delay:.5s}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.service-card__image-wrapper{position:relative;overflow:hidden;aspect-ratio:16 / 10}.service-card__image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth)}.service-card:hover .service-card__image-wrapper img{transform:scale(1.08)}.service-card__image-wrapper:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 100%);pointer-events:none}.service-card__image-wrapper h2{position:absolute;bottom:1rem;left:1.25rem;right:1.25rem;color:#fff;font-size:1.5rem;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,.2)}.service-card__content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.service-card__content p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1rem;flex:1}.service-card .badge{font-family:var(--font-body);font-weight:500;font-size:.8rem;padding:.5rem 1rem;border-radius:50px;display:inline-block}.badge-calzoleria{background:linear-gradient(135deg,#e07a5f,#c45c3e);color:#fff}.badge-sartoria{background:linear-gradient(135deg,#81b29a,#5a9178);color:#fff}.badge-chiavi{background:linear-gradient(135deg,#f2cc8f,#e0b068);color:#5a4a3a}#map{padding:2rem 0;animation:fadeInUpStagger .6s ease forwards;animation-delay:.6s;opacity:0}.map{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.map iframe{display:block;width:100%;height:450px}footer{padding:3rem 0;background:var(--bg-card);margin-top:2rem;animation:fadeInUpStagger .6s ease forwards;animation-delay:.7s;opacity:0}footer h3{font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}footer address{font-style:normal}footer address p{margin:.5rem 0;color:var(--color-text-muted)}footer address a{font-weight:500}footer address .opening-hours{font-size:.9rem;color:var(--color-accent);font-weight:500;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}footer .social-links{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}footer .social-links a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-primary);color:var(--color-accent);font-size:1.25rem;transition:all var(--transition-fast)}footer .social-links a:hover{background:var(--color-accent);color:#fff;transform:translateY(-3px)}#to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:100}#to-top.visible{opacity:1;visibility:visible}#to-top:hover{background:var(--color-accent-dark);transform:translateY(-3px)}@media(max-width:991px){.news-card{margin-top:1.5rem}#header{padding-top:1rem}}@media(max-width:767px){:root{--radius-lg: 14px;--radius-md: 10px}.service-card__content{padding:1.25rem}.service-card__image-wrapper h2{font-size:1.25rem}.map iframe{height:350px}footer{padding:2rem 0;text-align:center}footer .social-links{justify-content:center}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-accent-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.bg-white{background-color:var(--bg-card)}.rounded{border-radius:var(--radius-md)}.rounded-4{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.text-secondary{color:var(--color-text-muted)!important}
