/* ==========================================================================
   Versaggi Management : premium pilot layer (vm-premium.css)
   Loaded AFTER vm.css, only on pages whose meta has "premium": true and
   "css_extra": ["assets/vm-premium.css"]. The builder stamps data-premium="1"
   on the .vm wrapper, and every rule here hangs off .vm[data-premium], so the
   other pages are untouched.

   The idea: photography does the work. One bright full-bleed hero, then
   sections made of large photographs with very little text. Type stays at the
   two extremes (Playfair light at 56 to 88px, 12px tracked labels) with DM Sans
   body. Bands are white and warm stone; navy is for the footer chrome and the
   call bar only. Nothing rests at opacity 0; no JavaScript is needed for any
   content (the one inline script only REVEALS review chips on ?review=1).

   Review chips ([CONFIRM ...], [fee], PAGE PLANNED, placeholder-photo tags) are
   hidden by default and shown when the URL carries ?review=1.
   ========================================================================== */

/* ---------- review chips: hidden unless ?review=1 -------------------------- */
html:not([data-review]) .vm[data-premium] .vm-ph,
html:not([data-review]) .vm[data-premium] .vm-pp,
html:not([data-review]) .vm[data-premium] [data-preview-only] { display: none !important; }

/* ---------- tokens --------------------------------------------------------- */
.vm[data-premium] {
  --vp-pad: 64px;                       /* section padding, phones */
  --vp-fs-h1: clamp(3rem, 1.4rem + 5.6vw, 5.5rem);      /* 48 to 88 */
  --vp-fs-h2: clamp(2.25rem, 1.3rem + 2.9vw, 3.5rem);   /* 36 to 56 */
  --vp-fs-name: clamp(1.625rem, 1.2rem + 1.1vw, 2.25rem);
  --vp-fs-lead: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  --vp-shade: rgba(9, 20, 29, 0.62);
  --vp-white-line: rgba(255, 255, 255, 0.6);
}
@media (min-width: 768px) { .vm[data-premium] { --vp-pad: 96px; } }
@media (min-width: 1200px) { .vm[data-premium] { --vp-pad: 124px; } }

.vm[data-premium] .vp-sec { padding-block: var(--vp-pad); }
.vm[data-premium] .vp-sec--stone { background: var(--vm-c-stone); }
.vm[data-premium] .vp-sec--paper { background: var(--vm-c-paper); }
.vm[data-premium] .vp-sec--snug { padding-block: calc(var(--vp-pad) * 0.78); }

/* ---------- type ------------------------------------------------------------ */
.vm[data-premium] .vp-h1,
.vm[data-premium] .vp-h2 {
  font-family: var(--vm-serif); font-weight: 300; font-optical-sizing: auto;
  letter-spacing: -0.02em; font-variant-numeric: lining-nums; text-wrap: balance;
}
.vm[data-premium] .vp-h1 { font-size: var(--vp-fs-h1); line-height: 1; max-width: 12ch; }
.vm[data-premium] .vp-h2 { font-size: var(--vp-fs-h2); line-height: 1.04; max-width: 16ch; }
.vm[data-premium] .vp-h1--wide { max-width: 17ch; }
.vm[data-premium] .vp-h1 em, .vm[data-premium] .vp-h2 em { font-style: italic; font-weight: 300; }
.vm[data-premium] .vp-lead { font-size: var(--vp-fs-lead); line-height: 1.55; max-width: 44ch; }
.vm[data-premium] .vp-label { font-weight: 500; font-size: 0.75rem; line-height: 1.5; letter-spacing: 0.22em; text-transform: uppercase; }

/* section head: tracked label, big light heading, one sentence */
.vm[data-premium] .vp-head { margin-bottom: clamp(40px, 5vw, 72px); display: grid; gap: var(--vm-s-4); }
.vm[data-premium] .vp-head .vp-label { color: var(--vm-accent-text); }
.vm[data-premium] .vp-head .vp-lead { color: var(--vm-muted); margin-top: var(--vm-s-2); }
@media (min-width: 1024px) {
  .vm[data-premium] .vp-head--split { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--vm-gutter); align-items: end; }
  .vm[data-premium] .vp-head--split > .vp-label { grid-column: 1 / -1; }
  .vm[data-premium] .vp-head--split > .vp-h2 { grid-column: 1 / span 7; }
  .vm[data-premium] .vp-head--split > .vp-lead { grid-column: 9 / -1; margin: 0 0 var(--vm-s-2); }
}

/* ---------- buttons and links ---------------------------------------------- */
.vm[data-premium] .vp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--vm-s-5);
  min-height: 64px; padding: var(--vm-s-4) var(--vm-s-10);
  border: 1px solid transparent; border-radius: 0; text-decoration: none; cursor: pointer;
  font-family: var(--vm-sans); font-weight: 600; font-size: 0.8125rem; line-height: 1.25;
  letter-spacing: 0.18em; text-transform: uppercase; text-align: center;
  transition: background-color var(--vm-fast) var(--vm-ease), color var(--vm-fast) var(--vm-ease), border-color var(--vm-fast) var(--vm-ease);
}
.vm[data-premium] .vp-btn:hover .vm-arrow, .vm[data-premium] .vp-btn:focus-visible .vm-arrow { width: var(--vm-s-12); }
.vm[data-premium] .vp-btn--white { background: #fff; color: var(--vm-c-navy); border-color: #fff; }
.vm[data-premium] .vp-btn--white:hover { background: var(--vm-c-blue); border-color: var(--vm-c-blue); color: var(--vm-c-navy); }
.vm[data-premium] .vp-btn--blue { background: var(--vm-c-blue); color: var(--vm-c-navy); border-color: var(--vm-c-blue); }
.vm[data-premium] .vp-btn--blue:hover { background: var(--vm-c-navy); border-color: var(--vm-c-navy); color: #fff; }
@media (max-width: 479px) {
  .vm[data-premium] .vp-btn { width: 100%; padding-inline: var(--vm-s-4); letter-spacing: 0.1em; font-size: 0.75rem; gap: var(--vm-s-3); }
  .vm[data-premium] .vp-btn .vm-arrow { width: var(--vm-s-6); }
  .vm[data-premium] { --vp-fs-h2: 2.375rem; --vp-fs-name: 1.375rem; }
}

.vm[data-premium] .vp-quiet {
  display: inline-flex; align-items: center; gap: var(--vm-s-4); min-height: 44px;
  font-weight: 500; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; line-height: 1.3;
  color: inherit; text-decoration: none;
}
.vm[data-premium] .vp-quiet:hover .vm-arrow, .vm[data-premium] .vp-quiet:focus-visible .vm-arrow { width: var(--vm-s-12); }
.vm[data-premium] .vp-phone {
  display: inline-flex; align-items: center; min-height: 44px; gap: var(--vm-s-3);
  font-weight: 600; font-size: 1rem; letter-spacing: 0.03em; font-variant-numeric: tabular-nums; color: inherit; text-decoration: none;
  border-bottom: 1px solid transparent;
}
.vm[data-premium] .vp-phone:hover { border-bottom-color: currentColor; }
.vm[data-premium] .vp-phone .vp-label { opacity: 0.85; }

/* ---------- hero: one bright photograph, text bottom-left ------------------ */
.vm[data-premium] .vp-hero {
  position: relative; isolation: isolate; overflow: hidden; color: #fff;
  display: flex; align-items: flex-end;
  min-height: max(560px, calc(100vh - var(--vm-header-h)));
  min-height: max(560px, calc(100svh - var(--vm-header-h)));
  max-height: 1000px;
  background: #aebcc4;
}
.vm[data-premium] .vp-hero__media { position: absolute; inset: 0; z-index: -1; margin: 0; }
.vm[data-premium] .vp-hero__media img {
  width: 100%; height: 100%; object-fit: cover; object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%);
}
/* one soft gradient, behind the text only (bottom-left), nothing across the whole photograph */
.vm[data-premium] .vp-hero__media::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(0deg, rgba(9, 20, 29, 0.64) 0%, rgba(9, 20, 29, 0.46) 38%, rgba(9, 20, 29, 0) 74%),
    linear-gradient(78deg, rgba(9, 20, 29, 0.64) 0%, rgba(9, 20, 29, 0.5) 50%, rgba(9, 20, 29, 0) 72%);
}
.vm[data-premium] .vp-hero__body { width: 100%; padding-block: 0 clamp(40px, 8vh, 88px); padding-top: var(--vm-s-16); }
.vm[data-premium] .vp-hero__body > .vp-label { color: #fff; margin-bottom: var(--vm-s-5); }
.vm[data-premium] .vp-hero .vp-h1 { color: #fff; }
.vm[data-premium] .vp-hero .vp-h1 em { color: #fff; }
.vm[data-premium] .vp-hero .vp-lead { color: #fff; margin-top: var(--vm-s-6); max-width: 46ch; }
.vm[data-premium] .vp-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vm-s-4) var(--vm-s-10); margin-top: var(--vm-s-10); }
.vm[data-premium] .vp-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vm-s-2) var(--vm-s-8); }
.vm[data-premium] .vp-hero .vp-quiet, .vm[data-premium] .vp-hero .vp-phone { color: #fff; }
@media (max-width: 639px) {
  .vm[data-premium] .vp-hero { min-height: max(600px, calc(100svh - var(--vm-header-h))); }
  .vm[data-premium] .vp-hero__actions { gap: var(--vm-s-4); }
  .vm[data-premium] .vp-hero__links { width: 100%; justify-content: space-between; }
}
/* tablets (721 to 1023): the heavy overlay, because the text spans more of the width than on desktop */
@media (max-width: 1023px) {
  .vm[data-premium] .vp-hero__media::after {
    background:
      linear-gradient(0deg, rgba(9, 20, 29, 0.74) 0%, rgba(9, 20, 29, 0.56) 45%, rgba(9, 20, 29, 0.36) 85%),
      linear-gradient(rgba(9, 20, 29, 0.22), rgba(9, 20, 29, 0.22));
  }
}
/* phones: no flat wash. One gradient anchored to the text block: clear above it, 0.62 behind the first line,
   0.76 at the foot. The headline length differs per page, so the scrim follows the text, not a fixed height. */
@media (max-width: 720px) {
  .vm[data-premium] .vp-hero__media::after { background: none; }
  .vm[data-premium] .vp-hero__body { position: relative; padding-top: 96px; }
  .vm[data-premium] .vp-hero__body::before {
    content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; margin-left: -50vw; pointer-events: none;
    background: linear-gradient(180deg, rgba(9, 20, 29, 0) 0, rgba(9, 20, 29, 0.24) 44px, rgba(9, 20, 29, 0.62) 96px, rgba(9, 20, 29, 0.76) 100%);
  }
  .vm[data-premium] .vp-hero__media img, .vm[data-premium] .vp-close__media img,
  .vm[data-premium] .vp-tile__media img, .vm[data-premium] .vp-split__media img, .vm[data-premium] .vp-card__media img {
    object-position: calc(var(--mfx, var(--fx, 50)) * 1%) calc(var(--mfy, var(--fy, 50)) * 1%);
  }
  .vm[data-premium] .vp-hero__body > .vp-label { letter-spacing: 0.16em; }
}
.vm[data-premium] .vp-hero .vm-pp { top: var(--vm-s-4); bottom: auto; right: auto; left: var(--vm-s-4); }
.vm[data-premium] .vp-crumbs { margin-bottom: var(--vm-s-6); }
.vm[data-premium] .vp-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--vm-s-2); font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; }
.vm[data-premium] .vp-crumbs li + li::before { content: "/"; margin-right: var(--vm-s-2); opacity: 0.7; }
.vm[data-premium] .vp-crumbs a:hover { text-decoration: underline; text-underline-offset: 0.3em; }

/* ---------- trust strip: deep brand-blue band, thin white icons -------------- */
.vm[data-premium] .vp-trust { background: linear-gradient(100deg, #1A6C94 0%, #165F84 100%); color: #fff; border-bottom: 0; }
.vm[data-premium] .vp-trust__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vm[data-premium] .vp-trust__list li {
  display: block;
  padding: var(--vm-s-8) var(--vm-s-4) var(--vm-s-8) 0; border-top: 1px solid rgba(255, 255, 255, 0.22);
  font-family: var(--vm-serif); font-weight: 300; font-size: clamp(1.25rem, 1rem + 0.9vw, 1.75rem); line-height: 1.2; letter-spacing: -0.005em;
}
.vm[data-premium] .vp-trust__list li::before {
  content: ""; display: block; margin-bottom: var(--vm-s-4); width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%;
  background-repeat: no-repeat; background-position: center; background-size: 22px 22px;
}
.vm[data-premium] .vp-trust__list li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%271.3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M3 11l9-8 9 8M5 10v10h14V10M10 20v-6h4v6%27/%3E%3C/svg%3E"); }
.vm[data-premium] .vp-trust__list li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%271.3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M14.7 6.3a4 4 0 0 0-5.4 5.1L3 17.7 6.3 21l6.3-6.3a4 4 0 0 0 5.1-5.4l-2.5 2.5-2.2-.5-.5-2.2z%27/%3E%3C/svg%3E"); }
.vm[data-premium] .vp-trust__list li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%271.3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M10 4H5v16h5M14 8l4 4-4 4M18 12H9%27/%3E%3C/svg%3E"); }
.vm[data-premium] .vp-trust__list li:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%271.3%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 3h9l4 4v14H6zM14 3v5h5M9 13h7M9 17h7%27/%3E%3C/svg%3E"); }
.vm[data-premium] .vp-trust__list li:nth-child(-n+2) { border-top: 0; }
.vm[data-premium] .vp-trust__list li:nth-child(even) { padding-left: var(--vm-s-5); border-left: 1px solid rgba(255, 255, 255, 0.22); }
@media (min-width: 900px) {
  .vm[data-premium] .vp-trust__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vm[data-premium] .vp-trust__list li { padding: var(--vm-s-10) var(--vm-s-6); border-top: 0; border-left: 1px solid rgba(255, 255, 255, 0.22); }
  .vm[data-premium] .vp-trust__list li:first-child { padding-left: 0; border-left: 0; }
  .vm[data-premium] .vp-trust__list li:nth-child(even) { padding-left: var(--vm-s-6); }
}

/* ---------- photo tiles: title in light serif, hairline, tracked label, thin arrow ---------- */
.vm[data-premium] .vp-tiles { display: grid; gap: var(--vm-gutter); }
.vm[data-premium] .vp-tile {
  position: relative; display: block; overflow: hidden; isolation: isolate; color: #fff; text-decoration: none;
  background: #b9c4ca; aspect-ratio: var(--vp-ar, 4 / 5);
}
.vm[data-premium] .vp-tile__media { position: absolute; inset: 0; z-index: -1; margin: 0; }
.vm[data-premium] .vp-tile__media img {
  width: 100%; height: 100%; object-fit: cover; object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%);
  transition: transform 1400ms var(--vm-ease);
}
.vm[data-premium] .vp-tile__media::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(0deg, rgba(9, 20, 29, 0.78) 0%, rgba(9, 20, 29, 0.5) 30%, rgba(9, 20, 29, 0.12) 58%, rgba(9, 20, 29, 0) 72%);
}
.vm[data-premium] .vp-tile__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--vm-s-6); display: grid; gap: var(--vm-s-3); }
.vm[data-premium] .vp-tile__name { font-family: var(--vm-serif); font-weight: 300; font-size: var(--vp-fs-name); line-height: 1.08; letter-spacing: -0.01em; text-wrap: balance; }
.vm[data-premium] .vp-tile__rule { display: block; height: 1px; background: var(--vp-white-line); }
.vm[data-premium] .vp-tile__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--vm-s-4); font-weight: 500; font-size: 0.75rem; line-height: 1.4; letter-spacing: 0.2em; text-transform: uppercase; }
.vm[data-premium] .vp-tile:hover .vp-tile__media img, .vm[data-premium] .vp-tile:focus-visible .vp-tile__media img { transform: scale(1.04); }
.vm[data-premium] .vp-tile:hover .vm-arrow, .vm[data-premium] .vp-tile:focus-visible .vm-arrow { width: var(--vm-s-12); }
.vm[data-premium] .vp-tile .vm-pp { top: var(--vm-s-3); left: var(--vm-s-3); }
.vm[data-premium] .vp-tile:focus-visible { outline: 3px solid var(--vm-c-blue-text); outline-offset: 3px; }   /* 5.19:1 on stone, 5.81:1 on white */

/* phones and small tablets: a single swipe row, the next tile peeks in */
@media (max-width: 899px) {
  .vm[data-premium] .vp-tiles--row {
    grid-auto-flow: column; grid-auto-columns: 78%; grid-template-columns: none;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--vm-margin)); padding-inline: var(--vm-margin); scroll-padding-inline: var(--vm-margin);
    padding-bottom: var(--vm-s-2);
  }
  .vm[data-premium] .vp-tiles--row::-webkit-scrollbar { display: none; }
  .vm[data-premium] .vp-tiles--row > li { scroll-snap-align: start; }
}
@media (min-width: 640px) and (max-width: 899px) { .vm[data-premium] .vp-tiles--row { grid-auto-columns: 46%; } }
@media (min-width: 900px) {
  .vm[data-premium] .vp-tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .vm[data-premium] .vp-tiles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vm[data-premium] .vp-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.vm[data-premium] .vp-tiles--land .vp-tile { --vp-ar: 16 / 10; }
.vm[data-premium] .vp-tiles--land .vp-tile__cap { padding: var(--vm-s-8); }
@media (max-width: 899px) { .vm[data-premium] .vp-tiles--land .vp-tile { --vp-ar: 4 / 5; } }
@media (min-width: 900px) { .vm[data-premium] .vp-tiles--4 .vp-tile__cap { padding: var(--vm-s-8) var(--vm-s-6); } }

/* areas: one large tile and four small */
@media (min-width: 900px) {
  .vm[data-premium] .vp-areas { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(220px, 21vw, 300px); }
  .vm[data-premium] .vp-areas > li { display: flex; }
  .vm[data-premium] .vp-areas > li > .vp-tile { aspect-ratio: auto; flex: 1; }
  .vm[data-premium] .vp-areas > li:first-child { grid-column: 1 / span 2; grid-row: 1 / span 2; }
  .vm[data-premium] .vp-areas > li:first-child .vp-tile__name { font-size: clamp(2.25rem, 1.4rem + 2.2vw, 3.5rem); }
}
@media (max-width: 899px) { .vm[data-premium] .vp-areas .vp-tile { --vp-ar: 4 / 5; } }

/* ---------- split: a large photograph and a short text block ------------------ */
.vm[data-premium] .vp-split { display: grid; gap: var(--vm-s-10); align-items: center; }
.vm[data-premium] .vp-split__media { position: relative; margin: 0; overflow: hidden; aspect-ratio: 4 / 3; background: #b9c4ca; }
.vm[data-premium] .vp-split__media img { width: 100%; height: 100%; object-fit: cover; object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%); }
.vm[data-premium] .vp-split__text { display: grid; gap: var(--vm-s-6); justify-items: start; }
.vm[data-premium] .vp-split__text p { max-width: 44ch; font-size: var(--vp-fs-lead); line-height: 1.6; }
.vm[data-premium] .vp-split__text .vp-label { color: var(--vm-accent-text); font-size: 0.75rem; line-height: 1.5; max-width: none; }
.vm[data-premium] .vp-link {
  display: inline-flex; align-items: center; gap: var(--vm-s-4); min-height: 44px;
  font-weight: 600; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--vm-accent-text); text-decoration: none;
}
.vm[data-premium] .vp-link:hover .vm-arrow, .vm[data-premium] .vp-link:focus-visible .vm-arrow { width: var(--vm-s-12); }
@media (max-width: 1023px) { .vm[data-premium] .vp-split__media--tall { aspect-ratio: 4 / 5; } }
.vm[data-premium] .vp-split--top { align-items: start; }
@media (min-width: 1024px) { .vm[data-premium] .vp-split--top .vp-split__media { align-self: stretch; aspect-ratio: auto; min-height: 420px; } }
@media (min-width: 1024px) {
  .vm[data-premium] .vp-split__media--tall { aspect-ratio: 4 / 5; grid-column: 1 / span 6; }
  .vm[data-premium] .vp-split { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--vm-gutter); }
  .vm[data-premium] .vp-split__media { grid-column: 1 / span 7; aspect-ratio: 5 / 4; }
  .vm[data-premium] .vp-split__text { grid-column: 9 / -1; }
  .vm[data-premium] .vp-split--flip .vp-split__media { grid-column: 6 / -1; grid-row: 1; }
  .vm[data-premium] .vp-split--flip .vp-split__text { grid-column: 1 / span 4; grid-row: 1; }
}

/* ---------- three cards (move-in, every month, move-out) ----------------------- */
.vm[data-premium] .vp-cards { display: grid; gap: var(--vm-s-12) var(--vm-gutter); border-top: 1px solid var(--vm-line-strong); padding-top: var(--vm-s-6); }
.vm[data-premium] .vp-card__stage { color: var(--vm-accent-text); }
.vm[data-premium] .vp-card { display: grid; gap: var(--vm-s-5); align-content: start; }
.vm[data-premium] .vp-card__media { position: relative; margin: 0; overflow: hidden; aspect-ratio: 4 / 3; background: #b9c4ca; }
.vm[data-premium] .vp-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%); }
.vm[data-premium] .vp-card__name { font-family: var(--vm-serif); font-weight: 300; font-size: var(--vp-fs-name); line-height: 1.08; letter-spacing: -0.01em; }
.vm[data-premium] .vp-card__text { max-width: 36ch; color: var(--vm-ink); }
@media (min-width: 900px) { .vm[data-premium] .vp-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- who this fits: four short lines beside one photograph --------------- */
.vm[data-premium] .vp-fits { display: grid; }
.vm[data-premium] .vp-fits li {
  padding-block: var(--vm-s-6); border-top: 1px solid var(--vm-line-strong);
  font-family: var(--vm-serif); font-weight: 300; font-size: clamp(1.375rem, 1.1rem + 0.9vw, 1.875rem); line-height: 1.18; letter-spacing: -0.005em; max-width: 30ch;
}
.vm[data-premium] .vp-fits li:last-child { border-bottom: 1px solid var(--vm-line-strong); }

/* ---------- reviews ------------------------------------------------------------- */
.vm[data-premium] .vp-rev { display: grid; gap: var(--vm-s-12); }
.vm[data-premium] .vp-rev__lead { margin: 0; }
.vm[data-premium] .vp-rev__lead blockquote p {
  font-family: var(--vm-serif); font-weight: 300; font-size: clamp(1.75rem, 1.15rem + 2.1vw, 2.875rem); line-height: 1.14; letter-spacing: -0.015em; text-wrap: balance; max-width: 24ch;
}
.vm[data-premium] .vp-rev figcaption { margin-top: var(--vm-s-8); display: flex; flex-wrap: wrap; gap: var(--vm-s-1) var(--vm-s-3); font-weight: 500; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; line-height: 1.5; }
.vm[data-premium] .vp-rev figcaption span:last-child { color: var(--vm-muted); }
.vm[data-premium] .vp-rev__rest { display: grid; align-content: start; }
.vm[data-premium] .vp-rev__rest .vp-quote { margin: 0; padding-block: var(--vm-s-8); border-top: 1px solid var(--vm-line-strong); }
.vm[data-premium] .vp-rev__rest .vp-quote p { font-size: var(--vp-fs-lead); line-height: 1.5; max-width: 34ch; }
.vm[data-premium] .vp-rev__rest .vp-quote figcaption { margin-top: var(--vm-s-4); }
@media (min-width: 1024px) {
  .vm[data-premium] .vp-rev { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--vm-gutter); align-items: start; }
  .vm[data-premium] .vp-rev__lead { grid-column: 1 / span 7; }
  .vm[data-premium] .vp-rev__rest { grid-column: 9 / -1; }
  .vm[data-premium] .vp-rev__rest .vp-quote:first-child { padding-top: 0; border-top: 0; }
}

/* ---------- FAQ: heading beside four accordions --------------------------------- */
.vm[data-premium] .vp-faq { display: grid; gap: var(--vm-s-10); }
.vm[data-premium] .vp-faq .vm-faq__short { font-size: var(--vp-fs-lead); max-width: 42ch; }
.vm[data-premium] .vp-faq .vm-faq__q { font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem); }
.vm[data-premium] .vp-faq .vm-faq { border-bottom-color: var(--vm-line-strong); }
.vm[data-premium] .vp-faq .vm-faq__item { border-top-color: var(--vm-line-strong); }
@media (min-width: 1024px) {
  .vm[data-premium] .vp-faq { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--vm-gutter); align-items: start; }
  .vm[data-premium] .vp-faq__head { grid-column: 1 / span 4; position: sticky; top: calc(var(--vm-header-h) + var(--vm-s-8)); }
  .vm[data-premium] .vp-faq__body { grid-column: 6 / -1; }
}

/* ---------- closing band: a photograph with a light-to-medium overlay ----------- */
.vm[data-premium] .vp-close {
  position: relative; isolation: isolate; overflow: hidden; color: #fff;
  display: flex; align-items: flex-end; min-height: clamp(520px, 70vh, 700px);
  padding-block: var(--vp-pad); background: #8fa5b1;
}
.vm[data-premium] .vp-close__media { position: absolute; inset: 0; z-index: -1; margin: 0; }
.vm[data-premium] .vp-close__media img { width: 100%; height: 100%; object-fit: cover; object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%); }
.vm[data-premium] .vp-close__media::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(9, 20, 29, 0.68) 0%, rgba(9, 20, 29, 0.54) 50%, rgba(9, 20, 29, 0) 78%),
    linear-gradient(0deg, rgba(9, 20, 29, 0.5) 0%, rgba(9, 20, 29, 0) 55%);
}
.vm[data-premium] .vp-close .vp-h2 { color: #fff; max-width: 14ch; }
.vm[data-premium] .vp-close .vp-h2 em { color: #fff; }
.vm[data-premium] .vp-close .vp-lead { color: #fff; margin-top: var(--vm-s-6); max-width: 36ch; }
.vm[data-premium] .vp-close .vm-container > .vp-label { color: #fff; margin-bottom: var(--vm-s-5); }
.vm[data-premium] .vp-close__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vm-s-4) var(--vm-s-10); margin-top: var(--vm-s-10); }
.vm[data-premium] .vp-close .vp-phone { color: #fff; }
@media (max-width: 1023px) {
  .vm[data-premium] .vp-close__media::after {
    background: linear-gradient(0deg, rgba(9, 20, 29, 0.78) 0%, rgba(9, 20, 29, 0.62) 55%, rgba(9, 20, 29, 0.34) 100%);
  }
}

/* closing band with an owner review: text left, review right (desktop), no panel */
@media (min-width: 1024px) {
  .vm[data-premium] .vp-close .vm-container:is(:has(> figure), :has(> [class$="-cb"])) {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); column-gap: clamp(48px, 7vw, 120px); align-content: end;
  }
  .vm[data-premium] .vp-close .vm-container:where(:has(> figure), :has(> [class$="-cb"])) > * { grid-column: 1; }
  .vm[data-premium] .vp-close .vm-container > figure,
  .vm[data-premium] .vp-close .vm-container > [class$="-cb"] {
    grid-column: 2; grid-row: 1 / span 12; align-self: end; margin: 0; max-width: 40ch; background: none;
    padding: 0 0 0 clamp(28px, 3vw, 48px); border-left: 1px solid rgba(255, 255, 255, 0.55);
  }
  .vm[data-premium] .vp-close .vm-container > [class$="-cb"] > p:first-child { font-size: 1rem; font-weight: 400; margin-bottom: var(--vm-s-6); }
  .vm[data-premium] .vp-close .vm-container > [class$="-cb"] blockquote p { font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem); line-height: 1.28; max-width: none; }
  .vm[data-premium] .vp-close:has(> .vm-container > :is(figure, [class$="-cb"])) .vp-close__media::after {
    background:
      linear-gradient(90deg, rgba(9, 20, 29, 0.66) 0%, rgba(9, 20, 29, 0.46) 45%, rgba(9, 20, 29, 0.4) 100%),
      linear-gradient(0deg, rgba(9, 20, 29, 0.5) 0%, rgba(9, 20, 29, 0) 55%);
  }
}

/* ---------- motion: slow hover only, everything visible at rest ------------------ */
@media (prefers-reduced-motion: reduce) {
  .vm[data-premium] *, .vm[data-premium] *::before, .vm[data-premium] *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .vm[data-premium] .vp-tile__media img { transition: none; }
  .vm[data-premium] .vp-tile:hover .vp-tile__media img { transform: none; }
}
@media print { .vm[data-premium] .vp-hero, .vm[data-premium] .vp-close { min-height: 0; } }

/* tap targets: the short 'Fees' link in the shared header and footer, 44px wide on the pilot pages */
.vm[data-premium] .vm-nav a, .vm[data-premium] .vm-footer__col a { min-width: 44px; }

/* ==========================================================================
   Pass 1 template fixes (accessibility, overlays, splits, bands)
   ========================================================================== */

/* focus ring on photo bands: white, with a hard dark ring behind it so it reads on light patches too */
.vm[data-premium] .vp-hero, .vm[data-premium] .vp-close { --vm-focus: #fff; }
.vm[data-premium] .vp-hero :focus-visible, .vm[data-premium] .vp-close :focus-visible {
  outline: 2px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 8px rgba(9, 20, 29, 0.7);
}

/* "Call" and "Email" labels inside light split sections: full opacity, 5.19:1 on stone */
.vm[data-premium] .vp-split__text .vp-phone .vp-label { opacity: 1; }

/* measure: FAQ answers and source notes */
/* 50ch of this face is about 68 characters a line; 58ch measured 78 */
.vm[data-premium] .vm-faq__a p, .vm[data-premium] .vm-faq__a li { max-width: 50ch; }
.vm[data-premium] [class$="-src"], .vm[data-premium] .vp-fine { max-width: 52ch; }

/* split photos: a long text column never stretches a photograph taller than the hero */
.vm[data-premium] .vp-split__media { max-height: min(760px, 80svh); }   /* never taller than the hero */
@media (min-width: 1024px) {
  .vm[data-premium] .vp-split--top .vp-split__media { align-self: start; aspect-ratio: 4 / 5; min-height: 0; }
}

/* two stone bands in a row alternate with white */
.vm[data-premium] .vp-sec--stone + .vp-sec--stone { background: var(--vm-c-paper); }

/* "Last reviewed": a slim line, not a band */
.vm[data-premium] section[aria-label="Review details"] { padding-block: var(--vm-s-5); }

/* request page: office address at display size, quiet "Optional", side column only sticky where it fits */
.vm[data-premium] .vp-split__text .rq-addr { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem); line-height: 1.08; max-width: none; }
.vm[data-premium] .rq-set > legend .vm-field__opt { text-transform: none; letter-spacing: 0.02em; font-weight: 400; color: var(--vm-muted); }
@media (min-width: 1024px) {
  .vm[data-premium] .rq-grid > .rq-side { position: static; }
}
@media (min-width: 1100px) and (min-height: 1040px) {
  .vm[data-premium] .rq-grid > .rq-side { position: sticky; top: calc(var(--vm-header-h) + var(--vm-s-8)); max-height: calc(100vh - 120px); }
}

/* footer: areas Versaggi manages that have no page yet (Russ 10-28) */
.vm .vm-footer__col li.vm-footer__more { margin-top: var(--vm-s-3); max-width: 36ch; font-size: 0.8125rem; line-height: 1.6; color: var(--vm-muted); }

/* navigation: dropdown groups, tenant link, mobile sub-items, "on this page" jump list (Leigh's review, 11-04) */
.vm .vm-nav li { position: relative; }
.vm .vm-nav .vm-nav__sub { display: none; position: absolute; top: 100%; left: calc(var(--vm-s-4) * -1); z-index: 60; min-width: 280px; margin: 0; padding: var(--vm-s-3) 0; flex-direction: column; align-items: stretch; gap: 0; background: #fff; border: 1px solid var(--vm-line-strong); }
.vm .vm-nav .vm-nav__has-sub:hover > .vm-nav__sub, .vm .vm-nav .vm-nav__has-sub:focus-within > .vm-nav__sub { display: flex; }
.vm .vm-nav .vm-nav__sub a { display: flex; min-height: 40px; padding: 0 var(--vm-s-5); }
.vm .vm-nav .vm-nav__sub a::after { left: var(--vm-s-5); bottom: 6px; }
.vm .vm-nav .vm-nav__ext a { color: var(--vm-c-blue-text); }
.vm .vm-menu__list > li.vm-menu__sub a { padding-left: var(--vm-s-6); font-size: 0.9375rem; }
.vm[data-premium] .vp-jump { background: var(--vm-c-stone); border-bottom: 1px solid var(--vm-line-strong); }
.vm[data-premium] .vp-jump .vm-container { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--vm-s-2) var(--vm-s-8); padding-block: var(--vm-s-4); }
.vm[data-premium] .vp-jump__k { margin: 0; font-size: var(--vm-fs-label); font-weight: 500; letter-spacing: var(--vm-track); text-transform: uppercase; color: var(--vm-accent-text); }
.vm[data-premium] .vp-jump ul { display: flex; flex-wrap: wrap; gap: var(--vm-s-1) var(--vm-s-6); margin: 0; padding: 0; list-style: none; }
.vm[data-premium] .vp-jump a { display: inline-flex; align-items: center; min-height: 36px; font-size: 0.9375rem; color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.vm[data-premium] .vp-jump a:hover, .vm[data-premium] .vp-jump a:focus-visible { color: var(--vm-c-blue-text); border-bottom-color: currentColor; }

/* Areas menu: all neighborhoods in a wide dropdown (Russ, 5 Nov) */
.vm .vm-nav .vm-nav__sub--areas { min-width: 0; width: max-content; max-width: 92vw; }
.vm .vm-nav .vm-nav__has-sub:hover > .vm-nav__sub--areas, .vm .vm-nav .vm-nav__has-sub:focus-within > .vm-nav__sub--areas { display: grid; grid-template-columns: repeat(3, minmax(12rem, 1fr)); }
.vm .vm-nav .vm-nav__sub--areas li:first-child { grid-column: 1 / -1; margin-bottom: var(--vm-s-2); border-bottom: 1px solid var(--vm-line); }
.vm .vm-nav .vm-nav__sub--areas li:first-child a { font-weight: 500; color: var(--vm-c-blue-text); }
.vm .vm-nav .vm-nav__sub--areas a { min-height: 34px; font-size: 0.9375rem; white-space: nowrap; }

/* Leigh's second review (6 Nov): selling points in a slim bar above the header; bigger, darker top tabs */
.vm[data-premium] .vp-topbar { background: linear-gradient(100deg, #1A6C94 0%, #165F84 100%); color: #fff; }
.vm[data-premium] .vp-topbar ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; padding: 0; list-style: none; }
.vm[data-premium] .vp-topbar li { padding: var(--vm-s-2) var(--vm-s-5); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.4; white-space: nowrap; }
.vm[data-premium] .vp-topbar li + li { border-left: 1px solid rgba(255, 255, 255, 0.3); }
@media (max-width: 759px) {
  .vm[data-premium] .vp-topbar li:nth-child(2), .vm[data-premium] .vp-topbar li:nth-child(4) { display: none; }
  .vm[data-premium] .vp-topbar li { padding-inline: var(--vm-s-3); font-size: 0.6875rem; }
}
@media (min-width: 1200px) {
  .vm[data-premium] .vm-nav a { font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.06em; color: var(--vm-ink); }
  .vm[data-premium] .vm-nav .vm-nav__ext a { color: var(--vm-c-blue-text); }
  .vm[data-premium] .vm-nav a::after { bottom: 8px; }
}
@media (min-width: 1200px) and (max-width: 1319px) {
  .vm .vm-header__cta { white-space: nowrap; padding-inline: var(--vm-s-5); }
  .vm .vm-header__inner { gap: var(--vm-s-6); }
  .vm[data-premium] .vm-nav a { font-size: 0.875rem; letter-spacing: 0.05em; }
}

/* ===== Bright layer (Russ, 7 Nov: the dark photo overlays feel dreary) =====
   Heroes become a light text panel beside the photograph at full brightness; photo tiles carry their captions on white;
   the closing call to action puts its text on a white card over a bright photograph. */
.vm[data-premium] .vp-hero.vp-hero {
  display: grid; grid-template-columns: 1fr; align-items: stretch; max-height: none; min-height: 0;
  background: var(--vm-c-paper); color: var(--vm-ink);
}
.vm[data-premium] .vp-hero.vp-hero .vp-hero__media { position: relative; inset: auto; z-index: 0; aspect-ratio: 16 / 10; min-height: 0; grid-row: 1; }
.vm[data-premium] .vp-hero.vp-hero .vp-hero__media::after { display: none; }
.vm[data-premium] .vp-hero.vp-hero .vp-hero__media img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; margin: 0; object-fit: cover;
  object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%);
}
.vm[data-premium] .vp-hero.vp-hero .vp-hero__body { grid-row: 2; margin: 0; max-width: none; padding: var(--vm-s-10) var(--vm-margin) var(--vm-s-12); }
.vm[data-premium] .vp-hero.vp-hero .vp-hero__body > .vp-label { color: var(--vm-accent-text); }
.vm[data-premium] .vp-hero.vp-hero .vp-h1 { color: var(--vm-ink); font-size: clamp(2.25rem, 1.5rem + 3vw, 3.75rem); }
.vm[data-premium] .vp-hero.vp-hero .vp-h1 em { color: var(--vm-accent-text); }
.vm[data-premium] .vp-hero.vp-hero .vp-lead { color: var(--vm-ink); max-width: 40ch; }
@media (min-width: 1024px) {
  .vm[data-premium] .vp-hero.vp-hero { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: clamp(520px, 74vh, 780px); }
  .vm[data-premium] .vp-hero.vp-hero .vp-hero__media { grid-column: 2; grid-row: 1; aspect-ratio: auto; }
  .vm[data-premium] .vp-hero.vp-hero .vp-hero__body { grid-column: 1; grid-row: 1; align-self: center; padding: var(--vm-s-16) clamp(32px, 4vw, 72px) var(--vm-s-16) var(--vm-margin); }
}
@media (min-width: 1440px) {
  .vm[data-premium] .vp-hero.vp-hero .vp-hero__body { padding-left: calc((100vw - 1320px) / 2); }
}

/* tiles: the photograph fills the tile as designed; the caption sits on a white panel at the foot instead of a dark gradient */
.vm[data-premium] .vp-tile.vp-tile { color: var(--vm-ink); }
.vm[data-premium] .vp-tile.vp-tile .vp-tile__media::after { display: none; }
.vm[data-premium] .vp-tile.vp-tile .vp-tile__cap { background: rgba(255, 255, 255, 0.95); color: var(--vm-ink); padding: var(--vm-s-5) var(--vm-s-5) var(--vm-s-5); }
.vm[data-premium] .vp-tile.vp-tile .vp-tile__cap, .vm[data-premium] .vp-tile.vp-tile .vp-tile__name, .vm[data-premium] .vp-tile.vp-tile .vp-tile__cap p, .vm[data-premium] .vp-tile.vp-tile .vp-tile__cap span:not(.vp-tile__meta):not(.vp-tile__rule):not(.vm-arrow) { color: var(--vm-ink); }
.vm[data-premium] .vp-tile.vp-tile .vp-tile__name { font-size: clamp(1.25rem, 1.05rem + 0.7vw, 1.75rem); }
.vm[data-premium] .vp-tile.vp-tile .vp-tile__rule { background: var(--vm-line-strong); }
.vm[data-premium] .vp-tile.vp-tile .vp-tile__meta { color: var(--vm-accent-text); }
.vm[data-premium] .vp-tiles--land .vp-tile.vp-tile .vp-tile__cap, .vm[data-premium] .vp-tiles--4 .vp-tile.vp-tile .vp-tile__cap { padding: var(--vm-s-5); }

/* closing call to action: white card on a bright photograph */
.vm[data-premium] .vp-close.vp-close { color: var(--vm-ink); }
.vm[data-premium] .vp-close.vp-close .vp-close__media::after { display: none; }
.vm[data-premium] .vp-close.vp-close > .vm-container { background: rgba(255, 255, 255, 0.94); padding: var(--vm-s-10) var(--vm-s-8); max-width: 720px; margin-inline: var(--vm-margin); }
@media (min-width: 1100px) { .vm[data-premium] .vp-close.vp-close > .vm-container { margin-left: calc((100vw - 1320px) / 2); } }
.vm[data-premium] .vp-close.vp-close .vp-h2, .vm[data-premium] .vp-close.vp-close .vp-lead, .vm[data-premium] .vp-close.vp-close .st-exit { color: var(--vm-ink); max-width: none; }
.vm[data-premium] .vp-close.vp-close .vp-h2 em { color: var(--vm-accent-text); }
.vm[data-premium] .vp-close.vp-close .vp-phone, .vm[data-premium] .vp-close.vp-close .vm-container > .vp-label { color: var(--vm-ink); }
.vm[data-premium] .vp-close.vp-close .st-cq { border-top-color: var(--vm-line-strong); }
.vm[data-premium] .vp-close.vp-close .st-cq blockquote p, .vm[data-premium] .vp-close.vp-close .st-cq figcaption { color: var(--vm-ink); }

/* area list and section directory (Home, Russ 7 Nov) */
.vm[data-premium] .ar-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0 var(--vm-s-10); border-top: 1px solid var(--vm-line-strong); margin: 0; padding: 0; list-style: none; }
.vm[data-premium] .ar-list li { padding-block: var(--vm-s-4); border-bottom: 1px solid var(--vm-line); font-family: var(--vm-serif); font-weight: 300; font-size: clamp(1.375rem, 1.1rem + 1vw, 2rem); line-height: 1.15; letter-spacing: -0.01em; }
.vm[data-premium] .ar-list a { display: flex; align-items: center; justify-content: space-between; gap: var(--vm-s-3); color: var(--vm-accent-text); text-decoration: none; }
.vm[data-premium] .ar-list a:hover, .vm[data-premium] .ar-list a:focus-visible { color: var(--vm-ink); }
.vm[data-premium] .ar-list a .vm-arrow { flex: none; transition: width 0.25s ease; }
.vm[data-premium] .ar-list a:hover .vm-arrow, .vm[data-premium] .ar-list a:focus-visible .vm-arrow { width: var(--vm-s-12); }
.vm[data-premium] .ar-note { margin-top: var(--vm-s-8); max-width: 52ch; font-size: 1rem; line-height: 1.6; }
.vm[data-premium] .ar-note a { color: var(--vm-accent-text); text-decoration: underline; text-underline-offset: 0.2em; }
.vm[data-premium] .hm-dir { display: grid; gap: var(--vm-s-10) var(--vm-s-12); }
@media (min-width: 900px) { .vm[data-premium] .hm-dir { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vm[data-premium] .hm-dir__col .vp-label { color: var(--vm-accent-text); margin-bottom: var(--vm-s-3); }
.vm[data-premium] .hm-dir ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--vm-line-strong); }
.vm[data-premium] .hm-dir li { border-bottom: 1px solid var(--vm-line); }
.vm[data-premium] .hm-dir a { display: flex; align-items: center; justify-content: space-between; gap: var(--vm-s-4); min-height: 52px; font-size: 1.0625rem; color: var(--vm-ink); text-decoration: none; }
.vm[data-premium] .hm-dir a:hover, .vm[data-premium] .hm-dir a:focus-visible { color: var(--vm-accent-text); }
.vm[data-premium] .hm-dir a .vm-arrow { flex: none; transition: width 0.25s ease; }
.vm[data-premium] .hm-dir a:hover .vm-arrow, .vm[data-premium] .hm-dir a:focus-visible .vm-arrow { width: var(--vm-s-12); }
.vm[data-premium] .vp-close.vp-close { background: linear-gradient(100deg, #dbeaf2 0%, #eaf3f8 100%); }
.vm[data-premium] .vp-close.vp-close .vp-btn--white { background: var(--vm-ink); color: #fff; border-color: var(--vm-ink); }
.vm[data-premium] .vp-hero.vp-hero .vp-hero__body::before { display: none; }
/* closing card with an owner review: one column, review under the call to action */
@media (min-width: 1024px) {
  .vm[data-premium] .vp-close.vp-close .vm-container:is(:has(> figure), :has(> [class$="-cb"])) { display: block; max-width: 760px; }
  .vm[data-premium] .vp-close.vp-close .vm-container > figure,
  .vm[data-premium] .vp-close.vp-close .vm-container > [class$="-cb"] {
    margin: var(--vm-s-8) 0 0; padding: var(--vm-s-6) 0 0; max-width: none; border-left: 0; border-top: 1px solid var(--vm-line-strong);
  }
  .vm[data-premium] .vp-close.vp-close .vm-container > [class$="-cb"] blockquote p, .vm[data-premium] .vp-close.vp-close .vm-container > [class$="-cb"] > p { color: var(--vm-ink); }
}
/* arrowhead: the box pivots on its top-right corner, so that corner must sit on the line, not 3.5px above it */
.vm .vm-arrow::after { top: 0; right: 0.5px; }
/* caption panels in a row share one height so titles, rules and labels line up */
.vm[data-premium] .vp-tiles--4.vp-tiles--row .vp-tile.vp-tile .vp-tile__cap { min-height: 10.75rem; grid-template-rows: 1fr auto auto; }
.vm[data-premium] .hp-facts .vp-tile.vp-tile .vp-tile__cap { min-height: 13.5rem; grid-template-rows: 1fr auto auto; }
.vm[data-premium] .hp-facts .hp-fact__text { min-height: 4.5em; }

/* Home: the company name above the headline, larger (Russ, 7 Nov) */
.vm[data-page="home"] .vp-hero.vp-hero .vp-hero__body > .vp-label { font-size: clamp(1.125rem, 0.9rem + 1vw, 1.75rem); font-weight: 600; letter-spacing: 0.14em; margin-bottom: var(--vm-s-6); }

/* Phone navigation (Russ, 14 Nov, iPhone): all four selling points in the blue band, a quick-link strip so the main pages are
   visible without opening Menu, and every neighborhood inside the Menu. Quick strip hides where the full nav shows (1024px). */
.vm .vp-quick { background: var(--vm-c-paper); border-bottom: 1px solid var(--vm-line-strong); }
.vm .vp-quick ul {
  position: relative; display: flex; margin: 0; padding: 0 var(--vm-s-3); list-style: none; overflow-x: auto; scrollbar-width: none;
  -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
}
.vm .vp-quick ul::-webkit-scrollbar { display: none; }
.vm .vp-quick li { flex: none; scroll-snap-align: start; }
.vm .vp-quick a {
  display: flex; align-items: center; min-height: 48px; padding: 0 var(--vm-s-4); white-space: nowrap;
  font-size: var(--vm-fs-label); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vm-ink);
  border-bottom: 2px solid transparent;
}
.vm .vp-quick a[aria-current="page"] { color: var(--vm-c-blue-text); border-bottom-color: var(--vm-c-blue); }
.vm .vp-quick .vp-quick__ext a { color: var(--vm-c-blue-text); padding-right: var(--vm-s-8); }
@media (min-width: 1024px) { .vm .vp-quick { display: none; } }

@media (max-width: 759px) {
  .vm[data-premium] .vp-topbar ul { display: grid; grid-template-columns: 1fr 1fr; }
  .vm[data-premium] .vp-topbar li:nth-child(2), .vm[data-premium] .vp-topbar li:nth-child(4) { display: block; }
  .vm[data-premium] .vp-topbar li { padding: 7px var(--vm-s-2); font-size: 0.625rem; letter-spacing: 0.06em; text-align: center; white-space: normal; }
  .vm[data-premium] .vp-topbar li:nth-child(odd) { border-left: 0; }
  .vm[data-premium] .vp-topbar li:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, 0.3); }
  .vm[data-premium] .vp-topbar li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.22); }
}

.vm .vm-menu__list > li.vm-menu__hoods { padding: var(--vm-s-4) 0 var(--vm-s-6); }
.vm .vm-menu__hoods-k { margin: 0 0 var(--vm-s-3); font-size: var(--vm-fs-label); font-weight: 500; letter-spacing: var(--vm-track); text-transform: uppercase; color: var(--vm-accent-text); }
.vm .vm-menu__hoods ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.vm .vm-menu__list .vm-menu__hoods a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--vm-s-3);
  font-family: var(--vm-sans); font-weight: 500; font-size: 0.875rem; line-height: 1; letter-spacing: 0; border: 1px solid var(--vm-line-strong);
}
.vm .vm-menu__list .vm-menu__hoods a:hover, .vm .vm-menu__list .vm-menu__hoods a:focus-visible { color: var(--vm-c-blue-text); border-color: currentColor; }
