/* Only project-specific media and catalog behavior; master typography is preserved. */
#developer .grove-project-image img{display:block;width:100%;height:100%;object-fit:cover}
#developer .project-visual.grove-project-image::before,#developer .project-visual.grove-project-image::after{display:none}
#lots .cards3{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;min-height:0;overscroll-behavior-x:contain;padding-bottom:12px}
#lots .cards3 .unitCard{display:flex;flex:0 0 calc((100% - 34px)/3);min-width:0;scroll-snap-align:start}
#lots .unitCard .unit-plan>svg{pointer-events:none}
#lots .carouselbuttons button:disabled{opacity:.3;cursor:default}
#lots .modalPlan{height:auto;min-height:320px;aspect-ratio:8/7;background:#fff;margin:0;padding:0}
#lots .modalPlan svg{width:100%;height:100%}
#lots .plan-original{display:inline-block;margin-top:14px;color:var(--ink);font:400 12px var(--sans)}
#lots .modalSpecs+ .price{margin:20px 0;font:400 30px var(--latin)}
#lots .modalColumns .fine{margin-top:24px;line-height:1.7}
@container lots (max-width:700px){#lots .cards3 .unitCard{flex-basis:88%}#lots .modalPlan{min-height:230px}}
/* Override the master single-card fallback: every sheet remains reachable on mobile. */
#lots .cards3 .unitCard:not(:first-child){display:flex}
.sheet-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font:400 12px var(--font-body)}.sheet-nav button{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink)}.sheet-nav button:disabled{opacity:.3}.sheet-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

#developer .project-visual.grove-project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
