:root{--ink:#09262c;--deep:#07343a;--deep-2:#05272e;--aqua:#12cbc5;--aqua-soft:#ddf8f4;--leaf:#43dd3b;--leaf-soft:#e8fbe5;--whatsapp:#25d366;--whatsapp-dark:#087a3d;--cream:#f3f8f5;--white:#fff;--muted:#5c7373;--line:#d5e3df;--radius:24px;--shadow:0 20px 60px rgba(5,52,58,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,76px);color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:54px;height:54px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-3px;font-size:19px}.brand-mark span{color:var(--aqua);margin:0 2px}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font:700 16px Manrope,sans-serif}.brand-copy small{margin-top:4px;font-size:12px;color:rgba(255,255,255,.7)}.site-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.site-nav a{opacity:.8;transition:.2s}.site-nav a:hover{opacity:1}.site-nav .nav-cta{opacity:1;border:1px solid rgba(255,255,255,.45);padding:10px 17px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:#fff;margin:5px}
.brand-logo{display:block;width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 5px 14px rgba(0,0,0,.2))}.brand-location{font-size:12px;color:rgba(255,255,255,.78);border-left:1px solid rgba(255,255,255,.35);padding-left:14px;white-space:nowrap}
.hero{position:relative;min-height:790px;height:100svh;max-height:980px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:url("assets/patio-amplio.webp") center 42%/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,29,.9) 0%,rgba(3,24,29,.52) 52%,rgba(3,24,29,.14) 100%),linear-gradient(0deg,rgba(3,24,29,.68),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(740px,85%);margin-left:clamp(24px,8vw,130px);padding-bottom:70px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:700;color:var(--aqua);margin:0 0 16px}.eyebrow.dark{color:#168f92}.hero h1{font:800 clamp(44px,6.4vw,88px)/.98 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 28px}.hero-lead{font-size:clamp(17px,2vw,21px);line-height:1.55;color:rgba(255,255,255,.82);max-width:640px;margin:0 0 36px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--aqua);color:#06292f}.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(0,0,0,.08);backdrop-filter:blur(10px)}.btn-dark{background:var(--ink);color:#fff}.hero-stats{position:absolute;z-index:2;bottom:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(155px,1fr));background:rgba(255,255,255,.96);color:var(--ink);border-radius:26px 0 0 0;overflow:hidden}.hero-stats div{padding:25px 34px;border-right:1px solid var(--line)}.hero-stats div:last-child{border:0}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font:700 17px Manrope,sans-serif}.hero-stats span{font-size:12px;color:var(--muted);margin-top:3px}
.section{padding:110px clamp(24px,7vw,110px)}.intro{display:grid;grid-template-columns:1.1fr .8fr;gap:10vw;align-items:end;background:#fff}.section-heading h2,.feature-panel h2,.video-copy h2,.quote-copy h2,.location h2{font:700 clamp(35px,4.5vw,62px)/1.08 Manrope,sans-serif;letter-spacing:-.045em;margin:0}.intro-copy{padding-bottom:5px}.intro-copy p{font-size:19px;color:var(--muted);margin:0 0 27px}.text-link,.text-button{color:var(--ink);font-weight:700;border:0;background:none;padding:0;cursor:pointer}.text-link span,.text-button span{color:#159b9d;margin-left:8px}
.feature-split{display:grid;grid-template-columns:1.08fr .92fr;min-height:700px;background:var(--deep);color:#fff}.feature-image{min-height:600px;overflow:hidden}.feature-image img{height:100%;object-fit:cover}.feature-panel{padding:clamp(60px,9vw,130px);display:flex;flex-direction:column;justify-content:center}.feature-panel p:not(.eyebrow){font-size:18px;color:rgba(255,255,255,.72);margin:26px 0}.check-list{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:4px 0}.check-list li{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 13px;font-size:13px}
.amenities{background:var(--cream)}.section-heading.narrow{max-width:770px}.heading-copy{font-size:18px;color:var(--muted);margin-top:20px}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:68px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.amenity-grid article{background:#fff;padding:36px;min-height:225px}.amenity-grid span{display:block;color:#159b9d;font:700 12px Manrope,sans-serif;margin-bottom:32px}.amenity-grid h3{font:700 20px Manrope,sans-serif;margin:0 0 10px}.amenity-grid p{margin:0;color:var(--muted);font-size:15px}
.gallery{background:#fff}.gallery-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.gallery-grid{height:740px;display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}.gallery-item{padding:0;border:0;overflow:hidden;cursor:zoom-in;background:#ddd;border-radius:14px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 1}.gallery-item img{height:100%;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.035)}.hidden-gallery{display:none}
.video-section{background:var(--deep);color:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:center}.video-copy{position:sticky;top:100px}.video-copy p:not(.eyebrow){color:rgba(255,255,255,.67);font-size:18px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.video-grid video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;background:#04191e}
.pricing{background:var(--cream)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;display:flex;flex-direction:column}.price-card.featured{background:var(--deep);color:#fff;border-color:var(--deep);transform:translateY(-14px);box-shadow:var(--shadow)}.price-label{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;color:#159b9d;margin:0 0 15px}.price-card h3{font:700 21px Manrope,sans-serif;margin:0}.price{font:800 47px Manrope,sans-serif;letter-spacing:-.05em;margin:26px 0}.price sup{font-size:18px;vertical-align:top;position:relative;top:10px;margin-right:3px}.price-card ul{list-style:none;padding:0;margin:0 0 32px;flex:1;color:var(--muted)}.featured ul{color:rgba(255,255,255,.7)}.price-card li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.featured li{border-color:rgba(255,255,255,.12)}.booking-note{display:flex;align-items:center;justify-content:center;gap:24px;margin:36px auto 0;padding:20px 28px;background:var(--aqua-soft);border-radius:16px;max-width:760px}.booking-note strong{font:700 16px Manrope,sans-serif}.booking-note span{color:var(--muted);font-size:14px}
.trust-band{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;padding:45px clamp(24px,7vw,110px);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-band>div{display:flex;align-items:center;gap:15px}.trust-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--aqua-soft);color:#087d80;font-weight:800}.trust-band p{display:grid;margin:0}.trust-band strong{font:700 15px Manrope,sans-serif}.trust-band small{color:var(--muted)}
.quote-section{background:var(--deep);color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;align-items:start}.quote-copy{position:sticky;top:120px}.quote-copy p:not(.eyebrow){color:rgba(255,255,255,.66);font-size:18px}.phone-link{font:700 20px Manrope,sans-serif;color:var(--aqua);display:inline-block;margin-top:15px}.quote-form{background:#fff;color:var(--ink);border-radius:var(--radius);padding:clamp(25px,5vw,54px);display:grid;gap:21px}.quote-form label{font-weight:700;font-size:14px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:14px 15px;background:#f8faf9;color:var(--ink);outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#159b9d;box-shadow:0 0 0 3px rgba(53,209,207,.18)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.submit-btn{border:0;cursor:pointer;width:100%;margin-top:4px}.submit-btn span{margin-left:8px}.form-fine{font-size:12px;color:var(--muted);margin:0;text-align:center}
.location{display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;padding-bottom:0}.location-card{padding:40px 8vw 110px 0}.location-card p:not(.eyebrow){font-size:18px;color:var(--muted);margin:24px 0 32px}.location-image{min-height:520px;border-radius:24px 24px 0 0;overflow:hidden}.location-image img{height:100%;object-fit:cover}
footer{background:#061c21;color:#fff;padding:70px clamp(24px,7vw,110px) 26px;display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:50px;position:relative}.footer-brand{display:flex;gap:16px;align-items:center}.footer-brand strong{font:700 18px Manrope,sans-serif}.footer-brand p,.footer-contact p{margin:4px 0 0;color:rgba(255,255,255,.55);font-size:14px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px;color:rgba(255,255,255,.7)}.footer-contact{text-align:right}.footer-contact a{font:700 19px Manrope,sans-serif;color:var(--aqua)}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin:18px 0 0;color:rgba(255,255,255,.42);font-size:12px}.whatsapp-float{position:fixed;z-index:15;right:22px;bottom:20px;background:var(--aqua);color:#062a30;padding:13px 17px;border-radius:999px;display:flex;align-items:center;gap:12px;font-weight:800;box-shadow:0 10px 35px rgba(2,23,28,.25)}.whatsapp-float b{font-size:17px}
.footer-logo{width:112px;height:112px;object-fit:contain;flex:none}.footer-brand{align-items:center;flex-wrap:wrap}.footer-brand>p{width:100%;margin-top:-8px}
.lightbox{border:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(3,18,22,.96);overflow:hidden}.lightbox::backdrop{background:rgba(3,18,22,.96)}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:min(82vw,900px);max-height:84vh;width:auto;border-radius:12px}.lightbox button{position:fixed;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer}.lightbox-close{right:24px;top:24px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}.lightbox-count{position:fixed;bottom:15px;color:#fff;font-size:13px}
@media(max-width:900px){.site-header{padding:18px 22px}.site-nav{position:fixed;inset:0;background:var(--deep);flex-direction:column;justify-content:center;font-size:22px;transform:translateX(100%);transition:.3s}.site-nav.open{transform:none}.menu-toggle{display:block;position:relative;z-index:2}.hero{min-height:760px}.hero-content{margin-left:24px;padding-bottom:120px}.hero-stats{left:18px;right:18px;border-radius:18px;grid-template-columns:repeat(3,1fr)}.hero-stats div{padding:17px 10px;text-align:center}.hero-stats strong{font-size:14px}.hero-stats span{font-size:10px}.intro,.feature-split,.video-section,.quote-section,.location{grid-template-columns:1fr}.intro{gap:35px}.feature-image{min-height:520px}.amenity-grid{grid-template-columns:1fr 1fr}.gallery-grid{height:820px;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr 1fr 1fr}.gallery-item.tall{grid-row:span 1;grid-column:span 2}.video-copy,.quote-copy{position:static}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.trust-band{grid-template-columns:1fr}.location-card{padding-right:0}.location-image{min-height:460px}footer{grid-template-columns:1fr 1fr}.footer-contact{text-align:left}.copyright{grid-column:1/-1}}
@media(max-width:900px){.brand-logo{width:76px;height:76px}.brand-location{display:none}}
@media(max-width:600px){.brand-copy{display:none}.section{padding:82px 20px}.hero h1{font-size:45px}.hero-lead{font-size:17px}.hero-actions .btn{width:100%}.intro-copy p{font-size:17px}.feature-split{display:flex;flex-direction:column}.feature-image{min-height:430px}.feature-panel{padding:70px 22px}.amenity-grid{grid-template-columns:1fr;margin-top:45px}.amenity-grid article{min-height:auto}.gallery-title{align-items:start;flex-direction:column}.gallery-grid{height:660px}.video-grid{grid-template-columns:1fr 1fr;gap:8px}.video-grid video{border-radius:12px}.pricing-grid{margin-top:40px}.booking-note{align-items:flex-start;flex-direction:column;gap:3px}.form-row{grid-template-columns:1fr}.location{padding-bottom:0}.location-image{min-height:380px}footer{grid-template-columns:1fr}.footer-contact{text-align:left}.footer-links{margin-top:5px}.whatsapp-float span{display:none}.whatsapp-float{width:52px;height:52px;justify-content:center}.lightbox img{max-width:92vw}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:12px;top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* WhatsApp-first reservation experience */
.site-nav .nav-whatsapp{opacity:1;background:var(--whatsapp);border-color:var(--whatsapp);color:#052d18;box-shadow:0 8px 24px rgba(37,211,102,.22)}
.btn{gap:10px;transition:transform .2s,background .2s,box-shadow .2s}
.btn-whatsapp{background:var(--whatsapp);color:#052d18;box-shadow:0 12px 30px rgba(37,211,102,.23)}
.btn-whatsapp:hover{background:#35df73;box-shadow:0 15px 35px rgba(37,211,102,.3)}
.wa-dot{width:10px;height:10px;border:2px solid currentColor;border-radius:50%;position:relative;display:inline-block}
.wa-dot::after{content:"";position:absolute;width:4px;height:4px;border-left:2px solid currentColor;bottom:-3px;left:-2px;transform:rotate(-25deg)}
.whatsapp-float{background:var(--whatsapp);color:#052d18;padding:10px 16px 10px 10px;gap:10px;box-shadow:0 12px 35px rgba(5,45,24,.3);transition:transform .2s,box-shadow .2s}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(5,45,24,.35)}
.wa-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--whatsapp-dark);font-size:16px}
*:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}
@media(max-width:600px){.whatsapp-float .wa-label,.whatsapp-float b{display:none}.whatsapp-float{width:56px;height:56px;padding:0;justify-content:center}.whatsapp-float .wa-icon{display:grid;width:40px;height:40px}}

/* Unified A&D brand palette */
.eyebrow{color:#4ce5dc}.eyebrow.dark,.amenity-grid span,.text-link span,.text-button span{color:#079c98}
.btn-primary{background:linear-gradient(135deg,var(--aqua),var(--leaf));color:#052b2d;box-shadow:0 10px 26px rgba(18,203,197,.18)}
.btn-primary:hover{background:linear-gradient(135deg,#28ddd6,#58e650)}
.hero-shade{background:linear-gradient(90deg,rgba(3,34,39,.92) 0%,rgba(3,34,39,.56) 52%,rgba(3,34,39,.16) 100%),linear-gradient(0deg,rgba(3,34,39,.7),transparent 45%)}
.feature-panel,.video-section,.quote-section{background:linear-gradient(145deg,var(--deep),var(--deep-2))}
.amenity-grid article{border-top:3px solid transparent;transition:border-color .25s,transform .25s}.amenity-grid article:hover{border-top-color:var(--leaf);transform:translateY(-3px)}
.price-card.featured{background:linear-gradient(155deg,var(--deep),#07545a);border-color:#07545a}
.booking-note{background:linear-gradient(105deg,var(--aqua-soft),var(--leaf-soft));border:1px solid rgba(18,203,197,.15)}
.trust-icon{background:linear-gradient(135deg,var(--aqua-soft),var(--leaf-soft));color:#087e72}
.phone-link,.footer-contact a{color:#45dfd6}

/* Cinematic motion system */
body{overflow-x:hidden}
.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:4px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--aqua),var(--leaf));box-shadow:0 0 18px rgba(18,203,197,.65);pointer-events:none}
.site-header{transition:padding .35s ease,background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.site-header.scrolled{position:fixed;padding-top:10px;padding-bottom:10px;background:rgba(5,39,46,.82);backdrop-filter:blur(18px) saturate(145%);box-shadow:0 12px 35px rgba(3,24,29,.18)}
.site-header.scrolled .brand-logo{width:58px;height:58px}
.brand-logo{transition:width .35s ease,height .35s ease,transform .4s ease}.brand:hover .brand-logo{transform:rotate(-3deg) scale(1.04)}
.hero::after{content:"";position:absolute;z-index:1;width:46vw;height:46vw;max-width:680px;max-height:680px;right:-18vw;top:-16vw;border-radius:50%;background:radial-gradient(circle,rgba(18,203,197,.28),rgba(67,221,59,.06) 48%,transparent 72%);filter:blur(8px);animation:heroGlow 7s ease-in-out infinite alternate;pointer-events:none}
.hero-media{animation:heroCinema 18s ease-in-out infinite alternate;will-change:transform}
.site-header,.hero-content>* ,.hero-stats{opacity:0}.hero-content>*,.hero-stats{transform:translateY(32px)}.page-ready .site-header{animation:enterDown .8s .08s cubic-bezier(.2,.8,.2,1) forwards}.page-ready .hero-content>*{animation:enterUp .9s cubic-bezier(.2,.8,.2,1) forwards}.page-ready .hero-content .eyebrow{animation-delay:.18s}.page-ready .hero-content h1{animation-delay:.3s}.page-ready .hero-content .hero-lead{animation-delay:.44s}.page-ready .hero-content .hero-actions{animation-delay:.58s}.page-ready .hero-stats{animation:enterUp .85s .72s cubic-bezier(.2,.8,.2,1) forwards}
.hero h1{background:linear-gradient(105deg,#fff 8%,#fff 38%,#7ff6e9 50%,#fff 62%,#fff 92%);background-size:220% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation-name:enterUp,headlineShine!important;animation-duration:.9s,7s!important;animation-delay:.3s,1.6s!important;animation-fill-mode:forwards!important;animation-iteration-count:1,infinite!important}
.reveal{opacity:0;transform:translateY(48px) scale(.985);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--delay,0ms);will-change:opacity,transform}.reveal.reveal-left{transform:translateX(-54px)}.reveal.reveal-right{transform:translateX(54px)}.reveal.is-visible{opacity:1;transform:none}
.price-card.featured.reveal.is-visible{transform:translateY(-14px)}
.amenity-grid article,.price-card,.trust-band>div{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .25s}.amenity-grid article:hover,.price-card:hover{transform:translateY(-10px);box-shadow:0 22px 50px rgba(5,52,58,.13)}.price-card.featured:hover{transform:translateY(-22px)}
.gallery-item{position:relative;isolation:isolate}.gallery-item::after{content:"";position:absolute;inset:-60%;z-index:1;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.3) 50%,transparent 58%);transform:translateX(-55%) rotate(8deg);transition:transform .75s ease;pointer-events:none}.gallery-item:hover::after{transform:translateX(55%) rotate(8deg)}.gallery-item img{transform:scale(1.01);will-change:transform}.gallery-item:hover img{transform:scale(1.075)}
.feature-image img,.location-image img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.feature-image:hover img,.location-image:hover img{transform:scale(1.045)}
.trust-icon{animation:iconFloat 3.2s ease-in-out infinite}.trust-band>div:nth-child(2) .trust-icon{animation-delay:.35s}.trust-band>div:nth-child(3) .trust-icon{animation-delay:.7s}
.btn{--mag-x:0px;--mag-y:0px;transform:translate(var(--mag-x),var(--mag-y));will-change:transform}.btn:hover{transform:translate(var(--mag-x),calc(var(--mag-y) - 3px))}.btn-whatsapp{position:relative;overflow:hidden}.btn-whatsapp::after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:1px solid rgba(255,255,255,.55);opacity:0;animation:ctaPulse 2.8s ease-out infinite}
.whatsapp-float{animation:floatWhatsapp 3.5s ease-in-out infinite}
.lightbox[open] img{animation:lightboxIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes enterUp{to{opacity:1;transform:translateY(0)}}
@keyframes enterDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}
@keyframes heroCinema{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.11) translate3d(-1.5%,1%,0)}}
@keyframes heroGlow{to{transform:translate(-8%,12%) scale(1.12);opacity:.7}}
@keyframes headlineShine{0%,72%{background-position:130% center}100%{background-position:-120% center}}
@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ctaPulse{0%{opacity:.55;transform:scale(.96)}75%,100%{opacity:0;transform:scale(1.18)}}
@keyframes floatWhatsapp{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes lightboxIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@media(max-width:900px){.site-header.scrolled{padding:8px 18px}.site-header.scrolled .brand-logo{width:52px;height:52px}.price-card.featured.reveal.is-visible{transform:none}.price-card.featured:hover{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.hero-media,.hero::after,.trust-icon,.whatsapp-float,.btn-whatsapp::after{animation:none!important}.site-header,.hero-content>*,.hero-stats,.reveal{opacity:1!important;transform:none!important}.hero h1{color:#fff!important;background:none!important}.scroll-progress{display:none}}

/* Extravagant immersive motion layer */
.intro-curtain{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:repeat(3,1fr);pointer-events:none;overflow:hidden}.intro-curtain__panel{background:#052f38;transform-origin:top;animation:curtainExit 1.05s .55s cubic-bezier(.77,0,.18,1) forwards}.intro-curtain__panel:nth-child(2){background:#08756f;animation-delay:.66s}.intro-curtain__panel:nth-child(3){background:#35d159;animation-delay:.77s}.intro-curtain__mark{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#fff;font:800 clamp(28px,6vw,76px)/1 Manrope,sans-serif;letter-spacing:-.055em;text-shadow:0 12px 42px rgba(0,0,0,.28);animation:curtainMark 1.05s .08s cubic-bezier(.2,.8,.2,1) both}.intro-curtain__mark::after{content:"BELLA UNIÓN · ARTEAGA";position:absolute;margin-top:clamp(68px,10vw,128px);font:700 10px DM Sans,sans-serif;letter-spacing:.34em;color:#9dfff5}
.cursor-aura{position:fixed;z-index:90;left:0;top:0;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(57,235,220,.17),rgba(53,209,89,.055) 42%,transparent 70%);mix-blend-mode:screen;filter:blur(4px);transform:translate3d(-50%,-50%,0);pointer-events:none;opacity:0;transition:opacity .3s ease;will-change:transform}.cursor-aura.active{opacity:1}.cursor-spark{position:fixed;z-index:91;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#fff,var(--aqua),var(--leaf));box-shadow:0 0 16px var(--aqua);pointer-events:none;animation:sparkBurst .75s cubic-bezier(.1,.7,.2,1) forwards}
.hero{perspective:1100px}.hero::before{content:"";position:absolute;z-index:1;left:50%;top:48%;width:min(70vw,820px);aspect-ratio:1;border:1px solid rgba(111,255,239,.16);border-radius:50%;transform:translate(-50%,-50%) rotateX(66deg);box-shadow:0 0 80px rgba(18,203,197,.12),inset 0 0 70px rgba(18,203,197,.08);animation:energyRing 10s linear infinite;pointer-events:none}.hero-media{transform-origin:center;filter:saturate(1.07) contrast(1.03)}.hero-shade{transition:background-position .2s linear;background-size:115% 115%;background-position:calc(50% + var(--hero-shade-x,0px)) calc(50% + var(--hero-shade-y,0px))}.hero-content{transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0);transition:transform .24s cubic-bezier(.2,.8,.2,1);will-change:transform}.hero-stats{transform-style:preserve-3d}.hero-stats div{position:relative;overflow:hidden}.hero-stats div::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 22%,rgba(53,209,207,.18),transparent 78%);transform:translateX(-110%);animation:statSweep 5.4s ease-in-out infinite}.hero-stats div:nth-child(2)::after{animation-delay:.55s}.hero-stats div:nth-child(3)::after{animation-delay:1.1s}
.section-heading h2,.feature-panel h2,.video-copy h2,.quote-copy h2,.location h2{transition:text-shadow .5s ease}.feature-panel:hover h2,.video-section:hover .video-copy h2,.quote-section:hover .quote-copy h2{text-shadow:0 0 36px rgba(76,229,220,.2)}
.feature-image,.location-image{position:relative}.feature-image::after,.location-image::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(53,209,207,.9),rgba(53,209,59,.72));transform-origin:right;transform:scaleX(1);transition:transform 1.15s cubic-bezier(.77,0,.18,1);pointer-events:none}.feature-image.is-visible::after,.location-image.is-visible::after{transform:scaleX(0)}
.amenity-grid,.pricing-grid{perspective:1200px}.tilt-ready{--tilt-x:0deg;--tilt-y:0deg;--tilt-lift:0px;--tilt-scale:1;transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--tilt-lift)) scale(var(--tilt-scale))!important;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .35s ease!important;will-change:transform}.tilt-ready>*{transform:translateZ(16px)}.amenity-grid article.tilt-ready:hover,.price-card.tilt-ready:hover{--tilt-lift:-12px;--tilt-scale:1.018;box-shadow:0 30px 70px rgba(3,46,52,.2)}.price-card.featured.tilt-ready{--tilt-lift:-14px}.price-card.featured.tilt-ready:hover{--tilt-lift:-24px}
.gallery-item{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}.gallery-grid:hover .gallery-item:not(:hover){filter:saturate(.55) brightness(.7);transform:scale(.975)}.gallery-item:hover{transform:translateY(-8px) scale(1.018);z-index:3;box-shadow:0 30px 70px rgba(4,38,44,.25)}
.feature-panel,.video-section,.quote-section{position:relative;isolation:isolate;overflow:hidden}.feature-panel::before,.video-section::before,.quote-section::before{content:"";position:absolute;z-index:-1;width:480px;height:480px;border-radius:44% 56% 63% 37%;background:radial-gradient(circle at 35% 35%,rgba(76,229,220,.2),rgba(53,209,59,.06) 54%,transparent 70%);filter:blur(6px);animation:liquidOrb 12s ease-in-out infinite alternate;pointer-events:none}.feature-panel::before{right:-180px;top:-140px}.video-section::before{left:22%;bottom:-290px;animation-delay:-3s}.quote-section::before{right:5%;top:-230px;animation-delay:-6s}
.price-card.featured{isolation:isolate;overflow:hidden}.price-card.featured::before{content:"";position:absolute;z-index:-1;inset:-80%;background:conic-gradient(from 0deg,transparent,rgba(76,229,220,.24),transparent 22%,rgba(53,209,59,.18),transparent 48%);animation:cardAurora 9s linear infinite}
.text-link span,.text-button span,.whatsapp-float b{display:inline-block;animation:arrowDance 1.7s ease-in-out infinite}.lightbox[open]::after{content:"";position:fixed;inset:-50%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(18,203,197,.12),transparent 35%);animation:cardAurora 14s linear infinite}
@keyframes curtainExit{to{transform:scaleY(0)}}
@keyframes curtainMark{0%{opacity:0;transform:scale(.75);filter:blur(12px)}45%{opacity:1;transform:scale(1);filter:blur(0)}75%{opacity:1}100%{opacity:0;transform:scale(1.08);filter:blur(4px)}}
@keyframes sparkBurst{0%{opacity:1;transform:translate3d(0,0,0) scale(1)}100%{opacity:0;transform:translate3d(var(--spark-x),var(--spark-y),0) scale(0)}}
@keyframes energyRing{to{transform:translate(-50%,-50%) rotateX(66deg) rotateZ(360deg)}}
@keyframes statSweep{0%,58%{transform:translateX(-110%)}82%,100%{transform:translateX(110%)}}
@keyframes liquidOrb{0%{transform:translate3d(-8%,-5%,0) rotate(0) scale(.9);border-radius:44% 56% 63% 37%}100%{transform:translate3d(12%,11%,0) rotate(38deg) scale(1.18);border-radius:62% 38% 42% 58%}}
@keyframes cardAurora{to{transform:rotate(360deg)}}
@keyframes arrowDance{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(5px) rotate(-8deg)}}
@media(max-width:900px){.cursor-aura,.cursor-spark{display:none}.hero::before{width:120vw}.gallery-grid:hover .gallery-item:not(:hover){filter:none;transform:none}.price-card.featured.tilt-ready{--tilt-lift:0px}.price-card.featured.tilt-ready:hover{--tilt-lift:-10px}.intro-curtain__mark{font-size:clamp(30px,10vw,58px)}}
@media(prefers-reduced-motion:reduce){.intro-curtain{display:none}.cursor-aura,.cursor-spark{display:none}.hero::before,.hero-stats div::after,.feature-panel::before,.video-section::before,.quote-section::before,.price-card.featured::before,.text-link span,.text-button span,.whatsapp-float b{animation:none!important}.feature-image::after,.location-image::after{display:none}.tilt-ready{transform:none!important}.price-card.featured.tilt-ready{transform:none!important}}

/* Privacy and cookie controls */
.footer-links button{border:0;background:none;color:inherit;padding:0;text-align:left;font:inherit;cursor:pointer}.footer-links button:hover,.footer-links a:hover{color:var(--aqua)}
.legal-dialog{width:min(760px,calc(100vw - 32px));max-height:min(86vh,820px);border:0;border-radius:24px;padding:0;color:var(--ink);box-shadow:0 40px 120px rgba(2,25,30,.42);overflow:hidden}.legal-dialog::backdrop{background:rgba(2,24,29,.72);backdrop-filter:blur(12px)}.legal-dialog[open]{animation:legalIn .45s cubic-bezier(.2,.8,.2,1)}.legal-dialog__head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 30px 22px;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.legal-dialog__head .eyebrow{margin-bottom:6px}.legal-dialog__head h2{font:800 clamp(27px,4vw,38px)/1.05 Manrope,sans-serif;letter-spacing:-.045em;margin:0}.legal-close{flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#f3f8f7;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}.legal-close:hover{background:var(--aqua-soft)}.legal-dialog__body{padding:28px 30px 34px;overflow:auto;max-height:calc(86vh - 110px)}.legal-dialog__body h3{font:700 17px Manrope,sans-serif;margin:27px 0 8px}.legal-dialog__body p{color:var(--muted);line-height:1.72}.legal-dialog__body a{color:#087e80;text-decoration:underline;font-weight:700}
.cookie-option{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:20px 0;border-top:1px solid var(--line);position:relative}.cookie-option>div{display:grid;gap:5px}.cookie-option strong{font:700 16px Manrope,sans-serif}.cookie-option span:not(.toggle):not(.always-on){color:var(--muted);font-size:14px;line-height:1.45}.always-on{color:#087e80;background:var(--aqua-soft);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.cookie-option input{position:absolute;opacity:0;pointer-events:none}.toggle{width:52px;height:30px;border-radius:999px;background:#ccd5d3;position:relative;cursor:pointer;transition:.25s}.toggle::after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:.25s}.cookie-option input:checked+.toggle{background:linear-gradient(135deg,var(--aqua),var(--leaf))}.cookie-option input:checked+.toggle::after{transform:translateX(22px)}.cookie-option input:focus-visible+.toggle{outline:3px solid var(--aqua);outline-offset:3px}.cookie-note{font-size:13px;background:#f3f8f7;border-radius:12px;padding:14px 16px}.cookie-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.btn-ghost-dark{background:#fff;color:var(--ink);border-color:#afbfbd}
.cookie-banner{position:fixed;z-index:500;left:18px;right:18px;bottom:18px;margin:auto;max-width:1180px;display:grid;grid-template-columns:1.25fr auto;align-items:center;gap:28px;padding:22px 24px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(5,42,49,.95);color:#fff;box-shadow:0 24px 80px rgba(2,22,27,.42);backdrop-filter:blur(18px) saturate(145%);animation:cookieUp .65s cubic-bezier(.2,.8,.2,1)}.cookie-banner[hidden]{display:none}.cookie-banner strong{font:700 18px Manrope,sans-serif}.cookie-banner p{margin:5px 0 4px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.45}.cookie-privacy-link{border:0;background:none;color:var(--aqua);padding:0;font-weight:700;font-size:13px;cursor:pointer}.cookie-banner__actions{display:flex;gap:9px}.cookie-banner .btn{min-height:44px;padding:0 17px;font-size:13px}.cookie-banner .btn-ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.38)}
@keyframes legalIn{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:none}}
@keyframes cookieUp{from{opacity:0;transform:translateY(50px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:760px){.cookie-banner{grid-template-columns:1fr;gap:16px;left:10px;right:10px;bottom:10px;padding:19px;border-radius:18px}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-banner__actions .btn:first-child{grid-column:1/-1}.legal-dialog__head{padding:22px 20px 18px}.legal-dialog__body{padding:22px 20px 28px}.cookie-actions{display:grid;grid-template-columns:1fr}.cookie-option{gap:13px}.always-on{max-width:86px;text-align:center}}
@media(prefers-reduced-motion:reduce){.legal-dialog[open],.cookie-banner{animation:none}}

/* Mobile form containment and intentional image focal points */
.quote-form,.quote-form label,.form-row{min-width:0;max-width:100%}
.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.quote-form input,.quote-form select,.quote-form textarea{min-width:0;max-width:100%}
.quote-form input[type="date"]{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;overflow:hidden;-webkit-appearance:none;appearance:none;text-align:left}
.quote-form input[type="date"]::-webkit-date-and-time-value{text-align:left;min-width:0}
.quote-form input[type="date"]::-webkit-calendar-picker-indicator{margin:0;padding:0}
.hero-media{background-position:52% 44%}
.feature-image img{object-position:53% 48%}
.location-image img{object-position:56% 54%}
.gallery-item:nth-child(1) img{object-position:50% 54%}
.gallery-item:nth-child(2) img{object-position:52% 58%}
.gallery-item:nth-child(3) img{object-position:44% 52%}
.gallery-item:nth-child(4) img{object-position:50% 30%}
.gallery-item:nth-child(5) img{object-position:58% 50%}
@media(max-width:600px){.quote-form{overflow:hidden}.form-row{grid-template-columns:minmax(0,1fr)}.quote-form input[type="date"]{width:100%;font-size:16px}.hero-media{background-position:56% 46%}.feature-image img{object-position:55% 47%}.location-image img{object-position:58% 55%}.gallery-item:nth-child(1) img{object-position:50% 57%}.gallery-item:nth-child(2) img{object-position:54% 61%}.gallery-item:nth-child(3) img{object-position:42% 55%}.gallery-item:nth-child(4) img{object-position:50% 25%}.gallery-item:nth-child(5) img{object-position:60% 52%}}
