*{box-sizing:border-box;margin:0;padding:0}:root{--color-gold:#d3961c;--color-dark:#393939;--color-gray:#f8fafc;--color-white:#fff;--color-black:#000}body{background:var(--color-white);color:var(--color-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden}.container{margin:0 auto;max-width:1280px;padding:0 1.5rem}.section{padding:8rem 0}.section-white{background:var(--color-white)}.section-gray{background:var(--color-gray)}.section-dark{background:var(--color-dark);color:var(--color-white)}.grid{display:grid;gap:4rem}.grid-2{grid-template-columns:1fr}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}#vision .grid-2,.items-center{align-items:center}.text-gold{color:var(--color-gold)}.mb-6{margin-bottom:1.5rem}.nav{background:transparent;position:fixed;top:0;transition:all .3s;width:100%;z-index:50}.nav.scrolled{background:var(--color-white);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.nav-container{margin:0 auto;max-width:1280px;padding:1rem 1.5rem}.nav-content{align-items:center;display:flex;justify-content:space-between}.logo{height:2.5rem;transition:opacity .3s;width:auto}.nav-menu{align-items:center;display:none;gap:2rem}@media (min-width:768px){.nav-menu{display:flex}}.nav-link{background:none;border:none;color:var(--color-white);cursor:pointer;font-size:.875rem;font-weight:300;letter-spacing:.05em;transition:all .3s}.nav.scrolled .nav-link{color:rgba(57,57,57,.7)}.nav-link.active,.nav-link:hover{color:var(--color-gold)}.nav.scrolled .nav-link.active{font-weight:400}.nav-cta{border:1px solid var(--color-white);color:var(--color-white);display:inline-block;font-size:.875rem;letter-spacing:.05em;padding:.5rem 1.5rem;text-decoration:none;transition:all .3s}.nav.scrolled .nav-cta{border-color:var(--color-gold);color:var(--color-gold)}.nav-cta:hover{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-white)}.hero{align-items:center;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative}.hero-bg{background:linear-gradient(135deg,#393939,#2a2a2a,#393939)}.hero-bg,.hero-overlay{inset:0;position:absolute}.hero-overlay{background-image:url(https://8820244.fs1.hubspotusercontent-na1.net/hubfs/8820244/Departamentos%20a%20la%20venta%20en%20Coacalco%20-%20Cosmopol%20Lifestyle.webp);background-position:50%;background-size:cover;opacity:.2;transition:transform .1s ease-out}.hero-content{margin:0 auto;max-width:80rem;padding:0 1.5rem;position:relative;text-align:center;z-index:10}.hero-location{align-items:center;color:var(--color-gold);display:inline-flex;font-size:.875rem;gap:.5rem;letter-spacing:.15em;margin-bottom:1.5rem}.hero-location [class^=icon-] svg{stroke:var(--color-gold)}.hero-title{color:var(--color-white);font-size:4rem;font-weight:300;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem}@media (min-width:768px){.hero-title{font-size:6rem}}.hero-title .text-gold{font-weight:400}.hero-subtitle{color:hsla(0,0%,100%,.9);font-size:1.25rem;font-weight:300;line-height:1.6;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:48rem}@media (min-width:768px){.hero-subtitle{font-size:1.5rem}}.hero-cta{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}@media (min-width:640px){.hero-cta{flex-direction:row}}.btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;gap:.5rem;letter-spacing:.05em;padding:1rem 2.5rem;text-decoration:none;transition:all .3s}.btn-primary{background:var(--color-gold);color:var(--color-white)}.btn-primary:hover{background:#b8821a}.btn-primary [class^=icon-] svg{stroke:var(--color-white)}.btn-outline{background:transparent;border:1px solid var(--color-gold);color:var(--color-gold)}.btn-outline:hover{background:var(--color-gold);color:var(--color-white)}.btn-outline [class^=icon-] svg{stroke:var(--color-gold)}.btn-outline:hover [class^=icon-] svg{stroke:var(--color-white)}.icon-whatsapp svg{fill:var(--color-gold)}.btn-outline:hover .icon-whatsapp svg{fill:var(--color-white)}.hero-scroll{bottom:2.5rem;left:50%;position:absolute;transform:translateX(-50%)}.bounce{animation:bounce 2s infinite;color:hsla(0,0%,100%,.6)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.icon-chevron-down{height:1.5rem;width:1.5rem}.section-title{color:var(--color-dark);font-size:3rem;font-weight:300;line-height:1.2;margin-bottom:1.5rem}.section-title .text-gold{font-weight:400}.section-title-center{color:var(--color-dark);font-size:3rem;font-weight:300;line-height:1.2;margin-bottom:1.5rem;text-align:center}.section-dark .section-title-center{color:var(--color-white)}.section-subtitle{color:rgba(57,57,57,.7);font-size:1.25rem;font-weight:300;margin:0 auto;max-width:42rem;text-align:center}.section-header{margin-bottom:5rem;text-align:center}.text-content{color:rgba(57,57,57,.7);display:flex;flex-direction:column;font-size:1.125rem;font-weight:300;gap:1.5rem;line-height:1.6}.video-container,.video-wrapper{position:relative}.video-wrapper{aspect-ratio:4/5;background:var(--color-gray);overflow:hidden}.video{height:100%;object-fit:cover;width:100%}.video-controls{bottom:1rem;gap:.5rem;left:1rem;position:absolute}.video-btn,.video-controls{align-items:center;display:flex}.video-btn{backdrop-filter:blur(4px);background:rgba(57,57,57,.8);border:none;color:var(--color-gold);cursor:pointer;height:2.5rem;justify-content:center;padding:.5rem;transition:all .3s;width:2.5rem}.video-btn:hover{background:var(--color-dark)}.video-btn svg{fill:none;height:1.5rem;stroke:var(--color-gold);width:1.5rem}.video-badge{background:var(--color-dark);bottom:-2rem;color:var(--color-white);max-width:18rem;padding:2rem;position:absolute;right:-2rem}.video-badge-number{color:var(--color-gold);font-size:2.25rem;font-weight:300;margin-bottom:.5rem}.video-badge-text{color:hsla(0,0%,100%,.8);font-size:.875rem;letter-spacing:.05em}.stats-section{background:var(--color-dark);color:var(--color-white);padding:5rem 0}.stats-grid{display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-item{text-align:center}.stat-number{color:var(--color-gold);font-size:2.25rem;font-weight:300;margin-bottom:.5rem}@media (min-width:768px){.stat-number{font-size:3rem}}.stat-label{color:hsla(0,0%,100%,.7);font-size:.875rem;letter-spacing:.05em}.amenities-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:768px){.amenities-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.amenities-grid{grid-template-columns:repeat(4,1fr)}}.amenity-card{background:var(--color-white);cursor:pointer;overflow:hidden;transition:all .3s}.amenity-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.amenity-image-wrapper{aspect-ratio:4/3;overflow:hidden;position:relative}.amenity-image{height:100%;object-fit:cover;transition:transform .5s;width:100%}.amenity-card:hover .amenity-image{transform:scale(1.1)}.amenity-content{border-left:2px solid var(--color-gold);padding:1.5rem}.amenity-title{color:var(--color-dark);font-size:1.125rem;font-weight:300;margin-bottom:.5rem}.amenity-description{color:rgba(57,57,57,.7);font-size:.875rem}.section-cta{margin-top:4rem;text-align:center}.apartments-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.apartments-grid{grid-template-columns:repeat(3,1fr)}}.apartment-card{cursor:pointer}.apartment-image-wrapper{aspect-ratio:3/4;background:var(--color-gray);margin-bottom:1.5rem;overflow:hidden;position:relative}.apartment-image{height:100%;object-fit:cover;transition:transform .5s;width:100%}.apartment-card:hover .apartment-image{transform:scale(1.05)}.apartment-badge{background:var(--color-white);left:1.5rem;padding:.5rem 1rem;position:absolute;top:1.5rem}.apartment-badge-label{color:var(--color-gold);font-size:.75rem;letter-spacing:.15em}.apartment-badge-name{color:var(--color-dark);font-size:1.5rem;font-weight:300}.apartment-description{color:rgba(57,57,57,.7);font-weight:300;margin-bottom:1rem}.apartment-specs{border-bottom:1px solid rgba(57,57,57,.2);border-top:1px solid rgba(57,57,57,.2);display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem;padding:1rem 0}.apartment-spec-label{color:rgba(57,57,57,.6);font-size:.875rem;margin-bottom:.25rem}.apartment-spec-value{color:var(--color-dark);font-weight:300}.apartment-cta{display:flex;justify-content:flex-end;padding-top:.5rem}.apartment-link{align-items:center;color:var(--color-gold);display:flex;font-size:1.125rem;font-weight:500;gap:.5rem;letter-spacing:.05em;transition:color .3s}.apartment-card:hover .apartment-link{color:#b8821a}.map-container{aspect-ratio:1/1;overflow:hidden;position:relative}.map{border:0;height:100%;width:100%}.location-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-top:2rem}.location-item{border-left:2px solid var(--color-gold);padding-left:1rem}.location-label{color:rgba(57,57,57,.6);font-size:.875rem;margin-bottom:.25rem}.location-value{color:var(--color-dark);font-weight:300}.testimonials-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:hsla(0,0%,100%,.05);border:1px solid rgba(211,150,28,.3);padding:2rem;transition:border-color .3s}.testimonial-card:hover{border-color:var(--color-gold)}.testimonial-stars{display:flex;gap:.25rem;margin-bottom:1rem}.testimonial-text{color:hsla(0,0%,100%,.9);font-weight:300;line-height:1.6;margin-bottom:1.5rem}.testimonial-author{color:var(--color-gold);font-size:.875rem}.cta-container{margin:0 auto;max-width:56rem;padding:0 1.5rem;text-align:center}.cta-title{color:var(--color-dark);font-size:3rem;font-weight:300;line-height:1.2;margin-bottom:1.5rem}@media (min-width:768px){.cta-title{font-size:4rem}}.cta-subtitle{color:rgba(57,57,57,.7);font-size:1.25rem;font-weight:300;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:42rem}.cta-buttons{display:flex;flex-direction:column;gap:1rem;justify-content:center}@media (min-width:640px){.cta-buttons{flex-direction:row}}.footer{background:var(--color-dark);color:var(--color-white);padding:3rem 0}.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:2rem}@media (min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}.footer-logo{margin-bottom:1rem}.footer-text{color:hsla(0,0%,100%,.6);font-size:.875rem;font-weight:300}.footer-title{color:var(--color-gold);font-size:.875rem;letter-spacing:.15em;margin-bottom:1rem}.footer-link{align-items:center;color:hsla(0,0%,100%,.6);display:flex;font-size:.875rem;gap:.5rem;text-decoration:none;transition:color .3s}.footer-link:hover{color:var(--color-gold)}.footer-social{display:flex;flex-direction:column;gap:.5rem}.footer-bottom{border-top:1px solid rgba(211,150,28,.2);color:hsla(0,0%,100%,.4);font-size:.875rem;font-weight:300;padding-top:2rem;text-align:center}.modal{align-items:center;background:rgba(0,0,0,.9);display:none;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.modal.active{display:flex!important}.modal-close{background:none;border:none;color:var(--color-white);cursor:pointer;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:color .3s;z-index:20}.modal-close:hover{color:var(--color-gold)}.modal-counter{font-size:.875rem;font-weight:300;left:50%;padding:.5rem 1rem;top:1rem;transform:translateX(-50%)}.modal-counter,.modal-nav{backdrop-filter:blur(4px);background:rgba(57,57,57,.8);color:var(--color-white);position:absolute;z-index:20}.modal-nav{border:none;cursor:pointer;padding:.75rem;top:50%;transform:translateY(-50%);transition:all .3s}.modal-nav:hover{background:var(--color-gold)}.modal-nav-left{left:1rem}.modal-nav-right{right:1rem}.modal-image-container{max-height:80vh;max-width:80rem;position:relative}.modal-image{max-height:80vh;max-width:100%;object-fit:contain}.modal-image-info{background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);bottom:0;left:0;padding:1.5rem;position:absolute;right:0}.modal-image-title{color:var(--color-white);font-size:1.25rem;font-weight:300;margin-bottom:.25rem}.modal-image-description{color:hsla(0,0%,100%,.8);font-size:.875rem}.modal-iframe-container{aspect-ratio:16/9;background:var(--color-white);max-width:96rem;width:100%}.modal-iframe{border:0;height:100%;width:100%}.whatsapp-float{align-items:center;background:var(--color-gold);bottom:2rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);color:var(--color-white);display:flex;justify-content:center;padding:1rem;position:fixed;right:2rem;text-decoration:none;transition:all .3s;z-index:50}.whatsapp-float:hover{background:#b8821a;transform:scale(1.1)}.whatsapp-tooltip{background:var(--color-dark);color:var(--color-white);font-size:.875rem;margin-right:.75rem;opacity:0;padding:.5rem 1rem;pointer-events:none;position:absolute;right:100%;top:50%;transform:translateY(-50%);transition:opacity .3s;white-space:nowrap}.whatsapp-float:hover .whatsapp-tooltip{opacity:1}[class^=icon-]{display:inline-block;flex-shrink:0;height:1.25rem;vertical-align:middle;width:1.25rem}.icon-large{height:3rem!important;margin-bottom:1rem;width:3rem!important}.icon-large svg{fill:none;height:100%;stroke:var(--color-gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:100%}[class^=icon-] svg{display:block;fill:none;height:100%;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:100%}.btn [class^=icon-]{transition:transform .3s}.btn:hover .icon-arrow-right{transform:translateX(4px)}.apartment-link [class^=icon-] svg,.footer-link [class^=icon-] svg,.modal-close [class^=icon-] svg,.modal-nav [class^=icon-] svg,.nav [class^=icon-] svg,.video-btn [class^=icon-] svg,.whatsapp-float [class^=icon-] svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.apartment-link [class^=icon-] svg{transition:transform .3s}.apartment-card:hover .apartment-link .icon-arrow-right{transform:translateX(4px)}.icon-chevron-left,.icon-chevron-right,.icon-x{height:2rem;width:2rem}.icon-facebook,.icon-instagram,.icon-tiktok{height:1rem;width:1rem}.icon-star svg{fill:var(--color-gold);stroke:var(--color-gold)}.icon-tiktok svg,.icon-whatsapp svg{fill:currentColor;stroke:none}