:root{--primary-color:#234163;--secondary-color:#019fe6;--background-color:#f6f8fb;--surface-color:#ffffff;--ink-color:#172337;--muted-color:#667085;--line-color:#dce5ee;--soft-blue:#e8f6fd;--text-color:#253247;--shadow-sm:0 10px 25px rgba(35,65,99,0.08);--shadow-md:0 18px 45px rgba(35,65,99,0.14);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color)}a{color:inherit}button,input,select{font:inherit}img{display:block;max-width:100%}.App{min-height:100vh;background:var(--background-color)}main{min-height:70vh}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);color:var(--primary-color);padding:.75rem clamp(1rem,4vw,4rem);justify-content:space-between;border-bottom:1px solid rgba(35,65,99,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header,.logo{display:flex;align-items:center}.logo{gap:.75rem;text-decoration:none;font-weight:800}.logo img{height:54px;width:100px;object-fit:contain}.brand-meta{display:grid;grid-gap:.1rem;gap:.1rem}.brand-meta strong{color:var(--primary-color);font-size:.96rem;line-height:1.2}.main-nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2rem)}.main-nav a{color:var(--ink-color);text-decoration:none;font-size:.96rem;font-weight:650}.main-nav a:hover{color:var(--secondary-color)}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 1.1rem;border-radius:6px;background:var(--secondary-color);color:white;font-weight:750;text-decoration:none;box-shadow:0 12px 24px rgba(1,159,230,.22);gap:.45rem}.whatsapp-icon{width:1rem;height:1rem;flex:0 0 auto}.listings-page{overflow:hidden}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);grid-gap:clamp(2rem,5vw,5rem);gap:clamp(2rem,5vw,5rem);align-items:center;min-height:calc(100vh - 80px);padding:clamp(3rem,7vw,6rem) clamp(1rem,5vw,5rem);background:linear-gradient(110deg,rgba(35,65,99,.94),rgba(35,65,99,.78)),url(https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1800&q=80) 50%/cover;color:white}.hero-content{max-width:780px}.eyebrow{margin:0 0 .85rem;color:var(--secondary-color);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:760px;margin:0;color:white;font-size:clamp(2.35rem,5vw,4.9rem);line-height:1.02}.hero-copy{max-width:650px;margin:1.35rem 0 2rem;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75}.search-panel{display:grid;grid-template-columns:.8fr .8fr 1.2fr auto;grid-gap:.75rem;gap:.75rem;max-width:920px;padding:.8rem;border-radius:var(--radius);background:rgba(255,255,255,.96);box-shadow:var(--shadow-md)}.search-panel label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--muted-color);font-size:.78rem;font-weight:750;text-transform:uppercase}.search-panel input,.search-panel select{width:100%;min-height:46px;border:1px solid var(--line-color);border-radius:6px;padding:0 .85rem;color:var(--ink-color);background:white;outline:none}.search-panel input:focus,.search-panel select:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(1,159,230,.14)}.search-panel button{align-self:end;min-height:46px;border:0;border-radius:6px;padding:0 1.35rem;color:white;background:var(--secondary-color);font-weight:800;cursor:pointer}.hero-card{overflow:hidden;border-radius:var(--radius);background:white;color:var(--ink-color);box-shadow:0 24px 70px rgba(0,0,0,.28)}.hero-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-card-info{padding:1.4rem}.hero-card-info span,.property-image span{display:inline-flex;align-items:center;min-height:28px;padding:0 .7rem;border-radius:999px;background:var(--soft-blue);color:var(--secondary-color);font-size:.75rem;font-weight:850;text-transform:uppercase}.hero-card-info h2{margin:.85rem 0 .35rem;color:var(--primary-color);font-size:1.45rem;line-height:1.2}.hero-card-info p{margin:0 0 1rem;color:var(--muted-color)}.hero-card-info strong{color:var(--primary-color);font-size:1.5rem}.stats-band{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line-color);border-bottom:1px solid var(--line-color)}.stats-band div{padding:2rem clamp(1rem,4vw,4rem);background:white}.stats-band strong{display:block;color:var(--primary-color);font-size:clamp(2rem,4vw,3.5rem);line-height:1}.stats-band span{display:block;margin-top:.4rem;color:var(--muted-color);font-weight:650}.section-shell,.services-section{padding:clamp(3.5rem,7vw,6rem) clamp(1rem,5vw,5rem)}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;max-width:none}.section-heading-row>div{max-width:760px}.section-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:6px;padding:0 1rem;background:var(--primary-color);color:white;font-weight:780;text-decoration:none;white-space:nowrap}.contact-strip h2,.section-heading h2{margin:0;color:var(--primary-color);font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.08}.section-heading p:last-child{margin:1rem 0 0;color:var(--muted-color);line-height:1.7}.property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.property-card{overflow:hidden;border:1px solid var(--line-color);border-radius:var(--radius);background:white;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.property-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.property-image{position:relative;display:block;color:inherit;text-decoration:none}.property-image img{width:100%;aspect-ratio:1.35/1;object-fit:cover}.property-image span{position:absolute;left:.85rem;top:.85rem;background:rgba(255,255,255,.94)}.property-body{padding:1.1rem}.property-facts,.property-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted-color);font-size:.86rem}.property-meta span:first-child{color:var(--secondary-color);font-weight:800}.property-body h3{min-height:3.2rem;margin:.75rem 0 .6rem;color:var(--primary-color);font-size:1.16rem;line-height:1.28}.property-body p{min-height:4.8rem;margin:0;color:var(--muted-color);line-height:1.55}.property-facts{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-color)}.property-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.property-footer strong{color:var(--ink-color);font-size:1.08rem}.contact-strip a,.property-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:6px;padding:0 1rem;background:var(--primary-color);color:white;font-weight:780;text-decoration:none;white-space:nowrap}.services-section{background:white}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.service-card{border:1px solid var(--line-color);border-radius:var(--radius);padding:1.5rem;background:linear-gradient(180deg,white,#f9fcff)}.service-card h3{margin:0 0 .75rem;color:var(--primary-color);font-size:1.2rem}.service-card p{margin:0;color:var(--muted-color);line-height:1.65}.contact-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:clamp(1rem,4vw,4rem);padding:clamp(2rem,5vw,4rem);border-radius:var(--radius);background:var(--primary-color);color:white}.contact-strip h2{max-width:820px;color:white}.contact-strip a{background:var(--secondary-color)}.properties-page{background:var(--background-color)}.properties-hero{padding:clamp(3rem,7vw,6rem) clamp(1rem,5vw,5rem);background:linear-gradient(110deg,rgba(35,65,99,.95),rgba(35,65,99,.76)),url(https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1800&q=80) 50%/cover;color:white}.properties-hero h1{max-width:820px;margin:0;font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.03}.properties-hero p:last-child{max-width:680px;margin:1.2rem 0 0;color:rgba(255,255,255,.84);font-size:1.08rem;line-height:1.7}.catalog-shell{padding:clamp(2rem,5vw,4rem) clamp(1rem,5vw,5rem)}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.4rem 0 1rem}.catalog-toolbar strong{color:var(--primary-color);font-size:1.5rem}.catalog-toolbar span{margin-left:.35rem;color:var(--muted-color);font-weight:650}.catalog-toolbar label{display:flex;align-items:center;gap:.7rem;color:var(--muted-color);font-size:.82rem;font-weight:800;text-transform:uppercase}.catalog-toolbar select{min-height:42px;border:1px solid var(--line-color);border-radius:6px;padding:0 .8rem;color:var(--ink-color);background:white}.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.active-filters button{min-height:34px;border:1px solid rgba(1,159,230,.22);border-radius:999px;padding:0 .8rem;background:var(--soft-blue);color:var(--primary-color);font-weight:750;cursor:pointer}.active-filters button:last-child{border-color:var(--line-color);background:white}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.no-results{border:1px solid var(--line-color);border-radius:var(--radius);padding:clamp(2rem,5vw,4rem);background:white;text-align:center;box-shadow:var(--shadow-sm)}.no-results h2{margin:0 0 .75rem;color:var(--primary-color)}.no-results p{margin:0 0 1.5rem;color:var(--muted-color)}.no-results button{min-height:44px;border:0;border-radius:6px;padding:0 1.1rem;background:var(--secondary-color);color:white;font-weight:800;cursor:pointer}.filter-bar{display:grid;grid-template-columns:1.4fr repeat(5,minmax(140px,1fr)) auto;grid-gap:.75rem;gap:.75rem;align-items:end;border:1px solid var(--line-color);border-radius:var(--radius);padding:1rem;background:white;box-shadow:var(--shadow-sm)}.filter-field{display:grid;grid-gap:.4rem;gap:.4rem;color:var(--muted-color);font-size:.76rem;font-weight:800;text-transform:uppercase}.filter-field input,.filter-field select{width:100%;min-height:44px;border:1px solid var(--line-color);border-radius:6px;padding:0 .8rem;color:var(--ink-color);background:white;outline:none}.filter-field input:focus,.filter-field select:focus{border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(1,159,230,.14)}.filter-actions{display:flex;gap:.5rem}.filter-actions button{min-height:44px;border:0;border-radius:6px;padding:0 1rem;font-weight:800;cursor:pointer;white-space:nowrap}.filter-actions button:first-child{background:var(--secondary-color);color:white}.filter-actions button:last-child{border:1px solid var(--line-color);background:white;color:var(--primary-color)}.property-detail{background:var(--background-color)}.detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,5rem) 2rem;background:white}.back-link{display:inline-flex;margin-bottom:1.25rem;color:var(--secondary-color);font-weight:780;text-decoration:none}.detail-hero h1{max-width:850px;margin:0;color:var(--primary-color);font-size:clamp(2.25rem,5vw,4.6rem);line-height:1.04}.detail-hero p:last-child{margin:1rem 0 0;color:var(--muted-color);font-size:1.08rem}.detail-price{min-width:260px;border:1px solid var(--line-color);border-radius:var(--radius);padding:1.25rem;background:var(--soft-blue)}.detail-price span{display:block;color:var(--muted-color);font-size:.84rem;font-weight:750;text-transform:uppercase}.detail-price strong{display:block;margin-top:.35rem;color:var(--primary-color);font-size:1.8rem}.gallery{display:grid;grid-template-columns:1.3fr .85fr .85fr;grid-gap:.75rem;gap:.75rem;padding:0 clamp(1rem,5vw,5rem) 2.5rem;background:white}.gallery img{width:100%;height:100%;min-height:260px;border-radius:var(--radius);object-fit:cover}.gallery img:first-child{grid-row:span 2;min-height:540px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:2rem;gap:2rem;padding:clamp(2.5rem,5vw,4rem) clamp(1rem,5vw,5rem)}.detail-main{min-width:0}.facts-panel{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line-color);border-radius:var(--radius);background:var(--line-color);box-shadow:var(--shadow-sm)}.facts-panel div{padding:1.25rem;background:white}.facts-panel strong{display:block;color:var(--primary-color);font-size:1.25rem}.facts-panel span{display:block;margin-top:.35rem;color:var(--muted-color);font-size:.88rem}.detail-section{margin-top:1.25rem;border:1px solid var(--line-color);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2rem);background:white}.contact-card h2,.detail-section h2,.not-found h2{margin:0 0 1rem;color:var(--primary-color);font-size:1.65rem}.detail-section p{margin:0 0 1rem;color:var(--text-color);line-height:1.75}.detail-section p:last-child{margin-bottom:0}.amenities{display:flex;flex-wrap:wrap;gap:.65rem}.amenities span{display:inline-flex;align-items:center;min-height:36px;border:1px solid rgba(1,159,230,.25);border-radius:999px;padding:0 .9rem;background:var(--soft-blue);color:var(--primary-color);font-weight:700}.contact-card{position:-webkit-sticky;position:sticky;top:100px;align-self:start;border:1px solid var(--line-color);border-radius:var(--radius);padding:1.5rem;background:white;box-shadow:var(--shadow-sm)}.contact-card p:not(.eyebrow){color:var(--muted-color);line-height:1.65}.contact-card a,.not-found a{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:.75rem;border-radius:6px;background:var(--secondary-color);color:white;font-weight:800;text-decoration:none}.contact-card a{gap:.45rem}.contact-card .secondary-action{border:1px solid var(--line-color);background:white;color:var(--primary-color)}.not-found{min-height:60vh;padding:clamp(3rem,8vw,6rem) clamp(1rem,5vw,5rem);text-align:center}.not-found a{display:inline-flex;padding:0 1rem}.footer{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-gap:2rem;gap:2rem;padding:3rem clamp(1rem,5vw,5rem) 1.5rem;background:#172f4e;color:rgba(255,255,255,.82)}.footer img{width:82px;height:82px;margin-bottom:1rem;object-fit:contain;filter:brightness(0) invert(1)}.footer h2{margin:0 0 1rem;color:white;font-size:1rem}.footer p{max-width:420px;margin:0 0 .5rem;line-height:1.65}.contact-whatsapp{display:inline-flex;align-items:center;gap:.45rem}.footer-legal-link,.footer-license{color:white;font-weight:700}.footer-legal-link{display:inline-flex;align-items:center;min-height:38px;margin-top:.5rem;border:1px solid rgba(255,255,255,.28);border-radius:6px;padding:0 .8rem;text-decoration:none}.footer-legal-link:hover{background:rgba(255,255,255,.1)}.footer small{grid-column:1/-1;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.62)}@media (max-width:1180px){.catalog-grid,.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-actions,.filter-field-wide{grid-column:1/-1}}@media (max-width:980px){.detail-hero,.detail-layout{grid-template-columns:1fr}.detail-hero{align-items:flex-start;flex-direction:column}.detail-price{width:100%}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-column:1/-1;min-height:380px}.contact-card{position:static}}@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.search-panel{grid-template-columns:1fr 1fr}.search-panel button{grid-column:1/-1}.services-grid{grid-template-columns:1fr}.contact-strip,.section-heading-row{align-items:flex-start;flex-direction:column}}@media (max-width:760px){.header{align-items:flex-start;flex-wrap:wrap;gap:.75rem}.main-nav{order:3;width:100%;justify-content:space-between;overflow-x:auto;padding-top:.35rem}.main-nav a{white-space:nowrap;font-size:.9rem}.header-cta{min-height:38px;padding:0 .85rem}.footer{grid-template-columns:1fr}}@media (max-width:700px){.catalog-toolbar,.catalog-toolbar label{align-items:flex-start;flex-direction:column}.catalog-toolbar label{width:100%}.catalog-grid,.catalog-toolbar select{width:100%;grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.filter-actions{flex-direction:column}}@media (max-width:640px){.facts-panel,.gallery,.property-grid,.search-panel,.stats-band{grid-template-columns:1fr}.hero{padding-top:2.5rem}.property-body h3,.property-body p{min-height:auto}.property-footer{align-items:flex-start;flex-direction:column}.gallery img,.gallery img:first-child{min-height:260px}}