aracaju-catalog { display:block; }
.catalog { max-width:1440px; margin:auto; padding:70px clamp(22px,4vw,64px) 90px; background:#fff; }
.catalog__heading { margin-bottom:30px; }
.catalog h2 { margin:0 0 6px; font:700 clamp(30px,3.2vw,46px)/1.08 var(--font-display); letter-spacing:-.045em; }
.catalog__intro { margin:0; color:#536b84; font-size:clamp(17px,1.6vw,23px); line-height:1.4; }
.catalog__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; perspective:1600px; }
.catalog__card { appearance:none; display:block; width:100%; padding:0; text-align:left; color:#102039; background:white; border:1px solid #edf1f6; border-radius:16px; overflow:hidden; box-shadow:0 12px 26px #173e6412; cursor:pointer; transition:transform .24s,box-shadow .24s; }
.catalog__card:hover {  box-shadow:0 18px 34px #173e6420; }
.catalog__photo { width:100%; aspect-ratio:1.08; height:auto; display:block; object-fit:cover; object-position:50% 45%; background:#eef2f6; }
.catalog__card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; }
.catalog__card-meta { display:flex; flex-direction:column; gap:2px; min-width:0; }
.catalog__name { font-size:clamp(20px,1.9vw,26px); line-height:1.15; font-weight:750; letter-spacing:-.04em; }
.catalog__see { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; color:#0879df; font-size:13px; font-weight:650; }
.catalog__see span { font-size:17px; }
.catalog__card-whatsapp { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 14px; border-radius:999px; background:#099867; color:#fff; font-size:13px; font-weight:650; letter-spacing:-.01em; text-decoration:none; white-space:nowrap; flex:0 0 auto; box-shadow:0 6px 16px #087b5826; transition:background .2s,transform .2s,box-shadow .2s; }
.catalog__card-whatsapp svg { width:17px; height:17px; flex:0 0 17px; }
.catalog__card-whatsapp:hover { background:#077d54; transform:translateY(-1px); box-shadow:0 10px 20px #087b5838; }
.catalog__note { margin:24px 0 0; color:#707b86; font-size:13px; }
.catalog__dialog { width:min(1020px,calc(100vw - 36px)); max-width:1020px; max-height:94svh; padding:0; border:0; border-radius:20px; color:#102039; background:white; overflow:auto; box-shadow:0 30px 120px #07182f66; }
.catalog__dialog::backdrop { background:#0c203bd6; backdrop-filter:blur(8px); }
.catalog__dialog-head { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 22px; background:#fffffff2; backdrop-filter:blur(8px); border-bottom:1px solid #e6edf3; }
.catalog__dialog-head h3 { font-size:25px; line-height:1.1; margin:0; letter-spacing:-.035em; }
.catalog__close,.catalog__nav { width:44px; height:44px; flex:0 0 44px; padding:0; border:1px solid #d7e2ec; background:#fff; color:#102039; border-radius:50%; font-size:24px; cursor:pointer; display:grid; place-items:center; }
.catalog__close:hover,.catalog__nav:hover { background:#f2f7fb; }
.catalog__stage { position:relative; display:grid; place-items:center; background:#f0f3f6; touch-action:pan-y; }
.catalog__full { display:block; width:100%; height:clamp(300px,calc(90svh - 180px),680px); object-fit:contain; }
.catalog__error { position:absolute; inset:25%; place-content:center; text-align:center; background:#fffffff2; border-radius:10px; padding:18px; font-size:14px; }
.catalog__error:not([hidden]) { display:grid; }
.catalog__gallery-controls { padding:12px 20px 14px; }
.catalog__counter-row { display:flex; justify-content:center; align-items:center; gap:22px; margin-bottom:9px; }
.catalog__counter { font-size:13px; color:#536b84; min-width:78px; text-align:center; }
.catalog__thumbs { display:flex; width:max-content; max-width:100%; gap:8px; overflow-x:auto; margin:auto; padding:4px; }
.catalog__thumb { flex:0 0 68px; width:68px; height:52px; padding:2px; border:2px solid transparent; border-radius:7px; background:#fff; cursor:pointer; overflow:hidden; }
.catalog__thumb[aria-pressed="true"] { border-color:#0879df; }
.catalog__thumb img { display:block; width:100%; height:100%; object-fit:cover; border-radius:3px; }
.catalog__contact { position:relative; z-index:2; padding:18px 22px; border-top:1px solid #e6edf3; background:#fffffff7; text-align:center; backdrop-filter:blur(8px); }
.catalog__whatsapp { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:52px; max-width:100%; padding:10px 23px; border-radius:999px; text-decoration:none; background:#087c55; color:white; font-size:16px; font-weight:600; }
.catalog__whatsapp:hover { background:#066847; }
.catalog__whatsapp span:last-child { font-size:22px; line-height:1; }
.catalog__conditions { margin:10px 0 0; color:#536b84; font-size:12px; line-height:1.4; }
aracaju-catalog[reduced] .catalog__card { transition:none; }
aracaju-catalog[reduced] .catalog__card:hover { transform:none; }
@media(max-width:950px) and (min-width:701px) { .catalog__grid { gap:16px; }.catalog__card-bottom { padding:15px 12px; gap:8px; }.catalog__see { font-size:12px; }.catalog__name { font-size:21px; } }
@media(max-width:700px) {
 .catalog { padding:45px 24px 60px; }
 .catalog__heading { margin-bottom:27px; }
 .catalog h2 { font-size:clamp(26px,7.2vw,38px); }
 .catalog__intro { font-size:17px; }
 .catalog__grid { grid-template-columns:1fr; gap:32px; }
 .catalog__photo { aspect-ratio:1.06; }
 .catalog__card-bottom { padding:19px 18px; }
 .catalog__name { font-size:25px; }
 .catalog__see { font-size:14px; }
 .catalog__dialog { width:calc(100vw - 20px); border-radius:15px; }
 .catalog__dialog-head { padding:12px 15px; }
 .catalog__dialog-head h3 { font-size:23px; }
 .catalog__gallery-controls { padding:9px 12px 11px; }
 .catalog__counter-row { gap:18px; margin-bottom:5px; }
 .catalog__contact { padding:14px 15px; }
 .catalog__whatsapp { width:100%; font-size:14px; gap:14px; padding-inline:16px; }
 .catalog__conditions { font-size:11px; }
 .catalog__error { inset:12%; }
}
@media(prefers-reduced-motion:reduce) { .catalog__card { transition:none; }.catalog__card:hover { transform:none; } }

/* The complete page groups its inventory into two independent native rails.
   Earlier three-room previews retain their original grid. */
.catalog__dialog-building{margin:5px 0 0;color:#536b84;font-size:13px;line-height:1.3}
aracaju-catalog[buildings] .catalog__heading{margin-bottom:13px}
.catalog__explore{margin:0 0 30px;color:#6b7d8d;font-size:13px;line-height:1.5}
.catalog__building{--building-color:#bd433e;min-width:0}
.catalog__building--verde{--building-color:#25815e}
.catalog__building+.catalog__building{margin-top:24px;padding-top:30px;border-top:1px solid #e2e9f0}
.catalog__building-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 4px 2px}
.catalog__building-heading h3{display:flex;align-items:center;gap:13px;margin:0;color:#102039;font-size:clamp(24px,2.5vw,35px);line-height:1.2;font-weight:700;letter-spacing:-.035em}
.catalog__building-marker{width:13px;height:22px;flex:0 0 13px;border-radius:4px;background:var(--building-color)}
.catalog__building-count{margin:6px 0 0 26px;color:#64788b;font-size:13px}
.catalog__rail-controls{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.catalog__range{min-width:78px;margin-right:9px;text-align:right;color:#64788b;font-size:12px;font-variant-numeric:tabular-nums}
.catalog__rail-arrow{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #c9d9e8;border-radius:50%;background:#fff;color:#235e9a;font:23px/1 var(--font-body);cursor:pointer;transition:background .2s,transform .2s}
.catalog__rail-arrow:hover:not(:disabled){background:#eaf4ff;transform:translateY(-2px)}
.catalog__rail-arrow:disabled{opacity:.35;cursor:default;background:#f6f9fc}
.catalog__rail{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/3);gap:26px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:4px;padding:18px 4px 28px;scrollbar-width:thin;scrollbar-color:#c5d6e7 #f4f7fb;perspective:1600px;touch-action:pan-x pan-y;cursor:grab}
.catalog__rail .catalog__card{scroll-snap-align:start;scroll-snap-stop:normal;min-width:0;user-select:none;-webkit-user-select:none}
.catalog__rail .catalog__photo{pointer-events:none}
.catalog__rail.is-dragging{scroll-snap-type:none;cursor:grabbing}
.catalog__rail.is-dragging .catalog__card{cursor:grabbing}
.catalog__rail:focus-visible{outline-offset:-2px;border-radius:18px}
aracaju-catalog[buildings] .catalog__note{margin-top:22px}
@media(min-width:701px) and (max-width:1050px){.catalog__rail{grid-auto-columns:calc((100% - 34px)/2);gap:26px}}
@media(max-width:700px){
 .catalog__explore{font-size:12px;max-width:290px;margin-bottom:25px}
 .catalog__building-heading{gap:10px;align-items:center}
 .catalog__building-heading h3{font-size:clamp(21px,5.9vw,27px);gap:10px}
 .catalog__building-marker{width:10px;height:19px;flex-basis:10px;border-radius:3px}
 .catalog__building-count{font-size:12px;margin:5px 0 0 20px}
 .catalog__rail-controls{display:grid;grid-template-columns:44px 44px;gap:4px 6px}
 .catalog__range{grid-column:1/-1;min-width:0;margin:0;text-align:center;font-size:10px;line-height:1.3}
 .catalog__rail-arrow{width:44px;height:44px;font-size:22px}
 .catalog__rail{grid-auto-columns:86%;gap:19px;padding-top:16px;padding-bottom:24px}
 .catalog__rail .catalog__card-bottom{padding:17px 16px}
 .catalog__rail .catalog__name{font-size:24px}
 .catalog__rail .catalog__see{font-size:12px}
 .catalog__building+.catalog__building{padding-top:26px;margin-top:18px}
}
aracaju-catalog[reduced] .catalog__rail-arrow,aracaju-catalog[reduced] .catalog__card-whatsapp{transition:none}
@media(max-width:360px){.catalog__building-heading h3{font-size:20px;gap:8px}.catalog__building-marker{width:8px;flex-basis:8px}.catalog__building-count{margin-left:16px}.catalog__card-bottom{padding:12px 12px;gap:8px}.catalog__name{font-size:20px}.catalog__card-whatsapp{padding:8px 11px;font-size:12px}}
aracaju-catalog[reduced] .catalog__rail-arrow:hover,aracaju-catalog[reduced] .catalog__card-whatsapp:hover{transform:none}
@media(prefers-reduced-motion:reduce){.catalog__rail-arrow,.catalog__card-whatsapp{transition:none}.catalog__rail-arrow:hover,.catalog__card-whatsapp:hover{transform:none}}

.catalog__simulation{font-size:11px;color:#536b84;line-height:1.25}
