@import"https://fonts.googleapis.com/css2?family=Federo&family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-primary: #5D4B43;--color-primary-light: #8D7A73;--color-primary-dark: #3E2B26;--color-secondary: #D4A04D;--color-accent: #FFC766;--color-accent-light: #FFECC9;--color-light: #FFF8F0;--color-cream: #FDF5E6;--color-sand: #E6D5B8;--color-dark: #3E2B26;--color-hero-bg: #5D4B43;--color-text: #3E2B26;--color-text-light: #7D655E;--color-text-muted: #9E8B84;--color-text-white: #FFFFFF;--color-border: rgba(62, 43, 38, .15);--color-border-light: rgba(255, 255, 255, .2);--color-flag-green: #009246;--color-flag-white: #F1F2F1;--color-flag-red: #CE2B37;--gradient-overlay: linear-gradient(180deg, rgba(62, 43, 38, .4) 0%, rgba(62, 43, 38, .8) 100%);--gradient-ocean: linear-gradient(135deg, #5D4B43 0%, #8D7A73 100%);--gradient-sunset: linear-gradient(180deg, #FFC766 0%, #D4A04D 100%);--gradient-italian: linear-gradient(90deg, var(--color-flag-green) 33%, var(--color-flag-white) 33%, var(--color-flag-white) 66%, var(--color-flag-red) 66%);--gradient-dark-ocean: linear-gradient(180deg, #3E2B26 0%, #2A1D1A 100%);--gradient-hero: linear-gradient(135deg, rgba(62, 43, 38, .9) 0%, rgba(93, 75, 67, .8) 100%);--font-heading: "Federo", "Playfair Display", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 8rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50%;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 8px rgba(38, 70, 83, .08);--shadow-md: 0 4px 16px rgba(38, 70, 83, .12);--shadow-lg: 0 8px 32px rgba(38, 70, 83, .16);--shadow-xl: 0 16px 48px rgba(38, 70, 83, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-light);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.2;color:var(--color-text)}h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:.02em}h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:.01em}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2vw,1.5rem)}.subtitle{font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition-normal);cursor:pointer}.btn-primary{background:var(--color-primary);color:var(--color-text-white);border:2px solid var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-text-white);border:2px solid var(--color-text-white)}.btn-outline:hover{background:var(--color-text-white);color:var(--color-dark);transform:translateY(-2px)}.btn-outline-dark{background:transparent;color:var(--color-text);border:2px solid var(--color-text)}.btn-outline-dark:hover{background:var(--color-text);color:var(--color-text-white);transform:translateY(-2px)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.container-fluid{width:100%;padding:0 var(--space-lg)}.section{padding:var(--space-4xl) 0}.section-light{background-color:var(--color-light)}.section-cream{background-color:var(--color-cream)}.section-dark{background:var(--gradient-dark-ocean);color:var(--color-text-white)}.tricolor{display:flex;justify-content:center;gap:4px;margin-bottom:var(--space-md)}.tricolor span{width:20px;height:3px;border-radius:2px}.tricolor .green{background-color:var(--color-flag-green)}.tricolor .white{background-color:var(--color-flag-white)}.tricolor .red{background-color:var(--color-flag-red)}.wave-divider{position:relative;width:100%;overflow:hidden;line-height:0}.wave-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:80px}.wave-divider .shape-fill{fill:var(--color-light)}.card{background:var(--color-cream);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image{position:relative;width:100%;aspect-ratio:4/3;overflow:visible}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);border-radius:var(--radius-lg);overflow:hidden}.card:hover .card-image img{transform:scale(1.05)}.card-content{padding:var(--space-md);text-align:center}.card-icon{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);width:48px;height:48px;background:var(--color-cream);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:2}.card-icon svg{width:24px;height:24px;color:var(--color-primary)}.experience-badge{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;background:var(--gradient-ocean);border-radius:var(--radius-full);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-white);box-shadow:var(--shadow-lg);border:4px solid var(--color-cream)}.experience-badge .number{font-family:var(--font-heading);font-size:1.75rem;font-weight:600;line-height:1}.experience-badge .label{font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;text-align:center;margin-top:4px}.features{display:flex;justify-content:center;gap:var(--space-2xl);margin-top:var(--space-xl);flex-wrap:wrap}.feature{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:150px}.feature-icon{width:48px;height:48px;margin-bottom:var(--space-sm);color:var(--color-primary)}.feature-title{font-family:var(--font-body);font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs)}.feature-desc{font-size:.75rem;color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave{0%,to{transform:translate(0)}50%{transform:translate(-25px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-float{animation:float 6s ease-in-out infinite}@media(max-width:1024px){.container{padding:0 var(--space-md)}.section{padding:var(--space-3xl) 0}}@media(max-width:768px){html{font-size:15px}.section{padding:var(--space-2xl) 0}.features{gap:var(--space-lg)}}@media(max-width:480px){html{font-size:14px}.container{padding:0 var(--space-sm)}.btn{padding:var(--space-sm) var(--space-md);font-size:.8rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-text-white)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.5rem 0;transition:all var(--transition-normal)}.header--scrolled{background:#3e2b26f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.25rem 0;box-shadow:var(--shadow-md)}.header__container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-white);text-decoration:none;transition:opacity var(--transition-fast)}.header__logo:hover{opacity:.8}.header__logo-img{height:80px;width:auto}.header__logo-text{font-family:var(--font-heading);font-size:.875rem;letter-spacing:.15em;text-transform:uppercase}.header__nav{display:flex;gap:var(--space-xl)}.header__nav-link{font-size:.875rem;font-weight:500;color:var(--color-text-white);text-decoration:none;position:relative;padding:var(--space-xs) 0;transition:color var(--transition-fast)}.header__nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width var(--transition-normal)}.header__nav-link:hover:after{width:100%}.header__cta{padding:var(--space-xs) var(--space-md);font-size:.8rem}.header__mobile-toggle{display:none;flex-direction:column;gap:5px;padding:var(--space-xs);cursor:pointer;z-index:1001}.header__mobile-toggle span{width:24px;height:2px;background:var(--color-text-white);transition:all var(--transition-fast)}.header__mobile-toggle--open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.header__mobile-toggle--open span:nth-child(2){opacity:0}.header__mobile-toggle--open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.header__nav{position:fixed;inset:0;background:var(--gradient-dark-ocean);flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.header__nav--open{opacity:1;visibility:visible}.header__nav-link{font-size:1.25rem}.header__cta{display:none}.header__mobile-toggle{display:flex}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__background{position:absolute;inset:0;background:linear-gradient(to bottom,#0003,#0006),url(/venue-exterior-night.jpg);background-size:cover;background-position:center;z-index:0}.hero__overlay{position:absolute;inset:0;background:transparent}.hero__wave{position:absolute;bottom:0;left:0;right:0;z-index:1}.hero__wave svg{display:block;width:100%;height:80px}.hero__content{position:relative;z-index:2;text-align:center;color:var(--color-text-white);padding:var(--space-4xl) var(--space-lg);max-width:800px}.hero__badge{display:inline-block;margin-bottom:var(--space-lg);margin-top:var(--space-3xl)}.hero__badge span{display:inline-block;padding:var(--space-xs) var(--space-md);background:#d4a04d4d;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hero__logo{width:250px;height:auto;margin:0 auto var(--space-lg);animation:float 6s ease-in-out infinite}.hero__logo img{width:100%;height:auto}.hero__title{font-family:var(--font-heading);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:400;line-height:1.1;margin-bottom:var(--space-md);letter-spacing:.05em;color:var(--color-text-white)}.hero__title-accent{display:block;font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:.6em;letter-spacing:.15em;margin-top:var(--space-xs);opacity:.9;color:var(--color-text-white)}.hero__description{font-size:1.1rem;line-height:1.8;opacity:.85;max-width:500px;margin:0 auto var(--space-xl);color:var(--color-text-white)}.hero__actions{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.hero__actions .btn{min-width:160px}.hero__scroll-indicator{margin-top:var(--space-3xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:var(--color-text-white);opacity:.6;animation:float 3s ease-in-out infinite}.hero__scroll-indicator span{font-size:.7rem;letter-spacing:.2em}.hero__scroll-indicator svg{width:24px;height:24px}@media(max-width:768px){.hero__content{padding:var(--space-3xl) var(--space-md)}.hero__description{font-size:1rem}.hero__scroll-indicator{margin-top:var(--space-xl)}.hero__wave svg{height:50px}}@media(max-width:480px){.hero__actions{flex-direction:column;align-items:center}.hero__actions .btn{width:100%;max-width:280px}}.about{background:var(--color-light)}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:4rem}.about__image-wrapper{position:relative}.about__image{width:100%;height:500px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.about__floating-badge{position:absolute;bottom:-30px;right:-30px;width:140px;height:140px;background:var(--gradient-ocean);border-radius:var(--radius-full);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;box-shadow:var(--shadow-xl);animation:pulse 3s ease-in-out infinite}.about__badge-number{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;line-height:1}.about__badge-text{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;margin-top:.25rem}.about__content{padding:2rem 0}.about__content .badge{display:inline-block;padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:50px;margin-bottom:1.5rem}.about__title{font-size:2.75rem;margin-bottom:0;line-height:1.2;color:var(--color-text)}.italian-separator{width:60px;height:4px;background:var(--gradient-italian);margin:1.5rem 0;border-radius:2px}.about__text{font-size:1.0625rem;line-height:1.8;color:var(--color-text-light);margin-bottom:1.25rem}.about__text strong{color:var(--color-primary)}.about__features{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.about__features .feature-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-lg);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal)}.about__features .feature-box:hover{transform:translateY(-8px)}.about__features .feature-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:1.5rem;margin-bottom:var(--space-md)}.about__features .feature-box h4{font-size:1.125rem;margin-bottom:.75rem;color:var(--color-text)}.about__features .feature-box p{font-size:.9375rem;color:var(--color-text-muted);margin:0}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(max-width:992px){.about__grid{grid-template-columns:1fr;gap:3rem}.about__floating-badge{bottom:-20px;right:20px;width:120px;height:120px}.about__badge-number{font-size:2rem}.about__features{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.about__title{font-size:2rem}.about__image{height:350px}}.piazza.section{padding:var(--space-4xl) 0}.piazza__header{text-align:center;margin-bottom:4rem;display:flex;flex-direction:column;align-items:center}.piazza__main-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);color:var(--color-text);margin-bottom:1.5rem;font-style:italic}.piazza .italian-separator{width:60px;height:3px;background:var(--gradient-italian);border-radius:2px;margin:0 auto}.piazza__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:5rem;align-items:center}.piazza__text-col{display:flex;flex-direction:column;gap:2rem}.piazza__desc{font-size:1.25rem;line-height:1.6;color:var(--color-text)}.piazza__desc--highlight{font-size:1.35rem;font-family:var(--font-heading)}.text-primary-dark{color:var(--color-primary-dark);font-weight:700;font-style:italic;font-size:1.5rem;display:block;margin-top:.5rem}.piazza__cards-col{display:flex;flex-direction:column;gap:1.5rem}.piazza__card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;border:1px solid rgba(62,43,38,.1);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#ffffff80}.piazza__card:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.piazza__card-icon{font-size:1.5rem;color:var(--color-primary);width:40px;height:40px;display:flex;align-items:center;justify-content:center}.piazza__card-content{display:flex;flex-direction:column;gap:.25rem}.piazza__card-content h4{font-family:var(--font-heading);font-size:1.25rem;margin:0;color:var(--color-text)}.piazza__card-content span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.piazza__bottom{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.piazza__bottom .italian-separator{width:40px;margin-bottom:1.5rem;opacity:.7}.piazza__brand{font-family:var(--font-heading);font-size:3rem;color:var(--color-text);margin:0;letter-spacing:.05em}.piazza__tagline{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-primary);font-style:italic;font-weight:400;margin-bottom:1.5rem}.piazza__footer-text{font-size:1rem;color:var(--color-text);line-height:1.6}.piazza__footer-text p{margin:.25rem 0}.font-bold{font-weight:600}@media(max-width:992px){.piazza__grid{grid-template-columns:1fr;gap:3rem}.piazza__text-col{text-align:center}}@media(max-width:768px){.piazza__main-title{font-size:2rem}.piazza__brand{font-size:2.5rem}}.manifesto{background:var(--color-cream)}.manifesto__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.manifesto__content{padding-right:2rem}.manifesto__content .badge{display:inline-block;padding:.5rem 1.25rem;background:transparent;border:1px solid var(--color-primary);color:var(--color-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:50px;margin-bottom:1.5rem}.manifesto__title{font-size:2.75rem;margin-bottom:0;line-height:1.2;color:var(--color-text)}.manifesto__text{font-size:1.0625rem;line-height:1.8;color:var(--color-text-light);margin-bottom:1.25rem}.manifesto__text--accent{font-style:italic;color:var(--color-primary);font-weight:500}.manifesto__image-wrapper{position:relative}.manifesto__image{width:100%;height:500px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}@media(max-width:992px){.manifesto__grid{grid-template-columns:1fr;gap:3rem}.manifesto__content{padding-right:0;order:2}.manifesto__image-wrapper{order:1}}@media(max-width:768px){.manifesto__title{font-size:2rem}.manifesto__image{height:350px}}.quality{background:var(--color-light)}.quality__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.quality__image-wrapper{position:relative}.quality__image{width:100%;height:500px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.quality__floating-badge{position:absolute;bottom:-20px;left:-20px;background:#fff;padding:1rem 1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.quality__badge-heart{font-size:1.25rem;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.quality__content{padding-left:2rem}.quality__content .badge{display:inline-block;padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:50px;margin-bottom:1.5rem}.quality__title{font-size:2.75rem;margin-bottom:0;line-height:1.2;color:var(--color-text)}.quality__intro{font-size:1.0625rem;line-height:1.8;color:var(--color-text-light);margin-bottom:2rem}.quality__list{list-style:none;padding:0;margin:0}.quality__list-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border);font-size:1rem;color:var(--color-text-light)}.quality__list-item:last-child{border-bottom:none}.quality__check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:.75rem;flex-shrink:0}@media(max-width:992px){.quality__grid{grid-template-columns:1fr;gap:3rem}.quality__content{padding-left:0}.quality__floating-badge{bottom:-15px;left:15px}}@media(max-width:768px){.quality__title{font-size:2rem}.quality__image{height:350px}}.cucina__header{max-width:600px;margin:0 auto var(--space-3xl)}.cucina__title{margin-bottom:var(--space-sm)}.cucina__intro{color:var(--color-text-light);line-height:1.8}.cucina__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-lg)}.service-card{background:var(--color-light)}.service-card__placeholder{width:100%;height:100%;min-height:200px;background:linear-gradient(135deg,var(--color-sand) 0%,var(--color-cream) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);gap:var(--space-sm)}.service-card__placeholder svg{width:48px;height:48px;opacity:1}.service-card__placeholder span{font-size:.75rem;opacity:.6;text-transform:uppercase;letter-spacing:.1em}.service-card__image{width:100%;height:100%;min-height:200px;object-fit:cover}.service-card .card-icon{bottom:-20px;width:44px;height:44px}.service-card .card-icon svg{width:22px;height:22px}.service-card__title{font-family:var(--font-heading);font-size:1.25rem;margin-bottom:var(--space-xs);margin-top:var(--space-sm)}.service-card__desc{font-size:.875rem;color:var(--color-text-light);line-height:1.6}@media(max-width:1024px){.cucina__grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.cucina__grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.gallery__header{max-width:600px;margin:0 auto var(--space-2xl)}.gallery__title{margin-bottom:var(--space-sm)}.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,200px);gap:var(--space-md)}.gallery__item{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}.gallery__item--large{grid-column:span 2;grid-row:span 2}.gallery__item--medium{grid-column:span 2}.gallery__item--small{grid-column:span 1}.gallery__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:var(--space-sm)}.gallery__placeholder svg{width:48px;height:48px;opacity:.4}.gallery__placeholder span{font-size:.875rem;opacity:.7;text-transform:uppercase;letter-spacing:.1em}.gallery__image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.gallery__item:hover .gallery__image{transform:scale(1.05)}.gallery__overlay{position:absolute;inset:0;background:#1a3a4ab3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.gallery__item:hover .gallery__overlay{opacity:1}.gallery__overlay-text{color:var(--color-text-white);font-family:var(--font-heading);font-size:1.25rem;letter-spacing:.05em;transform:translateY(10px);transition:transform var(--transition-normal)}.gallery__item:hover .gallery__overlay-text{transform:translateY(0)}@media(max-width:1024px){.gallery__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,180px)}.gallery__item--large{grid-column:span 2;grid-row:span 1}.gallery__item--medium{grid-column:span 1}}@media(max-width:600px){.gallery__grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery__item{aspect-ratio:4/3}.gallery__item--large,.gallery__item--medium,.gallery__item--small{grid-column:span 1;grid-row:span 1}}.testimonials{overflow:hidden}.testimonials__header{margin-bottom:3rem}.testimonials__header .badge{display:inline-block;padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:50px;margin-bottom:1rem}.testimonials__title{color:#fff;font-size:2.5rem;margin-bottom:1rem}.testimonials__header .italian-separator{width:60px;height:4px;background:var(--gradient-italian);margin:1.5rem auto;border-radius:2px}.testimonials__subtitle{color:#fffc;font-size:1rem;max-width:500px;margin:0 auto}.testimonials__wrapper{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.testimonials__arrow{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:2rem;cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;line-height:1}.testimonials__arrow:hover{background:#fff3;border-color:#fff6;transform:scale(1.05)}.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;flex:1}.testimonials__card{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:2rem;text-align:center;transition:var(--transition-normal)}.testimonials__card:hover{background:#ffffff1f;transform:translateY(-4px)}.testimonials__stars{color:gold;font-size:1.25rem;margin-bottom:1rem;letter-spacing:2px}.testimonials__text{color:#ffffffe6;font-size:.95rem;line-height:1.7;margin-bottom:1.5rem;font-style:italic}.testimonials__author{display:flex;align-items:center;justify-content:center;gap:.75rem}.testimonials__avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.testimonials__name{color:#fff;font-weight:500}.testimonials__dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.testimonials__dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;transition:var(--transition-fast)}.testimonials__dot--active{background:#fff;transform:scale(1.2)}.testimonials__dot:hover{background:#fff9}@media(max-width:992px){.testimonials__grid{grid-template-columns:repeat(2,1fr)}.testimonials__card:nth-child(3){display:none}}@media(max-width:768px){.testimonials__wrapper{flex-direction:column;gap:1rem}.testimonials__grid{grid-template-columns:1fr;width:100%}.testimonials__card:nth-child(2),.testimonials__card:nth-child(3){display:none}.testimonials__arrow{display:none}.testimonials__title{font-size:2rem}.testimonials__card{padding:1.5rem}}.contact.section{padding-bottom:0}.contact__header{text-align:center;margin-bottom:4rem;display:flex;flex-direction:column;align-items:center}.contact__header .badge{display:inline-block;padding:.75rem 2rem;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border-radius:50px;margin-bottom:1.5rem}.contact__title{color:#fff;font-size:clamp(2.5rem,5vw,4rem);font-family:var(--font-heading);margin-bottom:1.5rem;text-transform:uppercase;line-height:1}.contact .italian-separator{width:60px;height:4px;background:var(--gradient-italian);border-radius:2px}.contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:stretch;margin-bottom:4rem}.contact__details{display:flex;flex-direction:column;gap:1.5rem;justify-content:center}.contact__info-card{display:flex;align-items:center;gap:1.5rem;background:#ffffff14;padding:2rem;border-radius:var(--radius-xl);box-shadow:0 4px 20px #0000000d;transition:transform var(--transition-normal),box-shadow var(--transition-normal);border:1px solid rgba(255,255,255,.1)}.contact__info-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a;background:#ffffff1f}.contact__info-icon{width:60px;height:60px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0;color:var(--color-accent)}.contact__info-content{flex:1}.contact__info-content h4{color:#fff;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.contact__info-content p{color:#fffc;font-size:1.125rem;margin:0;line-height:1.5}.contact__info-content a{color:#fffc;transition:var(--transition-fast)}.contact__info-content a:hover{color:#fff}.contact__actions{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.contact__btn{width:100%;justify-content:center;padding:1.25rem;font-size:1rem;border-radius:var(--radius-lg);font-weight:700;letter-spacing:1px;text-transform:uppercase}.contact__btn.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary)}.contact__btn.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.contact__btn.btn-outline-dark{border-color:#ffffff4d;color:#fff;background:transparent;border-width:2px}.contact__btn.btn-outline-dark:hover{background-color:#fff;color:var(--color-primary-dark);border-color:#fff}.contact__map{border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 10px 40px #0003;height:100%;min-height:600px;background:#ffffff0d;padding:.5rem}.contact__map iframe{width:100%;height:100%;border-radius:var(--radius-lg);display:block}.footer{background:#0000004d;padding:4rem 0 2rem;margin-top:6rem;color:#fffc}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer__logo{height:100px;width:auto;margin-bottom:1.25rem}.footer__tagline{font-size:.9375rem;line-height:1.7;color:#ffffffb3;max-width:300px;margin:0}.footer__social{display:flex;gap:1rem;margin-top:1.5rem}.footer__social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#ffffffb3;transition:all .3s ease}.footer__social-link svg{width:20px;height:20px}.footer__social-link:hover{color:#fff;border-color:var(--color-primary);background:var(--color-primary);transform:translateY(-3px)}.footer__links h4,.footer__contact-info h4,.footer__hours h4{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem;color:#fff}.footer__links nav{display:flex;flex-direction:column;gap:.75rem}.footer__links button{background:none;border:none;color:#ffffffb3;font-size:.9375rem;text-align:left;cursor:pointer;padding:0;transition:var(--transition-fast)}.footer__links button:hover{color:#fff;padding-left:.5rem}.footer__contact-info address{font-style:normal}.footer__contact-info p{font-size:.9375rem;color:#ffffffb3;margin-bottom:.5rem}.footer__contact-info a{color:#ffffffb3;transition:var(--transition-fast)}.footer__contact-info a:hover{color:#fff}.footer__hours-list{display:flex;flex-direction:column;gap:.75rem}.footer__hours-row{display:flex;justify-content:space-between;font-size:.9375rem;color:#ffffffb3;gap:1rem}.footer__hours-period{font-size:.8125rem;color:#ffffff80;font-style:italic;margin-top:.25rem}.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;text-align:center}.footer__italian-flag{width:60px;height:4px;background:var(--gradient-italian);margin:0 auto 1.5rem;border-radius:2px}.footer__copyright{font-size:.875rem;color:#ffffff80;margin-bottom:.5rem}.footer__credits{font-size:.8125rem;color:#fff6;margin:0}.footer__credits a{color:#fff9;transition:var(--transition-fast)}.footer__credits a:hover{color:#fff}@media(max-width:992px){.contact__grid{grid-template-columns:1fr;gap:3rem}.contact__map{min-height:400px;order:-1}.footer__grid{grid-template-columns:1fr 1fr;gap:2rem}.footer__brand{grid-column:span 2}}@media(max-width:768px){.contact__title{font-size:2.5rem}.contact__info-card{padding:1.5rem}}@media(max-width:576px){.footer__grid{grid-template-columns:1fr}.footer__brand{grid-column:span 1;text-align:center}.footer__tagline{margin:0 auto}.footer__social{justify-content:center}.footer__links,.footer__contact-info,.footer__hours,.footer__links button{text-align:center}.footer__links button:hover{padding-left:0}.footer__hours-row{justify-content:center}}
