/* Shared styles for movewithmax.ca sub-pages (search, listing).
   The homepage keeps its own inline copy of the header, buttons and footer. */
:root{
  --navy:#14283D; --ivory:#F6F3ED; --stone:#D8D0C4; --bronze:#A77A45; --grey:#59626E; --sand:#EFEAE2;
  --serif:'DM Serif Display',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--sans);color:var(--navy);background:var(--ivory);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(246,243,237,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--stone)}
.nav{display:flex;align-items:center;gap:30px;height:88px}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;flex:none}
.brand img{height:54px;width:auto}
.brand .bn{display:block;font-family:var(--serif);font-size:1.8rem;letter-spacing:.06em;line-height:1;white-space:nowrap}
.brand .bt{display:block;font-size:.98rem;letter-spacing:.05em;color:var(--bronze);font-weight:500;margin-top:4px}
nav.links{margin-left:auto;display:flex;gap:26px;align-items:center}
nav.links a{text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);transition:color .2s;white-space:nowrap}
nav.links a:hover,nav.links a[aria-current="page"]{color:var(--bronze)}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 30px;border-radius:1px;text-align:center;transition:background .25s,color .25s,border-color .25s;font-family:inherit;cursor:pointer;background:none;border:0}
.btn-gold{background:var(--bronze);color:#fff}
.btn-gold:hover{background:#8f6739}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#0c1a29}
.btn-line{border:1px solid var(--bronze);color:var(--bronze);padding:15px 29px}
.btn-line:hover{background:var(--bronze);color:#fff}
.btn:disabled{opacity:.35;cursor:default;background:none;color:var(--bronze)}
.nav .btn{flex:none;padding:16px 24px;white-space:nowrap}
.menu-btn{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex:none;position:relative}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{position:absolute;left:10px;width:24px;height:1.6px;background:var(--navy);content:"";transition:transform .3s}
.menu-btn span{top:21px}
.menu-btn span::before{left:0;top:-7px}
.menu-btn span::after{left:0;top:7px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}

/* ---------- shared text ---------- */
.kicker{font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);display:block;margin-bottom:12px}

/* ---------- page head ---------- */
.page-head{padding:56px 0 24px}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.1}
.page-head .lead{color:var(--grey);max-width:620px;margin-top:12px;font-size:1.05rem}

/* ---------- search: filter bar ---------- */
.search{padding:6px 0 80px}
.fbar{position:relative;z-index:40;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #E4DDD2;box-shadow:0 6px 22px rgba(20,40,61,.06);padding:12px;border-radius:14px}
.fcity{position:relative;flex:1 1 260px;display:flex;min-width:0}
.fcity input{font:inherit;font-size:.98rem;color:var(--navy);background:var(--ivory);border:1px solid var(--stone);border-radius:24px;height:46px;padding:0 52px 0 18px;width:100%;min-width:0}
.fcity input:focus{outline:2px solid var(--bronze);outline-offset:1px}
.fgo{position:absolute;right:5px;top:5px;width:36px;height:36px;border-radius:50%;border:0;background:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer}
.fgo:hover{background:var(--bronze)}
.fgo svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{position:relative}
.pbtn{font:inherit;font-size:.9rem;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--stone);border-radius:24px;height:46px;padding:0 14px 0 18px;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}
.pbtn:hover{border-color:var(--bronze)}
.pbtn .chev{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.pbtn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.pill.on .pbtn{border-color:var(--navy);background:#EEF1F5;box-shadow:inset 0 0 0 1px var(--navy)}
.chip:focus-visible,.pbtn:focus-visible,.fgo:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.pop{position:absolute;top:calc(100% + 8px);left:0;width:340px;background:#fff;border:1px solid #E4DDD2;border-radius:14px;box-shadow:0 18px 40px rgba(20,40,61,.18);overflow:hidden;z-index:45}
.pop-price{width:390px}
.pill:last-child .pop{left:auto;right:0}
.phead{background:var(--sand);padding:10px 18px;font-size:.8rem;font-weight:700;color:var(--grey)}
.pbody{padding:16px 18px 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:.88rem;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--stone);border-radius:20px;padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.chip:hover{border-color:var(--bronze)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.chips.seg{flex-wrap:nowrap;gap:0;border:1px solid var(--stone);border-radius:10px;overflow:hidden}
.chips.seg .chip{flex:1;border:0;border-left:1px solid var(--stone);border-radius:0;padding:12px 0;text-align:center}
.chips.seg .chip:first-child{border-left:0}
.see{display:block;width:100%;margin-top:16px;border-radius:10px;padding:15px 12px;letter-spacing:.08em}
.hist{display:flex;align-items:flex-end;gap:2px;height:64px;margin:4px 12px 0}
.hist span{flex:1;min-width:2px;background:var(--navy);border-radius:2px 2px 0 0;transition:background .2s}
.hist span.out{background:var(--stone)}
.hist.empty{height:10px}
.range{position:relative;height:28px;margin:0 12px}
.range::before{content:"";position:absolute;left:0;right:0;top:12px;height:4px;background:var(--stone);border-radius:2px}
.range .sel{position:absolute;top:12px;height:4px;left:0;right:0;background:var(--navy);border-radius:2px}
.range input{position:absolute;left:-12px;top:0;width:calc(100% + 24px);height:28px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.range input::-webkit-slider-runnable-track{height:28px;background:transparent}
.range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:24px;height:24px;margin-top:2px;border-radius:50%;background:#fff;border:1px solid var(--stone);box-shadow:0 2px 6px rgba(20,40,61,.25);cursor:pointer}
.range input::-moz-range-track{height:28px;background:transparent}
.range input::-moz-range-thumb{pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--stone);box-shadow:0 2px 6px rgba(20,40,61,.25);cursor:pointer}
.range input:focus{outline:none}
.range input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--bronze);outline-offset:1px}
.range input:focus-visible::-moz-range-thumb{outline:2px solid var(--bronze);outline-offset:1px}
.pop:focus{outline:none}
.rlabels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--grey);margin-top:2px}
.minmax{display:flex;align-items:flex-end;gap:10px;margin-top:14px}
.minmax label{flex:1;display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700}
.minmax input{font:inherit;font-size:.95rem;color:var(--navy);background:#fff;border:1px solid var(--stone);border-radius:10px;height:44px;padding:0 12px;width:100%}
.minmax input:focus{outline:2px solid var(--bronze);outline-offset:1px}
.minmax input.bad{border-color:#B3261E}
.minmax .to{color:var(--grey);padding-bottom:11px;font-size:.85rem}
.quick{margin-top:14px}
.quick .chip{font-size:.8rem;padding:7px 11px}
.fbackdrop{position:fixed;inset:0;z-index:35;background:transparent}
.rbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:26px}
.rcount{font-size:.95rem;color:var(--grey);min-height:1.6em}
.rcount b{color:var(--navy);font-family:var(--serif);font-weight:400;font-size:1.25rem}
.sortsel{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--grey)}
.sortsel select{font:inherit;font-size:.9rem;font-weight:700;color:var(--navy);background:transparent;border:0;padding:6px 2px;cursor:pointer}
.sortsel select:focus-visible{outline:2px solid var(--bronze)}

/* ---------- listing cards ---------- */
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:16px}
.lcard{display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border:1px solid #E4DDD2;box-shadow:0 6px 22px rgba(20,40,61,.07);min-height:200px;overflow:hidden}
.lcard-img{background:linear-gradient(150deg,#1a3149 0%,var(--navy) 60%,#0f1f30 100%);display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden}
.lcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.lcard-img:hover img{transform:scale(1.04)}
.lcard-img svg{width:44px;height:44px;stroke:var(--bronze);fill:none;stroke-width:1.2}
.lcard-body{padding:18px 18px 16px;display:flex;flex-direction:column}
.lcard .price{font-family:var(--serif);font-size:1.4rem;line-height:1.1}
.lcard .addr{font-size:.86rem;margin-top:8px;line-height:1.35}
.lcard .addr a{text-decoration:none}
.lcard .addr a:hover{color:var(--bronze)}
.lcard .loc{font-size:.8rem;color:var(--grey)}
.lcard .facts{font-size:.8rem;color:var(--grey);margin-top:8px}
.lcard .by{font-size:.8rem;color:var(--navy);margin-top:10px;padding-top:10px;border-top:1px solid #EEE8DF}
.lcard .ask{margin-top:auto;padding-top:10px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);text-decoration:none;white-space:nowrap}
.lcard .ask:hover{text-decoration:underline}

/* ---------- states + pager ---------- */
.state{margin-top:24px;padding:44px 24px;text-align:center;background:#fff;border:1px solid #E4DDD2;color:var(--grey)}
.state h2{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:1.6rem;margin-bottom:8px}
.state .btn{margin-top:20px}
.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:36px;font-size:.9rem;color:var(--grey);flex-wrap:wrap}

/* ---------- listing page ---------- */
.lp{padding:28px 0 80px}
.back{display:inline-block;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);text-decoration:none;margin-bottom:18px}
.back:hover{text-decoration:underline}
.gallery{background:#0f1f30}
.gmain{position:relative;aspect-ratio:16/9;max-height:640px;width:100%;background:#0f1f30;overflow:hidden}
.gmain img{width:100%;height:100%;object-fit:contain}
.gmain.noimg{display:flex;align-items:center;justify-content:center;color:var(--stone);font-size:.9rem}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(246,243,237,.5);background:rgba(20,40,61,.6);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gnav:hover{background:var(--bronze)}
.gprev{left:16px}
.gnext{right:16px}
.gcount{position:absolute;right:16px;bottom:14px;background:rgba(20,40,61,.75);color:#fff;font-size:.75rem;padding:4px 10px;letter-spacing:.06em}
.gthumbs{display:flex;gap:8px;overflow-x:auto;padding:10px;background:#0f1f30}
/* Chrome, Edge, Safari: slim bar, see-through track, no arrow buttons.
   Chrome ignores these if scrollbar-color is set, so the standard
   properties are given to Firefox only. */
.gthumbs::-webkit-scrollbar{height:6px}
.gthumbs::-webkit-scrollbar-track{background:transparent}
.gthumbs::-webkit-scrollbar-thumb{background:rgba(216,208,196,.35);border-radius:3px}
.gthumbs::-webkit-scrollbar-button{display:none;width:0;height:0}
@supports (-moz-appearance:none){
  .gthumbs{scrollbar-width:thin;scrollbar-color:rgba(216,208,196,.35) transparent}
}
.gthumbs button{flex:none;width:96px;height:64px;border:2px solid transparent;padding:0;cursor:pointer;background:none;opacity:.65;transition:opacity .2s}
.gthumbs button:hover{opacity:1}
.gthumbs button.on{border-color:var(--bronze);opacity:1}
.gthumbs img{width:100%;height:100%;object-fit:cover}
.lgrid2{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;margin-top:34px;align-items:start}
.lprice{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);line-height:1.1}
.laddr{font-family:var(--sans);font-weight:600;font-size:1.25rem;margin-top:10px;line-height:1.35}
.lcity{color:var(--grey)}
.lkeys{margin-top:14px;font-size:1rem}
.lby{margin-top:14px;padding-top:14px;border-top:1px solid var(--stone);font-size:1rem}
.lh{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin:34px 0 12px}
.lremarks{color:var(--grey);white-space:pre-line}
.lfacts{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;border-top:1px solid var(--stone)}
.lfacts div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #E9E3D9}
.lfacts dt{color:var(--grey);font-size:.9rem}
.lfacts dd{font-weight:600;font-size:.9rem;text-align:right}
.lside{position:sticky;top:110px}
.lcta{background:var(--navy);color:var(--ivory);padding:34px 30px;display:flex;flex-direction:column;gap:12px}
.lcta h2{font-family:var(--serif);font-weight:400;color:#fff;font-size:1.6rem;line-height:1.2}
.lcta p{color:var(--stone);font-size:.95rem;margin-bottom:6px}
.lcta .btn-line{color:#fff}
.maplink{color:var(--stone);font-size:.85rem;margin-top:4px}
.maplink:hover{color:#fff}

/* ---------- search: map ---------- */
.split{display:block}
.map-pane{display:none;position:relative;background:#E9E5DD;border:1px solid #E4DDD2;border-radius:14px;overflow:hidden}
.map{position:absolute;inset:0}
.area-btn{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:5;font:inherit;font-size:.86rem;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--stone);border-radius:22px;padding:10px 18px;box-shadow:0 6px 18px rgba(20,40,61,.22);cursor:pointer;white-space:nowrap}
.area-btn:hover{border-color:var(--bronze)}
.map-note{position:absolute;left:12px;top:12px;z-index:4;max-width:calc(100% - 24px);background:rgba(255,255,255,.96);border:1px solid #E4DDD2;border-radius:10px;padding:6px 10px;font-size:.78rem;line-height:1.4;color:var(--grey)}
.area-btn:not([hidden]) ~ .map-note{top:64px}
.mlayer{position:absolute;left:0;top:0}
.mpin{position:absolute;transform:translate(-50%,calc(-100% - 5px));font:700 12px/1 var(--sans);letter-spacing:-.01em;color:#fff;background:#B8232F;border:1px solid rgba(255,255,255,.9);border-radius:6px;padding:5px 6px;white-space:nowrap;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.mpin::after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border:5px solid transparent;border-bottom:0;border-top-color:#B8232F}
.mpin.seen{background:#8F4A50}
.mpin.seen::after{border-top-color:#8F4A50}
.mpin:hover,.mpin.on{background:var(--navy);transform:translate(-50%,calc(-100% - 5px)) scale(1.12);z-index:3}
.mpin:hover::after,.mpin.on::after{border-top-color:var(--navy)}
.mdot{position:absolute;transform:translate(-50%,-50%);width:10px;height:10px;padding:0;border-radius:50%;background:#B8232F;border:1.5px solid #fff;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.mdot.seen{background:#8F4A50}
.mdot:hover,.mdot.on{background:var(--navy);width:14px;height:14px;z-index:3}
.mpin:focus-visible,.mdot:focus-visible,.area-btn:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.map-card{position:absolute;left:12px;bottom:12px;z-index:6;width:min(390px,calc(100% - 24px));background:#fff;border-radius:14px;box-shadow:0 12px 30px rgba(20,40,61,.28);display:grid;grid-template-columns:118px 1fr;overflow:hidden}
.map-card .mc-img{display:block;background:linear-gradient(150deg,#1a3149,var(--navy));min-height:112px}
.map-card .mc-img img{width:100%;height:100%;object-fit:cover}
.map-card .mc-body{padding:12px 38px 12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.map-card .mc-price{font-family:var(--serif);font-size:1.25rem;line-height:1.15}
.map-card .mc-addr{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-card .mc-facts{font-size:.78rem;color:var(--grey)}
.map-card .mc-links{display:flex;gap:16px;margin-top:6px}
.map-card .mc-links a{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze);text-decoration:none}
.map-card .mc-links a:hover{text-decoration:underline}
.map-card .mc-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(20,40,61,.08);color:var(--navy);font-size:1.15rem;line-height:1;cursor:pointer}
.map-card .mc-list{grid-column:1 / -1;list-style:none;padding:12px 44px 12px 14px;display:flex;flex-direction:column;gap:8px;max-height:230px;overflow:auto}
.map-card .mc-head{font-size:.78rem;font-weight:700;color:var(--grey)}
.map-card .mc-list a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.84rem;color:var(--navy);text-decoration:none}
.map-card .mc-list a:hover b{color:var(--bronze)}
.map-card .mc-list b{font-family:var(--serif);font-weight:400;font-size:1.05rem}
.map-card .mc-list span{color:var(--grey);font-size:.78rem;text-align:right}
.view-toggle{display:none;position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:65;align-items:center;gap:8px;font:inherit;font-size:.9rem;font-weight:700;color:#fff;background:var(--navy);border:0;border-radius:24px;padding:12px 22px;box-shadow:0 10px 26px rgba(20,40,61,.35);cursor:pointer}
.view-toggle svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linejoin:round}
@media (min-width:1100px){
  .split.has-map{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:16px}
  .split.has-map .map-pane{display:block;order:-1;position:sticky;top:104px;height:calc(100vh - 124px);min-height:520px}
  .split.has-map .lgrid{grid-template-columns:1fr;margin-top:0}
}
@media (max-width:1099px){
  .view-toggle.show{display:flex}
  body.map-view{overflow:hidden}
  body.map-view .split.has-map .map-pane{display:block;position:fixed;top:var(--hdr,88px);left:0;right:0;bottom:0;z-index:45;border:0;border-radius:0}
  body.map-view .map-card{bottom:84px}
  body.map-view .wa-float{display:none}
}
@media (max-width:600px){
  :root{--hdr:72px}
}

/* ---------- footer ---------- */
footer{background:#0F1F30;color:var(--stone);padding:46px 0 90px;font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
footer .id{line-height:1.8}
footer .id b{color:#fff}
footer nav{display:flex;gap:22px;flex-wrap:wrap}
footer a{color:var(--stone);text-decoration:none}
footer a:hover{color:#fff}
footer .fine{width:100%;margin-top:18px;padding-top:18px;border-top:1px solid rgba(216,208,196,.2);font-size:.75rem;color:#8894A1}
footer .fine.idx{border-top:0;margin-top:6px;padding-top:0}

/* ---------- floating WhatsApp ---------- */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--navy);border:1px solid var(--bronze);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(20,40,61,.28);transition:background .25s}
.wa-float:hover{background:var(--bronze)}
.wa-float svg{width:28px;height:28px}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .menu-btn{display:block;order:3}
  .nav .btn{margin-left:auto}
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);border-bottom:1px solid var(--stone);flex-direction:column;align-items:flex-start;gap:0;padding:8px 32px 20px;box-shadow:0 12px 24px rgba(20,40,61,.08)}
  nav.links.open{display:flex}
  nav.links a{padding:14px 0;width:100%;border-bottom:1px solid #E9E3D9;font-size:.82rem}
  .lgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .fbar{padding:10px}
  .fcity{flex-basis:100%}
  .pills{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px;scrollbar-width:none}
  .pills::-webkit-scrollbar{display:none}
  .pbtn{height:42px;font-size:.86rem}
  .pop,.pop-price,.pill:last-child .pop{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;max-height:82vh;overflow-y:auto;border-radius:18px 18px 0 0;z-index:60;box-shadow:0 -12px 40px rgba(20,40,61,.25)}
  .fbackdrop{background:rgba(15,31,48,.45);z-index:55}
  body.sheet-open{overflow:hidden}
  body.sheet-open .fbar{z-index:70}
  .lgrid{grid-template-columns:1fr}
  .lgrid2{grid-template-columns:1fr;gap:34px}
  .lside{position:static}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  .nav{height:72px;gap:10px}
  .brand{gap:10px}
  .brand img{height:38px}
  .brand .bn{font-size:1.15rem;letter-spacing:.04em}
  .brand .bt{font-size:.8rem;margin-top:2px}
  .nav .btn{padding:11px 13px;font-size:.66rem;letter-spacing:.1em}
  .nav .btn .full{display:none}
  nav.links{padding:8px 20px 18px}
  .page-head{padding:38px 0 18px}
  .lcard{grid-template-columns:1fr}
  .lcard-img{min-height:0;height:210px}
  .lp{padding-top:20px}
  .gnav{width:40px;height:40px;font-size:1.5rem}
  .gthumbs button{width:76px;height:52px}
  .lfacts{grid-template-columns:1fr}
  .lcta{padding:28px 22px}
  .wa-float{right:16px;bottom:16px;width:52px;height:52px}
}

/* ---------- city picker (citybox.js) ---------- */
.citybox{position:relative}
.cb-toggle{position:absolute;bottom:0;right:0;width:40px;height:46px;border:0;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cb-toggle svg{width:16px;height:16px;stroke:var(--grey);fill:none;stroke-width:2;stroke-linecap:round}
.cb-list{position:absolute;left:0;right:0;top:100%;margin:6px 0 0;padding:6px 0;list-style:none;background:#fff;border:1px solid var(--stone);border-radius:14px;box-shadow:0 12px 30px rgba(20,40,61,.14);max-height:300px;overflow:auto;z-index:90;font-size:.95rem;color:var(--navy);text-align:left}
.cb-list li{padding:9px 18px;cursor:pointer}
.cb-list li:hover,.cb-list li.act{background:var(--sand,#EFEAE2)}
.cb-list li.cur{font-weight:700}
.cb-list li b{display:block;font-weight:600}
.cb-list li small{display:block;font-size:.78rem;color:var(--grey);line-height:1.3}
.cb-list li.cb-head{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);padding:10px 18px 4px;cursor:default;border-top:1px solid #EEE8DF;margin-top:4px}
.cb-list li.cb-credit{font-size:.7rem;color:var(--grey);padding:4px 18px 6px;cursor:default}
.cb-list li.cb-head:hover,.cb-list li.cb-credit:hover{background:none}
.fcity .cb-toggle{right:44px}
.fcity input{padding-right:86px}

/* ---------- saved homes ---------- */
.rtools{display:flex;align-items:center;gap:18px}
.savedbtn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.85rem;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--stone);border-radius:20px;padding:6px 14px;cursor:pointer}
.savedbtn svg{width:16px;height:16px;fill:#E0565B;stroke:#E0565B;stroke-width:2;stroke-linejoin:round}
.savedbtn:hover,.savedbtn[aria-pressed="true"]{border-color:var(--navy)}
.savedbtn:focus-visible,.backlink:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.backlink{font:inherit;font-size:.85rem;font-weight:700;color:var(--bronze);background:none;border:0;cursor:pointer;margin-left:10px;text-decoration:underline}
.gonenote{display:block;font-size:.82rem;margin-top:2px}
body.saved-mode .split.has-map{display:block}
body.saved-mode .map-pane,body.saved-mode .view-toggle{display:none!important}
@media (min-width:1100px){body.saved-mode .split.has-map .lgrid{grid-template-columns:repeat(3,1fr);margin-top:16px}}

/* ---------- city border on the map ---------- */
.bnd-btn{position:absolute;top:14px;right:14px;z-index:5;font:inherit;font-size:.82rem;font-weight:700;color:#2463C7;background:#fff;border:1.5px solid #2463C7;border-radius:8px;padding:8px 12px;box-shadow:0 4px 12px rgba(20,40,61,.18);cursor:pointer;white-space:nowrap}
.bnd-btn:hover{background:#EEF3FC}
.bnd-btn[aria-pressed="false"]{color:var(--navy);border-color:var(--stone)}
.bnd-btn:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.osm-credit{position:absolute;left:74px;bottom:2px;z-index:4;font-size:10px;line-height:14px;color:#444;background:rgba(255,255,255,.75);padding:0 4px;border-radius:2px}
.osm-credit a{color:inherit}
.area-btn:not([hidden]) ~ .bnd-btn{top:62px}
.bnd-btn:not([hidden]) ~ .map-note{max-width:calc(100% - 190px)}

/* ---------- accounts, terms and sold prices ---------- */
.acct{padding:0 0 60px}
.acard{background:#fff;border:1px solid #E4DDD2;box-shadow:0 6px 22px rgba(20,40,61,.07);padding:34px 32px;max-width:560px;margin:0 auto}
.acard h2{font-family:var(--serif);font-weight:400;font-size:1.5rem}
.acard .lead{font-size:.95rem;margin-top:10px}
.atabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid #EEE8DF}
.atab{font:inherit;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);background:none;border:0;border-bottom:2px solid transparent;padding:10px 4px;margin-bottom:-1px;cursor:pointer}
.atab.on{color:var(--navy);border-bottom-color:var(--bronze)}
.aform{display:flex;flex-direction:column;gap:16px}
.aform label{display:flex;flex-direction:column;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.aform input[type=text],.aform input[type=email],.aform input[type=password]{font:inherit;font-size:.98rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--navy);background:var(--ivory);border:1px solid var(--stone);border-radius:2px;height:48px;padding:0 14px}
.aform input:focus{outline:2px solid var(--bronze);outline-offset:1px}
.acheck{display:block!important;position:relative;padding-left:30px;font-size:.82rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--grey)!important;line-height:1.6}
.acheck input{position:absolute;left:0;top:3px;width:18px;height:18px;accent-color:var(--bronze)}
.aform .btn{margin-top:4px}
.alink{font:inherit;font-size:.85rem;color:var(--bronze);background:none;border:0;cursor:pointer;text-decoration:underline;align-self:flex-start;padding:0}
.amsg{font-size:.85rem;color:var(--grey);min-height:1.2em}
.amsg.bad{color:#A5342E}
.arow{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 18px}
.acard .fine{font-size:.8rem;color:var(--grey)}

.legal{padding-top:10px}
.legal .wrap{max-width:820px}
.legal h2{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin-top:36px}
.legal p,.legal li{color:var(--grey);font-size:.96rem;margin-top:12px;line-height:1.7}
.legal ul{margin-left:20px}
.legal a{color:var(--bronze)}

.srow{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ssel{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.ssel select{font:inherit;font-size:.9rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--navy);background:#fff;border:1px solid var(--stone);border-radius:20px;padding:9px 12px;cursor:pointer}
.ssel select:focus-visible{outline:2px solid var(--bronze)}
.sold-card .lcard-img{position:relative;background:linear-gradient(150deg,#1a3149 0%,var(--navy) 60%,#0f1f30 100%);display:flex;align-items:center;justify-content:center}
.sold-card .lcard-img img{width:100%;height:100%;object-fit:cover}
.sold-tag{position:absolute;left:10px;top:10px;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--navy);color:#fff;padding:6px 8px;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.sold-card .vs{font-size:.84rem;color:var(--grey);margin-top:6px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.sold-card .vs b{font-weight:700}
.sold-card .vs .over{color:#2E7D52}
.sold-card .vs .under{color:#A5342E}
.sold-card .addr{margin-top:10px}
.sold-card .addr a{text-decoration:none}
.sold-card .addr a:hover{color:var(--bronze)}
.sold-card .links{margin-top:auto;display:flex;gap:18px;flex-wrap:wrap}
.sold-card .links .ask{margin-top:0}
.lprice .sold-tag{position:static;display:inline-block;vertical-align:middle;margin-right:12px;font-family:var(--sans)}
.lprice .vs{display:block;font-family:var(--sans);font-size:.95rem;color:var(--grey);margin-top:6px}
.lprice .vs b{margin-left:8px}
.lprice .vs .over{color:#2E7D52}
.lprice .vs .under{color:#A5342E}
