/* Connect Business Park widgets. Colours come from the --cbp-* tokens in the
   hello-connect theme (style.css), which map to Elementor's Global Colours. */

/* Wordmark / logo. --wm-size is the widget's "Size" control; logo height = size x 1.44. */
.cbp-wm-wrap{display:flex;width:fit-content;text-decoration:none;color:inherit;line-height:0} /* block-level: no baseline gap under the logo */
.cbp-wm-wrap--light{color:#fff}
.cbp-wm-wrap--dark{color:var(--cbp-charcoal,#202420)}
.cbp-wm{--wm-size:26px;display:inline-flex;line-height:0}
.cbp-wm-svg{display:block;height:calc(var(--wm-size)*1.44);width:auto;fill:currentColor}
.cbp-wm--nosub .cbp-wm-svg{height:calc(var(--wm-size)*.784)}
.cbp-wm-img{display:block;width:auto;max-width:100%}

/* Section label */
.cbp-label{display:flex;align-items:center;gap:14px;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase}
.cbp-label__num{font-variant-numeric:tabular-nums;color:var(--cbp-olive,#7A7A4F)}
.cbp-label__rule{flex:0 0 56px;height:1px;background:currentColor;opacity:.35}
.cbp-label--dark{color:var(--cbp-charcoal,#202420)}
.cbp-label--light{color:#fff}
.cbp-label--light .cbp-label__num{color:var(--cbp-olive-text,#8C8B6B)}

/* Fact table */
.cbp-facts{margin:0;border-top:1px solid var(--cbp-line,rgba(32,36,32,.18))}
.cbp-facts__row{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--cbp-line,rgba(32,36,32,.18))}
.cbp-facts dt{font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F);padding-top:3px}
.cbp-facts dd{margin:0;font-size:var(--cbp-fs-lead,1.125rem);line-height:1.45;font-weight:500;color:var(--cbp-charcoal,#202420)}
.cbp-facts dd.is-pending{color:var(--cbp-muted,#77786f);font-weight:400;font-style:italic}
.cbp-facts--light{--cbp-line:rgba(255,255,255,.16)}
.cbp-facts--light dd{color:#fff}
.cbp-facts--light dd.is-pending{color:rgba(255,255,255,.55)}

/* Numbered list */
.cbp-nums{list-style:none;margin:0;padding:0;display:grid;gap:0;grid-template-columns:repeat(4,1fr)}
.cbp-nums--c2{grid-template-columns:repeat(2,1fr)}
.cbp-nums--c1{grid-template-columns:1fr}
.cbp-nums__item{padding:28px 28px 30px 0;border-top:1px solid var(--cbp-line,rgba(255,255,255,.18))}
.cbp-nums__item+.cbp-nums__item{padding-left:28px;border-left:1px solid var(--cbp-line,rgba(255,255,255,.18))}
.cbp-nums__pill{display:inline-block;padding:6px 13px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:22px}
.cbp-nums__title{margin:0 0 10px;font-family:var(--cbp-font);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.35}
.cbp-nums__text{margin:0;font-size:var(--cbp-fs-body,1rem);line-height:1.6}
.cbp-nums--light{color:#fff;--cbp-line:rgba(255,255,255,.16)}
.cbp-nums--light .cbp-nums__pill{color:var(--cbp-olive-text,#8C8B6B)}
.cbp-nums--light .cbp-nums__text{color:rgba(255,255,255,.72)}
.cbp-nums--dark{color:var(--cbp-charcoal,#202420);--cbp-line:rgba(32,36,32,.16)}
.cbp-nums--dark .cbp-nums__pill{color:var(--cbp-olive,#7A7A4F)}
@media(max-width:1024px){.cbp-nums{grid-template-columns:repeat(2,1fr)}.cbp-nums__item:nth-child(odd){padding-left:0;border-left:0}.cbp-nums__item:nth-child(even){padding-left:28px}}
@media(max-width:640px){.cbp-nums,.cbp-nums--c2{grid-template-columns:1fr}.cbp-nums__item,.cbp-nums__item+.cbp-nums__item,.cbp-nums__item:nth-child(even){padding:24px 0;border-left:0}}

/* Lot plan (interactive). Geometry: /root/backups-connectbp/mksvg.py. Strokes never scale. */
.cbp-lotplan{position:relative;margin:0;padding:clamp(16px,2.6vw,32px);background:var(--cbp-charcoal,#202420);border-radius:4px;overflow:hidden;color:#fff}
.cbp-lotplan::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 85% 0%,rgba(122,122,79,.32),transparent 60%);pointer-events:none}
.cbp-lotplan__stage{position:relative}
.cbp-lotplan__svg{position:relative;display:block;width:100%;height:auto;overflow:visible;-webkit-tap-highlight-color:transparent}
.cbp-lotplan__badge{position:absolute;z-index:2;top:16px;right:16px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;background:rgba(32,36,32,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cbp-lotplan__hint{position:relative;margin:0 0 10px;font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.6)}
.cbp-lotplan__cap{position:relative;margin-top:14px;font-size:var(--cbp-fs-small,13px);line-height:1.5;color:rgba(255,255,255,.62)}
.cbp-lotplan svg *{vector-effect:non-scaling-stroke}
.cbp-lp-corridor{fill:url(#cbpLpHatch);stroke:none}
.cbp-lp-hatchline{stroke:rgba(140,139,107,.5);stroke-width:1.2}
.cbp-lp-hatchline2{stroke:rgba(242,241,238,.22);stroke-width:1}
.cbp-lp-site{fill:rgba(122,122,79,.16)}
.cbp-lp-verge{fill:rgba(242,241,238,.07)}
.cbp-lp-road{fill:#B9B9B1;stroke:#E6E5E0;stroke-width:1.25;stroke-linejoin:round}
.cbp-lp-lot{fill:rgba(122,122,79,.5);stroke:transparent;stroke-width:2;cursor:pointer;outline:none;transition:fill .18s,opacity .18s}
.cbp-lp-parcel{fill:url(#cbpLpHatch2);stroke:rgba(242,241,238,.35);stroke-width:1;stroke-dasharray:5 4;cursor:help;outline:none}
.cbp-lp-edges{fill:none;stroke:rgba(242,241,238,.78);stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.cbp-lp-boundary{fill:none;stroke:#F2F1EE;stroke-width:2.2;stroke-linejoin:round;pointer-events:none}
.cbp-lotplan.is-active .cbp-lp-lot{opacity:.55}
.cbp-lotplan .cbp-lp-lot.is-on,.cbp-lotplan .cbp-lp-lot:hover{opacity:1;fill:#A9A77E;stroke:#fff}
.cbp-lotplan .cbp-lp-lot:focus-visible,.cbp-lotplan .cbp-lp-parcel:focus-visible{opacity:1;stroke:#fff;stroke-width:3}
.cbp-lp-parcel.is-on{fill:rgba(242,241,238,.16)}
.cbp-lp-nums text{fill:#fff;font-family:var(--cbp-font);font-size:34px;font-weight:700;letter-spacing:0;text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:fill .18s}
.cbp-lp-nums text.is-on{fill:var(--cbp-charcoal,#202420)}
.cbp-lp-labels text{fill:rgba(255,255,255,.66);font-family:var(--cbp-font);font-size:26px;font-weight:600;letter-spacing:.28em}
.cbp-lp-labels .cbp-lp-small{font-size:20px;fill:rgba(255,255,255,.45)}
.cbp-lp-north circle{fill:none;stroke:rgba(255,255,255,.5);stroke-width:1.5}
.cbp-lp-north path{fill:#fff}
.cbp-lp-north text{fill:#fff;font-family:var(--cbp-font);font-size:22px;font-weight:700}
.cbp-lotplan__tip{position:absolute;z-index:3;left:0;top:0;transform:translate(-50%,calc(-100% - 14px));min-width:150px;max-width:240px;padding:10px 13px;border-radius:6px;background:#F2F1EE;color:var(--cbp-charcoal,#202420);box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:14px;line-height:1.35;pointer-events:none;opacity:0;transition:opacity .15s;white-space:nowrap}
.cbp-lotplan__tip.is-on{opacity:1}
.cbp-lotplan__tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:inherit;transform:translateX(-50%) rotate(45deg)}
.cbp-lotplan__tip b{font-weight:700}
.cbp-lotplan__tip small{display:block;margin-top:3px;font-size:11.5px;color:#5f6258;white-space:normal}
@media (max-width:767px){.cbp-lp-nums text{font-size:58px}.cbp-lp-labels text{font-size:40px;letter-spacing:.2em}.cbp-lp-labels .cbp-lp-small{font-size:32px}.cbp-lp-north{display:none}}
@media (prefers-reduced-motion:reduce){.cbp-lp-lot,.cbp-lotplan__tip{transition:none}}

/* Agent card */
.cbp-agent{display:flex;gap:22px;align-items:flex-start;padding:28px;background:#fff;border:1px solid rgba(32,36,32,.1);border-radius:4px}
.cbp-agent__avatar,.cbp-agent__photo{flex:0 0 76px;width:76px;height:76px;border-radius:50%;object-fit:cover}
.cbp-agent__avatar{display:grid;place-items:center;background:var(--cbp-charcoal,#202420);color:#fff;font-weight:700;font-size:24px;letter-spacing:.04em;box-shadow:inset 0 0 0 3px var(--cbp-olive,#7A7A4F)}
.cbp-agent__role{display:block;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F);margin-bottom:6px}
.cbp-agent__name{margin:0;font-size:24px;font-weight:700;line-height:1.15;color:var(--cbp-charcoal,#202420)}
.cbp-agent__co{margin:4px 0 0;color:var(--cbp-muted,#5f6258);font-size:var(--cbp-fs-body,1rem)}
.cbp-agent__links{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.cbp-agent__link{display:inline-flex;align-items:center;gap:10px;color:var(--cbp-charcoal,#202420);text-decoration:none;font-weight:600;font-size:var(--cbp-fs-body,1rem);word-break:break-word}
.cbp-agent__link svg{flex:0 0 18px;width:18px;height:18px;fill:var(--cbp-olive,#7A7A4F)}
.cbp-agent__link:hover span,.cbp-agent__link:focus-visible span{text-decoration:underline;text-underline-offset:3px}
/* Company logo in place of the initials (Ben, 4 Nov 2026): logo across the top, details below */
.cbp-agent--logo{flex-direction:column;gap:20px}
.cbp-agent__logo{display:block;width:min(230px,72%);height:auto;max-width:none}

/* Buttons (shared with theme) */
.cbp-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-family:var(--cbp-font);font-size:var(--cbp-fs-button,.78125rem);font-weight:600;letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cbp-btn svg{width:18px;height:18px;transition:transform .2s}
.cbp-btn:hover svg{transform:translateX(3px)}
.cbp-btn--solid{background:var(--cbp-charcoal,#202420);border-color:var(--cbp-charcoal,#202420);color:#fff}
.cbp-btn--solid:hover,.cbp-btn--solid:focus-visible{background:var(--cbp-olive,#7A7A4F);border-color:var(--cbp-olive,#7A7A4F);color:#fff}
.cbp-btn:disabled{opacity:.6;cursor:wait}

/* Form */
.cbp-form{position:relative}
.cbp-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cbp-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.cbp-field{margin:0;display:flex;flex-direction:column;gap:7px}
.cbp-field--full{grid-column:1/-1}
.cbp-field label{font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-charcoal,#202420)}
.cbp-field input,.cbp-field select,.cbp-field textarea{width:100%;padding:14px 15px;border:1px solid rgba(32,36,32,.22);border-radius:3px;background:#fff;color:var(--cbp-charcoal,#202420);font:inherit;font-size:16px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.cbp-field input:focus,.cbp-field select:focus,.cbp-field textarea:focus{outline:none;border-color:var(--cbp-olive,#7A7A4F);box-shadow:0 0 0 3px rgba(122,122,79,.22)}
.cbp-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:22px}
.cbp-form__privacy{flex:1 1 220px;margin:0;font-size:var(--cbp-fs-small,.8125rem);line-height:1.5;color:var(--cbp-muted,#5f6258)}
.cbp-form__status{margin:16px 0 0;font-weight:600;min-height:1em}
.cbp-form__status.is-ok{color:#3f5a2a}
.cbp-form__status.is-error{color:#9b2c1c}
@media(max-width:640px){.cbp-form__grid{grid-template-columns:1fr}.cbp-form__foot .cbp-btn{width:100%;justify-content:center}}
@media(max-width:480px){.cbp-agent{padding:22px 18px;gap:16px}.cbp-agent__avatar,.cbp-agent__photo{flex-basis:60px;width:60px;height:60px;font-size:20px}.cbp-agent__link{font-size:14.5px}}

/* Connect menu widget (horizontal; hamburger + full-width dropdown below 1025px) */
.cbp-menu__list{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.cbp-menu__link{display:block;font-family:var(--cbp-font);font-size:var(--cbp-fs-button,.78125rem);line-height:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.78);padding:15px 16px;position:relative;text-decoration:none;transition:color .2s}
.cbp-menu__link::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:1px;background:var(--cbp-olive-text,#8C8B6B);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.cbp-menu__link:hover,.cbp-menu__link:focus,.cbp-menu__link.is-current{color:#fff}
.cbp-menu__link:hover::after,.cbp-menu__link.is-current::after{transform:scaleX(1)}
.cbp-menu .cbp-menu__toggle{display:none;box-sizing:border-box;align-items:flex-start;justify-content:center;width:38px;height:42px;padding:10px 9px 9px;font-size:0;margin:0;line-height:1;background:transparent!important;color:#fff;border:1px solid rgba(255,255,255,.3)!important;border-radius:999px!important;cursor:pointer}
.cbp-menu__i{width:18px;height:18px;fill:#fff;display:block}
.cbp-menu__i--close,.cbp-menu.is-open .cbp-menu__i--open{display:none}
.cbp-menu.is-open .cbp-menu__i--close{display:block}
@media (max-width:1024px){
  .cbp-menu .cbp-menu__toggle{display:inline-flex}
  .cbp-menu__list{display:none;position:absolute;top:100%;left:0;right:0;width:100%;z-index:1001;flex-direction:column;align-items:stretch;background:var(--cbp-charcoal,#202420);border-top:1px solid rgba(255,255,255,.08)}
  .cbp-menu.is-open .cbp-menu__list{display:flex}
  .cbp-menu__link{color:#fff;padding:16px var(--cbp-gutter,20px)}
  .cbp-menu__item:not(:last-child){border-bottom:1px solid #c4c4c4}
  .cbp-menu__link:hover{background:#2a2c2a}
  .cbp-menu__link::after{display:none}
}
@media (max-width:767px){.cbp-lotplan__badge{position:relative;top:auto;right:auto;display:inline-block;margin:0 0 10px}}

/* News grid / carousel. Links set every state explicitly (Hello's reset turns a:hover/a:active blue). */
.cbp-news{--gap:24px}
.cbp-news__grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr))}
.cbp-news--c2 .cbp-news__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cbp-news--c1 .cbp-news__grid{grid-template-columns:1fr}
@media (max-width:767px){.cbp-news--grid .cbp-news__grid{grid-template-columns:1fr}}
/* carousel track: native scroll + snap; cards sized by cards-per-view */
.cbp-news--carousel{--pv:var(--pv-d,3)}
@media (max-width:1024px){.cbp-news--carousel{--pv:var(--pv-t,2)}}
@media (max-width:767px){.cbp-news--carousel{--pv:var(--pv-m,1.15);--gap:16px}}
.cbp-news--carousel .cbp-news__track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--pv) - 1) * var(--gap)) / var(--pv));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 2px 8px;margin:-4px -2px -8px;outline:none}
.cbp-news--carousel .cbp-news__track::-webkit-scrollbar{display:none}
.cbp-news--carousel .cbp-news__track:focus-visible{box-shadow:0 0 0 2px var(--cbp-olive-text,#8C8B6B)}
.cbp-news--carousel .cbp-news__card{scroll-snap-align:start}
.cbp-news--carousel .cbp-news__track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.cbp-news--carousel .cbp-news__track.is-dragging a{pointer-events:none}
@media (prefers-reduced-motion:reduce){.cbp-news--carousel .cbp-news__track{scroll-behavior:auto}}
.cbp-news__bar{display:flex;align-items:center;gap:20px;margin-top:28px}
.cbp-news__progress{position:relative;flex:1 1 auto;height:2px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}
.cbp-news--dark .cbp-news__progress{background:rgba(32,36,32,.14)}
.cbp-news__progress span{position:absolute;left:0;top:0;bottom:0;width:var(--w,33%);transform:translateX(var(--x,0));background:var(--cbp-olive-text,#8C8B6B);border-radius:2px;transition:transform .2s,width .2s}
.cbp-news__count{margin:0;flex:0 0 auto;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);font-variant-numeric:tabular-nums;color:rgba(255,255,255,.62)}
.cbp-news--dark .cbp-news__count{color:var(--cbp-muted,#5f6258)}
.cbp-news__arrows{display:flex;gap:10px;flex:0 0 auto}
.cbp-news .cbp-news__btn{display:inline-grid;place-items:center;width:48px;height:48px;padding:0;margin:0;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,opacity .2s}
.cbp-news .cbp-news__btn svg{width:20px;height:20px}
.cbp-news .cbp-news__btn:hover,.cbp-news .cbp-news__btn:focus-visible{background:#fff;color:var(--cbp-charcoal,#202420);border-color:#fff}
.cbp-news .cbp-news__btn:focus:not(:focus-visible),.cbp-news .cbp-news__btn:active{background:transparent;color:#fff}
.cbp-news .cbp-news__btn:focus-visible{outline:2px solid var(--cbp-olive-text,#8C8B6B);outline-offset:3px}
.cbp-news .cbp-news__btn[disabled]{opacity:.35;cursor:default;background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cbp-news--dark .cbp-news__btn{border-color:rgba(32,36,32,.35)!important;color:var(--cbp-charcoal,#202420)!important}
.cbp-news--dark .cbp-news__btn:hover,.cbp-news--dark .cbp-news__btn:focus-visible{background:var(--cbp-charcoal,#202420)!important;color:#fff!important}
.cbp-news__bar.is-static{display:none}
/* cards (equal height, "Read more" pinned to the bottom) */
.cbp-news__card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:28px 26px 26px;border-radius:4px;border-top:2px solid var(--cbp-olive,#7A7A4F);transition:background-color .2s}
.cbp-news--light .cbp-news__card{background:rgba(255,255,255,.05);color:#fff}
.cbp-news--dark .cbp-news__card{background:#fff;color:var(--cbp-charcoal,#202420)}
.cbp-news--light .cbp-news__card:hover,.cbp-news--light .cbp-news__card:focus-within{background:rgba(255,255,255,.09)}
.cbp-news--dark .cbp-news__card:hover,.cbp-news--dark .cbp-news__card:focus-within{background:#faf9f6}
.cbp-news__card:focus-within{outline:2px solid var(--cbp-olive-text,#8C8B6B);outline-offset:-2px}
.cbp-news__img{margin:-28px -26px 4px;aspect-ratio:16/9;overflow:hidden;border-radius:4px 4px 0 0}
.cbp-news__img img{width:100%;height:100%;object-fit:cover;display:block}
.cbp-news__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase}
.cbp-news--light .cbp-news__meta{color:rgba(255,255,255,.62)}
.cbp-news--dark .cbp-news__meta{color:var(--cbp-muted,#5f6258)}
.cbp-news__src{padding:4px 9px;border-radius:999px;border:1px solid currentColor;color:var(--cbp-olive-text,#8C8B6B)}
.cbp-news--dark .cbp-news__src{color:var(--cbp-olive,#7A7A4F)}
.cbp-news__title{margin:0;font-family:var(--cbp-font);font-size:clamp(1.125rem,1.06rem + .27vw,1.3125rem);font-weight:700;line-height:1.28;letter-spacing:-.01em;color:inherit}
.cbp-news .cbp-news__link,.cbp-news .cbp-news__link:visited,.cbp-news .cbp-news__link:hover,.cbp-news .cbp-news__link:focus,.cbp-news .cbp-news__link:focus-visible,.cbp-news .cbp-news__link:active{color:inherit;text-decoration:none;outline:none;background:none}
.cbp-news .cbp-news__link::after{content:"";position:absolute;inset:0;border-radius:4px}
.cbp-news__sum{margin:0;font-size:var(--cbp-fs-body,1rem);line-height:1.6}
.cbp-news--light .cbp-news__sum{color:rgba(255,255,255,.72)}
.cbp-news--dark .cbp-news__sum{color:#45473f}
.cbp-news__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-size:var(--cbp-fs-button,.78125rem);font-weight:600;letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;color:var(--cbp-olive-text,#8C8B6B);transition:color .2s}
.cbp-news--light .cbp-news__card:hover .cbp-news__more,.cbp-news--light .cbp-news__card:focus-within .cbp-news__more{color:#fff}
.cbp-news--dark .cbp-news__more{color:var(--cbp-olive,#7A7A4F)}
.cbp-news__more svg,.cbp-news__all svg{width:15px;height:15px;transition:transform .2s}
.cbp-news__card:hover .cbp-news__more svg{transform:translate(2px,-2px)}
.cbp-news__all{margin:28px 0 0}
.cbp-news .cbp-news__all a,.cbp-news .cbp-news__all a:visited,.cbp-news .cbp-news__all a:hover,.cbp-news .cbp-news__all a:focus,.cbp-news .cbp-news__all a:active{display:inline-flex;align-items:center;gap:8px;color:inherit;font-size:var(--cbp-fs-button,.78125rem);font-weight:600;letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;text-decoration:none}
.cbp-news__empty{margin:0;opacity:.7}
@media (max-width:900px) and (min-width:768px){.cbp-news__card{padding:24px 20px 22px}}
@media (prefers-reduced-motion:reduce){.cbp-news__card,.cbp-news__more svg,.cbp-news__progress span{transition:none}}
/* Lot plan v5 (Rev 2, all 24 lots from the vector PDF): Lot 500 and basin */
.cbp-lp-lot500{fill:url(#cbpLpHatch);stroke:rgba(242,241,238,.25);stroke-width:1;cursor:help;outline:none}
.cbp-lp-lot500.is-on{fill:rgba(140,139,107,.28)}
.cbp-lp-basin{fill:rgba(120,140,132,.35);stroke:rgba(242,241,238,.55);stroke-width:1;stroke-dasharray:none}
.cbp-lp-basin.is-on{fill:rgba(120,140,132,.55)}
.cbp-lp-roadlbl text{fill:#202420;font-size:18px;font-weight:700;letter-spacing:.2em;paint-order:stroke;stroke:#B9B9B1;stroke-width:6px}
.cbp-lp-roadlbl text.cbp-lp-small{fill:rgba(255,255,255,.8);stroke:none;font-size:16px}
@media (max-width:767px){.cbp-lp-roadlbl text{font-size:28px}.cbp-lp-roadlbl text.cbp-lp-small{font-size:24px}}
/* Ring Road map (inline SVG from /root/cbp-pages-build/map/mkmap.py) */
.cbp-ringmap{position:relative;margin:0;border-radius:4px;overflow:hidden;background:#1a1d1a;color:#fff}
.cbp-ringmap__svg{display:block;width:100%;height:auto}
.cbp-rm-bg{fill:#1c1f1c}
.cbp-rm-water{fill:#2c3431;stroke:none}
.cbp-rm-river{fill:none;stroke:#2c3431;stroke-width:16;stroke-linecap:round;stroke-linejoin:round}
.cbp-rm-creek{fill:none;stroke:#2c3431;stroke-width:2.5;stroke-linecap:round}
.cbp-rm-minor{fill:none;stroke:rgba(242,241,238,.09);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.cbp-rm-mid{fill:none;stroke:rgba(242,241,238,.3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cbp-rm-trunk{fill:none;stroke:#C8C8C2;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cbp-rm-rail{fill:none;stroke:rgba(242,241,238,.28);stroke-width:1.4;stroke-dasharray:1 5;stroke-linecap:round}
.cbp-rm-ring-case{fill:none;stroke:#1c1f1c;stroke-width:15;stroke-linecap:round;stroke-linejoin:round}
.cbp-rm-ring{fill:none;stroke:#B9B78A;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.cbp-rm-ring-dash{fill:none;stroke:#1c1f1c;stroke-width:2;stroke-dasharray:10 9;stroke-linecap:butt;opacity:.55}
.cbp-rm-measure{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:4 5}
.cbp-rm-dist rect{fill:#F2F1EE}
.cbp-rm-dist text{fill:#202420;font:700 19px var(--cbp-font,"Inter Tight",sans-serif);letter-spacing:.02em}
.cbp-rm-node{fill:#1c1f1c;stroke:#B9B78A;stroke-width:3.5}
.cbp-rm-site{fill:#fff;stroke:#fff;stroke-width:2;stroke-linejoin:round}
.cbp-rm-pulse{fill:none;stroke:#fff;stroke-width:2;opacity:.8;transform-box:fill-box;transform-origin:center;animation:cbpRmPulse 2.6s ease-out infinite}
@keyframes cbpRmPulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.cbp-rm-pulse{animation:none}}
.cbp-rm-labels text{font-family:var(--cbp-font,"Inter Tight",sans-serif);paint-order:stroke;stroke:#1c1f1c;stroke-width:5px;stroke-linejoin:round}
.cbp-rm-sub{fill:rgba(242,241,238,.5);font-size:13px;font-weight:600;letter-spacing:.22em}
.cbp-rm-city{fill:rgba(242,241,238,.82);font-size:16px;font-weight:700;letter-spacing:.24em}
.cbp-rm-road{fill:#C8C8C2;font-size:13px;font-weight:600;letter-spacing:.14em}
.cbp-rm-ringlbl{fill:#D9D7AE;font-size:15px;font-weight:700;letter-spacing:.16em}
.cbp-rm-water-lbl{fill:#6f8079;font-size:13px;font-weight:600;letter-spacing:.2em;font-style:italic}
.cbp-rm-tag rect{fill:#F2F1EE}
.cbp-rm-tag text{fill:#202420;font-family:var(--cbp-font,"Inter Tight",sans-serif)}
.cbp-rm-tag1{font-size:22px;font-weight:800;letter-spacing:.14em}
.cbp-rm-tag2{font-size:11px;font-weight:600;letter-spacing:.32em}
.cbp-rm-attr{fill:rgba(242,241,238,.45);font:500 11px var(--cbp-font,"Inter Tight",sans-serif)}
.cbp-rm-scale line{stroke:#F2F1EE;stroke-width:2}.cbp-rm-scale text{fill:#F2F1EE;font:600 12px var(--cbp-font,"Inter Tight",sans-serif);letter-spacing:.08em}
.cbp-rm-northarrow circle{fill:none;stroke:rgba(255,255,255,.5);stroke-width:1.5}.cbp-rm-northarrow path{fill:#fff}.cbp-rm-northarrow text{fill:#fff;font:700 13px var(--cbp-font,"Inter Tight",sans-serif)}
/* legend / key under the map */
.cbp-ringmap__key{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;padding:16px 20px;list-style:none;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.78)}
.cbp-ringmap__key li{display:inline-flex;align-items:center;gap:10px}
.cbp-ringmap__sw{display:inline-block;width:28px;height:0;border-top:6px solid #B9B78A;border-radius:3px}
.cbp-ringmap__sw--hwy{border-top:4px solid #C8C8C2}
.cbp-ringmap__sw--site{width:14px;height:14px;border:0;background:#fff;border-radius:2px}
.cbp-ringmap__sw--dist{border-top:2px dashed #fff}
.cbp-ringmap__cap{margin:0;padding:0 20px 18px;font-size:var(--cbp-fs-small,13px);line-height:1.5;color:rgba(255,255,255,.55)}
.cbp-rm-leader{fill:none;stroke:rgba(242,241,238,.55);stroke-width:1.2}
.cbp-rm-note{fill:#F2F1EE;font-size:12px;font-weight:700;letter-spacing:.14em}
@media (max-width:767px){
  .cbp-rm-s{transform:scale(1.45)}
  .cbp-rm-note{font-size:19px;letter-spacing:.1em}
  .cbp-rm-sub{display:none}
  .cbp-rm-city{font-size:24px}
  .cbp-rm-ringlbl{font-size:24px}
  .cbp-rm-road,.cbp-rm-water-lbl{font-size:19px}
  .cbp-rm-scale text,.cbp-rm-attr{font-size:17px}
  .cbp-rm-northarrow{transform:translate(950px,54px) scale(1.3)}
  .cbp-ringmap__key{padding:14px 16px;font-size:12.5px}
}

/* ===================== v1.7 multi-page components ===================== */
/* Logo inside headings: cap height of Inter Tight ~ .71em; the CONNECT artwork is all caps, so it sits on the baseline. */
.cbp-logo-word{display:inline-block;white-space:nowrap;line-height:0;vertical-align:baseline}
.cbp-logo-word img,.elementor .cbp-logo-word img{display:inline-block;height:.72em!important;width:auto!important;max-width:none!important;vertical-align:baseline;margin:0 .04em;border:0;box-shadow:none}
.cbp-logo-full{display:block;width:100%;height:auto}

/* Page hero */
.cbp-phero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(420px,62vh,640px);padding:clamp(96px,12vw,160px) var(--cbp-gutter,40px) clamp(48px,6vw,88px);color:#fff;background:var(--cbp-charcoal,#202420);overflow:hidden}
.cbp-phero--home{min-height:calc(100svh - var(--cbp-header-h,76px));align-items:center}
.cbp-phero__img{position:absolute;inset:0;z-index:-2;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
.cbp-phero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,31,28,.86) 0%,rgba(28,31,28,.62) 42%,rgba(28,31,28,.18) 80%),linear-gradient(0deg,rgba(28,31,28,.6),transparent 45%)}
.cbp-phero__inner{position:relative;width:100%;max-width:1360px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.cbp-phero__eyebrow{margin:0;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:#D9D7AE}
.cbp-phero__title{margin:0;max-width:16ch;font-family:var(--cbp-font);font-size:var(--e-global-typography-primary-font-size,clamp(2.375rem,1.68rem + 2.86vw,4.25rem));font-weight:700;line-height:1.04;letter-spacing:-.022em;color:#fff}
.cbp-phero__title span:not(.screen-reader-text):not(.cbp-logo-word){color:#D9D7AE}
.cbp-phero__title--logo{max-width:none;width:min(620px,86vw)}
.cbp-phero__tagline{margin:0;font-size:var(--e-global-typography-cbptagline-font-size,1.375rem);font-weight:600;line-height:1.3;color:#fff}
.cbp-phero__tagline span{color:#D9D7AE}
.cbp-phero__lead{margin:0;max-width:560px;font-size:var(--cbp-fs-lead,1.125rem);line-height:1.55;color:rgba(255,255,255,.86)}
.cbp-phero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.cbp-phero__cap{position:absolute;right:var(--cbp-gutter,40px);bottom:18px;margin:0;padding:6px 11px;border-radius:999px;background:rgba(32,36,32,.72);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:767px){.cbp-phero{min-height:440px;padding-top:88px;padding-bottom:64px}.cbp-phero--home{min-height:calc(100svh - 64px)}.cbp-phero__shade{background:linear-gradient(0deg,rgba(28,31,28,.9) 0%,rgba(28,31,28,.6) 55%,rgba(28,31,28,.35) 100%)}.cbp-phero__cap{right:auto;left:var(--cbp-gutter,20px);bottom:16px}.cbp-phero__btns{width:100%}.cbp-phero__btns .cbp-btn{flex:1 1 100%;justify-content:center}}
/* hero buttons (anchors, not Elementor buttons) */
.cbp-btn--light,.cbp-btn--light:visited,.cbp-btn--light:focus:not(:focus-visible){background:#fff;border-color:#fff;color:var(--cbp-charcoal,#202420)}
.cbp-btn--light:hover,.cbp-btn--light:focus-visible{background:var(--cbp-olive-btn,#77774D);border-color:var(--cbp-olive-btn,#77774D);color:#fff}
.cbp-btn--ghost,.cbp-btn--ghost:visited,.cbp-btn--ghost:focus:not(:focus-visible){background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.cbp-btn--ghost:hover,.cbp-btn--ghost:focus-visible{background:#fff;border-color:#fff;color:var(--cbp-charcoal,#202420)}

/* Feature cards (Ring Road benefits etc.) */
.cbp-fcards{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.cbp-fcards--c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cbp-fcards--c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cbp-fcard{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 28px 32px;border-radius:4px;min-width:0;overflow:hidden}
.cbp-fcard__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:10px}
.cbp-fcard__icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cbp-fcard__num{position:absolute;top:26px;right:26px;font-size:12px;font-weight:600;letter-spacing:.12em;opacity:.6;font-variant-numeric:tabular-nums}
.cbp-fcard__title{margin:0;font-family:var(--cbp-font);font-size:clamp(1.1875rem,1.1rem + .35vw,1.4375rem);font-weight:700;line-height:1.2;letter-spacing:-.01em;color:inherit}
.cbp-fcard__text{margin:0;font-size:var(--cbp-fs-body,1rem);line-height:1.6}
.cbp-fcards--dark .cbp-fcard{background:var(--cbp-charcoal,#202420);color:#fff}
.cbp-fcards--dark .cbp-fcard__icon{background:rgba(185,183,138,.14);color:#D9D7AE;box-shadow:inset 0 0 0 1px rgba(185,183,138,.4)}
.cbp-fcards--dark .cbp-fcard__text{color:rgba(255,255,255,.74)}
.cbp-fcards--olive .cbp-fcard{background:var(--cbp-olive-btn,#77774D);color:#fff}
.cbp-fcards--olive .cbp-fcard__icon{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.cbp-fcards--olive .cbp-fcard__text{color:rgba(255,255,255,.9)}
.cbp-fcards--light .cbp-fcard{background:#fff;color:var(--cbp-charcoal,#202420);border:1px solid rgba(32,36,32,.1)}
.cbp-fcards--light .cbp-fcard__icon{background:var(--cbp-offwhite,#F2F1EE);color:var(--cbp-olive,#7A7A4F);box-shadow:inset 0 0 0 1px rgba(122,122,79,.35)}
.cbp-fcards--light .cbp-fcard__text{color:#45473f}
.cbp-fcard::after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:3px;background:#B9B78A;transform:scaleX(.18);transform-origin:left;transition:transform .35s}
.cbp-fcard:hover::after{transform:scaleX(1)}
@media (max-width:1100px){.cbp-fcards,.cbp-fcards--c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cbp-fcards,.cbp-fcards--c3,.cbp-fcards--c2{grid-template-columns:1fr}.cbp-fcard{padding:28px 22px 26px}}
@media (prefers-reduced-motion:reduce){.cbp-fcard::after{transition:none}}

/* Link cards (home teasers) */
.cbp-lcards{list-style:none;margin:0;padding:0;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cbp-lcard{position:relative;display:flex;flex-direction:column;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;color:#fff;transition:background-color .2s}
.cbp-lcard:hover,.cbp-lcard:focus-within{background:rgba(255,255,255,.09)}
.cbp-lcard:focus-within{outline:2px solid var(--cbp-olive-text,#8C8B6B);outline-offset:-2px}
.cbp-lcard__img{aspect-ratio:16/10;overflow:hidden}
.cbp-lcard__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cbp-lcard:hover .cbp-lcard__img img{transform:scale(1.04)}
.cbp-lcard__body{display:flex;flex-direction:column;gap:12px;flex:1;padding:26px 26px 28px;border-top:2px solid var(--cbp-olive,#7A7A4F)}
.cbp-lcard__num{font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);color:var(--cbp-olive-text,#8C8B6B)}
.cbp-lcard__title{margin:0;font-family:var(--cbp-font);font-size:clamp(1.3125rem,1.2rem + .45vw,1.625rem);font-weight:700;line-height:1.2;letter-spacing:-.01em;color:#fff}
.cbp-lcards .cbp-lcard__link,.cbp-lcards .cbp-lcard__link:visited,.cbp-lcards .cbp-lcard__link:hover,.cbp-lcards .cbp-lcard__link:focus,.cbp-lcards .cbp-lcard__link:active{color:inherit;text-decoration:none;outline:none}
.cbp-lcard__link::after{content:"";position:absolute;inset:0}
.cbp-lcard__text{margin:0;color:rgba(255,255,255,.72);font-size:var(--cbp-fs-body,1rem);line-height:1.6}
.cbp-lcard__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-size:var(--cbp-fs-button,.78125rem);font-weight:600;letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;color:#D9D7AE}
.cbp-lcard__more svg{width:16px;height:16px;transition:transform .2s}
.cbp-lcard:hover .cbp-lcard__more svg{transform:translateX(3px)}
@media (max-width:1024px){.cbp-lcards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cbp-lcards{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cbp-lcard__img img,.cbp-lcard__more svg{transition:none}}

/* Lot schedule */
.cbp-lottable{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cbp-lottable table{width:100%;border-collapse:collapse;margin:0;font-size:var(--cbp-fs-body,1rem);background:#fff;border:1px solid rgba(32,36,32,.1)}
.cbp-lottable th,.cbp-lottable td{padding:13px 16px;text-align:left;border:0;border-bottom:1px solid rgba(32,36,32,.1);vertical-align:top;color:var(--cbp-charcoal,#202420);background:transparent}
.cbp-lottable thead th{font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F);background:var(--cbp-offwhite,#F2F1EE)}
.cbp-lottable tbody th{font-weight:700;width:64px;font-variant-numeric:tabular-nums}
.cbp-lottable tbody td:nth-child(2){white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.cbp-lottable tbody tr:nth-child(even){background:#faf9f6}
.cbp-lottable tfoot th,.cbp-lottable tfoot td{font-weight:700;background:var(--cbp-offwhite,#F2F1EE);border-bottom:0}
.cbp-lottable .is-muted{color:#77786f}
.cbp-lottable__pill{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid rgba(122,122,79,.5);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--cbp-olive,#7A7A4F);white-space:nowrap}
.cbp-lottable__note{margin:14px 0 0;font-size:var(--cbp-fs-small,.8125rem);line-height:1.55;color:#5f6258}
@media (max-width:640px){.cbp-lottable th,.cbp-lottable td{padding:11px 10px;font-size:14.5px}.cbp-lottable thead th:nth-child(4),.cbp-lottable tbody td:nth-child(4),.cbp-lottable tfoot td:nth-child(3){display:none}.cbp-lottable tfoot td[colspan]{display:table-cell}}

/* ===================== v1.9 home landing modules ===================== */
/* Stats strip */
.cbp-stats__list{margin:0;display:grid;grid-template-columns:1fr 1.35fr 1.15fr 1.15fr;gap:0}
.cbp-stats__item{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:10px;padding:6px 28px 6px 0;min-width:0}
.cbp-stats__item+.cbp-stats__item{padding-left:28px;border-left:1px solid var(--cbp-line,rgba(255,255,255,.22))}
.cbp-stats__value{margin:0;font-family:var(--cbp-font);font-size:clamp(1.625rem,1.2rem + 1.45vw,2.5rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cbp-stats__label{font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase}
.cbp-stats--light{color:#fff;--cbp-line:rgba(255,255,255,.24)}
.cbp-stats--light .cbp-stats__label{color:rgba(255,255,255,.78)}
.cbp-stats--dark{color:var(--cbp-charcoal,#202420);--cbp-line:rgba(32,36,32,.16)}
.cbp-stats--dark .cbp-stats__label{color:var(--cbp-olive,#7A7A4F)}
.cbp-stats__more{margin:28px 0 0}
.cbp-stats .cbp-stats__more a,.cbp-stats .cbp-stats__more a:visited{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-size:var(--cbp-fs-button,.78125rem);font-weight:600;letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}
.cbp-stats__more svg{width:16px;height:16px;transition:transform .2s}
.cbp-stats__more a:hover svg{transform:translateX(3px)}
@media (max-width:1024px){.cbp-stats__list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.cbp-stats__item:nth-child(odd){padding-left:0;border-left:0}}
@media (max-width:420px){.cbp-stats__item,.cbp-stats__item+.cbp-stats__item{padding:4px 12px 4px 0}.cbp-stats__item:nth-child(even){padding-left:14px}.cbp-stats__value{font-size:1.5rem}}

/* Chips */
.cbp-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cbp-chip{display:inline-flex;align-items:baseline;gap:8px;padding:9px 15px;border-radius:999px;font-size:14px;font-weight:600;line-height:1.25}
.cbp-chip__n{font-size:12px;font-weight:500;opacity:.7}
.cbp-chips--light .cbp-chip{border:1px solid rgba(217,215,174,.45);color:#fff;background:rgba(217,215,174,.08)}
.cbp-chips--light .cbp-chip__t::before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 2px 0;border-radius:50%;background:#D9D7AE}
.cbp-chips--dark .cbp-chip{border:1px solid rgba(122,122,79,.45);color:var(--cbp-charcoal,#202420);background:#fff}

/* Poster link */
.cbp-poster{position:relative;display:block;overflow:hidden;border-radius:4px;background:#1c1f1c;isolation:isolate;text-decoration:none;color:#fff}
.cbp-poster--wide{aspect-ratio:16/8}
.cbp-poster--square{aspect-ratio:1}
.cbp-poster__img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:left center;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.cbp-poster--natural .cbp-poster__img{height:auto!important}
.cbp-poster__shade{position:absolute;inset:0;background:radial-gradient(70% 70% at 50% 50%,rgba(28,31,28,.12),rgba(28,31,28,.55));transition:background .3s}
.cbp-poster__btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:12px;padding:18px 28px;border-radius:999px;background:#fff;color:var(--cbp-charcoal,#202420);font-size:var(--cbp-fs-button,.78125rem);font-weight:600;letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;white-space:nowrap;box-shadow:0 14px 40px rgba(0,0,0,.35);transition:background .2s,color .2s}
.cbp-poster__btn svg{width:20px;height:20px}
.cbp-poster:hover .cbp-poster__img{transform:scale(1.03)}
.cbp-poster:hover .cbp-poster__btn,.cbp-poster:focus-visible .cbp-poster__btn{background:var(--cbp-olive-btn,#77774D);color:#fff}
.cbp-poster:hover .cbp-poster__shade{background:radial-gradient(70% 70% at 50% 50%,rgba(28,31,28,.05),rgba(28,31,28,.45))}
.cbp-poster:focus-visible{outline:2px solid var(--cbp-olive-text,#8C8B6B);outline-offset:3px}
.cbp-poster__cap{position:absolute;left:16px;bottom:14px;padding:6px 11px;border-radius:999px;background:rgba(32,36,32,.72);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
@media (max-width:767px){.cbp-poster--wide{aspect-ratio:4/3.4}.cbp-poster__btn{padding:15px 20px;font-size:11.5px;letter-spacing:.12em}}
@media (prefers-reduced-motion:reduce){.cbp-poster__img{transition:none}}

/* ===== Lot plan v4 labels + tooltip (Jamie: "fix the text on the lots") =====
   One label style. viewBox is 2270 units wide; the plan renders ~740-800px on desktop (x0.33-0.35), so 36 units ~ 12px. */
.cbp-lp-labels .cbp-lp-lbl{font-family:var(--cbp-font);font-size:42px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;fill:#C8C8C2;paint-order:stroke;stroke:rgba(32,36,32,.55);stroke-width:6px;stroke-linejoin:round;pointer-events:none}
.cbp-lp-labels .cbp-lp-roadname{font-size:40px;font-weight:700;fill:#202420;stroke:#B9B9B1;stroke-width:8px;letter-spacing:.2em}
.cbp-lp-nums text{font-size:42px;paint-order:stroke;stroke:rgba(32,36,32,.35);stroke-width:4px}
.cbp-lp-nums text.is-on{stroke:none}
/* key under the plan */
.cbp-lotplan__key{position:relative;display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;padding:0;list-style:none;font-size:12.5px;line-height:1.3;color:rgba(255,255,255,.8)}
.cbp-lotplan__key li{display:inline-flex;align-items:center;gap:8px}
.cbp-lotplan__sw{flex:0 0 22px;width:22px;height:12px;border-radius:2px}
.cbp-lotplan__sw--lot{background:rgba(122,122,79,.75);box-shadow:inset 0 0 0 1px rgba(242,241,238,.7)}
.cbp-lotplan__sw--road{background:#B9B9B1}
.cbp-lotplan__sw--basin{background:rgba(120,140,132,.6)}
.cbp-lotplan__sw--l500{background:repeating-linear-gradient(45deg,rgba(140,139,107,.8) 0 1px,transparent 1px 5px)}
/* tooltip: title on line 1, details on line 2, wraps inside its box */
.cbp-lotplan__tip{white-space:normal;width:max-content;max-width:min(260px,calc(100% - 16px));min-width:0;text-align:left}
.cbp-lotplan__tip b{display:block;font-size:14px;line-height:1.25}
.cbp-lotplan__tip span{display:block;margin-top:2px;font-size:13.5px;line-height:1.35}
@media (max-width:767px){
  .cbp-lp-labels .cbp-lp-desk{display:none}
  .cbp-lp-nums text{font-size:92px;stroke-width:6px}
  .cbp-lotplan__tip{max-width:min(220px,calc(100% - 16px))}
}
/* Stats: optional sub-line + "olive top rules" style (Ring Road key figures) */
.cbp-stats__note{order:-1;margin:0;font-size:var(--cbp-fs-small,.8125rem);line-height:1.5;color:#5f6258}
.cbp-stats--light .cbp-stats__note{color:rgba(255,255,255,.66)}
.cbp-stats--rules .cbp-stats__list{gap:28px 32px}
.cbp-stats--rules .cbp-stats__item,.cbp-stats--rules .cbp-stats__item+.cbp-stats__item{padding:20px 0 0;border-left:0;border-top:2px solid var(--cbp-olive,#7A7A4F);gap:8px}
.cbp-stats--rules.cbp-stats--dark .cbp-stats__label{color:#45473f;letter-spacing:.12em}
@media (max-width:1024px){.cbp-stats--rules .cbp-stats__item:nth-child(even){padding-left:0}}
@media (max-width:420px){.cbp-stats--rules .cbp-stats__list{gap:24px 18px}.cbp-stats--rules .cbp-stats__item,.cbp-stats--rules .cbp-stats__item+.cbp-stats__item,.cbp-stats--rules .cbp-stats__item:nth-child(even){padding:16px 0 0}}

/* ===== Information Memorandum: header button, modal, Contact panel ===== */
.cbp-imbtn{display:inline-flex;align-items:stretch;border-radius:999px;border:1px solid rgba(255,255,255,.45);overflow:hidden;white-space:nowrap}
.cbp-imbtn a,.cbp-imbtn button{display:inline-flex;align-items:center;gap:8px;margin:0;padding:12px 16px;border:0;border-radius:0;background:transparent;color:#fff;font:600 var(--cbp-fs-button,.78125rem)/1 var(--cbp-font);letter-spacing:var(--cbp-ls-button,.16em);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.cbp-imbtn svg{width:15px;height:15px;flex:0 0 15px}
.cbp-imbtn button{border-left:1px solid rgba(255,255,255,.3);padding:12px 13px}
.cbp-imbtn a:hover,.cbp-imbtn a:focus-visible,.cbp-imbtn button:hover,.cbp-imbtn button:focus-visible{background:#fff;color:var(--cbp-charcoal,#202420)}
.cbp-imbtn a:visited{color:#fff}
.cbp-imbtn--light{border-color:rgba(32,36,32,.35)}.cbp-imbtn--light a,.cbp-imbtn--light a:visited,.cbp-imbtn--light button{color:var(--cbp-charcoal,#202420)}.cbp-imbtn--light button{border-left-color:rgba(32,36,32,.25)}
.cbp-imbtn--light a:hover,.cbp-imbtn--light button:hover{background:var(--cbp-charcoal,#202420);color:#fff}
@media (max-width:1024px){.cbp-header .elementor-widget-cbp_im_button{display:none}}
.cbp-menu__item--im{display:none}
@media (max-width:1024px){.cbp-menu__item--im{display:block}.cbp-menu .cbp-menu__btn{width:100%;text-align:left;background:transparent!important;border:0!important;border-radius:0!important;color:#fff!important;cursor:pointer}}
.cbp-immodal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px}
.cbp-immodal[hidden]{display:none}
.cbp-immodal__back{position:absolute;inset:0;background:rgba(20,22,20,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cbp-immodal__card{position:relative;width:100%;max-width:560px;max-height:calc(100svh - 32px);overflow:auto;padding:30px 28px 24px;border-radius:4px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cbp-immodal__k,.cbp-impanel__k{margin:0 0 6px;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F)}
.cbp-immodal__card h2{margin:0 0 18px;font-family:var(--cbp-font);font-size:clamp(1.5rem,1.3rem + .8vw,2rem);font-weight:700;letter-spacing:-.015em;color:var(--cbp-charcoal,#202420)}
.cbp-immodal button.cbp-immodal__x{position:absolute;right:14px;top:14px;width:38px;height:38px;padding:0;border:1px solid rgba(32,36,32,.2)!important;border-radius:50%!important;background:#fff!important;color:var(--cbp-charcoal,#202420)!important;font-size:22px;line-height:1;cursor:pointer}
html.cbp-im-open{overflow:hidden}
.cbp-check label{display:flex;gap:10px;align-items:flex-start;font:inherit!important;letter-spacing:0!important;text-transform:none!important;font-size:14.5px!important;color:#45473f!important}
.cbp-check input{width:18px!important;height:18px;flex:0 0 18px;margin-top:2px;accent-color:#7A7A4F}
.cbp-impanel{padding:28px;border:1px solid rgba(32,36,32,.1);border-radius:4px;background:#fff}
.cbp-impanel__t{margin:0 0 8px;font-family:var(--cbp-font);font-size:clamp(1.25rem,1.15rem + .4vw,1.5rem);font-weight:700;color:var(--cbp-charcoal,#202420)}
.cbp-impanel__t span{font-size:.7em;font-weight:600;color:var(--cbp-olive,#7A7A4F);letter-spacing:.02em}
.cbp-impanel__p{margin:0 0 16px;color:#45473f}
.cbp-impanel a.cbp-btn--solid,.cbp-impanel a.cbp-btn--solid:visited{background:var(--cbp-charcoal,#202420);border-color:var(--cbp-charcoal,#202420);color:#fff}
.cbp-impanel a.cbp-btn--solid:hover{background:var(--cbp-olive-btn,#77774D);border-color:var(--cbp-olive-btn,#77774D)}
.cbp-impanel__send{margin-top:18px;border-top:1px solid rgba(32,36,32,.1);padding-top:14px}
.cbp-impanel__send summary{cursor:pointer;font-weight:600;color:var(--cbp-charcoal,#202420);margin-bottom:14px}
/* IM form buttons + mobile menu "Send the IM" (beat Hello Elementor's default button colours) */
.cbp-imform button.cbp-btn,.cbp-imform button.cbp-btn:focus:not(:focus-visible){border-radius:999px;background:var(--cbp-charcoal,#202420);border:1px solid var(--cbp-charcoal,#202420);color:#fff}
.cbp-imform button.cbp-btn:hover,.cbp-imform button.cbp-btn:focus-visible{background:var(--cbp-olive-btn,#77774D);border-color:var(--cbp-olive-btn,#77774D);color:#fff}
.cbp-imform .cbp-form__status.is-error{color:#9b2c1c}.cbp-imform .cbp-form__status.is-ok{color:#3f5a2a}
@media (max-width:1024px){.cbp-header .cbp-menu button.cbp-menu__btn{display:block;padding:16px var(--cbp-gutter,20px)!important;font-family:var(--cbp-font);font-size:var(--cbp-fs-button,.78125rem);line-height:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
  .cbp-header .cbp-menu button.cbp-menu__btn:hover{background:#2a2c2a!important}}

/* ===== Live lot statuses, lot details panel, lot enquiry modal (cbp-site 1.15) ===== */
.cbp-lp-lot.st-offer{fill:rgba(168,146,96,.78)}
.cbp-lp-lot.st-sold{fill:#2c2f2c}
.cbp-lp-lot.st-hold{fill:url(#cbpLpHatch2);stroke:rgba(242,241,238,.5);stroke-dasharray:6 5}
.cbp-lotplan .cbp-lp-lot.st-sold:hover,.cbp-lotplan .cbp-lp-lot.st-sold.is-on{fill:#3a3d3a}
.cbp-lotplan .cbp-lp-lot.st-offer:hover,.cbp-lotplan .cbp-lp-lot.st-offer.is-on{fill:#b8a372}
.cbp-lp-lot.is-sel,.cbp-lotplan .cbp-lp-lot.is-sel{stroke:#fff!important;stroke-width:3!important;opacity:1}
.cbp-lp-sttxt{font-family:var(--cbp-font);font-size:30px;font-weight:700;letter-spacing:.16em;text-anchor:middle;dominant-baseline:central;pointer-events:none;fill:#F2F1EE}
.cbp-lp-sttxt.st-sold{fill:#C8C8C2}.cbp-lp-sttxt.st-offer{fill:#202420}.cbp-lp-sttxt.st-hold{fill:#E6E4C6}
@media (max-width:767px){.cbp-lp-sttxt{font-size:46px;letter-spacing:.06em}}
.cbp-lotplan__status{position:relative;display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0 0;padding:0;list-style:none;font-size:13px;color:#fff}
.cbp-lotplan__status b{font-variant-numeric:tabular-nums;color:#D9D7AE;margin-left:2px}
.cbp-st{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.cbp-st--available{background:rgba(122,122,79,.9);box-shadow:inset 0 0 0 1px rgba(242,241,238,.6)}.cbp-st--offer{background:#a8925f}.cbp-st--sold{background:#2c2f2c;box-shadow:inset 0 0 0 1px rgba(242,241,238,.5)}
.cbp-st--hold{background:repeating-linear-gradient(-45deg,rgba(242,241,238,.5) 0 1px,transparent 1px 4px);box-shadow:inset 0 0 0 1px rgba(242,241,238,.5)}
/* layout: panel docked beside the plan when the widget has room; card over the plan on narrower desktops; bottom sheet on phones */
.cbp-lotx{position:relative;container-type:inline-size}
.cbp-lotx__in{position:relative}
.cbp-lotx__panel{display:none;color:var(--cbp-charcoal,#202420);background:#F2F1EE;border-radius:4px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.cbp-lotx__panel.is-open{display:block}
@container (min-width:900px){
  .cbp-lotx__in{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
  .cbp-lotx__panel{display:block;position:sticky;top:96px;box-shadow:none;min-height:240px}
}
@container (max-width:899px){
  .cbp-lotx__panel.is-open{position:absolute;z-index:6;right:16px;top:16px;width:min(320px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto}
}
@media (max-width:767px){
  .cbp-lotx__panel.is-open{position:fixed!important;z-index:9995;left:0;right:0;bottom:0;top:auto!important;width:auto!important;max-height:72svh;overflow:auto;border-radius:14px 14px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -14px 40px rgba(0,0,0,.35)}
  .cbp-lotx__panel.is-open::before{content:"";display:block;width:44px;height:4px;margin:-6px auto 12px;border-radius:4px;background:rgba(32,36,32,.2)}
}
.cbp-lotx__empty p{margin:0 0 6px;color:#45473f;font-size:14.5px}
.cbp-lotx__k{margin:0;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F)}
.cbp-lotx__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cbp-lotx button.cbp-lotx__x{width:34px;height:34px;padding:0;border:1px solid rgba(32,36,32,.2)!important;border-radius:50%!important;background:#fff!important;color:#202420!important;font-size:20px;line-height:1;cursor:pointer}
@container (min-width:900px){.cbp-lotx button.cbp-lotx__x{display:none}}
.cbp-lotx__t{margin:6px 0 8px;font-family:var(--cbp-font);font-size:26px;font-weight:700;letter-spacing:-.015em;color:#202420}
.cbp-lotpill{display:inline-block;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:rgba(122,122,79,.15);color:#5d5d3a;border:1px solid rgba(122,122,79,.4)}
.cbp-lotpill.st-offer{background:#efe6cf;color:#6e5a2a;border-color:#d3bf8b}.cbp-lotpill.st-sold{background:#2c2f2c;color:#fff;border-color:#2c2f2c}.cbp-lotpill.st-hold{background:transparent;color:#5f6258;border-style:dashed}
.cbp-lotx__specs{margin:14px 0 0;border-top:1px solid rgba(32,36,32,.12)}
.cbp-lotx__specs div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid rgba(32,36,32,.12);font-size:14.5px}
.cbp-lotx__specs dt{font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F);padding-top:2px}.cbp-lotx__specs dd{margin:0;font-weight:600}
.cbp-lotx__acts{display:grid;gap:8px;margin-top:16px}
.cbp-lotx__acts .cbp-btn,.cbp-lotx__shortbar .cbp-btn{width:100%;justify-content:center}
.cbp-lotx button.cbp-btn--solid,.cbp-lotmodal button.cbp-btn--solid{border-radius:999px;background:#202420;border:1px solid #202420;color:#fff}
.cbp-lotx button.cbp-btn--solid:hover,.cbp-lotmodal button.cbp-btn--solid:hover{background:#77774D;border-color:#77774D}
.cbp-lotx button.cbp-btn--line{border-radius:999px;background:transparent;border:1px solid rgba(32,36,32,.35);color:#202420}.cbp-lotx button.cbp-btn--line:hover{background:#202420;color:#fff}
.cbp-lotx button.cbp-lotx__short{padding:10px;border:0!important;background:transparent!important;color:#5d5d3a!important;font-weight:600;font-size:14px;cursor:pointer;border-radius:999px!important}
.cbp-lotx button.cbp-lotx__short.on{color:#202420!important}
.cbp-lotx__sold{margin:0;font-weight:600;color:#202420}
.cbp-lotx__shortbar{margin-top:16px;padding-top:14px;border-top:1px solid rgba(32,36,32,.12)}
.cbp-lotx__chips,.cbp-lotform__lots{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.cbp-lotchip{display:inline-flex;align-items:center;gap:4px;padding:5px 6px 5px 11px;border-radius:999px;background:#fff;border:1px solid rgba(122,122,79,.45);font-size:13px;font-weight:600;color:#202420}
.cbp-lotchip button{width:22px;height:22px;padding:0;border:0!important;border-radius:50%!important;background:transparent!important;color:#5f6258!important;font-size:16px;line-height:1;cursor:pointer}
.cbp-lotx__list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.cbp-lotx__list button{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:8px;width:100%;padding:9px 10px;border:1px solid rgba(32,36,32,.12)!important;border-radius:3px!important;background:#fff!important;color:#202420!important;text-align:left;cursor:pointer;font-size:14px}
.cbp-lotx__list button:hover{border-color:#7A7A4F!important}
.cbp-lotx__note{margin:14px 0 0;font-size:12px;line-height:1.5;color:#5f6258}
html.cbp-sheet-open #cpm-lift{opacity:0}
.cbp-lotmodal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px}
.cbp-lotmodal[hidden]{display:none}
.cbp-lotmodal__back{position:absolute;inset:0;background:rgba(20,22,20,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cbp-lotmodal__card{position:relative;width:100%;max-width:600px;max-height:calc(100svh - 32px);overflow:auto;padding:30px 28px 24px;border-radius:4px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35);color:#202420}
.cbp-lotmodal__k{margin:0 0 6px;font:var(--cbp-t-label);letter-spacing:var(--cbp-t-label-ls);text-transform:uppercase;color:var(--cbp-olive,#7A7A4F)}
.cbp-lotmodal__card h2{margin:0 0 12px;font-family:var(--cbp-font);font-size:clamp(1.5rem,1.3rem + .8vw,2rem);font-weight:700;letter-spacing:-.015em;color:#202420}
.cbp-lotmodal button.cbp-lotmodal__x{position:absolute;right:14px;top:14px;width:38px;height:38px;padding:0;border:1px solid rgba(32,36,32,.2)!important;border-radius:50%!important;background:#fff!important;color:#202420!important;font-size:22px;line-height:1;cursor:pointer}
.cbp-lotmodal .cbp-field select{width:100%;padding:14px 15px;border:1px solid rgba(32,36,32,.22);border-radius:3px;background:#fff;font:inherit;font-size:16px}
.cbp-lotmodal .cbp-field--full{margin-bottom:14px}
.cbp-lotmodal .cbp-form__status.is-error{color:#9b2c1c}.cbp-lotmodal .cbp-form__status.is-ok{color:#3f5a2a}
html.cbp-lot-open{overflow:hidden}
.cbp-form__lots{margin:0 0 14px;padding:10px 14px;border-left:3px solid #7A7A4F;background:#F2F1EE;font-weight:600}
.cbp-lottable tr.st-sold td,.cbp-lottable tr.st-sold th{color:#8a8b84}
.cbp-lottable__pill.st-offer{background:#efe6cf;color:#6e5a2a;border-color:#d3bf8b}.cbp-lottable__pill.st-sold{background:#2c2f2c;color:#fff;border-color:#2c2f2c}.cbp-lottable__pill.st-hold{border-style:dashed;color:#5f6258}

/* CPM-Leads statuses beyond the original four (cbp-site 1.16): leased reads like sold, coming soon like not released */
.cbp-lp-lot.st-leased{fill:#2c2f2c}.cbp-lotplan .cbp-lp-lot.st-leased:hover,.cbp-lotplan .cbp-lp-lot.st-leased.is-on{fill:#3a3d3a}
.cbp-lp-lot.st-coming{fill:url(#cbpLpHatch2);stroke:rgba(242,241,238,.5);stroke-dasharray:6 5}
.cbp-lp-sttxt.st-leased{fill:#C8C8C2}.cbp-lp-sttxt.st-coming{fill:#E6E4C6}
.cbp-lotpill.st-leased,.cbp-lottable__pill.st-leased{background:#2c2f2c;color:#fff;border-color:#2c2f2c}
.cbp-lotpill.st-coming,.cbp-lottable__pill.st-coming{background:transparent;color:#5f6258;border-style:dashed}
.cbp-lottable tr.st-leased td,.cbp-lottable tr.st-leased th{color:#8a8b84}
.cbp-st--leased{background:#2c2f2c;box-shadow:inset 0 0 0 1px rgba(242,241,238,.5)}
.cbp-st--coming{background:repeating-linear-gradient(-45deg,rgba(242,241,238,.5) 0 1px,transparent 1px 4px);box-shadow:inset 0 0 0 1px rgba(242,241,238,.5)}
/* Depth hero (cbp-site 1.17.0): WebGL canvas over the eager image; same overscan on both so the hand-over is invisible */
.cbp-phero--depth .cbp-phero__img{transform:scale(var(--cbp-dh-over,1));transform-origin:50% 50%}
.cbp-dhero{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.cbp-dhero__canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .9s ease}
.cbp-phero--depth.is-depth-ready .cbp-dhero__canvas{opacity:1}
.cbp-phero--depth.is-depth-off .cbp-dhero{display:none}
@media (prefers-reduced-motion:reduce){.cbp-dhero{display:none}}
.cbp-pic{display:contents}
/* ---- cbp-site 1.18.0: full-bleed explorer + poster, compact welcome card ---- */
.cbp-bleed{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;align-self:center}
.cbp-bleed .cpmx-explorer{border-radius:0!important}
.cbp-poster--bleed{aspect-ratio:16/8;max-height:88vh;border-radius:0}
.cbp-poster--bleed .cbp-poster__img{object-position:center}
@media (max-width:767px){.cbp-poster--bleed{aspect-ratio:4/5;max-height:none}}
/* filter pills: second row sits clear of the "Rockhampton · 10 km" chip and the Light/Dark/Satellite switch */
.cpmx-explorer.cpmx-chips-row2:not(.cpmx-compact) .cpmx-category-strip{top:82px!important}
.cpmx-explorer.cpmx-chips-row2:not(.cpmx-compact) .cpmx-panel{top:134px!important}
.cpmx-explorer .cpmx-chip:hover,.cpmx-explorer .cpmx-chip.is-active{transform:none}
/* welcome: compact floating card (desktop) / bottom sheet (phones); the map stays usable around it */
.cpmx-explorer .cpmx-welcome{pointer-events:none;align-items:flex-start;justify-content:flex-start;padding:82px 18px 84px}
.cpmx-explorer .cpmx-welcome-backdrop{display:none}
.cpmx-explorer.is-welcome-open .cpmx-map *,.cpmx-explorer.is-welcome-open .cpmx-sm *{animation-play-state:running!important}
.cpmx-explorer .cpmx-welcome .cpmx-welcome-panel{pointer-events:auto;position:relative;width:min(352px,calc(100% - 36px));max-height:100%;height:auto;border-radius:12px;border-width:1px;box-shadow:0 18px 48px rgba(0,0,0,.32);display:block;overflow:auto;overscroll-behavior:contain}
.cpmx-explorer .cpmx-welcome-body{padding:18px 20px 16px}
.cpmx-explorer .cpmx-welcome-logo{max-height:30px;max-width:140px;margin:0 0 10px}
.cpmx-explorer .cpmx-welcome-kicker{font-size:10.5px;line-height:1.45;letter-spacing:.14em;margin:0 44px 2px 0}
.cpmx-explorer .cpmx-welcome-address{margin-top:4px;font-size:12.5px}
.cpmx-explorer .cpmx-welcome-intro{margin-top:10px;font-size:13.5px;line-height:1.5}
.cpmx-explorer .cpmx-welcome-intro p{margin:0}
.cpmx-explorer .cpmx-welcome-travel{margin-top:12px}
.cpmx-explorer .cpmx-welcome .cpmx-welcome-row{padding:7px 0!important}
.cpmx-explorer .cpmx-welcome .cpmx-welcome-row strong{font-size:13px}
.cpmx-explorer .cpmx-welcome .cpmx-welcome-row>b{font-size:13.5px}
.cpmx-explorer .cpmx-welcome .cpmx-travel-note{font-size:11px;line-height:1.4;margin-top:6px}
.cpmx-explorer .cpmx-welcome-actions{margin-top:14px;gap:8px}
.cpmx-explorer .cpmx-welcome-primary,.cpmx-explorer .cpmx-welcome-cta{min-height:40px;padding:9px 14px;font-size:13px}
.cbp-wc-tools{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:4px}
.cbp-wc-btn{appearance:none;display:grid;place-items:center;width:30px;height:30px;padding:0!important;margin:0;border:1px solid var(--cpmx-ui-line,rgba(0,0,0,.12))!important;border-radius:50%!important;background:transparent!important;color:var(--cpmx-card-text,#202420)!important;cursor:pointer;box-shadow:none!important;min-height:0!important}
.cbp-wc-btn svg{width:15px;height:15px;transition:transform .25s ease}
.cbp-wc-btn:focus-visible{outline:2px solid var(--cpmx-card-accent,#7A7A4F);outline-offset:2px}
.cpmx-welcome.is-min .cbp-wc-min svg{transform:rotate(180deg)}
.cpmx-welcome.is-min .cpmx-welcome-address,.cpmx-welcome.is-min .cpmx-welcome-intro,.cpmx-welcome.is-min .cpmx-welcome-facts,.cpmx-welcome.is-min .cpmx-welcome-travel,.cpmx-welcome.is-min .cpmx-welcome-media{display:none!important}
.cpmx-welcome.is-min .cpmx-welcome-panel{cursor:pointer;width:min(300px,calc(100% - 36px))}
@media (max-width:1100px){.cpmx-explorer:not(.cpmx-compact) .cpmx-welcome{padding-top:132px}}
/* phones: bottom sheet over the map */
.cpmx-explorer.cpmx-compact .cpmx-welcome{align-items:flex-end;padding:0}
.cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-panel{width:100%;height:auto;max-height:64%;display:block;border-radius:16px 16px 0 0;border-width:1px 0 0}
.cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-body{display:block;padding:18px 16px 0}
.cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-actions{margin:14px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
.cpmx-explorer.cpmx-compact .cpmx-welcome-primary{min-height:46px;font-size:14px}
.cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-panel::before{content:"";position:absolute;left:50%;top:7px;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:var(--cpmx-ui-line,rgba(0,0,0,.18))}
.cpmx-explorer.cpmx-compact .cpmx-welcome.is-min .cpmx-welcome-panel{width:100%}
/* 1.18.0 (rev): 50vh map, chips always on their own row at the right (clear of the card, chip and style switch),
   phone bottom sheet wins over the plugin's full-height sheet, engagement hint + touch lock */
.cpmx-explorer:not(.cpmx-compact) .cpmx-category-strip{top:78px!important;left:auto!important;right:18px!important;transform:none!important;justify-content:flex-end;max-width:calc(100% - 36px - 372px)!important}
.cpmx-explorer:not(.cpmx-compact) .cpmx-panel{top:128px!important}
.cpmx-explorer .cpmx-welcome{padding:78px 18px 80px}
@media (max-width:1100px){.cpmx-explorer:not(.cpmx-compact) .cpmx-welcome{padding-top:78px}}
body .cpmx-explorer.cpmx-compact .cpmx-welcome{align-items:flex-end;padding:0}
body .cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-panel{width:100%;height:auto;max-height:70%;display:block;border-radius:16px 16px 0 0;border-width:1px 0 0}
body .cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-body{display:block;flex:none;padding:18px 16px 0}
body .cpmx-explorer.cpmx-compact .cpmx-welcome .cpmx-welcome-actions{position:static;margin:12px -16px 0;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px))}
.cbp-map-hint{position:absolute;left:50%;bottom:84px;z-index:20;transform:translateX(-50%);padding:7px 13px;border-radius:999px;background:rgba(32,36,32,.72);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .5s ease}
.cbp-map-hint.is-gone{opacity:0}
.cpmx-explorer.cpmx-compact .cbp-map-hint{top:64px;bottom:auto}
.cbp-touch-lock{position:absolute;inset:0;z-index:55;margin:0;padding:0;border:0;background:transparent;touch-action:pan-y;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cbp-home-explore .cbp-bleed,.cbp-explore-section .cbp-bleed{margin-bottom:0!important}
.cbp-poster--bleed{aspect-ratio:auto;height:50vh;min-height:320px;max-height:none}
@media (max-width:767px){.cbp-poster--bleed{height:60vh;aspect-ratio:auto}}
/* Before / after (cbp-site 1.18.0) */
.cbp-ba{--ba:50;position:relative;margin:0;width:100%;overflow:hidden;border-radius:4px;background:#2a2e2a;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:col-resize;isolation:isolate}
.cbp-ba__pane{position:absolute;inset:0}
.cbp-ba__img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;pointer-events:none}
.cbp-ba__after{clip-path:inset(0 0 0 calc(var(--ba) * 1%));z-index:2}
.cbp-ba__line{position:absolute;z-index:3;top:0;bottom:0;left:calc(var(--ba) * 1%);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.25);pointer-events:none}
.cbp-ba__knob{position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#fff;color:var(--cbp-charcoal,#202420);display:grid;place-items:center;box-shadow:0 8px 26px rgba(0,0,0,.28);transition:transform .2s}
.cbp-ba__knob svg{width:22px;height:22px}
.cbp-ba:hover .cbp-ba__knob,.cbp-ba.is-focus .cbp-ba__knob{transform:scale(1.06)}
.cbp-ba.is-focus .cbp-ba__knob{outline:2px solid var(--cbp-olive,#7A7A4F);outline-offset:3px}
.cbp-ba__lbl{position:absolute;bottom:18px;z-index:1;max-width:calc(50% - 40px);padding:6px 11px;border-radius:999px;background:rgba(32,36,32,.74);color:#fff;font-size:11px;font-weight:600;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cbp-ba__lbl--before{left:18px}
.cbp-ba__lbl--after{right:18px;text-align:right}
.cbp-ba__range{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
@media (max-width:767px){.cbp-ba{aspect-ratio:4/3!important}.cbp-ba__lbl{bottom:12px;font-size:9.5px;letter-spacing:.1em;max-width:calc(50% - 22px)}.cbp-ba__lbl--before{left:10px}.cbp-ba__lbl--after{right:10px}.cbp-ba__knob{width:44px;height:44px;margin:-22px 0 0 -22px}}
@media (max-width:767px){.cbp-phero__cap{font-size:9.5px;letter-spacing:.1em;max-width:calc(100% - 40px)}}
.cpmx-explorer.is-welcome-open .cpmx-travel-pane{visibility:hidden}
.cpmx-explorer .cpmx-welcome-actions{flex-wrap:nowrap}
.cpmx-explorer .cpmx-welcome-primary,.cpmx-explorer .cpmx-welcome-cta{white-space:nowrap;min-height:38px;padding:8px 12px;font-size:12.5px}
.cpmx-welcome.is-min .cpmx-welcome-panel{width:min(352px,calc(100% - 36px))}
.cpmx-explorer .cpmx-welcome-primary{flex:1 1 auto}.cpmx-explorer .cpmx-welcome-cta{flex:0 0 auto}
.elementor-widget-cbp_before_after{flex-shrink:0!important;width:100%}.cbp-ba{display:block}
.elementor-widget-cbp_poster{flex-shrink:0!important}
.cbp-touch-lock,.cbp-touch-lock:hover,.cbp-touch-lock:focus{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;outline:0}
.cbp-poster--bleed .cbp-poster__cap{left:50%;bottom:20px;transform:translateX(-50%);white-space:nowrap;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;transition:background .2s}
.cbp-poster--bleed:hover .cbp-poster__cap,.cbp-poster--bleed:focus-visible .cbp-poster__cap{background:var(--cbp-olive-btn,#77774D)}
.cbp-poster--bleed:hover .cbp-poster__img{transform:scale(1.015)}
@media (max-width:767px){.cbp-poster--bleed .cbp-poster__img{object-position:0% 50%}}
@media (max-width:767px){.cbp-poster--bleed .cbp-poster__cap{bottom:74px}}
/* Elementor flex columns size widgets from their intrinsic (max-content) width: the lot plan SVG (viewBox 2270 wide) made
   its widget ~2x taller than its content on tablet/phone, leaving a ~660px empty band. Widgets fill their column instead. */
.e-con>.elementor-widget,.e-con-inner>.elementor-widget{min-width:0}
.elementor-widget-cbp_lot_plan,.elementor-widget-cbp_ring_map,.elementor-widget-cbp_lot_table,.elementor-widget-cbp_before_after,.elementor-widget-cbp_poster{width:100%;min-width:0}
/* Stats (1.18.0): a value never breaks ("1,825–6,038 m²" stays on one line), fluid size, quieter labels and a tighter
   2x2 block on phones/tablets; one column below 360px. Same for the heading-based stats (cbp-stat) on /lots/. */
.cbp-stats__value,.cbp-stat .elementor-heading-title{white-space:nowrap}
.cbp-stats__note{font-size:.8125rem;letter-spacing:0;text-transform:none}
@media (max-width:1024px){
  .cbp-stats__list{row-gap:18px}
  .cbp-stats__value{font-size:clamp(1.25rem,.6rem + 3.4vw,2.25rem)}
  .cbp-stats__label{letter-spacing:.1em;line-height:1.35}
  .cbp-stats--rules .cbp-stats__list{gap:20px 24px}
  .cbp-stat .elementor-heading-title{font-size:clamp(1.5rem,.8rem + 3.4vw,2.5rem)}
}
@media (max-width:420px){.cbp-stats__label{letter-spacing:.08em;font-size:10.5px}.cbp-stats__value{font-size:clamp(1.15rem,4.9vw,1.5rem)}}
@media (max-width:360px){.cbp-stats__list{grid-template-columns:1fr}.cbp-stats__item:nth-child(even),.cbp-stats__item+.cbp-stats__item{padding-left:0;border-left:0}}
/* Ground-level renders (cbp-site 1.21.0): 2x2 gallery on /the-estate/ keeps the renders' native 2:1 frame; lots schedule photo */
.cbp-gallery.cbp-gallery--ground img{aspect-ratio:2/1;height:auto}
.cbp-gallery--ground{gap:20px}
.cbp-photo.cbp-photo--wide img{aspect-ratio:2/1;height:auto}
@media (max-width:767px){.cbp-home-estate .elementor-widget.cbp-photo img{aspect-ratio:2/1}}
@media (max-width:767px){
  
  .cbp-photo.cbp-photo--wide .widget-image-caption,.cbp-photo.cbp-photo--wide figcaption,
  .cbp-home-estate .cbp-photo .widget-image-caption,.cbp-home-estate .cbp-photo figcaption{position:static;display:block;margin:8px 0 0;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;color:#6b6c66;font-size:10px;letter-spacing:.12em;line-height:1.5}
}
.cbp-gallery-note p{margin:0;color:#6b6c66}
/* 1.21.1 (Nov 13): hero sized down on phones + foldables (Jamie: "all a bit massive"). The logo used to be min(620px,86vw), so 620 px on a Fold. */
@media (max-width:1024px){
  .cbp-phero__title--logo{width:min(440px,70vw)}
  .cbp-phero__lead{max-width:500px;font-size:1rem}
}
@media (max-width:767px){
  .cbp-phero--home{min-height:0;padding-top:72px;padding-bottom:84px}
  .cbp-phero__eyebrow{font-size:10.5px;letter-spacing:.14em}
  .cbp-phero__btns{width:auto}
  .cbp-phero__btns .cbp-btn{flex:0 1 auto;justify-content:center;padding:14px 22px;font-size:11px}
  .cbp-site-header .cbp-cta a.elementor-button{padding:9px 13px;font-size:10px}
}
@media (max-width:480px){
  .cbp-phero__title--logo{width:min(300px,76vw)}
  .cbp-phero__btns{width:100%}
  .cbp-phero__btns .cbp-btn{flex:1 1 100%}
  .cbp-phero__lead{font-size:.95rem}
  .cbp-phero--home{padding-bottom:100px}
}
