.elementor-1286 .elementor-element.elementor-element-0d1ddef{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--padding-top:26px;--padding-bottom:30px;--padding-left:56px;--padding-right:56px;}.elementor-1286 .elementor-element.elementor-element-0d1ddef:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-0d1ddef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1286 .elementor-element.elementor-element-20b4adf{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:28px 28px;--row-gap:28px;--column-gap:28px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-b1ce7d4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-d1176f5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-c171eeb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:36px;--padding-bottom:40px;--padding-left:56px;--padding-right:56px;}.elementor-1286 .elementor-element.elementor-element-c171eeb:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-c171eeb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF7F2;}.elementor-1286 .elementor-element.elementor-element-febc8f9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-floorplan_gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-1286 .elementor-element.elementor-element-ea32190 .gallery-item .gallery-caption{display:none;}.elementor-1286 .elementor-element.elementor-element-9d5ea74{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:4px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-price_quote_button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-floorplan_brochure_button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1286 .elementor-element.elementor-element-0e45d5f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:8px;--padding-bottom:56px;--padding-left:56px;--padding-right:56px;}.elementor-1286 .elementor-element.elementor-element-0e45d5f:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-0e45d5f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF7F2;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1286 .elementor-element.elementor-element-4733c7d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-floorplan_image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1286 .elementor-element.elementor-element-2aad322{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:22px 22px;--row-gap:22px;--column-gap:22px;--padding-top:56px;--padding-bottom:64px;--padding-left:56px;--padding-right:56px;}.elementor-1286 .elementor-element.elementor-element-2aad322:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-2aad322 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF7F2;}.elementor-1286 .elementor-element.elementor-element-3d1e081{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-8263fd2{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:64px;--padding-bottom:70px;--padding-left:56px;--padding-right:56px;}.elementor-1286 .elementor-element.elementor-element-8263fd2:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-8263fd2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2F1443;}.elementor-1286 .elementor-element.elementor-element-a465046{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-d7bb3e4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1286 .elementor-element.elementor-element-cfdc91b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}@media(max-width:767px){.elementor-1286 .elementor-element.elementor-element-0d1ddef{--padding-top:20px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-1286 .elementor-element.elementor-element-c171eeb{--padding-top:24px;--padding-bottom:28px;--padding-left:24px;--padding-right:24px;}.elementor-1286 .elementor-element.elementor-element-0e45d5f{--padding-top:8px;--padding-bottom:40px;--padding-left:24px;--padding-right:24px;}.elementor-1286 .elementor-element.elementor-element-2aad322{--padding-top:40px;--padding-bottom:44px;--padding-left:24px;--padding-right:24px;}.elementor-1286 .elementor-element.elementor-element-8263fd2{--padding-top:48px;--padding-bottom:52px;--padding-left:24px;--padding-right:24px;}}@media(min-width:768px){.elementor-1286 .elementor-element.elementor-element-0d1ddef{--content-width:1320px;}.elementor-1286 .elementor-element.elementor-element-b1ce7d4{--width:50%;}.elementor-1286 .elementor-element.elementor-element-d1176f5{--width:50%;}.elementor-1286 .elementor-element.elementor-element-c171eeb{--content-width:1320px;}.elementor-1286 .elementor-element.elementor-element-0e45d5f{--content-width:1320px;}.elementor-1286 .elementor-element.elementor-element-2aad322{--content-width:1320px;}.elementor-1286 .elementor-element.elementor-element-8263fd2{--content-width:1320px;}.elementor-1286 .elementor-element.elementor-element-d7bb3e4{--width:50%;}.elementor-1286 .elementor-element.elementor-element-cfdc91b{--width:50%;}}/* Start custom CSS *//* ================= Floor Plan Detail =================
   Header (name + spec tiles) / photo carousel + thumbnail strip / buttons /
   about / floor plan / specifications / CTA.

   SELECTOR NOTE: custom classes set on WIDGETS survive, but classes set on
   CONTAINERS are dropped when a layout is applied from a saved template, so
   container slots are targeted by Elementor element id. Rebuilding this page
   from scratch changes these ids:
     febc8f9 photos / 9d5ea74 buttons / 4733c7d floor plan
     2aad322 specifications section / 3bbc1bf its heading
     3a5cad9 spec table / 3d1e081 spec tabs
     20b4adf header row / a465046 CTA buttons */

/* Empty-state handling. The plugin prints a "No ... Available" notice with
   class .no-result when a home has no tour, gallery or drawing -- the only
   reliable test, since the tour is a click-to-open thumbnail, not an iframe.
   :has() cannot nest, so a section's test is a sibling :not(:has()). */
.elementor-widget-FloorplanFirstTour:has(.no-result),
.elementor-widget-floorplan_gallery:has(.no-result),
.elementor-widget-floorplan_image:has(.no-result),
.elementor-widget-specification_tabs:not(:has(.nav-link)){ display:none !important; }
.e-con:has(> .e-con-inner > .elementor-widget-specification_tabs):not(:has(.nav-link)){ display:none !important; }

/* ---------- Header ---------- */
.pd-back p{ margin:0 !important; font-family:'Inter',sans-serif; font-size:13px; font-weight:500; }
.pd-back a{ color:#6B5B68 !important; text-decoration:none !important; }
.pd-back a:hover{ color:#7F6135 !important; }

.pd-title h1{
  font-family:'Fraunces',serif !important; font-weight:400 !important;
  font-size:38px !important; line-height:1.1 !important; letter-spacing:-.018em !important;
  color:#1F1420 !important; margin:0 !important;
}
@media(max-width:900px){ .pd-title h1{ font-size:27px !important; } }
.pd-builtby p{
  font-family:'Inter',sans-serif !important; font-size:13px !important;
  font-weight:300 !important; color:#6B5B68 !important; margin:0 !important;
}

/* Spec tiles -- icons reuse the plugin's own MH-Icons glyphs. */
.pd-tiles .spec-tiles{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.pd-tiles .st{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:86px; padding:10px 12px;
  background:#FFFFFF; border:1px solid #DCD2CC; border-radius:8px;
}
.pd-tiles .st i{
  font-family:'MH-Icons' !important; font-style:normal;
  font-size:17px; line-height:1; color:#A6824B; margin-bottom:6px;
}
.pd-tiles .st-v{
  font-family:'Inter',sans-serif; font-size:15px; font-weight:600;
  color:#1F1420; line-height:1.1; white-space:nowrap;
}
.pd-tiles .st-l{
  font-family:'Inter',sans-serif; font-size:10.5px; font-weight:400;
  letter-spacing:.06em; color:#6B5B68; margin-top:3px;
}
@media(max-width:900px){
  .elementor-element-20b4adf{ flex-direction:column !important; align-items:flex-start !important; }
  .pd-tiles .spec-tiles{ justify-content:flex-start; }
  .pd-tiles .st{ min-width:72px; padding:8px 10px; }
}

/* ---------- Photos ----------
   FRAME SHAPE IS DRIVEN BY THE PHOTOS, not the other way round. Measured on
   this gallery: 20 of 23 images are exactly 3:2 (1919x1280), the two floor
   plan drawings are 1.47 and one outlier is 1.35. So the frame is 3:2 and the
   images fill it edge to edge with object-fit:cover -- almost nothing is
   cropped. Width is capped so a 3:2 frame does not become 880px tall at full
   page width; the carousel, its header and the thumb strip share that cap. */
/* Photos left, 3D tour right, one row. The carousel keeps its 780px cap so a
   3:2 frame never becomes absurdly tall at full page width; the tour column is
   a fixed 300px beside it and drops underneath on narrow screens. */
.pd-media-row{
  display:flex !important; flex-wrap:wrap !important;
  align-items:flex-start !important; gap:28px !important;
}
.pd-media-left{ flex:1 1 520px !important; min-width:0 !important; max-width:780px !important; }
.pd-media-right{ flex:0 0 300px !important; max-width:300px !important; }
.pd-gal-head,
.pd-media-row{ max-width:1108px; margin-left:auto !important; margin-right:auto !important; }
.elementor-element-febc8f9 .elementor-image-gallery,
.pd-thumbs{ max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
@media(max-width:1024px){
  .pd-media-left,
  .pd-media-right{ flex:0 0 100% !important; max-width:100% !important; }
}
.pd-gal-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:20px; margin-bottom:14px !important;
}
.pd-gal-head h2{
  font-family:'Fraunces',serif; font-weight:400; font-size:27px;
  line-height:1.2; letter-spacing:-.012em; color:#1F1420; margin:0;
}
.pd-gal-all{
  font-family:'Inter',sans-serif; font-size:13px; font-weight:500;
  color:#6B5B68 !important; text-decoration:none !important; white-space:nowrap;
}
.pd-gal-all:hover{ color:#7F6135 !important; }

.elementor-element-febc8f9 .gallery{
  display:flex !important; flex-wrap:nowrap !important; gap:0 !important; margin:0 !important;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  background:#FFFFFF; border:1px solid #DCD2CC; border-radius:10px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.elementor-element-febc8f9 .gallery::-webkit-scrollbar{ display:none; }
.elementor-element-febc8f9 .gallery-item{
  margin:0 !important; float:none !important; max-width:none !important;
  flex:0 0 100% !important; width:100% !important;
  scroll-snap-align:center; scroll-snap-stop:always;
}
.elementor-element-febc8f9 .gallery-item img{
  width:100% !important; height:auto !important;
  aspect-ratio:3 / 2 !important;
  object-fit:cover !important; object-position:center center !important;
  display:block !important; border:0 !important; border-radius:10px !important;
}
.elementor-element-febc8f9 .gallery-caption{ display:none !important; }

/* Carousel controls */
.pd-gal-nav[hidden]{ display:none !important; }
.pd-gal-btn{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; padding:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Inter',sans-serif; font-size:26px; line-height:1;
  color:#1F1420; background:rgba(255,255,255,.94);
  border:1px solid #DCD2CC; border-radius:999px; cursor:pointer;
  box-shadow:0 4px 14px rgba(31,20,32,.14);
  transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}
.pd-gal-btn:hover{ background:#FFFFFF; border-color:#A6824B; color:#7F6135; }
.pd-gal-btn:focus-visible{ outline:2px solid #7F6135; outline-offset:2px; }
.pd-gal-prev{ left:16px; }
.pd-gal-next{ right:16px; }
.pd-gal-count{
  position:absolute; right:16px; bottom:16px; z-index:3;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500;
  letter-spacing:.08em; color:#FAF7F2;
  background:rgba(31,20,32,.72); border-radius:999px; padding:5px 12px;
}
@media(max-width:600px){
  .pd-gal-btn{ width:36px; height:36px; font-size:21px; }
  .pd-gal-prev{ left:8px; } .pd-gal-next{ right:8px; }
  .pd-gal-head h2{ font-size:22px; }
}

/* ---------- Thumbnail strip ---------- */
.pd-thumbs{
  display:flex; gap:8px; margin-top:10px !important;
  overflow-x:auto; padding-bottom:4px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.pd-thumbs::-webkit-scrollbar{ display:none; }
.pd-thumb{
  flex:0 0 auto; width:96px; height:64px; padding:0; margin:0;
  background:#FFFFFF; border:1px solid #DCD2CC; border-radius:6px;
  overflow:hidden; cursor:pointer; line-height:0;
  transition:border-color .2s ease;
}
.pd-thumb img{
  width:100% !important; height:100% !important;
  object-fit:cover !important; display:block !important; border:0 !important;
}
.pd-thumb:hover{ border-color:#C7A870; }
.pd-thumb.is-active{ border-color:#A6824B; border-width:2px; }
@media(max-width:600px){ .pd-thumb{ width:78px; height:52px; } }

/* 3D tour tile beside the photos. The plugin draws a thumbnail with the play
   glyph in an absolutely-positioned sibling inside a.fancybox, so that div is
   stretched over the image and flex-centred. */
.pd-tour-card{
  border:1px solid #DCD2CC; border-radius:10px; background:#FAF7F2;
  padding:16px !important; box-sizing:border-box;
}
.pd-tour-head{
  font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:#1F1420;
  margin:0 0 12px !important; line-height:1.2;
}
.pd-tour-note{
  font-family:'Inter',sans-serif; font-size:13px; color:#6B5B68;
  margin:12px 0 0 !important; line-height:1.4;
}
.pd-tour-side{ width:100% !important; max-width:100% !important; }
.pd-tour-side .text-center{ position:relative !important; display:block !important; line-height:0 !important; }
.pd-tour-side a.fancybox{ position:relative !important; display:block !important; line-height:0 !important; }
.pd-tour-side img{
  width:100% !important; height:176px !important;
  max-width:100% !important; max-height:none !important;
  object-fit:cover !important; display:block !important;
  padding:0 !important; border:1px solid #DCD2CC !important;
  background:none !important; border-radius:8px !important;
}
.pd-tour-side a.fancybox > div,
.pd-tour-side .text-center > div{
  position:absolute !important; top:0 !important; right:0 !important;
  bottom:0 !important; left:0 !important;
  width:auto !important; height:auto !important;
  margin:0 !important; padding:0 !important; max-width:none !important;
  transform:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.pd-tour-side i{
  color:#FFFFFF !important; font-size:46px !important; width:auto !important; height:auto !important;
  text-shadow:0 2px 10px rgba(0,0,0,.45) !important;
}
.pd-tour-side:hover img{ filter:brightness(.92); }

.elementor-element-9d5ea74{ flex-wrap:wrap !important; align-items:center !important; }
.elementor-widget-price_quote_button .elementor-button,
.elementor-widget-floorplan_brochure_button .elementor-button{
  font-family:'Inter',sans-serif !important; font-size:11px !important; font-weight:600 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  border-radius:3px !important; padding:15px 28px !important; line-height:1 !important;
  transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}
.elementor-widget-price_quote_button .elementor-button{
  background-color:#7F6135 !important; border:1px solid #7F6135 !important; color:#FFFFFF !important;
}
.elementor-widget-price_quote_button .elementor-button:hover{
  background-color:#6B5029 !important; border-color:#6B5029 !important;
}
.elementor-widget-floorplan_brochure_button .elementor-button{
  background-color:transparent !important; border:1px solid #2F1443 !important; color:#2F1443 !important;
}
.elementor-widget-floorplan_brochure_button .elementor-button:hover{
  background-color:#2F1443 !important; color:#FFFFFF !important;
}

/* ---------- Section headings and body copy ---------- */
.pd-h2 .elementor-heading-title{
  font-family:'Fraunces',serif !important; font-weight:400 !important;
  font-size:27px !important; line-height:1.2 !important; letter-spacing:-.012em !important;
  color:#1F1420 !important; margin:0 !important;
}
.pd-desc p{
  font-family:'Inter',sans-serif !important; font-size:15px !important;
  font-weight:300 !important; line-height:1.75 !important; color:#6B5B68 !important;
  margin:0 !important; max-width:860px;
}

/* ---------- Floor plan drawing ---------- */
.elementor-element-4733c7d{
  background:#FFFFFF; border:1px solid #DCD2CC; border-radius:10px;
  padding:14px !important;
}
.elementor-widget-floorplan_image img{
  max-height:300px !important; width:auto !important; max-width:100% !important;
  height:auto !important; display:block; margin:0 auto;
}
@media(max-width:1024px){ .elementor-widget-floorplan_image img{ max-height:260px !important; } }

/* ---------- Specifications: summary table LEFT, detail tabs RIGHT ----------
   Stacking them ran the section very long. The section's three children (the
   heading, the table and the tab block) are laid out as a wrapping row: the
   heading takes a full line, then the two blocks sit side by side. They stack
   again below 1024px, where there is no room for two columns. */
.elementor-element-2aad322 > .e-con-inner{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:26px 48px !important;
}
.elementor-element-3bbc1bf{ flex:0 0 100% !important; width:100% !important; }
.elementor-element-3a5cad9{ flex:1 1 340px !important; min-width:0 !important; }
.elementor-element-3d1e081{
  flex:1 1 400px !important; min-width:0 !important; padding-top:0 !important;
}
.elementor-element-2aad322:not(:has(.nav-link)) .elementor-element-3a5cad9{ flex:1 1 100% !important; }
@media(max-width:1024px){
  .elementor-element-3a5cad9,
  .elementor-element-3d1e081{ flex:0 0 100% !important; }
}

.pd-spectable table.spec-table{
  width:100% !important; max-width:none; border-collapse:collapse;
  font-family:'Inter',sans-serif; margin:0 !important;
}
.pd-spectable table.spec-table th,
.pd-spectable table.spec-table td{
  text-align:left; padding:11px 8px; border:0 !important;
  border-bottom:1px solid #DCD2CC !important; vertical-align:top;
}
.pd-spectable table.spec-table th{
  width:44%; font-size:13px; font-weight:500; color:#1F1420;
}
.pd-spectable table.spec-table td{
  font-size:13px; font-weight:300; color:#6B5B68;
}
.pd-spectable table.spec-table tr:last-child th,
.pd-spectable table.spec-table tr:last-child td{ border-bottom:0 !important; }

.elementor-widget-specification_tabs .container{
  width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important;
}
.elementor-widget-specification_tabs ul.nav-tabs{
  display:flex !important; flex-wrap:wrap; gap:7px;
  border:0 !important; margin:0 0 18px !important; padding:0 !important; list-style:none !important;
}
.elementor-widget-specification_tabs ul.nav-tabs li.nav-item{ margin:0 !important; padding:0 !important; }
.elementor-widget-specification_tabs .nav-tabs .nav-link{
  display:inline-block !important;
  font-family:'Inter',sans-serif !important; font-size:10.5px !important; font-weight:600 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  color:#6B5B68 !important; background:#FFFFFF !important;
  border:1px solid #DCD2CC !important; border-radius:999px !important;
  padding:8px 15px !important; text-decoration:none !important;
}
.elementor-widget-specification_tabs .nav-tabs .nav-link:hover{ border-color:#C7A870 !important; color:#1F1420 !important; }
.elementor-widget-specification_tabs .nav-tabs .nav-link.active{
  background:#2F1443 !important; border-color:#2F1443 !important; color:#FFFFFF !important;
}
.elementor-widget-specification_tabs .tab-content p,
.elementor-widget-specification_tabs .tab-content li,
.elementor-widget-specification_tabs .tab-content div{
  font-family:'Inter',sans-serif !important; font-size:13px !important;
  font-weight:300 !important; line-height:1.75 !important; color:#6B5B68 !important;
}
.elementor-widget-specification_tabs .tab-content strong,
.elementor-widget-specification_tabs .tab-content b{ color:#1F1420 !important; font-weight:500 !important; }

/* ---------- Closing CTA ---------- */
.pd-cta-h2 .elementor-heading-title{
  font-family:'Fraunces',serif !important; font-weight:400 !important;
  font-size:32px !important; line-height:1.15 !important; letter-spacing:-.014em !important;
  color:#FAF7F2 !important; margin:0 !important; text-align:center;
}
@media(max-width:900px){ .pd-cta-h2 .elementor-heading-title{ font-size:25px !important; } }
.pd-cta-text p{
  font-family:'Inter',sans-serif !important; font-size:15px !important;
  font-weight:300 !important; line-height:1.7 !important; color:#D5C7D5 !important;
  margin:0 !important; max-width:600px; text-align:center;
}
.elementor-element-a465046{ flex-wrap:wrap !important; justify-content:center !important; }
.pd-cta-button .elementor-button,
.pd-cta-button-alt .elementor-button{
  font-family:'Inter',sans-serif !important; font-size:11px !important; font-weight:600 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  border-radius:3px !important; padding:15px 28px !important;
}
.pd-cta-button .elementor-button{
  background-color:#7F6135 !important; border:1px solid #7F6135 !important; color:#FFFFFF !important;
}
.pd-cta-button .elementor-button:hover{ background-color:#6B5029 !important; border-color:#6B5029 !important; }
.pd-cta-button-alt .elementor-button{
  background-color:transparent !important; border:1px solid #C7A870 !important; color:#FAF7F2 !important;
}
.pd-cta-button-alt .elementor-button:hover{ background-color:#FAF7F2 !important; color:#2F1443 !important; }

/* ---------- About + Floor Plan: text LEFT, drawing RIGHT ----------
   These were two stacked sections; they are now one container whose four
   children are placed on a 2-column grid so the description and the drawing
   sit side by side and the page scrolls less. Stacks below 1024px. */
.elementor-element-0e45d5f > .e-con-inner{
  display:grid !important;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important;
  column-gap:48px !important; row-gap:14px !important;
  align-items:start !important;
}
.elementor-element-713bac4{ grid-column:1 !important; grid-row:1 !important; }
.elementor-element-e38030b{ grid-column:1 !important; grid-row:2 !important; }
.elementor-element-f6ed5ac{ grid-column:2 !important; grid-row:1 !important; }
.elementor-element-4733c7d{ grid-column:2 !important; grid-row:2 !important; }
@media(max-width:1024px){
  .elementor-element-0e45d5f > .e-con-inner{ display:flex !important; flex-direction:column !important; }
}

/* Price Quote + Brochure stacked full width under the 3D tour card. */
.pd-cta-stack{ display:flex !important; flex-direction:column !important; gap:10px !important; margin-top:16px !important; }
.pd-media-right > .pd-cta-stack:first-child{ margin-top:0 !important; }
.pd-cta-stack > .elementor-widget{ width:100% !important; max-width:100% !important; margin:0 !important; }
.pd-cta-stack .elementor-widget .elementor-button-wrapper{ width:100% !important; }
.pd-cta-stack .elementor-widget .elementor-button{
  display:flex !important; width:100% !important;
  align-items:center !important; justify-content:center !important;
  font-size:13px !important; letter-spacing:.12em !important;
  padding:17px 18px !important; border-radius:4px !important;
}

/* ---------- Section cards ----------
   Everything used to sit on one flat ivory field, so the page read as one long
   run of text. The page band is now the deeper ivory and each section's inner
   wrapper is a white card, so photos / about / specs read as separate blocks.
   Boxes INSIDE a card (gallery frame, floor plan box, spec tiles) go ivory so
   they still separate from the card behind them. */
.elementor-element-c171eeb,
.elementor-element-0e45d5f,
.elementor-element-2aad322{ background-color:#F1EAE3 !important; padding-top:20px !important; padding-bottom:20px !important; }
.elementor-element-c171eeb > .e-con-inner,
.elementor-element-0e45d5f > .e-con-inner,
.elementor-element-2aad322 > .e-con-inner{
  background:#FFFFFF !important; border:1px solid #DCD2CC !important;
  border-radius:14px !important; padding:30px 32px !important;
  box-shadow:0 1px 2px rgba(31,20,32,.05) !important;
}
.elementor-element-febc8f9 .gallery{ background:#FAF7F2 !important; }
.elementor-element-4733c7d{ background:#FAF7F2 !important; }

/* ---------- Spec tabs: one small box per line ----------
   The plugin prints each spec as <span>Label:</span> value<br>, one long run of
   text. The script in the photos block splits that on the <br>s and rebuilds it
   as a grid of labelled boxes. */
.elementor-widget-specification_tabs .tab-content{ margin-top:14px !important; }
.pd-spec-grid{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.pd-spec-item{
  background:#FAF7F2; border:1px solid #E6DED7; border-radius:8px;
  padding:10px 12px; display:flex; flex-direction:column; gap:3px; min-width:0;
}
.pd-spec-item .k{
  font-family:'Inter',sans-serif; font-size:10px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#7F6135;
}
.pd-spec-item .v{
  font-family:'Inter',sans-serif; font-size:13px; line-height:1.45; color:#1F1420;
  overflow-wrap:anywhere;
}
.pd-spec-item.pd-spec-note{ grid-column:1 / -1; }
.pd-spec-item.pd-spec-note .v{ color:#6B5B68; }

/* Hide gallery until photo order is settled (stops drawing flash) */
.elementor-element-febc8f9 .gallery,.elementor-element-febc8f9 .pd-thumbs-wrap{transition:opacity .2s ease;}
.elementor-element-febc8f9:not(.pd-ready) .gallery,.elementor-element-febc8f9:not(.pd-ready) .pd-thumbs-wrap{opacity:0;animation:pdReveal 0s linear 3s forwards;}
@keyframes pdReveal{to{opacity:1;}}/* End custom CSS */