/* ══════════════════════════════════════════════════════
   NAV HIDE WHILE PANEL IS OPEN
   ══════════════════════════════════════════════════════ */
#mainNav {
    transition: background .45s ease,
                -webkit-backdrop-filter .45s ease,
                backdrop-filter .45s ease,
                transform .42s cubic-bezier(.32,.72,0,1),
                opacity .55s ease;
}
/* Slides and fades together, so on close it settles back in rather than snapping */
#mainNav.brg-nav-hidden { transform: translateY(-110%); opacity: 0; }

/* ══════════════════════════════════════════════════════
   BODY SCROLL LOCK — overflow:hidden on <html> only.
   position:fixed on body breaks backdrop-filter on iOS Safari.
   ══════════════════════════════════════════════════════ */
html.brg-html-locked { overflow: hidden; }

/* ══════════════════════════════════════════════════════
   OVERLAY — scrim + slide animation (panel is the scroll container)
   ══════════════════════════════════════════════════════ */
#brg-panel-overlay {
    position:fixed;inset:0;z-index:201;
    background:rgba(0,0,0,.48);
    -webkit-backdrop-filter:blur(20px);
    backdrop-filter:blur(20px);
    overflow:hidden;
    opacity:0;pointer-events:none;
    transition:opacity .5s ease;
}
#brg-panel-overlay.brg-ov-on { opacity:1;pointer-events:auto; }
/* Close: the blur lingers briefly while the sheet exits, then fades away */
#brg-panel-overlay.brg-ov-closing { opacity:0; transition:opacity .34s ease .14s; }
/* During touch drag the JS drives the sheet transform + scrim opacity directly */
#brg-panel-overlay.brg-ov-dragging { transition:none; }
.brg-ov-dragging #brg-panel { transition:none; }

/* ══════════════════════════════════════════════════════
   PANEL CARD
   ══════════════════════════════════════════════════════ */
#brg-panel {
    width:75vw;
    min-width:320px;
    max-width:1600px;
    margin:calc(40px + env(safe-area-inset-top, 0px)) auto 0;
    max-height:calc(100vh - 40px - env(safe-area-inset-top, 0px));
    max-height:calc(100dvh - 40px - env(safe-area-inset-top, 0px));
    /* Fill the viewport below the peek gap so the sheet sits flush against
       the bottom edge even while only the skeleton is loaded (the mobile
       bottom-gap fix — dvh keeps it right under iOS toolbars). */
    min-height:calc(100vh - 40px - env(safe-area-inset-top, 0px));
    min-height:calc(100dvh - 40px - env(safe-area-inset-top, 0px));
    padding-bottom:env(safe-area-inset-bottom, 0px); /* keep the last section above the home indicator */
    background:#fff;
    border-radius:18px 18px 0 0;
    display:flex;flex-direction:column;
    position:relative;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    /* The sheet slides; the overlay only fades */
    transform:translateY(103%);
    transition:transform .62s cubic-bezier(.32,.72,0,1);
    will-change:transform;
}
.brg-ov-on #brg-panel { transform:translateY(0); }
.brg-ov-closing #brg-panel {
    transform:translateY(103%);
    transition:transform .46s cubic-bezier(.4,0,1,1);
}
@media(max-width:480px){
    #brg-panel {
        width:100%; margin-top:calc(20px + env(safe-area-inset-top, 0px));
        max-height:calc(100vh - 20px - env(safe-area-inset-top, 0px));
        max-height:calc(100dvh - 20px - env(safe-area-inset-top, 0px));
        min-height:calc(100vh - 20px - env(safe-area-inset-top, 0px));
        min-height:calc(100dvh - 20px - env(safe-area-inset-top, 0px));
    }
}

/* ── Sticky header ── */
#brg-pnl-hdr {
    flex-shrink:0;
    position:sticky;top:0;z-index:10;
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:0 18px 0 24px;height:60px;
    background:#fff;
    border-bottom:1px solid rgba(29,29,27,.1);
    border-radius:18px 18px 0 0;
}
/* Sheet grabber — drag affordance, touch screens only */
#brg-pnl-hdr::before {
    content:'';
    position:absolute;top:7px;left:50%;
    width:36px;height:4px;border-radius:2px;
    transform:translateX(-50%);
    background:rgba(29,29,27,.18);
    display:none;
}
@media(hover:none) and (pointer:coarse){
    #brg-pnl-hdr::before { display:block; }
}
#brg-pnl-hdr-info { min-width:0;flex:1;display:flex;flex-direction:column;gap:2px; }
#brg-pnl-eyebrow {
    display:block;font-family:var(--sans,'Neue Montreal',sans-serif);
    font-size:.48rem;font-weight:500;letter-spacing:.3em;
    text-transform:uppercase;color:var(--gold,#B8965A);line-height:1;
}
#brg-pnl-title {
    display:block;font-family:var(--sans,'Neue Montreal',sans-serif);
    font-size:.88rem;font-weight:400;color:#1d1d1b;
    letter-spacing:-.01em;line-height:1.25;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#brg-pnl-hdr-right { display:flex;align-items:center;gap:6px;flex-shrink:0; }
#brg-pnl-ext {
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:50%;
    color:rgba(29,29,27,.4);text-decoration:none;
    transition:color .25s,background .25s;
}
#brg-pnl-ext:hover { color:#1d1d1b;background:rgba(29,29,27,.06); }
#brg-pnl-ext svg { width:13px;height:13px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none; }
#brg-pnl-close {
    width:36px;height:36px;border-radius:50%;
    background:rgba(29,29,27,.08);border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    color:#1d1d1b;
    transition:background .25s,transform .25s;
    -webkit-tap-highlight-color:transparent;flex-shrink:0;
}
#brg-pnl-close:hover  { background:rgba(29,29,27,.16);transform:scale(1.08); }
#brg-pnl-close:active { transform:scale(.93); }
#brg-pnl-close svg { width:14px;height:14px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill:none;pointer-events:none; }

#brg-pnl-body { flex:1; }

/* ══════════════════════════════════════════════════════
   GALLERY
   ══════════════════════════════════════════════════════ */
.brg-gal {
    position:relative;width:100%;aspect-ratio:16/9;
    overflow:hidden;background:#fff;
    user-select:none;-webkit-user-select:none;
}
.brg-gal-track {
    display:flex;height:100%;
    transition:transform 1.1s cubic-bezier(.32,.72,0,1);
    will-change:transform;
}
.brg-gal-slide { min-width:100%;height:100%;overflow:hidden; }
.brg-gal-slide img {
    width:100%;height:100%;object-fit:cover;display:block;
    user-select:none;-webkit-user-drag:none;pointer-events:none;
    opacity:0;transition:opacity .5s ease;
}
.brg-gal-empty {
    width:100%;aspect-ratio:16/9;
    background:#151515;
    display:flex;align-items:center;justify-content:center;
}
.brg-gal-empty svg { width:44px;height:44px;stroke:rgba(255,255,255,.18);stroke-width:1;fill:none; }
.brg-gal-arr {
    position:absolute;top:50%;transform:translateY(-50%);z-index:3;
    width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.16);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.22);color:#fff;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .22s;
    -webkit-tap-highlight-color:transparent;
}
.brg-gal-arr:hover  { background:rgba(255,255,255,.3); }
.brg-gal-arr:active { transform:translateY(-50%) scale(.9); }
.brg-gal-arr.brg-prev { left:16px; }
.brg-gal-arr.brg-next { right:16px; }
.brg-gal-arr svg { width:18px;height:18px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none; }
.brg-gal-arr[disabled] { opacity:.28;pointer-events:none; }

/* ── Unified bottom bar — media pills │ dots │ count badge ── */
.brg-gal-bottom {
    position:absolute;bottom:0;left:0;right:0;z-index:3;
    display:flex;align-items:center;
    padding:0 16px 14px;
    pointer-events:none;
}
.brg-gal-media {
    flex:1;display:flex;gap:6px;flex-wrap:wrap;
    align-items:center;pointer-events:auto;
    min-width:0;
}
.brg-gal-dots {
    flex:0 1 auto;min-width:0;display:flex;justify-content:center;
    align-items:center;gap:6px;flex-wrap:nowrap;overflow:hidden;
    padding:0 8px;pointer-events:none;
}
@media(max-width:600px){
    .brg-gal-dots.brg-gal-many { display:none; }
}
.brg-gal-dot {
    width:5px;height:5px;border-radius:50%;border:none;padding:0;
    background:rgba(255,255,255,.38);cursor:pointer;pointer-events:auto;
    transition:width .3s cubic-bezier(.32,.72,0,1),background .3s,border-radius .3s;
    -webkit-tap-highlight-color:transparent;
}
.brg-gal-dot.on { width:20px;border-radius:3px;background:var(--gold,#B8965A); }
.brg-gal-bright {
    flex:1;display:flex;justify-content:flex-end;
    align-items:center;gap:8px;pointer-events:auto;
}
/* Media pill and count pill share one geometry (28px capsule) */
.brg-gal-mbtn,
.brg-gal-count {
    display:inline-flex;align-items:center;gap:5px;
    padding:0 11px;height:28px;border-radius:14px;
    background:rgba(0,0,0,.38);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.18);
    color:rgba(255,255,255,.9);
    font-family:var(--sans,'Neue Montreal',sans-serif);
    font-size:.52rem;font-weight:500;letter-spacing:.1em;
    text-transform:uppercase;text-decoration:none;
    cursor:pointer;white-space:nowrap;flex-shrink:0;
    transition:background .22s;
    -webkit-tap-highlight-color:transparent;
}
.brg-gal-mbtn:hover, .brg-gal-count:hover { background:rgba(0,0,0,.58); color:#fff; }
.brg-gal-count { cursor:zoom-in; }
.brg-gal-mbtn svg { width:11px;height:11px;stroke:currentColor;stroke-width:2;fill:none;flex-shrink:0; }

/* Odometer — the counter number rolls vertically on change */
.brg-odo { display:inline-block;position:relative;overflow:hidden;height:1.2em;line-height:1.2em;vertical-align:bottom; }
.brg-odo > span { display:block;height:1.2em; }
.brg-odo .brg-odo-out { position:absolute;left:0;top:0;width:100%; }
@keyframes brgOdoIn  { from { transform:translateY(100%); }  to { transform:translateY(0); } }
@keyframes brgOdoOut { from { transform:translateY(0); }     to { transform:translateY(-100%); } }
.brg-odo .brg-odo-in  { animation:brgOdoIn  .32s cubic-bezier(.32,.72,0,1) both; }
.brg-odo .brg-odo-out { animation:brgOdoOut .32s cubic-bezier(.32,.72,0,1) both; }

/* ── Small screens: pills collapse to icons, row scrolls under a fade ── */
@media(max-width:600px){
    .brg-gal-media {
        flex-wrap:nowrap;overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent 100%);
        mask-image:linear-gradient(90deg,#000 82%,transparent 100%);
        padding-right:14px;
    }
    .brg-gal-media::-webkit-scrollbar { display:none; }
    /* 3+ pills: drop the labels, keep the icons as tidy circles */
    .brg-gal-media.brg-media-dense .brg-mbtn-txt { display:none; }
    .brg-gal-media.brg-media-dense .brg-gal-mbtn { width:28px;padding:0;justify-content:center;gap:0; }
    .brg-gal-media.brg-media-dense .brg-gal-mbtn svg { width:12px;height:12px; }
}
@media(max-width:400px){
    .brg-gal-bottom { padding:0 10px 10px; }
    .brg-gal-media  { gap:4px; }
}

/* ══════════════════════════════════════════════════════
   SPEC ROW
   ══════════════════════════════════════════════════════ */
.brg-stats{background:#fff;border-bottom:1px solid rgba(29,29,27,.12)}
.brg-stats ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.brg-stats li{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:22px 22px 20px;border-right:1px solid rgba(29,29,27,.08);cursor:default}
.brg-stats li.brg-stat-price{flex:1.6;min-width:160px}
.brg-stats li:last-child{border-right:none}
.brg-stat-lbl{display:block;font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.56rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#6b6b68;margin-bottom:9px;white-space:nowrap}
.brg-stat-v{font-family:var(--sans,'Neue Montreal',sans-serif);font-weight:400;font-size:clamp(.9rem,1.5vw,1.1rem);letter-spacing:.01em;color:#1d1d1b;line-height:1.25;word-break:break-word}
.brg-stat-sfx{font-size:.8em;opacity:.7;margin-left:2px}
.brg-stat-v small{display:block;font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.6rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#9a9a96;margin-top:4px}
@media(max-width:767px){.brg-stats li{flex:0 0 50%;border-bottom:1px solid rgba(29,29,27,.08)}.brg-stats li.brg-stat-price{flex:0 0 100%;border-right:none}.brg-stats li:nth-child(even){border-right:none}.brg-stat-v{font-size:clamp(.9rem,4vw,1.15rem)}}
@media(max-width:400px){.brg-stats li{flex:0 0 100%;border-right:none}}

/* ══════════════════════════════════════════════════════
   DESCRIPTION
   ══════════════════════════════════════════════════════ */
.brg-desc{padding:40px 28px 32px;border-bottom:1px solid rgba(29,29,27,.12);background:#fff}
.brg-desc h2{font-family:var(--serif,'ABC Arizona',Georgia,serif);font-size:clamp(1.45rem,2.8vw,2.1rem);font-weight:300;text-transform:uppercase;color:#1d1d1b;letter-spacing:.01em;line-height:1.08;margin-bottom:22px}
.brg-desc-txt{font-family:var(--sans,'Neue Montreal',sans-serif);font-weight:400;font-size:1rem;color:#3c3c3a;line-height:1.8;letter-spacing:.01em}
.brg-desc-txt p{margin-bottom:1.1em}
.brg-desc-txt p:last-child{margin-bottom:0}
.brg-desc-txt ul,.brg-desc-txt ol{padding-left:1.4em;margin-bottom:1em}
.brg-desc-txt li{margin-bottom:.4em}

/* ══════════════════════════════════════════════════════
   PROPERTY DETAILS
   ══════════════════════════════════════════════════════ */
.brg-details{padding:36px 28px 44px;background:#fff;border-bottom:1px solid rgba(29,29,27,.12)}
.brg-details-ttl{font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold,#B8965A);text-align:left;margin-bottom:6px}
.brg-inf-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;margin-bottom:36px}
.brg-inf-cell{border-top:1px solid rgba(29,29,27,.12);padding:15px 0 17px;display:flex;flex-direction:column;gap:6px}
.brg-inf-lbl{font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.52rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#6b6b68;line-height:1}
.brg-inf-val{font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.88rem;font-weight:400;color:#1d1d1b;line-height:1.3}
.brg-tags-block{display:flex;flex-direction:column;gap:26px}
.brg-tags-ttl{font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.56rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#6b6b68;margin:0 0 12px}
.brg-tags-wrap{display:flex;flex-wrap:wrap;gap:8px}
.brg-tag{display:inline-block;padding:6px 13px;border:1px solid rgba(29,29,27,.16);background:#fff;font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.56rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#1d1d1b;transition:border-color .25s}
.brg-tag:hover{border-color:#1d1d1b}
@media(max-width:767px){.brg-inf-grid{grid-template-columns:repeat(2,1fr);column-gap:18px}.brg-details{padding:28px 18px 36px}}

/* ══════════════════════════════════════════════════════
   CONTACT — dark moment
   ══════════════════════════════════════════════════════ */
.brg-cntct{padding:64px 28px 56px;background:#151515;position:relative;overflow:hidden}
.brg-cntct-inner{max-width:520px;margin:0 auto;text-align:center}
.brg-cntct-eye{font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.56rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-light,#D4B87A);margin-bottom:14px}
.brg-cntct-ttl{font-family:var(--serif,'ABC Arizona',Georgia,serif);font-style:italic;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:300;color:#fff;letter-spacing:-.015em;line-height:1.2;margin:0}
.brg-cntct-line{width:52px;height:1px;background:var(--gold,#B8965A);margin:18px auto 0}
.brg-cntct-sub{font-family:var(--sans,'Neue Montreal',sans-serif);font-weight:400;font-size:.85rem;color:rgba(255,255,255,.58);line-height:1.75;letter-spacing:.01em;margin:22px 0 32px}
.brg-cntct .hs-form input,.brg-cntct .hs-form textarea,.brg-cntct .hs-form select{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-family:var(--sans)!important;border-radius:0!important}
.brg-cntct .hs-form input:focus,.brg-cntct .hs-form textarea:focus,.brg-cntct .hs-form select:focus{border-color:rgba(255,255,255,.5)!important;outline:none!important}
.brg-cntct .hs-form input::placeholder,.brg-cntct .hs-form textarea::placeholder{color:rgba(255,255,255,.3)!important}
.brg-cntct .hs-form label{font-family:var(--sans)!important;font-size:.58rem!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:rgba(255,255,255,.55)!important}
.brg-cntct .hs-form .hs-button{background:#fff!important;border:1px solid #fff!important;color:#1d1d1b!important;font-family:var(--sans)!important;font-size:.62rem!important;font-weight:500!important;padding:17px 36px!important;letter-spacing:.18em!important;text-transform:uppercase!important;border-radius:2px!important;cursor:pointer!important;transform:scale(1)!important;transition:background .7s var(--ease),color .7s var(--ease),transform .7s cubic-bezier(0.34,1.65,0.64,1)!important}
.brg-cntct .hs-form .hs-button:hover{background:rgba(255,255,255,.88)!important;transform:scale(1.03)!important}
@supports not (-webkit-hyphens:none){.brg-cntct .hs-form .hs-button{transition:background .7s var(--ease),color .7s var(--ease),letter-spacing .7s cubic-bezier(0.34,1.45,0.64,1),transform .7s cubic-bezier(0.34,1.65,0.64,1)!important}.brg-cntct .hs-form .hs-button:hover{letter-spacing:.22em!important}}
.brg-cntct .submitted-message{font-family:var(--serif)!important;font-size:1rem!important;color:#fff!important;font-weight:300!important}
#brg-pnl-hs-contact{min-height:48px}

/* ══════════════════════════════════════════════════════
   PDF SECTION
   ══════════════════════════════════════════════════════ */
.brg-pdf{padding:32px 28px 56px;background:#fff;text-align:center}
.brg-pdf-btn{display:inline-block;width:100%;max-width:380px;padding:15px 28px;background:transparent;border:1px solid #1d1d1b;border-radius:2px;color:#1d1d1b;font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transform:scale(1);transition:background .7s var(--ease),color .7s var(--ease),transform .7s cubic-bezier(0.34,1.65,0.64,1);-webkit-tap-highlight-color:transparent}
.brg-pdf-btn:hover{background:#1d1d1b;color:#fff;transform:scale(1.03)}

/* ── Currency tooltip on the price stat (mirrors single-property) ── */
.brg-stats li.brg-stat-price{position:relative}
.brg-stat-price-row{display:flex;align-items:center;gap:10px}
.brg-stat-price .brg-stat-v.has-fx{cursor:help;border-bottom:1px dotted rgba(184,150,90,.55);padding-bottom:2px;display:inline-block}
.brg-fx-tip{position:absolute;left:22px;top:calc(100% - 8px);z-index:40;min-width:168px;padding:14px 18px 13px;
  background:#fff;border:1px solid rgba(29,29,27,.1);border-radius:6px;
  box-shadow:0 18px 44px -18px rgba(15,26,46,.28);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .35s ease,transform .35s ease,visibility 0s .35s;pointer-events:none}
.brg-stat-price:hover .brg-fx-tip,.brg-stat-price.fx-open .brg-fx-tip{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .35s ease,transform .35s ease,visibility 0s 0s}
.brg-fx-eye{display:block;font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.52rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#B8965A);
  margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid rgba(184,150,90,.25);white-space:nowrap}
.brg-fx-row{display:flex;justify-content:space-between;gap:18px;font-family:var(--sans,'Neue Montreal',sans-serif);
  font-size:.78rem;color:#1d1d1b;line-height:1.9;white-space:nowrap}
.brg-fx-row b{font-weight:500}
.brg-fx-cur{font-size:.58rem;font-weight:500;letter-spacing:.14em;color:#9a9a96;text-transform:uppercase;align-self:center}

/* ── Share row (same design language as the article share rail) ── */
.brg-pnl-share{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;
  padding:26px 28px;background:#fff;border-top:1px solid rgba(29,29,27,.08)}
.brg-pnl-share-label{font-family:var(--sans,'Neue Montreal',sans-serif);font-weight:500;
  font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:#9a9a96;margin:0}
.brg-pnl-share-row{display:flex;flex-wrap:wrap;gap:8px}
.brg-pnl-share .brg-share-btn{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(29,29,27,.16);background:#fff;color:#6b6b68;
  cursor:pointer;text-decoration:none;
  transition:border-color .25s,color .25s,transform .25s;
  -webkit-tap-highlight-color:transparent}
.brg-pnl-share .brg-share-btn:hover{border-color:#1d1d1b;color:#1d1d1b;transform:translateY(-1px)}
.brg-pnl-share .brg-share-btn svg{width:14px;height:14px;fill:currentColor}
.brg-pnl-share .brg-share-btn svg.ln{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brg-pnl-share .brg-share-btn.brg-copied{border-color:var(--gold,#B8965A);color:var(--gold,#B8965A)}
.brg-pnl-copy-note{font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.6rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold,#B8965A);opacity:0;transition:opacity .3s}
.brg-pnl-copy-note.on{opacity:1}

/* ── WhatsApp ghost button in the dark contact band ── */
.brg-cntct-wa{display:inline-flex;align-items:center;gap:9px;margin:0 0 26px;padding:13px 26px;
  border:1px solid rgba(184,150,90,.6);border-radius:2px;color:var(--gold-light,#D4B87A);
  font-family:var(--sans,'Neue Montreal',sans-serif);font-size:.6rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  transition:background .4s ease,color .4s ease;-webkit-tap-highlight-color:transparent}
.brg-cntct-wa:hover{background:var(--gold,#B8965A);color:#fff}
.brg-cntct-wa svg{width:14px;height:14px;fill:currentColor}
@supports not (-webkit-hyphens:none){.brg-pdf-btn{transition:background .7s var(--ease),color .7s var(--ease),letter-spacing .7s cubic-bezier(0.34,1.45,0.64,1),transform .7s cubic-bezier(0.34,1.65,0.64,1)}.brg-pdf-btn:hover{letter-spacing:.22em}}
.brg-pdf-form{max-width:380px;margin:18px auto 0;padding:24px 20px 20px;background:#fff;border:1px solid rgba(29,29,27,.16);display:none;text-align:left}
.brg-pdf-form.open{display:block}
.brg-gate-row{display:flex;gap:10px}
.brg-gate input{width:100%;box-sizing:border-box;margin:0 0 10px;padding:11px 12px;border:1px solid rgba(29,29,27,.18);border-radius:0;font-family:var(--sans);font-size:16px;color:#1d1d1b;background:#fff}
.brg-gate input:focus{outline:none;border-color:#1d1d1b}
.brg-gate-submit{width:100%;padding:12px 16px;background:var(--navy,#1B2A4A);border:1px solid var(--navy,#1B2A4A);color:#fff;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border-radius:2px;cursor:pointer}
.brg-gate-submit[disabled]{opacity:.6;cursor:default}
.brg-gate-msg{margin:10px 0 0;font-family:var(--sans);font-size:.64rem;color:#6b6b68;min-height:1em}
.brg-gate-msg a{color:var(--navy,#1B2A4A);text-decoration:underline}

/* ══════════════════════════════════════════════════════
   PANEL LOADER / ERROR — skeleton with shimmer
   ══════════════════════════════════════════════════════ */
.brg-pnl-err {
    padding:60px 28px;text-align:center;
    font-family:var(--sans,'Neue Montreal',sans-serif);
    font-size:.88rem;color:#6b6b68;line-height:1.7;
}
.brg-sk-wrap { width:100%; }
@keyframes brgShimmer { from { background-position:120% 0; } to { background-position:-80% 0; } }
.brg-sk-gal, .brg-sk-stat, .brg-sk-line {
    background:#efedea linear-gradient(100deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 64%);
    background-size:200% 100%;
    background-position:120% 0;
    animation:brgShimmer 1.6s linear infinite;
}
.brg-sk-gal { width:100%;aspect-ratio:16/9; }
.brg-sk-stats { display:flex;gap:24px;padding:28px; }
.brg-sk-stat { display:block;width:64px;height:14px; }
.brg-sk-lines { display:flex;flex-direction:column;gap:12px;padding:0 28px 28px; }
.brg-sk-line { display:block;width:100%;height:12px; }
.brg-sk-line-sm { width:62%; }

/* ══════════════════════════════════════════════════════
   FLOORPLAN LIGHTBOX
   ══════════════════════════════════════════════════════ */
#brg-fp-lb {
    display:none;
    position:fixed;inset:0;z-index:215;
    background:rgba(10,16,28,.96);
    align-items:center;justify-content:center;
    padding:calc(60px + env(safe-area-inset-top, 0px)) 24px calc(24px + env(safe-area-inset-bottom, 0px));
}
#brg-fp-lb.open { display:flex; }
#brg-fp-img {
    max-width:100%;max-height:100%;
    object-fit:contain;
    border-radius:4px;
    box-shadow:0 24px 80px rgba(0,0,0,.5);
}
#brg-fp-close {
    position:absolute;top:calc(16px + env(safe-area-inset-top, 0px));right:16px;
    width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .2s;
}
#brg-fp-close:hover { background:rgba(255,255,255,.24); }
#brg-fp-close svg { width:18px;height:18px;stroke:#fff;stroke-width:2;stroke-linecap:round;fill:none; }

/* ══════════════════════════════════════════════════════
   PHOTO LIGHTBOX — FLIP zoom from the gallery slide
   ══════════════════════════════════════════════════════ */
#brg-lb {
    position:fixed;inset:0;z-index:210;
    background:rgba(8,14,24,.97);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .3s ease;
}
#brg-lb.brg-lb-on { opacity:1;pointer-events:auto; }
#brg-lb-img {
    max-width:96vw;max-height:90vh;width:auto;height:auto;
    object-fit:contain;display:block;user-select:none;
    -webkit-user-drag:none;border-radius:2px;
    transform-origin:top left;
}
#brg-lb-img.brg-flip { transition:transform .5s cubic-bezier(.32,.72,0,1); }
.brg-lb-x {
    position:absolute;top:calc(20px + env(safe-area-inset-top, 0px));right:20px;
    width:40px;height:40px;border-radius:50%;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
    color:#fff;display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .22s;z-index:1;
    -webkit-tap-highlight-color:transparent;
}
.brg-lb-x:hover { background:rgba(255,255,255,.22); }
.brg-lb-x svg   { width:14px;height:14px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill:none; }
.brg-lb-nav {
    position:absolute;top:50%;transform:translateY(-50%);
    width:48px;height:48px;border-radius:50%;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
    color:#fff;display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .22s;
    -webkit-tap-highlight-color:transparent;
}
.brg-lb-nav:hover { background:rgba(255,255,255,.22); }
.brg-lb-nav svg   { width:20px;height:20px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none; }
.brg-lb-p { left:16px; }
.brg-lb-n { right:16px; }
.brg-lb-count {
    position:absolute;bottom:calc(24px + env(safe-area-inset-bottom, 0px));left:0;right:0;text-align:center;
    font-family:var(--sans,'Neue Montreal',sans-serif);
    font-size:.68rem;letter-spacing:.14em;color:rgba(255,255,255,.55);
    pointer-events:none;
}
.brg-lb-nav[disabled] { opacity:.25;pointer-events:none; }
@media(max-width:767px){
    .brg-lb-p { left:8px; }
    .brg-lb-n { right:8px; }
}

/* ══════════════════════════════════════════════════════
   HANDOFF — the clicked card's photo flies into the gallery
   (.brg-ov-morph set by openPanel when a source photo exists).
   The sheet rises a short way and fades instead of sliding the
   full height, so the photo is the thing that travels.
   ══════════════════════════════════════════════════════ */
#brg-panel-overlay.brg-ov-morph #brg-panel {
    transform:translateY(56px);opacity:0;
    transition:transform .84s cubic-bezier(.16,1,.3,1) .1s, opacity .6s ease .1s;
}
#brg-panel-overlay.brg-ov-morph.brg-ov-on #brg-panel { transform:translateY(0);opacity:1; }
#brg-panel-overlay.brg-ov-morph.brg-ov-closing #brg-panel {
    transform:translateY(56px);opacity:0;
    transition:transform .6s cubic-bezier(.4,0,.2,1), opacity .42s ease .08s;
}
/* While the photo is in flight the real gallery waits underneath it */
#brg-panel.brg-morphing .brg-gal,
#brg-panel.brg-morphing .brg-sk-gal { visibility:hidden; }
.brg-sk-gal.brg-sk-hero { animation:none;background:#151515 center/cover no-repeat; }
.brg-flyer {
    position:fixed;z-index:230;margin:0;padding:0;max-width:none;
    object-fit:cover;pointer-events:none;will-change:left,top,width,height;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    #brg-panel, #brg-panel-overlay, .brg-gal-track,
    .brg-cntct-line, #brg-lb, #brg-lb-img,
    .brg-gal-arr, .brg-gal-dot,
    .brg-sk-gal, .brg-sk-stat, .brg-sk-line,
    .brg-gal-slide img, .brg-odo .brg-odo-in, .brg-odo .brg-odo-out {
        transition:none!important; animation:none!important;
    }
}

/* ── Mobile tweaks ── */
@media(max-width:767px){
    #brg-pnl-hdr  { height:56px;padding:0 14px 0 18px; }
    .brg-desc     { padding:28px 18px 22px; }
    .brg-cntct    { padding:44px 18px 40px; }
    .brg-pdf      { padding:24px 18px 44px; }
}





/* ══ BRG DARK THEME — generated, additive; see header.php tokens ══ */

/* ──────────────────────────────────────────────────────────────────────────
   Every rule below is ADDITIVE and scoped to :where(:root[data-theme="dark"]).
   Nothing above this marker was modified, so light mode renders exactly as it
   did before dark mode existed.

   :where() contributes ZERO specificity on purpose. These rules therefore tie
   with the light-mode rules they shadow and win only on source order — which
   means a page template loading after header.php can still override them (that
   is what keeps the photo-hero nav white and transparent).
   ────────────────────────────────────────────────────────────────────────── */
:where(:root[data-theme="dark"]) #brg-panel{background:var(--surface-2)}
:where(:root[data-theme="dark"]) #brg-pnl-hdr{background:var(--surface-2);border-bottom:1px solid rgba(255,255,255,.1)}
:where(:root[data-theme="dark"]) #brg-pnl-title{color:var(--ink)}
:where(:root[data-theme="dark"]) #brg-pnl-ext{color:rgba(242,242,240,.4)}
:where(:root[data-theme="dark"]) #brg-pnl-ext:hover{color:var(--ink)}
:where(:root[data-theme="dark"]) #brg-pnl-close{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-gal{background:var(--surface)}
:where(:root[data-theme="dark"]) .brg-stats{background:var(--surface);border-bottom:1px solid rgba(255,255,255,.12)}
:where(:root[data-theme="dark"]) .brg-stats li{border-right:1px solid rgba(255,255,255,.08)}
:where(:root[data-theme="dark"]) .brg-stat-lbl{color:var(--ink-2)}
:where(:root[data-theme="dark"]) .brg-stat-v{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-stat-v small{color:var(--ink-3)}
:where(:root[data-theme="dark"]) .brg-desc{border-bottom:1px solid rgba(255,255,255,.12);background:var(--surface)}
:where(:root[data-theme="dark"]) .brg-desc h2{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-desc-txt{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-details{background:var(--surface);border-bottom:1px solid rgba(255,255,255,.12)}
:where(:root[data-theme="dark"]) .brg-inf-cell{border-top:1px solid rgba(255,255,255,.12)}
:where(:root[data-theme="dark"]) .brg-inf-lbl{color:var(--ink-2)}
:where(:root[data-theme="dark"]) .brg-inf-val{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-tags-ttl{color:var(--ink-2)}
:where(:root[data-theme="dark"]) .brg-tag{border:1px solid rgba(255,255,255,.16);background:var(--surface);color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-tag:hover{border-color:var(--hair-strong)}
:where(:root[data-theme="dark"]) .brg-cntct .hs-form .hs-button{background:var(--surface-2)!important;color:var(--ink)!important}
:where(:root[data-theme="dark"]) .brg-pdf{background:var(--surface)}
:where(:root[data-theme="dark"]) .brg-pdf-btn{border:1px solid var(--ink);color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-stat-price .brg-stat-v.has-fx{border-bottom:1px dotted rgba(255,255,255,.55)}
:where(:root[data-theme="dark"]) .brg-fx-tip{background:var(--surface-2);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 44px -18px rgba(0,0,0,0.48)}
:where(:root[data-theme="dark"]) .brg-fx-eye{border-bottom:1px solid rgba(255,255,255,.25)}
:where(:root[data-theme="dark"]) .brg-fx-row{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-fx-cur{color:var(--ink-3)}
:where(:root[data-theme="dark"]) .brg-pnl-share{background:var(--surface);border-top:1px solid rgba(255,255,255,.08)}
:where(:root[data-theme="dark"]) .brg-pnl-share-label{color:var(--ink-3)}
:where(:root[data-theme="dark"]) .brg-pnl-share .brg-share-btn{border:1px solid rgba(255,255,255,.16);background:var(--surface-2);color:var(--ink-2)}
:where(:root[data-theme="dark"]) .brg-pnl-share .brg-share-btn:hover{border-color:var(--ink);color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-cntct-wa{border:1px solid rgba(255,255,255,.6)}
:where(:root[data-theme="dark"]) .brg-cntct-wa:hover{color:var(--on-accent)}
:where(:root[data-theme="dark"]) .brg-pdf-form{background:var(--surface-2);border:1px solid rgba(255,255,255,.16)}
:where(:root[data-theme="dark"]) .brg-gate input{border:1px solid rgba(255,255,255,.18);color:var(--ink);background:var(--surface-2)}
:where(:root[data-theme="dark"]) .brg-gate input:focus{border-color:var(--hair-strong)}
:where(:root[data-theme="dark"]) .brg-gate-msg{color:var(--ink-2)}
:where(:root[data-theme="dark"]) .brg-gate-msg a{color:var(--ink)}
:where(:root[data-theme="dark"]) .brg-pnl-err{color:var(--ink-2)}
:where(:root[data-theme="dark"]) .brg-sk-gal,:where(:root[data-theme="dark"]) .brg-sk-stat,:where(:root[data-theme="dark"]) .brg-sk-line{background:var(--surface-1) linear-gradient(100deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 64%)}
:where(:root[data-theme="dark"]) #brg-fp-img{box-shadow:0 24px 80px rgba(0,0,0,0.85)}
@media(max-width:767px){
  :where(:root[data-theme="dark"]) .brg-stats li{border-bottom:1px solid rgba(255,255,255,.08)}
}

/* Loading skeleton: a light shimmer would flare on black. Base drops to the
   raised surface and the sheen falls from .55 to .06 alpha. */
:where(:root[data-theme="dark"]) .brg-sk-gal,
:where(:root[data-theme="dark"]) .brg-sk-stat,
:where(:root[data-theme="dark"]) .brg-sk-line{
  background:#141414 linear-gradient(100deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.06) 50%,rgba(255,255,255,0) 64%);
  background-size:200% 100%}
/* ══ end BRG DARK THEME ══ */
