.storefront.habita-site { --habita-ink: #f1f1f1; container-type: inline-size; display: flex; flex: 1 1 0; flex-direction: column; width: 100%; min-width: 0; height: 100%; min-height: 0; padding-bottom: 0; overflow-x: hidden; overflow-y: auto; background: #101010; color: var(--habita-ink); font: 16px/1.55 Inter, "DM Sans", system-ui, sans-serif; scroll-behavior: smooth; scroll-padding-top: 76px; }
.habita-site > section { flex: 0 0 auto; }
.habita-site * { box-sizing: border-box; }
.habita-site :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #bcbcbc; outline-offset: 3px; }
.habita-site :is(#filosofia, #propiedades, #financiamiento, #contacto) { scroll-margin-top: 70px; }
.habita-header { position: sticky; z-index: 8; top: 0; display: flex; flex: 0 0 78px; align-items: center; gap: clamp(20px, 3vw, 42px); width: 100%; height: 78px; padding: 0 clamp(24px, 6vw, 100px); background: linear-gradient(105deg, #090909ed, #292929e8); color: #f9f9f9; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: height .24s ease, flex-basis .24s ease, background .24s ease, box-shadow .24s ease; }
.habita-header.is-compact { flex-basis: 62px; height: 62px; background: linear-gradient(105deg, #080808f5, #202020f2); box-shadow: 0 12px 30px #00000040; }
.habita-brand { display: inline-flex; flex: none; align-items: center; gap: 10px; color: #f9f9f9; font: 650 24px/1 Georgia, serif; letter-spacing: .07em; text-decoration: none; white-space: nowrap; }
.habita-brand-mark { display: grid; flex: none; place-items: center; width: 39px; height: 39px; border: 1px solid #d1d1d194; border-radius: 50%; color: #d6d6d6; font-size: 18px; letter-spacing: 0; }
.habita-brand small { display: block; margin-top: 5px; color: #cacaca; font: 750 8px Inter, "DM Sans", sans-serif; letter-spacing: .15em; }
.habita-nav { display: flex; align-items: center; gap: clamp(18px, 2.3vw, 36px); margin-left: auto; }
.habita-nav a { position: relative; padding: 9px 0; color: #d9d9d9; font-size: 13px; font-weight: 650; text-decoration: none; transition: color .2s ease; }
.habita-nav a::after { position: absolute; right: 100%; bottom: 2px; left: 0; height: 1px; background: #b4b4b4; content: ""; transition: right .22s ease; }
.habita-nav a:hover, .habita-nav a:focus-visible { color: #fff; }
.habita-nav a:hover::after, .habita-nav a:focus-visible::after { right: 0; }
.habita-header-action { display: inline-flex; flex: none; align-items: center; gap: 11px; min-height: 42px; padding: 0 16px; border: 1px solid #c8c8c8; border-radius: 3px; color: #f9f9f9; font-size: 12px; font-weight: 750; text-decoration: none; white-space: nowrap; transition: background .2s ease, transform .2s ease; }
.habita-header-action:hover { transform: translateY(-1px); background: #d3d3d326; }
.habita-menu-toggle { display: none; }
.habita-hero { position: relative; display: grid; flex: none; place-items: center; min-height: clamp(540px, 75vh, 840px); overflow: hidden; padding: 100px 24px; background: #111; color: #fafafa; text-align: center; isolation: isolate; }
.habita-hero::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(115deg, #090909ed 5%, #202020c9 52%, #45454585), linear-gradient(0deg, #050505d9, transparent 65%); content: ""; }
.habita-hero::after { position: absolute; z-index: -1; inset: -35% 15% auto -20%; height: 105%; border-radius: 50%; background: radial-gradient(ellipse, #7f7f7f4d, transparent 68%); content: ""; pointer-events: none; }
.habita-hero-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82); }
.habita-hero-content { position: relative; width: min(850px, 100%); text-shadow: 0 2px 24px #1c1c1c80; }
.habita-eyebrow, .habita-section-index { display: inline-flex; align-items: center; gap: 10px; color: #b4b4b4; font-size: 11px; font-weight: 750; letter-spacing: .17em; }
.habita-hero h1 { max-width: 850px; margin: 25px auto 22px; font: 500 clamp(50px, 6.5cqw, 88px)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.046em; text-wrap: balance; }
.habita-hero h1 em { color: #c9c9c9; font-weight: 400; }
.habita-hero p { max-width: 665px; margin: 0 auto; color: #e8e8e8; font-size: clamp(16px, 1.5cqw, 20px); line-height: 1.72; text-wrap: pretty; }
.habita-hero-action, .habita-detail-cta { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 51px; padding: 0 22px; border: 1px solid #cecece; border-radius: 3px; background: #cecece; color: #353535; font-size: 13px; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.habita-hero-action { margin-top: 34px; }
.habita-hero-action:hover, .habita-detail-cta:hover { transform: translateY(-2px); background: #dcdcdc; }
.habita-hero-caption { position: absolute; bottom: 28px; color: #dcdcdc; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.habita-intro { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: clamp(28px, 6cqw, 100px); overflow: hidden; padding: clamp(75px, 8cqw, 122px) clamp(28px, 8cqw, 135px); background: linear-gradient(125deg, #151515, #272727 65%, #3b3b3b); }
.habita-intro::before { position: absolute; top: -130px; right: -135px; width: 340px; height: 340px; border: 1px solid #8b8b8b45; border-radius: 50%; box-shadow: 0 0 0 55px #87878712, 0 0 0 110px #8787870a; content: ""; pointer-events: none; }
.habita-intro > * { position: relative; }
.habita-intro h2, .habita-section-heading h2, .habita-contact h2 { margin: 16px 0 0; font: 500 clamp(38px, 4.2cqw, 62px)/1.12 Georgia, serif; letter-spacing: -.04em; text-wrap: balance; }
.habita-intro h2 em, .habita-contact h2 em { color: #c5c5c5; font-weight: 400; }
.habita-intro p { max-width: 540px; margin: 0 0 4px; color: #cecece; font-size: 16px; line-height: 1.85; }
.habita-listings { padding: clamp(70px, 7cqw, 112px) clamp(28px, 8cqw, 135px); background: linear-gradient(180deg, #0d0d0d, #1b1b1b 70%); }
.habita-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 34px; }
.habita-section-heading h2 { max-width: 650px; margin: 10px 0 0; }
.habita-section-heading p { max-width: 300px; margin: 0 0 4px; color: #c0c0c0; font-size: 14px; line-height: 1.7; }
.habita-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.habita-property-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid #3c3c3c; border-radius: 13px; background: #242424; box-shadow: 0 10px 30px #00000030; cursor: pointer; transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease; }
.habita-property-card:hover { transform: translateY(-5px); border-color: #a3a3a3; box-shadow: 0 20px 40px #00000060; }
.habita-card-image { position: relative; display: block; height: clamp(185px, 23cqw, 275px); overflow: hidden; background: #bfbfbf; }
.habita-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.habita-property-card:hover .habita-card-image img { transform: scale(1.055); }
.habita-card-image > span, .habita-detail-image > span { position: absolute; top: 15px; left: 15px; padding: 7px 10px; border-radius: 2px; background: #f3f3f3ee; color: #484848; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.habita-card-share { position: absolute; z-index: 1; top: 12px; right: 12px; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #ffffffa6; border-radius: 50%; background: #edededee; color: #484848; font-size: 13px; cursor: pointer; transition: transform .18s ease, background .18s ease; }
.habita-card-share:hover { transform: scale(1.08); background: #fff; }
.habita-card-body { padding: 21px 21px 19px; }
.habita-card-location, .habita-detail-location { color: #bdbdbd; font-size: 11px; font-weight: 650; }
.habita-card-location i, .habita-detail-location i { margin-right: 4px; color: #a8a8a8; }
.habita-card-title { display: block; margin-top: 8px; color: #f2f2f2; font: 500 clamp(24px, 2.1cqw, 32px)/1.17 Georgia, serif; letter-spacing: -.025em; text-decoration: none; }
.habita-card-title:hover { color: #cecece; }
.habita-card-meta { display: flex; flex-wrap: wrap; gap: 9px 17px; margin: 17px 0 18px; color: #c3c3c3; font-size: 11px; }
.habita-card-meta i { margin-right: 3px; color: #a8a8a8; }
.habita-card-bottom { display: flex; align-items: end; justify-content: space-between; gap: 10px; padding-top: 17px; border-top: 1px solid #484848; }
.habita-card-bottom small, .habita-detail-price span { display: block; color: #b7b7b7; font-size: 10px; font-weight: 650; }
.habita-card-bottom strong { display: block; margin-top: 3px; color: #f2f2f2; font-size: clamp(17px, 1.4cqw, 22px); white-space: nowrap; }
.habita-card-bottom a { display: inline-flex; align-items: center; gap: 7px; color: #d4d4d4; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.habita-card-bottom a:hover { color: #fff; }
.habita-data-note { margin: 20px 0 0; color: #a8a8a8; font-size: 11px; }
.habita-search { display: grid; gap: 25px; margin: 0 0 26px; padding: clamp(22px, 3cqw, 35px); border: 1px solid #484848; border-radius: 18px; background: linear-gradient(130deg, #252525, #1a1a1a); box-shadow: 0 22px 55px #0000003d; color-scheme: dark; }
.habita-search-primary { display: grid; grid-template-columns: minmax(190px, .9fr) minmax(0, 2.4fr) 56px; align-items: end; gap: 16px; }
.habita-search-secondary { display: grid; grid-template-columns: repeat(3, minmax(115px, .8fr)) minmax(190px, 1.5fr) minmax(190px, 1.3fr) auto; align-items: end; gap: 16px; }
.habita-search-field, .habita-search-label { display: grid; gap: 9px; min-width: 0; color: #ededed; font-size: 13px; font-weight: 650; }
.habita-search :is(select, input[type="search"], input[type="number"]) { width: 100%; height: 52px; min-width: 0; padding: 0 15px; border: 1px solid #646464; border-radius: 8px; outline: none; background: #303030; color: #f5f5f5; font: 14px Inter, "DM Sans", system-ui, sans-serif; transition: border-color .18s ease, background .18s ease; }
.habita-search :is(select, input[type="search"], input[type="number"]):focus { border-color: #d6d6d6; background: #383838; }
.habita-search :is(input[type="search"], input[type="number"])::placeholder { color: #aaa; opacity: 1; }
.habita-search select { cursor: pointer; }
.habita-search-icon { display: grid; place-items: center; width: 56px; height: 52px; border: 1px solid #ddd; border-radius: 13px; background: #dedede; color: #111; font-size: 19px; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.habita-search-icon:hover { transform: translateY(-2px); background: #fff; }
.habita-search-price, .habita-search-area { display: grid; min-width: 0; gap: 9px; }
.habita-price-values { display: flex; justify-content: space-between; gap: 8px; color: #c6c6c6; font-size: 12px; font-weight: 650; white-space: nowrap; }
.habita-price-slider { --price-start: 0%; --price-end: 100%; position: relative; height: 23px; margin-top: 1px; }
.habita-price-track { position: absolute; top: 9px; right: 9px; left: 9px; height: 5px; border-radius: 8px; background: linear-gradient(90deg, #616161 var(--price-start), #e8e8e8 var(--price-start) var(--price-end), #616161 var(--price-end)); }
.habita-price-slider input[type="range"] { position: absolute; inset: 0; width: 100%; height: 23px; margin: 0; appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none; }
.habita-price-slider input[type="range"]::-webkit-slider-thumb { width: 19px; height: 19px; border: 3px solid #ededed; border-radius: 50%; appearance: none; -webkit-appearance: none; background: #252525; box-shadow: 0 0 0 2px #252525; cursor: grab; pointer-events: auto; }
.habita-price-slider input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; border: 3px solid #ededed; border-radius: 50%; background: #252525; box-shadow: 0 0 0 2px #252525; cursor: grab; pointer-events: auto; }
.habita-price-slider input[type="range"]::-moz-range-track { background: transparent; }
.habita-search-area > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.habita-search-area input[type="number"] { padding-inline: 10px; }
.habita-search-actions { display: flex; align-items: center; gap: 8px; }
.habita-search-actions button, .habita-search-empty button { min-height: 52px; padding: 0 17px; border: 1px solid #dedede; border-radius: 26px; background: #dedede; color: #151515; font-size: 13px; font-weight: 800; white-space: nowrap; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.habita-search-actions button:hover, .habita-search-empty button:hover { transform: translateY(-2px); background: #fff; }
.habita-search-actions button[type="reset"] { background: transparent; color: #f0f0f0; }
.habita-search-actions button[type="reset"]:hover { background: #393939; }
.habita-search-count { margin: 0 0 18px; color: #c8c8c8; font-size: 12px; font-weight: 700; }
.habita-search-empty { padding: 50px 25px; border: 1px dashed #666; border-radius: 14px; color: #e9e9e9; text-align: center; }
.habita-search-empty[hidden] { display: none; }
.habita-search-empty > i { font-size: 31px; }
.habita-search-empty h3 { margin: 15px 0 7px; font: 500 29px Georgia, serif; }
.habita-search-empty p { max-width: 430px; margin: 0 auto 22px; color: #bebebe; font-size: 13px; }
.habita-financing { position: relative; overflow: hidden; padding: clamp(82px, 9cqw, 138px) clamp(28px, 8cqw, 135px); background: radial-gradient(circle at 87% 7%, #92929230, transparent 34%), radial-gradient(circle at 4% 100%, #61616133, transparent 38%), linear-gradient(125deg, #050505, #242424 58%, #414141); color: #f9f9f9; isolation: isolate; }
.habita-financing::before { position: absolute; z-index: -1; inset: -10% -15%; background: repeating-linear-gradient(132deg, transparent 0, transparent 79px, #ffffff09 80px, transparent 81px); content: ""; transform: rotate(-2deg); pointer-events: none; }
.habita-financing-heading { max-width: 720px; }
.habita-financing-heading h2, .habita-journey h2 { margin: 15px 0 19px; font: 500 clamp(41px, 5.2cqw, 70px)/1.08 Georgia, serif; letter-spacing: -.045em; text-wrap: balance; }
.habita-financing-heading h2 em { color: #cbcbcb; font-weight: 400; }
.habita-financing-heading > p { max-width: 590px; margin: 0; color: #dedede; font-size: 16px; line-height: 1.75; }
.habita-financing-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: clamp(40px, 5cqw, 66px); }
.habita-financing-card { position: relative; display: flex; flex-direction: column; min-height: 285px; padding: 25px 22px 28px; border: 1px solid #ffffff42; border-radius: 15px; background: linear-gradient(155deg, #ffffff27, #ffffff0d 68%); box-shadow: 0 15px 35px #1616162b; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: transform .28s ease, background .28s ease, box-shadow .28s ease; }
.habita-financing-card:nth-child(even) { transform: translateY(18px); }
.habita-financing-card:hover { transform: translateY(-7px); background: linear-gradient(155deg, #ffffff36, #ffffff17 68%); box-shadow: 0 22px 45px #16161650; }
.habita-financing-card:nth-child(even):hover { transform: translateY(11px); }
.habita-financing-number { color: #d0d0d0; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.habita-financing-card > i { display: grid; place-items: center; width: 52px; height: 52px; margin: 25px 0 19px; border: 1px solid #ffffff52; border-radius: 14px; background: #ffffff22; color: #e7e7e7; font-size: 22px; }
.habita-financing-card h3 { margin: 0 0 10px; font: 500 clamp(23px, 2.1cqw, 29px)/1.15 Georgia, serif; }
.habita-financing-card p { margin: 0; color: #e0e0e0; font-size: 13px; line-height: 1.65; }
.habita-financing-foot { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-top: 55px; padding-top: 23px; border-top: 1px solid #ffffff3d; }
.habita-financing-foot p { max-width: 600px; margin: 0; color: #d9d9d9; font-size: 12px; line-height: 1.6; }
.habita-financing-foot a { display: inline-flex; align-items: center; gap: 10px; flex: none; color: #ebebeb; font-size: 13px; font-weight: 800; text-decoration: none; }
.habita-financing-foot a:hover { color: #fff; }
.habita-journey { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(35px, 6cqw, 100px); padding: clamp(80px, 8cqw, 115px) clamp(28px, 8cqw, 135px); background: linear-gradient(112deg, #f5f5f5, #cecece); }
.habita-journey .habita-section-index { color: #505050; }
.habita-journey h2 { max-width: 540px; color: #2d2d2d; }
.habita-journey h2 em { color: #717171; font-weight: 400; }
.habita-journey ol { display: grid; gap: 0; align-self: center; margin: 0; padding: 0; list-style: none; }
.habita-journey li { display: grid; grid-template-columns: 42px 1fr; column-gap: 18px; padding: 18px 0; border-top: 1px solid #6e6e6e45; }
.habita-journey li:last-child { border-bottom: 1px solid #6e6e6e45; }
.habita-journey li span { grid-row: span 2; color: #787878; font: 500 23px/1.2 Georgia, serif; }
.habita-journey li strong { color: #323232; font-size: 15px; }
.habita-journey li p { margin: 5px 0 0; color: #5b5b5b; font-size: 13px; line-height: 1.55; }
.habita-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(38px, 7cqw, 120px); padding: clamp(75px, 9cqw, 130px) clamp(28px, 8cqw, 135px); background: radial-gradient(circle at 10% 12%, #7a7a7a36, transparent 38%), linear-gradient(125deg, #111, #303030 58%, #171717); color: #f4f4f4; }
.habita-contact-intro h2 { max-width: 520px; }
.habita-contact-intro p { max-width: 490px; margin: 23px 0 0; color: #d5d5d5; font-size: 16px; line-height: 1.8; }
.habita-contact-note { display: inline-flex; align-items: center; gap: 10px; margin-top: 37px; padding-top: 20px; border-top: 1px solid #ffffff35; color: #cfcfcf; font-size: 12px; }
.habita-contact-note i { color: #cecece; }
.habita-contact-widget { min-width: 0; padding: clamp(24px, 3cqw, 40px); border: 1px solid #d8d8d8; border-radius: 5px; background: #f6f6f6; color: #373737; box-shadow: 0 25px 55px #23232358; }
.habita-contact-widget h3 { margin: 0 0 20px; font: 500 clamp(25px, 2.5cqw, 34px)/1.2 Georgia, serif; }
.habita-contact-switch { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: 100%; min-height: 49px; padding: 4px; border: 1px solid #cbcbcb; border-radius: 8px; background: #e2e2e2; color: #686868; cursor: pointer; }
.habita-contact-switch > span { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; font-weight: 700; }
.habita-contact-switch > span:first-child, .habita-contact-switch[aria-checked="true"] > span:nth-child(2) { color: #3d3d3d; }
.habita-contact-switch[aria-checked="true"] > span:first-child { color: #686868; }
.habita-contact-switch-thumb { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 5px; background: #fff; box-shadow: 0 3px 10px #2b2b2b22; transition: transform .26s cubic-bezier(.2,.8,.2,1); }
.habita-contact-switch[aria-checked="true"] .habita-contact-switch-thumb { transform: translateX(100%); }
.habita-contact-helper { margin: 17px 0; color: #6c6c6c; font-size: 13px; }
.habita-contact-widget form { display: grid; gap: 13px; animation: habita-form-in .28s ease both; }
.habita-contact-widget form[hidden] { display: none; }
@keyframes habita-form-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.habita-contact-widget label { display: grid; gap: 6px; color: #5e5e5e; font-size: 12px; font-weight: 700; }
.habita-contact-widget :is(input, select, textarea) { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cccccc; border-radius: 4px; background: #fff; color: #363636; font: 14px/1.4 Inter, "DM Sans", system-ui, sans-serif; }
.habita-contact-widget textarea { min-height: 86px; resize: vertical; }
.habita-contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.habita-submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 47px; margin-top: 6px; padding: 0 16px; border: 1px solid #3e3e3e; border-radius: 3px; background: #3e3e3e; color: #fff; font-size: 13px; font-weight: 750; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.habita-submit:hover { transform: translateY(-1px); background: #4d4d4d; }
.habita-footer { flex: none; padding: 45px clamp(28px, 8cqw, 135px) 24px; background: #080808; color: #d7d7d7; }
.habita-footer-top { display: flex; align-items: center; gap: 25px; padding-bottom: 34px; }
.habita-footer-brand { display: grid; flex: none; gap: 4px; }
.habita-footer-brand span { color: #bebebe; font-size: 22px; }
.habita-footer-brand strong { color: #f9f9f9; font: 500 27px/1 Georgia, serif; letter-spacing: .1em; }
.habita-footer-brand small { color: #c7c7c7; font-size: 8px; font-weight: 750; letter-spacing: .14em; }
.habita-footer-top p { max-width: 325px; margin: 0 auto 0 0; color: #c1c1c1; font-size: 12px; }
.habita-footer-top .social-links { color: #c9c9c9; }
.habita-footer-bottom { display: flex; justify-content: space-between; gap: 12px; padding-top: 19px; border-top: 1px solid #ffffff2c; color: #bbbbbb; font-size: 11px; }
.habita-site::after { display: block; flex: 0 0 calc(112px + env(safe-area-inset-bottom, 0px)); background: #080808; content: ""; }
.habita-detail { padding: clamp(35px, 5cqw, 72px) clamp(28px, 8cqw, 135px) clamp(70px, 8cqw, 110px); background: linear-gradient(145deg, #131313, #333); }
.habita-detail-back { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; color: #c8c8c8; font-size: 13px; font-weight: 750; text-decoration: none; }
.habita-detail-back:hover { color: #fff; }
.habita-detail-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: start; gap: clamp(35px, 5cqw, 78px); }
.habita-detail-image { position: relative; height: clamp(520px, 55cqw, 720px); overflow: hidden; border-radius: 5px; background: #cccccc; }
.habita-detail-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.habita-detail-info { padding-top: 15px; }
.habita-detail-info h1 { margin: 14px 0 11px; color: #f5f5f5; font: 500 clamp(44px, 5cqw, 72px)/1.07 Georgia, serif; letter-spacing: -.045em; }
.habita-detail-location { margin: 0; font-size: 13px; }
.habita-detail-description { margin: 27px 0; color: #cecece; font-size: 16px; line-height: 1.8; }
.habita-detail-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 19px 0; border-block: 1px solid #555; color: #c1c1c1; font-size: 11px; }
.habita-detail-facts span { display: grid; gap: 3px; }
.habita-detail-facts i { color: #818181; font-size: 17px; }
.habita-detail-facts strong { color: #f1f1f1; font-size: 21px; line-height: 1.1; }
.habita-detail-info h2 { margin: 28px 0 14px; color: #eee; font: 500 25px Georgia, serif; }
.habita-detail-highlights { display: grid; gap: 10px; margin: 0 0 27px; padding: 0; list-style: none; color: #d1d1d1; font-size: 14px; }
.habita-detail-highlights i { margin-right: 8px; color: #808080; }
.habita-detail-price strong { display: block; margin-top: 4px; color: #fff; font-size: 26px; }
.habita-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.habita-detail-cta { background: #dedede; border-color: #dedede; color: #111; }
.habita-detail-cta:hover { background: #fff; }
.habita-detail-share { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 51px; padding: 0 17px; border: 1px solid #8c8c8c; border-radius: 3px; background: transparent; color: #e5e5e5; font-size: 13px; font-weight: 750; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.habita-detail-share:hover { transform: translateY(-2px); background: #4b4b4b; }
.habita-related { background: linear-gradient(180deg, #171717, #292929); }
.showcase-app[data-active-skin="habita"] .browser-frame .store-widget-area > .widget-launcher:not(.is-whatsapp),
.showcase-app[data-active-skin="habita"] .chat-channel-thumb,
.showcase-app[data-active-skin="habita"] .chat-float-avatar,
.showcase-app[data-active-skin="habita"] .chat-float-composer button,
.showcase-app[data-active-skin="habita"] .chat-float-bubble.is-user { border-color: #434343; background: #434343; }
.showcase-app[data-active-skin="habita"] .browser-frame .store-widget-area > .widget-launcher.is-whatsapp,
.showcase-app[data-active-skin="habita"] .chat-channel-switch.is-whatsapp .chat-channel-thumb { background: #6f6f6f; box-shadow: 0 8px 25px #33333366; }
.showcase-app[data-active-skin="habita"] .browser-frame .store-widget-area > .widget-launcher.is-whatsapp:hover { background: #595959; }
.showcase-app[data-active-skin="habita"] .chat-float-header { background: #313131; }
.showcase-app[data-active-skin="habita"] .chat-float-messages { background: #eeeeee; }
.showcase-app[data-active-skin="habita"] .modal-backdrop { z-index: 70; background: #1e1e1ec4; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.showcase-app[data-active-skin="habita"] .demo-modal { width: min(100%, 530px); max-height: min(90dvh, 720px); padding: clamp(24px, 4vw, 38px); border: 1px solid #cccccc; border-radius: 9px; background: #f7f7f7; box-shadow: 0 30px 90px #18181880; color: #3b3b3b; font: 15px/1.5 Inter, "DM Sans", system-ui, sans-serif; }
.showcase-app[data-active-skin="habita"] .modal-close { width: 36px; height: 36px; border: 1px solid #d1d1d1; border-radius: 50%; background: #fff; color: #5c5c5c; font-size: 23px; transition: transform .2s ease; }
.showcase-app[data-active-skin="habita"] .modal-close:hover { transform: rotate(90deg); }
.showcase-app[data-active-skin="habita"] .preview-kicker { color: #737373; letter-spacing: .14em; }
.habita-response { text-align: center; }
.habita-response-visual { display: grid; place-items: center; width: 100px; height: 100px; margin: 8px auto 23px; border: 1px solid #b6b6b6; border-radius: 50%; background: #e9e9e9; color: #4d4d4d; font-size: 38px; }
.habita-response h2 { margin: 0 0 9px; color: #373737; font: 500 clamp(29px, 4vw, 38px)/1.15 Georgia, serif; }
.habita-response > p { margin: 0 auto 22px; color: #676767; font-size: 14px; line-height: 1.6; }
.habita-response-summary { display: grid; gap: 9px; padding: 17px 18px; border: 1px solid #d8d8d8; border-radius: 5px; background: #fff; text-align: left; }
.habita-response-summary span { display: block; color: #7f7f7f; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.habita-response-summary strong { display: block; color: #414141; font-size: 15px; }
.habita-response-summary > div + div { padding-top: 9px; border-top: 1px solid #e9e9e9; }
.habita-response .habita-response-note { margin: 17px 0 24px; font-size: 12px; }
.habita-response-close { display: inline-flex; align-items: center; justify-content: center; gap: 14px; width: 100%; min-height: 48px; border: 0; border-radius: 3px; background: #434343; color: #fff; font-size: 13px; font-weight: 750; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.habita-response-close:hover { transform: translateY(-2px); background: #515151; }
.habita-share-link { display: grid; gap: 7px; margin: 0 0 20px; color: #5e5e5e; font-size: 12px; font-weight: 750; text-align: left; }
.habita-share-link input { width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid #cfcfcf; border-radius: 4px; background: #fff; color: #424242; font: 13px Inter, "DM Sans", sans-serif; }
.showcase-app[data-active-skin="habita"] .modal-backdrop.is-open .habita-response-visual,
.showcase-app[data-active-skin="habita"] .modal-backdrop.is-open .habita-response-summary { animation: habita-dialog-in .42s cubic-bezier(.2,.8,.2,1) both; }
@keyframes habita-dialog-in { from { opacity: 0; transform: translateY(13px) scale(.94); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 760px) { .habita-site::after { flex-basis: 12px; } }
@container (max-width: 1060px) { .habita-header { padding-inline: 25px; gap: 19px; } .habita-header-action { padding-inline: 11px; font-size: 11px; } .habita-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .habita-card-image { height: clamp(220px, 30cqw, 310px); } }
@container (max-width: 1380px) { .habita-search-secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); } .habita-search-price { grid-column: span 2; } .habita-search-actions { align-self: end; } }
@container (max-width: 1060px) { .habita-financing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .habita-financing-card { min-height: 245px; } .habita-financing-card:nth-child(even) { transform: none; } .habita-financing-card:nth-child(even):hover { transform: translateY(-7px); } }
@container (max-width: 760px) { .habita-header, .habita-header.is-compact { flex-basis: 65px; height: 65px; padding-inline: 18px; } .habita-menu-toggle { display: grid; flex: none; place-items: center; width: 40px; height: 40px; margin-left: auto; border: 1px solid #cbcbcb6a; border-radius: 4px; background: #ffffff12; color: #f8f8f8; font-size: 18px; cursor: pointer; } .habita-nav { position: absolute; top: 100%; right: 0; left: 0; display: grid; gap: 0; margin: 0; padding: 7px 18px 14px; border-top: 1px solid #ffffff29; background: #2f2f2ff8; opacity: 0; visibility: hidden; transform: translateY(-12px) scaleY(.96); transform-origin: top; pointer-events: none; transition: opacity .25s ease, transform .3s cubic-bezier(.2,.8,.2,1), visibility .3s; } .habita-site.is-menu-open .habita-nav { opacity: 1; visibility: visible; transform: translateY(0) scaleY(1); pointer-events: auto; } .habita-nav a { min-height: 44px; padding: 11px 8px; border-bottom: 1px solid #ffffff1e; } .habita-header-action { display: none; } .habita-hero { min-height: 510px; padding: 80px 20px; } .habita-hero h1 { font-size: clamp(43px, 8cqw, 64px); } .habita-intro, .habita-contact { grid-template-columns: 1fr; padding: 65px 28px; } .habita-listings { padding: 65px 28px; } .habita-section-heading { align-items: start; flex-direction: column; } .habita-detail { padding-inline: 28px; } .habita-detail-grid { grid-template-columns: 1fr; } .habita-detail-image { height: 440px; } .habita-footer { padding-inline: 28px; } }
@container (max-width: 760px) { .habita-financing, .habita-journey { padding: 70px 28px; } .habita-journey { grid-template-columns: 1fr; gap: 18px; } .habita-financing-foot { align-items: start; flex-direction: column; margin-top: 35px; } }
@container (max-width: 760px) { .habita-search { padding: 20px; } .habita-search-primary { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) 52px; gap: 10px; } .habita-search-icon { width: 52px; } .habita-search-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .habita-search-price, .habita-search-area, .habita-search-actions { grid-column: span 2; } .habita-search-actions { justify-content: flex-start; } }
@container (max-width: 540px) { .habita-property-grid { grid-template-columns: 1fr; } .habita-card-image { height: 245px; } .habita-hero { min-height: 490px; } .habita-hero h1 { font-size: clamp(39px, 10cqw, 50px); } .habita-hero p { font-size: 15px; } .habita-eyebrow, .habita-section-index { font-size: 9px; letter-spacing: .14em; } .habita-intro, .habita-listings, .habita-contact { padding: 55px 19px; } .habita-intro h2, .habita-section-heading h2, .habita-contact h2 { font-size: 38px; } .habita-contact-widget { padding: 21px 16px; } .habita-contact-widget h3 { font-size: 26px; } .habita-contact-row { grid-template-columns: 1fr; } .habita-detail { padding: 30px 19px 60px; } .habita-detail-image { height: 340px; } .habita-detail-info h1 { font-size: 45px; } .habita-footer { padding: 39px 19px 24px; } .habita-footer-top { align-items: flex-start; flex-wrap: wrap; gap: 18px; } .habita-footer-top p { flex-basis: 100%; order: 3; } .habita-footer-bottom { flex-direction: column; } }
@container (max-width: 540px) { .habita-financing, .habita-journey { padding: 60px 19px; } .habita-financing-heading h2, .habita-journey h2 { font-size: 40px; } .habita-financing-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; } .habita-financing-card { min-height: 0; padding: 20px; } .habita-financing-card > i { margin: 15px 0 13px; } .habita-financing-card h3 { font-size: 27px; } .habita-financing-foot a { white-space: normal; } }
@container (max-width: 540px) { .habita-search { gap: 19px; padding: 17px; } .habita-search-primary { grid-template-columns: minmax(0, 1fr) 52px; } .habita-search-primary .habita-search-field:first-child { grid-column: 1 / -1; } .habita-search-field, .habita-search-label { font-size: 12px; } .habita-search :is(select, input[type="search"], input[type="number"]) { height: 46px; font-size: 13px; } .habita-search-icon { height: 46px; } .habita-search-actions button { flex: 1; min-height: 46px; padding-inline: 10px; } }
@container (max-width: 370px) { .habita-card-bottom { align-items: flex-start; flex-direction: column; } .habita-card-bottom a { min-height: 35px; } }
@media (prefers-reduced-motion: reduce) { .habita-site { scroll-behavior: auto; } .habita-site :is(a, button), .habita-header, .habita-nav, .habita-property-card, .habita-financing-card, .habita-card-image img, .habita-contact-switch-thumb, .habita-search :is(select, input, button) { transition: none; } .habita-contact-widget form, .showcase-app[data-active-skin="habita"] .habita-response-visual, .showcase-app[data-active-skin="habita"] .habita-response-summary { animation: none !important; } }
