:root{--catalogue-blue:#163653;--catalogue-blue-deep:#0f2941;--catalogue-gold:#cda64f;--catalogue-paper:#f5f2ec;--catalogue-line:#d9d3c8;--catalogue-text:#172331;--catalogue-muted:#66717c}
body{background:var(--catalogue-paper);color:var(--catalogue-text)}
.catalogue-header{background:rgba(245,242,236,.96);border-bottom:1px solid var(--catalogue-line)}
.catalogue-header .brand{flex:0 0 auto;min-width:0}
.catalogue-header .brand-logo{display:block;width:clamp(170px,15vw,230px);height:auto;max-width:100%}
.back-home{font-size:14px;font-weight:600;color:var(--catalogue-blue)}
.catalogue-hero{padding:clamp(100px,11vw,150px) clamp(22px,7vw,110px) clamp(70px,8vw,110px);background:var(--catalogue-blue);color:#fff}
.catalogue-hero .eyebrow{color:var(--catalogue-gold)}
.catalogue-hero h1{max-width:860px;margin:18px 0 24px;font:600 clamp(2.8rem,5vw,5.15rem)/1.02 'Playfair Display',serif;letter-spacing:-.035em;overflow-wrap:break-word;text-wrap:balance}
.catalogue-hero>p:last-child{max-width:720px;margin:0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}
.catalogue-shell{padding:clamp(60px,8vw,110px) clamp(18px,6vw,88px)}
.catalogue-tools{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
.catalogue-tools h2{margin:8px 0 0;font:600 clamp(2rem,3vw,3.2rem)/1.08 'Playfair Display',serif;text-wrap:balance}
.clear-filters{color:#8d6e32;text-decoration:underline;font:600 14px 'DM Sans',sans-serif}
.clear-filters{padding:8px 0;border:0;background:transparent;cursor:pointer}
.catalogue-filters{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 28px}
.region-filter{display:flex;flex-wrap:wrap;gap:10px}
.region-option{padding:11px 17px;border:1px solid var(--catalogue-line);border-radius:999px;background:#fff;color:var(--catalogue-blue);font:600 14px 'DM Sans',sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.region-option:hover,.region-option.is-active{border-color:var(--catalogue-blue);background:var(--catalogue-blue);color:#fff}
.region-option:focus-visible,#neighborhood-filter:focus-visible,.clear-filters:focus-visible{outline:3px solid var(--catalogue-gold);outline-offset:3px}
.neighborhood-filter-label{display:grid;gap:8px;min-width:min(100%,240px);color:var(--catalogue-blue);font-size:14px;font-weight:600}
#neighborhood-filter{min-height:44px;padding:0 38px 0 14px;border:1px solid var(--catalogue-line);border-radius:4px;background:#fff;color:var(--catalogue-text);font:500 15px 'DM Sans',sans-serif}
#neighborhood-filter:disabled{color:var(--catalogue-muted);background:#f0ede7}
.results-count{margin:0 0 22px;padding-top:24px;border-top:1px solid var(--catalogue-line);color:var(--catalogue-muted);font-size:14px}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.catalogue-card{min-width:0;scroll-margin-top:120px;background:#fff;box-shadow:0 14px 42px rgba(22,54,83,.08);transition:transform .25s ease,box-shadow .25s ease}.catalogue-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(22,54,83,.14)}
.card-image{position:relative;display:block;height:300px;overflow:hidden}.card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.catalogue-card:hover .card-image img{transform:scale(1.035)}.card-image>span{position:absolute;left:15px;bottom:15px;padding:7px 10px;background:rgba(15,41,65,.9);color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.card-body{padding:26px}.card-body>p{margin:0 0 10px;color:#9a7938;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.card-body h3{margin:0 0 13px;font:600 clamp(1.55rem,1.8vw,2rem)/1.12 'Playfair Display',serif;overflow-wrap:break-word;text-wrap:balance}.card-body small{display:block;min-height:44px;color:var(--catalogue-muted);font-size:14px;line-height:1.55}.card-body>a{display:flex;justify-content:space-between;margin-top:22px;padding-top:17px;border-top:1px solid var(--catalogue-line);color:#8d6e32;font-size:14px;font-weight:600}
.catalogue-card[hidden]{display:none}.empty-state{padding:70px 24px;text-align:center;background:#fff}.empty-state h3{font:600 2rem 'Playfair Display',serif}.empty-state p{color:var(--catalogue-muted)}
.catalogue-cta{padding:clamp(70px,10vw,130px) 22px;text-align:center;background:var(--catalogue-blue-deep);color:#fff}.catalogue-cta .eyebrow{color:var(--catalogue-gold)}.catalogue-cta h2{margin:14px 0;font:600 clamp(2.6rem,5vw,5rem)/1 'Playfair Display',serif}.catalogue-cta>p:not(.eyebrow){max-width:630px;margin:0 auto 30px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.65}.catalogue-cta .button{display:inline-block}
.catalogue-footer{display:grid;grid-template-columns:1fr auto;gap:30px;padding:54px clamp(22px,6vw,88px);background:#fff}.catalogue-footer img{width:220px}.catalogue-footer p,.catalogue-footer small{color:var(--catalogue-muted)}.catalogue-footer>div:nth-child(2){display:flex;gap:24px;align-items:center}.catalogue-footer>div:nth-child(2) a{font-weight:600;color:var(--catalogue-blue)}.catalogue-footer small{grid-column:1/-1;border-top:1px solid var(--catalogue-line);padding-top:24px}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:20;padding:14px 20px;border-radius:999px;background:#177b4d;color:#fff;font-weight:700;white-space:nowrap;box-shadow:0 12px 34px rgba(0,0,0,.2)}
@media(max-width:1000px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.catalogue-header .back-home{display:none}.catalogue-header .brand-logo{width:170px}.catalogue-header .header-cta{font-size:12px}.catalogue-hero{padding-top:90px}.catalogue-grid{grid-template-columns:1fr}.card-image{height:68vw;max-height:390px}.catalogue-tools{align-items:flex-start;flex-direction:column}.catalogue-filters{align-items:stretch;flex-direction:column}.region-filter{gap:8px}.region-option{padding:10px 13px;font-size:13px}.neighborhood-filter-label{min-width:0}.catalogue-footer{grid-template-columns:1fr}.catalogue-footer>div:nth-child(2){align-items:flex-start;flex-direction:column;gap:12px}.floating-whatsapp{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.catalogue-card,.card-image img{transition:none}}
