.property-module{position:relative;isolation:isolate;overflow:hidden;background:var(--module-bg,transparent)}
[data-theme=dark] .property-module.module-surface-adaptive{background:var(--paper)}[data-theme=dark] .property-module.module-surface-adaptive .module-heading h2{color:var(--ink)}[data-theme=dark] .property-module.module-surface-adaptive .module-subtitle{color:var(--accent)}
.module-background{position:absolute;inset:0;z-index:-1;width:100%;height:100%;background-position:left top;background-repeat:repeat;background-size:auto;opacity:.5;pointer-events:none}
.module-content{position:relative}
.module-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.module-heading h2{margin:0;color:var(--module-title,var(--ink));font-size:clamp(2rem,4vw,3.35rem);font-weight:650;line-height:1.06;letter-spacing:-.045em}
.module-subtitle{color:var(--module-subtitle,var(--accent))}
.module-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.module-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 24px;border:1px solid var(--brand);border-radius:10px;color:var(--brand);font-weight:700;white-space:nowrap;transition:background-color .2s,color .2s,transform .2s}
.module-link:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}
.module-link-inverted{border-color:#fff;background:#fff;color:var(--ink)}
.module-link-inverted:hover{border-color:#fff;background:rgba(0,0,0,.18);color:#fff}
.module-footer{display:flex;justify-content:center;margin-top:34px;text-align:center}
.module-properties{display:grid;grid-template-columns:repeat(var(--module-columns,3),minmax(0,1fr));gap:24px}
.carousel-controls{display:flex;gap:8px}.carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.2rem;cursor:pointer}.carousel-controls button:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.property-module-carousel .module-properties{display:flex;align-items:stretch;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:8px 12px 24px;margin:-8px -12px -6px;scroll-padding-inline:12px}.property-module-carousel .module-properties::-webkit-scrollbar{display:none}.property-module-carousel .property-card{flex:0 0 calc((100% - (24px * (var(--module-columns,3) - 1))) / var(--module-columns,3));height:auto;scroll-snap-align:start}.property-module-carousel .property-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,37,31,.1)}
@media(min-width:980px){.module-heading h2{font-size:3rem}}
@media(max-width:1199px){.module-properties{grid-template-columns:repeat(2,minmax(0,1fr))}.property-module-carousel .property-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:699px){.module-heading{align-items:flex-start;flex-direction:column}.module-actions{width:100%;justify-content:space-between}.module-properties{grid-template-columns:1fr}.property-module-carousel .property-card{flex-basis:88%}.module-heading h2{font-size:clamp(2rem,10vw,2.65rem)}}
@media(prefers-reduced-motion:reduce){.property-module-carousel .module-properties{scroll-behavior:auto}}
