.elementor-41 .elementor-element.elementor-element-7c29421e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-1bf016ea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-2c27ad27{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.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-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-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-41 .elementor-element.elementor-element-71e28fac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-2890900c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-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-41 .elementor-element.elementor-element-36792721{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-94bb9eb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-4513dbe2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-2a71e373{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-2b26f15c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-52b16a99{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;}.elementor-41 .elementor-element.elementor-element-09f7591{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-c25d128{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-6c142939{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-67921583{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-4abac7e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-5db0c9ea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-7b1d1723{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-372067aa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-30c09a17{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-2b8a0f0e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-3718053{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-22465e9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-41 .elementor-element.elementor-element-5d229283{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-14308701{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-66cd1694{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-716902f6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-252ae853{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-4ecaf7e5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-7632f353{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-799399fe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-23385b3a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-d769578{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-41 .elementor-element.elementor-element-e39c050{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-5548767{--display:flex;--min-height:700px;}.elementor-41 .elementor-element.elementor-element-5548767:not(.elementor-motion-effects-element-type-background), .elementor-41 .elementor-element.elementor-element-5548767 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://brooksestateot.com/wp-content/uploads/2026/10/Brooks-Claire-model-scaled-e1792778660540.jpg");background-size:cover;}.elementor-41 .elementor-element.elementor-element-6d75867 > .elementor-widget-container{margin:0px 0px 5px 0px;}.elementor-41 .elementor-element.elementor-element-94303d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-c80a3ad{--display:flex;--min-height:700px;}.elementor-41 .elementor-element.elementor-element-c80a3ad:not(.elementor-motion-effects-element-type-background), .elementor-41 .elementor-element.elementor-element-c80a3ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://brooksestateot.com/wp-content/uploads/2026/10/Brooks-Masonic-View-Model-on-Cameron-scaled-e1792778690446.jpg");background-size:cover;}.elementor-41 .elementor-element.elementor-element-cdf4296 > .elementor-widget-container{margin:0px 0px 5px 0px;}.elementor-41 .elementor-element.elementor-element-4c0531d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-b0d3dca{--display:flex;--min-height:700px;}.elementor-41 .elementor-element.elementor-element-b0d3dca:not(.elementor-motion-effects-element-type-background), .elementor-41 .elementor-element.elementor-element-b0d3dca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://brooksestateot.com/wp-content/uploads/2026/10/Brooks-Kendall-Madel-scaled-e1792778724351.jpg");background-position:center center;background-size:cover;}.elementor-41 .elementor-element.elementor-element-8626e08 > .elementor-widget-container{margin:0px 0px 5px 0px;}.elementor-41 .elementor-element.elementor-element-9dee392{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-0602d35{--display:flex;--min-height:700px;}.elementor-41 .elementor-element.elementor-element-0602d35:not(.elementor-motion-effects-element-type-background), .elementor-41 .elementor-element.elementor-element-0602d35 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://brooksestateot.com/wp-content/uploads/2026/10/henry-photo-7-1.jpg");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-41 .elementor-element.elementor-element-13b58b8 > .elementor-widget-container{margin:0px 0px 5px 0px;}.elementor-41 .elementor-element.elementor-element-79b552a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;}.elementor-41 .elementor-element.elementor-element-13390c4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-80cb39c{--spacer-size:50px;}.elementor-41 .elementor-element.elementor-element-2cb3d9ca{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-1ad262aa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-13eccbcd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-1e6fecab{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-beb925c iframe{height:425px;}.elementor-41 .elementor-element.elementor-element-48f7707a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-563f4e06{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-1e08777b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-743a671e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-076a979{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-4aed247{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-9e75e9f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-208b39af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-f4b54bc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;--padding-top:75px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-9b42c2e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:030px;--padding-right:30px;}.elementor-41 .elementor-element.elementor-element-6cc647ed img{height:500px;}.elementor-41 .elementor-element.elementor-element-d79770b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-964c4d1{--spacer-size:50px;}.elementor-41 .elementor-element.elementor-element-1fece5d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-34daaa1b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-570f1576{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-4a2c4bb1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-197ca14d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-2e3f71bf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-f1246eb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-1cab902{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-41 .elementor-element.elementor-element-4fbae20{--spacer-size:10px;}.elementor-41 .elementor-element.elementor-element-de7874f{--spacer-size:10px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-41 .elementor-element.elementor-element-9b42c2e{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-09f7591 *//* ==========================================================================
   Brooks Estate – homepage mobile fixes (brooksestateot.com)
   Paste at the END of Appearance > Customize > Additional CSS.
   Uses the site's existing 760px mobile breakpoint.
   ========================================================================== */

@media (max-width: 760px) {

  /* 1. HEADER – logo, Menu and RE/MAX fit without the RE/MAX logo running off small phones */
  .bk-bar .bk-brand { gap: 6px !important; }
  .bk-bar .bk-brand-txt { padding-left: 4px !important; padding-right: 4px !important; }
  .bk-broker { margin-left: 4px !important; }

  /* 2. RESIDENCE CARDS – shorter photos (were 700px tall) and centered crop */
  .bk-main .bk-model > .e-con:first-child {
    --min-height: 420px !important;
    min-height: 420px !important;
    background-position: center center !important;
  }
  /* Name / address / price / note spacing (price line was overlapping the note) */
  .bk-main .bk-model .bk-addr,
  .bk-main .bk-model .bk-addr p { margin-bottom: 6px !important; }
  .bk-main .bk-price .elementor-heading-title { line-height: 1.5 !important; }
  .bk-main .bk-price-note,
  .bk-main .bk-price-note p { margin: 2px 0 10px !important; }

  /* 3. LOCATION LIST – distance drops under the place name instead of colliding with it */
  .bk-main .bk-li { padding: 14px 0 !important; }
  .bk-main .bk-li span {
    float: none !important;
    display: block;
    margin-top: 3px;
    font-size: 11px;
    letter-spacing: .3px;
  }

  /* 4. "LOWER KING STREET" SECTION – text and button were running off the right edge */
  .bk-main .elementor-element-9b42c2e,
  .bk-main .elementor-element-d79770b {
    --padding-left: 7% !important;
    --padding-right: 7% !important;
    padding-left: 7% !important;
    padding-right: 7% !important;
  }
  .bk-main .elementor-element-f4b54bc { padding-top: 60px !important; }
  .bk-main .elementor-element-964c4d1 { display: none !important; }        /* extra spacer */
  .bk-main .elementor-element-4a86cc2b { margin-top: 30px !important; }    /* eyebrow */
  .bk-main .elementor-element-4d044259 .elementor-button-wrapper { text-align: left !important; }
  .bk-main .elementor-element-4d044259 .elementor-button {                  /* button back to normal width */
    display: inline-block !important;
    width: auto !important;
  }

  /* 5. Images keep their crop height inside cards */
  .bk-main .bk-gcard img,
  .bk-main .bk-intro-img img,
  .bk-main .bk-loc-img img { width: 100% !important; }
}

/* 6. SMALL PHONES (360px and under – older/compact Androids, iPhone SE 1st gen) */
@media (max-width: 360px) {
  .bk-bar .bk-brand-t .elementor-heading-title { font-size: 12px !important; letter-spacing: 1px !important; }
  .bk-bar .bk-brand-s, .bk-bar .bk-brand-s p { font-size: 6px !important; letter-spacing: .8px !important; }
  .bk-logo, .bk-logo img { width: 22px !important; flex-basis: 22px !important; }
  .bk-logo img { height: 54px !important; }
  .bk-menu { min-width: 44px !important; font-size: 11px !important; }
  .bk-broker img { width: 64px !important; }
  .bk-exec { font-size: 6px !important; }

  .bk-main .bk-hero-copy .bk-h1 .elementor-heading-title { font-size: 44px !important; line-height: 47px !important; }
}

/* OPTIONAL – the "Details worth coming home to" block appears twice inside the
   #details section (a duplicate container, id 0098011). The proper fix is to delete
   that duplicate in Elementor. If you can't, uncomment the line below to hide it. */
/* .bk-main .elementor-element-0098011 { display: none !important; } *//* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-4bc13d17 *//* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 input, .elementor-41 .elementor-element.elementor-element-4bc13d17 select, .elementor-41 .elementor-element.elementor-element-4bc13d17 textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-4bc13d17 .elementor-spacer-inner { max-height: 2rem; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-52b16a99 *//* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 input, .elementor-41 .elementor-element.elementor-element-52b16a99 select, .elementor-41 .elementor-element.elementor-element-52b16a99 textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-52b16a99 .elementor-spacer-inner { max-height: 2rem; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2a1a43e1 *//* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 input, .elementor-41 .elementor-element.elementor-element-2a1a43e1 select, .elementor-41 .elementor-element.elementor-element-2a1a43e1 textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2a1a43e1 .elementor-spacer-inner { max-height: 2rem; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-13390c4c *//* ==========================================================================
   Brooks Estate – Responsive widget CSS
   Breakpoints: tablet <= 1024px · mobile <= 767px · small phone <= 480px

   THREE WAYS TO USE THIS FILE
   A. Elementor Pro, per widget: copy one snippet from Part A into the widget's
      Advanced > Custom CSS box. ".elementor-41 .elementor-element.elementor-element-13390c4c" targets that widget only.
   B. Any builder, by class: paste Part B into Appearance > Customize >
      Additional CSS, then add the class (e.g. w-iconbox-stack) to the
      widget's Advanced > CSS Classes field.
   C. WordPress sidebar/footer widget areas: Part C applies site-wide once
      pasted into Additional CSS. No classes needed.
   ========================================================================== */


/* ==========================================================================
   PART A – Elementor Pro per-widget snippets (paste into the widget's Custom CSS)
   Each snippet is self-contained. Copy only the one you need.
   ========================================================================== */

/* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-13390c4c img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-13390c4c input, .elementor-41 .elementor-element.elementor-element-13390c4c select, .elementor-41 .elementor-element.elementor-element-13390c4c textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-13390c4c .elementor-spacer-inner { max-height: 2rem; }
}


/* ==========================================================================
   PART B – Class-based widget helpers (paste into Additional CSS once,
   then add the class to any widget's CSS Classes field)
   ========================================================================== */

@media (max-width: 767px) {

  /* Any widget: center everything inside it */
  .w-center-mobile, .w-center-mobile * { text-align: center !important; }
  .w-center-mobile img { margin-left: auto !important; margin-right: auto !important; }

  /* Icon Box / Image Box: stack icon above text */
  .w-iconbox-stack .elementor-icon-box-wrapper,
  .w-iconbox-stack .elementor-image-box-wrapper { display: block !important; text-align: center !important; }
  .w-iconbox-stack .elementor-icon-box-icon,
  .w-iconbox-stack .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block !important; }

  /* Button: full width */
  .w-btn-full .elementor-button,
  .w-btn-full .wp-block-button__link,
  .w-btn-full a.button { display: block !important; width: 100% !important; text-align: center; }

  /* Image: fill width */
  .w-img-full img { width: 100% !important; max-width: 100% !important; height: auto !important; }

  /* Image: fixed-height crop */
  .w-img-crop img { width: 100% !important; height: 260px !important; object-fit: cover; }

  /* Gallery: 2-up */
  .w-gallery-2 .gallery,
  .w-gallery-2 .wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem; }
  .w-gallery-2 .gallery-item,
  .w-gallery-2 .wp-block-image { width: auto !important; max-width: 100% !important; margin: 0 !important; }

  /* Posts / Loop Grid: 1-up */
  .w-grid-1 .elementor-posts-container,
  .w-grid-1 .elementor-loop-container,
  .w-grid-1 .wp-block-post-template { grid-template-columns: 1fr !important; }

  /* Form: full-width fields */
  .w-form-full .elementor-field-group,
  .w-form-full .gfield,
  .w-form-full .wpforms-field { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; grid-column: 1 / -1 !important; }
  .w-form-full input, .w-form-full select, .w-form-full textarea { font-size: 16px !important; }
  .w-form-full button, .w-form-full input[type="submit"] { width: 100% !important; }

  /* Icon List (inline): stack items */
  .w-list-stack .elementor-icon-list-items { flex-direction: column !important; align-items: flex-start !important; }
  .w-list-stack .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .w-list-stack .elementor-icon-list-item::after { display: none !important; }

  /* Embeds: responsive 16:9 */
  .w-embed-16x9 iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }

  /* Trim padding inside boxed widgets */
  .w-pad-sm, .w-pad-sm > .elementor-widget-container { padding: 1.25rem !important; }

  /* Hide on phones */
  .w-hide-mobile { display: none !important; }
}

@media (max-width: 1024px) {
  /* Posts / Loop Grid: 2-up on tablet */
  .w-grid-2-tablet .elementor-posts-container,
  .w-grid-2-tablet .elementor-loop-container,
  .w-grid-2-tablet .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 480px) {
  .w-gallery-2 .gallery,
  .w-gallery-2 .wp-block-gallery { grid-template-columns: 1fr !important; }
}


/* ==========================================================================
   PART C – WordPress sidebar & footer widget areas (site-wide, no classes)
   ========================================================================== */

/* Every widget: no overflow */
.widget { max-width: 100%; overflow-wrap: break-word; }
.widget img, .widget iframe, .widget select { max-width: 100%; height: auto; }

/* Sidebar drops below content on tablet and phone */
@media (max-width: 1024px) {
  .content-area, #primary, .site-main,
  .widget-area, #secondary, .sidebar { width: 100% !important; float: none !important; max-width: 100% !important; }
  .widget-area, #secondary, .sidebar { margin-top: 2.5rem; }
}

/* Footer widget columns: 2-up on tablet, 1-up on phone */
@media (max-width: 1024px) {
  .footer-widgets, .site-footer .widget-area, .footer-widget-area,
  .site-footer .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem;
  }
  .footer-widgets > *, .site-footer .widget-area > *, .footer-widget-area > *,
  .site-footer .wp-block-columns > * { width: auto !important; max-width: 100% !important; margin: 0 !important; float: none !important; }
}
@media (max-width: 767px) {
  .footer-widgets, .site-footer .widget-area, .footer-widget-area,
  .site-footer .wp-block-columns { grid-template-columns: 1fr !important; text-align: center; }
  .site-footer .widget ul { padding-left: 0; list-style: none; }
  .site-footer .social-links, .site-footer .wp-block-social-links { justify-content: center !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-79b552a *//* ==========================================================================
   Brooks Estate – Responsive widget CSS
   Breakpoints: tablet <= 1024px · mobile <= 767px · small phone <= 480px

   THREE WAYS TO USE THIS FILE
   A. Elementor Pro, per widget: copy one snippet from Part A into the widget's
      Advanced > Custom CSS box. ".elementor-41 .elementor-element.elementor-element-79b552a" targets that widget only.
   B. Any builder, by class: paste Part B into Appearance > Customize >
      Additional CSS, then add the class (e.g. w-iconbox-stack) to the
      widget's Advanced > CSS Classes field.
   C. WordPress sidebar/footer widget areas: Part C applies site-wide once
      pasted into Additional CSS. No classes needed.
   ========================================================================== */


/* ==========================================================================
   PART A – Elementor Pro per-widget snippets (paste into the widget's Custom CSS)
   Each snippet is self-contained. Copy only the one you need.
   ========================================================================== */

/* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-79b552a img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-79b552a .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-79b552a input, .elementor-41 .elementor-element.elementor-element-79b552a select, .elementor-41 .elementor-element.elementor-element-79b552a textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-79b552a .elementor-spacer-inner { max-height: 2rem; }
}


/* ==========================================================================
   PART B – Class-based widget helpers (paste into Additional CSS once,
   then add the class to any widget's CSS Classes field)
   ========================================================================== */

@media (max-width: 767px) {

  /* Any widget: center everything inside it */
  .w-center-mobile, .w-center-mobile * { text-align: center !important; }
  .w-center-mobile img { margin-left: auto !important; margin-right: auto !important; }

  /* Icon Box / Image Box: stack icon above text */
  .w-iconbox-stack .elementor-icon-box-wrapper,
  .w-iconbox-stack .elementor-image-box-wrapper { display: block !important; text-align: center !important; }
  .w-iconbox-stack .elementor-icon-box-icon,
  .w-iconbox-stack .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block !important; }

  /* Button: full width */
  .w-btn-full .elementor-button,
  .w-btn-full .wp-block-button__link,
  .w-btn-full a.button { display: block !important; width: 100% !important; text-align: center; }

  /* Image: fill width */
  .w-img-full img { width: 100% !important; max-width: 100% !important; height: auto !important; }

  /* Image: fixed-height crop */
  .w-img-crop img { width: 100% !important; height: 260px !important; object-fit: cover; }

  /* Gallery: 2-up */
  .w-gallery-2 .gallery,
  .w-gallery-2 .wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem; }
  .w-gallery-2 .gallery-item,
  .w-gallery-2 .wp-block-image { width: auto !important; max-width: 100% !important; margin: 0 !important; }

  /* Posts / Loop Grid: 1-up */
  .w-grid-1 .elementor-posts-container,
  .w-grid-1 .elementor-loop-container,
  .w-grid-1 .wp-block-post-template { grid-template-columns: 1fr !important; }

  /* Form: full-width fields */
  .w-form-full .elementor-field-group,
  .w-form-full .gfield,
  .w-form-full .wpforms-field { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; grid-column: 1 / -1 !important; }
  .w-form-full input, .w-form-full select, .w-form-full textarea { font-size: 16px !important; }
  .w-form-full button, .w-form-full input[type="submit"] { width: 100% !important; }

  /* Icon List (inline): stack items */
  .w-list-stack .elementor-icon-list-items { flex-direction: column !important; align-items: flex-start !important; }
  .w-list-stack .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .w-list-stack .elementor-icon-list-item::after { display: none !important; }

  /* Embeds: responsive 16:9 */
  .w-embed-16x9 iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }

  /* Trim padding inside boxed widgets */
  .w-pad-sm, .w-pad-sm > .elementor-widget-container { padding: 1.25rem !important; }

  /* Hide on phones */
  .w-hide-mobile { display: none !important; }
}

@media (max-width: 1024px) {
  /* Posts / Loop Grid: 2-up on tablet */
  .w-grid-2-tablet .elementor-posts-container,
  .w-grid-2-tablet .elementor-loop-container,
  .w-grid-2-tablet .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 480px) {
  .w-gallery-2 .gallery,
  .w-gallery-2 .wp-block-gallery { grid-template-columns: 1fr !important; }
}


/* ==========================================================================
   PART C – WordPress sidebar & footer widget areas (site-wide, no classes)
   ========================================================================== */

/* Every widget: no overflow */
.widget { max-width: 100%; overflow-wrap: break-word; }
.widget img, .widget iframe, .widget select { max-width: 100%; height: auto; }

/* Sidebar drops below content on tablet and phone */
@media (max-width: 1024px) {
  .content-area, #primary, .site-main,
  .widget-area, #secondary, .sidebar { width: 100% !important; float: none !important; max-width: 100% !important; }
  .widget-area, #secondary, .sidebar { margin-top: 2.5rem; }
}

/* Footer widget columns: 2-up on tablet, 1-up on phone */
@media (max-width: 1024px) {
  .footer-widgets, .site-footer .widget-area, .footer-widget-area,
  .site-footer .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem;
  }
  .footer-widgets > *, .site-footer .widget-area > *, .footer-widget-area > *,
  .site-footer .wp-block-columns > * { width: auto !important; max-width: 100% !important; margin: 0 !important; float: none !important; }
}
@media (max-width: 767px) {
  .footer-widgets, .site-footer .widget-area, .footer-widget-area,
  .site-footer .wp-block-columns { grid-template-columns: 1fr !important; text-align: center; }
  .site-footer .widget ul { padding-left: 0; list-style: none; }
  .site-footer .social-links, .site-footer .wp-block-social-links { justify-content: center !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-563f4e06 *//* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 input, .elementor-41 .elementor-element.elementor-element-563f4e06 select, .elementor-41 .elementor-element.elementor-element-563f4e06 textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-563f4e06 .elementor-spacer-inner { max-height: 2rem; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6cc647ed *//* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed input, .elementor-41 .elementor-element.elementor-element-6cc647ed select, .elementor-41 .elementor-element.elementor-element-6cc647ed textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-6cc647ed .elementor-spacer-inner { max-height: 2rem; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d79770b *//* ---- A1. Heading: scale down large display type ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-heading-title { font-size: clamp(1.75rem, 7.5vw, 2.5rem); line-height: 1.15; overflow-wrap: break-word; }
}

/* ---- A2. Text Editor: readable size, no overflow from long links ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-widget-container { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
  .elementor-41 .elementor-element.elementor-element-d79770b img { max-width: 100%; height: auto; }
}

/* ---- A3. Image: fill the column, keep proportions ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b img { width: 100%; max-width: 100%; height: auto; }
}

/* ---- A4. Image: fixed-height crop on phones (for tall or odd-ratio photos) ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b img { width: 100%; height: 260px; object-fit: cover; }
}

/* ---- A5. Icon Box / Image Box with icon on the left: stack and center ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-icon-box-wrapper,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-image-box-wrapper { display: block; text-align: center; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-icon-box-icon,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-image-box-img { margin: 0 auto 1rem !important; display: inline-block; }
}

/* ---- A6. Button: full width on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-button-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-button { display: block; width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
}

/* ---- A7. Icon List (inline/horizontal layout): wrap or stack ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item { margin: 0 0 .5rem 0 !important; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-icon-list-item::after { display: none !important; } /* hides inline dividers */
}

/* ---- A8. Basic Gallery: 2 per row on phones, 1 on small phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .elementor-41 .elementor-element.elementor-element-d79770b .gallery-item { width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 480px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .gallery { grid-template-columns: 1fr; }
}

/* ---- A9. Posts / Portfolio / Loop Grid: 2-up tablet, 1-up phone ---- */
@media (max-width: 1024px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-posts-container,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-loop-container { grid-template-columns: 1fr !important; }
}

/* ---- A10. Form: every field full width, button full width ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-field-group { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-field-type-submit .elementor-button { width: 100%; }
  .elementor-41 .elementor-element.elementor-element-d79770b input, .elementor-41 .elementor-element.elementor-element-d79770b select, .elementor-41 .elementor-element.elementor-element-d79770b textarea { font-size: 16px; } /* stops iOS zoom on focus */
}

/* ---- A11. Counter / Progress: smaller numbers, stay inside the column ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-counter-number-wrapper { font-size: clamp(2rem, 10vw, 3rem); }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-counter-title { font-size: 1rem; }
}

/* ---- A12. Testimonial: center and stack the author block ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-testimonial-wrapper { text-align: center; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-testimonial-meta-inner { flex-direction: column; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-testimonial-image { margin: 0 0 .75rem 0 !important; }
}

/* ---- A13. Price Table / Call to Action: trim padding ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-price-table__header,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-price-table__features-list,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-price-table__footer,
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-cta__content { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ---- A14. Video / Google Maps / HTML embed: responsive 16:9 ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b iframe { width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; }
}

/* ---- A15. Google Maps: shorter map on phones ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b iframe { height: 300px !important; }
}

/* ---- A16. Tabs (horizontal): let tab titles wrap instead of overflowing ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-tabs-wrapper { display: flex; flex-wrap: wrap; }
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-tab-title { padding: .75rem 1rem; }
}

/* ---- A17. Spacer / Divider: shrink oversized gaps ---- */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-d79770b .elementor-spacer-inner { max-height: 2rem; }
}/* End custom CSS */
/* Start custom CSS *//* Brooks Estate homepage: scoped to .bk-* classes. Values taken from the staging page CSS. */
.bk-main{background:#f7f5ef;color:#252a28;font-family:Arial,sans-serif;--gap:0}
.bk-main .elementor-widget-image img{width:100%;display:block}
.bk-main h1,.bk-main h2,.bk-main h3,.bk-main .bk-fact-t,.bk-main .bk-feat-t,.bk-main .bk-price,.bk-main .bk-avail-1,.bk-main .bk-avail-2{font-family:Georgia,serif;font-weight:400;color:inherit;margin:0}
.bk-main h2{font-size:clamp(34px,3.5vw,52px);line-height:1.12;letter-spacing:-1px;margin:15px 0 25px}
.bk-main h3{font-size:27px;margin:22px 0 12px}
.bk-main .bk-body,.bk-main .bk-body p{font-size:14px;line-height:1.9;color:#676b63;max-width:450px}
.bk-main .bk-small,.bk-main .bk-small p{font-size:12px;line-height:1.8;color:#676b63}
.bk-section{padding:90px 6%}
.bk-nopad-top{padding-top:0}
.bk-stone{background:#eae9e1}
.bk-dark{background:#252a28;color:#f7f5ef}
.bk-center{text-align:center;align-items:center}
.bk-eyebrow,.bk-eyebrow p{font-size:10px;text-transform:uppercase;letter-spacing:2.3px;line-height:1.7;color:#a08458}
.bk-eyebrow{display:inline-block;border:1px solid currentColor;padding:9px 13px;width:fit-content}
.bk-hero .bk-eyebrow{border-color:#252a28;color:#252a28}
.bk-contact .bk-eyebrow{border-color:#252a28;color:#252a28;margin:auto}
.bk-main .elementor-button,.bk-btn .elementor-button{display:inline-block;padding:17px 24px;background:#252a28;color:#fff;border:1px solid #252a28;border-radius:0;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-family:Arial,sans-serif;font-weight:400}
.bk-outline .elementor-button{background:transparent;color:#252a28;border-color:#dcd8cd}
.bk-textlink .elementor-button{background:transparent;color:inherit;border:1px solid currentColor;padding:12px 17px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;border-radius:0}
.bk-textlink .elementor-button{border-color:#a08458}
.bk-hero{min-height:660px;gap:0}
.bk-hero-copy{width:42%;padding:80px 12% 65px;justify-content:center}
.bk-hero-photo{width:58%;position:relative;min-height:550px}
.bk-hero-photo img{height:100%;object-fit:cover;position:absolute;inset:0}
.bk-photo-label{position:absolute;bottom:25px;left:30px;color:#fff;font-size:10px;letter-spacing:2px;text-shadow:0 1px 8px #000}
.bk-photo-label p{color:#fff;margin:0}
.bk-h1 h1{font-size:clamp(45px,4.5vw,76px);line-height:1.05;letter-spacing:-2px;margin:23px 0}
.bk-availability{border-top:1px solid #dcd8cd;margin-top:18px;padding-top:23px;font-size:10px;letter-spacing:1px}
.bk-avail-1{font-size:28px;margin-bottom:12px}
.bk-avail-2{font-size:22px;margin-bottom:12px}
.bk-facts{margin:30px 6% 0;padding:28px 0;border:1px solid #252a28;text-align:center}
.bk-fact{flex:1;padding:0 10px}
.bk-fact+.bk-fact{border-left:1px solid #dcd8cd}
.bk-fact-t{font-size:24px;margin-bottom:9px}
.bk-fact-s,.bk-fact-s p{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#77796e}
.bk-intro{gap:10%;align-items:center}
.bk-intro>*{flex:1}
.bk-intro-img img{height:530px;object-fit:cover}
.bk-advisor-img img{height:440px;object-position:center top}
.bk-advisor{border-top:1px solid #dcd8cd}
.bk-top{justify-content:space-between;align-items:flex-end;margin-bottom:35px}
.bk-side,.bk-side p{font-size:13px;line-height:1.8;color:#72776f;max-width:310px}
.bk-dark .bk-side,.bk-dark .bk-side p,.bk-dark .bk-body,.bk-dark .bk-body p{color:#babdb3}
.bk-gallery{gap:30px;margin-bottom:45px}
.bk-gcard:first-child{flex:1.4}.bk-gcard:last-child{flex:1}
.bk-gcard img{height:370px;object-fit:cover}
.bk-card-p,.bk-card-p p{font-size:13px;line-height:1.8;color:#6a7066;max-width:480px}
.bk-features{gap:18px;margin-top:50px}
.bk-feat{width:calc(33.333% - 12px);border:1px solid #92958a;padding:25px}
.bk-feat-t{font-size:21px;margin-bottom:10px}
.bk-feat-p,.bk-feat-p p{font-size:12px;line-height:1.8;color:#6a7066}
.bk-resgrid{gap:40px 30px}
.bk-model{width:calc(50% - 15px);border:1px solid #898d80;padding:20px}
.bk-model h3{font-size:29px;color:#f7f5ef}
.bk-render{background:#eeeae0;overflow:hidden}
.bk-render img{height:340px;object-fit:contain}
.bk-addr,.bk-addr p{margin:0 0 15px;font-size:13px;color:#babdb3}
.bk-price{color:#e2d1b1;font-size:15px}
.bk-price-note,.bk-price-note p{font-size:11px;color:#e2d1b1;margin:10px 0}
.bk-dark .bk-card-p,.bk-dark .bk-card-p p{color:#babdb3}
.bk-dark .bk-textlink .elementor-button{color:#f7f5ef}
.bk-fine,.bk-fine p{font-size:11px;color:#babdb3;line-height:1.8;margin-top:35px}
.bk-location{gap:8%;align-items:center}
.bk-location>*{flex:1}
.bk-loc-img img{height:460px;object-fit:cover}
.bk-li{padding:17px 0;border-top:1px solid #dcd8cd;font-size:12px}
.bk-li span{float:right;color:#83877b}
.bk-wide img{width:100%;max-height:550px;object-fit:cover}
.bk-actions-left{gap:15px;margin-top:20px}
.bk-viewgrid{gap:30px}.bk-viewgrid>*{flex:1}
.bk-viewgrid img{height:300px;object-fit:cover}
.bk-waterfront img{height:430px;object-fit:cover}
.bk-access,.bk-access p{font-size:11px;line-height:1.8;color:#73786d}
.bk-faq{max-width:950px;margin:auto;padding-top:15px}
.bk-faq details{border-bottom:1px solid #dcd8cd;padding:23px 0}
.bk-faq summary{cursor:pointer;font:22px Georgia,serif}
.bk-faq p{font-size:14px;line-height:1.9;color:#676b63}
.bk-contact{border-top:1px solid #dcd8cd;padding:75px 6% 90px}
.bk-actions{gap:15px;justify-content:center;margin:30px 0}
.bk-agent,.bk-agent p{font-size:11px;line-height:1.8;color:#75796e}
@media(max-width:760px){
.bk-hero{flex-direction:column}.bk-hero-copy,.bk-hero-photo{width:100%}.bk-hero-photo{order:-1;min-height:370px}.bk-hero-copy{padding:48px 7%}
.bk-facts{flex-direction:column;gap:25px;padding:25px 15px}.bk-fact+.bk-fact{border-left:0}
.bk-section{padding:60px 7%}.bk-intro,.bk-location,.bk-gallery,.bk-viewgrid,.bk-actions{flex-direction:column;gap:30px}
.bk-top{display:block}.bk-feat,.bk-model{width:100%}
.bk-intro-img img{height:390px}.bk-gcard img,.bk-viewgrid img{height:290px}.bk-loc-img img{height:340px}
}

/* v2 specificity fixes: beat Elementor kit globals */
.bk-main .e-con{gap:0}
.bk-main .elementor-widget{margin:0}
.bk-main .elementor-widget-text-editor,.bk-main .elementor-widget-text-editor p{font-family:Arial,sans-serif!important}
.bk-main .elementor-widget-heading .elementor-heading-title{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;color:inherit!important;letter-spacing:-1px}
.bk-main h1.elementor-heading-title{font-size:clamp(45px,4.5vw,76px)!important;line-height:1.05!important;letter-spacing:-2px!important;margin:23px 0!important}
.bk-main h2.elementor-heading-title{font-size:clamp(34px,3.5vw,52px)!important;line-height:1.12!important;margin:15px 0 25px!important}
.bk-main h3.elementor-heading-title{font-size:27px!important;line-height:1.2!important;margin:22px 0 12px!important;letter-spacing:0!important}
.bk-main .bk-avail-1 .elementor-heading-title{font-size:28px!important;margin-bottom:12px!important}
.bk-main .bk-avail-2 .elementor-heading-title{font-size:22px!important;margin-bottom:12px!important}
.bk-main .bk-fact-t .elementor-heading-title{font-size:24px!important;margin-bottom:9px!important}
.bk-main .bk-feat-t .elementor-heading-title{font-size:21px!important;margin-bottom:10px!important;letter-spacing:0!important}
.bk-main .bk-price .elementor-heading-title{font-size:15px!important;color:#e2d1b1!important;letter-spacing:0!important}
.bk-main .bk-dark h2.elementor-heading-title,.bk-main .bk-dark h3.elementor-heading-title{color:#f7f5ef!important}
.bk-main .bk-btn .elementor-button,.bk-main .elementor-widget-button .elementor-button{display:inline-block!important;padding:17px 24px!important;background:#252a28!important;color:#fff!important;border:1px solid #252a28!important;border-radius:0!important;font-family:Arial,sans-serif!important;font-size:10px!important;font-weight:400!important;letter-spacing:1.5px!important;text-transform:uppercase!important;line-height:1.2!important;box-shadow:none!important}
.bk-main .bk-outline .elementor-button{background:transparent!important;color:#252a28!important;border-color:#dcd8cd!important}
.bk-main .bk-textlink .elementor-button{background:transparent!important;color:#252a28!important;border:1px solid #a08458!important;padding:12px 17px!important;letter-spacing:1.4px!important}
.bk-main .bk-dark .bk-textlink .elementor-button{color:#f7f5ef!important}
.bk-main .bk-hero{display:flex;flex-direction:row;align-items:stretch;min-height:660px}
.bk-main .bk-hero>.bk-hero-copy{flex:0 0 42%;max-width:42%;width:42%;padding:80px 12% 65px!important;justify-content:center;align-items:flex-start}
.bk-main .bk-hero>.bk-hero-photo{flex:0 0 58%;max-width:58%;width:58%;position:relative;min-height:550px}
.bk-main .bk-hero-photo .elementor-widget-image{position:absolute;inset:0;width:100%;height:100%}
.bk-main .bk-hero-photo .elementor-widget-image .elementor-widget-container{height:100%}
.bk-main .bk-hero-photo img{width:100%!important;height:100%!important;object-fit:cover}
.bk-main .bk-section{padding:90px 6%!important}
.bk-main .bk-nopad-top{padding-top:0!important}
.bk-main .bk-contact{padding:75px 6% 90px!important}
.bk-main .bk-facts{margin:30px 6% 0;padding:28px 0!important;width:auto}
.bk-main .bk-intro,.bk-main .bk-location{display:flex;flex-direction:row;align-items:center;gap:10%}
.bk-main .bk-intro>.e-con,.bk-main .bk-intro>.elementor-widget,.bk-main .bk-location>*{flex:1 1 0;min-width:0}
.bk-main .bk-top{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:35px}
.bk-main .bk-gallery{display:flex;flex-direction:row;gap:30px;margin-bottom:45px}
.bk-main .bk-gcard{min-width:0}
.bk-main .bk-features{display:flex;flex-direction:row;flex-wrap:wrap;gap:18px}
.bk-main .bk-resgrid{display:flex;flex-direction:row;flex-wrap:wrap;gap:40px 30px}
.bk-main .bk-viewgrid{display:flex;flex-direction:row;gap:30px}.bk-main .bk-viewgrid>*{flex:1 1 0}
.bk-main .elementor-widget-image img{max-width:100%}
.bk-main .bk-eyebrow{margin-bottom:0}
@media(max-width:760px){
.bk-main .bk-hero,.bk-main .bk-intro,.bk-main .bk-location,.bk-main .bk-gallery,.bk-main .bk-viewgrid,.bk-main .bk-actions{flex-direction:column}
.bk-main .bk-hero>.bk-hero-copy,.bk-main .bk-hero>.bk-hero-photo{flex:0 0 auto;max-width:100%;width:100%}
.bk-main .bk-hero>.bk-hero-photo{order:-1;min-height:370px}
.bk-main .bk-hero>.bk-hero-copy{padding:48px 7%!important}
.bk-main .bk-section{padding:60px 7%!important}
.bk-main .bk-top{display:block}
}

.bk-main .bk-resgrid .bk-model:nth-child(4) .bk-render img{object-fit:cover!important}

.bk-main a{color:inherit;text-decoration:none}
.bk-main .bk-body a,.bk-main .bk-body p a{color:inherit!important;text-decoration:none!important}
/* eyebrows: plain gold text by default (as staging); bordered only in hero copy, model hero copy, contact and section-top */
.bk-main .bk-eyebrow{border:0!important;padding:0!important}
.bk-main .bk-hero-copy .bk-eyebrow,.bk-main .bk-mcopy .bk-eyebrow,.bk-main .bk-contact .bk-eyebrow{border:1px solid #252a28!important;padding:10px 14px!important;color:#252a28!important}
.bk-main .bk-top .bk-eyebrow{border:1px solid currentColor!important;padding:9px 13px!important}

/* hero photo caption */
.bk-main .bk-photo-label{z-index:2}
.bk-main .bk-photo-label,.bk-main .bk-photo-label .elementor-widget-container,.bk-main .bk-photo-label p{color:#fff!important;font-family:Arial,sans-serif!important;font-size:10px!important;letter-spacing:2px!important;text-transform:uppercase;text-shadow:0 1px 8px #000;margin:0}
/* like-for-like layout v3 */
body{background:#f7f5ef}
.bk-main .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
@media(min-width:1600px){.bk-main{max-width:1600px;margin-left:auto;margin-right:auto}}
@media(min-width:761px){.bk-main .bk-hero-copy{padding:80px 5.04% 65px}.bk-main .bk-mcopy{padding:80px 5.4%}}
.bk-main .bk-avail-1 .elementor-heading-title,.bk-main .bk-avail-2 .elementor-heading-title{letter-spacing:1px!important}
.bk-main .bk-fact-t .elementor-heading-title{letter-spacing:0!important}

/* like-for-like v4 */
@media(min-width:1600px){.bk-main.e-con{max-width:1600px!important;margin-left:auto!important;margin-right:auto!important}}
@media(min-width:761px){.bk-main .bk-hero>.bk-hero-copy{padding:80px 5.04% 65px!important}}
.bk-main .bk-body,.bk-main .bk-body p{max-width:450px!important}
.bk-main .bk-card-p,.bk-main .bk-card-p p{max-width:480px!important}
.bk-main .bk-side,.bk-main .bk-side p{max-width:310px!important}
/* like-for-like v5 */
@media(min-width:761px){.bk-main .elementor-element-5112e62c{margin-top:14px!important}.bk-main .elementor-element-6ac0631c{margin-top:38px!important}.bk-main .elementor-element-5ef0cf86{margin-top:24px!important}.bk-main .elementor-element-73309e77{margin-top:14px!important}.bk-main .elementor-element-18eeeb0a{margin-top:29px!important}.bk-main .elementor-element-11e37d34{margin-top:-9px!important}.bk-main .elementor-element-b507c0f{margin-top:7px!important}.bk-main .elementor-element-6bda8a3a{margin-top:-20px!important}.bk-main .elementor-element-348b62b7{margin-top:-16px!important}.bk-main .elementor-element-37e0c050{margin-top:9px!important}.bk-main .elementor-element-6f6b7889{margin-top:15px!important}.bk-main .elementor-element-6cc647ed{margin-top:-6px!important}.bk-main .elementor-element-4d044259{margin-top:29px!important}.bk-main .elementor-element-2e7df073{margin-top:15px!important}.bk-main .elementor-element-77833ff3{margin-top:-9px!important}.bk-main .elementor-element-2eda8b5b,.bk-main .elementor-element-2eda8b5b p{font-size:13px!important;line-height:23px!important;max-width:310px!important}.bk-main .elementor-element-6b8b51de,.bk-main .elementor-element-6b8b51de p{font-size:13px!important;line-height:23px!important}.bk-main .bk-addr,.bk-main .bk-addr p{line-height:23px!important}.bk-main .bk-price-note,.bk-main .bk-price-note p{line-height:20px!important}.bk-main .elementor-element-6df5baeb .elementor-heading-title{font-size:29px!important}.bk-main .elementor-element-773fe7f8 .elementor-heading-title{font-size:29px!important}.bk-main .elementor-element-4bb71e68 .elementor-heading-title{font-size:29px!important}.bk-main .elementor-element-2bd9c1b6 .elementor-heading-title{font-size:29px!important}.bk-main .bk-card-p,.bk-main .bk-card-p p{max-width:none!important}}
/* like-for-like v5b */
@media(min-width:761px){.bk-main .bk-gcard .bk-card-p,.bk-main .bk-gcard .bk-card-p p{max-width:480px!important}}
/* like-for-like v6 availability */
@media(min-width:761px){.bk-main .bk-avail-1,.bk-main .bk-avail-1 *{line-height:32px!important}.bk-main .bk-avail-2,.bk-main .bk-avail-2 *{line-height:25px!important}.bk-main .bk-availability .bk-small{margin-top:0!important;margin-bottom:10px!important}.bk-main .bk-avail-3,.bk-main .bk-avail-3 *{line-height:normal!important}.bk-main .bk-hero-copy .bk-btn .elementor-button{min-height:50px!important;box-sizing:border-box!important}.bk-main .bk-hero-copy>.bk-small{line-height:22.8px!important}}
/* v6b eyebrow */
@media(min-width:761px){.bk-main .bk-hero-copy .bk-eyebrow{width:fit-content!important;max-width:none!important}.bk-main .bk-hero-copy .bk-eyebrow .elementor-widget-container{white-space:nowrap}}
/* v6c eyebrow p */
.bk-main .bk-eyebrow p{margin:0!important}
/* like-for-like v7 */
@media(min-width:761px){.bk-main .elementor-element-5ef0cf86,.bk-main .elementor-element-5ef0cf86 p{max-width:450px!important}.bk-main .elementor-element-5ef0cf86{width:100%!important}.bk-main .elementor-element-7e2dd5b0{margin-top:13px!important}}.bk-main .bk-faq details>p{margin-top:14px!important}
/* like-for-like v8 location */
.bk-main .bk-location{gap:8%!important;column-gap:8%!important}
/* announcement bar colour */
.bk-annc-t,.bk-annc-t .elementor-widget-container{color:#ddd8cb!important}
/* like-for-like mobile v1 */
@media(max-width:760px){.bk-main .bk-hero-copy .bk-h1 .elementor-heading-title{font-size:52px!important;line-height:55px!important}.bk-main .bk-hero-copy .bk-eyebrow,.bk-main .bk-hero-copy .bk-eyebrow *{font-size:9px!important;letter-spacing:1.3px!important}.bk-main .bk-facts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:25px!important;padding:25px 15px!important}.bk-main .bk-facts>.e-con{width:auto!important;border-left:0!important;min-width:0}.bk-main .bk-fact-t .elementor-heading-title{font-size:21px!important}.bk-main .bk-facts .bk-fact-t,.bk-main .bk-facts .bk-fact-s{text-align:center}}
/* like-for-like mobile v2 gaps */
@media(max-width:760px){.bk-main .elementor-element.elementor-element-5112e62c{margin-top:14px!important}.bk-main .elementor-element.elementor-element-6ac0631c{margin-top:38px!important}.bk-main .elementor-element.elementor-element-5ef0cf86{margin-top:24px!important}.bk-main .elementor-element.elementor-element-10f188dd{margin-top:-18px!important}.bk-main .elementor-element.elementor-element-574f4aa6{margin-top:6px!important}.bk-main .elementor-element.elementor-element-4bc13d17{margin-top:-18px!important}.bk-main .elementor-element.elementor-element-5a5b5c{margin-top:34px!important}.bk-main .elementor-element.elementor-element-73309e77{margin-top:14px!important}.bk-main .elementor-element.elementor-element-18eeeb0a{margin-top:29px!important}.bk-main .elementor-element.elementor-element-48254064{margin-top:-20px!important}.bk-main .elementor-element.elementor-element-2b176aa0{margin-top:4px!important}.bk-main .elementor-element.elementor-element-74d7731c{margin-top:13px!important}.bk-main .elementor-element.elementor-element-55b7d9c6{margin-top:4px!important}.bk-main .elementor-element.elementor-element-3889604d{margin-top:13px!important}.bk-main .elementor-element.elementor-element-7b6a9506{margin-top:4px!important}.bk-main .elementor-element.elementor-element-61c4f4a0{margin-top:13px!important}.bk-main .elementor-element.elementor-element-68c4587c{margin-top:4px!important}.bk-main .elementor-element.elementor-element-247bec0{margin-top:-17px!important}.bk-main .elementor-element.elementor-element-70e8f837{margin-top:9px!important}.bk-main .elementor-element.elementor-element-2134175c{margin-top:9px!important}.bk-main .elementor-element.elementor-element-72f32959{margin-top:9px!important}.bk-main .elementor-element.elementor-element-45033f6a{margin-top:9px!important}.bk-main .elementor-element.elementor-element-50194467{margin-top:9px!important}.bk-main .elementor-element.elementor-element-df86200{margin-top:-8px!important}.bk-main .elementor-element.elementor-element-ced33ce{margin-top:13px!important}.bk-main .elementor-element.elementor-element-7e2dd5b0{margin-top:-6px!important}.bk-main .elementor-element.elementor-element-6df5baeb{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-48473b6e{margin-top:15px!important}.bk-main .elementor-element.elementor-element-5965b28e{margin-top:10px!important}.bk-main .elementor-element.elementor-element-701cf6f{margin-top:23px!important}.bk-main .elementor-element.elementor-element-331c54b4{margin-top:33px!important}.bk-main .elementor-element.elementor-element-62a2efe2{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-773fe7f8{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-5ef923f1{margin-top:15px!important}.bk-main .elementor-element.elementor-element-56a6ec0{margin-top:10px!important}.bk-main .elementor-element.elementor-element-77158b01{margin-top:23px!important}.bk-main .elementor-element.elementor-element-156ae410{margin-top:33px!important}.bk-main .elementor-element.elementor-element-66598738{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-4bb71e68{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-5dbd82e{margin-top:15px!important}.bk-main .elementor-element.elementor-element-72a3f12f{margin-top:10px!important}.bk-main .elementor-element.elementor-element-53d8587b{margin-top:23px!important}.bk-main .elementor-element.elementor-element-26a2e6e0{margin-top:33px!important}.bk-main .elementor-element.elementor-element-126de657{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-2bd9c1b6{margin-top:-12px!important}.bk-main .elementor-element.elementor-element-47943914{margin-top:15px!important}.bk-main .elementor-element.elementor-element-8428ea8{margin-top:10px!important}.bk-main .elementor-element.elementor-element-93fff31{margin-top:23px!important}.bk-main .elementor-element.elementor-element-1130b2a3{margin-top:33px!important}.bk-main .elementor-element.elementor-element-4eb95c9b{margin-top:29px!important}.bk-main .elementor-element.elementor-element-11e37d34{margin-top:-9px!important}.bk-main .elementor-element.elementor-element-b507c0f{margin-top:7px!important}.bk-main .elementor-element.elementor-element-2a1a43e1{margin-top:30px!important}.bk-main .elementor-element.elementor-element-6bda8a3a{margin-top:-20px!important}.bk-main .elementor-element.elementor-element-c51087{margin-top:15px!important}.bk-main .elementor-element.elementor-element-582d5260{margin-top:-20px!important}.bk-main .elementor-element.elementor-element-75ef638d{margin-top:9px!important}.bk-main .elementor-element.elementor-element-5457d609{margin-top:15px!important}.bk-main .elementor-element.elementor-element-b2cda0c{margin-top:14px!important}.bk-main .elementor-element.elementor-element-6458592d{margin-top:9px!important}.bk-main .elementor-element.elementor-element-7f82d998{margin-top:15px!important}.bk-main .elementor-element.elementor-element-37e0c050{margin-top:9px!important}.bk-main .elementor-element.elementor-element-6f6b7889{margin-top:15px!important}.bk-main .elementor-element.elementor-element-4a86cc2b{margin-top:30px!important}.bk-main .elementor-element.elementor-element-4d044259{margin-top:29px!important}.bk-main .elementor-element.elementor-element-2e7df073{margin-top:15px!important}.bk-main .elementor-element.elementor-element-77833ff3{margin-top:-9px!important}.bk-main .elementor-element.elementor-element-6bb0ad1d{margin-top:15px!important}.bk-main .elementor-element.elementor-element-693af451{margin-top:15px!important}}
/* like-for-like mobile v3 */
@media(max-width:760px){.bk-main .elementor-element.elementor-element-348b62b7{margin-top:-76px!important}.bk-main .elementor-element-2eda8b5b,.bk-main .elementor-element-2eda8b5b p{font-size:13px!important;line-height:23px!important}.bk-main .bk-addr,.bk-main .bk-addr p{line-height:23px!important}.bk-main .bk-price-note,.bk-main .bk-price-note p{line-height:20px!important}.bk-main .elementor-element-6df5baeb .elementor-heading-title{font-size:29px!important}.bk-main .elementor-element-773fe7f8 .elementor-heading-title{font-size:29px!important}.bk-main .elementor-element-4bb71e68 .elementor-heading-title{font-size:29px!important}.bk-main .elementor-element-2bd9c1b6 .elementor-heading-title{font-size:29px!important}}/* End custom CSS */