:root{--cream:#f4efe6;--cream-2:#ebe4d4;--cream-3:#e3dac6;--ink:#0e1a26;--ink-soft:#1c2a38;--ink-mid:#3a4855;--brass:#9c7a45;--brass-light:#bb9a68;--brass-deep:#8a6d36;--line:rgba(14,26,38,0.12);--line-soft:rgba(14,26,38,0.06);--muted:#5c6671}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Inter',sans-serif;font-weight:400;background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.display{font-family:'Fraunces',serif;font-weight:400;letter-spacing:-0.012em;line-height:1.04}.italic{font-style:italic}.eyebrow{font-family:'Inter',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass)}.divider{display:inline-block;width:48px;height:1px;background:var(--brass);vertical-align:middle;margin-right:14px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}.container{max-width:1440px;margin:0 auto;padding:0 56px}@media (max-width:900px){.container{padding:0 24px}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 56px;display:flex;justify-content:space-between;align-items:center;transition:all 0.4s ease;background:transparent}.nav.scrolled{background:rgba(244,239,230,0.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:18px 56px;border-bottom:1px solid var(--line-soft)}.nav.scrolled .nav-menu a{color:var(--ink)}.nav.scrolled .nav-cta{border-color:var(--ink);color:var(--ink)}.logo{font-family:'Fraunces',serif;font-size:22px;font-weight:500;letter-spacing:0.02em;color:var(--cream);font-style:italic;line-height:1;transition:color 0.4s;display:inline-block}.logo-img{height:26px;display:block}.logo .logo-onlight{display:none}.nav.scrolled .logo-ondark{display:none}.nav.scrolled .logo-onlight{display:block}.logo .dot{color:var(--brass-light);font-style:normal}.logo small{display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:9px;letter-spacing:0.32em;text-transform:uppercase;color:rgba(244,239,230,0.7);margin-top:7px;font-weight:500;transition:color 0.4s}.nav.scrolled .logo small{color:rgba(14,26,38,0.55)}.nav-menu{display:flex;gap:42px;align-items:center}.nav-menu a{font-size:12px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--cream);position:relative;padding:8px 0;transition:color 0.3s}.nav-menu a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--brass-light);transition:width 0.4s ease}.nav-menu a:hover{color:var(--brass-light)}.nav-menu a:hover::after{width:100%}.nav-cta{padding:13px 26px;border:1px solid var(--cream);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;background:transparent;color:var(--cream);font-family:inherit;font-weight:500;transition:all 0.3s}.nav-cta:hover{background:var(--cream);color:var(--ink)}.nav.scrolled .nav-cta:hover{background:var(--ink);color:var(--cream)}.burger{display:none;width:32px;height:32px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px}.burger span{display:block;width:24px;height:1px;background:var(--cream);transition:all 0.3s}.nav.scrolled .burger span{background:var(--ink)}@media (max-width:900px){.nav{padding:20px 24px}.nav.scrolled{padding:14px 24px}.nav-menu,.nav-cta{display:none}.burger{display:flex}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--ink)}.hero-bg{position:absolute;inset:0;z-index:0;background-image:url('/assets/images/villa-atardecer.png');background-size:cover;background-position:center;transform:scale(1.05);animation:slowZoom 20s ease-in-out infinite alternate}@keyframes slowZoom{0%{transform:scale(1.03) translateY(0)}100%{transform:scale(1.07) translateY(-8px)}}.hero-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(14,26,38,0.7) 0%,rgba(14,26,38,0.35) 50%,rgba(14,26,38,0.6) 100%)}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,38,0.4) 0%,transparent 30%,transparent 70%,rgba(14,26,38,0.9) 100%)}.hero-bg-hover{position:absolute;inset:0;z-index:1;background-image:url('/assets/images/villa-vistas.png');background-size:cover;background-position:center;filter:blur(8px);transform:scale(1.1);opacity:0;transition:opacity 1.2s cubic-bezier(0.4,0,0.2,1);pointer-events:none}.hero-bg-hover::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(14,26,38,0.82) 0%,rgba(14,26,38,0.6) 50%,rgba(14,26,38,0.78) 100%)}.hero:hover .hero-bg-hover{opacity:0.55}.hero-content{position:relative;z-index:2;width:100%;color:var(--cream);text-align:center}.hero-grid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;padding-top:160px;padding-bottom:140px;max-width:980px;margin:0 auto}.hero-left{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-left .eyebrow{color:var(--brass-light);margin-bottom:40px;display:inline-flex;justify-content:center}.hero-title{font-size:clamp(64px,11vw,180px);color:var(--cream);letter-spacing:-0.03em;line-height:0.92;font-weight:300;margin-bottom:8px}.hero-title .italic{color:var(--brass-light);font-weight:300;font-style:italic}.hero-right{padding-bottom:0;max-width:620px;text-align:center;display:flex;flex-direction:column;align-items:center}.hero-tagline{font-size:20px;line-height:1.7;font-weight:300;color:rgba(244,239,230,0.88);margin-bottom:48px;max-width:560px}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center}@media (max-width:768px){.hero-grid{padding-top:120px;padding-bottom:80px;gap:32px}.hero-tagline{font-size:17px;margin-bottom:36px}}.btn-primary{display:inline-flex;align-items:center;gap:12px;padding:18px 32px;background:var(--brass);color:var(--cream);border:none;font-family:inherit;font-size:12px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden}.btn-primary::before{content:'';position:absolute;inset:0;background:var(--brass-light);transform:translateX(-100%);transition:transform 0.5s cubic-bezier(0.4,0,0.2,1)}.btn-primary:hover::before{transform:translateX(0)}.btn-primary span{position:relative;z-index:1}.btn-primary svg{position:relative;z-index:1;width:14px;height:14px;transition:transform 0.4s}.btn-primary:hover svg{transform:translateX(4px)}.btn-ghost{display:inline-flex;align-items:center;gap:12px;padding:18px 32px;background:transparent;color:var(--cream);border:1px solid rgba(244,239,230,0.35);font-family:inherit;font-size:12px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;transition:all 0.3s}.btn-ghost:hover{border-color:var(--cream);background:rgba(244,239,230,0.05)}.btn-ghost-dark{color:var(--ink);border-color:rgba(14,26,38,0.35)}.btn-ghost-dark:hover{border-color:var(--ink);background:rgba(14,26,38,0.05)}.hero-meta{position:absolute;bottom:48px;left:56px;right:56px;display:flex;justify-content:space-between;align-items:flex-end;color:var(--cream);z-index:3}.hero-scroll{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;opacity:0.75}.hero-scroll-line{width:48px;height:1px;background:var(--brass-light);animation:scrollBlink 2.5s ease-in-out infinite}@keyframes scrollBlink{0%,100%{opacity:0.25}50%{opacity:1}}.hero-side{font-family:'Fraunces',serif;font-style:italic;font-size:13px;letter-spacing:0.14em;color:rgba(244,239,230,0.55)}.hero-num{position:absolute;top:140px;right:56px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:3}.hero-num-big{font-family:'Fraunces',serif;font-size:110px;font-weight:300;font-style:italic;color:var(--brass-light);opacity:0.18;line-height:0.85;letter-spacing:-0.04em}.hero-num-label{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:rgba(244,239,230,0.5)}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px;padding-top:100px;padding-bottom:140px}.hero-meta{left:24px;right:24px;bottom:24px}.hero-num{display:none}.hero-side{display:none}}.stats{background:var(--ink);color:var(--cream);padding:48px 0;border-top:1px solid rgba(244,239,230,0.08);border-bottom:1px solid rgba(244,239,230,0.08);position:relative}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.stat{text-align:center;padding:0 32px;position:relative}.stat:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:rgba(244,239,230,0.12)}.stat-value{font-family:'Fraunces',serif;font-size:clamp(36px,4vw,56px);font-weight:300;color:var(--brass-light);line-height:1;margin-bottom:10px;letter-spacing:-0.01em}.stat-value .small{font-size:0.55em;color:rgba(201,168,119,0.7)}.stat-label{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(244,239,230,0.6);font-weight:500}@media (max-width:900px){.stats{padding:36px 0}.stats-grid{grid-template-columns:1fr 1fr;gap:32px 0}.stat{padding:0 16px}.stat:nth-child(2)::after{display:none}}.concept{padding:160px 0;background:var(--cream);position:relative}.concept-header{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;margin-bottom:90px;align-items:flex-end}.concept-title{font-size:clamp(44px,5.4vw,82px);color:var(--ink)}.concept-intro .eyebrow{margin-bottom:24px;display:block}.concept-intro p{font-size:17px;line-height:1.78;color:var(--ink-soft);font-weight:300}.concept-intro p+p{margin-top:18px}.ba-container{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;user-select:none;cursor:ew-resize;border-radius:2px;box-shadow:0 20px 60px rgba(14,26,38,0.18)}.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-after{clip-path:inset(0 0 0 50%);transition:clip-path 0.05s linear}.ba-slider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--cream);transform:translateX(-50%);pointer-events:none;z-index:3;box-shadow:0 0 24px rgba(0,0,0,0.4)}.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,0.35);z-index:4;transition:transform 0.3s ease}.ba-handle:hover{transform:translate(-50%,-50%) scale(1.08)}.ba-handle svg{width:24px;height:24px;fill:var(--ink)}.ba-label{position:absolute;top:24px;background:rgba(14,26,38,0.85);color:var(--cream);padding:8px 16px;font-size:10px;font-weight:500;letter-spacing:0.24em;text-transform:uppercase;backdrop-filter:blur(8px);z-index:2}.ba-label.left{left:24px}.ba-label.right{right:24px}.ba-label .italic{font-family:'Fraunces',serif;font-style:italic;text-transform:none;letter-spacing:0.04em;font-size:13px;margin-left:8px;color:var(--brass-light)}.ba-watermark{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px;background:rgba(14,26,38,0.72);backdrop-filter:blur(6px);padding:8px 16px;border-radius:999px}.ba-watermark img{height:16px;width:auto;display:block}.ba-watermark span{font-size:10px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--cream)}@media (max-width:900px){.ba-watermark{top:auto;bottom:16px;padding:6px 12px}.ba-watermark img{height:13px}.ba-watermark span{font-size:8px}.ba-label{font-size:8px;padding:5px 10px;letter-spacing:0.16em}.ba-label .italic{font-size:11px;margin-left:5px}}.ba-instruction{text-align:center;margin-top:32px;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:500}.ba-instruction svg{width:14px;height:14px;display:inline-block;vertical-align:middle;margin:0 8px}@media (max-width:900px){.concept{padding:64px 0}.concept-header{grid-template-columns:1fr;gap:32px;margin-bottom:48px}.ba-handle{width:48px;height:48px}.ba-label{font-size:9px;padding:6px 12px;top:16px}.ba-label.left{left:16px}.ba-label.right{right:16px}}.models{padding:160px 0;background:var(--cream-2);position:relative;overflow:hidden}.models::before{content:'';position:absolute;top:-40px;left:0;right:0;height:80px;background:linear-gradient(180deg,var(--cream) 0%,transparent 100%);z-index:0}.section-header{text-align:center;margin-bottom:100px;max-width:680px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.section-header .eyebrow{margin-bottom:24px;display:block}.section-header h2{font-size:clamp(42px,5.2vw,76px);margin-bottom:26px}.section-header p{font-size:17px;color:var(--ink-soft);font-weight:300;line-height:1.75}.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;z-index:1}.model-card{background:var(--cream);display:flex;flex-direction:column;cursor:pointer;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1),box-shadow 0.5s;border:1px solid var(--line-soft)}.model-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(14,26,38,0.1)}.model-img{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden}.model-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(0.4,0,0.2,1)}.model-card:hover .model-img img{transform:scale(1.06)}.model-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(14,26,38,0.5) 100%)}.model-num{position:absolute;top:24px;left:24px;font-family:'Fraunces',serif;font-style:italic;font-size:14px;letter-spacing:0.16em;color:var(--cream);z-index:2}.model-info{padding:40px 36px 36px;display:flex;flex-direction:column;flex:1}.model-name{font-family:'Fraunces',serif;font-size:48px;font-weight:400;margin-bottom:6px;letter-spacing:0.01em;line-height:1}.model-name .italic{color:var(--brass)}.model-tag{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:28px;font-weight:500}.model-desc{font-size:15px;line-height:1.7;color:var(--ink-soft);font-weight:300;margin-bottom:36px;flex:1}.model-features{list-style:none;margin-bottom:32px;padding-top:24px;border-top:1px solid var(--line)}.model-features li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:13px;font-weight:400;color:var(--ink-soft)}.model-features li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--brass);flex-shrink:0}.model-cta{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--line)}.model-cta-text{font-family:'Fraunces',serif;font-style:italic;font-size:22px;font-weight:400;color:var(--ink)}.model-arrow{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.4s}.model-card:hover .model-arrow{background:var(--brass);border-color:var(--brass)}.model-arrow svg{width:14px;height:14px;fill:none;stroke:var(--ink);stroke-width:1.5;transition:stroke 0.4s,transform 0.4s}.model-card:hover .model-arrow svg{stroke:var(--cream);transform:translateX(2px)}@media (max-width:900px){.models{padding-top:64px;padding-bottom:100px}.models-grid{grid-template-columns:1fr;gap:24px}.section-header{margin-bottom:60px}}.process{padding:160px 0;background:var(--cream);color:var(--ink);position:relative;overflow:hidden}.process::before{content:'';position:absolute;top:-150px;right:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(169,134,70,0.08) 0%,transparent 70%);pointer-events:none}.process::after{content:'';position:absolute;bottom:-200px;left:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(169,134,70,0.08) 0%,transparent 70%);pointer-events:none}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;position:relative;z-index:1}.process-step{position:relative;padding-top:90px}.process-num{position:absolute;top:0;left:0;font-family:'Fraunces',serif;font-style:italic;font-size:56px;font-weight:300;color:var(--brass);line-height:1;letter-spacing:-0.02em}.process-line{position:absolute;top:28px;left:60px;right:-48px;height:1px;background:linear-gradient(90deg,rgba(138,109,54,0.35) 0%,rgba(138,109,54,0.08) 100%)}.process-step:last-child .process-line{display:none}.process-step h3{font-family:'Fraunces',serif;font-size:30px;font-weight:400;margin-bottom:14px;color:var(--ink);letter-spacing:0.01em}.process-step p{font-size:15px;line-height:1.7;font-weight:300;color:var(--ink-soft)}@media (max-width:900px){.process{padding:100px 0}.process-grid{grid-template-columns:1fr;gap:40px}.process-line{display:none}}@media (max-width:600px){.process{padding:56px 0}.section-header{margin-bottom:32px}.process-grid{grid-template-columns:1fr 1fr;gap:20px 16px}.process-step{padding-top:44px}.process-num{font-size:28px}.process-step h3{font-size:17px;margin-bottom:6px;line-height:1.15}.process-step p{font-size:12px;line-height:1.4}}.projects{padding:160px 0;background:var(--cream-2)}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.project{position:relative;overflow:hidden;cursor:pointer;background:var(--cream-2)}.project img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.6s cubic-bezier(0.4,0,0.2,1)}.project:hover img{transform:scale(1.06)}.project::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,26,38,0.7) 100%);pointer-events:none;transition:opacity 0.4s}.project:hover::after{opacity:0.85}.project-info{position:absolute;bottom:28px;left:28px;right:28px;color:var(--cream);z-index:2}.project-info .eyebrow{color:var(--brass-light);margin-bottom:6px;display:block}.project-info .title{font-family:'Fraunces',serif;font-size:28px;font-weight:400;letter-spacing:0.01em}.project.large{grid-column:span 7}.project.large img{aspect-ratio:5/4}.project.small{grid-column:span 5}.project.small img{aspect-ratio:5/4}.project.medium{grid-column:span 6}.project.medium img{aspect-ratio:4/3}@media (max-width:900px){.projects{padding:100px 0}.projects-grid{grid-template-columns:1fr;gap:16px}.project.large,.project.small,.project.medium{grid-column:span 1}.project img{aspect-ratio:4/3 !important}}.faq{padding:160px 0;background:var(--cream-2)}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:120px;max-width:1200px;margin:0 auto}.faq-intro{position:sticky;top:120px;height:fit-content}.faq-intro .eyebrow{margin-bottom:24px;display:block}.faq-intro h2{font-size:clamp(38px,4.6vw,64px);margin-bottom:32px;color:var(--ink)}.faq-intro p{font-size:16px;line-height:1.75;color:var(--ink-soft);font-weight:300;margin-bottom:32px;max-width:380px}.faq-intro a{display:inline-flex;align-items:center;gap:12px;color:var(--brass);font-size:12px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--brass);transition:gap 0.3s}.faq-intro a:hover{gap:18px}.faq-list{display:flex;flex-direction:column}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-q{display:flex;justify-content:space-between;align-items:center;padding:28px 0;cursor:pointer;font-family:'Fraunces',serif;font-size:24px;font-weight:500;color:var(--ink);transition:color 0.3s;gap:24px}.faq-q:hover{color:var(--brass)}.faq-toggle{flex-shrink:0;width:28px;height:28px;position:relative;transition:transform 0.4s ease}.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;background:var(--brass);transition:transform 0.4s ease}.faq-toggle::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}.faq-toggle::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}.faq-item.open .faq-toggle::after{transform:translateX(-50%) rotate(90deg)}.faq-item.open .faq-toggle{transform:rotate(90deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1)}.faq-item.open .faq-a{max-height:300px}.faq-a-inner{padding:0 0 32px;font-size:15px;line-height:1.78;color:var(--ink-soft);font-weight:300;max-width:600px}@media (max-width:900px){.faq{padding:100px 0}.faq-grid{grid-template-columns:1fr;gap:48px}.faq-intro{position:static}}.footer{background:#091420;color:rgba(244,239,230,0.7);padding:80px 0 32px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.6fr 1fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(244,239,230,0.1);margin-bottom:32px}.footer-brand .logo{color:var(--cream);font-size:26px}.footer-brand p{margin-top:24px;font-size:14px;line-height:1.75;max-width:340px;font-weight:300}.footer-col h4{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--brass-light);margin-bottom:24px;font-weight:500}.footer-col a{display:block;font-size:14px;padding:7px 0;font-weight:300;transition:color 0.3s}.footer-col-zonas{column-count:2;column-gap:20px}.footer-col-zonas h4{column-span:all}.footer-col-zonas a{font-size:13px;padding:5px 0}@media (max-width:900px){.footer-col-zonas{column-count:2}}.footer-col a:hover{color:var(--brass-light)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(244,239,230,0.4)}.footer-bottom-links{display:flex;gap:32px}.footer-bottom-links a{font-size:12px}@media (max-width:900px){.footer-grid{grid-template-columns:1fr;gap:40px}.footer-bottom{flex-direction:column;gap:16px;text-align:center}}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease}.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.visible>*:nth-child(1){transition-delay:0s}.reveal-stagger.visible>*:nth-child(2){transition-delay:0.08s}.reveal-stagger.visible>*:nth-child(3){transition-delay:0.16s}.reveal-stagger.visible>*:nth-child(4){transition-delay:0.24s}.reveal-stagger.visible>*:nth-child(5){transition-delay:0.32s}.reveal-stagger.visible>*:nth-child(6){transition-delay:0.4s}.reveal-stagger.visible>*:nth-child(7){transition-delay:0.48s}.reveal-stagger.visible>*:nth-child(8){transition-delay:0.56s}.reveal-stagger.visible>*:nth-child(n+9){transition-delay:0.6s}.wa-btn{position:fixed;bottom:32px;right:32px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(14,26,38,0.25),0 2px 8px rgba(37,211,102,0.4);transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}.wa-btn::before{content:'';position:absolute;inset:-4px;border:1px solid #25D366;border-radius:50%;opacity:0.4;animation:waPulse 2.4s ease-in-out infinite}@keyframes waPulse{0%,100%{transform:scale(1);opacity:0.4}50%{transform:scale(1.18);opacity:0}}.wa-btn:hover{background:#1ebe5d;transform:translateY(-3px) scale(1.05);box-shadow:0 14px 40px rgba(14,26,38,0.3),0 4px 16px rgba(37,211,102,0.5)}.wa-btn svg{width:28px;height:28px;fill:#ffffff}.wa-label{position:absolute;right:74px;top:50%;transform:translateY(-50%) translateX(8px);background:var(--ink);color:var(--cream);padding:10px 18px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.3s ease}.wa-label::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:6px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent}.wa-btn:hover .wa-label{opacity:1;transform:translateY(-50%) translateX(0)}@media (max-width:768px){.wa-btn{bottom:20px;right:20px;width:54px;height:54px}.wa-btn svg{width:26px;height:26px}.wa-label{display:none}}.video-section{padding:140px 0;background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%);position:relative;overflow:hidden}.video-section::before{content:'';position:absolute;top:80px;left:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(169,134,70,0.06) 0%,transparent 70%);pointer-events:none}.video-header{text-align:center;margin-bottom:72px;max-width:760px;margin-left:auto;margin-right:auto}.video-header .eyebrow{margin-bottom:24px;display:block}.video-header h2{font-size:clamp(40px,5vw,72px);margin-bottom:24px;color:var(--ink)}.video-header p{font-size:17px;color:var(--ink-soft);font-weight:300;line-height:1.75}.video-wrapper{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:16/9;overflow:hidden;background:var(--ink);box-shadow:0 30px 80px rgba(14,26,38,0.22),0 8px 24px rgba(14,26,38,0.12)}.video-wrapper::before{content:'';position:absolute;inset:-1px;border:1px solid var(--brass);pointer-events:none;z-index:2;opacity:0.4}.video-frame{position:absolute;inset:0;width:100%;height:100%;border:0}.video-poster{position:absolute;inset:0;background-image:url('/assets/images/villa-vistas.png');background-size:cover;background-position:center;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;transition:opacity 0.5s}.video-poster::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,38,0.35) 0%,rgba(14,26,38,0.6) 100%)}.video-play{position:relative;z-index:2;width:96px;height:96px;border-radius:50%;background:rgba(244,239,230,0.95);display:flex;align-items:center;justify-content:center;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 10px 40px rgba(0,0,0,0.3)}.video-play::after{content:'';position:absolute;inset:-12px;border:1px solid var(--cream);border-radius:50%;opacity:0.4;animation:videoPulse 2.4s ease-in-out infinite}@keyframes videoPulse{0%,100%{transform:scale(1);opacity:0.4}50%{transform:scale(1.2);opacity:0}}.video-poster:hover .video-play{background:var(--brass-light);transform:scale(1.08)}.video-play svg{width:32px;height:32px;fill:var(--ink);margin-left:6px;transition:fill 0.3s}.video-poster:hover .video-play svg{fill:var(--cream)}.video-caption{text-align:center;margin-top:32px;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-weight:500}.video-caption .italic{font-family:'Fraunces',serif;font-style:italic;text-transform:none;letter-spacing:0.04em;font-size:15px;color:var(--brass);margin:0 10px}@media (max-width:900px){.video-section{padding:90px 0}.video-play{width:72px;height:72px}.video-play svg{width:24px;height:24px}.video-header{margin-bottom:48px}}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--ink);color:var(--cream);transform:translateX(100%);transition:transform 0.5s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px}.mobile-menu.open{transform:translateX(0)}.mobile-menu a{font-family:'Fraunces',serif;font-size:36px;font-weight:400}.mobile-menu .close{position:absolute;top:24px;right:24px;width:44px;height:44px;cursor:pointer;background:none;border:none;color:var(--cream);font-size:30px}body{font-family:'Inter',sans-serif;font-feature-settings:'ss01','cv11'}.display,h1,h2,h3{font-family:'Fraunces',serif;letter-spacing:-0.02em;font-feature-settings:'ss01'}.italic{font-family:'Fraunces',serif;font-style:italic;font-weight:300}.btn-primary,.btn-ghost,.nav-cta,.submit-clean,.btn-cta,.contact-side-wa{border-radius:8px !important}.btn-primary,.btn-ghost{padding-left:32px !important;padding-right:32px !important}.input-wrap,.field-modern .input-wrap{border-radius:6px}.blog-card,.feature-card,.project-card,.contact-card,.model-card,.spec,.comparison-link{border-radius:10px;overflow:hidden}.blog-card-img{border-radius:10px 10px 0 0}.form-msg.show{border-radius:6px}.wa-btn{border-radius:50% !important}.field-pill{border-radius:99px}.consent-clean,.consent-modern{border-radius:6px}.spec{border-radius:8px}.post-callout{border-radius:0 8px 8px 0}.post-toc{border-radius:8px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0 24px}.video-item{position:relative;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;box-shadow:0 24px 50px rgba(14,26,38,0.18);background:var(--ink)}.video-player{width:100%;height:100%;object-fit:cover;display:block}.video-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,26,38,0.88) 100%);pointer-events:none}.video-item.plain::after{display:none}.video-item-overlay{position:absolute;bottom:22px;left:24px;z-index:2;color:var(--cream)}.video-item-label{display:block;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass-light);font-weight:600;margin-bottom:6px}.video-item-title{display:block;font-family:'Fraunces',serif;font-size:22px;font-weight:400;color:var(--cream);letter-spacing:-0.01em}@media (max-width:720px){.video-grid{grid-template-columns:1fr;gap:16px}.video-item{border-radius:8px}.video-item-overlay{bottom:16px;left:20px}.video-item-title{font-size:18px}}.contact{background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%);padding:120px 0 140px;position:relative;overflow:hidden}.contact::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(169,134,70,0.08) 0%,transparent 70%);pointer-events:none;z-index:0}.contact-header{text-align:center;max-width:720px;margin:0 auto 70px;position:relative;z-index:1}.contact-header .eyebrow{justify-content:center;margin-bottom:24px}.contact-header h2{font-size:clamp(48px,7vw,96px);line-height:1;margin-bottom:24px;color:var(--ink);font-weight:400;letter-spacing:-0.025em}.contact-header h2 .italic{color:var(--brass);font-style:italic;font-weight:300}.contact-intro{font-size:17px;line-height:1.7;color:var(--ink-soft);font-weight:300;max-width:560px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:50px;max-width:1100px;margin:0 auto;align-items:start;position:relative;z-index:1}.contact-side{display:flex;flex-direction:column;gap:30px;padding-top:12px}.contact-side-block{display:flex;flex-direction:column;gap:8px}.contact-side-label{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);font-weight:600}.contact-side-link{font-family:'Fraunces',serif;font-size:19px;color:var(--ink);text-decoration:none;transition:color 0.2s;font-weight:400;letter-spacing:-0.005em;word-break:break-word}.contact-side-link:hover{color:var(--brass)}.contact-side-text{font-size:14px;line-height:1.6;color:var(--ink-soft);font-weight:400;margin:0}.contact-side-wa{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#25D366;color:#fff !important;text-decoration:none;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);margin-top:4px;border-radius:12px;box-shadow:0 6px 20px rgba(37,211,102,0.3)}.contact-side-wa:hover{background:#1ebe5d;transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,211,102,0.4)}.contact-side-wa svg{flex-shrink:0;fill:#fff}.contact-side-wa div{display:flex;flex-direction:column;line-height:1.2}.contact-side-wa strong{font-size:14px;font-weight:600;letter-spacing:0.02em;color:#fff}.contact-side-wa span{font-size:12px;opacity:0.92;margin-top:3px;color:#fff}.contact-form-block{width:100%;background:#ffffff;padding:44px 40px;border-radius:16px;box-shadow:0 1px 3px rgba(14,26,38,0.04),0 20px 60px rgba(14,26,38,0.08);border:1px solid rgba(227,223,213,0.6)}.form-clean{display:flex;flex-direction:column;gap:22px}.form-row-clean{width:100%;display:block}.field-clean{display:flex;flex-direction:column;gap:8px;position:relative}.field-clean label{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);font-weight:600;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:6px}.field-clean .optional{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;font-style:italic;font-family:'Fraunces',serif}.field-clean input,.field-clean textarea{width:100%;background:var(--cream);border:2px solid transparent;padding:14px 16px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);outline:none;font-weight:400;letter-spacing:-0.005em;transition:all 0.25s;border-radius:10px;-webkit-appearance:none;appearance:none}.field-clean input:hover,.field-clean textarea:hover{background:#f4f0e7}.field-clean input:focus,.field-clean textarea:focus{background:#ffffff;border-color:var(--brass);box-shadow:0 0 0 4px rgba(169,134,70,0.12)}.field-clean input.field-invalid,.field-clean textarea.field-invalid{border-color:#CF5050;background:#fdf3f3}.field-error-msg{display:none;font-size:12.5px;color:#CF5050;font-family:'Inter',sans-serif;margin-top:-2px}.field-error-msg.show{display:block}.consent-clean.field-invalid .checkmark-clean{border-color:#CF5050}.field-clean input::placeholder,.field-clean textarea::placeholder{color:var(--muted);opacity:0.55;font-weight:300}.field-clean textarea{min-height:110px;line-height:1.5;resize:vertical;font-family:'Inter',sans-serif}.field-clean[data-field="whatsapp"] input:focus{border-color:#25D366;box-shadow:0 0 0 4px rgba(37,211,102,0.12)}.consent-clean{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:13px;line-height:1.5;color:var(--ink-soft);font-weight:400;user-select:none;padding:14px 16px;background:var(--cream);border-radius:10px;transition:background 0.2s;margin:4px 0}.consent-clean:hover{background:#f4f0e7}.consent-clean input{position:absolute;opacity:0;pointer-events:none}.checkmark-clean{flex-shrink:0;width:18px;height:18px;border:2px solid var(--muted);background:#fff;transition:all 0.2s;margin-top:1px;position:relative;border-radius:4px}.consent-clean:hover .checkmark-clean{border-color:var(--ink)}.consent-clean input:checked ~ .checkmark-clean{background:var(--brass);border-color:var(--brass)}.consent-clean input:checked ~ .checkmark-clean::after{content:'';position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.consent-clean a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-weight:500}.consent-clean a:hover{color:var(--brass)}.submit-clean{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 32px;background:var(--ink);color:var(--cream);border:none;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;border-radius:12px;margin-top:8px;box-shadow:0 6px 18px rgba(14,26,38,0.2)}.submit-clean::before{content:'';position:absolute;inset:0;background:var(--brass);transform:translateY(100%);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);z-index:0}.submit-clean:hover::before{transform:translateY(0)}.submit-clean:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(169,134,70,0.35)}.submit-clean > *{position:relative;z-index:1}.submit-clean:disabled{opacity:0.6;cursor:not-allowed;transform:none}.submit-clean .btn-arrow{font-family:'Fraunces',serif;font-style:italic;font-size:18px;letter-spacing:0;transition:transform 0.3s}.submit-clean:hover .btn-arrow{transform:translateX(8px)}.submit-clean .btn-loading{display:none}.submit-clean.loading .btn-label,.submit-clean.loading .btn-arrow{display:none}.submit-clean.loading .btn-loading{display:inline}.form-msg{margin-top:4px;padding:0;font-size:14px;line-height:1.5;opacity:0;max-height:0;overflow:hidden;transition:all 0.35s;border-radius:10px}.form-msg.show{opacity:1;max-height:400px;padding:16px 20px}.form-msg.success{background:rgba(46,160,67,0.1);border-left:4px solid #2EA043;color:#1d6627}.form-msg.error{background:rgba(207,80,80,0.1);border-left:4px solid #CF5050;color:#7d2424}.form-msg a{color:inherit;text-decoration:underline;font-weight:600}.field-decoy{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media (max-width:980px){.contact-grid{grid-template-columns:1fr;gap:40px;max-width:600px}.contact-side{flex-direction:row;flex-wrap:wrap;gap:20px;padding-top:0}.contact-side-block{flex:1;min-width:200px}}@media (max-width:720px){.contact{padding:80px 0 100px}.contact-header{margin-bottom:50px}.contact-header h2{font-size:clamp(40px,10vw,64px)}.contact-form-block{padding:32px 22px;border-radius:14px}.contact-side{flex-direction:column}.form-clean{gap:18px}}.legal-content{font-size:16px;line-height:1.8;color:var(--ink-soft)}.legal-content h2{font-family:'Fraunces',serif;font-size:clamp(26px,3vw,34px);font-weight:400;color:var(--ink);margin:48px 0 16px;letter-spacing:-0.01em}.legal-content h2:first-child{margin-top:0}.legal-content p{margin-bottom:18px}.legal-content ul{margin:0 0 18px 0;padding-left:24px}.legal-content li{margin-bottom:8px;line-height:1.7}.legal-content strong{color:var(--ink);font-weight:600}.legal-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}.legal-content table th{text-align:left;padding:12px 16px;background:var(--cream-2);font-weight:600;color:var(--ink);border-bottom:2px solid var(--line)}.legal-content table td{padding:12px 16px;border-bottom:1px solid var(--line-soft)}.legal-content a{color:var(--brass);text-decoration:underline;text-underline-offset:3px}.btn-primary,.btn-ghost,.nav-cta,.submit-clean,.btn-cta,.contact-side-wa,button[type="submit"]{border-radius:10px !important}.blog-card,.feature-card,.project-card,.model-card,.spec,.post-callout,.post-toc{border-radius:12px}.blog-card{overflow:hidden}.blog-card-img{border-radius:12px 12px 0 0}@media (max-width:768px){.hero-grid{padding-top:110px;padding-bottom:70px}.hero-title{font-size:clamp(52px,15vw,90px)}.hero-tagline{font-size:16px}section{padding-left:0;padding-right:0}.container{padding-left:20px;padding-right:20px}.nav{padding:14px 20px}.nav-menu{display:none}.nav-cta{display:none}.video-item{aspect-ratio:4/3}.display{font-size:clamp(34px,9vw,56px)}.footer-grid{grid-template-columns:1fr;gap:32px}.wa-btn{width:52px;height:52px;bottom:20px;right:20px}.wa-btn svg{width:24px;height:24px}.wa-label{display:none}.legal-content table{display:block;overflow-x:auto;white-space:nowrap}.breadcrumb{font-size:12px;flex-wrap:wrap}}@media (max-width:480px){.hero-title{font-size:clamp(44px,16vw,70px)}.contact-header h2{font-size:clamp(34px,11vw,52px)}.contact-form-block{padding:28px 18px}.container{padding-left:16px;padding-right:16px}}@media (max-width:768px){.nav-menu a,.footer-col a,.breadcrumb a{padding:4px 0;display:inline-block}.btn-primary,.btn-ghost,.submit-clean,.nav-cta{min-height:48px}input,textarea,select{font-size:16px !important}}.home-feature{padding:100px 0;background:var(--cream)}.home-feature--alt{background:var(--cream-2)}.home-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1200px;margin:0 auto}.home-feature-media{border-radius:14px;overflow:hidden;box-shadow:0 24px 50px rgba(14,26,38,0.16)}.home-feature-media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;transition:transform 0.8s cubic-bezier(0.4,0,0.2,1)}.home-feature-media:hover img{transform:scale(1.04)}.home-feature-text .eyebrow{margin-bottom:20px}.home-feature-text h2{font-size:clamp(36px,4vw,60px);line-height:1.05;margin-bottom:20px;color:var(--ink);font-weight:400;letter-spacing:-0.02em}.home-feature-text h2 .italic{color:var(--brass)}.home-feature-text p{font-size:16px;line-height:1.8;color:var(--ink-soft);font-weight:300;margin-bottom:32px}@media (max-width:880px){.home-feature{padding:64px 0}.home-feature-grid{grid-template-columns:1fr;gap:36px}.home-feature-grid--reverse .home-feature-media{order:-1}}.gallery-2col{grid-template-columns:1fr 1fr}.gallery-4col{grid-template-columns:repeat(4,1fr)}@media (max-width:720px){.gallery-2col{grid-template-columns:1fr}.gallery-4col{grid-template-columns:1fr 1fr}}@media (max-width:480px){.gallery-4col{grid-template-columns:1fr 1fr;gap:10px !important}.gallery-4col .video-item{aspect-ratio:1/1}.gallery-4col .video-item-overlay{bottom:10px;left:10px;right:10px}.gallery-4col .video-item-label{font-size:8px;margin-bottom:2px}.gallery-4col .video-item-title{font-size:13px;line-height:1.15}}.video-native-grid{display:grid;gap:24px;margin-top:8px}.video-native-grid.cols-1{grid-template-columns:1fr;max-width:640px;margin-left:auto;margin-right:auto}.video-native-grid.cols-2{grid-template-columns:1fr 1fr}.video-native-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.video-native-item{display:flex;flex-direction:column;gap:10px}.video-native-item video{width:100%;border-radius:12px;box-shadow:0 20px 50px rgba(14,26,38,0.16);background:var(--ink);display:block}.video-native-caption{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:500;text-align:center}@media (max-width:900px){.video-native-grid.cols-2,.video-native-grid.cols-3{grid-template-columns:1fr}}.video-modal{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:60px 24px}.video-modal.open{display:flex}.video-modal-backdrop{position:absolute;inset:0;background:rgba(14,26,38,0.92);backdrop-filter:blur(4px)}.video-modal-content{position:relative;z-index:1;max-width:900px;width:100%}.video-modal-content video{width:100%;max-height:80vh;border-radius:8px;display:block;background:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,0.4)}.video-modal-close{position:absolute;top:-44px;right:0;background:none;border:none;color:var(--cream);font-size:32px;line-height:1;cursor:pointer;padding:4px 8px}@media (max-width:768px){.video-modal{padding:32px 16px}.video-modal-close{top:-38px;font-size:28px}}.zonas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px;margin-top:8px}.zonas-grid li{list-style:none;display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-soft);padding:6px 0}.zonas-grid li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--brass);flex-shrink:0}@media (max-width:768px){.zonas-grid{grid-template-columns:1fr 1fr;gap:10px 20px}}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.testimonial-card{background:var(--cream);border:1px solid var(--line-soft);padding:40px 40px 32px;position:relative;transition:all 0.4s}.testimonial-card:hover{border-color:var(--brass);box-shadow:0 24px 50px rgba(14,26,38,0.08);transform:translateY(-3px)}.testimonial-quote-mark{width:34px;height:26px;color:var(--brass-light);opacity:0.7;margin-bottom:20px}.testimonial-text{font-family:'Fraunces',serif;font-style:italic;font-size:18px;line-height:1.6;color:var(--ink);min-height:100px}.testimonial-author{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.testimonial-avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--ink);color:var(--brass-light);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-style:italic;font-size:15px;letter-spacing:0.02em}.testimonial-author-info{display:flex;flex-direction:column;gap:2px}.testimonial-name{font-size:14px;font-weight:500;color:var(--ink)}.testimonial-project{font-size:12px;color:var(--brass);letter-spacing:0.02em}.testimonial-project:hover{text-decoration:underline}@media (max-width:768px){.testimonial-grid{grid-template-columns:1fr;gap:20px}.testimonial-card{padding:32px 28px 26px}.testimonial-text{font-size:16px;min-height:0}}.footer-credit{text-align:center;padding:20px 0;margin-top:20px;border-top:1px solid rgba(244,239,230,0.08)}.footer-credit a{font-size:13px;font-weight:500;color:#5cacbb;letter-spacing:0.01em;transition:color 0.3s}.footer-credit a:hover{color:var(--cream)}