.floor-plan-section{background:#f3f5f5}
.fp-heading{margin-bottom:35px}
.fp-filters{border-top:1px solid #d7dee3}
.fp-filter-row{display:grid;grid-template-columns:155px minmax(0,1fr);gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid #d7dee3}
.fp-filter-label{font-size:11px;font-weight:700;line-height:1.6;color:#586875}
.fp-model-filters,.fp-bedroom-filters{display:flex;gap:8px;flex-wrap:wrap}
.fp-filter-button,.fp-bedroom-button{border:1px solid #ced7dd;background:#fff;padding:10px 20px;min-height:42px;font-size:12px;font-weight:700;line-height:1.5}
.fp-filter-button{min-width:113px;text-align:center}
.fp-filter-button:hover,.fp-bedroom-button:hover,.fp-series-button:hover{border-color:#8293a1}
.fp-filter-button.is-active,.fp-bedroom-button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.fp-series-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.fp-series-button{background:#fff;border:1px solid #ced7dd;padding:12px 11px;text-align:left;min-height:66px;display:flex;flex-direction:column;justify-content:center;gap:4px;line-height:1.5}
.fp-series-button strong{font-size:11px;line-height:1.5}
.fp-series-button small{font-size:9px;color:#73818b;line-height:1.5}
.fp-series-button.is-active{background:#fcf5d9;border-color:#c4a43d}
.fp-series-button.is-active strong{color:#705611}
.fp-selection{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:81px;margin:25px 0;background:#e8edef;border-left:3px solid #bdc8d0;padding:16px 20px}
.fp-selection.has-selection{background:#f8efcb;border-color:#d5aa24}
.fp-selection-label{display:block;font-size:11px;color:#526471;line-height:1.6}
.fp-selection strong{display:block;font-size:13px;line-height:1.6;margin-top:4px;color:var(--ink)}
.fp-selection p{font-size:11px;color:#6a7984;margin-top:4px}
.fp-clear{display:flex;gap:13px;align-items:center;flex:none;padding:7px 0;border:0;border-bottom:1px solid #9f966f;background:none;font-size:10px;line-height:1.5}
.fp-clear>span{font-size:19px;line-height:1}
.fp-preview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);background:#fff;border:1px solid #d9e0e4}
.fp-drawing{min-width:0;background:#fff;display:flex;flex-direction:column;border-right:1px solid #d9e0e4}
.fp-drawing-top{display:flex;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid #e5e9ec;font-size:9px;letter-spacing:.08em;color:#6d7b86;line-height:1.5}
.fp-drawing-top>span:first-child{color:#8e6b04;font-weight:700}
.fp-image-button{display:block;position:relative;flex:1;min-height:400px;max-height:580px;width:100%;background:#fff;border:0;padding:23px 22px 48px}
.fp-image-button>img{display:block;width:100%;height:100%;max-height:490px;object-fit:contain}
.fp-enlarge{position:absolute;left:20px;right:20px;bottom:15px;display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.6;color:#586875}
.fp-enlarge>span{font-size:19px;color:#8e6b04;line-height:1}
.fp-preview-copy{padding:29px 28px;min-width:0;display:flex;flex-direction:column;align-items:stretch}
.fp-preview-copy .eyebrow{font-size:9px;line-height:1.7;letter-spacing:.04em;margin-bottom:13px}
.fp-preview-copy h3{font-size:26px;line-height:1.3;margin-bottom:19px}
.fp-reference{display:flex;justify-content:space-between;gap:15px;padding-bottom:15px;margin-bottom:2px;border-bottom:1px solid #e1e6e9;font-size:11px;line-height:1.6}
.fp-reference>span{color:#6c7a84}.fp-reference strong{color:#956e00;letter-spacing:.03em}
.fp-facts{margin:0 0 21px}
.fp-facts>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e1e6e9;line-height:1.6;font-size:11px}
.fp-facts dt{color:#6c7a84}.fp-facts dd{margin:0;text-align:right;font-weight:700}
.fp-plan-note{font-size:11px;color:#687984;line-height:1.8;margin:0 0 23px}
.fp-preview-copy>.button{width:100%;font-size:12px;margin-top:auto;gap:14px;min-height:47px}
.fp-selected-button{color:var(--navy);background:var(--yellow);border-color:var(--yellow)}
.fp-choose-hint{font-size:10px;line-height:1.7;color:#74828d;margin-top:11px}
.fp-original{align-self:flex-start;font-size:10px;border-bottom:1px solid #bdc7ce;line-height:1.8;margin-top:15px}.fp-original:hover{color:#956e00}
.fp-preview-pending{display:grid;place-items:center;text-align:center;flex:1;min-height:300px;padding:30px;font-size:14px;color:#6a7a85}
.fp-empty{border:1px dashed #c9d3db;background:#fff;padding:50px 30px;text-align:center}
.fp-empty>span{display:block;font-size:34px;color:#aa8a2c;margin-bottom:18px}
.fp-empty h3{font-size:21px;line-height:1.5;font-weight:500;color:#617381;max-width:600px;margin:auto}
.fp-empty .text-link{margin-top:22px;font-size:12px}
.fp-collection-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin:31px 0 20px}
.fp-collection-heading h3{font-size:22px;line-height:1.4;white-space:nowrap}
.fp-collection-heading h3>span{display:inline-block;font-size:10px;font-weight:400;margin-left:13px;color:#7a8790;vertical-align:middle}
.fp-collection-heading p{max-width:550px;font-size:11px;color:#6a7b87}
.fp-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fp-card{display:block;width:100%;min-width:0;border:1px solid #d1dbe2;background:#fff;padding:0;text-align:left;overflow:hidden}
.fp-card:hover{border-color:#879aa9}.fp-card.is-previewing{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.fp-card.is-selected{border-color:#b38c16}
.fp-card-image{display:block;position:relative;aspect-ratio:1.45;padding:9px;background:#fff;border-bottom:1px solid #e8ecef}
.fp-card-image>img{width:100%;height:100%;object-fit:contain}
.fp-card-image>span[aria-hidden]{font-size:30px;display:grid;place-items:center;height:100%;color:#98a8b4}
.fp-card-selected{position:absolute;top:0;right:0;background:var(--yellow);font-size:8px;line-height:1.5;font-weight:700;padding:4px 7px;color:var(--navy)}
.fp-card-body{display:block;padding:12px 13px 14px}
.fp-card-code{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:9px;color:#7b858c;letter-spacing:.04em;margin-bottom:7px;line-height:1.5}
.fp-card-code i{font-size:8px;font-style:normal;background:#eef2f4;color:#637685;padding:1px 5px}
.fp-card-body>strong{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.fp-card-body>small{display:block;font-size:9px;line-height:1.65;color:#71818d;margin-top:5px}
.fp-legend{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px;padding:23px 0;border-top:1px solid #d6dee3;border-bottom:1px solid #d6dee3;align-items:center}
.fp-legend .eyebrow{font-size:9px;margin-bottom:14px}
.fp-legend-items{display:flex;flex-wrap:wrap;gap:10px 22px}
.fp-legend-items>span{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#5c6f7e;line-height:1.6}
.fp-legend-swatch{display:inline-block;width:20px;height:20px;border:1px solid #c4ced5;border-radius:2px;flex:none}
.fp-legend>p{font-size:11px;color:#73818b;max-width:520px;justify-self:end}
.fp-disclaimer{margin-top:18px;font-size:10px;max-width:1050px;color:#74818b}
@media(min-width:1500px){.fp-image-button{min-height:455px}}
@media(max-width:1100px){.fp-filter-row{grid-template-columns:125px minmax(0,1fr);gap:18px}.fp-series-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.fp-series-button{min-height:58px;padding:10px 13px}.fp-preview{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.fp-preview-copy{padding:25px 23px}.fp-preview-copy h3{font-size:23px}.fp-image-button{min-height:375px;padding:18px 15px 45px}.fp-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
@media(max-width:820px){.fp-preview{grid-template-columns:1fr}.fp-drawing{border-right:0;border-bottom:1px solid #d9e0e4}.fp-image-button{min-height:0;aspect-ratio:1.5;max-height:540px;padding:22px 23px 46px}.fp-image-button>img{max-height:450px}.fp-preview-copy{padding:27px;display:grid;grid-template-columns:1fr 1fr;gap:0 27px}.fp-preview-copy .eyebrow,.fp-preview-copy h3,.fp-reference,.fp-plan-note{grid-column:1/-1}.fp-facts{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.fp-preview-copy>.button{align-self:start;margin-top:0}.fp-choose-hint{margin-top:0;align-self:center}.fp-original{grid-column:1/-1;justify-self:start}.fp-collection-heading{align-items:flex-start}.fp-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.fp-legend{gap:25px}}
@media(max-width:760px){.fp-heading{margin-bottom:28px}.fp-filter-row{grid-template-columns:1fr;gap:11px;padding:17px 0}.fp-filter-label{font-size:10px}.fp-series-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.fp-series-button{padding:11px 13px}.fp-series-button strong{font-size:11px}.fp-series-button small{font-size:9px}.fp-selection{margin:22px 0;padding:15px 17px;gap:17px}.fp-selection strong{font-size:12px}.fp-selection-label,.fp-selection p{font-size:10px}.fp-clear{font-size:9px}.fp-legend{grid-template-columns:1fr;gap:18px}.fp-legend>p{justify-self:start;max-width:none}.fp-collection-heading{display:block;margin-top:27px}.fp-collection-heading h3{font-size:21px}.fp-collection-heading p{margin-top:8px}.fp-card-body{padding:11px 11px 13px}}
@media(max-width:540px){.fp-model-filters{display:grid;grid-template-columns:repeat(3,1fr)}.fp-filter-button{min-width:0;padding:10px 12px;min-height:40px;font-size:11px}.fp-bedroom-filters{gap:7px}.fp-bedroom-button{padding:9px 13px;min-height:36px;font-size:10px}.fp-series-filters{gap:7px}.fp-series-button{min-height:61px;padding:10px 9px}.fp-series-button strong{font-size:10px}.fp-series-button small{font-size:8px}.fp-selection{display:block;padding:15px 16px}.fp-selection strong{font-size:11px}.fp-clear{margin-top:10px;font-size:10px}.fp-drawing-top{padding:12px 14px;font-size:8px;letter-spacing:.03em;gap:12px}.fp-image-button{aspect-ratio:1.12;padding:14px 9px 43px}.fp-image-button>img{max-height:none}.fp-enlarge{left:14px;right:14px;bottom:13px;font-size:10px}.fp-preview-copy{display:block;padding:23px 20px}.fp-preview-copy .eyebrow{font-size:8px;margin-bottom:11px}.fp-preview-copy h3{font-size:24px;margin-bottom:17px}.fp-reference{font-size:10px;padding-bottom:13px}.fp-facts{display:block;margin-bottom:20px}.fp-facts>div{font-size:10px;padding:9px 0}.fp-plan-note{font-size:10px;margin-bottom:21px}.fp-preview-copy>.button{font-size:11px;min-height:44px}.fp-choose-hint{margin-top:10px;font-size:9px}.fp-original{display:inline-block;font-size:10px;margin-top:14px}.fp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.fp-card-image{aspect-ratio:1.35;padding:7px}.fp-card-body{padding:11px}.fp-card-code{font-size:8px;margin-bottom:6px}.fp-card-body>strong{font-size:11px}.fp-card-body>small{font-size:8px}.fp-card-selected{font-size:7px;padding:4px 5px}.fp-legend{margin-top:25px;padding:21px 0}.fp-legend-items{gap:10px 16px}.fp-legend-items>span{font-size:10px}.fp-legend-swatch{width:18px;height:18px}.fp-legend>p{font-size:10px}.fp-disclaimer{font-size:9px;margin-top:17px}.fp-empty{padding:35px 22px}.fp-empty h3{font-size:18px}}

/* Zoom stays inside the drawing viewer and never changes the chosen scheme. */
.fp-zoom-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 15px;border-bottom:1px solid #e4eaee;background:#f6f8f9}
.fp-zoom-toolbar>span{font-size:10px;color:#677b89;line-height:1.5}
.fp-zoom-controls{display:flex;align-items:center;gap:3px}
.fp-zoom-controls button{display:grid;place-items:center;min-width:30px;height:29px;border:1px solid #d5dfe5;background:#fff;font-size:16px;line-height:1;padding:4px;color:var(--navy)}
.fp-zoom-controls .fp-zoom-value{font-size:10px;min-width:45px}
.fp-zoom-controls button:hover:not(:disabled){background:#fcf5d9;border-color:#b89a35}
.fp-zoom-controls button:disabled{opacity:.35}
.fp-image-viewport{height:455px;overflow:auto;max-width:100%;position:relative;background:#fff;overscroll-behavior:contain;scrollbar-gutter:stable}
.fp-image-viewport:focus-visible{outline:2px solid #b99728;outline-offset:-3px}
.fp-image-viewport .fp-image-button{display:block;min-width:100%;min-height:100%;max-height:none;aspect-ratio:auto;flex:none;padding:22px 22px 45px}
.fp-image-viewport .fp-image-button>img{width:100%;height:100%;max-height:none;object-fit:contain}
@media(min-width:1500px){.fp-image-viewport{height:490px}}
@media(max-width:1100px){.fp-image-viewport{height:400px}}
@media(max-width:820px){.fp-image-viewport{height:440px}.fp-image-viewport .fp-image-button{padding:20px 20px 45px}}
@media(max-width:540px){.fp-image-viewport{height:330px}.fp-image-viewport .fp-image-button{padding:12px 10px 42px}.fp-zoom-toolbar{padding:9px 12px;gap:10px}.fp-zoom-toolbar>span{font-size:9px}.fp-zoom-controls button{height:29px;min-width:29px}.fp-zoom-controls .fp-zoom-value{font-size:9px;min-width:41px}}
