/* =============================================================================
   UI 2026.3, the designed layer (2026-09-22)
   Loaded after brand-2026-2.css on the generated pages. Everything here is the
   homepage and the shared card, section and motion language it introduced:
   editorial type, full-bleed bands, gold review stars, and entrance motion that
   respects prefers-reduced-motion.
   ============================================================================= */

:root{
  --gold:#C9A227; --gold-soft:#E7C65A;
  --ink-soft:rgba(43,26,58,.62);
  --edge:rgba(43,26,58,.10);
  --plum-900:#33204A; --plum-800:#3A2554;
  --r-lg:26px; --r-md:20px; --r-sm:14px;
  --sec:clamp(64px,7vw,116px);
}

/* ---------- shared section rhythm ---------- */
.u-sec{padding:var(--sec) 0}
.u-wrap{width:min(1240px,100% - 2*var(--gutter));margin-inline:auto}
.u-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 14px;font:600 12px/1 var(--font-body);
  letter-spacing:.18em;text-transform:uppercase;color:var(--primary)}
.u-eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.5}
.u-h2{font-family:var(--font-body);font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.08;
  letter-spacing:-.02em;margin:0 0 16px;color:var(--ink)}
.u-lead{font-size:clamp(16.5px,1.35vw,19px);line-height:1.6;color:var(--ink-2);margin:0 0 22px;max-width:56ch}
.u-more{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--primary);text-decoration:none}
.u-more svg{transition:transform .25s cubic-bezier(.2,.7,.3,1)}
.u-more:hover svg{transform:translateX(5px)}

/* ---------- entrance motion ---------- */
/* visible by default: the script hides them only when it is there to bring them back, so a
   blocked script or a browser without IntersectionObserver never leaves the page empty */
html.js-anim .u-in{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
html.js-anim .u-in.is-on{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.u-in{opacity:1;transform:none;transition:none}}

/* =========================== HERO =========================== */
.uh{position:relative;isolation:isolate;min-height:min(92vh,880px);display:flex;align-items:center;
  padding:calc(var(--sec)*.8) 0 calc(var(--sec)*.6);background:var(--plum-900);overflow:hidden}
.uh-media{position:absolute;inset:0;z-index:-2}
.uh-media video{width:100%;height:100%;object-fit:cover;opacity:.5}
.uh-grad{position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 90% at 8% 10%,rgba(126,58,140,.55),transparent 60%),
             linear-gradient(105deg,rgba(26,14,36,.96) 0%,rgba(36,20,48,.86) 42%,rgba(36,20,48,.55) 100%)}
.uh-in{position:relative;padding-right:0;width:min(1240px,100% - 2*var(--gutter));margin-inline:auto}
.uh-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#D9C7E6;font:600 12px/1 var(--font-body);
  letter-spacing:.2em;text-transform:uppercase}
.uh-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--gold-soft);display:block}
.uh-in{--uf-w:0}
@media (min-width:1181px){.uh-in{padding-right:390px}}
.uh h1{font-family:var(--font-display);font-weight:500;color:#fff;letter-spacing:.004em;text-transform:none;
  font-size:clamp(32px,4.6vw,60px);line-height:1.1;margin:0 0 20px;max-width:20ch}
.uh .uh-lead{color:#EFE6F5;font-size:clamp(18px,1.9vw,25px);line-height:1.45;font-weight:300;margin:0 0 30px;max-width:40ch}
.uh-lead b{font-weight:500;color:#fff}

/* search field, types straight into the page */
.us{position:relative;max-width:640px;z-index:5}
.us-box{display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:7px 8px 7px 22px;
  box-shadow:0 22px 60px rgba(10,4,18,.42);transition:box-shadow .25s}
.us-box:focus-within{box-shadow:0 22px 60px rgba(10,4,18,.5),0 0 0 3px rgba(201,162,39,.55)}
.us-box svg{flex:none;color:var(--primary)}
.us-box input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 16.5px var(--font-body);color:var(--ink);padding:12px 0}
.us-box input::placeholder{color:#8b7f93}
.us-go{flex:none;border:0;border-radius:999px;background:var(--primary);color:#fff;font:600 15px var(--font-body);
  padding:13px 24px;cursor:pointer;transition:transform .2s,background .2s}
.us-go:hover{transform:translateY(-1px);background:var(--pwc-byzantium,#5B2C6F)}
.us-out{position:absolute;left:0;right:0;top:calc(100% + 10px);background:#fff;border-radius:var(--r-md);
  box-shadow:0 26px 70px rgba(10,4,18,.4);overflow:hidden;display:none;max-height:min(58vh,440px);overflow-y:auto}
.us-out.on{display:block}
.us-out a{display:block;padding:13px 20px;text-decoration:none;border-bottom:1px solid var(--edge)}
.us-out a:last-child{border-bottom:0}
.us-out a:hover,.us-out a.sel{background:var(--pwc-amethyst-50)}
.us-out strong{display:block;font-size:15.5px;color:var(--ink);font-weight:600}
.us-out span{display:block;font-size:13px;color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.us-none{padding:16px 20px;color:var(--ink-2);font-size:14.5px;margin:0}

/* quick buttons */
.uh-quick{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}
.uh-quick a{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 20px;text-decoration:none;
  font:500 15px var(--font-body);color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(6px);transition:background .2s,transform .2s,border-color .2s}
.uh-quick a:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);border-color:rgba(255,255,255,.4)}
.uh-quick a.gold{background:var(--gold);border-color:var(--gold);color:#231404;font-weight:600}
.uh-quick a.gold:hover{background:var(--gold-soft);border-color:var(--gold-soft)}

/* rating + scroll cue */
.uh-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:44px;flex-wrap:wrap}
.uh-rating{display:inline-flex;align-items:center;gap:13px;color:#fff;text-decoration:none}
.uh-rating .n{font:600 26px/1 var(--font-body)}
.uh-rating .st{color:var(--gold-soft);font-size:17px;letter-spacing:2px}
.uh-rating span{font-size:13.5px;color:#D9C7E6;display:block;margin-top:3px}
.uh-cue{display:inline-flex;align-items:center;gap:10px;color:#C5B2D4;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.uh-cue i{width:1px;height:34px;background:linear-gradient(#C5B2D4,transparent);display:block;animation:uCue 2.2s ease-in-out infinite}
@keyframes uCue{0%,100%{opacity:.25;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}
@media (prefers-reduced-motion: reduce){.uh-cue i{animation:none}}

/* =========================== MEET =========================== */
.um{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,72px);align-items:center}
.um-fig{position:relative;margin:0}
.um-fig img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 8%;border-radius:var(--r-lg);display:block}
.um-fig::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--pwc-amethyst-300);
  border-radius:var(--r-lg);z-index:-1}
.um-sig{position:absolute;right:-10px;bottom:-18px;background:#fff;border-radius:var(--r-sm);padding:12px 18px;
  box-shadow:0 16px 44px rgba(43,26,58,.16);font-size:13px;color:var(--ink-2)}
.um-sig b{display:block;font-family:var(--font-display);font-size:15px;color:var(--ink);margin-bottom:2px}
.um-quote{font-family:var(--font-display);font-size:clamp(22px,2.5vw,32px);line-height:1.25;color:var(--primary);
  margin:0 0 20px;letter-spacing:.003em}
.um p{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin:0 0 14px;max-width:58ch}
.u-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:clamp(36px,5vw,64px);
  border-top:1px solid var(--edge);padding-top:30px}
.u-facts div b{display:block;font:600 clamp(26px,3vw,38px)/1 var(--font-body);color:var(--primary);letter-spacing:-.02em}
.u-facts div span{display:block;margin-top:7px;font-size:13.5px;color:var(--ink-2);max-width:20ch}

/* =========================== REVIEWS =========================== */
.ur{background:var(--plum-800);color:#fff;border-radius:clamp(20px,3vw,34px);padding:clamp(36px,5vw,68px) clamp(20px,4vw,56px)}
.ur-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:end;
  margin-bottom:clamp(28px,4vw,46px)}
.ur .u-eyebrow{color:var(--gold-soft)}
.ur h2{font-family:var(--font-body);font-weight:600;font-size:clamp(30px,4vw,52px);line-height:1.05;letter-spacing:-.02em;
  margin:0;color:#fff}
.ur-score{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ur-score .big{font:600 clamp(44px,6vw,72px)/1 var(--font-body);color:#fff;letter-spacing:-.03em}
.ur-stars{color:var(--gold-soft);font-size:22px;letter-spacing:3px;line-height:1}
.ur-score p{margin:6px 0 0;color:#D9C7E6;font-size:14.5px}
.ur-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ur-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-md);
  padding:26px 24px;display:flex;flex-direction:column;gap:14px;transition:transform .3s cubic-bezier(.2,.7,.3,1),background .3s}
.ur-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.11)}
.ur-card .st{color:var(--gold-soft);font-size:15px;letter-spacing:2px}
.ur-card blockquote{margin:0;font-size:16px;line-height:1.6;color:#F4EDF8}
.ur-card figcaption{margin-top:auto;font-size:13.5px;color:#C5B2D4}
.ur-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px}
.ur-foot a{color:#fff;border-bottom:1px solid var(--gold-soft);text-decoration:none;font-weight:500;padding-bottom:2px}
.ur-foot small{color:#C5B2D4;font-size:12.5px}

/* =========================== LISTINGS =========================== */
.ul-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.ul-nav{display:flex;gap:10px;flex:none}
.ul-nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--edge);background:#fff;color:var(--primary);
  font-size:18px;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.ul-nav button:hover{transform:translateY(-2px);border-color:var(--primary);background:var(--pwc-amethyst-50)}
.ul-track{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;padding:6px 2px 16px;scroll-snap-type:x proximity}
.ul-track::-webkit-scrollbar{display:none}
.uc{flex:0 0 min(84vw,380px);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;
  background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);
  box-shadow:0 2px 10px rgba(43,26,58,.06);transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
.uc:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(43,26,58,.17)}
.uc-im{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--pwc-amethyst-50)}
.uc-im i{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.uc:hover .uc-im i{transform:scale(1.06)}
.uc-badge{position:absolute;left:16px;top:16px;z-index:2;background:var(--gold);color:#231404;border-radius:999px;
  padding:7px 15px;font:600 12px var(--font-body);letter-spacing:.04em;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.uc-price{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(255,255,255,.95);color:var(--primary);
  border-radius:999px;padding:9px 18px;font:600 17px var(--font-body);backdrop-filter:blur(6px)}
.uc-im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 34%,transparent 58%,rgba(0,0,0,.34) 100%)}
.uc-tx{display:flex;flex-direction:column;gap:9px;padding:20px 22px 22px}
.uc-loc{font:600 12px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--primary);opacity:.85}
.uc-tx b{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.uc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.uc-meta span{background:var(--pwc-amethyst-50);border-radius:8px;padding:5px 11px;font-size:13px;color:var(--ink-2)}
.uc-go{display:inline-flex;align-items:center;gap:7px;margin-top:6px;color:var(--primary);font-weight:600;font-size:14.5px}
.uc-go svg{transition:transform .25s}
.uc:hover .uc-go svg{transform:translateX(5px)}

/* =========================== SPLIT (approach) =========================== */
.usp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,72px);align-items:center}
.usp-tx .u-lead{font-size:clamp(17px,1.5vw,20px);max-width:48ch;color:var(--ink-2)}
.usp-tx .u-h2{max-width:14ch}
.usp-pts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.usp-pts li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--ink-2)}
.usp-pts b{flex:none;width:26px;height:26px;border-radius:50%;background:var(--pwc-amethyst-50);color:var(--primary);
  display:grid;place-items:center;font-size:13px;font-weight:600}
.usp-fig{margin:0;position:relative}
.usp-fig img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 56%;border-radius:var(--r-lg);display:block}

/* =========================== NEIGHBOURHOODS =========================== */
.un-banner{position:relative;margin:0 0 26px;border-radius:var(--r-lg);overflow:hidden}
.un-banner img{display:block;width:100%;height:clamp(240px,34vw,420px);object-fit:cover;object-position:50% 58%}
.un-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,14,36,.5) 0%,transparent 45%,rgba(26,14,36,.62) 100%)}
.un-cap{position:absolute;left:clamp(18px,3vw,34px);bottom:clamp(18px,3vw,30px);right:clamp(18px,3vw,34px);z-index:2;color:#fff}
.un-cap h2{font-family:var(--font-body);font-weight:600;font-size:clamp(26px,3.4vw,42px);letter-spacing:-.02em;margin:0 0 6px;color:#fff}
.un-cap p{margin:0;color:#EADFF2;font-size:15px}
.un-grid{display:flex;flex-wrap:wrap;gap:10px}
.un-grid a{border:1px solid var(--edge);border-radius:999px;padding:10px 18px;text-decoration:none;color:var(--ink);
  font-size:14.5px;background:#fff;transition:transform .2s,border-color .2s,color .2s}
.un-grid a:hover{transform:translateY(-2px);border-color:var(--primary);color:var(--primary)}

/* =========================== CTA =========================== */
.uct{background:linear-gradient(120deg,var(--plum-900),var(--pwc-byzantium,#5B2C6F));border-radius:clamp(20px,3vw,34px);
  padding:clamp(36px,5vw,64px) clamp(22px,4vw,56px);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(24px,4vw,48px);align-items:center}
.uct h2{font-family:var(--font-body);font-weight:600;font-size:clamp(26px,3.4vw,42px);line-height:1.1;letter-spacing:-.02em;margin:0 0 12px;color:#fff}
.uct p{margin:0;color:#E4D7EE;font-size:16.5px;max-width:46ch}
.uct-btns{display:flex;flex-direction:column;gap:12px;min-width:250px}
.uct-btns a{display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:14px 22px;color:#fff;text-decoration:none;
  font-weight:500;transition:background .2s,transform .2s}
.uct-btns a:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.uct-btns a.solid{background:#fff;color:var(--plum-900);border-color:#fff;font-weight:600}
.uct-btns a.solid:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
.uct-btns small{opacity:.75;font-size:12.5px;display:block}

/* the menus: the first item in each is the section itself, so it reads as a heading */
.mmd li:first-child a{background:var(--pwc-amethyst-50);border:1px solid var(--pwc-amethyst-300);font-weight:600;
  color:var(--primary);display:flex;align-items:center;justify-content:space-between;gap:12px}
.mmd li:first-child a::after{content:"\2192";font-size:14px;opacity:.75}
.mmd li:first-child{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--edge)}
.mm.wide .mmd li:nth-child(-n+3) a{background:var(--pwc-amethyst-50);border:1px solid var(--pwc-amethyst-300);font-weight:600}
.mm.wide .mmd li:nth-child(-n+3){margin-bottom:8px}
.mm.wide .mmd li:first-child{border-bottom:0;padding-bottom:0}

/* =========================== RESPONSIVE =========================== */
@media (max-width:980px){
  .um,.usp,.ur-top{grid-template-columns:1fr}
  .ur-grid{grid-template-columns:1fr}
  .u-facts{grid-template-columns:1fr 1fr;gap:24px}
  .uct{grid-template-columns:1fr}
  .um-fig::after{display:none}
  .usp-fig{order:-1}
}
@media (max-width:620px){
  .uh{min-height:auto;padding-top:calc(var(--sec)*.7)}
  .us-box{padding-left:16px}
  .us-go{padding:12px 16px;font-size:14px}
  .uh-foot{margin-top:30px}
  .uc{flex-basis:min(86vw,330px)}
}

/* photos: an explicit height attribute wins over aspect-ratio unless height is auto */
.usp-fig img,.um-fig img{height:auto}

/* the featured listing, floating over the hero (desktop only) */
.uf{position:absolute;right:0;top:50%;transform:translateY(-50%);width:330px;display:block;text-decoration:none;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-lg);padding:14px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 70px rgba(8,3,14,.45);
  transition:transform .35s cubic-bezier(.2,.7,.3,1),background .3s}
.uf:hover{transform:translateY(calc(-50% - 6px));background:rgba(255,255,255,.16)}
.uf-im{display:block;aspect-ratio:4/3;border-radius:16px;background:center/cover no-repeat;margin-bottom:14px}
.uf-tx{display:block;padding:0 6px 6px}
.uf-lbl{display:inline-block;background:var(--gold);color:#231404;border-radius:999px;padding:4px 11px;
  font:600 12px var(--font-body);letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}
.uf-tx b{display:block;color:#fff;font-size:16.5px;font-weight:600;line-height:1.3}
.uf-pr{display:block;color:#fff;font:600 21px var(--font-body);margin-top:6px}
.uf-meta{display:block;color:#D9C7E6;font-size:13px;margin-top:4px}
@media (max-width:1180px){.uf{display:none}}

/* ---- the listing map, styled like the client portals: quiet streets, colour on the pins ---- */
.lp-map .leaflet-tile-pane{filter:grayscale(1) contrast(.92) brightness(1.06)}
.lp-map .leaflet-container{background:#F2EFE9}
.lp-map::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(126,58,140,.05);mix-blend-mode:multiply}
.lp-map-wrap{position:relative}
.lp-map{position:relative}
.lp-poi__d{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;border:2px solid #fff;
  box-shadow:0 3px 10px rgba(26,14,36,.35)}
.leaflet-marker-icon.lp-poi{transition:transform .18s ease}
.leaflet-marker-icon.lp-poi:hover{transform:scale(1.15)}
.lp-map .leaflet-control-zoom a{border-radius:10px;color:var(--primary);border-color:var(--line)}
.lp-map .leaflet-control-attribution{background:rgba(255,255,255,.82);font-size:12px}
/* the sidebar headshot is already round and centred, so no crop */
.lp-me img{object-position:50% 50%}

/* =============================================================================
   Inner pages (2026-09-22): the July layout, brought onto the homepage's
   type scale, spacing and card language. Targets the July classes directly so
   every guide, neighbourhood, journal and reference page moves at once.
   ============================================================================= */
html body .page-hero{background:var(--plum-900) !important;padding:clamp(88px,11vw,150px) var(--gutter) clamp(54px,7vw,88px) !important}
html body .page-hero .inner{text-align:left !important}
html body .page-hero h1::after,html body .sec-head h2::after{display:none !important}
html body .sec-head{text-align:left !important;margin-inline:0 !important}
.page-hero .inner{width:min(1240px,100%);margin-inline:auto}
.page-hero .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--gold-soft) !important;
  font:600 12px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;margin:0}
.page-hero .eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.page-hero h1{font-family:var(--font-display);font-weight:500;letter-spacing:.005em !important;text-transform:none !important;
  font-size:clamp(32px,4.4vw,56px) !important;line-height:1.1 !important;margin:16px 0 0 !important;max-width:17ch}
.page-hero p{color:#EFE6F5 !important;font-size:clamp(17px,1.6vw,21px) !important;line-height:1.5;margin-top:18px !important;
  max-width:50ch;font-weight:300}

/* reading column */
.wrap{max-width:1240px}
.wrap>.prose,.wrap>.sec-head{margin-inline:auto}
.prose{max-width:66ch}
.prose>p{font-size:17px !important;line-height:1.72 !important;font-weight:400 !important;color:var(--ink-2) !important;margin-bottom:20px !important}
.prose>p:first-of-type{font-size:19px !important;line-height:1.6 !important;color:var(--ink) !important}
.prose h2{font-family:var(--font-body);font-weight:600;font-size:clamp(23px,2.8vw,32px);letter-spacing:-.015em;
  line-height:1.15;margin:46px 0 14px;color:var(--ink)}
.prose h3{font-family:var(--font-body) !important;font-weight:600 !important;font-size:clamp(18px,2vw,22px) !important;
  letter-spacing:-.01em !important;line-height:1.25;margin:38px 0 12px !important;color:var(--ink)}
.prose h3+p{margin-top:0}
.prose li{font-size:16.5px;line-height:1.65;color:var(--ink-2)}
.prose a:not(.btn){color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose strong,.prose b{font-weight:600;color:var(--ink)}
.prose blockquote{margin:26px 0;padding:18px 22px;background:var(--pwc-amethyst-50);border-radius:var(--r-md);
  border-left:3px solid var(--primary);font-size:17px;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15.5px}
.prose th{text-align:left;font-weight:600;color:var(--ink);border-bottom:1px solid var(--edge);padding:10px 12px}
.prose td{padding:10px 12px;border-bottom:1px solid var(--edge);color:var(--ink-2)}
.prose hr{border:0;border-top:1px solid var(--edge);margin:38px 0}

/* section heads and cards */
.sec-head{max-width:60ch}
.sec-head .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--primary);font:600 12px/1 var(--font-body);
  letter-spacing:.18em;text-transform:uppercase;margin:0}
.sec-head .eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.5}
.sec-head h2{font-family:var(--font-body) !important;font-weight:600 !important;font-size:clamp(26px,3.2vw,40px) !important;
  letter-spacing:-.02em !important;line-height:1.1 !important;margin:14px 0 !important}
.pillars{gap:20px !important;margin-top:36px !important}
.pillar{border:1px solid var(--edge) !important;border-top:1px solid var(--edge) !important;border-radius:var(--r-lg) !important;
  box-shadow:0 2px 10px rgba(43,26,58,.05) !important;padding:clamp(24px,3vw,34px) !important;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.pillar:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(43,26,58,.12) !important}
.pillar .num{font-family:var(--font-body) !important;font-size:14px !important;font-weight:600;color:var(--primary) !important;
  opacity:1 !important;letter-spacing:.14em}
.pillar h3{font-family:var(--font-body);font-weight:600;font-size:19px !important;letter-spacing:-.01em !important;margin:10px 0 10px !important}
.pillar p{font-size:15.5px !important;line-height:1.65 !important;color:var(--ink-2) !important;font-weight:400 !important}

/* facts, FAQ and the other repeating blocks */
.facts{gap:16px !important}
.facts .v{font-family:var(--font-body) !important;font-weight:600;color:var(--primary);letter-spacing:-.02em}
.facts .k{font-size:13.5px;color:var(--ink-2)}
.faq-group{margin-top:34px}
.faq{border:1px solid var(--edge) !important;border-radius:var(--r-md) !important;background:#fff !important;
  margin-bottom:10px !important;overflow:hidden}
.faq summary{padding:16px 20px !important;font-weight:600;font-size:16.5px;cursor:pointer;color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq[open] summary{color:var(--primary)}
.faq>div,.faq>p{padding:0 20px 18px !important;font-size:16px;line-height:1.7;color:var(--ink-2)}
.quote-band{background:var(--pwc-amethyst-50) !important;border-radius:clamp(20px,3vw,30px);padding:clamp(30px,4vw,54px) !important}
.link-arrow{color:var(--primary);font-weight:600;text-decoration:none}
.btn{border-radius:999px !important;font-weight:600 !important;letter-spacing:0 !important;text-transform:none !important}
/* a July page can run long; give the sections air without touching their markup */
section.wrap{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}

/* inner pages, second pass: readable heading on the dark band, and one left edge for the
   eyebrow, the title, the lead and the reading column */
html body .page-hero h1{color:#fff !important;margin-left:0 !important;margin-right:0 !important}
html body .page-hero p{margin-left:0 !important;margin-right:0 !important}
html body .wrap>.prose,html body .wrap>.sec-head{margin-inline:0 !important}
html body .page-hero .eyebrow{color:var(--gold-soft) !important}

/* built pages (tools, listings): the same title band and tiles as the homepage */
.u-band{background:var(--plum-900);color:#fff;padding:clamp(80px,10vw,132px) 0 clamp(48px,6vw,76px)}
.u-band .u-eyebrow{color:var(--gold-soft)}
.u-title{font-family:var(--font-display);font-weight:500;color:#fff;text-transform:none;letter-spacing:.005em;
  font-size:clamp(32px,4.4vw,56px);line-height:1.1;margin:14px 0 0;max-width:17ch}
.u-band-lead{color:#EFE6F5;font-size:clamp(17px,1.6vw,21px);line-height:1.5;margin:16px 0 0;max-width:50ch;font-weight:300}
.u-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.u-tiles a{position:relative;display:block;background:#fff;border:1px solid var(--edge);border-radius:var(--r-md);
  padding:20px 52px 20px 22px;text-decoration:none;color:var(--ink);
  transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s,border-color .2s}
.u-tiles a:hover{transform:translateY(-3px);border-color:var(--pwc-amethyst-300);box-shadow:0 18px 40px rgba(43,26,58,.12)}
.u-tiles b{display:block;color:var(--ink);font-size:17.5px;font-weight:600;margin-bottom:5px;letter-spacing:-.01em}
.u-tiles span{display:block;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.u-tiles i{position:absolute;right:22px;top:22px;color:var(--primary);font-style:normal;transition:transform .25s}
.u-tiles a:hover i{transform:translateX(4px)}
@media (max-width:760px){.u-tiles{grid-template-columns:1fr}}

/* =========================== AFFILIATIONS =========================== */
.uaf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.uaf-rail{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.uaf-track{display:flex;gap:14px;width:max-content;animation:uafRoll 38s linear infinite}
.uaf-rail:hover .uaf-track,.uaf-rail:focus-within .uaf-track{animation-play-state:paused}
@keyframes uafRoll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.uaf-track{animation:none;flex-wrap:wrap;width:auto}}
.uaf-logo{flex:none;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:196px;height:104px;
  padding:0 22px;background:#fff;border:1px solid var(--edge);border-radius:var(--r-md);text-align:left}
.uaf-logo b{font-family:var(--font-display);font-size:17px;letter-spacing:.09em;color:var(--ink)}
.uaf-logo small{font-size:12px;color:var(--ink-2);letter-spacing:.03em}
@media (max-width:980px){.uaf{grid-template-columns:1fr}}

/* =========================== FOOTER =========================== */
.uft{background:var(--plum-900);color:#EFE6F5;margin-top:clamp(40px,6vw,90px)}
.uft-in{width:min(1240px,100% - 2*var(--gutter));margin-inline:auto;display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,4vw,56px);padding:clamp(44px,6vw,72px) 0 clamp(28px,3vw,40px)}
.uft-mark{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.uft-mark b{display:block;font-family:var(--font-display);font-size:16px;letter-spacing:.02em}
.uft-mark small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C5B2D4;margin-top:3px}
.uft-office{margin:16px 0 0;font-size:13.5px;color:#C5B2D4;max-width:26ch;line-height:1.6}
.uft-social{display:flex;gap:10px;margin-top:18px}
.uft-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#EFE6F5;
  border:1px solid rgba(255,255,255,.2);transition:background .2s,transform .2s,color .2s}
.uft-social a:hover{background:#fff;color:var(--plum-900);transform:translateY(-2px)}
.uft-col h3{font:600 12px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 16px}
.uft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.uft-col a{color:#EFE6F5;text-decoration:none;font-size:14.5px}
.uft-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.uft-reach li{display:flex;flex-direction:column;gap:2px}
.uft-reach span{font-size:12px;color:#A895B8;letter-spacing:.1em;text-transform:uppercase}
.uft-affil{width:min(1240px,100% - 2*var(--gutter));margin-inline:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:22px 0;border-top:1px solid rgba(255,255,255,.12)}
.uft-affil img{height:22px;width:auto;filter:brightness(0) invert(1);opacity:.85}
.uft-affil a:hover img{opacity:1}
.uft-affil span{font-size:12.5px;color:#C5B2D4}
.uft-legal{width:min(1240px,100% - 2*var(--gutter));margin-inline:auto;display:flex;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:16px 0 28px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#A895B8}
.uft-legal a{color:#C5B2D4;text-decoration:none}
.uft-legal a:hover{color:#fff}
@media (max-width:980px){.uft-in{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:620px){.uft-in{grid-template-columns:1fr}}

/* the bio portrait is a 2:3 file, so it is shown whole */
.um-fig img{aspect-ratio:2/3;object-position:50% 12%}

/* the network line under the contact card on a listing page */
.lp-affil{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding-top:14px;
  border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--ink-2)}
.lp-affil img{height:17px;width:auto;opacity:.75}
.lp-affil span{flex:1 1 100%}

/* keyboard focus: one visible ring everywhere, gold on dark, amethyst on light */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}
.uh :where(a,button):focus-visible,.uft :where(a,button):focus-visible,.ur :where(a,button):focus-visible,
.u-band :where(a,button):focus-visible,.uct :where(a,button):focus-visible{outline-color:var(--gold-soft)}
.uc:focus-visible,.u-tiles a:focus-visible{outline-offset:3px}

/* ---------------------------------------------------------------------------
   A11Y FIX 2026-09-22: text left invisible on the relit ".dark" bands.

   brand-2026-2.css:57 repaints every .dark band light
   (--pwc-amethyst-50, #F5F3F7) with !important, and :58 tries to reset the text
   with ".dark :where(p,span,li,small,b,em,div,h2,h3,h4,dt,dd,strong)".
   :where() carries ZERO specificity, so the older light-on-plum colours in
   styles.css and pwc-chrome.css out-specify it and survive. Measured against
   the band's own #F5F3F7 ground:

     pwc-chrome.css:66  html body .cta-band h2   --on-dark  #F6F1E9   1.02:1
     pwc-chrome.css:68  html body .cta-band p    --pwc-orchid #E7DDF0 1.19:1
     styles.css:141     .dark h2                 --ivory    #F6F1E9   1.02:1
     styles.css:159     .quote-band blockquote   --ivory    #F6F1E9   1.02:1
     styles.css:161     .quote-band blockquote em --orchid  #E7DDF0   1.19:1
     styles.css:196     .affil p          rgba(246,241,233,.82)       1.02:1
                        (.affil sits ON the .dark section, not inside it)
     styles.css:199     .affil .lockup span      --ivory              1.02:1
     styles.css:200     .affil .lockup small     --orchid             1.19:1
     styles.css:754     .dark .net-mark b        --ivory              1.02:1
     styles.css:754     .dark .net-mark small rgba(246,241,233,.55)   1.01:1

   78 of the 121 pages render at least one of these as ghost text; the CTA
   heading ("Thinking about a move?", "If it's not here, just ask") is the one
   on 76 of them. The band's eyebrow and links were already rescued by
   brand-2026-2.css:59-60, which do carry specificity, so only the rules above
   are repainted here.

   ui26.css loads last, so matching the highest losing specificity (0,1,3 via
   "html body") is enough. Replacements, on #F5F3F7:
     --ink     #2A2530  13.55:1     --ink-2  #6E657E  4.98:1
     --primary #563B79   8.29:1
   --------------------------------------------------------------------------- */
html body .dark h2,
html body .cta-band h2,
html body .quote-band blockquote,
html body .affil .lockup span,
html body .dark .net-mark b{color:var(--ink)}

html body .cta-band p,
html body .affil p,
html body .dark .net-mark small{color:var(--ink-2)}

html body .quote-band blockquote em,
html body .affil .lockup small{color:var(--primary)}

/* the card fill and outline on the same bands were tuned for plum
   (rgba(246,241,233,.04) over rgba(231,221,240,.25)) and vanish against the
   relit ground: the outline measures 1.02:1 there. Put the card on the site's
   normal light treatment so it reads as a card again. */
html body .dark .net-mark{background:#fff;border-color:var(--line)}

/* The current language in the language switcher is a state, not a destination,
   so site.js now renders it as <span class="langbtn active"> instead of an <a>
   with no href (which was unfocusable and carried aria-current on a non-link).
   brand-2026-2.css:31 only styles "a.langbtn", so carry the same box over to
   the span and keep the two halves of the pill identical. */
html body .langbtn{display:inline-flex;align-items:center;text-decoration:none}
html body span.langbtn{cursor:default}

/* =============================================================================
   Responsive and visual quality pass (2026-09-22, group E)
   Measured fixes only. Each one is anchored to a number in the hunt report.
   ============================================================================= */

/* 1. The header's right group (Search, EN/FR, Menu) was inset by a whole extra
   gutter. brand-2026-2.css:26 gives .hright its own margin-right, written for the
   old header that had no padding; .hdr.hdr26 (line 198) already pads itself, so the
   two stack. Measured right edge vs the 1240px content column the rest of the page
   aligns to: 344 vs 360 at 375, 691 vs 722 at 768, 927 vs 968 at 1024, 1254 vs 1332
   at 1440, 1494 vs 1572 at 1920. The logo is flush left at every one of them. */
html body .hdr.hdr26 .hright{margin-right:0}

/* 2. No scroll-margin-top or scroll-padding-top exists in any of the six
   stylesheets, and the header is sticky at 74px (64px under 560px). An in-page
   anchor therefore lands with its target's top edge at the header's bottom edge:
   #faq-fees put .sec-head at y=72 with the header bottom at y=74. :where() keeps
   specificity at 0 so a page can still override it. */
:where([id]){scroll-margin-top:96px}
@media (max-width:560px){:where([id]){scroll-margin-top:84px}}

/* 3. Opening the listing photo lightbox adds html.menu-lock (listing_pages.py:453)
   purely as a scroll lock, but brand-2026-2.css:252 uses that same class to OPEN
   the mobile nav under 1180px. Result: the whole Buy/Sell/Invest panel renders
   behind the photo. Hold it shut whenever a lightbox is open. */
html:has(.lp-box:not([hidden])) .mnav{opacity:0 !important;visibility:hidden !important}

/* 4. The lightbox scrim was rgba(26,16,36,.94), so the ivory header read straight
   through it at 6%. A photo viewer wants the photo alone. */
.lp-box{background:#140C1C}

/* 5. Under 980px the photo is width-bound (345x230 inside an 812px-tall overlay at
   375), so the 48px prev/next circles at left:18/right:18 sit ON the picture and the
   "1 / 33" counter strands 250px below it. Move the controls into one row under the
   photo and size them for a finger. */
@media (max-width:980px){
  .lp-box img{max-width:calc(100vw - 16px)}
  .lp-box .lp-prev,.lp-box .lp-next{top:auto;bottom:20px;width:54px;height:54px}
  .lp-box .lp-prev{left:14px}
  .lp-box .lp-next{right:14px}
  .lp-box .lp-x{top:14px;right:14px}
  .lp-count{bottom:36px}
}

/* 6. Tap targets under 44px on a touch screen. Measured at 375: Leaflet zoom 30x30,
   POI filter chips 31px tall, "See all 35 photos" 130x29, EN/FR 46x34, the footer
   nav links 21px, the footer social circles 38x38, the .u-more links 28 to 29px,
   and the brand mark 38x38. */
/* leaflet.min.css is linked AFTER ui26.css on the listing pages, so its own
   .leaflet-touch .leaflet-bar a{width:30px;height:30px} beats anything this file
   says about the map controls at equal specificity. !important is the only lever
   left here without touching the page template. */
@media (hover:none){
  .lp-map .leaflet-control-zoom a{width:44px !important;height:44px !important;line-height:42px !important;font-size:20px}
  .lp-chips button{min-height:44px;padding:10px 15px}
  .lp-all{min-height:44px;padding:13px 18px}
  .lp-callrow a{min-height:44px;display:flex;align-items:center;justify-content:center}
  .lp-ck input{width:22px;height:22px;flex:none}
  .lp-ck{align-items:center;gap:12px}
  html body a.langbtn{min-height:44px}
  html body .hdr.hdr26 .brand .logo{width:44px;height:44px}
  .uft-social a{width:44px;height:44px}
  .uft-col ul{gap:2px}
  .uft-col a{display:block;padding:12px 0}
  .u-more{min-height:44px}
}

/* 7. .um-sig hangs 10px outside its figure, which is fine beside a 92px desktop
   gutter but breaks the 16px phone gutter: measured right edge 369.1 in a 375
   viewport while every other element stops at 359.1. */
@media (max-width:620px){.um-sig{right:0}}

/* 8. The listings carousel gave no hint that it scrolls: at 375 a card is 322.6
   wide in a 343.1 track, so after the 20px gap the next card peeks by 0.5px.
   78vw leaves about 30px of the next card showing. */
@media (max-width:620px){.uc{flex-basis:min(78vw,330px)}}

/* 9. The two dark title bands are meant to be the same object (see the comment at
   "built pages (tools, listings): the same title band and tiles as the homepage"),
   but their padding never matched: .page-hero is clamp(88px,11vw,150px) over
   clamp(54px,7vw,88px) while .u-band was clamp(80px,10vw,132px) over
   clamp(48px,6vw,76px). That is 8px/6px apart at 375, about 10px at 1024 and
   18px/12px at 1440 and up. Type scale and the 1240px column already agree, so
   only the padding was out. */
.u-band{padding:clamp(88px,11vw,150px) 0 clamp(54px,7vw,88px)}

/* 10. styles.css:261/266 sizes the neighbourhood facts strip with repeat(N,1fr),
   and 1fr means minmax(auto,1fr): the long values ("Avenue du Mont-Royal") push the
   auto minimum past the track, so the grid grows wider than its own box. Measured on
   plateau.html: the two columns compute to 158.2px + 159.9px + 16px gap = 334px
   inside a 322px container at a 375 viewport, and the second card's right edge lands
   at 348 while .facts ends at 341. At a 320 viewport the second card ends at 347
   against a 286 edge, so about a third of its text is cut. body{overflow-x:hidden}
   (styles.css:23) swallows the scrollbar, so it is silent. minmax(0,1fr) is what
   this file already uses for .u-facts and .u-tiles. */
.facts{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:780px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* the places lists carry a sentence per card: one card per row on a phone */
@media (max-width:480px){.facts:has(.v span){grid-template-columns:1fr}}

/* 11. At a 320px viewport the header does not fit: brand 38 + gap 8 + search 44 +
   10 + EN/FR 91 + 10 + Menu 92 + 2x16 padding = 325 against 305 of room, so the
   Menu button's right edge lands at 309 and is shaved by body{overflow-x:hidden}.
   The 44px brand mark added above makes it 9px worse on a touch phone. Tighten the
   header's own gaps below 361px instead of shrinking the buttons people press.
   Measured after: right edge 289 = 305 - 16, scrollWidth back to 305. */
@media (max-width:360px){
  html body .hdr.hdr26{gap:6px}
  html body .hdr.hdr26 .brand .logo{width:38px !important;height:38px !important}
  html body .hdr .hright{gap:6px}
  html body a.langbtn{padding-left:9px;padding-right:9px}
  .mnav-toggle{padding:0 10px}
}

/* the photo lightbox has its own scroll lock: it used to share the mobile menu's, which opened
   the menu behind the photo on a phone */
html.lp-lock,html.lp-lock body{overflow:hidden}

/* a short laptop screen (1366x768 and the like): the hero gives back its air so the search
   field, the quick buttons and the rating all sit above the fold */
@media (max-height:820px) and (min-width:900px){
  .uh{min-height:auto;padding-top:clamp(56px,7vh,86px);padding-bottom:clamp(36px,5vh,60px)}
  .uh h1{font-size:clamp(28px,3.4vw,42px);margin-bottom:14px}
  .uh .uh-lead{font-size:clamp(16px,1.4vw,19px);margin-bottom:20px}
  .uh-quick{margin-top:18px}
  .uh-foot{margin-top:26px}
  .uf{width:300px}
}

/* gold stars wherever the reviews are named */
.gstars{color:var(--gold);letter-spacing:2px;white-space:nowrap}
.u-facts .gs .gstars{display:block;font-size:13px;margin-bottom:3px}

/* ---- 2026-09-23: headings that break sensibly, more motion, wider affiliations ---- */
/* one-word last lines ("online") read as a mistake; let the browser balance the break */
h1,.u-h2,.u-title,.um-quote,.un-cap h2,.ur-top h2,.uct h2,.page-hero h1,.prose h2{text-wrap:balance}
.u-lead,.uh-lead,.u-band-lead,.usp-tx .u-lead{text-wrap:pretty}

/* images arrive with the section: a short rise and a slow settle out of a soft zoom */
html.js-anim .u-in figure img,html.js-anim .u-in .uc-im i,html.js-anim .u-in .uf-im{
  transform:scale(1.04);transition:transform 1.1s cubic-bezier(.2,.7,.3,1),opacity .8s ease;opacity:.001}
html.js-anim .u-in.is-on figure img,html.js-anim .u-in.is-on .uc-im i,html.js-anim .u-in.is-on .uf-im{transform:none;opacity:1}
/* the banner drifts a little against the scroll */
.un-banner img{will-change:transform}
@media (prefers-reduced-motion: no-preference){
  .un-banner{perspective:1px}
  .un-banner img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}
  .un-banner:hover img{transform:scale(1.03)}
}

/* the approach section: chart, caption, and the tools under the text */
.usp-fig img{background:#fff;border-radius:var(--r-lg);box-shadow:0 18px 44px rgba(43,26,58,.10);aspect-ratio:auto}
.usp-fig figcaption{margin-top:10px;font-size:12.5px;color:var(--ink-2)}
.usp-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.usp-tools a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--edge);border-radius:999px;
  padding:10px 18px;background:#fff;color:var(--ink);text-decoration:none;font-size:14.5px;
  transition:transform .2s,border-color .2s,color .2s}
.usp-tools a:hover{transform:translateY(-2px);border-color:var(--primary);color:var(--primary)}

/* two links, one line */
.u-morerow{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:22px}

/* affiliations: the rail runs the width of the page under the text */
.uaf.uaf-wide{grid-template-columns:1fr;gap:clamp(22px,3vw,38px)}
.uaf-wide .uaf-tx{max-width:70ch}
.uaf-wide .uaf-rail{width:100vw;margin-left:calc(50% - 50vw);padding:6px 0}
.uaf-wide .uaf-track{gap:18px}
.uaf-wide .uaf-logo{min-width:240px;height:118px;align-items:flex-start;justify-content:center;padding:0 28px}
.uaf-wide .uaf-logo b{font-size:19px;letter-spacing:.11em}

/* ---- more life on the page (2026-09-23) ---- */
/* the header tightens and lifts once you leave the top */
html body .hdr.hdr26{transition:height .28s ease,box-shadow .28s ease,background .28s ease}
html body .hdr.hdr26.scrolled{height:62px;box-shadow:0 10px 30px rgba(43,26,58,.10)}
@media (max-width:560px){html body .hdr.hdr26.scrolled{height:56px}}

/* the reading progress line the July script already draws */
#pwc-progress{position:fixed;left:0;top:0;height:2px;z-index:90;background:linear-gradient(90deg,var(--primary),var(--gold));
  width:0;transition:width .12s linear}

/* eyebrow rules draw themselves in with the section */
html.js-anim .u-in .u-eyebrow::before,html.js-anim .u-in .uh-eyebrow::before{transform-origin:left;transform:scaleX(0);
  transition:transform .6s cubic-bezier(.2,.7,.3,1) .1s}
html.js-anim .u-in.is-on .u-eyebrow::before,html.js-anim .u-in.is-on .uh-eyebrow::before{transform:none}

/* cards and tiles arrive one after another rather than all at once */
html.js-anim .u-in.is-on .uc,html.js-anim .u-in.is-on .u-tiles a,html.js-anim .u-in.is-on .ur-card,
html.js-anim .u-in.is-on .un-grid a,html.js-anim .u-in.is-on .u-facts>div{animation:uRise .6s cubic-bezier(.2,.7,.3,1) both}
html.js-anim .u-in.is-on :nth-child(2 of .uc),html.js-anim .u-in.is-on .u-tiles a:nth-child(2),
html.js-anim .u-in.is-on .ur-card:nth-child(2),html.js-anim .u-in.is-on .u-facts>div:nth-child(2){animation-delay:.07s}
html.js-anim .u-in.is-on :nth-child(3 of .uc),html.js-anim .u-in.is-on .u-tiles a:nth-child(3),
html.js-anim .u-in.is-on .ur-card:nth-child(3),html.js-anim .u-in.is-on .u-facts>div:nth-child(3){animation-delay:.14s}
html.js-anim .u-in.is-on .u-facts>div:nth-child(4){animation-delay:.21s}
@keyframes uRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* the quiet hover the whole site shares */
.u-tiles a,.un-grid a,.uaf-logo,.uft-social a{will-change:transform}
.uaf-logo{transition:transform .25s cubic-bezier(.2,.7,.3,1),border-color .2s}
.uaf-rail:hover .uaf-logo:hover{transform:translateY(-3px);border-color:var(--pwc-amethyst-300)}

@media (prefers-reduced-motion: reduce){
  html.js-anim .u-in.is-on .uc,html.js-anim .u-in.is-on .u-tiles a,html.js-anim .u-in.is-on .ur-card,
  html.js-anim .u-in.is-on .un-grid a,html.js-anim .u-in.is-on .u-facts>div{animation:none}
  html body .hdr.hdr26,#pwc-progress{transition:none}
}

/* ---- 2026-09-23, second pass ---- */
/* Tighter rhythm: the sections were reading as gaps rather than as a page. */
:root{--sec:clamp(52px,5.4vw,86px)}

/* The portrait is an ivory-background photo on an ivory page, so it needs its own ground and
   a frame; and it is a 933px file, so it is never blown up past the size it actually has. */
.um{align-items:center}
.um-fig{max-width:430px;justify-self:start;padding:14px;border-radius:calc(var(--r-lg) + 10px);
  background:linear-gradient(160deg,var(--pwc-amethyst-50),#fff 70%);box-shadow:0 18px 50px rgba(43,26,58,.10)}
.um-fig img{border-radius:var(--r-lg);box-shadow:0 2px 10px rgba(43,26,58,.10)}
.um-fig::after{inset:24px -10px -10px 24px}

/* the bio as three short pieces, each with its own heading */
.um-facts{margin:0 0 22px;display:grid;gap:18px}
.um-facts div{display:grid;gap:5px}
.um-facts dt{font:600 12px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.um-facts dd{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:54ch}

/* the chart is wide: let it use the column it sits in */
@media (min-width:981px){.usp{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}   /* desktop only: phones stack */
.usp-fig img{width:100%;height:auto}

/* "Where I work": the pills and the two links share one quiet block */
.un-foot{margin-top:22px;padding:20px 22px;border:1px solid var(--edge);border-radius:var(--r-lg);background:#fff;
  display:grid;gap:16px}
.un-foot .un-grid{gap:8px}
.un-foot .un-grid a{border-color:transparent;background:var(--pwc-amethyst-50);font-size:14px;padding:9px 16px}
.un-foot .un-grid a:hover{background:#fff;border-color:var(--primary)}
.un-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:14px;border-top:1px solid var(--edge)}
@media (max-width:980px){.um-fig{max-width:none;justify-self:stretch}}

/* ================= round 5, 2026-09-23 ================= */
/* 1. The row could not move: snapping pulled every frame back to the nearest card. */
.ul-track{scroll-snap-type:none}
.uc{scroll-snap-align:none}

/* 2. The bio takes the plum band, so the ivory portrait has something to sit on */
.umband{background:var(--plum-800);color:#F3EDF7}
.umband .u-eyebrow{color:var(--gold-soft)}
.umband .um-quote{color:#fff;font-weight:600}
.umband .um-facts dt{color:var(--gold-soft)}
.umband .um-facts dd,.umband .um p{color:#E7DCEF}
.umband .u-more{color:#fff}
.umband .um-fig{background:rgba(255,255,255,.08);box-shadow:0 26px 60px rgba(8,3,14,.35)}
.umband .um-fig::after{border-color:rgba(255,255,255,.25)}
.umband .um-sig{background:#fff;color:var(--ink-2)}
.umband .u-facts{border-top-color:rgba(255,255,255,.18)}
.umband .u-facts div b{color:#fff}
.umband .u-facts div span{color:#C9B8D6}
.umband .gstars{color:var(--gold-soft)}

/* 2b. reviews now sit on ivory, with amethyst tiles */
.ur.ur-light{background:var(--pwc-amethyst-50);color:var(--ink)}
.ur-light h2,.ur-light .ur-score .big{color:var(--ink)}
.ur-light .u-eyebrow{color:var(--primary)}
.ur-light .ur-stars,.ur-light .ur-card .st{color:var(--gold)}
.ur-light .ur-score p{color:var(--ink-2)}
.ur-light .ur-card{background:#fff;border-color:var(--edge);box-shadow:0 2px 10px rgba(43,26,58,.05)}
.ur-light .ur-card blockquote{color:var(--ink)}
.ur-light .ur-card figcaption{color:var(--ink-2)}
.ur-light .ur-foot a{color:var(--primary);border-bottom-color:var(--primary)}

/* 5. the "try this" row under the search field */
.us-try{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.us-try[hidden]{display:none}
.us-try span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C5B2D4}
.us-try button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;
  padding:7px 14px;font:500 13.5px var(--font-body);cursor:pointer;transition:background .2s,transform .2s}
.us-try button:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}

/* 6. affiliations: the names themselves, no cards */
.uaf-wide .uaf-logo{background:none;border:0;box-shadow:none;min-width:0;height:auto;padding:0 34px;
  align-items:center;text-align:center;opacity:.72;transition:opacity .25s,transform .25s}
.uaf-wide .uaf-rail:hover .uaf-logo{opacity:.5}
.uaf-wide .uaf-rail .uaf-logo:hover{opacity:1;transform:translateY(-2px)}
.uaf-wide .uaf-logo b{font-size:23px;letter-spacing:.02em;color:var(--ink)}
.uaf-wide .uaf-logo small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:4px}
/* each one in something close to its own wordmark */
.af-forbes b{font-family:"Times New Roman",Georgia,serif;font-weight:700;letter-spacing:-.01em}
.af-profusion b{font-family:var(--font-body);font-weight:300;letter-spacing:.32em;font-size:20px}
.af-leadingre b{font-family:var(--font-body);font-weight:700;letter-spacing:.01em;text-transform:uppercase}
.af-whoswho b{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;letter-spacing:.01em}
.af-mayfair b{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.16em;text-transform:uppercase;font-size:20px}
.af-juwai b{font-family:var(--font-body);font-weight:600;letter-spacing:.06em}

/* the same "try this" row inside the header's search overlay */
.search-try{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}
.search-try[hidden]{display:none}
.search-try span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.search-try button{border:1px solid var(--edge);background:var(--pwc-amethyst-50);color:var(--ink);border-radius:999px;
  padding:7px 14px;font:500 13.5px var(--font-body);cursor:pointer;transition:background .2s,transform .2s,border-color .2s}
.search-try button:hover{background:#fff;border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}

/* ================= round 6, 2026-09-23: one designed page ================= */
/* reviews: a band with depth, not a grey box */
.ur.ur-light{background:linear-gradient(160deg,#FBF8FD 0%,#F1EAF6 55%,#EFE5F4 100%);border:1px solid rgba(126,58,140,.12);
  box-shadow:0 30px 70px -40px rgba(43,26,58,.35)}
.ur-light .ur-card{border:1px solid rgba(126,58,140,.10);border-top:3px solid var(--gold);box-shadow:0 12px 34px -18px rgba(43,26,58,.25)}
.ur-light .ur-card blockquote{font-size:16.5px}
.ur-light .ur-score .big{font-family:var(--font-display);font-weight:500;letter-spacing:0}
.ur-light .ur-card::before{content:"\201C";position:absolute;right:20px;top:6px;font:700 64px/1 Georgia,serif;color:var(--primary);opacity:.08}
.ur-card{position:relative}

/* the portals section: white band, text left, a small "page" on the right */
.uport{background:#fff;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}
.uport-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,72px);align-items:center}
.uport-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:14px}
.uport-list li{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--edge)}
.uport-list b{font:600 12px/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--primary);padding-top:3px}
.uport-list span{font-size:16px;line-height:1.6;color:var(--ink-2)}
.uport-card{background:var(--plum-900);border-radius:var(--r-lg);padding:18px;color:#fff;box-shadow:0 30px 70px -30px rgba(8,3,14,.6);
  transform:rotate(-1.5deg);max-width:420px;justify-self:end;width:100%}
.uport-bar{display:flex;align-items:center;gap:6px;margin-bottom:16px}
.uport-bar span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25)}
.uport-bar i{margin-left:10px;font-style:normal;font-size:12px;color:#C5B2D4;letter-spacing:.04em;background:rgba(255,255,255,.08);
  border-radius:999px;padding:4px 12px}
.uport-row{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:12px;background:rgba(255,255,255,.07);margin-bottom:8px}
.uport-row b{font-weight:500;font-size:14.5px}
.uport-row em{font-style:normal;font-weight:600;background:var(--gold);color:#231404;border-radius:999px;min-width:26px;height:26px;
  display:grid;place-items:center;font-size:13px;padding:0 8px}
.uport-row.dim{opacity:.55}
.uport-row.dim em{background:rgba(255,255,255,.2);color:#fff}
@media (max-width:980px){.uport-in{grid-template-columns:1fr}.uport-card{justify-self:stretch;max-width:none;transform:none}
  .uport-list li{grid-template-columns:1fr}}

/* ================= round 7 ================= */
/* the chart on a neighbourhood page */
.hood-chart{margin:22px 0 30px;max-width:760px}
.hood-chart img{width:100%;height:auto;display:block;border-radius:var(--r-lg);background:#fff;
  box-shadow:0 18px 44px -20px rgba(43,26,58,.25)}
.hood-chart figcaption{margin-top:10px;font-size:13px;color:var(--ink-2)}

/* header: a gold button on desktop */
.hcta{display:none;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:var(--gold);color:#231404;
  font:600 14.5px var(--font-body);text-decoration:none;white-space:nowrap;transition:transform .2s,background .2s}
.hcta:hover{background:var(--gold-soft);transform:translateY(-1px)}
@media (min-width:1180px){.hcta{display:inline-flex}}

/* listing page: sticky section nav */
.lp-sub{position:sticky;top:74px;z-index:15;display:flex;gap:6px;align-items:center;margin:0 -4px 14px;padding:8px 4px;
  background:rgba(246,241,233,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-x:auto;scrollbar-width:none}
.lp-sub::-webkit-scrollbar{display:none}
.lp-sub a{flex:none;padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--ink-2);text-decoration:none;
  transition:background .2s,color .2s}
.lp-sub a:hover{background:#fff;color:var(--primary)}
.lp-sub a.go{margin-left:auto;background:var(--primary);color:#fff;font-weight:600}
.lp-sub a.go:hover{background:var(--pwc-byzantium,#5B2C6F)}
@media (max-width:560px){.lp-sub{top:64px}.lp-sub a.go{display:none}}

/* listing page: the phone bar */
.lp-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);border-top:1px solid var(--edge);backdrop-filter:blur(8px)}
.lp-bar a{flex:1;text-align:center;padding:12px 8px;border-radius:999px;border:1px solid var(--edge);text-decoration:none;
  color:var(--primary);font-weight:600;font-size:14.5px}
.lp-bar a.go{background:var(--primary);color:#fff;border-color:var(--primary)}
@media (max-width:980px){.lp-bar{display:flex}body.lp{padding-bottom:78px}}

/* ================= round 8 ================= */
/* articles: the reading rail */
.art-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:26px 56px;align-items:start}
.art-body .prose{margin:0 !important}
.art-rail{font-size:14px;color:var(--ink-2)}
.art-meta{margin:0;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.art-k{font:600 12px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--primary);margin:0 0 10px}
.art-toc{margin-top:18px;padding-top:16px;border-top:1px solid var(--edge)}
.art-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.art-toc a{display:block;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--edge);color:var(--ink-2);
  text-decoration:none;font-size:13px;line-height:1.35;transition:background .2s,color .2s,border-color .2s}
.art-toc a:hover,.art-toc a.is-here{color:var(--primary);border-color:var(--primary)}
.art-ask{display:none}
@media (min-width:1100px){
  .art-grid{grid-template-columns:240px minmax(0,68ch)}
  .art-rail{position:sticky;top:96px}
  .art-toc ol{display:grid;gap:2px}
  .art-toc a{background:none;border:0;padding:7px 10px;border-radius:10px;font-size:14px}
  .art-toc a:hover,.art-toc a.is-here{background:#fff;border:0}
  .art-ask{display:block;margin-top:22px;padding:18px;border-radius:var(--r-lg);background:var(--plum-900);color:#fff}
  .art-ask p{margin:0 0 12px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.8)}
  .art-ask a{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;background:var(--gold);color:#231404;
    font-weight:600;font-size:13.5px;text-decoration:none;transition:background .2s}
  .art-ask a:hover{background:var(--gold-soft)}
}
/* articles: keep reading */
html body .art-next-sec{padding-top:0}
.art-next{border-top:1px solid var(--edge);padding-top:34px;margin-top:24px}
.art-next-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
.art-next-head .art-k{margin:0}
.art-next-head a{font-size:14px;font-weight:500;color:var(--primary);text-decoration:none;border-bottom:1px solid var(--edge)}
.art-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.art-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--edge);
  text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s}
.art-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px -24px rgba(43,26,58,.35);border-color:transparent}
.art-card .ec{font:600 12px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.art-card strong{font-weight:600;font-size:18px;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.art-card .bl{font-size:14px;line-height:1.5;color:var(--ink-2)}
.art-card .go{margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:600;color:var(--primary)}

/* page to page: a short cross-fade, no delay. Browsers without cross-document view
   transitions get a plain fade-in on arrival instead. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.16s ease-out both vt-out}
::view-transition-new(root){animation:.24s ease-out both vt-in}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0}}
@supports not (view-transition-name:root){body{animation:pg-in .3s ease-out both}}
@keyframes pg-in{from{opacity:0}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),body{animation:none}}

/* ================= round 9 ================= */
/* hero: the scroll cue alone on the right; the gold quick link only where the header has none */
.uh-foot{justify-content:flex-end;margin-top:38px}
@media (min-width:1180px){.uh-quick a.gold{display:none}}

/* hero search: the ideas drop down from the box, like the results do */
.us-try{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:30;display:block;margin:0;padding:8px;background:#fff;
  border-radius:var(--r-md);box-shadow:0 30px 70px -20px rgba(8,3,14,.55)}
.us-try[hidden]{display:none}
.us-try span{display:block;padding:8px 12px 6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.us-try button{display:flex;width:100%;align-items:center;gap:11px;text-align:left;border:0;background:none;color:var(--ink);
  border-radius:10px;padding:11px 12px;font:500 15px var(--font-body);cursor:pointer;transition:background .15s,color .15s}
.us-try button::before{content:"";flex:none;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E3A8C' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4-4'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.55}
.us-try button:hover,.us-try button:focus-visible{background:var(--pwc-amethyst-50);color:var(--primary);transform:none}

/* the header search: a white panel, nothing else */
html body .search-overlay{background:rgba(20,10,28,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html body .search-panel{background:#fff;width:min(720px,92vw);margin-top:min(14vh,140px);border:0;border-radius:var(--r-lg);
  box-shadow:0 50px 120px -30px rgba(8,3,14,.7);overflow:hidden}
html body .search-row{padding:18px 22px;gap:14px;border-bottom:1px solid var(--edge)}
html body .search-row input{font:400 19px/1.3 var(--font-body);color:var(--ink);background:none;border:0;box-shadow:none}
html body .search-row input:focus,html body .search-row input:focus-visible{outline:none;box-shadow:none}
html body .search-row input::placeholder{color:var(--ink-2)}
html body .search-close{width:36px;height:36px;border-radius:50%;background:var(--pwc-amethyst-50);color:var(--ink);font-size:22px;
  display:grid;place-items:center;transition:background .15s,color .15s}
html body .search-close:hover{background:var(--primary);color:#fff}
html body .search-try{display:block;margin:0;padding:10px 12px 12px;border-bottom:1px solid var(--edge)}
html body .search-try[hidden]{display:none}
html body .search-try span{display:block;padding:6px 10px 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
html body .search-try button{display:flex;width:100%;align-items:center;gap:11px;text-align:left;border:0;background:none;color:var(--ink);
  border-radius:10px;padding:11px 10px;font:500 15px var(--font-body);cursor:pointer;transition:background .15s,color .15s}
html body .search-try button::before{content:"";flex:none;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E3A8C' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4-4'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.55}
html body .search-try button:hover,html body .search-try button:focus-visible{background:var(--pwc-amethyst-50);color:var(--primary);transform:none}
html body .search-results{max-height:52vh}
html body .search-results a{display:block;padding:14px 22px;border-bottom:1px solid var(--edge);color:var(--ink);text-decoration:none}
html body .search-results a:hover{background:var(--pwc-amethyst-50)}
html body .search-results a strong{display:block;font:600 15.5px/1.3 var(--font-body);text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:2px}
html body .search-results a span{font-size:13px;color:var(--ink-2)}
html body .search-none{padding:18px 22px;color:var(--ink-2)}

/* colour flow: a dark section, and everything inside it that was drawn for ivory */
.u-dark{background:var(--plum-900);color:#F3EDF7}
.u-dark .u-eyebrow{color:var(--gold-soft)}
.u-dark .u-h2{color:#fff}
.u-dark .u-lead,.u-dark .usp-tx .u-lead{color:#D9C7E6}
.u-dark .u-more{color:var(--gold-soft)}
.u-dark .usp-pts li{color:#E4D7EE}
.u-dark .usp-pts b{background:rgba(255,255,255,.12);color:#fff}
.u-dark .usp-tools a{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff}
.u-dark .usp-tools a:hover{background:#fff;border-color:#fff;color:var(--plum-900)}
.u-dark .usp-fig img{box-shadow:0 34px 80px -30px rgba(0,0,0,.7)}
.u-dark .usp-fig figcaption{color:#C5B2D4}
.u-dark .un-banner{box-shadow:0 34px 80px -30px rgba(0,0,0,.7)}
.u-dark .un-foot{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.u-dark .un-foot .un-grid a{background:rgba(255,255,255,.09);color:#fff}
.u-dark .un-foot .un-grid a:hover{background:#fff;border-color:#fff;color:var(--plum-900)}
.u-dark .un-links{border-color:rgba(255,255,255,.12)}
.u-dark :where(a,button):focus-visible{outline-color:var(--gold-soft)}

/* the call to action is the top of the footer: one dark block to close the page */
.uct-sec{background:var(--plum-900);color:#fff;padding:clamp(64px,8vw,112px) 0 0;position:relative;overflow:hidden}
.uct-sec::before{content:"";position:absolute;right:-10%;top:-30%;width:52vw;height:52vw;max-width:760px;max-height:760px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(201,162,39,.16),transparent 70%);pointer-events:none}
.uct{background:none;border-radius:0;padding:0 0 clamp(48px,6vw,84px);border-bottom:1px solid rgba(255,255,255,.12);
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,80px);position:relative}
.uct .u-eyebrow{color:var(--gold-soft);margin-bottom:16px}
.uct h2{font-family:var(--font-display) !important;font-weight:500;font-size:clamp(32px,4.6vw,60px);line-height:1.06;letter-spacing:.004em;margin:0 0 16px}
.uct p{font-size:clamp(16.5px,1.4vw,19px);line-height:1.55;max-width:44ch}
.uct-btns{gap:10px;min-width:0}
.uct-btns a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border-radius:18px;padding:16px 20px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}
.uct-btns a svg{color:var(--gold-soft)}
.uct-btns a span{font-size:17px;font-weight:600;line-height:1.2}
.uct-btns a small{font-weight:400;font-size:13px;opacity:.72;margin-top:3px}
.uct-btns a i{font-style:normal;font-size:22px;line-height:1;opacity:.6;transition:transform .2s,opacity .2s}
.uct-btns a:hover{background:rgba(255,255,255,.13);transform:none}
.uct-btns a:hover i{transform:translateX(4px);opacity:1}
.uct-btns a.solid{background:#fff;border-color:#fff;color:var(--plum-900)}
.uct-btns a.solid svg{color:var(--primary)}
.uct-btns a.solid span{font-size:22px;letter-spacing:.01em}
.uct-btns a.solid:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
main:has(.uct-sec)~.uft{margin-top:0}
/* the July name marquee sat between the call to action and the footer; the homepage lists those names one section up */
.pwc-marquee{display:none}
@media (max-width:980px){.uct{grid-template-columns:1fr}}

/* ================= round 10 ================= */
/* the slogan fades in on its own clock, not on the observer */
.uh-h1{animation:uhIn 1.4s cubic-bezier(.2,.7,.3,1) .15s both}
@keyframes uhIn{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){.uh-h1{animation:none}}

/* the dashboard and portal section: bigger, and the mock sits straight */
.uport{padding:clamp(80px,9vw,140px) 0}
.uport-in{align-items:center}
.uport-tx .u-h2{max-width:16ch}
.uport-tx .u-lead+.u-lead{margin-top:-6px}
.uport-card{transform:none;max-width:460px;padding:20px}
.uport-tabs{display:flex;gap:6px;margin:0 0 14px;padding:4px;border-radius:12px;background:rgba(255,255,255,.07)}
.uport-tabs span{flex:1;text-align:center;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:500;color:#C5B2D4}
.uport-tabs span.on{background:#fff;color:var(--plum-900);font-weight:600}
.uport-step{padding:14px 14px 12px;border-radius:12px;background:rgba(255,255,255,.07);margin-bottom:8px}
.uport-step b{display:block;font-size:14.5px;font-weight:600;margin-bottom:8px}
.uport-step i{display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.uport-step u{display:block;height:100%;background:var(--gold);border-radius:999px;text-decoration:none}
.uport-step small{display:block;margin-top:8px;font-size:12.5px;color:#C5B2D4}
.uport-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(40px,5vw,64px)}
.uport-col{padding:clamp(24px,3vw,36px);border-radius:var(--r-lg);background:var(--pwc-amethyst-50);border:1px solid rgba(126,58,140,.10)}
.uport-col h3{font-family:var(--font-body);font-weight:600;font-size:clamp(20px,1.8vw,24px);line-height:1.25;letter-spacing:-.015em;margin:0 0 18px;color:var(--ink);text-wrap:balance}
.uport-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.uport-col li{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start;padding:14px 0 0;border-top:1px solid rgba(126,58,140,.14)}
.uport-col li b{font:600 12px/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--primary);padding-top:3px}
.uport-col li span{font-size:15.5px;line-height:1.6;color:var(--ink-2)}
@media (max-width:980px){.uport-two{grid-template-columns:1fr}.uport-col li{grid-template-columns:1fr;gap:6px}}

/* ================= round 11 ================= */
/* Neighbourhoods index: the price chart is the card's picture, the figure sits on it */
html body .area .ph:has(img){background:#fff}
html body .area .ph:has(img)::after{display:none}
html body .area .ph img{width:100%;height:100%;object-fit:cover;object-position:0 0;display:block}
.area .ph .pv{position:absolute;left:14px;bottom:12px;z-index:2;background:var(--plum-900);color:#fff;border-radius:999px;
  padding:7px 13px;font:600 13px/1 var(--font-body);letter-spacing:.01em;box-shadow:0 8px 20px -8px rgba(8,3,14,.5)}

/* ================= round 12: About ================= */
.ab-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:center}
.ab-fig{margin:0;position:relative}
.ab-fig img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:50% 12%;border-radius:var(--r-lg);display:block;background:#F2EDE3}
.ab-fig::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--pwc-amethyst-300);border-radius:var(--r-lg);z-index:-1}
.ab-story p{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin:0 0 14px;max-width:58ch}
.ab-story .u-lead{font-size:clamp(17.5px,1.5vw,21px);color:var(--ink)}
.ab-quote{font-family:var(--font-display) !important;font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.12;letter-spacing:.004em;
  color:#fff;max-width:20ch;margin:0 0 clamp(28px,4vw,48px);text-wrap:balance}
.ab-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ab-pillar{padding:26px 24px;border-radius:var(--r-md);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  transition:background .3s,transform .3s}
.ab-pillar:hover{background:rgba(255,255,255,.1);transform:translateY(-3px)}
.ab-pillar b{display:block;font:600 12px/1 var(--font-body);letter-spacing:.18em;color:var(--gold-soft);margin-bottom:14px}
.ab-pillar h3{font-size:19px;font-weight:600;margin:0 0 8px;color:#fff}
.ab-pillar p{margin:0;font-size:15px;line-height:1.6;color:#D9C7E6}
.ab-back{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.ab-tile{padding:24px 22px;border-radius:var(--r-md);background:#fff;border:1px solid var(--edge);transition:transform .3s,box-shadow .3s}
.ab-tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(43,26,58,.12)}
.ab-tile b{display:block;font:600 clamp(26px,2.4vw,34px)/1.05 var(--font-body);color:var(--primary);letter-spacing:-.02em;margin-bottom:10px}
.ab-tile b.st{color:var(--gold);font-size:21px;letter-spacing:2px}
.ab-tile strong{display:block;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px}
.ab-tile p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.ab-tile a{color:var(--primary);font-weight:600;text-decoration:none;border-bottom:1px solid var(--edge)}
@media (max-width:980px){.ab-story{grid-template-columns:1fr}.ab-fig{max-width:360px}.ab-pillars,.ab-back{grid-template-columns:1fr}}
@media (min-width:600px) and (max-width:980px){.ab-back{grid-template-columns:1fr 1fr}}

/* ================= round 13 ================= */
/* FAQ: pills, search and accordion */
html body .faq-pills a{border:1px solid var(--edge) !important;background:#fff !important;border-radius:999px !important;padding:9px 16px !important;
  font-size:14px !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ink) !important;font-weight:500;margin:4px 3px !important}
html body .faq-pills a:hover{border-color:var(--primary) !important;color:var(--primary) !important;transform:translateY(-2px)}
html body .faq-search input{border-radius:999px;padding:14px 22px;border:1px solid var(--edge);font-size:15.5px;background:#fff}
html body .faq-search input:focus{border-color:var(--primary)}
.faq details{border-top:1px solid var(--edge);padding:0 !important;background:none !important}
.faq details:first-of-type{border-top:0}
.faq details[open]{background:var(--pwc-amethyst-50) !important}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-body) !important;
  text-transform:none !important;letter-spacing:0 !important;font-size:16.5px;font-weight:600;color:var(--ink)}
.faq summary::after{content:"+";width:26px;height:26px;border-radius:50%;background:var(--pwc-amethyst-50);color:var(--primary);
  display:grid;place-items:center;font-size:18px;font-weight:400;flex:none;transition:transform .25s,background .2s}
.faq details[open] summary::after{content:"+";transform:rotate(45deg);background:var(--primary);color:#fff}
.faq details p{padding:0 20px 18px !important;margin:0;font-size:16px;line-height:1.7;color:var(--ink-2)}

/* listings index: the map */
.lmap{height:clamp(320px,46vw,520px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--edge);background:#F2EFE9;
  box-shadow:0 18px 44px -24px rgba(43,26,58,.25)}
.lmap .leaflet-tile-pane{filter:grayscale(1) contrast(.92) brightness(1.06)}
.lmap .leaflet-container{background:#F2EFE9;font-family:var(--font-body)}
.lmap .leaflet-control-zoom a{border-radius:10px;color:var(--primary);border-color:var(--line)}
.lmap .leaflet-control-attribution{background:rgba(255,255,255,.82);font-size:12px}
.lm-pin{background:none;border:0}
.lm-pin span{display:block;width:34px;height:34px;border-radius:50%;background:var(--primary);border:3px solid #fff;
  box-shadow:0 8px 20px -6px rgba(8,3,14,.6);position:relative}
.lm-pin span::after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--gold)}
.lmap .leaflet-popup-content-wrapper{border-radius:16px;padding:0;overflow:hidden;box-shadow:0 20px 50px -20px rgba(8,3,14,.5)}
.lmap .leaflet-popup-content{margin:0;width:220px !important}
.lm-pop{display:block;text-decoration:none;color:var(--ink)}
.lm-pop img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.lm-pop b{display:block;padding:10px 14px 0;color:var(--primary);font-size:16px}
.lm-pop span{display:block;padding:2px 14px 12px;font-size:13.5px;color:var(--ink-2)}

/* ================= round 14: About, portrait on plum ================= */
.ab-top{padding-bottom:clamp(64px,8vw,110px)}
.ab-top .ab-story{margin-top:clamp(40px,6vw,72px);color:#F3EDF7}
.ab-top .ab-story .u-eyebrow{color:var(--gold-soft)}
.ab-top .ab-story .u-h2{color:#fff}
.ab-top .ab-story p{color:#D9C7E6}
.ab-top .ab-story .u-lead{color:#fff}
.ab-top .ab-fig img{box-shadow:0 34px 80px -30px rgba(0,0,0,.7)}
.ab-top .ab-fig::after{border-color:rgba(255,255,255,.28)}
.ab-back{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.ab-back{grid-template-columns:1fr}}
@media (min-width:600px) and (max-width:980px){.ab-back{grid-template-columns:1fr 1fr}}

/* ---- Listing pages, 2026-09-28 (Pascal's review) ----
   The section bar was 92% ivory with a blur, so the page showed through it as it scrolled under.
   It is solid now, runs the full width, and casts a shadow. The contact card starts below it
   (it was pinned at 96px, under the bar, which cut its top off). */
.lp-sub{background:#F6F1E9;backdrop-filter:none;-webkit-backdrop-filter:none;margin:0 0 18px;padding:10px 0;
  box-shadow:0 0 0 100vmax #F6F1E9,0 10px 24px -16px rgba(51,32,74,.45);clip-path:inset(0 -100vmax -30px);
  border-bottom:1px solid var(--line)}
.lp-sub a{color:#43285A;font-size:14.5px;font-weight:500}
.lp-sub a:hover{background:#fff;color:#563B79}
.lp-side{top:150px}
@media (max-width:900px){.lp-side{top:auto}}
.lp-main h1,.lp-main h2,.lp-main h3,.lp-main .lp-dl dd,.lp-main .lp-near li b{color:#43285A}
.lp .lp-price,.lp .lp-cprice,.lp .lp-cost-card .v{color:#563B79}
.lp-map .leaflet-control-attribution{font-size:12px}
/* the closing band and the footer are one dark block, wherever the band sits */
.uct-sec + .uft,.uct-sec + #site-footer .uft,.uct-sec + #site-footer > .uft,.uct-sec + div .uft{margin-top:0}

/* ---- Listing pages, second review 2026-09-28 ---- */
/* the section bar is a plum band, so it stays visible over the photos and the page */
.lp-sub{background:#33204A;box-shadow:0 0 0 100vmax #33204A,0 12px 26px -14px rgba(20,10,35,.6);border-bottom:0;padding:9px 0}
.lp-sub a{color:#EFE6F5}
.lp-sub a:hover{background:rgba(255,255,255,.14);color:#fff}
.lp-sub a.go{background:#C9A227;color:#231404}
.lp-sub a.go:hover{background:#E7C65A}
/* "See all photos": a real pill, not text squeezed into one */
.lp-all{padding:12px 22px !important;min-height:46px;font:600 15px/1 var(--font-text,'Jost',sans-serif);color:#43285A !important;
  box-shadow:0 6px 18px -8px rgba(20,10,35,.5);right:18px;bottom:18px}
/* key facts: an icon, the figure, what it is */
.lp-facts2{display:flex;flex-wrap:wrap;gap:14px 34px;list-style:none;margin:6px 0 24px;padding:18px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-facts2 li{display:grid;grid-template-columns:34px auto;column-gap:12px;align-items:center}
.lp-facts2 svg{grid-row:1 / span 2;width:34px;height:34px;fill:none;stroke:#563B79;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lp-facts2 b{font:600 19px/1.15 var(--font-text,'Jost',sans-serif);color:#43285A}
.lp-facts2 span{font-size:13px;color:#6E657E;line-height:1.2}
@media (max-width:560px){.lp-facts2{gap:14px 22px}.lp-facts2 b{font-size:17px}}
/* the two buttons that were easy to miss */
.lp-main .btn.gold{background:#C9A227;border-color:#C9A227;color:#231404;font-size:17px;padding:16px 30px;
  box-shadow:0 14px 30px -14px rgba(201,162,39,.9)}
.lp-main .btn.gold:hover{background:#E7C65A;border-color:#E7C65A;transform:translateY(-2px)}
.lp-market .btn{font-size:16px;padding:14px 26px}
.lp-score .k{margin:0 0 4px;font:600 12px/1.2 var(--font-text,'Jost',sans-serif);letter-spacing:.16em;text-transform:uppercase;color:#563B79}
.lp-main .lp-price,.lp-main .lp-cost-card .v{color:#563B79}
/* the closing band keeps its own colours on a listing page */
.lp .uct-sec h2{color:#fff !important}
/* the photos: one main image and two large ones, taller than before (2026-09-28) */
.lp-gal.lp-gal3{grid-template-columns:1.55fr 1fr;grid-template-rows:clamp(190px,23vw,300px) clamp(190px,23vw,300px);gap:12px;border-radius:24px}
.lp-gal3 .lp-g0{grid-row:1 / 3;grid-column:1}
.lp-gal3 .lp-g1{grid-row:1;grid-column:2}
.lp-gal3 .lp-g2{grid-row:2;grid-column:2}
@media (max-width:760px){
  .lp-gal.lp-gal3{grid-template-columns:1fr 1fr;grid-template-rows:clamp(230px,62vw,340px) clamp(130px,34vw,200px)}
  .lp-gal3 .lp-g0{grid-column:1 / 3;grid-row:1}
  .lp-gal3 .lp-g1{grid-column:1;grid-row:2}
  .lp-gal3 .lp-g2{grid-column:2;grid-row:2;display:block}
}
html body .lp-main a.btn.gold{background:#C9A227 !important;border-color:#C9A227 !important;color:#231404 !important}
html body .lp-main a.btn.gold:hover{background:#E7C65A !important;border-color:#E7C65A !important}
.lp-sub{margin-bottom:0}
.lp-gal{margin-top:18px}

/* ---- Listing pages, third review 2026-09-28: white cards on ivory, so the text has a ground ---- */
.lp-main .lp-sec{background:#fff;border:1px solid #E9E1EE;border-radius:24px;padding:clamp(22px,3vw,36px);margin-top:22px;
  box-shadow:0 18px 44px -30px rgba(51,32,74,.35)}
.lp-main .lp-sec h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 18px;color:#43285A}
.lp-main .lp-sec h3{font-size:17px;margin:0 0 12px;color:#43285A}
.lp-main .lp-desc p{font-size:17px;line-height:1.7;color:#2A2530;max-width:70ch}
.lp-main .lp-dl>div{padding:13px 0}
.lp-main .lp-dl dt{font-size:15px;color:#6E657E}
.lp-main .lp-dl dd{font-size:15px;color:#43285A}
.lp-head{background:#fff;border:1px solid #E9E1EE;border-radius:24px;padding:clamp(22px,3vw,36px);box-shadow:0 18px 44px -30px rgba(51,32,74,.35)}
.lp-head h1{margin-top:8px}
.lp-facts2{margin:14px 0 22px}
.lp-actions{margin:0}
.lp-others{background:none !important;border:0 !important;box-shadow:none !important;padding-left:0 !important;padding-right:0 !important}
/* the section bar: even spacing, the price, the current section as a pill */
.lp-sub{padding:12px 0;gap:4px;clip-path:inset(0 -100vmax);box-shadow:0 0 0 100vmax #33204A;margin-bottom:0}
.lp-sub a{padding:9px 16px;font-size:15px;font-weight:500;color:#E3D8EE}
.lp-sub a.on{background:rgba(255,255,255,.16);color:#fff}
.lp-sub .lp-subp{margin-left:auto;margin-right:14px;font:600 18px/1 var(--font-text,'Jost',sans-serif);color:#E7C65A;white-space:nowrap}
.lp-sub a.go{margin-left:0;padding:11px 22px;font-size:15px;font-weight:600}
@media (max-width:720px){.lp-sub .lp-subp{display:none}.lp-sub a.go{margin-left:auto}}
.lp-gal{margin-top:20px}
/* costs: four figures, then the detail */
.lp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.lp-stat{border:1px solid #E9E1EE;border-radius:20px;padding:20px 22px;background:#FBF8F3}
.lp-stat .k{margin:0;font:600 12px/1.3 var(--font-text,'Jost',sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#6E657E}
.lp-stat .v{margin:10px 0 4px;font:600 30px/1.1 var(--font-text,'Jost',sans-serif);color:#563B79;font-variant-numeric:tabular-nums}
.lp-stat .s{margin:0;font-size:13.5px;color:#6E657E;line-height:1.4}
.lp-stat.main{background:#33204A;border-color:#33204A}
.lp-stat.main .k{color:#E7C65A}.lp-stat.main .v{color:#fff}.lp-stat.main .s{color:#E3D8EE}
.lp-fold{margin:20px 0 0;border-top:1px solid #E9E1EE}
.lp-fold summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;color:#563B79;font-size:15.5px}
.lp-fold summary::-webkit-details-marker{display:none}
.lp-fold summary::after{content:"+";float:right;font-size:20px;line-height:1}
.lp-fold[open] summary::after{content:"\2212"}
.lp-fold .lp-two{padding:4px 0 8px;gap:36px}
.lp-cta{margin:26px 0 0}
/* the score: one band, the score and three facts */
.lp-prox{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,40px);align-items:center;background:#33204A;border-radius:22px;
  padding:clamp(20px,3vw,32px)}
.lp-prox .lp-score{background:none;padding:0;min-width:0;border-radius:0}
.lp-prox .lp-score .k{color:#E7C65A !important;margin-bottom:8px}
.lp-prox .lp-score .n{font:600 64px/1 var(--font-text,'Jost',sans-serif)}
.lp-prox .lp-score .n small{font-size:20px;opacity:.7}
.lp-prox .lp-score .w{margin-top:8px;font-size:16px}
.lp-proxfacts{list-style:none;margin:0;padding:0 0 0 clamp(18px,3vw,40px);border-left:1px solid rgba(255,255,255,.2);display:grid;gap:12px}
.lp-proxfacts li{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:baseline}
.lp-proxfacts b{font:600 22px/1.1 var(--font-text,'Jost',sans-serif);color:#fff;white-space:nowrap}
.lp-proxfacts span{color:#E3D8EE;font-size:15px;line-height:1.4}
.lp-scorenote{margin:12px 2px 22px;font-size:13.5px;color:#6E657E}
@media (max-width:640px){.lp-prox{grid-template-columns:1fr}.lp-proxfacts{padding:16px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}}
/* nearby places: one card per kind, names on one line */
.lp-nearby{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:22px}
.lp-near{border:1px solid #E9E1EE;border-radius:20px;padding:18px 20px;background:#FBF8F3}
.lp-near h3{font-size:15.5px !important;margin:0 0 10px !important;gap:10px}
.lp-near h3 i{width:30px;height:30px;display:grid;place-items:center}
.lp-near h3 i svg{width:16px;height:16px;fill:#fff;stroke:none}
.lp-near li{padding:8px 0;font-size:14.5px;color:#2A2530;align-items:center;border-bottom:1px solid #EFE8F2}
.lp-near li:last-child{border-bottom:0}
.lp-near li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.lp-near li b{font-size:13px;background:#EDE7F4;color:#43285A !important;border-radius:999px;padding:3px 10px}
/* the market: tiles, the note, the button, each with air */
.lp-market .eyebrow{margin:0 0 6px}
.lp-market .lp-tiles{grid-template-columns:repeat(auto-fit,minmax(200px,260px));gap:14px;margin:4px 0 18px}
.lp-market .lp-tiles>div{background:#FBF8F3;border-radius:20px;padding:20px 22px}
.lp-market .lp-tiles .v{font-size:30px}
.lp-market .lp-src{margin:0;font-size:13.5px;line-height:1.55;color:#6E657E;max-width:72ch}
.lp-src{font-size:13px;color:#6E657E}
/* his face in the closing band */
.uct-face{display:block;width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.9);margin:0 0 22px;
  box-shadow:0 12px 30px -10px rgba(10,5,20,.7)}

/* ---- Listing pages, third review, finish 2026-09-28 ---- */
/* four cost tiles sit two by two, never three and an orphan */
.lp-stats:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}
@media (max-width:480px){.lp-stats:has(> :nth-child(4):last-child){grid-template-columns:1fr}}
/* an odd last card in the nearby grid takes the full row */
.lp-nearby > .lp-near:last-child:nth-child(odd){grid-column:1 / -1}
/* the map filter chips use the site's own type */
.lp-chips button{font-family:var(--font-text,'Jost',sans-serif);font-size:14.5px;font-weight:500}
.lp-proxfacts{align-content:center;gap:16px}

/* ---- Pre-launch audit, 2026-10-06 ---- */
/* no sideways scroll on any page (the home page ran 8px wide) */
html{overflow-x:clip}
/* Affiliates: the stat labels were orchid on ivory (1.2:1) */
.stats .stat .l{color:#6E657E}
/* 404: the quick links sat in the plum band in charcoal (1.03:1) */
.page-hero .inner a:not(.btn){color:#EFE6F5}
.page-hero .inner a:not(.btn):hover{color:#fff}
/* the journal sign-up band went light in the re-skin, its paragraph stayed ivory */
html body section.dark.cta-band p{color:#4c4658 !important}
/* nothing readable under 12px: logo captions, compare labels, small notes */
html body main small{font-size:max(12px,.85em) !important}
html body .cmp-row .k{font-size:12px !important}
