.layout-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto;column-gap:22px;row-gap:0}
.layout-card{min-width:0;padding:22px;border:1px solid var(--line,#e3dfd5);border-radius:14px;background:#fff;display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-content:start}
.layout-card h3{margin:0 0 6px;font-family:"Source Serif 4",Georgia,serif;font-size:2rem;font-weight:600;line-height:1.15;letter-spacing:-.015em}
.layout-card p{font-size:.95rem;line-height:1.6;margin:0 0 16px;color:var(--muted,#5e6378)}
.layout-card .layout-specs{margin:0 0 18px;font-size:.9rem;font-weight:600;line-height:1.5}
.layout-card>.layout-plan-preview{margin-top:0;display:block;align-self:start}
.layout-plan-preview{display:block;width:100%;padding:0;border:0;border-radius:10px;background:transparent;cursor:zoom-in}
.layout-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:#dcdad5}
.layout-plan-preview:focus-visible{outline:3px solid #bfa67a;outline-offset:4px}
.layout-levels{min-width:0;grid-row:3/span 2}
/* Center the second-floor home itself within the portrait crop. */
.layout-plan-preview[data-plan="B"][data-floor="2"] img{object-position:35.5% center}
.layout-level-controls{display:flex;gap:8px;margin-top:12px}
.layout-level-controls button{flex:1;min-height:44px;padding:9px 8px;border:1px solid var(--line,#e3dfd5);border-radius:8px;background:#fff;color:var(--ink,#252538);font:inherit;font-size:.85rem;cursor:pointer}
.layout-level-controls button[aria-pressed="true"]{background:var(--ink,#252538);border-color:var(--ink,#252538);color:#fff}
.layout-level-controls button:focus-visible{outline:3px solid #bfa67a;outline-offset:3px}
.layout-card .layout-caption{margin:10px 0 0;text-align:center;font-size:.85rem;color:var(--muted,#5e6378)}
.layout-note,.form-privacy{font-size:.85rem;line-height:1.5;color:var(--muted,#5e6378)}
.form-privacy a,footer p a{color:inherit;text-underline-offset:3px}
.privacy-content{max-width:780px;margin:0 auto;padding:32px 22px 54px;font:17px/1.7 'DM Sans',Arial,sans-serif;color:#252538}
.privacy-content h1,.privacy-content h2{font-family:Georgia,serif;line-height:1.3}
.privacy-content h1{font-size:2.3rem}.privacy-content h2{font-size:1.4rem;margin-top:32px}
.privacy-content a{color:#303040;text-underline-offset:3px}
@media(max-width:900px){.layout-cards{grid-template-columns:1fr;grid-template-rows:none;row-gap:22px}.layout-card{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-row:auto;column-gap:24px}.layout-card h3,.layout-card>p:not(.layout-caption){grid-column:1}.layout-card>.layout-plan-preview,.layout-levels{grid-column:2;grid-row:1/span 3;margin:0}.layout-card .layout-caption{grid-column:2}}
@media(max-width:520px){.layout-card{display:flex;flex-direction:column;padding:18px}.layout-card img{max-height:none}}

.analytics-privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.analytics-privacy-actions button{font:inherit;min-height:44px;padding:9px 14px;border:1px solid #303040;border-radius:8px;background:#fff;color:#303040;cursor:pointer}

.section-head .occupancy-note{margin:14px 0 18px;padding:12px 16px;border-left:3px solid var(--accent,#bfa67a);border-radius:0 8px 8px 0;background:var(--accent-soft,#f0eadc);color:var(--brand,#303040);font-size:1rem;line-height:1.5}

.contact-form .sms-consent{grid-column:1/-1;flex-direction:row;align-items:flex-start;gap:8px;margin-top:0;font-size:.8rem;line-height:1.45;cursor:pointer}
.contact-form .sms-consent input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;padding:0;border-radius:3px;accent-color:#bfa67a;cursor:pointer}
.contact-form .sms-consent input:focus-visible{outline:2px solid #f5e7c8;outline-offset:3px}
