.layout-section{margin-bottom:3rem;color:#203e60;scroll-margin-top:110px}
.layout-section h2{font-size:clamp(24px,3vw,32px);margin:0 0 16px;font-family:inherit}
.layout-intro{color:#59708b;margin:0 0 26px;line-height:1.8}
.layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.layout-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dbe2e9;border-radius:18px;overflow:hidden;background:#fff;color:#203e60;text-decoration:none;transition:box-shadow .2s,border-color .2s}
.layout-card:hover{border-color:#ac8563;box-shadow:0 10px 26px #203e6012}
.layout-card:focus-visible,.whole-house-layout:focus-visible{outline:3px solid #ac8563;outline-offset:4px}
.layout-card__photo{display:block;width:100%;height:auto;aspect-ratio:1.48;object-fit:cover}
.layout-card__body{padding:22px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
.layout-card__number{font-size:12px;letter-spacing:.045em;color:#926c4b;line-height:1.5}
.layout-card__body h3{margin:0;font-family:inherit;font-weight:700;font-size:22px;line-height:1.4}
.layout-card__body p{margin:0;font-size:14px;line-height:1.7;color:#526c88;overflow-wrap:anywhere}
.layout-card__body .layout-card__meta{color:#203e60;font-size:14px}
.layout-card__cta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-top:14px;margin-top:auto;color:#926c4b;font-weight:600;font-size:14px;line-height:1.6}
.layout-amenities{display:block!important}
.layout-amenities ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;padding:0;margin:0;list-style:none}
.layout-amenities li{padding-left:18px;position:relative;color:#526c88;font-size:15px;line-height:1.6}
.layout-amenities li:before{content:'•';position:absolute;left:0;color:#ac8563}
.layout-amenities h3{font-family:inherit;font-size:18px;margin:30px 0 18px}
.whole-house-layout{display:block;background:#fff;border:1px solid #e1e5e8;border-radius:18px;overflow:hidden;text-decoration:none;padding:12px}
.whole-house-image{display:block;width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 30% 20% at 9% 7%,transparent 64%,#000 100%);mask-image:radial-gradient(ellipse 30% 20% at 9% 7%,transparent 64%,#000 100%)}
.whole-house-layout .layout-card__cta{padding:16px 12px 10px;width:auto}
.layout-note{font-size:12px!important;line-height:1.65;color:#687887;margin:15px 0 0}
.floorplan-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;border:1px solid #dde3e9;border-radius:20px;padding:26px;width:min(1060px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90vh;max-height:90dvh;overflow:auto;background:#fff;color:#203e60;z-index:10000;font-family:inherit;box-shadow:0 30px 100px #102b4c55}
.floorplan-dialog::backdrop{background:#10263edd;backdrop-filter:blur(4px)}
.floorplan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.floorplan-head h2{font-family:inherit;font-size:clamp(19px,3vw,27px);line-height:1.4;margin:0}
.floorplan-dialog button{font:inherit;font-size:14px;border:1px solid #cfd9e3;background:#fff;color:#203e60;border-radius:9px;padding:10px 16px;min-height:44px;cursor:pointer;white-space:nowrap}
.floorplan-dialog button:focus-visible{outline:3px solid #ac8563;outline-offset:2px}
.floorplan-dialog button:hover{background:#f5f2ed}
#floorplan-details{font-size:14px;line-height:1.75;color:#526c88;margin:15px 0}
.floorplan-tools{display:flex;gap:10px;margin-bottom:14px}
.floorplan-scroll{width:100%;max-height:57vh;max-height:57dvh;overflow:auto;overscroll-behavior:contain;border:1px solid #e4e8ec;border-radius:10px;background:#fff}
.floorplan-canvas{width:100%;min-width:0}
.floorplan-canvas img{display:block;width:auto;max-width:100%;height:auto;max-height:54vh;max-height:54dvh;object-fit:contain;margin:auto}
.floorplan-scroll.is-zoomed .floorplan-canvas img{width:100%;max-height:none}
.floorplan-scroll.is-zoomed .floorplan-canvas{width:160%;min-width:850px;max-width:2200px}
.layout-standalone{margin:0;background:#f6f8fa;color:#203e60;font-family:system-ui,sans-serif}
.layout-standalone main{max-width:1200px;padding:24px;margin:auto;background:white}
.layout-standalone a{color:inherit}
@media(max-width:600px){.layout-grid{grid-template-columns:minmax(0,1fr);gap:20px}.layout-card__photo{aspect-ratio:1.6}.layout-card__body{padding:20px}.layout-amenities ul{gap:12px}.floorplan-dialog{padding:18px;border-radius:14px;width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.floorplan-head{gap:10px}.floorplan-head button{padding:8px 12px}.floorplan-scroll{max-height:53dvh}.whole-house-layout{padding:5px}.whole-house-layout .layout-card__cta{font-size:13px}}
