/* ---- 00-fonts.css ---- */
@font-face{font-family:"Noto Serif Display";font-style:italic;font-weight:400;font-stretch:87.5%;font-display:swap;src:url(nsd-italic-greek.woff2) format("woff2");unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF}
@font-face{font-family:"Noto Serif Display";font-style:italic;font-weight:400;font-stretch:87.5%;font-display:swap;src:url(nsd-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Noto Serif Display";font-style:normal;font-weight:300 400;font-stretch:87.5%;font-display:swap;src:url(nsd-roman-greek.woff2) format("woff2");unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF}
@font-face{font-family:"Noto Serif Display";font-style:normal;font-weight:300 400;font-stretch:87.5%;font-display:swap;src:url(nsd-roman-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"shxs-serif-fb";src:local("Georgia"),local("Noto Serif"),local("DejaVu Serif");size-adjust:95%;ascent-override:107%;descent-override:29%;line-gap-override:0%}

/* ---- 05-contrast.css ---- */
/* SHXS contrast fixes (25/9/2026) — text that the dark-palette migration left light-on-light.
   Each rule below was confirmed by a screenshot of the live page. Light ground → ink / accent #A8552A;
   dark ground → light text. Specificity beats the Additional CSS !important colour blankets. */

/* /for-sale/ + /el/for-sale/: "FAQ Page" button text was the same colour as the button */
.shxs-on .sh-faq-banner a.sh-faq-btn,
.shxs-on .sh-faq-banner a.sh-faq-btn * { color: #2B3026 !important; }

/* /all-properties/: intro, type list and footnote printed white on the white article */
.shxs-on .page-content-wrap .sh-allprop-intro,
.shxs-on .page-content-wrap .sh-allprop-intro :is(p, li, strong, em, span),
.shxs-on .page-content-wrap .sh-allprop-types,
.shxs-on .page-content-wrap .sh-allprop-types :is(li, strong, em, span),
.shxs-on .page-content-wrap .sh-allprop-foot,
.shxs-on .page-content-wrap .sh-allprop-foot :is(p, strong, em, span) { color: #2C3327 !important; }
.shxs-on .page-content-wrap :is(.sh-allprop-intro, .sh-allprop-types, .sh-allprop-foot) a { color: #A8552A !important; }

/* Houzez page titles on the light ground: active breadcrumb item was #E7E9DF */
.shxs-on .page-title-wrap .breadcrumb .breadcrumb-item.active,
.shxs-on .breadcrumb-wrap .breadcrumb .breadcrumb-item.active { color: #5C6351 !important; }

/* Agent page: profile, stats, bio and contact box printed white on white */
.shxs-on .agent-profile-wrap :is(p, span, strong, li, h1, h2, h3, h4):not(.btn, .btn *, button *, .label),
.shxs-on .agent-profile-content :is(p, span, strong, li):not(.btn, .btn *, button *),
.shxs-on .agent-profile-data :is(span, strong, li):not(.btn, .btn *, button *),
.shxs-on .agent-bio-wrap :is(p, span, strong, li, h2, h3):not(.btn, .btn *, button *),
.shxs-on .agent-contacts-wrap :is(p, span, strong, li, h3):not(.btn, .btn *, button *) { color: #2C3327 !important; }
.shxs-on :is(.agent-profile-wrap, .agent-profile-content, .agent-bio-wrap, .agent-contacts-wrap) a:not(.btn) { color: #A8552A !important; }

/* Houzez blog cards (About page and blog modules): excerpt white on the white card */
.shxs-on .blog-post-item .blog-post-body,
.shxs-on .blog-post-item .blog-post-body * { color: #5C6351 !important; }
.shxs-on .blog-post-item :is(.blog-post-link a, .blog-post-meta a) { color: #A8552A !important; }

/* /contact/ + /el/contact/: address block (text-editor 5336bf5) sits on the light ground */
.shxs-on .elementor-element-5336bf5,
.shxs-on .elementor-element-5336bf5 :is(p, strong, span) { color: #2C3327 !important; }
.shxs-on .elementor-element-5336bf5 a { color: #A8552A !important; }
/* the contact link cards (light #F5F8FB): title in the dark-ground accent, grey sub-line */
.shxs-on .sh-cf-links .sh-cf-link .sh-cf-link-text { color: #2C3327 !important; }
.shxs-on .sh-cf-links .sh-cf-link .sh-cf-link-sub { color: #5C6351 !important; }

/* Houzez sidebars (archives, agent page): widget boxes are white, titles/links were #D9A57E */
.shxs-on .sidebar-wrap .widget .widget-title { color: #2C3327 !important; }
.shxs-on .sidebar-wrap .widget :is(.widget-body, ul, li) > a,
.shxs-on .sidebar-wrap .widget li a { color: #A8552A !important; }
.shxs-on .sidebar-wrap .widget li a:hover { color: #8A4520 !important; }
/* Featured slider arrows: white on white */
.shxs-on .sidebar-wrap .widget .slick-arrow {
	background: #2B3026 !important; color: #fff !important; border-radius: 999px !important; opacity: 1 !important;
}
.shxs-on .sidebar-wrap .widget .slick-arrow::before { color: #fff !important; }

/* Houzez search selects: placeholder #A1A7A8 on white (2.4:1) */
.shxs-on .bootstrap-select .dropdown-toggle.bs-placeholder .filter-option-inner-inner { color: #5C6351 !important; }

/* Houzez page-title band is light: H1 and breadcrumb links were the dark-ground accent #D9A57E */
.shxs-on .page-title-wrap :is(h1, .page-title, .page-title h1) { color: #2C3327 !important; }
.shxs-on .page-title-wrap .breadcrumb a { color: #A8552A !important; }

/* ---- 10-core.css ---- */
/* =====================================================================================
   SHXS core: tokens, type, buttons, icon, card, rail, toast, Houzez host contexts.
   Lifted from design/reference/index.html <style id="shxs-css">. Every selector is scoped under
   .shxs-on (body class from shxs_on()). !important only where Houzez / Additional CSS force colours
   or form styles (spec §1.1: card text colours use ≥ 0,3,0 selectors).
   ===================================================================================== */
.shxs-on{
  --shxs-page:#F2F3EE;--shxs-card:#FFFFFF;--shxs-ink:#2C3327;--shxs-muted:#5C6351;--shxs-line:#DDE0D5;--shxs-chip:#E7E9DF;
  --shxs-accent:#A8552A;--shxs-accent-h:#8A4520;--shxs-accent-t:#F4E7DE;--shxs-sage:#78806A;
  --shxs-d1:#3A4034;--shxs-d2:#32382D;--shxs-d3:#2B3026;--shxs-d4:#1E231A;--shxs-hi:#D9A57E;--shxs-hi-h:#E3B896;--shxs-on-d:#E7E9DF;--shxs-on-d2:#C9CDBF;
  --shxs-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;
  --shxs-serif:"Noto Serif Display","shxs-serif-fb",Georgia,"Noto Serif",serif;
  --shxs-r:20px;--shxs-r-img:14px;--shxs-r-lg:28px;--shxs-pill:999px;
  --shxs-sh1:0 1px 2px rgba(44,51,39,.06),0 4px 14px -6px rgba(44,51,39,.10);
  --shxs-sh2:0 22px 44px -20px rgba(30,36,26,.42),0 2px 6px rgba(44,51,39,.05);
  --shxs-sh3:0 24px 50px -18px rgba(30,35,26,.45);
  --shxs-ease:cubic-bezier(.22,.61,.36,1);--shxs-ease-io:cubic-bezier(.7,0,.2,1);--shxs-ease-out:cubic-bezier(.16,1,.3,1);--shxs-spring:cubic-bezier(.34,1.56,.64,1);
  --shxs-t1:.18s;--shxs-t2:.35s;--shxs-t3:.6s;
  --shxs-wrap:1280px;--shxs-gut:24px;--shxs-pad:max(var(--shxs-gut),calc((100vw - var(--shxs-wrap)) / 2 + var(--shxs-gut)));
  --shxs-bar-h:0px;--shxs-toast-b:24px;
  --shxs-map-tint:grayscale(1) brightness(.73) contrast(2.1) sepia(.5) hue-rotate(38deg) saturate(.4) brightness(.95);
  --shxs-map-night:grayscale(1) sepia(.8) hue-rotate(45deg) saturate(.6) brightness(.9) contrast(1.1);
  overflow-x:clip;
}
@media (max-width:992px){.shxs-on{--shxs-toast-b:96px}} /* clears bottom nav #153 (64 px + 8 px) */
@media (max-width:760px){.shxs-on{--shxs-gut:16px;--shxs-toast-b:148px}} /* phones: above the concierge (50 px at bottom 86–136) */
.shxs-on :where(.shxs-card,.shxs-rail,.shxs-ex,.shxs-pdp,.shxs-app,.shxs-lb,.shxs-bar,.shxs-toast) *{box-sizing:border-box}
.shxs-on .shxs-broken{visibility:hidden}
.shxs-on .shxs-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.shxs-on .shxs-ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.shxs-on .shxs-wrap{max-width:var(--shxs-wrap);margin-inline:auto;padding-inline:var(--shxs-gut)}

/* ---------- shared type ---------- */
.shxs-on .shxs-eyebrow{display:flex;align-items:center;gap:14px;margin:0;font:700 12px/1.3 var(--shxs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--shxs-muted)}
.shxs-on .shxs-eyebrow::before{content:"";width:28px;height:1px;flex:none;background:var(--shxs-accent)}
.shxs-on .shxs-eyebrow--plain::before{display:none}
.shxs-on .shxs-display{margin:0;font:300 clamp(40px,5.2vw,76px)/1.02 var(--shxs-serif);font-stretch:87.5%;letter-spacing:-.015em;color:var(--shxs-ink)}
.shxs-on .shxs-h2{margin:0;font:400 clamp(30px,3vw,40px)/1.08 var(--shxs-serif);font-stretch:87.5%;letter-spacing:-.01em;color:var(--shxs-ink)}
.shxs-on :is(.shxs-display,.shxs-h2,.shxs-pdp__h1,.shxs-rail__title) em{font-style:italic;font-weight:400;color:var(--shxs-accent)}
.shxs-on .shxs-deck{margin:0;max-width:52ch;font:400 17px/1.6 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-num{font-variant-numeric:tabular-nums lining-nums}

/* ---------- buttons ---------- */
.shxs-on .shxs-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border-radius:var(--shxs-pill);border:1px solid var(--shxs-line);background:var(--shxs-card);color:var(--shxs-ink);font:600 15px/1 var(--shxs-sans);letter-spacing:normal;text-transform:none;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--shxs-t1) var(--shxs-ease),border-color var(--shxs-t1) var(--shxs-ease),color var(--shxs-t1),transform var(--shxs-t1) var(--shxs-ease)}
.shxs-on .shxs-btn:hover{border-color:var(--shxs-ink);color:var(--shxs-ink)}
.shxs-on .shxs-btn:active{transform:scale(.97)}
.shxs-on .shxs-btn .shxs-ico{width:19px;height:19px}
.shxs-on .shxs-btn--accent{background:var(--shxs-accent);border-color:var(--shxs-accent);color:#fff;box-shadow:0 12px 24px -14px rgba(168,85,42,.8)}
.shxs-on .shxs-btn--accent:hover{background:var(--shxs-accent-h);border-color:var(--shxs-accent-h);color:#fff}
.shxs-on .shxs-btn--ink{background:var(--shxs-d3);border-color:var(--shxs-d3);color:#F2F3EE}
.shxs-on .shxs-btn--ink:hover{background:var(--shxs-d4);border-color:var(--shxs-d4);color:#F2F3EE}
.shxs-on .shxs-btn--icon{width:50px;padding:0}
.shxs-on .shxs-link{display:inline-flex;align-items:center;gap:8px;padding:4px 0;border:0;background:none;color:var(--shxs-accent);font:600 15px/1.3 var(--shxs-sans);text-decoration:none;cursor:pointer}
.shxs-on .shxs-link:hover{color:var(--shxs-accent-h);text-decoration:underline;text-underline-offset:4px}
.shxs-on .shxs-link .shxs-ico{width:17px;height:17px}
.shxs-on :where(.shxs-card,.shxs-rail,.shxs-ex,.shxs-pdp,.shxs-app,.shxs-lb,.shxs-bar) :focus-visible{outline:2px solid var(--shxs-accent);outline-offset:3px}

/* ======================= CARD ======================= */
.shxs-on .shxs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.shxs-on .shxs-card{position:relative;display:flex;flex-direction:column;min-width:0;margin:0;padding:8px;border:0;border-radius:var(--shxs-r);background:var(--shxs-card);box-shadow:var(--shxs-sh1);color:var(--shxs-ink);font-family:var(--shxs-sans);text-align:left;isolation:isolate;transition:box-shadow var(--shxs-t3) var(--shxs-ease),transform var(--shxs-t3) var(--shxs-ease)}
@media (hover:hover){.shxs-on .shxs-card:hover{box-shadow:var(--shxs-sh2);transform:translateY(-3px)}}
.shxs-on .shxs-card:has(.shxs-card__link:focus-visible){outline:2px solid var(--shxs-accent);outline-offset:4px}
.shxs-on .shxs-card__top{position:relative}
.shxs-on .shxs-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--shxs-r-img);background:var(--shxs-chip);color:inherit;text-decoration:none}
.shxs-on .shxs-card__media::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(30,35,26,.30));pointer-events:none;z-index:1}
.shxs-on .shxs-card__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.shxs-on .shxs-card__track::-webkit-scrollbar{display:none}
.shxs-on .shxs-card__track img{flex:0 0 100%;display:block;width:100%;max-width:none;height:100%;margin:0;border-radius:0;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;background:var(--shxs-chip)}
@media (hover:hover) and (pointer:fine){
  .shxs-on .shxs-card__track{display:grid;overflow:hidden}
  .shxs-on .shxs-card__track img{grid-area:1/1;opacity:0;transition:opacity .42s var(--shxs-ease),transform 1.2s var(--shxs-ease-out)}
  .shxs-on .shxs-card__track img.is-on{opacity:1}
  .shxs-on .shxs-card:hover .shxs-card__track img{transform:scale(1.03)}
}
.shxs-on .shxs-card__empty{position:absolute;inset:0;display:none;place-content:center;justify-items:center;gap:8px;color:var(--shxs-muted);font:600 13px/1.2 var(--shxs-sans)}
.shxs-on .shxs-card__media.is-empty .shxs-card__empty{display:grid}
.shxs-on .shxs-card__media.is-empty::after{display:none}
.shxs-on .shxs-card__empty .shxs-ico{width:30px;height:30px;color:var(--shxs-sage)}
.shxs-on .shxs-card .shxs-card__badge{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--shxs-pill);background:rgba(255,255,255,.95);color:var(--shxs-ink)!important;font:700 12px/1 var(--shxs-sans);letter-spacing:.02em;text-transform:none;pointer-events:none}
.shxs-on .shxs-card .shxs-card__badge--booked{background:var(--shxs-d3);color:#F2F3EE!important}
.shxs-on .shxs-card .shxs-card__badge--reduced{color:var(--shxs-accent)!important}
.shxs-on .shxs-card__badge .shxs-ico{width:14px;height:14px;stroke-width:2.2}
.shxs-on .shxs-card__badge i{width:7px;height:7px;border-radius:50%;background:var(--shxs-accent)}
.shxs-on .shxs-card__dots{position:absolute;left:50%;bottom:12px;z-index:2;display:flex;gap:5px;transform:translateX(-50%);pointer-events:none}
.shxs-on .shxs-card__top:has(.shxs-card__seal) .shxs-card__dots{bottom:26px}
.shxs-on .shxs-card__dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.6);box-shadow:0 0 3px rgba(0,0,0,.3);transition:width var(--shxs-t2) var(--shxs-ease),background var(--shxs-t2)}
.shxs-on .shxs-card__dots i.is-on{width:18px;background:#fff}
.shxs-on .shxs-card .shxs-card__save{position:absolute;top:10px;right:10px;z-index:3;display:grid;place-items:center;width:40px;height:40px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:var(--shxs-ink);box-shadow:0 4px 12px -6px rgba(0,0,0,.45);cursor:pointer;transition:transform var(--shxs-t1) var(--shxs-ease)}
.shxs-on .shxs-card__save:active{transform:scale(.88)}
.shxs-on .shxs-card__save .shxs-ico{width:19px;height:19px}
.shxs-on .shxs-card .shxs-card__save[aria-pressed=true]{color:var(--shxs-accent)}
.shxs-on .shxs-card__save[aria-pressed=true] .shxs-ico{fill:currentColor}
.shxs-on .shxs-card .shxs-card__seal{position:absolute;right:14px;bottom:-15px;z-index:3;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 5px;border:3px solid var(--shxs-card);border-radius:var(--shxs-pill);background:var(--shxs-accent);color:#fff!important;font:700 12px/1 var(--shxs-sans);letter-spacing:.01em;white-space:nowrap;box-shadow:0 4px 10px -4px rgba(138,69,32,.55)}
.shxs-on .shxs-card__seal .shxs-ico{width:18px;height:18px;stroke-width:2}
.shxs-on .shxs-card__body{position:relative;display:flex;flex-direction:column;flex:1;padding:22px 10px 8px}
.shxs-on .shxs-card .shxs-card__eyebrow{margin:0 0 7px;padding:0;font:600 13px/1.3 var(--shxs-sans);letter-spacing:normal;text-transform:none;color:var(--shxs-muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shxs-on .shxs-card .shxs-card__title{margin:0;padding:0;font:400 21px/1.2 var(--shxs-serif);font-stretch:87.5%;letter-spacing:-.005em;text-transform:none;color:var(--shxs-ink)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.shxs-on .shxs-card:lang(el) .shxs-card__title{font-size:20px}
.shxs-on .shxs-card .shxs-card__link{color:inherit!important;font:inherit;text-decoration:none;background:none}
.shxs-on .shxs-card__link::after{content:"";position:absolute;inset:0;z-index:1}
.shxs-on .shxs-card__link:focus-visible{outline:none}
.shxs-on .shxs-card .shxs-card__metrics{display:flex;flex-wrap:wrap;margin:auto 0 0 -21px;padding:14px 0 0;clip-path:inset(0 0 0 21px);list-style:none;font:500 14px/1.45 var(--shxs-sans);color:var(--shxs-muted)!important}
.shxs-on .shxs-card__metrics:empty{padding-top:0}
.shxs-on .shxs-card .shxs-card__metrics li{margin:0;padding:0;list-style:none;white-space:nowrap;color:inherit!important;font:inherit}
.shxs-on .shxs-card__metrics li::marker{content:none}
/* every item carries its "·"; the one that starts a line sits in the clipped 21 px margin, so wrapped lines never start with a dot */
.shxs-on .shxs-card__metrics li::before{content:"·";content:"·" / "";display:inline-block;width:21px;text-align:center;color:var(--shxs-sage)}
.shxs-on .shxs-card__foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--shxs-line)}
.shxs-on .shxs-card .shxs-card__price{font:700 21px/1 var(--shxs-sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;color:var(--shxs-ink)!important}
.shxs-on .shxs-card .shxs-card__price--ask{font-size:16px;font-weight:600;line-height:1.25;white-space:normal}
.shxs-on .shxs-card .shxs-card__code{font:600 12px/1 var(--shxs-sans);letter-spacing:.06em;color:var(--shxs-muted)!important}
.shxs-on .shxs-card.is-booked .shxs-card__track img{filter:saturate(.45)}
.shxs-on .shxs-card.is-booked .shxs-card__price{color:var(--shxs-muted)!important}

/* ---------- Houzez host contexts (child template-parts/listing/item-*.php) ---------- */
/* The host keeps .item-listing-wrap (Bootstrap .row-cols-* column width + gutters) and .hz-map-trigger[data-hz-id]. */
.shxs-on .shxs-host{display:flex;flex-direction:column;min-width:0;height:auto;margin-bottom:0;background:none;border:0;box-shadow:none}
.shxs-on .shxs-host>.shxs-card{flex:1 1 auto}
/* Houzez grids sit on the Houzez row gutter; keep the rhythm close to the spec grid (32 px rows). */
.shxs-on .listing-view.grid-view:has(>.shxs-host){--bs-gutter-y:32px}
/* list contexts (taxonomy archives, agent pages, similar listings): horizontal card when the host is
   at least 600 px wide. A container query, not a viewport one, so a list card in a narrow column
   (sidebar, half-map column, a grid cell) stays vertical. */
.shxs-on .shxs-host--list{container-type:inline-size}
@container (min-width:600px){
  .shxs-on .shxs-host--list .shxs-card{flex-direction:row;align-items:stretch;gap:0}
  .shxs-on .shxs-host--list .shxs-card__top{flex:0 0 min(40%,360px);align-self:flex-start}
  /* text stays together under the seal; the price line sits on the photo's bottom edge */
  .shxs-on .shxs-host--list .shxs-card__body{padding:22px 22px 10px 28px}
  .shxs-on .shxs-host--list .shxs-card .shxs-card__metrics{margin-top:0;margin-bottom:12px}
  .shxs-on .shxs-host--list .shxs-card__foot{margin-top:auto}
  .shxs-on .shxs-host--list .shxs-card .shxs-card__title{font-size:24px;-webkit-line-clamp:3}
  .shxs-on .shxs-host--list .shxs-card:has(.shxs-card__seal) .shxs-card__body{padding-top:62px}
  .shxs-on .shxs-host--list .shxs-card .shxs-card__seal{right:auto;bottom:auto;left:calc(100% + 22px);top:14px}
  .shxs-on .shxs-host--list .shxs-card__top:has(.shxs-card__seal) .shxs-card__dots{bottom:12px}
}
/* /search-results/ half map: the right column is ~780 px, so 2 columns of the standard card */
.shxs-on #half-map-listing-area .shxs-card .shxs-card__title{font-size:20px}
/* its "N Results Found" / "Sort by" header was white on the light column (Additional CSS blanket) */
.shxs-on #half-map-listing-area .page-title-wrap .page-title{color:var(--shxs-ink)!important}
.shxs-on #half-map-listing-area .page-title-wrap .sort-by-title{color:var(--shxs-muted)!important}
/* Sidebar "Featured" slick sliders (Houzez markup, not ours): #171 fade-up never reaches slick clones,
   so they stayed at opacity 0. Show every slide. */
.shxs-on .slick-slide .shx-reveal,.shxs-on .slick-slide.shx-reveal{opacity:1!important;transform:none!important}
.shxs-on .slick-slide .shxs-host{height:100%}
/* slick arrows were the old orange (#FFA500 family): white disc, ink glyph */
.shxs-on .houzez-all-slider-wrap .slick-arrow{background:rgba(255,255,255,.95)!important;border:0!important;border-radius:50%!important;box-shadow:0 4px 12px -6px rgba(0,0,0,.45)}
.shxs-on .houzez-all-slider-wrap .slick-arrow::before{color:var(--shxs-ink)!important;opacity:1}

/* Homepage widget cards (#shxListings / #shxDeals): 30-home.js swaps them for SHXS cards when the feed
   arrives (preloaded). Hold the old design back briefly so it does not flash; it fades in after 2.5 s
   if the feed never comes. */
@keyframes shxs-late{from{opacity:0}to{opacity:1}}
.shxs-on :is(#shxListings,#shxDeals) .shx-lcard{animation:shxs-late .3s 2.5s both}

/* ======================= RAIL ======================= */
.shxs-on .shxs-rail{position:relative}
.shxs-on .shxs-rail__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;
  /* line up with the full-bleed track (padded by --shxs-pad) whatever the parent's padding: 0 inside .shxs-wrap */
  padding-inline:max(0px,calc(var(--shxs-pad) - (100vw - 100%) / 2))}
.shxs-on .shxs-rail__title{margin:14px 0 8px;font:400 clamp(28px,3vw,40px)/1.06 var(--shxs-serif);font-stretch:87.5%;letter-spacing:-.01em;color:var(--shxs-ink)}
.shxs-on .shxs-rail__deck{margin:0;color:var(--shxs-muted);font:400 15.5px/1.5 var(--shxs-sans)}
.shxs-on .shxs-rail__ctl{display:flex;align-items:center;gap:12px;flex:none}
.shxs-on .shxs-rail:not(.is-ready) .shxs-rail__ctl{visibility:hidden}
.shxs-on .shxs-ruler{position:relative;width:160px;height:14px;background:repeating-linear-gradient(90deg,var(--shxs-sage) 0 1px,transparent 1px calc(100% / var(--n,10))) left bottom/100% 7px no-repeat,linear-gradient(var(--shxs-sage),var(--shxs-sage)) left bottom/100% 1px no-repeat;border-right:1px solid var(--shxs-sage)}
.shxs-on .shxs-ruler i{position:absolute;bottom:0;left:0;height:14px;border:1px solid var(--shxs-accent);border-bottom-width:2px;background:rgba(168,85,42,.1);transition:left var(--shxs-t2) var(--shxs-ease),width var(--shxs-t2) var(--shxs-ease)}
.shxs-on .shxs-rail__count{min-width:74px;font:600 13px/1 var(--shxs-sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--shxs-muted);text-align:right}
.shxs-on .shxs-rail__btn{display:grid;place-items:center;width:46px;height:46px;min-height:0;margin:0;padding:0;border:1px solid var(--shxs-line);border-radius:50%;background:var(--shxs-card);color:var(--shxs-ink);cursor:pointer;transition:background var(--shxs-t1),border-color var(--shxs-t1),color var(--shxs-t1),opacity var(--shxs-t1)}
.shxs-on .shxs-rail__btn:hover:not(:disabled){background:var(--shxs-ink);border-color:var(--shxs-ink);color:#fff}
.shxs-on .shxs-rail__btn:disabled{opacity:.35;cursor:default}
.shxs-on .shxs-rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((min(100vw,var(--shxs-wrap)) - 2 * var(--shxs-gut) - 3 * 22px) / 3.3);gap:22px;margin-inline:calc(50% - 50vw);padding:6px var(--shxs-pad) 30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--shxs-pad);scrollbar-width:none;overscroll-behavior-x:contain}
.shxs-on .shxs-rail__track::-webkit-scrollbar{display:none}
.shxs-on .shxs-rail__track>*{scroll-snap-align:start}
.shxs-on .shxs-rail__track:focus-visible{outline-offset:-4px!important}
.shxs-on .shxs-endtile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:100%;padding:28px 26px 24px;border-radius:var(--shxs-r);background:radial-gradient(120% 80% at 100% 0%,rgba(217,165,126,.2),transparent 60%),linear-gradient(160deg,var(--shxs-d1),var(--shxs-d2) 55%,var(--shxs-d3));color:#F2F3EE;text-decoration:none;cursor:pointer;border:0;text-align:left}
.shxs-on .shxs-endtile strong{display:block;font:300 32px/1.08 var(--shxs-serif);font-stretch:87.5%;color:#F2F3EE}
.shxs-on .shxs-endtile strong em{font-style:italic;color:var(--shxs-hi)}
.shxs-on .shxs-endtile span{display:block;margin-top:12px;color:var(--shxs-on-d2);font:400 15px/1.5 var(--shxs-sans)}
.shxs-on .shxs-endtile b{display:flex;align-items:center;gap:12px;height:56px;padding:4px 18px 4px 4px;border-radius:var(--shxs-pill);background:rgba(0,0,0,.25);font:600 14px/1 var(--shxs-sans);color:var(--shxs-on-d)}
.shxs-on .shxs-endtile b i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--shxs-accent);color:#fff}
.shxs-on .shxs-endtile:hover b i{background:var(--shxs-accent-h)}

/* ======================= TOAST (one feedback surface) ======================= */
/* Bottom centre on site pages: clear of the header (not sticky), search fields and the concierge (bottom right). */
.shxs-on .shxs-toast{position:fixed;left:0;right:0;width:max-content;margin-inline:auto;bottom:calc(var(--shxs-toast-b) + env(safe-area-inset-bottom));z-index:100012;max-width:min(520px,calc(100vw - 120px));padding:12px 18px;border-radius:var(--shxs-pill);background:var(--shxs-d4);color:#F2F3EE;font:600 14px/1.3 var(--shxs-sans);text-align:center;box-shadow:0 16px 36px -12px rgba(0,0,0,.5);transform:translateY(10px);opacity:0;pointer-events:none;transition:opacity var(--shxs-t1),transform var(--shxs-t2) var(--shxs-ease-out)}
.shxs-on .shxs-toast.is-on{opacity:1;transform:none}
.shxs-map-open .shxs-on .shxs-toast,.shxs-on.shxs-map-open .shxs-toast{top:var(--shxs-toast-t,92px);bottom:auto}
.shxs-on .shxs-toast b{color:var(--shxs-hi)}

/* ======================= RESPONSIVE ======================= */
@media (max-width:1100px){
  .shxs-on .shxs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shxs-on .shxs-rail__track{grid-auto-columns:calc((100vw - 2 * var(--shxs-gut) - 22px) / 2.25)}
}
@media (max-width:760px){
  .shxs-on .shxs-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .shxs-on .shxs-rail__head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:16px}
  .shxs-on .shxs-rail__title{font-size:28px}
  .shxs-on .shxs-rail__btn{display:none}
  .shxs-on .shxs-ruler{width:120px}
  .shxs-on .shxs-rail__count{text-align:left}
  .shxs-on .shxs-rail__track{grid-auto-columns:84%;gap:14px}
  .shxs-on .shxs-endtile strong{font-size:28px}
  .shxs-on .shxs-toast{max-width:calc(100vw - 32px)}
}
@media (prefers-reduced-motion:reduce){
  /* transition:none, not a tiny duration (spec §1.4). Scoped to SHXS components: the rest of the site
     (Bootstrap, Houzez, snippets) keeps its own reduced-motion handling. */
  .shxs-on :is(.shxs-card,.shxs-rail,.shxs-ex,.shxs-toast,.shxs-pdp,.shxs-app,.shxs-lb,.shxs-bar),
  .shxs-on :is(.shxs-card,.shxs-rail,.shxs-ex,.shxs-toast,.shxs-pdp,.shxs-app,.shxs-lb,.shxs-bar) *,
  .shxs-on :is(.shxs-card,.shxs-rail,.shxs-ex,.shxs-toast,.shxs-pdp,.shxs-app,.shxs-lb,.shxs-bar) *::before,
  .shxs-on :is(.shxs-card,.shxs-rail,.shxs-ex,.shxs-toast,.shxs-pdp,.shxs-app,.shxs-lb,.shxs-bar) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}
  .shxs-on .shxs-card:hover,.shxs-on .shxs-card:hover .shxs-card__track img{transform:none}
}

/* ---- 20-explorer.css ---- */
/* =====================================================================================
   SHXS /for-sale/ explorer: a light sheet (page #F2F3EE) that rises out of the dark page,
   with a serif count, type chips with counts, search, sort, the card grid and "Show more".
   ===================================================================================== */
.shxs-on .shxs-ex{position:relative;margin:8px calc(50% - 50vw + 16px) 0;padding:64px 0 76px;border-radius:var(--shxs-r-lg);background:var(--shxs-page);color:var(--shxs-ink);font-family:var(--shxs-sans);text-align:left;box-shadow:0 30px 60px -40px rgba(0,0,0,.5)}
.shxs-on .shxs-ex__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.shxs-on .shxs-ex .shxs-ex__stat{margin:16px 0 0;font:300 clamp(44px,3.9vw,56px)/1.02 var(--shxs-serif);font-stretch:87.5%;letter-spacing:-.015em;color:var(--shxs-ink)!important}
.shxs-on .shxs-ex__stat b{font-weight:300;font-variant-numeric:lining-nums}
.shxs-on .shxs-ex__stat em{font-style:italic;font-weight:400;color:var(--shxs-accent)}
.shxs-on .shxs-ex .shxs-ex__map{flex:none;color:var(--shxs-accent)!important}

/* toolbar */
.shxs-on .shxs-ex__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:32px 0 36px;padding:18px 0;border-block:1px solid var(--shxs-line)}
.shxs-on .shxs-ex__types{display:flex;flex-wrap:wrap;gap:8px}
.shxs-on .shxs-ex .shxs-chip{display:inline-flex;align-items:center;gap:8px;height:42px;margin:0;padding:0 8px 0 16px;border:1px solid var(--shxs-line);border-radius:var(--shxs-pill);background:var(--shxs-card);color:var(--shxs-ink)!important;font:600 14px/1 var(--shxs-sans);letter-spacing:normal;text-transform:none;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:background var(--shxs-t1),border-color var(--shxs-t1),color var(--shxs-t1)}
.shxs-on .shxs-ex .shxs-chip[hidden]{display:none}
.shxs-on .shxs-ex .shxs-chip span{min-width:28px;padding:5px 8px;border-radius:var(--shxs-pill);background:var(--shxs-chip);color:var(--shxs-muted);font:700 12px/1 var(--shxs-sans);font-variant-numeric:tabular-nums;text-align:center}
.shxs-on .shxs-ex .shxs-chip:hover{border-color:var(--shxs-ink)}
.shxs-on .shxs-ex .shxs-chip.is-on{background:var(--shxs-d3);border-color:var(--shxs-d3);color:#F2F3EE!important}
.shxs-on .shxs-ex .shxs-chip.is-on span{background:rgba(255,255,255,.12);color:var(--shxs-hi)}
.shxs-on .shxs-ex__tools{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.shxs-on .shxs-ex__search{position:relative;display:block;width:320px;margin:0}
.shxs-on .shxs-ex__search .shxs-ico{position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--shxs-muted);pointer-events:none}
.shxs-on .shxs-ex .shxs-ex__q,.shxs-on .shxs-ex .shxs-ex__s{height:46px;margin:0;border:1px solid var(--shxs-line)!important;border-radius:var(--shxs-pill)!important;background-color:var(--shxs-card)!important;color:var(--shxs-ink)!important;font:500 14.5px/1.2 var(--shxs-sans)!important;box-shadow:none!important;outline:0;transition:border-color var(--shxs-t1),box-shadow var(--shxs-t1)}
.shxs-on .shxs-ex .shxs-ex__q{width:100%;padding:0 14px 0 42px!important;-webkit-appearance:none;appearance:none}
.shxs-on .shxs-ex .shxs-ex__q::placeholder{color:var(--shxs-muted);opacity:1}
.shxs-on .shxs-ex .shxs-ex__q::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.shxs-on .shxs-ex .shxs-ex__s{padding:0 42px 0 18px!important;-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C3327' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:16px!important}
.shxs-on .shxs-ex .shxs-ex__s option{color:var(--shxs-ink)}
.shxs-on .shxs-ex .shxs-ex__q:hover,.shxs-on .shxs-ex .shxs-ex__s:hover{border-color:var(--shxs-sage)!important}
.shxs-on .shxs-ex .shxs-ex__q:focus,.shxs-on .shxs-ex .shxs-ex__s:focus{border-color:var(--shxs-accent)!important;box-shadow:0 0 0 3px rgba(168,85,42,.18)!important}

/* grid, empty state, show more */
.shxs-on .shxs-ex__grid{margin:0}
.shxs-on .shxs-ex__none{display:grid;justify-items:center;gap:20px;padding:56px 16px;text-align:center}
.shxs-on .shxs-ex__none[hidden],.shxs-on .shxs-ex__foot[hidden],.shxs-on .shxs-ex .shxs-ex__more[hidden]{display:none}
.shxs-on .shxs-ex .shxs-ex__none p{max-width:34ch;margin:0;font:400 22px/1.35 var(--shxs-serif);font-stretch:87.5%;color:var(--shxs-ink)!important}
.shxs-on .shxs-ex__foot{display:grid;justify-items:center;gap:14px;margin-top:52px}
.shxs-on .shxs-ex .shxs-ex__showing{margin:0;font:600 13px/1 var(--shxs-sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--shxs-muted)!important}
.shxs-on .shxs-ex__prog{position:relative;display:block;width:220px;height:2px;border-radius:2px;background:var(--shxs-line);overflow:hidden}
.shxs-on .shxs-ex__prog i{position:absolute;left:0;top:0;bottom:0;background:var(--shxs-accent);transition:width var(--shxs-t2) var(--shxs-ease)}
.shxs-on .shxs-ex .shxs-ex__more{min-width:220px;margin-top:10px}

@media (max-width:1100px){
  .shxs-on .shxs-ex{margin-inline:calc(50% - 50vw + 10px);padding:52px 0 60px}
  .shxs-on .shxs-ex__tools{flex:1 1 100%}
  .shxs-on .shxs-ex__search{flex:1;width:auto;min-width:0}
}
@media (max-width:760px){
  .shxs-on .shxs-ex{margin-inline:calc(50% - 50vw);padding:36px 0 48px;border-radius:24px}
  .shxs-on .shxs-ex__head{gap:18px}
  .shxs-on .shxs-ex .shxs-ex__stat{margin-top:12px;font-size:40px}
  .shxs-on .shxs-ex__tools{gap:8px;margin:0}
  .shxs-on .shxs-ex .shxs-ex__q,.shxs-on .shxs-ex .shxs-ex__s{height:46px;font-size:16px!important}
  /* phone: sort collapses to a 46 px round control (the native picker still lists the options) */
  .shxs-on .shxs-ex .shxs-ex__s{width:46px;padding:0!important;color:transparent!important;text-indent:-999px;background-position:center!important;background-size:20px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C3327' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M3.5 16.5 7 20l3.5-3.5M17 20V4M13.5 7.5 17 4l3.5 3.5'/%3E%3C/svg%3E")!important}
  .shxs-on .shxs-ex__bar{margin:22px 0 26px;padding:14px 0;gap:12px}
  .shxs-on .shxs-ex__types{gap:6px}
  .shxs-on .shxs-ex .shxs-chip{height:38px;padding:0 6px 0 13px;gap:6px;font-size:13.5px}
  .shxs-on .shxs-ex .shxs-chip span{min-width:24px;padding:4px 6px;font-size:11.5px}
  .shxs-on .shxs-ex__foot{margin-top:36px}
}

/* ---- 40-pdp.css ---- */
/* ======================= PROPERTY PAGE (spec §5) + LIGHTBOX (§5.11) =======================
   Markup: shxs/pdp.php. Tokens, .shxs-btn, .shxs-eyebrow, .shxs-h2, .shxs-link, .shxs-vh, .shxs-ico and
   .shxs-wrap come from 10-core.css. !important appears only where Houzez/Bootstrap/Additional CSS force
   the same property with !important (form controls, .btn.btn-secondary, Bootstrap margin/width utilities). */

.shxs-on.single-property{background:var(--shxs-page)}
.shxs-on.single-property .sh-bottom-nav{display:none!important} /* the PDP bar / aside card replaces nav #153 */
.shxs-on.single-property :is(#sh-eng-panel,.mobile-property-contact){display:none!important} /* #169's panel and Houzez's mobile contact bar (Bootstrap d-block!) duplicate the file, bar and aside */ /* #169's panel would land under the page; the engineer's file replaces it */
.shxs-on .shxs-pdp{position:relative;padding:28px 0 96px;background:var(--shxs-page);color:var(--shxs-ink);font:400 16px/1.6 var(--shxs-sans)}
.shxs-on .shxs-pdp :where(p,ul,ol,dl,dd,figure,h1,h2,h3){margin-top:0}
.shxs-on .shxs-slot{display:none}

/* crumbs + Save/Share */
.shxs-on .shxs-pdp__crumbs{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;font:500 13.5px/1 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-pdp__crumbs ol{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.shxs-on .shxs-pdp__crumbs li+li::before{content:"/";margin-right:10px;color:var(--shxs-sage)}
.shxs-on .shxs-pdp__crumbs a{color:inherit;text-decoration:none}
.shxs-on .shxs-pdp__crumbs a:hover{color:var(--shxs-ink);text-decoration:underline;text-underline-offset:3px}
.shxs-on .shxs-pdp__acts{display:flex;gap:8px}
.shxs-on .shxs-chipbtn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--shxs-line);border-radius:var(--shxs-pill);background:transparent;color:var(--shxs-ink);font:600 13.5px/1 var(--shxs-sans);cursor:pointer;transition:border-color var(--shxs-t1)}
.shxs-on .shxs-chipbtn:hover{border-color:var(--shxs-ink)}
.shxs-on .shxs-chipbtn .shxs-ico{width:17px;height:17px}
.shxs-on .shxs-pdp [aria-pressed=true] .shxs-ico{fill:var(--shxs-accent);color:var(--shxs-accent)}

/* head: identity left, buy block right, level with the title */
.shxs-on .shxs-pdp__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;margin-bottom:26px}
.shxs-on .shxs-pdp__h1{margin:14px 0;max-width:24ch;font:300 clamp(40px,3.7vw,54px)/1.02 var(--shxs-serif);font-stretch:87.5%;letter-spacing:-.015em;color:var(--shxs-ink)}
.shxs-on .shxs-pdp__h1--long{max-width:30ch;font-size:clamp(34px,3vw,44px);line-height:1.06}
.shxs-on .shxs-pdp__h1 em{font-style:italic;font-weight:400;color:var(--shxs-accent)}
.shxs-on .shxs-pdp__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0;font:500 14px/1.3 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-pdp__meta b{font-weight:700;letter-spacing:.04em;color:var(--shxs-ink)}
.shxs-on .shxs-inseal{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 12px 4px 4px;border-radius:var(--shxs-pill);background:var(--shxs-accent-t);color:var(--shxs-accent-h);font:700 13px/1.2 var(--shxs-sans)}
.shxs-on .shxs-inseal .shxs-ico{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--shxs-accent);color:#fff;stroke-width:2.4}
.shxs-on .shxs-pdp__booked{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:var(--shxs-pill);background:var(--shxs-d3);color:#F2F3EE;font:700 13px/1 var(--shxs-sans);letter-spacing:.02em}
.shxs-on .shxs-pdp__booked .shxs-ico{width:15px;height:15px;stroke-width:2.2}
.shxs-on .shxs-pdp__buy{display:grid;justify-items:end;text-align:right}
.shxs-on .shxs-pdp__label{margin:0;font:700 12px/1 var(--shxs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--shxs-muted)}
.shxs-on .shxs-pdp__price{display:block;margin:10px 0 6px;font:400 46px/1 var(--shxs-serif);font-stretch:87.5%;font-variant-numeric:lining-nums;letter-spacing:-.01em;white-space:nowrap;color:var(--shxs-ink)}
.shxs-on .shxs-pdp__price.is-ask{font-size:28px;white-space:normal}
.shxs-on .shxs-pdp.is-booked .shxs-pdp__price{color:var(--shxs-muted)}
.shxs-on .shxs-pdp__sub{margin:0 0 16px;font:500 14px/1.3 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-pdp__bnote{max-width:52ch;margin:14px 0 0;font:500 15px/1.45 var(--shxs-sans);color:var(--shxs-ink)}
.shxs-on .shxs-pdp__cta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}

/* gallery: mosaic on desktop, pager on phones (same DOM) */
.shxs-on .shxs-gal{position:relative;--shxs-gal-h:clamp(400px,calc(100svh - 400px),560px)}
.shxs-on .shxs-gal__grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:var(--shxs-gal-h);border-radius:var(--shxs-r);overflow:hidden}
.shxs-on .shxs-gal__i{position:relative;display:block;min-width:0;overflow:hidden;background:var(--shxs-chip);cursor:zoom-in}
.shxs-on .shxs-gal__grid .shxs-gal__i:first-child{grid-row:1/3}
.shxs-on .shxs-gal__grid .shxs-gal__i:nth-child(n+6){display:none}
.shxs-on .shxs-gal--n4 .shxs-gal__i:nth-child(4){grid-column:2/4}
.shxs-on .shxs-gal--n3 .shxs-gal__grid{grid-template-columns:2fr 1fr}
.shxs-on .shxs-gal--n2 .shxs-gal__grid{grid-template-columns:2fr 1fr}
.shxs-on .shxs-gal--n2 .shxs-gal__i{grid-row:1/3}
.shxs-on .shxs-gal--n1 .shxs-gal__grid{grid-template-columns:1fr}
.shxs-on .shxs-gal__i img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transition:transform 1.2s var(--shxs-ease-out)}
@media (hover:hover){.shxs-on .shxs-gal__i:hover img{transform:scale(1.03)}}
.shxs-on .shxs-gal__i:focus-visible{outline:2px solid var(--shxs-accent);outline-offset:-4px}
/* photos Additional CSS keeps whole (object-fit:contain + a flat #3A4034 behind, !important): JS marks them .is-fit and a
   blur of the same photo fills the bands */
.shxs-on .shxs-gal__i.is-fit::before{content:"";position:absolute;inset:-30px;background:var(--shxs-bg) center/cover no-repeat;filter:blur(24px) brightness(.82)}
.shxs-on .shxs-gal__grid .shxs-gal__i.is-fit img{position:relative;background-color:transparent!important}
.shxs-on .shxs-gal__row{display:flex;align-items:center;gap:12px 24px;margin-top:14px}
.shxs-on .shxs-gal__btns{display:flex;flex:none;gap:8px;margin-left:auto} /* under the mosaic: never over a watermark, never under the concierge */
.shxs-on .shxs-gal__all{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 18px;border:1px solid var(--shxs-line);border-radius:var(--shxs-pill);background:var(--shxs-card);color:var(--shxs-ink);font:600 13.5px/1 var(--shxs-sans);text-decoration:none;cursor:pointer;transition:border-color var(--shxs-t1)}
.shxs-on .shxs-gal__all:hover{border-color:var(--shxs-ink);color:var(--shxs-ink)}
.shxs-on .shxs-gal__all .shxs-ico{width:17px;height:17px}
.shxs-on .shxs-gal__play{width:0;height:0;margin-left:2px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--shxs-accent)}
.shxs-on .shxs-gal__cap{display:flex;align-items:baseline;gap:14px;min-width:0;min-height:25px;margin:0;font:italic 400 17px/1.45 var(--shxs-serif);font-stretch:87.5%;color:var(--shxs-muted)}
.shxs-on .shxs-gal__cap b{flex:none;font:700 11.5px/1 var(--shxs-sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--shxs-accent)}
.shxs-on .shxs-gal__float,.shxs-on .shxs-gal__count,.shxs-on .shxs-pdp__grab{display:none}

/* body: main column + sticky aside */
.shxs-on .shxs-pdp__body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:start;margin-top:56px}
.shxs-on .shxs-pdp__main{min-width:0;container-type:inline-size}
.shxs-on .shxs-pdp .shxs-sec{margin:0 0 80px}
.shxs-on .shxs-pdp .shxs-sec>.shxs-h2{margin:14px 0 26px}

/* key facts: a drawing title block */
.shxs-on .shxs-facts{margin:0 0 72px;border:1px solid var(--shxs-ink);border-radius:var(--shxs-r-img);background:var(--shxs-card);overflow:hidden}
.shxs-on .shxs-facts dl{display:flex;flex-wrap:wrap;margin:0 -1px -1px 0} /* 3 across (2 at ≤1100); the cells of a short last row share its width, so no cell is ever empty */
.shxs-on .shxs-facts dl>div{flex:1 1 30%;box-sizing:border-box;min-width:0;padding:18px 20px;border-right:1px solid var(--shxs-line);border-bottom:1px solid var(--shxs-line)}
.shxs-on .shxs-facts dt{font:700 12px/1.2 var(--shxs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--shxs-muted)}
.shxs-on .shxs-facts dd{margin:10px 0 0;font:400 30px/1 var(--shxs-serif);font-stretch:87.5%;font-variant-numeric:lining-nums;letter-spacing:-.01em;white-space:nowrap;color:var(--shxs-ink)}
.shxs-on .shxs-facts dd.is-text{font-size:21px;line-height:1.2;white-space:normal}
.shxs-on .shxs-facts dd small{margin-left:4px;font:500 14px var(--shxs-sans);letter-spacing:0;color:var(--shxs-muted)}
.shxs-on .shxs-facts dd em{display:block;margin-top:8px;font:500 13px/1.25 var(--shxs-sans);font-style:normal;letter-spacing:0;white-space:normal;color:var(--shxs-muted)}
.shxs-on .shxs-facts__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0;padding:12px 20px;border-top:1px solid var(--shxs-line);background:var(--shxs-page);font:500 13px/1.4 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-facts__foot b{color:var(--shxs-ink);letter-spacing:.04em}

/* story: the_content, first paragraph as the lede, long text collapsed in place (still in the DOM) */
.shxs-on .shxs-story__lede{margin:18px 0 30px;max-width:30ch;font:400 26px/1.36 var(--shxs-serif);font-stretch:87.5%;color:var(--shxs-ink)}
.shxs-on .shxs-story__lede--long{max-width:44ch;font-size:21px;line-height:1.5}
.shxs-on .shxs-story__lede strong{font-weight:400}
.shxs-on .shxs-story__more h2{margin:34px 0 10px;max-width:34ch;font:400 23px/1.25 var(--shxs-serif);font-stretch:87.5%;letter-spacing:0;color:var(--shxs-ink)}
.shxs-on .shxs-story__more h3,.shxs-on .shxs-story__more h4{margin:28px 0 8px;font:700 12px/1.3 var(--shxs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--shxs-muted)}
.shxs-on .shxs-story__more :is(p,ul,ol){max-width:62ch;margin:0 0 14px;font-size:17px;line-height:1.72;color:var(--shxs-ink)}
.shxs-on .shxs-story__more :is(ul,ol){padding-left:1.2em}
.shxs-on .shxs-story__more li{margin:0 0 6px}
.shxs-on .shxs-story__more li::marker{color:var(--shxs-accent)}
.shxs-on .shxs-story__more a{color:var(--shxs-accent);text-underline-offset:3px}
.shxs-on .shxs-story__more img{max-width:100%;height:auto;border-radius:var(--shxs-r-img)}
.shxs-on .shxs-story__more iframe{max-width:100%}
.shxs-on .shxs-story__more>:first-child{margin-top:0}
.shxs-on .shxs-story__more{position:relative}
.shxs-on .shxs-pdp.is-js .shxs-story.is-long:not(.is-open) .shxs-story__more{max-height:210px;overflow:hidden}
.shxs-on .shxs-pdp.is-js .shxs-story.is-long:not(.is-open) .shxs-story__more::after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(rgba(242,243,238,0),var(--shxs-page))}
.shxs-on .shxs-story__btn{display:none;margin-top:14px}
.shxs-on .shxs-pdp.is-js .shxs-story.is-long .shxs-story__btn{display:inline-flex}
.shxs-on .shxs-story.is-open .shxs-story__btn .shxs-ico{transform:rotate(-90deg)}
.shxs-on .shxs-story__disc{max-width:72ch;margin:28px 0 0;padding-top:16px;border-top:1px solid var(--shxs-line);font:400 13.5px/1.6 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-pdp #shbc-host{margin:0 0 80px}

/* areas to scale */
.shxs-on .shxs-plan{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;margin:0 0 80px;padding:30px 32px;border:1px solid var(--shxs-line);border-radius:var(--shxs-r);background:var(--shxs-card)}
.shxs-on .shxs-plan svg{width:300px;height:auto;overflow:visible}
.shxs-on .shxs-plan__plot{fill:var(--shxs-chip);stroke:var(--shxs-ink);stroke-width:1.2}
.shxs-on .shxs-plan__home{fill:var(--shxs-accent)}
.shxs-on .shxs-plan__store{fill:none;stroke:var(--shxs-accent);stroke-width:1.2;stroke-dasharray:3 2}
.shxs-on .shxs-plan__dim{fill:none;stroke:var(--shxs-muted);stroke-width:.9}
.shxs-on .shxs-plan__dot{fill:var(--shxs-ink)}
.shxs-on .shxs-plan__t{font:500 11px var(--shxs-sans);fill:var(--shxs-muted)}
.shxs-on .shxs-plan__k{font:700 11px var(--shxs-sans);fill:var(--shxs-ink)}
.shxs-on .shxs-plan h2.shxs-eyebrow{margin:0}
.shxs-on .shxs-plan__big{margin:10px 0 12px;font:300 64px/1 var(--shxs-serif);font-stretch:87.5%;font-variant-numeric:lining-nums;color:var(--shxs-ink)}
.shxs-on .shxs-plan__big small{margin-left:10px;font:400 19px var(--shxs-serif);font-stretch:87.5%;color:var(--shxs-muted)}
.shxs-on .shxs-plan p{margin:0;max-width:44ch;color:var(--shxs-muted)}
.shxs-on .shxs-plan .shxs-plan__cap{margin-top:14px;font-size:13px}

/* engineer's file: trust content sits on dark sage */
.shxs-on .shxs-eng{position:relative;margin:0 0 80px;padding:44px 44px 34px;border-radius:var(--shxs-r);background:linear-gradient(155deg,var(--shxs-d1) 0%,var(--shxs-d2) 52%,var(--shxs-d3) 100%);color:var(--shxs-on-d);overflow:hidden;isolation:isolate}
.shxs-on .shxs-eng__ctr{position:absolute;inset:0;z-index:-1;width:100%;height:100%;fill:none;stroke:var(--shxs-hi);stroke-width:1;opacity:.12;pointer-events:none}
.shxs-on .shxs-eng__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.shxs-on .shxs-eng .shxs-eyebrow{color:var(--shxs-hi)}
.shxs-on .shxs-eng .shxs-eyebrow::before{background:var(--shxs-hi)}
.shxs-on .shxs-eng h2{margin:14px 0 10px;font:300 38px/1.06 var(--shxs-serif);font-stretch:87.5%;letter-spacing:0;color:#F2F3EE}
.shxs-on .shxs-eng__intro{margin:0;max-width:46ch;font-size:16px;color:var(--shxs-on-d2)}
.shxs-on .shxs-eng__stamp{width:132px;height:132px;color:var(--shxs-hi);transform:rotate(-9deg)}
.shxs-on .shxs-eng__grid{display:grid;grid-template-columns:1fr 1fr;margin:34px 0 0;border-top:1px solid rgba(217,165,126,.35)}
.shxs-on .shxs-eng__grid>div{padding:22px 24px 22px 0;border-bottom:1px solid rgba(221,224,213,.14)}
.shxs-on .shxs-eng__grid>div:nth-child(2n){padding-left:24px;padding-right:0;border-left:1px solid rgba(221,224,213,.14)}
.shxs-on .shxs-eng__grid dt{display:flex;align-items:center;justify-content:space-between;gap:12px;font:700 12px/1.2 var(--shxs-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--shxs-hi)}
.shxs-on .shxs-eng__grid dt .shxs-ico{width:20px;height:20px;stroke-width:1.5}
.shxs-on .shxs-eng__grid dd{margin:12px 0 0;font:400 21px/1.3 var(--shxs-serif);font-stretch:87.5%;color:#F2F3EE}
.shxs-on .shxs-eng__sign{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 32px;margin-top:26px}
.shxs-on .shxs-eng__who{margin:0;font:500 13px/1.5 var(--shxs-sans);letter-spacing:.02em;color:var(--shxs-on-d2)}
.shxs-on .shxs-eng__who b{display:block;margin:4px 0 2px;font:400 24px/1.1 var(--shxs-serif);font-stretch:87.5%;letter-spacing:0;color:#F2F3EE}
.shxs-on .shxs-eng__who span{display:block}
.shxs-on .shxs-eng__acts{display:flex;flex-wrap:wrap;gap:10px 22px}
.shxs-on .shxs-eng .shxs-link{color:var(--shxs-hi)}
.shxs-on .shxs-eng .shxs-link:hover{color:var(--shxs-hi-h)}
.shxs-on .shxs-eng :focus-visible{outline-color:var(--shxs-hi)!important}
.shxs-on .shxs-eng__note{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(221,224,213,.14);font-size:14px;line-height:1.55;color:var(--shxs-on-d2)}

/* features */
.shxs-on .shxs-feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;margin:0;padding:0;list-style:none}
.shxs-on .shxs-feats li{display:flex;align-items:center;gap:14px;margin:0;padding:14px 0;border-bottom:1px solid var(--shxs-line);font:500 16px/1.35 var(--shxs-sans);color:var(--shxs-ink)}
.shxs-on .shxs-feats li::before{content:"";width:7px;height:7px;flex:none;border:1px solid var(--shxs-accent);transform:rotate(45deg)}

/* location: lazy mini map (approximate circle) + distance ruler */
.shxs-on .shxs-loc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:stretch}
.shxs-on .shxs-loc--nomap{grid-template-columns:minmax(0,1fr)}
.shxs-on .shxs-loc__map{position:relative;z-index:0;min-height:360px;border-radius:var(--shxs-r);overflow:hidden;background:#E4E8DC}
.shxs-on .shxs-loc__map.is-off,.shxs-on .shxs-pdp:not(.is-js) .shxs-loc__map{display:none}
.shxs-on .shxs-loc:has(.shxs-loc__map.is-off),.shxs-on .shxs-pdp:not(.is-js) .shxs-loc{grid-template-columns:minmax(0,1fr)}
.shxs-on .shxs-loc__map .leaflet-tile-pane{filter:var(--shxs-map-tint)}
.shxs-on .shxs-loc__map .leaflet-control-attribution{font-size:10px}
.shxs-on .shxs-dist{display:grid;align-content:start;gap:18px;margin:0;padding:24px;list-style:none;border:1px solid var(--shxs-line);border-radius:var(--shxs-r);background:var(--shxs-card)}
.shxs-on .shxs-dist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:0}
.shxs-on .shxs-dist__n{font:600 15px/1.3 var(--shxs-sans);color:var(--shxs-ink)}
.shxs-on .shxs-dist__n small{display:block;margin-top:2px;font:500 12.5px/1.2 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-dist__v{font:400 20px/1.1 var(--shxs-serif);font-stretch:87.5%;font-variant-numeric:lining-nums;white-space:nowrap;color:var(--shxs-ink)}
.shxs-on .shxs-dist__bar{grid-column:1/-1;position:relative;height:9px;border-left:1px solid var(--shxs-ink)}
.shxs-on .shxs-dist__bar::before{content:"";position:absolute;left:0;top:4px;width:100%;height:1px;background:var(--shxs-line)}
.shxs-on .shxs-dist__bar i{position:absolute;left:0;top:2px;height:5px;width:var(--w);border-radius:0 3px 3px 0;background:var(--shxs-accent)}
.shxs-on .shxs-dist__bar.is-far i{width:calc(100% - 16px);background:repeating-linear-gradient(90deg,var(--shxs-accent) 0 10px,transparent 10px 14px)}
.shxs-on .shxs-dist .shxs-dist__scale{display:flex;justify-content:space-between;margin-top:-6px;font:500 11px/1 var(--shxs-sans);font-variant-numeric:tabular-nums;color:var(--shxs-muted)}
.shxs-on .shxs-loc__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;font-size:14px;color:var(--shxs-muted)}

/* video facade + floor plans */
.shxs-on .shxs-video{position:relative;display:block;width:100%;aspect-ratio:16/9;height:auto;border-radius:var(--shxs-r);overflow:hidden;background:var(--shxs-d3)}
.shxs-on a.shxs-video img{display:block;width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity var(--shxs-t2)}
.shxs-on a.shxs-video:hover img{opacity:1}
.shxs-on .shxs-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.shxs-on .shxs-video__play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--shxs-accent);box-shadow:0 0 0 8px rgba(255,255,255,.28),0 16px 30px -12px rgba(0,0,0,.6)}
.shxs-on .shxs-video__play::after{content:"";position:absolute;left:31px;top:25px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #fff}
.shxs-on .shxs-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.shxs-on .shxs-plans figure{margin:0}
.shxs-on .shxs-plans .shxs-gal__i{aspect-ratio:4/3;border:1px solid var(--shxs-line);border-radius:var(--shxs-r-img);background:#fff}
.shxs-on .shxs-plans img{width:100%;height:100%;object-fit:contain}
.shxs-on .shxs-plans figcaption{margin-top:8px;font:500 14px/1.4 var(--shxs-sans);color:var(--shxs-muted)}

/* viewing form: a skin over the Houzez agent form (names, hidden inputs, classes and .form_messages untouched) */
.shxs-on .shxs-pdp .shxs-enq{margin-bottom:0;scroll-margin-top:24px}
.shxs-on .shxs-enq__lead{max-width:56ch;margin:-10px 0 22px;font-size:16px;color:var(--shxs-muted)}
.shxs-on .shxs-enq .property-form-wrap{margin:0;padding:30px;border:1px solid var(--shxs-line);border-radius:var(--shxs-r);background:var(--shxs-card);box-shadow:none}
.shxs-on .shxs-enq .property-form{margin:0;padding:0;border:0;background:none}
.shxs-on .shxs-enq .property-form form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0}
.shxs-on .shxs-enq :is(.agent-details,.hz-btn-call,.hz-btn-whatsapp){display:none} /* the page's own Call/WhatsApp (wa.me, GA4-tracked) cover these */
.shxs-on .shxs-enq .form-group{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0!important;padding:0;border:0}
.shxs-on .shxs-enq :is(.form-group-textarea,.form_messages,.property-schedule-tour-type-form,.shxs-field--full,.form-group:has(.gdpr-text-wrap)){grid-column:1/-1}
.shxs-on .shxs-enq :is(.form-group:has(select[name=user_type]),.shxs-ut){display:none!important}
.shxs-on .shxs-enq :is(.shxs-lbl,.shxs-field>label,legend){display:block;float:none;width:auto;margin:0;padding:0;font:600 13px/1.2 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-enq .shxs-field legend{margin-bottom:10px}
.shxs-on .shxs-enq .form-control{width:100%;height:auto;min-height:50px;padding:13px 16px;border:1px solid var(--shxs-line)!important;border-radius:12px!important;background:var(--shxs-page)!important;color:var(--shxs-ink);font:400 16px/1.4 var(--shxs-sans);box-shadow:none}
.shxs-on .shxs-enq .form-control::placeholder{color:#7A816F}
.shxs-on .shxs-enq .form-control:focus{outline:2px solid var(--shxs-accent)!important;outline-offset:0;border-color:transparent!important;background:#fff!important;box-shadow:none!important}
.shxs-on .shxs-enq textarea.form-control{min-height:112px;resize:vertical}
.shxs-on .shxs-enq .hz-no-gdpr-checkbox{padding:0!important;margin:0!important}
.shxs-on .shxs-enq .gdpr-text-wrap{font:400 13px/1.5 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-enq .gdpr-text-wrap a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.shxs-on .shxs-enq .form_messages{font-size:14.5px;color:var(--shxs-accent-h)}
.shxs-on .shxs-enq .form_messages:empty{display:none}
.shxs-on .shxs-enq .form_messages .alert{margin:0;padding:12px 16px;border-radius:12px}
.shxs-on .shxs-enq .property-schedule-tour-type-form{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start!important;gap:12px 18px;margin:0!important}
.shxs-on .shxs-enq .houzez_agent_property_form{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;flex:none;width:auto!important;min-height:52px;padding:0 26px!important;border:1px solid var(--shxs-accent)!important;border-radius:var(--shxs-pill)!important;background:var(--shxs-accent)!important;color:#fff!important;font:600 15px/1 var(--shxs-sans)!important;box-shadow:0 12px 24px -14px rgba(168,85,42,.8);transition:background var(--shxs-t1)}
.shxs-on .shxs-enq .houzez_agent_property_form:hover{background:var(--shxs-accent-h)!important;border-color:var(--shxs-accent-h)!important}
.shxs-on .shxs-enq .houzez_agent_property_form span{color:#fff!important}
.shxs-on :is(.shxs-pdp,.shxs-bar) button:focus-visible{outline:2px solid var(--shxs-accent)!important;outline-offset:3px} /* theme: button:focus,.btn:focus{outline:none!important} */
.shxs-on .shxs-form__note{margin:14px 0 0;font-size:13.5px;color:var(--shxs-muted)}
.shxs-on .property-schedule-tour-type-form .shxs-form__note{margin:0}
.shxs-on .shxs-tod{display:flex;flex-wrap:wrap;gap:8px}
.shxs-on .shxs-tod label{position:relative;margin:0}
.shxs-on .shxs-tod input{position:absolute;opacity:0;width:1px;height:1px}
.shxs-on .shxs-tod span{display:inline-flex;align-items:center;height:44px;padding:0 18px;border:1px solid var(--shxs-line);border-radius:var(--shxs-pill);background:var(--shxs-card);color:var(--shxs-ink);font:600 14px/1 var(--shxs-sans);cursor:pointer;transition:background var(--shxs-t1),border-color var(--shxs-t1)}
.shxs-on .shxs-tod input:checked+span{background:var(--shxs-ink);border-color:var(--shxs-ink);color:#fff}
.shxs-on .shxs-tod input:focus-visible+span{outline:2px solid var(--shxs-accent);outline-offset:2px}
.shxs-on .shxs-enq fieldset.shxs-field{margin:0;padding:0;border:0;min-width:0}
.shxs-on .shxs-enq__alt{padding:28px;border:1px solid var(--shxs-line);border-radius:var(--shxs-r);background:var(--shxs-card)}
.shxs-on .shxs-enq__alt p{margin:0 0 18px;max-width:52ch}

/* sticky side card */
.shxs-on .shxs-aside{position:sticky;top:24px}
.shxs-on .shxs-side{padding:28px;border-radius:var(--shxs-r);background:var(--shxs-card);box-shadow:var(--shxs-sh2)}
.shxs-on .shxs-side .shxs-pdp__price{margin:10px 0 8px;font-size:40px}
.shxs-on .shxs-side .shxs-pdp__sub{margin-bottom:22px}
.shxs-on .shxs-side__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.shxs-on .shxs-side__btns .shxs-btn{padding:0 12px}
.shxs-on .shxs-side__btns .shxs-btn--accent{grid-column:1/-1}
.shxs-on .shxs-enq__alt .shxs-side__btns{max-width:420px}
.shxs-on .shxs-enq__alt .shxs-side__btns .shxs-btn--accent{grid-column:auto}
.shxs-on .shxs-side__trust{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding-top:20px;border-top:1px solid var(--shxs-line);font-size:14px;line-height:1.5;color:var(--shxs-muted)}
.shxs-on .shxs-side__trust .shxs-ico{width:40px;height:40px;color:var(--shxs-accent);stroke-width:1.3}
.shxs-on .shxs-side__trust b{font-weight:700;color:var(--shxs-ink)}
.shxs-on .shxs-side__quote{margin:14px 4px 0;font:500 13px/1.4 var(--shxs-sans);color:var(--shxs-muted)}
.shxs-on .shxs-pdp__rails{display:grid;grid-template-columns:minmax(0,1fr);gap:88px;margin-top:96px}
.shxs-on .shxs-bar{display:none}

/* ======================= LIGHTBOX (native <dialog>) ======================= */
.shxs-on .shxs-lb{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:linear-gradient(170deg,var(--shxs-d2),var(--shxs-d3) 45%,var(--shxs-d4));color:var(--shxs-on-d);overflow:hidden;font-family:var(--shxs-sans)}
.shxs-on .shxs-lb::backdrop{background:var(--shxs-d4)}
.shxs-on .shxs-lb[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr)}
.shxs-on .shxs-lb *{box-sizing:border-box}
.shxs-on .shxs-lb__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}
.shxs-on .shxs-lb__count{font:600 13px/1 var(--shxs-sans);letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--shxs-on-d)}
.shxs-on .shxs-lb__x{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(231,233,223,.28);border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.shxs-on .shxs-lb__x:hover{background:rgba(255,255,255,.1)}
.shxs-on .shxs-lb :focus-visible,.shxs-on .shxs-lb button:focus-visible{outline:2px solid var(--shxs-hi)!important;outline-offset:3px}
.shxs-on .shxs-lb__track{display:flex;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain;outline:0}
.shxs-on .shxs-lb__track::-webkit-scrollbar{display:none}
.shxs-on .shxs-lb__track figure{flex:0 0 100%;min-width:0;min-height:0;margin:0;padding:0 96px;scroll-snap-align:center;scroll-snap-stop:always}
.shxs-on .shxs-lb__track img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.shxs-on .shxs-lb .shxs-lb__track img{background:transparent!important} /* Additional CSS paints a frame behind SH592 photos (!important) */
.shxs-on .shxs-lb__cap{min-height:28px;margin:14px 0 0;padding:0 24px;text-align:center;font:italic 400 19px/1.4 var(--shxs-serif);font-stretch:87.5%;color:var(--shxs-on-d)}
.shxs-on .shxs-lb__cap b{margin-right:12px;font:700 11.5px/1 var(--shxs-sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--shxs-hi)}
.shxs-on .shxs-lb__plates{display:flex;gap:10px;padding:16px 16px 22px;overflow-x:auto;scrollbar-width:none}
.shxs-on .shxs-lb__plates::-webkit-scrollbar{display:none}
.shxs-on .shxs-lb__plates button{flex:none;display:grid;gap:6px;justify-items:center;padding:0;border:0;background:none;color:var(--shxs-on-d2);font:600 11px/1 var(--shxs-sans);font-variant-numeric:tabular-nums;letter-spacing:.08em;cursor:pointer;opacity:.75;transition:opacity var(--shxs-t1)}
.shxs-on .shxs-lb__plates button:first-child{margin-left:auto}
.shxs-on .shxs-lb__plates button:last-child{margin-right:auto}
.shxs-on .shxs-lb .shxs-lb__plates img{width:64px;height:48px;object-fit:cover!important;background:none!important;border-radius:6px;outline:2px solid transparent;outline-offset:2px} /* Additional CSS forces contain + a frame on SH592 photos (0,2,2 !important); thumbnails stay crops */
.shxs-on .shxs-lb__plates button:hover,.shxs-on .shxs-lb__plates button[aria-current=true]{opacity:1}
.shxs-on .shxs-lb__plates button[aria-current=true]{color:var(--shxs-hi)}
.shxs-on .shxs-lb__plates button[aria-current=true] img{outline-color:var(--shxs-hi)}
.shxs-on .shxs-lb__nav{position:absolute;top:50%;display:grid;place-items:center;width:56px;height:56px;margin-top:-28px;padding:0;border:1px solid rgba(231,233,223,.28);border-radius:50%;background:rgba(43,48,38,.5);color:#fff;cursor:pointer}
.shxs-on .shxs-lb__nav:hover{background:rgba(255,255,255,.12)}
.shxs-on .shxs-lb__nav:disabled{opacity:.3;cursor:default}
.shxs-on .shxs-lb__nav--p{left:24px}
.shxs-on .shxs-lb__nav--n{right:24px}

/* ======================= RESPONSIVE ======================= */
/* The main column, not the viewport, decides: under 600 px (tablet portrait, phones) the two-column blocks stack */
@container (max-width:600px){
  .shxs-on .shxs-eng{padding:32px 26px 26px}
  .shxs-on .shxs-eng__head{grid-template-columns:1fr;gap:16px}
  .shxs-on .shxs-eng__stamp{order:-1;width:96px;height:96px}
  .shxs-on .shxs-eng h2{font-size:30px}
  .shxs-on .shxs-eng__grid{grid-template-columns:1fr}
  .shxs-on .shxs-eng__grid>div,.shxs-on .shxs-eng__grid>div:nth-child(2n){padding:18px 0;border-left:0}
  .shxs-on .shxs-eng__grid dd{font-size:19px}
  .shxs-on .shxs-feats{grid-template-columns:1fr}
  .shxs-on .shxs-loc{grid-template-columns:1fr}
  .shxs-on .shxs-loc__map{min-height:260px}
  .shxs-on .shxs-enq .property-form-wrap{padding:20px}
  .shxs-on .shxs-enq .property-form form{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1100px){
  .shxs-on .shxs-pdp__head{grid-template-columns:minmax(0,1fr);gap:20px}
  .shxs-on .shxs-pdp__buy{justify-items:start;text-align:left}
  .shxs-on .shxs-pdp__cta{justify-content:flex-start}
  .shxs-on .shxs-pdp__body{grid-template-columns:minmax(0,1fr) 320px;gap:44px}
  .shxs-on .shxs-plan{grid-template-columns:1fr}
  .shxs-on .shxs-facts dl>div{flex-basis:40%}
}
/* tablet: the mosaic keeps landscape tiles (hero + two), its height follows the width */
@media (min-width:761px) and (max-width:1100px){
  .shxs-on .shxs-gal{--shxs-gal-h:min(560px,48vw)}
  .shxs-on .shxs-gal__grid{grid-template-columns:2fr 1fr}
  .shxs-on .shxs-gal__grid .shxs-gal__i:nth-child(n+4){display:none}
}
@media (max-width:760px){
  /* phone: photo pager with a content sheet over it */
  .shxs-on .shxs-pdp{padding-top:0}
  .shxs-on .shxs-pdp>.shxs-wrap:not(.shxs-pdp__rails){padding:0}
  .shxs-on .shxs-pdp__crumbs,.shxs-on .shxs-pdp__cta,.shxs-on .shxs-pdp__label,.shxs-on .shxs-gal__row{display:none}
  .shxs-on .shxs-pdp__top{display:flex;flex-direction:column}
  .shxs-on .shxs-gal{order:-1}
  .shxs-on .shxs-gal__grid,.shxs-on .shxs-gal--n1 .shxs-gal__grid,.shxs-on .shxs-gal--n2 .shxs-gal__grid,.shxs-on .shxs-gal--n3 .shxs-gal__grid{display:flex;height:min(54svh,440px);gap:0;border-radius:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .shxs-on .shxs-gal__grid::-webkit-scrollbar{display:none}
  .shxs-on .shxs-gal__grid .shxs-gal__i,.shxs-on .shxs-gal__grid .shxs-gal__i:nth-child(n+6){display:block;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
  .shxs-on .shxs-gal__float{position:absolute;top:12px;left:12px;right:12px;z-index:3;display:flex;justify-content:space-between;pointer-events:none}
  .shxs-on .shxs-gal__float div{display:flex;gap:8px}
  .shxs-on .shxs-gal__float a,.shxs-on .shxs-gal__float button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(30,35,26,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;pointer-events:auto;cursor:pointer}
  .shxs-on .shxs-gal__float [aria-pressed=true] .shxs-ico{fill:#fff;color:#fff}
  .shxs-on .shxs-gal__count{position:absolute;left:50%;top:19px;z-index:3;transform:translateX(-50%);display:block;height:28px;padding:0 12px;border-radius:var(--shxs-pill);background:rgba(30,35,26,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:700 12.5px/28px var(--shxs-sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;pointer-events:none}
  .shxs-on .shxs-pdp__sheet{position:relative;z-index:4;margin-top:-26px;padding:12px var(--shxs-gut) 0;border-radius:26px 26px 0 0;background:var(--shxs-page)}
  .shxs-on .shxs-pdp--nogal .shxs-pdp__sheet{margin-top:0;padding-top:20px}
  .shxs-on .shxs-pdp__grab{display:block;width:40px;height:5px;margin:0 auto 16px;border-radius:3px;background:var(--shxs-line)}
  .shxs-on .shxs-pdp__head{gap:16px;margin-bottom:24px}
  .shxs-on .shxs-pdp__head .shxs-eyebrow::before{display:none}
  .shxs-on .shxs-pdp__h1,.shxs-on .shxs-pdp__h1--long{margin:10px 0 12px;max-width:none;font-size:31px;font-weight:400;line-height:1.08}
  .shxs-on .shxs-pdp__price{margin:0 0 6px;font-size:38px}
  .shxs-on .shxs-pdp__sub{margin:0}
  .shxs-on .shxs-pdp__body{grid-template-columns:minmax(0,1fr);margin-top:8px;padding:0 var(--shxs-gut)}
  .shxs-on .shxs-aside{display:none}
  .shxs-on .shxs-facts{margin-bottom:56px}
  .shxs-on .shxs-facts dl>div{padding:15px 16px}
  .shxs-on .shxs-facts dd{font-size:26px}
  .shxs-on .shxs-facts dd.is-text{font-size:18px}
  .shxs-on .shxs-facts__foot{padding:12px 16px}
  .shxs-on .shxs-pdp .shxs-sec,.shxs-on .shxs-pdp #shbc-host{margin-bottom:60px}
  .shxs-on .shxs-story__lede{font-size:22px}
  .shxs-on .shxs-story__lede--long{font-size:19px}
  .shxs-on .shxs-story__more :is(p,ul,ol){font-size:16.5px}
  .shxs-on .shxs-story__more h2{font-size:21px}
  .shxs-on .shxs-plan{gap:20px;margin-bottom:60px;padding:22px}
  .shxs-on .shxs-plan svg{width:100%;max-width:300px}
  .shxs-on .shxs-plan__big{font-size:52px}
  .shxs-on .shxs-eng{margin-bottom:60px;padding:30px 20px 24px}
  .shxs-on .shxs-pdp__rails{gap:64px;margin-top:72px}
  /* fixed bar replaces nav #153; the concierge and the toast ride above it on --shxs-bar-h */
  .shxs-on .shxs-bar{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom)) 16px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-top:1px solid var(--shxs-line);font-family:var(--shxs-sans);transform:translateY(110%);visibility:hidden;transition:transform .45s var(--shxs-ease-out),visibility 0s linear .45s}
  .shxs-on .shxs-bar.is-on{transform:none;visibility:visible;transition:transform .45s var(--shxs-ease-out),visibility 0s}
  .shxs-on .shxs-bar__p{flex:1 0 auto;line-height:1.1}
  .shxs-on .shxs-bar__p b{display:block;font:700 18px/1.15 var(--shxs-sans);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--shxs-ink)}
  .shxs-on .shxs-bar__p b.is-ask{font-size:13px;white-space:normal}
  .shxs-on .shxs-bar__p span{font:600 11.5px/1 var(--shxs-sans);letter-spacing:.05em;color:var(--shxs-muted)}
  .shxs-on .shxs-bar .shxs-btn{min-height:48px;padding:0 16px;font-size:14.5px}
  .shxs-on .shxs-bar .shxs-btn--icon{flex:none;width:48px;padding:0}
  .shxs-on .shxs-bar .shxs-btn--accent{flex:0 1 auto;min-width:0}
  .shxs-on .shxs-bar__l{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .shxs-on .shxs-bar__s,.shxs-on .shxs-bar.is-tight .shxs-bar__l{display:none}
  .shxs-on .shxs-bar.is-tight .shxs-bar__s{display:inline}
  .shxs-on.single-property .sh-whatsapp-float{display:none!important}
  .shxs-on.single-property #sh-concierge{--shc-bottom-clearance:var(--shxs-bar-h,0px)!important}
  .shxs-on.single-property .back-to-top-wrap{display:none!important} /* the bar stays on screen; a third floating button would stack over the text */
  /* lightbox on phones: swipe only */
  .shxs-on .shxs-lb__track figure{padding:0}
  .shxs-on .shxs-lb__nav,.shxs-on .shxs-lb__plates{display:none}
  .shxs-on .shxs-lb__cap{margin:12px 0 24px;font-size:17px}
}
@media (max-width:400px){
  .shxs-on .shxs-bar{gap:6px;padding-left:12px}
  .shxs-on .shxs-bar__p b{font-size:16px}
  .shxs-on .shxs-bar .shxs-btn{padding:0 12px}
  .shxs-on .shxs-bar .shxs-btn--icon{width:46px}
}
@media (prefers-reduced-motion:reduce){
  .shxs-on .shxs-gal__i img,.shxs-on .shxs-bar,.shxs-on .shxs-tod span{transition:none!important}
  .shxs-on .shxs-gal__i:hover img{transform:none}
}

/* ---- 50-mapembed.css ---- */
/* ======================= MAP EMBEDS (host pages of map v8) =======================
   /map-search/ page layout, and the homepage (#shxStage) + /for-sale/ (#shfs-premium-hero) slide-to-unlock stages.
   The stage widgets are not edited: these rules only fix overlaps. Rules scoped to html.shxs-mapv8 apply only once the
   v8 app has said "ready" (50-mapembed.js), so an older map keeps every host control it needs. */

/* ---------- /map-search/: the map sits exactly between the header and the bottom of the viewport ---------- */
body.shxs-on .sh-map-hero{height:calc(100vh - var(--shxs-map-top,70px));height:calc(100dvh - var(--shxs-map-top,70px));min-height:480px;background:#DCE1D3}
@media (max-width:991.98px){body.shxs-on .sh-map-hero{height:calc(100vh - var(--shxs-map-top,60px));height:calc(100dvh - var(--shxs-map-top,60px))}}
/* a phone held sideways: the map still ends at the bottom of the screen (the app switches to its phone layout there) */
@media (max-height:500px) and (max-width:1100px){body.shxs-on .sh-map-hero{min-height:0}}
/* the Elementor column gap put a 10px band of page colour between the header and the map */
body.shxs-on .elementor-element-4b6f78c5>.elementor-container>.elementor-column>.elementor-widget-wrap,
body.shxs-on .elementor-element-dd2a7db>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0}
/* the app has its own list sheet and card strip: the site bottom nav (#153) would cover them */
body.shxs-on.page-id-57019 .sh-bottom-nav,body.shxs-on.page-id-58555 .sh-bottom-nav,html.shxs-mapsearch body.shxs-on .sh-bottom-nav{display:none!important}
/* Concierge rides clear of the map's locate button (desktop). On phones there is no free spot over the sheet, strip and
   clusters, and every strip card already has its own WhatsApp button, so it steps aside on this page. */
body.shxs-on.page-id-57019 #sh-concierge,body.shxs-on.page-id-58555 #sh-concierge,html.shxs-mapsearch body.shxs-on #sh-concierge{bottom:84px!important}
@media (max-width:760px),(max-height:500px) and (max-width:1100px){
  body.shxs-on.page-id-57019 #sh-concierge,body.shxs-on.page-id-58555 #sh-concierge,html.shxs-mapsearch body.shxs-on #sh-concierge{display:none!important}
}

/* ---------- homepage stage: the open map must cover the site header (the stage isolates its children) ---------- */
html.shx-locked body.shxs-on #shxStage{isolation:auto}
/* /el/for-sale/: the EL copy of the SHFS widget lost its open-state stacking rules, so the open map sat under the header
   and the page below it. Same rules as the EN widget. */
body.shxs-on #shfs-premium-hero.is-map-open{overflow:visible!important;z-index:100001}
body.shxs-on #shfs-premium-hero.is-map-open .shfs__shell{z-index:auto}
/* older map (no v8 handshake): keep the slide-back control above the map on desktop as well */
html.shx-locked:not(.shxs-mapv8) body.shxs-on #shxStage.shx-on .shx-stage-ui{z-index:99999}
/* the Concierge bubble never floats over an open map */
html.shx-locked body.shxs-on #sh-concierge,html.shfs-map-locked body.shxs-on #sh-concierge{visibility:hidden}
/* v8 is in charge while open: its own close control (the knob docks into it), search, list and layers.
   The stage tools, the slide-back slider, the extra × and the /for-sale/ bottom gradient would sit on top of them. */
html.shxs-mapv8.shx-locked body.shxs-on #shxStage .shx-stage-ui,
html.shxs-mapv8.shx-locked body.shxs-on .shx-map-close,
html.shxs-mapv8 body.shxs-on #shfs-premium-hero .shfs__map-tools,
html.shxs-mapv8 body.shxs-on #shfs-premium-hero .shfs__map-close,
html.shxs-mapv8.shfs-map-locked body.shxs-on #shfs-premium-hero .shfs__map-reveal{display:none!important}
/* v8 paints its own map behind the stage, so the host's "Loading the map…" screen is not needed once it is ready */
html.shxs-mapv8 body.shxs-on #shxStage .shx-stage-ph,
html.shxs-mapv8 body.shxs-on #shfs-premium-hero .shfs__map-loading{display:none}
body.shxs-on #shxStage .shx-stage-map,body.shxs-on #shfs-premium-hero .shfs__map-layer{background:#DCE1D3}
/* v8 is loading (html.shxs-mapv8w, set from the iframe's src) but not ready yet, e.g. a slide as the very first gesture on a
   slow line: the host's dark loading screen becomes the v8 sage ground with a skeleton price pin, and its old map chips and
   slide-back bar stay hidden, so the old look never shows. The host's own × close stays until v8 takes over. */
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shxStage .shx-stage-ph,
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shfs-premium-hero .shfs__map-loading{background:#DCE1D3!important;color:#5C6351!important;font:600 12.5px/1.4 "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;letter-spacing:.02em!important;text-transform:none!important;text-shadow:none!important}
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shxStage .shx-stage-ph>.shx-stage-spin,
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shfs-premium-hero .shfs__map-loading>i{display:none!important}
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shxStage .shx-stage-ph::before,
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shfs-premium-hero .shfs__map-loading::before{content:"";width:84px;height:30px;border-radius:999px;background:linear-gradient(100deg,#fff 30%,#ECEEE6 50%,#fff 70%) 0 0/300% 100%;box-shadow:0 3px 10px -2px rgba(30,35,26,.35),0 0 0 1px rgba(44,51,39,.08);animation:shxs-mapsk 1.4s linear infinite}
@keyframes shxs-mapsk{from{background-position:100% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){html.shxs-mapv8w body.shxs-on #shxStage .shx-stage-ph::before,html.shxs-mapv8w body.shxs-on #shfs-premium-hero .shfs__map-loading::before{animation:none}}
html.shxs-mapv8w.shx-locked:not(.shxs-mapv8) body.shxs-on #shxStage .shx-stage-ui,
html.shxs-mapv8w.shx-locked:not(.shxs-mapv8) body.shxs-on #shxStage .shx-stage-tools,
html.shxs-mapv8w:not(.shxs-mapv8) body.shxs-on #shfs-premium-hero .shfs__map-tools,
html.shxs-mapv8w.shfs-map-locked:not(.shxs-mapv8) body.shxs-on #shfs-premium-hero .shfs__map-reveal{display:none!important}

/* homepage phone: the slider label sat on top of "Talk to an Engineer". It now reads inside the track, like the
   iPhone lock screen, and the nudging chevrons give it the room. */
@media (max-width:992px){
  body.shxs-on #shxStage .shx-swipe{position:relative}
  html body.shxs-on #shxStage .shx-swipe .shx-swipe-lbl{position:absolute;z-index:2;left:66px;right:14px;bottom:0;display:flex!important;align-items:center;justify-content:center;height:56px;margin:0;font-size:9.5px;letter-spacing:.12em;line-height:1.35;text-align:center;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.35)}
  body.shxs-on #shxStage .shx-swipe-icons{display:none!important}
}

/* the knob that flies from the host slider into the map's close control (50-mapembed.js) */
body.shxs-on .shxs-ghost{position:fixed;left:0;top:0;z-index:100010;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#C06A3A,#A8552A 62%,#8A4520);color:#fff;box-shadow:0 10px 22px -8px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.25);pointer-events:none;will-change:transform}
body.shxs-on .shxs-ghost svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

