/* Scoped project design system: 10 visual families × 3 hero compositions. */
.vp-page{--vp-bg:#fff9f4;--vp-ink:#231d1c;--vp-accent:#99182a;--vp-panel:#f1e5df;--vp-line:#bcaeaa;--vp-radius:0px;--vp-heading:Georgia,'Times New Roman',serif;margin:0;background:var(--vp-bg);color:var(--vp-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}.vp-page *,.vp-catalog *{box-sizing:border-box}.vp-page h1,.vp-page h2,.vp-page h3,.vp-page p{margin:0}.vp-page h1,.vp-page h2,.vp-page h3{font-family:var(--vp-heading);line-height:1.07;font-weight:400;letter-spacing:-.045em}.vp-page h1{font-size:clamp(3rem,6.8vw,7.5rem)}.vp-page h2{font-size:clamp(2rem,4vw,4.5rem);margin-bottom:35px}.vp-page h3{font-size:clamp(1.5rem,2.5vw,2.6rem)}.vp-page p{font-size:1rem;line-height:1.75}.vp-page img{display:block;max-width:100%;height:auto}.vp-page a{color:inherit;text-decoration:none}.vp-page a:focus-visible,.vp-page button:focus-visible,.vp-page select:focus-visible,.vp-page input:focus-visible{outline:3px solid var(--vp-accent);outline-offset:5px}.vp-page button,.vp-page select,.vp-page input{font:inherit}.vp-page button{cursor:pointer}.vp-skip{position:fixed;left:15px;top:-100px;z-index:200;background:var(--vp-bg);padding:14px}.vp-skip:focus{top:15px}.vp-header{padding:24px 5vw;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--vp-line)}.vp-header nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.875rem}.vp-brand{font-size:1.15rem;font-weight:700;letter-spacing:-.035em}.vp-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;align-items:stretch}.vp-hero-copy{padding:80px 5vw;align-self:center;position:relative;z-index:1}.vp-eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem!important;margin-bottom:20px!important}.vp-hero h1{margin-bottom:30px}.vp-intro{max-width:580px}.vp-meta{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.vp-meta span{padding:9px 13px;border:1px solid var(--vp-line);font-size:.875rem}.vp-hero-image{min-height:520px;overflow:hidden}.vp-hero-image img{width:100%;height:100%;object-fit:cover}.vp-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;background:var(--vp-accent);color:#fff!important;border:1px solid var(--vp-accent);border-radius:var(--vp-radius);font-size:.9rem;line-height:1.5;text-align:center;text-decoration:none!important}.vp-button:hover{filter:brightness(.9)}.vp-text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:20px}.vp-stats{padding:40px 5vw;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:25px;border-bottom:1px solid var(--vp-line)}.vp-stats strong{display:block;font-family:var(--vp-heading);font-size:2rem;line-height:1.3;font-weight:400}.vp-stats span{font-size:.8rem}.vp-section{padding:85px 5vw;scroll-margin-top:20px}.vp-story{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.vp-story p+p{margin-top:20px}.vp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}.vp-features article{border-top:1px solid var(--vp-line);padding-top:22px}.vp-number{display:block;color:var(--vp-accent);margin-bottom:22px;font-size:.875rem}.vp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.vp-gallery a:first-child:nth-last-child(odd){grid-column:1/-1}.vp-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--vp-radius)}.vp-amenities{background:var(--vp-panel)}.vp-amenities ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px 35px;padding:0;list-style:none}.vp-amenities li{border-bottom:1px solid var(--vp-line);padding:14px 0}.vp-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px}.vp-model{padding:28px;border:1px solid var(--vp-line);border-radius:var(--vp-radius);background:var(--vp-panel)}.vp-model img{width:100%;height:260px;object-fit:contain;background:#fff;margin-bottom:25px}.vp-model h3{margin-bottom:20px}.vp-model dl{margin:25px 0}.vp-model dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--vp-line);padding:10px 0;font-size:.875rem}.vp-model dd{margin:0;text-align:right}.vp-note{font-size:.875rem!important;margin:15px 0!important}.vp-unit-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0;font-size:.875rem}.vp-unit-tools select{padding:10px;background:var(--vp-bg);color:var(--vp-ink);border:1px solid var(--vp-line);margin-left:10px}.vp-table-wrap{overflow:auto}.vp-units{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;min-width:420px}.vp-units th,.vp-units td{padding:18px 14px;border-bottom:1px solid var(--vp-line);vertical-align:middle}.vp-units th{font-weight:600}.vp-units a{text-decoration:underline}.vp-status{padding:6px 9px;white-space:nowrap;border:1px solid var(--vp-line);font-size:.75rem}.vp-status-sold{opacity:.7}.vp-status-available{border-color:var(--vp-accent)}.vp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:25px}.vp-plans img{width:100%;max-height:550px;object-fit:contain;background:white}.vp-embed{aspect-ratio:16/9;min-height:250px;background:var(--vp-panel);display:flex;flex-direction:column;gap:25px;align-items:center;justify-content:center;padding:25px;border:1px solid var(--vp-line);border-radius:var(--vp-radius);overflow:hidden}.vp-embed p{max-width:420px;text-align:center;font-size:.875rem}.vp-embed:has(iframe){padding:0}.vp-embed iframe{width:100%;height:100%;border:0;min-height:250px}.vp-contact{background:var(--vp-panel)}.vp-actions{display:flex;gap:30px;flex-wrap:wrap;align-items:center}.vp-actions .vp-text-link{margin:0}.vp-location p{margin-bottom:25px}.vp-footer{padding:35px 5vw;border-top:1px solid var(--vp-line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.875rem}.vp-variant-cover .vp-hero{position:relative;display:block;min-height:85vh;color:white}.vp-variant-cover .vp-hero-copy{padding:120px 7vw;max-width:1050px}.vp-variant-cover .vp-hero-image{position:absolute;inset:0}.vp-variant-cover .vp-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0005)}.vp-variant-cover .vp-meta span{border-color:#ffffff88}.vp-variant-type .vp-hero{display:block}.vp-variant-type .vp-hero-copy{max-width:1200px;padding-bottom:55px}.vp-variant-type .vp-hero h1{font-size:clamp(3.2rem,9vw,10rem)}.vp-variant-type .vp-hero-image{margin:0 5vw;height:600px;min-height:0}.vp-no-image .vp-hero{display:block;min-height:0;color:var(--vp-ink)}.vp-no-image .vp-hero-copy{max-width:1100px}.vp-no-image.vp-variant-cover .vp-meta span{border-color:var(--vp-line)}.vp-no-image .vp-hero h1{max-width:1000px}.vp-page [hidden]{display:none!important}
/* Brutalism: hard edges, thick rules, bold typography and offset panels. */
.vp-style-brutalista{--vp-bg:#f1f132;--vp-ink:#0a0a0a;--vp-accent:#121212;--vp-panel:#fff;--vp-line:#121212;--vp-heading:Arial,Helvetica,sans-serif}.vp-style-brutalista h1,.vp-style-brutalista h2{font-weight:900;text-transform:uppercase;letter-spacing:-.07em}.vp-style-brutalista .vp-header,.vp-style-brutalista .vp-stats{border-width:3px}.vp-style-brutalista .vp-model{border-width:3px;box-shadow:7px 7px 0 #121212}.vp-style-brutalista .vp-hero-copy{padding-top:55px;padding-bottom:55px}.vp-style-brutalista .vp-button{box-shadow:5px 5px 0 #777}
/* Glass: layered translucent surfaces and luminous depth. */
.vp-style-glass{--vp-bg:#0e1530;--vp-ink:#f4f6ff;--vp-accent:#3658cf;--vp-panel:#ffffff10;--vp-line:#ffffff40;--vp-radius:24px;--vp-heading:Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at 0 20%,#283e72,transparent 50%),radial-gradient(ellipse at 100% 70%,#493055,transparent 50%),var(--vp-bg)}.vp-style-glass .vp-model,.vp-style-glass .vp-stats,.vp-style-glass .vp-contact{backdrop-filter:blur(18px);background:#ffffff12;box-shadow:0 20px 80px #0002}.vp-style-glass .vp-hero-image{margin:35px;border-radius:30px}.vp-style-glass .vp-button{border-color:#ffffff60}.vp-style-glass h1{font-weight:300}
/* Swiss: strong alignment and a clear typographic hierarchy. */
.vp-style-suizo{--vp-bg:#fff;--vp-ink:#111;--vp-accent:#c62321;--vp-panel:#f0f0f0;--vp-line:#111;--vp-heading:Arial,Helvetica,sans-serif}.vp-style-suizo h1,.vp-style-suizo h2{font-weight:800}.vp-style-suizo .vp-hero{grid-template-columns:1.2fr 1fr}.vp-style-suizo .vp-section{border-top:1px solid #111}.vp-style-suizo .vp-eyebrow{color:var(--vp-accent);font-weight:700}.vp-style-suizo .vp-gallery{gap:6px}.vp-style-suizo .vp-model{border:0;border-top:5px solid var(--vp-accent)}
/* Contemporary Mexican: earth, saturated accent, architectural curves. */
.vp-style-mexicano{--vp-bg:#f9ecd8;--vp-ink:#3b241c;--vp-accent:#a62858;--vp-panel:#eed4b3;--vp-line:#b28d69;--vp-heading:Georgia,serif}.vp-style-mexicano .vp-hero-image{border-radius:48% 48% 0 0;margin:35px}.vp-style-mexicano .vp-amenities{border-top:14px solid var(--vp-accent)}.vp-style-mexicano .vp-model{border-radius:100px 100px 8px 8px;padding-top:45px}.vp-style-mexicano h1{font-style:italic}
/* Sketch: drafting grid and outlined accents. */
.vp-style-sketch{--vp-bg:#f7f7ed;--vp-ink:#223b4a;--vp-accent:#285d81;--vp-panel:#edf0e4;--vp-line:#718594;--vp-heading:'Courier New',monospace;background-image:linear-gradient(#223b4a08 1px,transparent 1px),linear-gradient(90deg,#223b4a08 1px,transparent 1px);background-size:24px 24px}.vp-style-sketch .vp-model,.vp-style-sketch .vp-meta span{border:2px dashed var(--vp-line)}.vp-style-sketch .vp-hero-image{padding:18px;border:1px solid var(--vp-ink);margin:28px;transform:rotate(-1deg)}.vp-style-sketch .vp-number{font-family:monospace}.vp-style-sketch .vp-section h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:12px}
/* Urban apartment: useful detail and soft modular cards. */
.vp-style-departamento{--vp-bg:#fff;--vp-ink:#18312c;--vp-accent:#17664f;--vp-panel:#eef5f1;--vp-line:#b4ccc0;--vp-radius:18px;--vp-heading:Arial,Helvetica,sans-serif}.vp-style-departamento .vp-hero-image{margin:28px;border-radius:24px}.vp-style-departamento .vp-stats{margin:0 5vw;border:1px solid var(--vp-line);border-radius:18px;background:var(--vp-panel)}.vp-style-departamento h1{font-weight:700}.vp-style-departamento .vp-model{border:0}
/* Classical: symmetry and fine double rules. */
.vp-style-clasico{--vp-bg:#faf6ee;--vp-ink:#2e302b;--vp-accent:#6c5a36;--vp-panel:#eee7d8;--vp-line:#b9ad93;--vp-heading:Georgia,serif}.vp-style-clasico .vp-header{border-bottom:3px double var(--vp-line)}.vp-style-clasico .vp-section>h2,.vp-style-clasico .vp-hero-copy{text-align:center}.vp-style-clasico .vp-meta{justify-content:center}.vp-style-clasico .vp-model{border:4px double var(--vp-line)}.vp-style-clasico .vp-hero-image{padding:20px;border:3px double var(--vp-line);margin:35px}.vp-style-clasico .vp-eyebrow{letter-spacing:.22em}.vp-style-clasico h1{letter-spacing:-.04em}
/* Constructivist: structural contrast and geometric emphasis. */
.vp-style-constructivista{--vp-bg:#efe8d8;--vp-ink:#151515;--vp-accent:#ad281f;--vp-panel:#ded7c7;--vp-line:#151515;--vp-heading:Arial,Helvetica,sans-serif}.vp-style-constructivista h1,.vp-style-constructivista h2{font-weight:900;text-transform:uppercase}.vp-style-constructivista .vp-hero-copy{border-left:22px solid var(--vp-accent)}.vp-style-constructivista .vp-eyebrow{display:inline-block;background:var(--vp-accent);color:#fff;padding:8px 15px;transform:rotate(-3deg)}.vp-style-constructivista .vp-features article{border-top:8px solid var(--vp-ink)}.vp-style-constructivista .vp-model{box-shadow:10px 10px 0 var(--vp-accent);border:2px solid var(--vp-ink)}.vp-style-constructivista .vp-gallery{gap:40px}.vp-style-constructivista .vp-contact{border-top:18px solid var(--vp-accent)}
/* Minimalism: restrained typography and generous negative space. */
.vp-style-minimalista{--vp-bg:#fff;--vp-ink:#252525;--vp-accent:#303030;--vp-panel:#f8f8f8;--vp-line:#dedede;--vp-heading:Arial,Helvetica,sans-serif}.vp-style-minimalista .vp-section{padding-top:120px;padding-bottom:120px}.vp-style-minimalista h1{font-size:clamp(3rem,5.5vw,6rem);font-weight:300}.vp-style-minimalista .vp-model{border:0;background:transparent}.vp-style-minimalista .vp-button{background:transparent;color:var(--vp-ink)!important}.vp-style-minimalista .vp-meta span{border:0;padding-left:0}.vp-style-minimalista .vp-header{border:0}.vp-style-minimalista .vp-gallery{gap:50px}
.vp-directory{--vp-bg:#111;--vp-ink:#ffe9ec;--vp-accent:#99182a;--vp-panel:#21191b;--vp-line:#ffffff30}.vp-directory-hero{padding:80px 5vw}.vp-directory-hero h1{margin:20px 0 30px}.vp-directory-hero em{color:#db559a}.vp-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:35px}.vp-card{border:1px solid var(--vp-line,#ddd);background:var(--vp-panel,#fff);color:var(--vp-ink,#222)}.vp-card a{color:inherit;text-decoration:none;display:block;padding:22px}.vp-card img{width:100%;height:240px;object-fit:cover;margin-bottom:25px}.vp-card h2{font-family:Georgia,serif;font-size:1.8rem;line-height:1.2;margin:15px 0}.vp-card p{margin:10px 0}.vp-card span{display:inline-block;border-bottom:1px solid;margin-top:20px;font-size:.875rem}.vp-search{margin-bottom:40px}.vp-search label{display:block;margin-bottom:12px}.vp-search>div{display:flex;gap:12px;max-width:600px}.vp-search input{flex:1;min-width:0;padding:14px;background:transparent;color:inherit;border:1px solid var(--vp-line)}.vp-pagination{display:flex;gap:15px;margin-top:35px;flex-wrap:wrap}.vp-pagination a,.vp-pagination span{padding:8px 12px;border:1px solid var(--vp-line)}
@media(max-width:760px){.vp-header{align-items:flex-start;flex-direction:column;gap:15px}.vp-header nav{gap:14px;font-size:.8rem}.vp-hero{display:flex!important;flex-direction:column;min-height:0}.vp-hero-copy{padding:50px 6vw!important}.vp-hero h1{font-size:clamp(2.8rem,12vw,4.4rem)!important}.vp-hero-image{height:360px;min-height:0;flex-shrink:0}.vp-stats{grid-template-columns:repeat(2,1fr);padding:30px 6vw}.vp-section{padding:60px 6vw!important}.vp-story{grid-template-columns:1fr;gap:5px}.vp-gallery{grid-template-columns:1fr;gap:20px!important}.vp-gallery a{grid-column:auto!important}.vp-variant-cover .vp-hero{min-height:650px}.vp-variant-cover .vp-hero-copy{padding-top:90px!important;padding-bottom:90px!important}.vp-variant-cover .vp-hero-image{height:100%;margin:0;border-radius:0;border:0;padding:0;transform:none}.vp-variant-type .vp-hero-image{height:350px}.vp-no-image .vp-hero{min-height:0}.vp-model{padding:22px}.vp-unit-tools{align-items:flex-start;flex-direction:column}.vp-search>div{flex-wrap:wrap}.vp-search input{width:100%}.vp-embed{min-height:280px}.vp-directory-hero{padding:60px 6vw}.vp-footer{padding:28px 6vw}.vp-style-glass .vp-hero-image,.vp-style-mexicano .vp-hero-image,.vp-style-departamento .vp-hero-image,.vp-style-clasico .vp-hero-image,.vp-style-sketch .vp-hero-image{margin:20px}.vp-style-minimalista .vp-section{padding-top:70px;padding-bottom:70px}}
@media(prefers-reduced-motion:no-preference){.vp-page{scroll-behavior:smooth}.vp-gallery img{transition:transform .5s}.vp-gallery a{overflow:hidden}.vp-gallery a:hover img{transform:scale(1.025)}}
/* Cover variants keep the image as a full background for every family. */
.vp-variant-cover .vp-hero-image{margin:0;border:0;border-radius:0;padding:0;transform:none}
.vp-variant-cover:not(.vp-no-image) .vp-button{background:#191919;color:#fff!important;border-color:#ffffff88}
.vp-page h1,.vp-page h2,.vp-page h3,.vp-page p,.vp-page dd{overflow-wrap:anywhere}
.vp-panorama-canvas{height:clamp(330px,60vh,650px);width:100%;margin:25px 0;background:#111;border:1px solid var(--vp-line)}.vp-panorama-controls{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.vp-panorama-controls select{max-width:100%;padding:12px;background:var(--vp-bg);color:var(--vp-ink)}.vp-tour-start{margin-top:20px}.vp-tour-status{margin:18px 0!important}.vp-panoramas summary{cursor:pointer;text-decoration:underline}.vp-panoramas details a{text-decoration:underline}.vp-panorama-canvas .pnlm-controls{color:#111}.vp-panorama-canvas .pnlm-load-box{color:white}
.vp-tour-hotspot{width:44px;height:44px;border-radius:50%;background:#fff;color:#111;border:3px solid #99182a;box-shadow:0 0 0 7px #fff5;cursor:pointer;display:grid;place-items:center;font:bold 24px Arial}.vp-tour-hotspot:focus-visible{outline:4px solid #db559a;outline-offset:7px}

/* Keep explicit dimensions after Pannellum adds its container class. */
.vp-panoramas .vp-panorama-canvas.pnlm-container{height:clamp(330px,60vh,650px);min-height:330px;width:100%;margin:25px 0;background:#111;color:#fff}.vp-panoramas .vp-panorama-canvas:fullscreen{height:100vh!important}
