*,::after,::before{margin:0;padding:0;box-sizing:border-box}:root{--oro:#C9A55C;--oro-chiaro:#D4B76A;--oro-scuro:#A8864A;--nero:#1a1a1a;--nero-chiaro:#2a2a2a;--bianco:#ffffff;--grigio-chiaro:#f8f8f8;--grigio:#888888;--rosso:#e74c3c;--ombra:rgba(0, 0, 0, 0.1);--transizione:0.3s ease}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;background-color:var(--bianco);color:var(--nero);line-height:1.6;overflow-x:hidden}@keyframes fadeInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes revealText{from{opacity:0;transform:translateY(30px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}@keyframes zoomOut{from{transform:scale(1.2)}to{transform:scale(1)}}@keyframes float-decoration{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-50px,50px) rotate(180deg)}}@keyframes pulse-bg-reviews{0%,100%{opacity:1}50%{opacity:.5}}@keyframes float-circle{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(30px,-30px) rotate(180deg)}}@keyframes pulse-circle{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.2}}@keyframes slideInReviews{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-block;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;padding:16px 38px;border-radius:30px;text-decoration:none;transition:all var(--transizione);cursor:pointer;border:none}.btn--primary{background-color:var(--oro);color:var(--bianco)}.btn--primary:hover{background-color:var(--oro-scuro);transform:translateY(-2px);box-shadow:0 8px 25px rgba(201,165,92,.4)}.hero{display:flex;height:calc(100vh - 100px);margin-top:100px}.hero__image{flex:1;position:relative;overflow:hidden;animation:scaleIn 1.2s ease forwards}.hero__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;animation:zoomOut 1.5s ease forwards}.hero__image:hover img{transform:scale(1.05)}.hero__image-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px;background:linear-gradient(to top,rgba(0,0,0,.75) 0,transparent 100%);animation:fadeInUp 1s ease .5s forwards;opacity:0}.hero__image-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px, 3vw, 42px);font-weight:500;color:var(--bianco);line-height:1.2;text-transform:uppercase;letter-spacing:3px;animation:revealText .8s ease .8s forwards;opacity:0}.hero__content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:40px 50px;background-color:var(--grigio-chiaro);overflow-y:auto}.hero__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--oro);margin-bottom:12px;animation:fadeInLeft .6s ease .3s forwards;opacity:0}.hero__title{font-family:'Cormorant Garamond',serif;font-size:clamp(22px, 2.5vw, 32px);font-weight:500;color:var(--nero);line-height:1.25;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px;animation:revealText .8s ease .5s forwards;opacity:0}.hero__text{font-size:clamp(12px, 1.2vw, 14px);color:#555;line-height:1.7;margin-bottom:12px;animation:fadeInLeft .6s ease forwards;opacity:0}.hero__text:first-of-type{animation-delay:.7s}.hero__text:nth-of-type(2){animation-delay:.9s}.hero__text:nth-of-type(3){animation-delay:1.1s;margin-bottom:25px}.hero__content .btn{animation:scaleIn .6s ease 1.3s forwards;opacity:0;transform-origin:left center}.services-preview{display:flex;align-items:center;padding:70px;background-color:var(--bianco);gap:60px;position:relative;overflow:hidden}.services-preview::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(201,165,92,.05) 0,transparent 70%);border-radius:50%;animation:float-decoration 20s ease-in-out infinite;pointer-events:none}.services-preview__content{flex:1;position:relative;z-index:2}.services-preview__label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--oro);margin-bottom:15px;position:relative;padding-left:60px;opacity:0}.services-preview__label::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:45px;height:2px;background:linear-gradient(to right,var(--oro),transparent)}.services-preview__label.is-visible{animation:fadeInLeft .6s ease forwards}.services-preview__title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500;color:var(--nero);line-height:1.3;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px;opacity:0}.services-preview__title.is-visible{animation:revealText .8s ease .2s forwards}.services-preview__text{font-size:14px;color:#555;line-height:1.8;margin-bottom:25px;opacity:0}.services-preview__text.is-visible{animation:fadeInLeft .6s ease .4s forwards}.services-preview__content .btn{opacity:0;transform:scale(.9)}.services-preview__content .btn.is-visible{animation:scaleIn .6s ease .6s forwards}.services-preview__image{flex:1;border-radius:10px;overflow:hidden;opacity:0;transform:translateX(50px) rotate(2deg);transition:all .8s cubic-bezier(.4, 0, .2, 1);position:relative}.services-preview__image::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(201,165,92,.3) 0,transparent 60%);opacity:0;transition:opacity .5s ease;z-index:1;pointer-events:none}.services-preview__image:hover::before{opacity:0}.services-preview__image.is-visible{opacity:1;transform:translateX(0) rotate(0)}.services-preview__image img{width:100%;height:320px;object-fit:cover;transition:transform .8s ease}.services-preview__image:hover img{transform:none}.reviews{position:relative;padding:50px;background:linear-gradient(135deg,var(--nero) 0,#0d0d0d 100%);text-align:center;overflow:hidden;min-height:auto}.reviews__bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(70px, 15vw, 180px);font-weight:600;color:rgba(255,255,255,.02);text-transform:uppercase;letter-spacing:20px;white-space:nowrap;pointer-events:none;animation:pulse-bg-reviews 4s ease-in-out infinite;z-index:0}.reviews__decoration{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.reviews__circle{position:absolute;border-radius:50%;border:1px solid rgba(201,165,92,.1)}.reviews__circle--1{width:350px;height:350px;top:-120px;right:-80px;animation:float-circle 20s ease-in-out infinite}.reviews__circle--2{width:250px;height:250px;bottom:-80px;left:-60px;animation:float-circle 15s ease-in-out infinite reverse}.reviews__circle--3{width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse-circle 10s ease-in-out infinite}.reviews__header{position:relative;z-index:2;margin-bottom:25px;opacity:0;transform:translateY(30px);transition:all .8s ease}.reviews__header.is-visible{opacity:1;transform:translateY(0)}.reviews__label{display:block;font-family:Montserrat,sans-serif;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:4px;color:var(--oro);margin-bottom:10px}.reviews__title{margin-bottom:8px}.reviews__title-line{display:block;font-family:'Cormorant Garamond',serif;font-weight:500;text-transform:uppercase;letter-spacing:3px;color:var(--bianco)}.reviews__title-line--1{font-size:clamp(22px, 4vw, 32px);opacity:.7;animation:slideInReviews 1s ease forwards}.reviews__title-line--2{font-size:clamp(32px, 6vw, 46px);color:var(--oro);animation:slideInReviews 1s ease .2s forwards}.reviews__subtitle{font-family:Montserrat,sans-serif;font-size:13px;font-weight:400;color:rgba(255,255,255,.7);line-height:1.6}.reviews__container{position:relative;max-width:800px;margin:0 auto 20px;z-index:2}.reviews__slider{position:relative;display:flex;align-items:center;justify-content:center}.review-card{position:absolute;top:0;left:0;right:0;width:100%;max-width:600px;background:linear-gradient(135deg,rgba(26,26,26,.8) 0,rgba(42,42,42,.6) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(201,165,92,.2);border-radius:16px;padding:20px 30px;box-shadow:0 10px 40px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:all .5s cubic-bezier(.4, 0, .2, 1)}.review-card--active{opacity:1;pointer-events:auto;z-index:2;position:relative}.review-card__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.review-card__avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--oro) 0,var(--oro-scuro) 100%);display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;color:var(--bianco);flex-shrink:0}.review-card__info{flex:1}.review-card__name{display:block;font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;color:var(--bianco);margin-bottom:4px}.review-card__rating{display:flex;align-items:center;gap:8px}.review-card__stars{color:var(--oro);font-size:13px;letter-spacing:1px}.review-card__score{font-family:Montserrat,sans-serif;font-size:11px;color:rgba(255,255,255,.6)}.review-card__google{height:18px;width:auto;opacity:.8}.review-card__text{font-family:Montserrat,sans-serif;font-size:13px;font-weight:400;color:rgba(255,255,255,.85);line-height:1.5;margin-bottom:10px;font-style:italic;border:none;padding:0}.review-card__date{display:block;font-family:Montserrat,sans-serif;font-size:11px;color:rgba(255,255,255,.5);text-align:right}.review-card__header{text-align:left}.review-card__name{text-align:left}.review-card__rating{justify-content:flex-start}.reviews__nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;background:rgba(201,165,92,.1);border:1px solid rgba(201,165,92,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:3}.reviews__nav:hover{background:var(--oro);border-color:var(--oro);transform:translateY(-50%) scale(1.1)}.reviews__nav svg{width:22px;height:22px;fill:rgba(255,255,255,0.8);transition:fill .3s ease}.reviews__nav:hover svg{fill:var(--nero)}.reviews__nav--prev{left:-55px}.reviews__nav--next{right:-55px}.reviews__dots{display:flex;justify-content:center;gap:7px;margin-bottom:25px;position:relative;z-index:2}.reviews__dot{width:7px;height:7px;border-radius:50%;background:rgba(201,165,92,.3);cursor:pointer;transition:all .3s ease;border:none;padding:0}.reviews__dot:hover{background:rgba(201,165,92,.6);transform:scale(1.2)}.reviews__dot--active{background:var(--oro);width:22px;border-radius:4px}.reviews__btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;background:linear-gradient(135deg,var(--oro) 0,var(--oro-scuro) 100%);border:none;border-radius:50px;text-decoration:none;position:relative;overflow:hidden;transition:all .4s ease;z-index:2}.reviews__btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.reviews__btn:hover::before{left:100%}.reviews__btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px rgba(201,165,92,.4)}.reviews__btn-text{font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--nero)}.reviews__btn-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.reviews__btn-icon svg{width:16px;height:16px;fill:var(--nero)}.reviews__btn:hover .reviews__btn-icon{transform:translateX(5px)}.gallery{display:flex;align-items:stretch;background-color:var(--grigio-chiaro);position:relative;overflow:hidden}.gallery::after{content:'';position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(201,165,92,.04) 0,transparent 70%);border-radius:50%;animation:float-decoration 25s ease-in-out infinite reverse;pointer-events:none}.gallery__images{flex:1.2;display:flex}.gallery__image{flex:1;overflow:hidden;opacity:0;transform:translateY(40px) scale(.95);transition:all 1s cubic-bezier(.4, 0, .2, 1);position:relative;margin:0}.gallery__image::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(201,165,92,.2) 0,transparent 50%);opacity:0;transition:opacity .6s ease;z-index:1;pointer-events:none}.gallery__image:hover::before{opacity:0}.gallery__image.is-visible{opacity:1;transform:translateY(0) scale(1)}.gallery__image:nth-child(2){transition-delay:0.2s}.gallery__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4, 0, .2, 1)}.gallery__image:hover img{transform:none}.gallery__content{flex:1;padding:70px 55px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.gallery__label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--grigio);margin-bottom:12px;opacity:0}.gallery__label.is-visible{animation:fadeInRight .6s ease forwards}.gallery__title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500;color:var(--nero);line-height:1.3;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px;opacity:0}.gallery__title.is-visible{animation:revealText .8s ease .2s forwards}.gallery__text{font-size:14px;color:#555;line-height:1.8;margin-bottom:12px;opacity:0}.gallery__text:first-of-type.is-visible{animation:fadeInRight .6s ease .4s forwards}.gallery__text:nth-of-type(2).is-visible{animation:fadeInRight .6s ease .5s forwards}.gallery__text:nth-of-type(3).is-visible{animation:fadeInRight .6s ease .6s forwards;margin-bottom:25px}.gallery__content .btn{opacity:0;transform:scale(.9)}.gallery__content .btn.is-visible{animation:scaleIn .6s ease .8s forwards}.whatsapp-float{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:999;transition:all .3s ease}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 25px rgba(37,211,102,.5)}.whatsapp-float svg{width:30px;height:30px;fill:white}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.skip-link{position:absolute;top:-40px;left:0;background:var(--oro);color:var(--nero);padding:8px 16px;z-index:10000;transition:top .3s ease}.skip-link:focus{top:0}a:focus-visible,button:focus-visible{outline:2px solid var(--oro);outline-offset:2px}