/* =========================================================
   SUMMERSET – Availability table (mobile) + popups
   ========================================================= */

/* Elementor puts widgets in flex rows that shrink them to their content: stretch this one. */
.elementor-widget:has(.mobile-availability) {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

.mobile-availability {
  width: 100%;
  max-width: 100%;
  margin: 0;
  font-family: Roboto, Arial, sans-serif;
  color: #000;
  font-variant-numeric: tabular-nums;
  /* One set of column widths shared by EVERY row */
  --col-1: 66px;   /* 1065-C / 2B, 2B     */
  --col-3: 64px;   /* $1,850 / View [icon] */
}
.mobile-availability,
.mobile-availability * { box-sizing: border-box; }

.mobile-unit {
  width: 100%;
  display: grid;
  grid-template-columns: var(--col-1) minmax(0, 1fr) var(--col-3);
  grid-template-rows: 26px 20px;
  column-gap: 10px;
  row-gap: 14px;
  align-items: end;
  padding: 20px 16px 19px;
  border-bottom: 1px solid rgba(96, 117, 110, 0.35);
}
.mobile-unit:last-child { border-bottom: 0; }

/* ---------- COLUMN 1 ---------- */
.mobile-unit-number {
  grid-column: 1; grid-row: 1;
  font-size: 17.6px; line-height: 0.91; font-weight: 500;
  justify-self: start; align-self: end; white-space: nowrap;
}
.mobile-unit-layout {
  grid-column: 1; grid-row: 2;
  font-size: 15.6px; line-height: 1;
  justify-self: start; align-self: end; white-space: nowrap;
}

/* ---------- COLUMN 2 ---------- */
.mobile-unit-style {
  grid-column: 2; grid-row: 1;
  font-size: 15.84px; line-height: 0.84; letter-spacing: 0.7px; text-transform: uppercase;
  justify-self: start; align-self: end; white-space: nowrap;
}
.mobile-unit-location {
  grid-column: 2; grid-row: 2;
  font-size: 15.6px; line-height: 1;
  justify-self: start; align-self: end; white-space: nowrap;
}
.ssav-sig-plain { font-weight: 600; }

/* Buttons that look like the original underlined links */
.mobile-availability button {
  -webkit-appearance: none; appearance: none;
  background: none; border: 0; border-radius: 0; margin: 0; box-shadow: none;
  font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.mobile-availability .mobile-signature-link {
  display: inline-flex; align-items: flex-end; gap: 5px;
  font-weight: 600;
  border-bottom: 1.5px solid #6db88a; padding: 0 0 2px; line-height: 0.84;
}
.mobile-camera-icon {
  width: 22.5px; height: 22.5px; display: block; flex: 0 0 auto;
  color: #6db88a; transform: translateY(4px);
}

/* ---------- COLUMN 3 ---------- */
.mobile-unit-rent {
  grid-column: 3; grid-row: 1;
  font-size: 17.6px; line-height: 0.91; font-weight: 500;
  justify-self: end; align-self: end; text-align: right; white-space: nowrap;
}
.mobile-availability .mobile-floorplan-link {
  grid-column: 3; grid-row: 2;
  display: inline-flex; align-items: flex-end; gap: 5px;
  justify-self: end; align-self: end;
  font-size: 15.6px; line-height: 0.84; white-space: nowrap;
  border-bottom: 1.5px solid #6db88a; padding: 0 0 2px;
}
.mobile-floorplan-icon {
  width: 19px; height: 19px; display: block; flex: 0 0 auto;
  color: #6db88a; margin-bottom: -1px;
}

.ssav-empty { padding: 20px 16px; margin: 0; font-size: 15.6px; line-height: 1.45; }

/* Narrow phones */
@media (max-width: 374px) {
  .mobile-availability { --col-1: 58px; --col-3: 58px; }
  .mobile-unit { column-gap: 8px; padding-left: 10px; padding-right: 10px; }
  .mobile-unit-number, .mobile-unit-rent { font-size: 16px; }
  .mobile-unit-location, .mobile-unit-layout, .mobile-availability .mobile-floorplan-link { font-size: 14px; }
  .mobile-unit-style { font-size: 14.4px; letter-spacing: 0.4px; }
}

/* =========================================================
   POPUP (floor plan + Signature gallery)
   ========================================================= */
.ssav-modal {
  position: fixed; inset: 0; z-index: 100000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  opacity: 0; transition: opacity .2s ease;
  font-family: Roboto, Arial, sans-serif;
}
.ssav-modal.is-open { opacity: 1; }
.ssav-modal[hidden] { display: none; }
.ssav-backdrop { position: absolute; inset: 0; background: rgba(20, 28, 25, .72); }
.ssav-panel {
  position: relative; width: 100%; max-width: 720px; max-height: calc(100% - 32px);
  display: flex; flex-direction: column;
  background: #f6f5eb; border-radius: 10px; overflow: hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  transform: translateY(10px); transition: transform .2s ease;
}
.ssav-modal.is-open .ssav-panel { transform: none; }
.ssav-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 8px 12px 16px; border-bottom: 1px solid rgba(96,117,110,.25);
}
.ssav-title { font-size: 16px; font-weight: 500; color: #000; margin: 0; }
.ssav-count { font-size: 14px; color: #60756e; margin-left: auto; }
.ssav-close {
  -webkit-appearance: none; appearance: none; border: 0; background: none;
  width: 40px; height: 40px; font-size: 28px; line-height: 1; color: #333; cursor: pointer;
}
.ssav-body { position: relative; flex: 1 1 auto; min-height: 0; background: #fff; }

html.ssav-noscroll, html.ssav-noscroll body { overflow: hidden; }

/* =========================================================
   SELECT UNITS → INQUIRE
   ========================================================= */
.ssav-pickbar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 4px 12px 8px; padding: 12px 12px 12px 14px;
  background: #fff; border: 1px solid #dcd9cc; border-radius: 10px;
}
.ssav-pickbar-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ssav-pickbar-title { font-size: 15px; font-weight: 500; line-height: 1.25; }
.ssav-pickbar-sub { font-size: 13px; color: #4e5d57; }
.mobile-availability .ssav-inquire {
  flex-shrink: 0; height: 40px; padding: 0 16px; border-radius: 20px;
  background: #62766e; color: #fff; font-size: 14px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; white-space: nowrap; transition: opacity .2s;
}
.mobile-availability .ssav-inquire[disabled] { background: transparent; color: #7d8a84; box-shadow: inset 0 0 0 1px #b9c3be; cursor: default; }

/* 4-column rows: [circle] [unit] [finish/location] [price/view] */
.ssav-has-pick { --col-1: 56px; --col-3: 56px; }
.ssav-has-pick .mobile-unit {
  grid-template-columns: 36px var(--col-1) minmax(0, 1fr) var(--col-3);
  column-gap: 8px; padding-left: 0; padding-right: 12px;
  transition: background-color .2s ease;
}
.ssav-has-pick .mobile-unit-number   { grid-column: 2; }
.ssav-has-pick .mobile-unit-layout   { grid-column: 2; }
.ssav-has-pick .mobile-unit-style    { grid-column: 3; }
.ssav-has-pick .mobile-unit-location { grid-column: 3; font-size: 15px; }
.ssav-has-pick .mobile-unit-rent     { grid-column: 4; }
.ssav-has-pick .mobile-floorplan-link,
.ssav-has-pick .mobile-unit > span:last-child { grid-column: 4; }
.mobile-availability .ssav-pick {
  grid-column: 1; grid-row: 1 / span 2; align-self: stretch;
  margin: -20px 0 -19px; padding: 0;   /* tap area = full row height */
  display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.ssav-dot {
  width: 24px; height: 24px; border-radius: 50%; box-sizing: border-box;
  border: 1.5px solid #b6c7bd; background: #fbfaf4; color: transparent;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.ssav-dot svg { width: 14px; height: 14px; }
.ssav-pick[aria-pressed="true"] .ssav-dot { background: #62766e; border-color: #62766e; color: #fff; transform: scale(1.04); }
.mobile-unit.is-picked { background: #e7f1e9; }
.ssav-pick:focus-visible .ssav-dot { outline: 2px solid #2f5d4c; outline-offset: 3px; }

@media (max-width: 374px) {
  .ssav-has-pick { --col-1: 50px; --col-3: 52px; }
  .ssav-has-pick .mobile-unit { grid-template-columns: 34px var(--col-1) minmax(0, 1fr) var(--col-3); column-gap: 6px; padding-right: 8px; }
}

/* Floating "N units selected · Send inquiry" bar */
.ssav-cartbar {
  position: fixed; left: 10px; right: 10px; z-index: 9990;
  bottom: calc(var(--ssav-footer, 55px) + 10px + env(safe-area-inset-bottom, 0px));
  max-width: 560px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  height: 60px; padding: 0 8px 0 18px; border-radius: 14px;
  background: #2f3b36; color: #fff; font-family: Roboto, Arial, sans-serif;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
  transform: translateY(20px); opacity: 0; pointer-events: none;
  transition: transform .25s ease, opacity .25s ease;
}
.ssav-cartbar.is-shown { transform: none; opacity: 1; pointer-events: auto; }
.ssav-cartbar-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ssav-cartbar-count { font-size: 15px; font-weight: 500; }
.ssav-cartbar-range { font-size: 13px; color: #c9d6cf; }
.ssav-cartbar button {
  -webkit-appearance: none; appearance: none; border: 0; cursor: pointer;
  height: 44px; padding: 0 16px; border-radius: 10px;
  background: #9bd3ae; color: #16211c; font: 600 15px Roboto, Arial, sans-serif; white-space: nowrap;
}

/* Inquiry form: bottom sheet on phones, centered card on larger screens */
.ssav-modal.is-sheet { align-items: stretch; justify-content: stretch; padding: 0; }
.ssav-modal.is-sheet .ssav-panel {
  width: 100%; max-width: none; height: 100%; max-height: none; border-radius: 0;
  box-shadow: none; background: #f6f5eb; transform: translateY(24px);
}
.ssav-modal.is-sheet.is-open .ssav-panel { transform: none; }
.ssav-modal.is-sheet .ssav-head {
  border-bottom: 0; padding: calc(14px + env(safe-area-inset-top, 0px)) 14px 4px 20px; background: #f6f5eb;
}
.ssav-modal.is-sheet .ssav-title { font-family: Agatho, "Cormorant Garamond", Georgia, serif; font-size: 28px; font-weight: 500; }
.ssav-modal.is-sheet .ssav-body {
  background: #f6f5eb; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  padding: 0 20px calc(24px + env(safe-area-inset-bottom, 0px));
}
.ssav-modal.is-sheet .ssav-body > * { max-width: 560px; margin-left: auto; margin-right: auto; }

.ssav-form-intro { margin: 0 0 14px; font-size: 14px; color: #4e5d57; line-height: 1.45; }
.ssav-sel { background: #fff; border: 1px solid #dcd9cc; border-radius: 12px; margin-bottom: 16px; }
.ssav-sel-head { display: flex; justify-content: space-between; padding: 10px 14px 8px; font-size: 12px; letter-spacing: .1em; font-weight: 600; color: #55645e; }
.ssav-sel-row { display: flex; align-items: center; gap: 10px; padding: 10px 4px 10px 14px; border-top: 1px solid #ecebe3; }
.ssav-sel-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ssav-sel-unit { font-size: 16px; font-weight: 500; }
.ssav-sel-unit b { font-weight: 600; letter-spacing: .04em; font-size: 13.5px; text-transform: uppercase; }
.ssav-sel-loc { font-size: 13.5px; color: #4e5d57; }
.ssav-sel-price { font-size: 16px; font-weight: 500; white-space: nowrap; }
.ssav-sel-x {
  -webkit-appearance: none; appearance: none; border: 0; background: none; cursor: pointer;
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #6f7c76;
}
.ssav-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 11px; font-size: 13px; font-weight: 500; color: #33413b; }
.ssav-field small { font-weight: 400; color: #5f6c66; font-size: 13px; }
.ssav-field input {
  -webkit-appearance: none; appearance: none; height: 48px; box-sizing: border-box; width: 100%;
  border: 1px solid #cfccbf; border-radius: 10px; background: #fff; padding: 0 14px;
  font: 400 16px Roboto, Arial, sans-serif; color: #111;   /* 16px stops iPhone zooming in */
}
.ssav-field input:focus { outline: none; border-color: #62766e; box-shadow: 0 0 0 3px rgba(98,118,110,.18); }
.ssav-field.has-error input { border-color: #b3261e; }
.ssav-err { font-size: 13px; color: #b3261e; font-weight: 400; }
.ssav-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ssav-submit, .ssav-btn-2 {
  -webkit-appearance: none; appearance: none; cursor: pointer; width: 100%; height: 52px; margin-top: 6px;
  border-radius: 26px; border: 0; background: #62766e; color: #fff;
  font: 600 15px Roboto, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase;
  display: flex; align-items: center; justify-content: center; text-decoration: none;
}
.ssav-submit[disabled] { opacity: .6; cursor: default; }
.ssav-btn-2 { background: transparent; color: #2f3b36; box-shadow: inset 0 0 0 1.5px #62766e; letter-spacing: .1em; }
.ssav-form-error { margin: 4px 0 10px; font-size: 14px; color: #b3261e; }
.ssav-done { text-align: center; padding: 18px 4px 6px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.ssav-done-icon { width: 64px; height: 64px; border-radius: 50%; background: #62766e; display: flex; align-items: center; justify-content: center; color: #fff; }
.ssav-done h3 { margin: 4px 0 0; font-family: Agatho, "Cormorant Garamond", Georgia, serif; font-size: 30px; font-weight: 500; color: #111; }
.ssav-done p { margin: 0; font-size: 15.5px; line-height: 1.5; color: #3d4b45; max-width: 320px; }
.ssav-done .ssav-actions { width: 100%; display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }

/* =========================================================
   Theme-proof buttons: no hover / focus / tap colors at all
   (the theme otherwise turns buttons red on hover and tap)
   ========================================================= */
.mobile-availability button,
.ssav-modal button,
.ssav-cartbar button { -webkit-tap-highlight-color: transparent; text-decoration: none; box-shadow: none; outline: none; }

.mobile-availability .ssav-pick, .mobile-availability .ssav-pick:hover, .mobile-availability .ssav-pick:focus, .mobile-availability .ssav-pick:active,
.mobile-availability .mobile-signature-link, .mobile-availability .mobile-signature-link:hover, .mobile-availability .mobile-signature-link:focus, .mobile-availability .mobile-signature-link:active,
.mobile-availability .mobile-floorplan-link, .mobile-availability .mobile-floorplan-link:hover, .mobile-availability .mobile-floorplan-link:focus, .mobile-availability .mobile-floorplan-link:active {
  background: transparent !important; color: #000 !important; border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important;
}
.mobile-availability .ssav-pick, .mobile-availability .ssav-pick:hover, .mobile-availability .ssav-pick:focus, .mobile-availability .ssav-pick:active { border: 0 !important; }

.mobile-availability .ssav-inquire, .mobile-availability .ssav-inquire:hover, .mobile-availability .ssav-inquire:focus, .mobile-availability .ssav-inquire:active {
  background: #62766e !important; color: #fff !important; border: 0 !important; border-radius: 20px !important;
}
.mobile-availability .ssav-inquire[disabled], .mobile-availability .ssav-inquire[disabled]:hover, .mobile-availability .ssav-inquire[disabled]:focus, .mobile-availability .ssav-inquire[disabled]:active {
  background: transparent !important; color: #7d8a84 !important; box-shadow: inset 0 0 0 1px #b9c3be;
}

.ssav-cartbar button, .ssav-cartbar button:hover, .ssav-cartbar button:focus, .ssav-cartbar button:active {
  background: #9bd3ae !important; color: #16211c !important; border: 0 !important; border-radius: 10px !important;
}

/* Close button: light gray circle, black X */
.ssav-modal .ssav-close, .ssav-modal .ssav-close:hover, .ssav-modal .ssav-close:focus, .ssav-modal .ssav-close:active {
  width: 40px; height: 40px; padding: 0; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: #e6e4da !important; color: #111 !important; border: 0 !important; border-radius: 50% !important;
}

.ssav-modal .ssav-sel-x, .ssav-modal .ssav-sel-x:hover, .ssav-modal .ssav-sel-x:focus, .ssav-modal .ssav-sel-x:active {
  background: transparent !important; color: #6f7c76 !important; border: 0 !important; padding: 0;
}
.ssav-modal .ssav-submit, .ssav-modal .ssav-submit:hover, .ssav-modal .ssav-submit:focus, .ssav-modal .ssav-submit:active {
  background: #62766e !important; color: #fff !important; border: 0 !important; border-radius: 26px !important;
}
.ssav-modal .ssav-btn-2, .ssav-modal .ssav-btn-2:hover, .ssav-modal .ssav-btn-2:focus, .ssav-modal .ssav-btn-2:active {
  background: transparent !important; color: #2f3b36 !important; border: 0 !important;
}
.ssav-modal .ssav-nav, .ssav-modal .ssav-nav:hover, .ssav-modal .ssav-nav:focus, .ssav-modal .ssav-nav:active {
  background: rgba(255,255,255,.85) !important; color: #222 !important; border: 0 !important; border-radius: 50% !important; padding: 0;
}

/* Keyboard users still get a subtle focus ring (never shown on tap) */
.mobile-availability button:focus-visible, .ssav-modal button:focus-visible, .ssav-cartbar button:focus-visible {
  outline: 2px solid #2f3b36; outline-offset: 2px;
}

/* =========================================================
   SITE-WIDE POPUP: floor plan / features + photo gallery
   Full screen, full height. One frame for both.
   ========================================================= */
.ssav-pop {
  position: fixed; inset: 0; z-index: 100001;
  display: flex; flex-direction: column;
  width: 100%; height: 100%;
  background: #f6f5eb; color: #111;
  font-family: Roboto, Arial, sans-serif;
  opacity: 0; transition: opacity .2s ease;
}
.ssav-pop[hidden] { display: none; }
.ssav-pop:focus { outline: none; }
.ssav-pop.is-open { opacity: 1; }
.ssav-pop *, .ssav-pop *::before, .ssav-pop *::after { box-sizing: border-box; }

.ssav-pop-head {
  flex-shrink: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: calc(18px + env(safe-area-inset-top, 0px)) 16px 12px 20px;
}
.ssav-pop-titles { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ssav-pop .ssav-pop-title { margin: 0; font: 400 23px/1.15 Roboto, Arial, sans-serif; letter-spacing: .02em; color: #111; text-transform: none; }
.ssav-pop .ssav-pop-sub { margin: 0; font-size: 13px; line-height: 1.4; letter-spacing: .08em; color: #4e5d57; }
.ssav-pop .ssav-pop-sub:empty { display: none; }

/* Close: light gray circle, black X, no hover color */
.ssav-pop .ssav-x, .ssav-pop .ssav-x:hover, .ssav-pop .ssav-x:focus, .ssav-pop .ssav-x:active {
  -webkit-appearance: none; appearance: none; flex-shrink: 0;
  width: 40px; height: 40px; padding: 0; margin: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: #e6e4da !important; color: #111 !important; border: 0 !important; border-radius: 50% !important;
  box-shadow: none; outline: none; -webkit-tap-highlight-color: transparent;
}

/* Tabs: a gray track with a white "thumb". 4+ tabs scroll sideways as pills. */
.ssav-pop-tabs {
  flex-shrink: 0; display: flex; gap: 4px; margin: 0 16px 12px 20px; padding: 4px;
  border-radius: 24px; background: #e6e4da;
}
.ssav-pop-tabs[hidden] { display: none; }
.ssav-pop-tabs.is-scroll { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ssav-pop-tabs.is-scroll::-webkit-scrollbar { display: none; }
.ssav-pop .ssav-tab, .ssav-pop .ssav-tab:hover, .ssav-pop .ssav-tab:focus, .ssav-pop .ssav-tab:active {
  -webkit-appearance: none; appearance: none; cursor: pointer; white-space: nowrap;
  flex: 1 1 0; height: 40px; padding: 0 16px; margin: 0;
  font: 500 15px Roboto, Arial, sans-serif; letter-spacing: 0; text-transform: none;
  background: transparent !important; color: #4e5d57 !important; border: 0 !important; border-radius: 20px !important;
  box-shadow: none; outline: none; -webkit-tap-highlight-color: transparent;
}
.ssav-pop-tabs.is-scroll .ssav-tab { flex: 0 0 auto; }
.ssav-pop .ssav-tab.is-on, .ssav-pop .ssav-tab.is-on:hover, .ssav-pop .ssav-tab.is-on:focus, .ssav-pop .ssav-tab.is-on:active {
  background: #fff !important; color: #111 !important; font-weight: 600; box-shadow: 0 1px 3px rgba(0,0,0,.14);
}

.ssav-pop-body { flex: 1 1 auto; min-height: 0; position: relative; border-top: 1px solid #e3e1d7; }

/* Floor plan (phone) */
.ssav-plan { height: 100%; display: flex; flex-direction: column; background: #f7f6f1; }
.ssav-plan-frame { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 12px 16px 4px; }
.ssav-plan-img { display: block; max-width: 100% !important; max-height: 100% !important; width: auto; height: auto; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; }
.ssav-hint { flex-shrink: 0; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 4px 0 calc(10px + env(safe-area-inset-bottom, 0px)); font-size: 12.5px; color: #6a7771; }

/* Features */
.ssav-scroll { height: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 22px 22px calc(28px + env(safe-area-inset-bottom, 0px)); }
.ssav-feats { display: flex; flex-direction: column; gap: 26px; }
.ssav-pop .ssav-feat-h {
  display: flex; align-items: center; gap: 14px; margin: 0 0 11px;
  font: 600 13px Roboto, Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #1d2622;
}
.ssav-pop .ssav-feat-h::after { content: ""; flex: 1 1 auto; height: 1px; background: #d3d0c4; }
.ssav-pop .ssav-feat ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.ssav-pop .ssav-feat li {
  position: relative; margin: 0; padding: 0 0 0 17px;
  font-size: 15.5px; line-height: 1.35; letter-spacing: .04em; color: #2a3430;
}
.ssav-pop .ssav-feat li::before { content: ""; position: absolute; left: 0; top: 8px; width: 5px; height: 5px; border-radius: 50%; background: #7f928a; }

/* Floor plan (desktop): text left, plan right */
.ssav-pop.is-desk { background: #f7f6f1; }
.ssav-pop.is-desk .ssav-pop-head { position: absolute; top: 0; right: 0; z-index: 2; padding: 24px 28px; }
.ssav-pop.is-desk .ssav-pop-titles { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ssav-pop.is-desk .ssav-pop-body { border-top: 0; }
.ssav-desk { height: 100%; display: flex; }
.ssav-desk-text {
  flex: 0 0 min(640px, 46%); overflow-y: auto; padding: 64px 40px 48px clamp(40px, 6.5vw, 96px);
  display: flex; flex-direction: column; gap: 14px;
}
.ssav-logo { width: 270px; display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.ssav-logo-word { font-family: Agatho, "Cormorant Garamond", Georgia, serif; font-size: 34px; letter-spacing: .14em; color: #62766e; line-height: 1; }
.ssav-logo-sub { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .28em; color: #55645e; }
.ssav-logo-sub span { flex: 1 1 auto; height: 1px; background: #c9c6b9; }
.ssav-pop .ssav-desk-title { margin: 0; font-size: clamp(32px, 3vw, 44px); line-height: 1.12; letter-spacing: .02em; color: #1d2622; }
.ssav-pop .ssav-desk-sub { margin: 0 0 18px; font-size: 15px; letter-spacing: .14em; color: #3d4b45; }
.ssav-desk .ssav-feats { gap: 24px; }
.ssav-desk .ssav-feat ul { gap: 8px; }
.ssav-desk-plan { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: center; padding: 40px 80px 40px 24px; }

/* Gallery */
.ssav-gal { position: absolute; inset: 0; background: #1b1f1d; }
.ssav-strip {
  position: absolute; inset: 0; display: flex; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; overscroll-behavior-x: contain;
}
.ssav-strip::-webkit-scrollbar { display: none; }
.ssav-strip:focus { outline: none; }
.ssav-slide { position: relative; flex: 0 0 100%; height: 100%; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; }
.ssav-slide img { display: block; border: 0; border-radius: 0; box-shadow: none; max-width: none !important; }
.ssav-fill { width: 100%; height: 100%; object-fit: cover; }
/* One wide photo spread across two phone slides: same size, left half then right half */
.ssav-pano { position: absolute; top: 0; height: 100% !important; width: 200% !important; object-fit: cover; object-position: center; }
.ssav-pano-l { left: 0; }
.ssav-pano-r { left: -100%; }
.ssav-contain { width: 100%; height: 100%; object-fit: contain; }
.ssav-count {
  position: absolute; right: 12px; top: 12px; z-index: 2; pointer-events: none;
  font-size: 13px; font-weight: 500; color: #fff; background: rgba(20,28,25,.62); border-radius: 12px; padding: 5px 10px;
}
.ssav-pop .ssav-arrow, .ssav-pop .ssav-arrow:hover, .ssav-pop .ssav-arrow:focus, .ssav-pop .ssav-arrow:active {
  -webkit-appearance: none; appearance: none; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 48px; height: 48px; padding: 0; margin: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.88) !important; color: #111 !important; border: 0 !important; border-radius: 50% !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.25); outline: none; -webkit-tap-highlight-color: transparent;
}
.ssav-pop .ssav-prev { left: 20px; }
.ssav-pop .ssav-next { right: 20px; }
.ssav-pop .ssav-arrow[disabled] { opacity: 0; pointer-events: none; }
.ssav-pop:not(.is-wide) .ssav-arrow { display: none; }   /* phones: swipe */

/* Desktop gallery: tabs sit beside the title */
@media (min-width: 768px) {
  .ssav-pop.is-wide .ssav-pop-head { padding: 24px 28px 14px 40px; }
  .ssav-pop.is-wide .ssav-pop-tabs { margin: 0 28px 16px 40px; align-self: flex-start; min-width: 360px; }
}

.ssav-pop button:focus-visible { outline: 2px solid #2f3b36 !important; outline-offset: 2px; }

/* Desktop floor plan from your own combined sheet image */
.ssav-pop.is-sheet-img { background: #fdfbf7; }   /* matches the sheet's paper color so the image edge disappears */
.ssav-sheet-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 32px 88px; background: #fdfbf7; }
.ssav-sheet-img { display: block; max-width: 100% !important; max-height: 100% !important; width: auto; height: auto; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; }
.ssav-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* =========================================================
   Gallery v2: slim header, room tabs floating over the photo,
   minimal arrows, one dot per photo across all rooms
   ========================================================= */
.ssav-pop.is-gallery { background: #1b1f1d; }
.ssav-pop.is-gallery .ssav-pop-head {
  align-items: center; background: #f6f5eb; border-bottom: 1px solid #e3e1d7;
  padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 12px 20px;
}
.ssav-pop.is-gallery .ssav-pop-title { font-size: 22px; line-height: 1.2; }
.ssav-pop.is-gallery .ssav-pop-sub { display: none; }
.ssav-pop.is-gallery .ssav-pop-body { border-top: 0; }
@media (min-width: 768px) {
  .ssav-pop.is-gallery.is-wide .ssav-pop-head { padding: 16px 28px 16px 40px; }
  .ssav-pop.is-gallery.is-wide .ssav-pop-title { font-size: 24px; }
}

.ssav-gtabs-wrap { position: absolute; left: 12px; right: 12px; top: 14px; z-index: 3; display: flex; justify-content: center; pointer-events: none; }
.ssav-gtabs {
  pointer-events: auto; display: flex; gap: 2px; padding: 4px; max-width: 100%;
  border-radius: 22px; background: rgba(20,28,25,.34);   /* ~10% lighter than before */
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.ssav-gtabs::-webkit-scrollbar { display: none; }
.ssav-pop .ssav-gtab, .ssav-pop .ssav-gtab:hover, .ssav-pop .ssav-gtab:focus, .ssav-pop .ssav-gtab:active {
  -webkit-appearance: none; appearance: none; flex: 0 0 auto; cursor: pointer; white-space: nowrap;
  height: 34px; padding: 0 13px; margin: 0;
  font: 500 14px Roboto, Arial, sans-serif; letter-spacing: 0; text-transform: none;
  background: transparent !important; color: #fff !important; border: 0 !important; border-radius: 17px !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35); box-shadow: none; outline: none; -webkit-tap-highlight-color: transparent;
}
.ssav-pop .ssav-gtab.is-on, .ssav-pop .ssav-gtab.is-on:hover, .ssav-pop .ssav-gtab.is-on:focus, .ssav-pop .ssav-gtab.is-on:active {
  background: #fff !important; color: #111 !important; font-weight: 600; text-shadow: none;
}
@media (min-width: 768px) {
  .ssav-pop .ssav-gtab { height: 38px; padding: 0 18px; font-size: 15px; }
  .ssav-gtabs { border-radius: 24px; }
}

.ssav-pop .ssav-chev, .ssav-pop .ssav-chev:hover, .ssav-pop .ssav-chev:focus, .ssav-pop .ssav-chev:active {
  -webkit-appearance: none; appearance: none; position: absolute; top: 50%; z-index: 3;
  width: 44px; height: 56px; margin: -28px 0 0; padding: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: transparent !important; color: #fff !important; border: 0 !important; box-shadow: none; outline: none;
  -webkit-tap-highlight-color: transparent; opacity: .9;
}
.ssav-pop .ssav-chev svg { filter: drop-shadow(0 1px 2px rgba(0,0,0,.55)); }
.ssav-pop .ssav-chev-l { left: 2px; }
.ssav-pop .ssav-chev-r { right: 2px; }
.ssav-pop .ssav-chev[disabled] { opacity: 0; pointer-events: none; }
@media (min-width: 768px) {
  .ssav-pop .ssav-chev { width: 64px; height: 80px; margin-top: -40px; }
  .ssav-pop .ssav-chev svg { width: 34px; height: 34px; }
  .ssav-pop .ssav-chev-l { left: 12px; }
  .ssav-pop .ssav-chev-r { right: 12px; }
}

.ssav-dots2 {
  position: absolute; left: 0; right: 0; z-index: 3; pointer-events: none;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; padding: 0 16px;
}
.ssav-dots2 span { width: 14px; height: 14px; border-radius: 50%; background: rgba(255,255,255,.45); box-shadow: 0 0 3px rgba(0,0,0,.4); transition: background .2s; }
.ssav-dots2 span.is-on { background: #fff; }
.ssav-dots2.is-many { gap: 7px; }
.ssav-dots2.is-many span { width: 9px; height: 9px; }

/* =========================================================
   Gallery v3 (phones): no header bar, photo gets the full height.
   Close button sits in line, right of the room tabs.
   ========================================================= */
.ssav-pop.is-gallery:not(.is-wide) .ssav-pop-head {
  position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0;
}
.ssav-pop.is-gallery:not(.is-wide) .ssav-gtabs-wrap {
  top: calc(12px + env(safe-area-inset-top, 0px)); left: 10px; right: 10px;
  justify-content: center; align-items: center; gap: 8px;
}
.ssav-pop.is-gallery:not(.is-wide) .ssav-gtabs { flex: 0 1 auto; min-width: 0; padding: 3px; border-radius: 20px; }
.ssav-pop.is-gallery:not(.is-wide) .ssav-gtab,
.ssav-pop.is-gallery:not(.is-wide) .ssav-gtab:hover,
.ssav-pop.is-gallery:not(.is-wide) .ssav-gtab:focus,
.ssav-pop.is-gallery:not(.is-wide) .ssav-gtab:active { height: 32px; padding: 0 11px; font-size: 13.5px; border-radius: 16px !important; }
.ssav-pop .ssav-gx, .ssav-pop .ssav-gx:hover, .ssav-pop .ssav-gx:focus, .ssav-pop .ssav-gx:active {
  pointer-events: auto; flex: 0 0 auto; width: 38px; height: 38px;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
/* dots ~5% bigger, arrows ~7.5% higher (phones) */
.ssav-pop.is-gallery:not(.is-wide) .ssav-dots2 span { width: 14.7px; height: 14.7px; }
.ssav-pop.is-gallery:not(.is-wide) .ssav-dots2.is-many span { width: 9.5px; height: 9.5px; }
.ssav-pop.is-gallery:not(.is-wide) .ssav-chev { top: 42.5%; }

/* =========================================================
   Floor plan popup (phones): compact tab bar like the gallery,
   one background colour, no divider, bigger plan
   ========================================================= */
.ssav-pop.is-plan:not(.is-desk) { background: #f8f6f5; }   /* = the floor plan image's paper colour */
.ssav-pop.is-plan:not(.is-desk) .ssav-pop-head { background: transparent; padding-bottom: 8px; }
.ssav-pop.is-plan:not(.is-desk) .ssav-pop-tabs {
  align-self: flex-start; margin: 0 0 4px 20px; padding: 3px; border-radius: 20px; gap: 2px;
}
.ssav-pop.is-plan:not(.is-desk) .ssav-tab,
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:hover,
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:focus,
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:active { flex: 0 0 auto; height: 32px; padding: 0 11px; font-size: 13.5px; border-radius: 16px !important; }
.ssav-pop.is-plan:not(.is-desk) .ssav-pop-body { border-top: 0; }
.ssav-pop.is-plan:not(.is-desk) .ssav-plan { background: transparent; }
.ssav-pop.is-plan:not(.is-desk) .ssav-plan-frame { padding: 6px 6px 0; align-items: flex-start; }
.ssav-pop.is-plan:not(.is-desk) .ssav-hint { padding-top: 2px; }
.ssav-pop.is-plan:not(.is-desk) .ssav-scroll { padding-top: 14px; }

/* =========================================================
   Phones: ONE shared top row for both popups.
   Close button always at the same spot (top right); the gallery tabs
   and the floor plan heading sit on the same line, centered.
   ========================================================= */
@media (max-width: 767px), (orientation: portrait) and (max-width: 1024px) {
  /* close button: identical position in both popups */
  .ssav-pop.is-plan:not(.is-desk) .ssav-pop-head .ssav-x,
  .ssav-pop .ssav-gx, .ssav-pop .ssav-gx:hover, .ssav-pop .ssav-gx:focus, .ssav-pop .ssav-gx:active {
    position: absolute !important; top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px;
    width: 38px; height: 38px; margin: 0; z-index: 4;
  }
  .ssav-pop .ssav-gx, .ssav-pop .ssav-gx:hover, .ssav-pop .ssav-gx:focus, .ssav-pop .ssav-gx:active { top: 0; }

  /* gallery: tabs centered on the screen, same line as the close button */
  .ssav-pop.is-gallery:not(.is-wide) .ssav-gtabs-wrap {
    left: 0; right: 0; top: calc(12px + env(safe-area-inset-top, 0px)); height: 38px;
    justify-content: center; align-items: center; gap: 0;
  }
  .ssav-pop.is-gallery:not(.is-wide) .ssav-gtabs {
    max-width: calc(100% - 112px);          /* equal room on both sides so it stays centered */
    background: rgba(20,28,25,.34);
    -webkit-backdrop-filter: none; backdrop-filter: none;   /* truly see-through, no frosted blur */
  }

  /* floor plan: centered heading on the same line as the close button, centered tabs */
  .ssav-pop.is-plan:not(.is-desk) .ssav-pop-head {
    justify-content: center; text-align: center;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 58px 8px;
  }
  .ssav-pop.is-plan:not(.is-desk) .ssav-pop-titles { align-items: center; gap: 2px; }
  .ssav-pop.is-plan:not(.is-desk) .ssav-pop-title { font-size: 22px; line-height: 38px; }
  .ssav-pop.is-plan:not(.is-desk) .ssav-pop-tabs { align-self: center; margin: 0 auto 4px; }
}
@media (max-width: 379px) {
  .ssav-pop.is-gallery:not(.is-wide) .ssav-gtab,
  .ssav-pop.is-gallery:not(.is-wide) .ssav-gtab:hover,
  .ssav-pop.is-gallery:not(.is-wide) .ssav-gtab:focus,
  .ssav-pop.is-gallery:not(.is-wide) .ssav-gtab:active { padding: 0 9px; font-size: 13px; }
}

/* =========================================================
   RENT SPECIALS (1.6)
   ========================================================= */
/* Bar under the fixed site header */
.ssav-sbar {
  position: fixed; left: 0; right: 0; top: var(--ssav-header-h, 55px); z-index: 9998;
  height: 40px; box-sizing: border-box; display: flex; align-items: center; gap: 9px;
  padding: 0 12px 0 16px; background: #2f3b36; color: #fff !important; text-decoration: none !important;
  font: 400 14px/1 Roboto, Arial, sans-serif; -webkit-tap-highlight-color: transparent;
}
.ssav-sbar:hover, .ssav-sbar:focus, .ssav-sbar:active, .ssav-sbar:visited { background: #2f3b36 !important; color: #fff !important; }
.ssav-sbar .ssav-tag { width: 16px; height: 16px; flex: none; }
.ssav-sbar-k { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #9bd3ae; white-space: nowrap; }
.ssav-sbar-t { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.ssav-sbar-t u { text-decoration: underline; text-underline-offset: 3px; }
.ssav-sbar-chev { width: 16px; height: 16px; flex: none; }
/* 1.10.3 phones: tag icon and › arrow line up with the page text (25px in; their drawings start ~1.3px / ~5.3px inside their boxes) */
@media (max-width: 767px) {
  .ssav-sbar { padding: 0 19.7px 0 23.7px; gap: 7px; }
  .ssav-sbar-k { letter-spacing: .1em; }
}
/* narrow phones: "· See offers" doesn't fit; the › arrow still says it's tappable */
@media (max-width: 392px) { .ssav-sbar-see { display: none; } }
@media (min-width: 768px) {
  .ssav-sbar { justify-content: center; }
  .ssav-sbar-t { flex: 0 1 auto; }
}
body.ssav-has-sbar main.site-main { padding-top: 40px; }
@media print { .ssav-sbar { display: none; } }

/* Special line under a unit in the table */
.mobile-unit.has-special { grid-template-rows: 26px 20px auto; }
.mobile-availability .ssav-sline {
  grid-column: 1 / -1; grid-row: 3; width: 100%; min-height: 34px;
  display: flex; align-items: center; gap: 8px; padding: 6px 10px; text-align: left;
  border-radius: 8px; background: #f1e4c6; color: #2a2418; line-height: 1.2;
  text-transform: none; letter-spacing: 0;
}
.ssav-has-pick .ssav-sline { grid-column: 2 / -1; }
.ssav-sline .ssav-tag, .mobile-availability .mobile-unit-rent .ssav-now .ssav-tag { width: 15px; height: 15px; flex: none; color: #8a5f1c; }
.ssav-sline-k { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #7a5418; }
.ssav-sline-t { flex: 1 1 auto; min-width: 0; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ssav-sline-d { font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; color: #5a4520; white-space: nowrap; }
.mobile-availability .ssav-sline, .mobile-availability .ssav-sline:hover, .mobile-availability .ssav-sline:focus, .mobile-availability .ssav-sline:active {
  background: #f1e4c6 !important; color: #2a2418 !important; border: 0 !important; border-radius: 8px !important;
}

/* Gold outline on a unit row (same look as the offer outline in the popup)
   .ssav-pulse  = twice, after arriving from a unit in the offers popup
   .ssav-pulse1 = once, after closing the popup opened from that row's "Details" */
@keyframes ssavRing2 {
  0%, 50%, 100% { box-shadow: inset 0 0 0 0 rgba(201, 151, 62, 0); }
  20%, 30%, 70%, 80% { box-shadow: inset 0 0 0 3px #c9973e; }
}
@keyframes ssavRing1 {
  0%, 100% { box-shadow: inset 0 0 0 0 rgba(201, 151, 62, 0); }
  40%, 60% { box-shadow: inset 0 0 0 3px #c9973e; }
}
.mobile-unit.ssav-pulse, .mobile-unit.ssav-pulse1 { border-radius: 8px; }
.mobile-unit.ssav-pulse { animation: ssavRing2 2.4s ease-in-out .4s both; }
.mobile-unit.ssav-pulse1 { animation: ssavRing1 1.3s ease-in-out .1s both; }
@media (prefers-reduced-motion: reduce) { .mobile-unit.ssav-pulse, .mobile-unit.ssav-pulse1 { animation: none; } }

/* Offers popup: centered card over a see-through backdrop */
.ssav-ofr {
  position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center;
  padding: 16px; box-sizing: border-box; opacity: 0; transition: opacity .2s ease;
  font-family: Roboto, Arial, sans-serif; color: #111;
}
.ssav-ofr.is-open { opacity: 1; }
.ssav-ofr[hidden] { display: none; }
.ssav-ofr * { box-sizing: border-box; }
.ssav-ofr-back { position: absolute; inset: 0; background: rgba(12, 18, 15, .5); }
.ssav-ofr-card {
  position: relative; width: 100%; max-width: 440px; max-height: 100%; overflow-y: auto;
  -webkit-overflow-scrolling: touch; overscroll-behavior: contain; outline: none;
  background: #fbf6ec; border-radius: 16px; padding: 20px 18px;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .3); transform: translateY(10px); transition: transform .2s ease;
}
.ssav-ofr.is-open .ssav-ofr-card { transform: none; }
.ssav-ofr-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ssav-ofr-titles { display: flex; flex-direction: column; gap: 5px; padding: 2px 0 0 4px; }
.ssav-ofr-kick { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #7a5418; }
.ssav-ofr-kick .ssav-tag { width: 15px; height: 15px; color: #8a5f1c; }
.ssav-ofr-title { margin: 0; font-family: Agatho, "Cormorant Garamond", Georgia, serif; font-size: 30px; line-height: 1.05; font-weight: 500; color: #111; }
.ssav-ofr button.ssav-ofr-x, .ssav-ofr button.ssav-ofr-x:hover, .ssav-ofr button.ssav-ofr-x:focus, .ssav-ofr button.ssav-ofr-x:active {
  -webkit-appearance: none; appearance: none; flex: none; width: 38px; height: 38px; padding: 0; margin: 0;
  border: 0 !important; border-radius: 50% !important; background: #ebe6da !important; color: #4a4a4a !important;
  display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; outline: none;
}
.ssav-ofr-list { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
.ssav-ofr-item { background: #fff; border: 1px solid #e3d8bf; border-radius: 12px; overflow: hidden; }
.ssav-ofr-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; background: #f1e4c6; }
.ssav-ofr-name { font-size: 17px; font-weight: 600; color: #2a2418; }
.ssav-ofr-count { font-size: 12.5px; color: #5a4520; white-space: nowrap; }
.ssav-ofr-body { padding: 12px 14px 4px; }
.ssav-ofr-text { margin: 0 0 4px; font-size: 15px; line-height: 1.4; color: #26302c; }
.ssav-ofr-units { display: flex; flex-direction: column; }
.ssav-ofr a.ssav-ofr-unit, .ssav-ofr a.ssav-ofr-unit:hover, .ssav-ofr a.ssav-ofr-unit:focus, .ssav-ofr a.ssav-ofr-unit:active, .ssav-ofr a.ssav-ofr-unit:visited {
  min-height: 44px; display: flex; align-items: center; gap: 12px; color: #111 !important; text-decoration: none !important;
  font-size: 15px; background: transparent !important; -webkit-tap-highlight-color: transparent;
}
.ssav-ofr-u { width: 58px; flex: none; font-size: 16px; font-weight: 500; }
.ssav-ofr-chev { width: 15px; height: 15px; margin-left: auto; flex: none; color: #62766e; }
.ssav-ofr a.ssav-ofr-cta, .ssav-ofr a.ssav-ofr-cta:hover, .ssav-ofr a.ssav-ofr-cta:focus, .ssav-ofr a.ssav-ofr-cta:active, .ssav-ofr a.ssav-ofr-cta:visited {
  margin-top: 18px; height: 50px; border-radius: 25px; background: #62766e !important; color: #fff !important;
  display: flex; align-items: center; justify-content: center; text-decoration: none !important;
  font: 600 15px Roboto, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; -webkit-tap-highlight-color: transparent;
}
.ssav-ofr-fine { margin: 12px 0 0; text-align: center; font-size: 12.5px; line-height: 1.4; color: #5d615c; }

/* Special badge on a selected unit in the inquiry form */
.ssav-sel-unit { display: flex; align-items: center; gap: 0 4px; white-space: nowrap; }
.ssav-sel-sp {
  display: inline-flex; align-items: center; gap: 4px; margin-left: 4px; padding: 3px 6px 3px 5px;
  border-radius: 6px; background: #f1e4c6; color: #7a5418;
  font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.1;
}
.ssav-sel-sp .ssav-tag { width: 12px; height: 12px; flex: none; color: #8a5f1c; }
.ssav-sel .ssav-sel-x { width: 34px; }
@media (max-width: 374px) { .ssav-sel-unit { flex-wrap: wrap; row-gap: 4px; } .ssav-sel-sp { margin-left: 0; } }

/* Offers popup opened from a unit's "Details": that unit's offer pulses twice */
@keyframes ssavOfrPulse {
  0%, 50%, 100% { box-shadow: 0 0 0 0 rgba(201, 151, 62, 0); border-color: #e3d8bf; }
  20%, 30%, 70%, 80% { box-shadow: 0 0 0 3px #c9973e; border-color: #c9973e; }
}
.ssav-ofr-item.is-mine { animation: ssavOfrPulse 2.4s ease-in-out .3s both; }
@media (prefers-reduced-motion: reduce) { .ssav-ofr-item.is-mine { animation: none; box-shadow: 0 0 0 2px #c9973e; } }

/* =========================================================
   WIDE LAYOUT (1.7.2): on desktop keep the phone format (two lines + special row)
   but center the middle column (finish + location) so it doesn't hug the left.
   ========================================================= */
.mobile-availability { container-type: inline-size; container-name: ssavtable; }
.ssav-thead { display: none; }

@container ssavtable (min-width: 820px) {
  /* bring everything in from the sides; rows, special bubbles and the top bar share one right edge */
  .mobile-availability > * {   /* (set on the children: a container can't style itself in its own query) */
    --ssav-side: clamp(16px, 6cqw, 90px);
    --ssav-right: 112px;   /* right column: price / View / Details, centered under the 140px Inquire button */
  }
  .mobile-availability .ssav-pickbar { margin: 4px var(--ssav-side) 8px; padding-right: 12px; }
  .mobile-availability .mobile-unit { width: auto; margin-left: var(--ssav-side); margin-right: var(--ssav-side); padding-right: 0; }

  /* three columns, each left-aligned */
  .mobile-availability .mobile-unit { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) var(--ssav-right); padding-left: 16px; }
  .ssav-has-pick .mobile-unit { grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1.25fr) var(--ssav-right); padding-left: 0; column-gap: 8px; }
  .mobile-availability .mobile-unit-number,
  .mobile-availability .mobile-unit-layout,
  .mobile-availability .mobile-unit-style,
  .mobile-availability .mobile-unit-location,
  .mobile-availability .mobile-unit-rent,
  .mobile-availability .mobile-floorplan-link { justify-self: start; text-align: left; }

  /* selection circle: centered between the unit and 2B/2B lines, with more room before the unit */
  .mobile-availability .ssav-pick { grid-row: 1 / span 2; margin: 0; align-self: center; height: 40px; justify-content: flex-start; padding-left: 12px; transform: translateY(-2px); }

  /* "Details" starts at the right column's left edge */
  .mobile-availability .ssav-sline { padding-right: 0; }
  .mobile-availability .ssav-sline-d { flex: 0 0 var(--ssav-right); width: var(--ssav-right); text-align: left; }

  /* fixed-width Inquire button (so it doesn't change size when the count appears) */
  .mobile-availability .ssav-inquire { width: 140px; padding: 0; justify-content: center; text-align: center; display: inline-flex; align-items: center; }
}

/* "Show first" chips: desktop only */
.ssav-sort, .ssav-sort-sep { display: none; }
@container ssavtable (min-width: 820px) {
  .mobile-availability .ssav-sort {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
    margin: 6px var(--ssav-side) 20px; padding: 0 2px;
  }
  .ssav-sort-lbl { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #5b6a64; margin-right: 4px; }
  .ssav-sort-div { width: 1px; height: 20px; background: #cfccbf; margin: 0 4px; }
  .mobile-availability .ssav-chip, .mobile-availability .ssav-chip:hover, .mobile-availability .ssav-chip:focus {
    display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px;
    border-radius: 17px !important; border: 1px solid #b9c3be !important; background: #fff !important; color: #2f3b36 !important;
    font-size: 14px; letter-spacing: 0; text-transform: none; line-height: 1; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
  }
  .mobile-availability .ssav-chip svg { width: 12px; height: 12px; display: none; }
  .mobile-availability .ssav-chip.is-on, .mobile-availability .ssav-chip.is-on:hover, .mobile-availability .ssav-chip.is-on:focus {
    background: #62766e !important; border-color: #62766e !important; color: #fff !important; padding-right: 11px;
  }
  .mobile-availability .ssav-chip.is-on svg { display: block; }
  .mobile-availability .ssav-chip:focus-visible { outline: 2px solid #2f5d4c; outline-offset: 2px; }
  .mobile-availability .ssav-sort-clear, .mobile-availability .ssav-sort-clear:hover, .mobile-availability .ssav-sort-clear:focus {
    margin-left: 6px; padding: 0; background: none !important; border: 0 !important; color: #2f3b36 !important;
    font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: 0; cursor: pointer;
  }
  .mobile-availability .ssav-sort-clear[hidden] { display: none; }
  .mobile-availability .ssav-sort-sep {
    display: block; margin: 18px var(--ssav-side) 0; padding: 0 0 8px 2px; border-bottom: 1px solid rgba(96, 117, 110, 0.35);
    font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #5b6a64;
  }
}

/* =========================================================
   INQUIRY FORM (1.8.2): hide the empty counter pill; centered card on desktop
   ========================================================= */
.ssav-modal .ssav-count:empty { display: none; }

@media (min-width: 768px) {
  .ssav-modal.is-sheet { align-items: center; justify-content: center; padding: 24px; }
  .ssav-modal.is-sheet .ssav-backdrop { background: rgba(20, 28, 25, .55); }
  .ssav-modal.is-sheet .ssav-panel {
    width: 100%; max-width: 620px; height: auto; max-height: calc(100vh - 48px);
    border-radius: 16px; box-shadow: 0 16px 44px rgba(0, 0, 0, .3); transform: translateY(12px);
  }
  .ssav-modal.is-sheet.is-open .ssav-panel { transform: none; }
  .ssav-modal.is-sheet .ssav-head { padding: 26px 18px 2px 32px; }
  .ssav-modal.is-sheet .ssav-body { padding: 0 32px 30px; }
  .ssav-modal.is-sheet .ssav-body > * { max-width: none; }

  /* Name on its own line, Email + Phone side by side, then Move-in and the button */
  .ssav-modal .ssav-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 14px; }
  .ssav-modal .ssav-form > * { grid-column: 1 / -1; }
  .ssav-modal .ssav-form > .ssav-field:nth-of-type(2),
  .ssav-modal .ssav-form > .ssav-field:nth-of-type(3) { grid-column: auto; }
}

/* General inquiry (no unit picked) */
.ssav-sel-none { padding: 14px 16px; font-size: 14.5px; line-height: 1.45; color: #3d4b45; }
.ssav-sel-none b { color: #111; font-weight: 600; }

/* 1.8.6: line up text by its baseline (not by the underline) in both rows of each unit */
.mobile-availability .mobile-unit-number,
.mobile-availability .mobile-unit-style,
.mobile-availability .mobile-unit-rent,
.mobile-availability .mobile-unit-layout,
.mobile-availability .mobile-unit-location,
.mobile-availability .mobile-floorplan-link { align-self: baseline; }
.mobile-availability .mobile-signature-link,
.mobile-availability .mobile-floorplan-link { align-items: baseline; }
.mobile-availability .mobile-camera-icon { align-self: center; transform: none; margin: -7px 0 -5px; }
.mobile-availability .mobile-floorplan-icon { align-self: center; margin: -6px 0 -4px; }

/* "choose a residence" link inside the general-inquiry message */
.ssav-sel-none p { margin: 0; }
.ssav-sel-none p + p { margin-top: 8px; font-size: 14px; color: #4e5d57; }
.ssav-modal button.ssav-pick-link, .ssav-modal button.ssav-pick-link:hover, .ssav-modal button.ssav-pick-link:focus {
  -webkit-appearance: none; appearance: none; display: inline-block; margin: 0 2px; padding: 2px 10px; vertical-align: 1px;
  border: 1px solid #62766e !important; border-radius: 11px !important; background: #fff !important; color: #2f3b36 !important;
  font: 600 12.5px/1.4 Roboto, Arial, sans-serif; cursor: pointer;
}

/* 1.8.7: one font size per row (row 1: unit / finish / price; row 2: 2B,2B / location / View) */
.mobile-availability .mobile-unit-style { font-size: 17.6px; }
.mobile-availability .mobile-unit-location,
.ssav-has-pick .mobile-unit-location { font-size: 15.6px; }
@media (max-width: 374px) {
  .mobile-availability .mobile-unit-style { font-size: 16px; letter-spacing: 0.4px; }
  .mobile-availability .mobile-unit-location,
  .ssav-has-pick .mobile-unit-location { font-size: 14px; }
}
.ssav-modal button.ssav-pick-link, .ssav-modal button.ssav-pick-link:hover, .ssav-modal button.ssav-pick-link:focus { margin: 4px 4px 0 0; }

/* 1.8.9 gallery: dots are clickable; mouse can drag the photos */
.ssav-dots2 span { position: relative; pointer-events: auto; cursor: pointer; }
.ssav-dots2 span::before { content: ""; position: absolute; inset: -6px; }
.ssav-pop.is-wide .ssav-strip { cursor: grab; }
.ssav-strip.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.ssav-strip.is-dragging img { pointer-events: none; }

/* 1.8.13 desktop gallery: smooth eased slides + see-through dark backdrop */
.ssav-strip.is-anim { scroll-snap-type: none; }
.ssav-pop.is-wide .ssav-strip { will-change: transform; }
.ssav-pop.is-gallery.is-wide { background: rgba(14, 17, 16, .78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ssav-pop.is-gallery.is-wide .ssav-gal { background: transparent; }

/* 1.8.15 phones: table reaches the card's inner edge (10px from the screen);
   circle and text sit 25px from the screen edge, like the rest of the page.
   --ssav-m-edge: screen edge -> table edge.  --ssav-m-in: table edge -> circle / text. */
@media (max-width: 767px) {
  #ssav-table.mobile-availability {
    --ssav-m-edge: 10px; --ssav-m-in: 15px;
    width: calc(100vw - 2 * var(--ssav-m-edge)) !important; max-width: none !important;
    margin-left: calc((100% - (100vw - 2 * var(--ssav-m-edge))) / 2) !important;
    margin-right: calc((100% - (100vw - 2 * var(--ssav-m-edge))) / 2) !important;
  }
  #ssav-table .mobile-unit { padding-left: calc(var(--ssav-m-in) - 6px); padding-right: var(--ssav-m-in); }  /* circle's ring is 6px inside its tap area */
  #ssav-table:not(.ssav-has-pick) .mobile-unit { padding-left: var(--ssav-m-in); }
  #ssav-table .ssav-pickbar { margin-left: var(--ssav-m-in); margin-right: var(--ssav-m-in); }
}

/* =========================================================
   1.9.0 CONTACT FORM  [ssav_contact]  +  contact popup
   ========================================================= */
.ssav-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ssav-field textarea {
  -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 100%; min-height: 96px; resize: vertical;
  border: 1px solid #cfccbf; border-radius: 10px; background: #fff; padding: 12px 14px;
  font: 400 16px/1.4 Roboto, Arial, sans-serif; color: #111;
}
.ssav-field textarea:focus { outline: none; border-color: #62766e; box-shadow: 0 0 0 3px rgba(98,118,110,.18); }
.ssav-field.has-error textarea { border-color: #b3261e; }

/* Popup: first/last side by side; on wider screens email/phone too */
.ssav-modal .ssav-form.ssav-cform { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
.ssav-modal .ssav-form.ssav-cform > * { grid-column: 1 / -1; }
.ssav-modal .ssav-form.ssav-cform > .ssav-f-first,
.ssav-modal .ssav-form.ssav-cform > .ssav-f-last { grid-column: auto; }
@media (min-width: 768px) {
  .ssav-modal .ssav-form.ssav-cform { column-gap: 14px; }
  .ssav-modal .ssav-form.ssav-cform > .ssav-field:nth-of-type(2),
  .ssav-modal .ssav-form.ssav-cform > .ssav-field:nth-of-type(3) { grid-column: auto; }
  .ssav-modal .ssav-form.ssav-cform > .ssav-f-email,
  .ssav-modal .ssav-form.ssav-cform > .ssav-f-phone { grid-column: auto; }
  .ssav-modal .ssav-form.ssav-cform > .ssav-f-message { grid-column: 1 / -1; }
}
.ssav-modal.is-contact .ssav-form-intro { font-size: 15px; margin-bottom: 18px; }

/* On a page: same look as the Elementor form it replaces */
.ssav-contact { width: 100%; font-family: Roboto, Arial, sans-serif; }
.ssav-contact .ssav-form.is-inline {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0;
}
.ssav-contact .ssav-form.is-inline > * { grid-column: 1 / -1; }
.ssav-contact .ssav-form.is-inline > .ssav-f-first,
.ssav-contact .ssav-form.is-inline > .ssav-f-last,
.ssav-contact .ssav-form.is-inline > .ssav-f-email,
.ssav-contact .ssav-form.is-inline > .ssav-f-phone { grid-column: auto; }
@media (max-width: 767px) {
  .ssav-contact .ssav-form.is-inline > .ssav-f-email,
  .ssav-contact .ssav-form.is-inline > .ssav-f-phone { grid-column: 1 / -1; }
}
.ssav-contact .ssav-field { margin: 0; gap: 4px; }
.ssav-contact .ssav-field input,
.ssav-contact .ssav-field textarea {
  height: 40px; min-height: 0; padding: 8px 16px; border: 1px solid #69727d; border-radius: 3px; background: #fff;
  font: 400 15px/21px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: #1f2124;
  box-shadow: none;
}
.ssav-contact .ssav-field textarea { height: 75px; padding: 5px 14px; resize: vertical; }
.ssav-contact .ssav-field input::placeholder,
.ssav-contact .ssav-field textarea::placeholder { color: #75797e; opacity: 1; }
.ssav-contact .ssav-field input:focus,
.ssav-contact .ssav-field textarea:focus { outline: none; border-color: #60756e; box-shadow: 0 0 0 2px rgba(96,117,110,.2); }
.ssav-contact .ssav-field.has-error input,
.ssav-contact .ssav-field.has-error textarea { border-color: #b3261e; }
.ssav-contact .ssav-err:empty { display: none; }
@media (max-width: 767px) {   /* 16px stops iPhones zooming in when a field is tapped */
  .ssav-contact .ssav-field input, .ssav-contact .ssav-field textarea { font-size: 16px; }
}
.ssav-contact .ssav-form-error { margin: 0; }
.ssav-contact .ssav-submit,
.ssav-contact .ssav-submit:hover,
.ssav-contact .ssav-submit:focus,
.ssav-contact .ssav-submit:active {
  height: 40px; margin: 0; border: 0 !important; border-radius: 7px !important; background: #60756e !important; color: #fff !important;
  font: 700 15px Roboto, Arial, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; box-shadow: none; text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.ssav-contact .ssav-submit:hover { background: #53675f !important; }
@media (max-width: 767px) { .ssav-contact .ssav-submit { font-size: 17px; } }
.ssav-contact.is-done .ssav-done { padding: 24px 0 8px; }
.ssav-contact.is-done .ssav-done .ssav-actions { max-width: 360px; }
.ssav-contact .ssav-btn-2, .ssav-contact .ssav-btn-2:hover { color: #2f3b36 !important; background: transparent !important; }

/* =========================================================
   1.9.1 CONNECT POPUP (#connect-popup): the whole contact card
   ========================================================= */
.ssav-modal.is-connect .ssav-head {
  position: absolute; top: calc(10px + env(safe-area-inset-top, 0px)); right: 10px; z-index: 3;
  padding: 0; border: 0; background: none;
}
.ssav-modal.is-connect .ssav-title, .ssav-modal.is-connect .ssav-count { display: none; }
.ssav-modal.is-connect .ssav-panel { background: #fff8ec; }
.ssav-modal.is-connect .ssav-body { background: transparent; padding: 0; }
.ssav-modal.is-connect .ssav-body > * { max-width: none; }

.ssav-cc { font-family: Roboto, Arial, sans-serif; color: #333; }
.ssav-cc-info { padding: calc(40px + env(safe-area-inset-top, 0px)) 25px 24px; }
.ssav-cc-kicker { display: none; margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 2.25px; text-transform: uppercase; color: #789072; }
.ssav-cc-h { margin: 0; font-family: AgathoMedium, Agatho, "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: 34px; line-height: 1.2; color: #000; text-align: center; }
.ssav-cc-intro { display: none; margin: 12px 0 0; font-size: 15px; line-height: 21px; color: #333; }
.ssav-cc-rows { margin-top: 18px; }
.ssav-modal .ssav-cc-row, .ssav-modal .ssav-cc-row:hover, .ssav-modal .ssav-cc-row:focus {
  display: flex; align-items: center; gap: 16px; padding: 13px 0; color: #333 !important; background: none !important; text-decoration: none !important;
}
.ssav-modal .ssav-cc-row.is-email { border-top: 1px solid #dadada; border-bottom: 1px solid #dadada; }
.ssav-cc-row img { flex: 0 0 32px; width: 32px; height: 32px; display: block; border: 0; border-radius: 0; box-shadow: none; }
.ssav-cc-txt { font-size: 17px; line-height: 1.25; }
.ssav-cc-dir { display: block; margin-top: 6px; font-size: 14px; font-weight: 500; letter-spacing: .4px; color: #5f7a6b; }
.ssav-modal .ssav-cc-row:hover .ssav-cc-txt { color: #5f7a6b; }
.ssav-modal .ssav-cc-row.is-addr:hover .ssav-cc-dir { text-decoration: underline; }
.ssav-cc-div { display: none; }
.ssav-cc-form { padding: 4px 25px calc(28px + env(safe-area-inset-bottom, 0px)); }
.ssav-cc-note { margin: 0; padding-top: 20px; font-size: 17px; line-height: 1.45; text-align: center; color: #333; }

/* Same form layout as the footer, whatever the popup's other form rules say */
.ssav-modal.is-connect .ssav-contact .ssav-form.is-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ssav-modal.is-connect .ssav-contact .ssav-form.is-inline > .ssav-field,
.ssav-modal.is-connect .ssav-contact .ssav-form.is-inline > * { grid-column: 1 / -1; }
.ssav-modal.is-connect .ssav-contact .ssav-form.is-inline > .ssav-f-first,
.ssav-modal.is-connect .ssav-contact .ssav-form.is-inline > .ssav-f-last { grid-column: auto; }

/* Wide screens: info | divider | form, like the desktop footer card */
@media (min-width: 960px) {
  .ssav-modal.is-sheet.is-connect .ssav-panel { max-width: min(1160px, calc(100vw - 48px)); background: #f8f8f5; border-radius: 12px; }
  .ssav-cc { display: grid; grid-template-columns: 400px 1px minmax(0, 1fr); align-items: stretch; }
  .ssav-cc-info { padding: 48px 44px 48px 52px; display: flex; flex-direction: column; justify-content: center; }
  .ssav-cc-kicker, .ssav-cc-intro { display: block; }
  .ssav-cc-h { text-align: left; }
  .ssav-cc-txt { font-size: 15px; }
  .ssav-cc-dir { font-size: 13px; margin-top: 5px; }
  .ssav-cc-div { display: block; align-self: center; height: 320px; max-height: 80%; background: #c2c2c2; }
  .ssav-cc-form { padding: 48px 52px 48px 44px; display: flex; flex-direction: column; justify-content: center; }
  .ssav-cc-note { font-size: 15px; }
  .ssav-modal.is-connect .ssav-contact .ssav-form.is-inline > .ssav-f-email,
  .ssav-modal.is-connect .ssav-contact .ssav-form.is-inline > .ssav-f-phone { grid-column: auto; }
}
/* Tablets: a centered card, stacked */
@media (min-width: 768px) and (max-width: 959px) {
  .ssav-modal.is-sheet.is-connect .ssav-panel { max-width: 620px; background: #f8f8f5; }
  .ssav-cc-info { padding: 40px 40px 16px; }
  .ssav-cc-form { padding: 8px 40px 32px; }
}
.ssav-contact .ssav-btn-2, .ssav-contact .ssav-btn-2:hover, .ssav-contact .ssav-btn-2:focus {
  height: 40px; border-radius: 7px !important; font: 700 14px Roboto, Arial, sans-serif; letter-spacing: 1.5px;
  box-shadow: inset 0 0 0 1.5px #60756e; margin: 0;
}

/* 1.9.2: popups measured against the footer contact card */
.ssav-cc-info { padding-top: calc(56px + env(safe-area-inset-top, 0px)); }
.ssav-cc-h { font-family: AgathoMedium, Agatho, "Cormorant Garamond", Georgia, serif; letter-spacing: .5px; line-height: 40.8px; }
.ssav-cc-txt { line-height: 1.2; }
.ssav-cc-note { line-height: 1.4; }
.ssav-cc-form { padding-top: 0; }
.ssav-cc-info { padding-bottom: 27px; }
@media (min-width: 960px) {
  .ssav-modal.is-sheet.is-connect .ssav-panel { max-width: min(1220px, calc(100vw - 48px)); border-radius: 10px; }
  .ssav-cc-info { padding: 48px 44px 48px 52px; }
  .ssav-cc-form { padding: 48px 52px 48px 44px; }
  .ssav-cc-h { font-family: Agatho, AgathoMedium, "Cormorant Garamond", Georgia, serif; letter-spacing: normal; }
  .ssav-cc-intro { margin-top: 11px; }
  .ssav-cc-txt { line-height: 18px; }
}

/* Message Us (compact): heading + form + note, one column */
.ssav-modal.is-compact .ssav-cc { display: block; }
.ssav-modal.is-compact .ssav-cc-info { padding-bottom: 24px; }
@media (min-width: 768px) {
  .ssav-modal.is-sheet.is-connect.is-compact .ssav-panel { max-width: 620px; background: #f8f8f5; border-radius: 10px; }
  .ssav-modal.is-compact .ssav-cc-info { padding: 44px 44px 22px; display: block; }
  .ssav-modal.is-compact .ssav-cc-kicker { display: block; }
  .ssav-modal.is-compact .ssav-cc-h { text-align: left; font-family: Agatho, AgathoMedium, "Cormorant Garamond", Georgia, serif; letter-spacing: normal; }
  .ssav-modal.is-compact .ssav-cc-form { padding: 0 44px 40px; display: block; }
  .ssav-modal.is-compact .ssav-cc-note { font-size: 15px; }
  .ssav-modal.is-connect.is-compact .ssav-contact .ssav-form.is-inline > .ssav-f-email,
  .ssav-modal.is-connect.is-compact .ssav-contact .ssav-form.is-inline > .ssav-f-phone { grid-column: auto; }
}
.ssav-modal .ssav-cc-row.is-addr { padding-bottom: 0; }
.ssav-cc-dir { line-height: 1.2; }
.ssav-cc-kicker { line-height: 15.6px; }

/* 1.9.3: offer with several homes, opened from one unit's Details: a small dot beside that unit
   pulses together with the offer's outline (same color, same timing), then fades away */
.ssav-ofr a.ssav-ofr-unit { position: relative; }
.ssav-ofr a.ssav-ofr-unit.is-mine::before {
  content: ""; position: absolute; left: -10px; top: 50%; width: 6px; height: 6px; margin-top: -3px;
  border-radius: 50%; background: #c9973e; opacity: 0; pointer-events: none;
  animation: ssavOfrDot 2.4s ease-in-out .3s both;
}
@keyframes ssavOfrDot {
  0%, 50%, 100% { opacity: 0; transform: scale(.6); }
  20%, 30%, 70%, 80% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) { .ssav-ofr a.ssav-ofr-unit.is-mine::before { animation: none; opacity: 1; } }

/* =========================================================
   1.9.5 MOBILE / TABLET MENU (#menu)
   ========================================================= */
.ssav-menu {
  position: fixed; inset: 0; z-index: 100010; display: flex; flex-direction: column;
  background: #fbf6ec; color: #1d2320; font-family: Roboto, Arial, sans-serif;
  opacity: 0; transition: opacity .22s ease; -webkit-font-smoothing: antialiased;
}
.ssav-menu[hidden] { display: none; }
.ssav-menu.is-open { opacity: 1; }
.ssav-menu-top { position: relative; height: calc(55px + env(safe-area-inset-top, 0px)); flex-shrink: 0; }
.ssav-menu-word {
  position: absolute; left: 0; right: 0; top: 12px; text-align: center; pointer-events: none;
  font-family: Agatho, AgathoMedium, "Cormorant Garamond", Georgia, serif; font-size: 25px; line-height: 30px; letter-spacing: 7px; padding-left: 7px; color: #000;
}
.ssav-menu button.ssav-menu-x, .ssav-menu button.ssav-menu-x:hover, .ssav-menu button.ssav-menu-x:focus, .ssav-menu button.ssav-menu-x:active {
  -webkit-appearance: none; appearance: none; position: absolute; right: 16px; top: 7px; width: 40px; height: 40px; padding: 0; margin: 0;
  border: 0 !important; border-radius: 50% !important; background: #ebe6da !important; color: #3d4541 !important;
  display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; -webkit-tap-highlight-color: transparent;
}
.ssav-menu button.ssav-menu-x:focus-visible { outline: 2px solid #2f5d4c !important; outline-offset: 2px; }
.ssav-menu-x svg { width: 18px; height: 18px; }
.ssav-menu-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 28px 25px 20px; }
.ssav-menu-list { display: flex; flex-direction: column; border-top: 1px solid rgba(96,117,110,.28); }
.ssav-menu a.ssav-menu-link, .ssav-menu a.ssav-menu-link:hover, .ssav-menu a.ssav-menu-link:focus, .ssav-menu a.ssav-menu-link:visited {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0;
  border-bottom: 1px solid rgba(96,117,110,.28); color: #1d2320 !important; background: none !important; text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}
.ssav-menu-name { display: flex; align-items: center; gap: 12px; font-family: Agatho, AgathoMedium, "Cormorant Garamond", Georgia, serif; font-size: 36px; line-height: 1.05; letter-spacing: .01em; }
.ssav-menu-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; background: transparent; }
/* 1.10.2: the current page is shown in sage green instead of with a dot (no dot, no empty space for it) */
.ssav-menu .ssav-menu-dot { display: none !important; }
.ssav-menu a.ssav-menu-link.is-current .ssav-menu-name, .ssav-menu a.ssav-menu-link.is-current:hover .ssav-menu-name { color: #60756e; }
.ssav-menu-sub { font-size: 13px; color: #5d6862; letter-spacing: .02em; white-space: nowrap; }
/* 1.10.6: every line centred. Three columns (equal | word | equal): the word sits exactly in the middle,
   and "5 homes available" hangs off to the right of Availability, on the same baseline, without pushing it off centre */
.ssav-menu a.ssav-menu-link, .ssav-menu a.ssav-menu-link:hover, .ssav-menu a.ssav-menu-link:focus, .ssav-menu a.ssav-menu-link:visited {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: baseline; column-gap: 0;
}
.ssav-menu-link .ssav-menu-name { grid-column: 2; display: block; text-align: center; margin-left: 0 !important; }
.ssav-menu-link .ssav-menu-sub { grid-column: 3; justify-self: end; margin-left: 10px; display: inline !important; }   /* 1.10.7: as far right as the line allows */
/* phones: "5 available", slightly smaller, so it fits in the space right of the centred word */
@media (max-width: 599px) {
  .ssav-menu-sub-x { display: none; }
  .ssav-menu-link .ssav-menu-sub { font-size: 12px; margin-left: 8px; }
}

.ssav-menu a.ssav-menu-link:hover .ssav-menu-name { color: #4f6459; }
.ssav-menu-foot { flex-shrink: 0; padding: 0 25px calc(28px + env(safe-area-inset-bottom, 0px)); }
.ssav-menu-foot-in { display: flex; flex-direction: column; gap: 12px; }
.ssav-menu a.ssav-menu-sp, .ssav-menu a.ssav-menu-sp:hover, .ssav-menu a.ssav-menu-sp:focus, .ssav-menu a.ssav-menu-sp:visited {
  display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 10px; background: #f1e4c6 !important; color: #2a2418 !important; text-decoration: none !important;
}
.ssav-menu-sp .ssav-tag { width: 15px; height: 15px; flex-shrink: 0; color: #8a5f1c; }
.ssav-menu-sp-k { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #7a5418; white-space: nowrap; }
.ssav-menu-sp-t { flex: 1 1 auto; font-size: 15px; min-width: 0; }
.ssav-menu-sp-c { font-size: 18px; color: #7a5418; }
.ssav-menu-btns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }   /* one full-width Call button */
.ssav-menu a.ssav-menu-tel { display: block; color: inherit; background: none !important; -webkit-tap-highlight-color: transparent; }
.ssav-menu a.ssav-menu-btn, .ssav-menu a.ssav-menu-btn:hover, .ssav-menu a.ssav-menu-btn:focus, .ssav-menu a.ssav-menu-btn:visited {
  height: 46px; border-radius: 7px; box-shadow: inset 0 0 0 1.5px #62766e; background: transparent !important; color: #2f3b36 !important;
  display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 8px;
  font: 500 15px Roboto, Arial, sans-serif; letter-spacing: .02em; text-decoration: none !important; white-space: nowrap; -webkit-tap-highlight-color: transparent;
}
.ssav-menu a.ssav-menu-btn:active { background: rgba(98,118,110,.1) !important; }
.ssav-menu-info { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: #5d6862; text-align: center; }
.ssav-menu a.ssav-menu-dir, .ssav-menu a.ssav-menu-dir:visited, .ssav-menu a.ssav-menu-dir:hover, .ssav-menu a.ssav-menu-dir:focus {
  display: inline-flex; align-items: center; gap: 6px; color: #2f3b36 !important; background: none !important;
  text-decoration: underline !important; text-decoration-color: rgba(98,118,110,.45) !important; text-underline-offset: 3px;
}
.ssav-menu-dir-i { width: 16px; height: 16px; flex: none; color: #62766e; }
@media (max-width: 359px) { .ssav-menu a.ssav-menu-btn { font-size: 14px; } .ssav-menu-name { font-size: 32px; } }

/* links rise in gently */
@media (prefers-reduced-motion: no-preference) {
  .ssav-menu .ssav-menu-link, .ssav-menu .ssav-menu-foot { transform: translateY(10px); opacity: 0; transition: transform .35s cubic-bezier(.22,.8,.3,1), opacity .3s ease; transition-delay: calc(40ms + var(--i, 4) * 35ms); }
  .ssav-menu.is-open .ssav-menu-link, .ssav-menu.is-open .ssav-menu-foot { transform: none; opacity: 1; }
}

/* Tablets: links centered and larger */
@media (min-width: 600px) {
  .ssav-menu-nav { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px 48px; }
  .ssav-menu-list { width: 100%; max-width: 460px; }
  .ssav-menu a.ssav-menu-link { justify-content: center; }
  .ssav-menu-name { font-size: 44px; }
  .ssav-menu-foot { display: flex; justify-content: center; padding: 0 48px calc(40px + env(safe-area-inset-bottom, 0px)); }
  .ssav-menu-foot-in { width: 100%; max-width: 460px; }
}
/* 1.9.6 menu fixes: no focus ring on open, no top/bottom lines, everything appears at once */
.ssav-menu:focus { outline: none; }
.ssav-menu button.ssav-menu-x:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }
.ssav-menu-list { border-top: 0; }
.ssav-menu a.ssav-menu-link:last-child { border-bottom: 0; }
@media (prefers-reduced-motion: no-preference) {
  .ssav-menu .ssav-menu-link, .ssav-menu .ssav-menu-foot { transition-delay: 0s; }
}

/* =========================================================
   [ssav_snapshot] – "Available Residences" card (1.9.8)
   Same look as the Classic & Signature card on Neighborhood.
   ========================================================= */
.ssav-snap {
  box-sizing: border-box; width: 100%; max-width: 1220px; margin: 0 auto;
  padding: 44px 32px 46px; border: 1px solid #c2c2c2; border-radius: 7px; background: #fff;
  text-align: center; color: #333;
}
.ssav-snap *, .ssav-snap *::before, .ssav-snap *::after { box-sizing: border-box; }
.ssav-snap p { margin: 0; }
.ssav-snap .ssav-snap-eyebrow {
  font: 700 13px/1.2 Roboto, Arial, sans-serif; letter-spacing: 2.25px; color: #789072; text-transform: uppercase;
}
.ssav-snap .ssav-snap-h {
  margin: 14px 0 8px; font-family: Agatho, Georgia, serif; font-size: 34px; font-weight: 400;
  line-height: 1.2; letter-spacing: .5px; color: #000; text-transform: none;
}
.ssav-snap .ssav-snap-sub { font: 400 15px/1.6 Roboto, Arial, sans-serif; color: #333; }
.ssav-snap .ssav-snap-sub strong { font-weight: 500; color: #111; }
.ssav-snap .ssav-snap-cols { display: flex; justify-content: center; margin: 26px auto 0; max-width: 640px; }
.ssav-snap .ssav-snap-col { flex: 1 1 0; padding: 2px 16px; }
.ssav-snap .ssav-snap-col + .ssav-snap-col { border-left: 1px solid #c2c2c2; }
.ssav-snap .ssav-snap-lab { font: 700 13px/1.2 Roboto, Arial, sans-serif; letter-spacing: 2.25px; color: #000; }
.ssav-snap .ssav-snap-price {
  margin-top: 6px; font-family: Agatho, Georgia, serif; font-size: 36px; font-weight: 500; line-height: 1.2;
  letter-spacing: 1px; color: #333;
}
.ssav-snap .ssav-snap-from { font: 500 15px Roboto, Arial, sans-serif; letter-spacing: 0; margin-right: 4px; vertical-align: 3px; }
.ssav-snap .ssav-snap-none { font: 500 17px/1.3 Roboto, Arial, sans-serif; letter-spacing: 0; color: #555; }
.ssav-snap .ssav-snap-n { margin-top: 2px; font: 500 14px/1.4 Roboto, Arial, sans-serif; color: #60756e; }
.ssav-snap .ssav-snap-col.is-none .ssav-snap-n { color: #666; font-weight: 400; }

/* specials line (opens the offers popup) */
.ssav-snap button.ssav-snap-sp,
.ssav-snap button.ssav-snap-sp:hover, .ssav-snap button.ssav-snap-sp:focus {
  display: flex; width: fit-content; max-width: 100%; align-items: center; justify-content: center; gap: 8px;
  margin: 24px auto 0; padding: 7px 16px; border: 1px solid #c9d3cd; border-radius: 18px;
  background: #f3f6f4 !important; color: #2f3b36 !important; cursor: pointer; box-shadow: none;
  font: 500 14px/1.35 Roboto, Arial, sans-serif; letter-spacing: 0; text-transform: none;
}
.ssav-snap .ssav-snap-sp .ssav-tag { width: 15px; height: 15px; flex: none; color: #60756e; }
.ssav-snap .ssav-snap-sp-go { color: #60756e; font-weight: 700; }
.ssav-snap button.ssav-snap-sp:hover .ssav-snap-sp-go { text-decoration: underline; }

.ssav-snap a.ssav-snap-btn, .ssav-snap a.ssav-snap-btn:visited {
  display: flex; width: fit-content; margin-left: auto; margin-right: auto; align-items: center; justify-content: center; margin-top: 26px;
  min-height: 44px; padding: 12px 45px; border-radius: 22px; background: #60756e; color: #fff !important;
  font: 700 15px/1.2 Roboto, Arial, sans-serif; letter-spacing: 1.5px; text-decoration: none !important;
  transition: background .15s;
}
.ssav-snap a.ssav-snap-btn:hover, .ssav-snap a.ssav-snap-btn:focus { background: #4d5f59; color: #fff !important; }

@media (max-width: 767px) {
  .ssav-snap { padding: 34px 18px 36px; }
  .ssav-snap .ssav-snap-h { font-size: 28px; }
  .ssav-snap .ssav-snap-sub .ssav-snap-dot { display: none; }
  .ssav-snap .ssav-snap-sub .ssav-snap-plan { display: block; }
  .ssav-snap .ssav-snap-col { padding: 2px 8px; }
  .ssav-snap .ssav-snap-lab { font-size: 11.5px; letter-spacing: 1.6px; }
  .ssav-snap .ssav-snap-price { font-size: 25px; white-space: nowrap; }
  .ssav-snap .ssav-snap-from { font-size: 12.5px; margin-right: 3px; vertical-align: 2px; }
  .ssav-snap .ssav-snap-sp-more { display: none; }
  .ssav-snap button.ssav-snap-sp, .ssav-snap button.ssav-snap-sp:hover, .ssav-snap button.ssav-snap-sp:focus { font-size: 13.5px; padding: 7px 14px; white-space: nowrap; }
  .ssav-snap .ssav-snap-none { font-size: 15px; }
  .ssav-snap .ssav-snap-n { font-size: 13px; }
  .ssav-snap a.ssav-snap-btn, .ssav-snap a.ssav-snap-btn:visited { padding: 12px 30px; font-size: 14px; }
}

/* 1.11.0: info dots on the floor plan (1.11.1: hardened against theme/Elementor button styles) */
.ssav-fpdots { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 2; }
.ssav-pop .ssav-fpdot { position: absolute !important; display: block !important; box-sizing: border-box !important;
  width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important;
  margin: -22px 0 0 -22px !important; padding: 12px !important; border: 0 !important; border-radius: 50% !important;
  background: transparent !important; box-shadow: none !important; outline: none; font-size: 0 !important; line-height: 0 !important;
  letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; pointer-events: auto; transform: none;
  transition: transform .15s ease; -webkit-tap-highlight-color: transparent; -webkit-appearance: none; appearance: none; }
.ssav-pop .ssav-fpdot::before, .ssav-pop .ssav-fpdot::after { content: none !important; display: none !important; }
.ssav-pop .ssav-fpdot svg { display: block !important; width: 20px !important; height: 20px !important; margin: 0 !important; border-radius: 50%; filter: drop-shadow(0 1px 2.5px rgba(0,0,0,.3)); pointer-events: none; }
.ssav-pop .ssav-fpdot:hover, .ssav-pop .ssav-fpdot:focus-visible { transform: scale(1.12); background: transparent !important; }
.ssav-pop .ssav-fpdot:focus-visible { outline: 2px solid #1d4f86 !important; outline-offset: -4px; }
/* 1.11.2: phones 20px, tablets 22px (25% smaller), computers 30px; the tap area stays 44px */
@media (min-width: 768px) { .ssav-pop .ssav-fpdot { padding: 11px !important; } .ssav-pop .ssav-fpdot svg { width: 22px !important; height: 22px !important; } }
@media (min-width: 1025px) { .ssav-pop .ssav-fpdot { padding: 7px !important; } .ssav-pop .ssav-fpdot svg { width: 30px !important; height: 30px !important; } }
.ssav-dotinfo { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(20, 26, 23, .32); opacity: 0; transition: opacity .18s ease; }
.ssav-dotinfo.is-open { opacity: 1; }
.ssav-dotcard { position: relative; width: 100%; max-width: 360px; max-height: 100%; overflow: auto; box-sizing: border-box; padding: 24px 26px 22px; border-radius: 12px; background: #fff; color: #1f2523; box-shadow: 0 12px 40px rgba(0,0,0,.25); text-align: left; transform: translateY(8px) scale(.98); transition: transform .18s ease; outline: none; }
.ssav-dotinfo.is-open .ssav-dotcard { transform: none; }
.ssav-dotcard-h { margin: 0 34px 8px 0 !important; padding: 0 !important; font: 600 18px/1.3 Roboto, Arial, sans-serif !important; letter-spacing: .2px; color: #1f2523 !important; text-transform: none !important; }
.ssav-dotcard-p { margin: 0 !important; font: 400 15px/1.55 Roboto, Arial, sans-serif; color: #3d4643; }
.ssav-dotx { position: absolute; top: 10px; right: 10px; width: 34px !important; height: 34px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; box-shadow: none !important; display: flex !important; align-items: center; justify-content: center; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #f1f0eb !important; color: #333 !important; cursor: pointer; }
.ssav-dotx:hover, .ssav-dotx:focus-visible { background: #e3e1d7 !important; color: #000 !important; }
/* 1.12.0: photos in the info card */
.ssav-dotcard.has-ph { max-width: 420px; }
.ssav-dotcard .ssav-dotx { z-index: 4; }
.ssav-dc-media { position: relative; margin: -24px -26px 18px; aspect-ratio: 4 / 3; max-height: 52vh; border-radius: 12px 12px 0 0; overflow: hidden; background: #e9e7e0; }
.ssav-dc-media:last-child { margin-bottom: -22px; border-radius: 12px; }
.ssav-dc-track { display: flex; width: 100%; height: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; outline: none; }
.ssav-dc-track::-webkit-scrollbar { display: none; }
.ssav-dc-track.is-drag { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.ssav-dc-media.is-many .ssav-dc-track { cursor: grab; }
.ssav-dc-slide { flex: 0 0 100%; width: 100%; height: 100%; scroll-snap-align: center; scroll-snap-stop: always; }
.ssav-dc-slide img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; border-radius: 0 !important; object-fit: cover; user-select: none; -webkit-user-drag: none; }
.ssav-pop .ssav-dc-arr { position: absolute !important; top: 50% !important; z-index: 3; width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important; margin: -22px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #fff !important; display: flex !important; align-items: center; justify-content: center; cursor: pointer; filter: drop-shadow(0 1px 3px rgba(0,0,0,.55)); transition: opacity .15s ease, transform .15s ease; }
.ssav-pop .ssav-dc-arr::before, .ssav-pop .ssav-dc-arr::after, .ssav-pop .ssav-dc-pip::after { content: none !important; display: none !important; }
.ssav-pop .ssav-dc-prev { left: 4px !important; right: auto !important; }
.ssav-pop .ssav-dc-next { right: 4px !important; left: auto !important; }
.ssav-pop .ssav-dc-arr:hover { transform: scale(1.12); }
.ssav-pop .ssav-dc-arr.is-off { opacity: 0; pointer-events: none; }
.ssav-dc-pips { position: absolute; left: 0; right: 0; bottom: 8px; z-index: 3; display: flex; justify-content: center; gap: 0; pointer-events: none; }
.ssav-pop .ssav-dc-pip { pointer-events: auto; width: 20px !important; height: 20px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 6px !important; box-sizing: border-box !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important; cursor: pointer; display: block !important; }
.ssav-pop .ssav-dc-pip::before { content: "" !important; display: block !important; width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.55); box-shadow: 0 0 3px rgba(0,0,0,.45); transition: background .15s ease, transform .15s ease; }
.ssav-pop .ssav-dc-pip.is-on::before { background: #fff; transform: scale(1.15); }
@media (prefers-reduced-motion: reduce) { .ssav-dc-track { scroll-behavior: auto; } .ssav-dc-arr { transition: none; } }
@media (prefers-reduced-motion: reduce) { .ssav-fpdot, .ssav-dotinfo, .ssav-dotcard { transition: none; } }

/* 1.13.0: phone/tablet floor plan popup — inactive tab gets a soft lime tint */
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:not(.is-on),
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:not(.is-on):hover,
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:not(.is-on):focus,
.ssav-pop.is-plan:not(.is-desk) .ssav-tab:not(.is-on):active { background: #e2ecb4 !important; color: #3f4d22 !important; }

/* 1.13.0: camera buttons on feature lines (Features tab) */
.ssav-pop .ssav-feat li.has-cam { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.ssav-pop .ssav-feat li.has-cam .ssav-feat-t { flex: 0 1 auto; }
.ssav-pop .ssav-ftcam {
  position: relative !important; flex: 0 0 auto; display: block !important;
  width: 40px !important; height: 40px !important; min-width: 0 !important; min-height: 0 !important;
  margin: -10px 0 !important; padding: 8px !important; box-sizing: border-box !important;
  border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important;
  line-height: 0 !important; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .15s ease;
}
.ssav-pop .ssav-ftcam::before, .ssav-pop .ssav-ftcam::after { content: none !important; display: none !important; }
.ssav-pop .ssav-ftcam svg { display: block; width: 24px; height: 24px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.ssav-pop .ssav-ftcam:hover { transform: scale(1.1); }

/* 1.13.1: phones & tablets — photo indicator dots 25% bigger (8→10px) and 25% more spread (20→25px apart) */
@media (max-width: 1024px) {
  .ssav-pop .ssav-dc-pip { width: 25px !important; height: 25px !important; padding: 7.5px !important; }
  .ssav-pop .ssav-dc-pip::before { width: 10px; height: 10px; }
  .ssav-dc-pips { bottom: 7px; }
}

/* 1.14.0: [ssav_carousel] cover-flow photo strip — up to 1220px wide, or the container width (inside the page's side padding) */
.ssav-cf { position: relative; width: 100%; max-width: 1220px; margin: 0 auto; padding: 6px 0 26px; box-sizing: border-box; overflow: hidden; outline: none; -webkit-tap-highlight-color: transparent; }
.ssav-cf-track { position: relative; height: 0; padding: 0; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.ssav-cf:not(.is-ready) .ssav-cf-track { display: flex; gap: 12px; height: auto; overflow-x: auto; }
.ssav-cf:not(.is-ready) .ssav-cf-slide { position: relative !important; left: auto !important; flex: 0 0 76%; aspect-ratio: 3 / 2; }
.ssav-cf .ssav-cf-slide {
  position: absolute !important; top: 0; left: 50% !important; display: block !important;
  min-width: 0 !important; min-height: 0 !important; padding: 0 !important; border: 0 !important;
  border-radius: 10px !important; background: #e9e7e0 !important; box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
  overflow: hidden; cursor: pointer; transform-origin: 50% 50%; will-change: transform;
}
.ssav-cf .ssav-cf-slide::before, .ssav-cf .ssav-cf-slide::after { content: none !important; display: none !important; }
.ssav-cf.is-anim .ssav-cf-slide { transition: transform .55s cubic-bezier(.22,.7,.2,1), opacity .4s ease; }
.ssav-cf.is-drag .ssav-cf-slide { transition: none !important; }
.ssav-cf .ssav-cf-slide img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; border-radius: 0 !important; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }
.ssav-cf .ssav-cf-slide.is-side::after { content: "" !important; display: block !important; position: absolute; inset: 0; background: rgba(255,255,255,.35); pointer-events: none; }
.ssav-cf .ssav-cf-slide.is-c:focus-visible { outline: 3px solid #5196d5 !important; outline-offset: 3px; }
.ssav-cf.is-drag .ssav-cf-track { cursor: grabbing; }
@media (prefers-reduced-motion: reduce) { .ssav-cf.is-anim .ssav-cf-slide { transition: opacity .2s ease; } }

/* 1.14.1: inside Elementor containers the shortcode widget shrank to 0 width (the slides are positioned, so they
   don't give it a size). Ask for the full 1220px and let max-width cap it to whatever space there is. */
.ssav-cf { width: 1220px !important; max-width: 100% !important; }
.elementor-widget-shortcode:has(.ssav-cf), .elementor-widget-shortcode:has(.ssav-cf) > .elementor-widget-container,
.elementor-widget-shortcode:has(.ssav-cf) .elementor-shortcode { width: 100% !important; max-width: 1220px; align-self: center; margin-left: auto; margin-right: auto; }

/* 1.15.0: line above the first unit ("Floorplan: 2 Bed, 2 Full-Bath…"). ssav.js lines it up with the "2B, 2B" text
   and copies that text's font and size, on every screen size. */
.mobile-availability .ssav-fpline { padding: 18px 0 0; font-size: 15.6px; line-height: 1.25; color: inherit; }
.mobile-availability .ssav-fpline-m { display: none; }
@media (max-width: 1024px) {
  .mobile-availability .ssav-fpline-d { display: none; }
  .mobile-availability .ssav-fpline-m { display: inline; }
}

/* 1.15.1: spacing — closer to what's above, more room before the first unit */
.mobile-availability .ssav-fpline { padding-top: 8px; padding-bottom: 13px; }   /* 1.15.3: 5px up, 5px more room below */
.mobile-availability .ssav-fpline b { font-weight: 600; }
@media (min-width: 1025px) {
  .mobile-availability .ssav-fpline { padding-top: 0; padding-bottom: 15px; }
  .mobile-availability .ssav-sort + .ssav-fpline { margin-top: -6px; }
}

/* =========================================================
   1.16.0 UNIT DETAILS DROP-DOWN
   1.19.0: "⌄ Expand" sits at the right end of the special line (where "Details" was), or in an
   empty line of the same height when the unit has no special. Details open underneath.
   Open: card border fades in around the whole unit; details slide open.
   ========================================================= */
.mobile-unit.has-xp { position: relative; grid-template-rows: 26px 20px auto auto; padding-bottom: 5px; transition: background-color .2s ease, border-color .3s ease; }
.mobile-unit.has-xp .ssav-sline { grid-row: 3; padding-right: 92px; }   /* room for "⌄ Expand" */
.mobile-unit.has-xp .ssav-sline-d { display: none; }

/* circle: row 1 only (still a tall tap area above it) */
/* "⌄ Expand" / "⌃ Hide" */
.mobile-availability .ssav-xbtn {
  grid-column: 2 / -1; grid-row: 3; justify-self: end; align-self: stretch;
  position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 3px;
  min-height: 34px; margin: 0; padding: 0 10px 0 8px;
  font-size: 13.5px; line-height: 1; letter-spacing: 0; text-transform: none; white-space: nowrap;
}
.mobile-availability .ssav-xbtn, .mobile-availability .ssav-xbtn:hover, .mobile-availability .ssav-xbtn:focus, .mobile-availability .ssav-xbtn:active {
  background: transparent !important; color: #000 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.mobile-availability .has-special .ssav-xbtn, .mobile-availability .has-special .ssav-xbtn:hover, .mobile-availability .has-special .ssav-xbtn:focus, .mobile-availability .has-special .ssav-xbtn:active { color: #5a4520 !important; }
.mobile-availability .ssav-xbtn svg { width: 17px; height: 17px; display: block; flex: none; transition: transform .32s ease; }
.mobile-unit.is-open .ssav-xbtn svg { transform: rotate(180deg); }
.mobile-availability .ssav-xlbl > span { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
/* "Expand" and "Hide" share one spot (as wide as "Expand"), so the chevron never shifts */
.mobile-availability .ssav-xlbl { display: inline-grid; justify-items: start; }
.mobile-availability .ssav-xlbl > span { grid-area: 1 / 1; }
.mobile-availability .ssav-xlbl-c { visibility: hidden; }
.mobile-unit.is-open .ssav-xlbl-o { visibility: hidden; }
.mobile-unit.is-open .ssav-xlbl-c { visibility: visible; }
.mobile-availability .ssav-xbtn:focus-visible .ssav-xlbl { outline: 2px solid #2f5d4c; outline-offset: 3px; border-radius: 3px; }

/* card border (same as the "Select any units" box), fades in.
   1.16.1: drawn in two parts so it can grow smoothly: top + sides (::after, revealed by a clip)
   and the bottom edge (::before, slides down with the rows below). --xp-h = height still hidden. */
.mobile-unit.has-xp::after, .mobile-unit.has-xp::before {
  content: ""; position: absolute; left: calc(-1 * var(--xp-bl, 0px)); right: var(--xp-br, 0px);
  border: 1px solid #dcd9cc; pointer-events: none; opacity: 0;
  transition: opacity .35s ease, clip-path .42s cubic-bezier(.22,.75,.25,1), -webkit-clip-path .42s cubic-bezier(.22,.75,.25,1), transform .42s cubic-bezier(.22,.75,.25,1);
}
.mobile-unit.has-xp::after { top: -1px; bottom: 11px; border-bottom: 0; border-radius: 10px 10px 0 0; clip-path: inset(0 0 var(--xp-h, 0px) 0); -webkit-clip-path: inset(0 0 var(--xp-h, 0px) 0); }
.mobile-unit.has-xp::before { bottom: 0; height: 12px; border-top: 0; border-radius: 0 0 10px 10px; transform: translate3d(0, calc(-1 * var(--xp-h, 0px)), 0); }
.mobile-unit.has-xp.is-open::after, .mobile-unit.has-xp.is-open::before { opacity: 1; }
.mobile-unit.has-xp.xp-set::after, .mobile-unit.has-xp.xp-set::before, .mobile-unit.has-xp.xp-set, .mobile-unit.has-xp.xp-set .ssav-xp-card { transition: none !important; }
/* picked + opening: the green fill grows with the card */
.mobile-unit.has-xp.is-picked { background: linear-gradient(#e7f1e9, #e7f1e9) no-repeat 0 0 / 100% calc(100% - var(--xp-h, 0px)); transition: background-size .42s cubic-bezier(.22,.75,.25,1); }
.mobile-unit.has-xp.xp-shown { border-bottom-color: transparent; border-radius: 10px; }
.mobile-availability .mobile-unit:has(+ .mobile-unit.xp-shown:not(.xp-closing)) { border-bottom-color: transparent; }

/* the sliding part */
.mobile-availability .ssav-xp { grid-column: 1 / -1; grid-row: 4; align-self: start; }
.mobile-availability .ssav-xp[hidden] { display: none; }
.ssav-xp-in { padding: 4px 0 12px var(--xp-in-l, 0px); }
.ssav-xp-card {
  background: rgba(60, 72, 66, .045); border-radius: 10px; padding: 14px 14px 16px;
  opacity: 0; transition: opacity .32s ease .06s;
}
.mobile-unit.is-open .ssav-xp-card { opacity: 1; }

.mobile-availability .ssav-xp-list { list-style: none; margin: 0 0 14px; padding: 0; }
.mobile-availability .ssav-xp-list li {
  position: relative; margin: 0; padding: 0 0 0 20px;
  font-size: 15px; line-height: 1.6; color: #444b48; text-transform: none; letter-spacing: 0;
}
.mobile-availability .ssav-xp-list li::before {
  content: ""; position: absolute; left: 4px; top: .68em; width: 5px; height: 5px; border-radius: 50%; background: #4f5753;
}

/* photo strip: 2 at a time on phones, swipe for more */
.mobile-availability .ssav-xp-strip {
  display: flex; gap: 10px; overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  margin: 0 -2px; padding: 0 2px 2px;
}
.mobile-availability .ssav-xp-strip::-webkit-scrollbar { display: none; }
.mobile-availability .ssav-xp-strip.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.mobile-availability .ssav-xp-strip.is-dragging img { pointer-events: none; }
.mobile-availability .ssav-xp-strip:focus-visible { outline: 2px solid #2f5d4c; outline-offset: 3px; border-radius: 6px; }
.mobile-availability .ssav-xp-ph {
  flex: 0 0 calc((100% - 10px) / 2); scroll-snap-align: start;
  display: flex; flex-direction: column; align-items: stretch; padding: 0; text-align: center;
  text-transform: none; letter-spacing: 0;
}
.mobile-availability .ssav-xp-ph, .mobile-availability .ssav-xp-ph:hover, .mobile-availability .ssav-xp-ph:focus, .mobile-availability .ssav-xp-ph:active {
  background: transparent !important; color: inherit !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.ssav-xp-img {
  display: block; aspect-ratio: 4 / 3; border-radius: 6px; overflow: hidden;
  background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
}
.ssav-xp-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.ssav-xp-ph.is-plan .ssav-xp-img img { object-fit: contain; padding: 4px; }
.ssav-xp-ph:hover .ssav-xp-img img { transform: scale(1.03); }
.ssav-xp-ph.is-plan:hover .ssav-xp-img img { transform: none; }
.ssav-xp-cap { display: block; margin-top: 7px; font-size: 13.5px; line-height: 1.3; color: #555c59; }

/* wide Inquire button */
.mobile-availability .ssav-xp-inq,
.mobile-availability .ssav-xp-inq:hover, .mobile-availability .ssav-xp-inq:focus, .mobile-availability .ssav-xp-inq:active {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 46px; margin: 16px 0 0; padding: 0 16px;
  background: #62766e !important; color: #fff !important; border: 0 !important; border-radius: 23px !important; box-shadow: none !important;
  font-size: 15px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; line-height: 1;
}
.mobile-availability .ssav-xp-inq:focus-visible { outline: 2px solid #2f5d4c !important; outline-offset: 3px; }

/* phones: card insides line up 15px in from the border on both sides (the circle's 6px ring offset) */
@media (max-width: 767px) {
  #ssav-table.ssav-has-pick { --xp-in-l: 6px; }
}
/* tablets (phone layout, no edge padding): border sits a little outside the row */
@media (min-width: 768px) {
  .ssav-has-pick { --xp-bl: 8px; --xp-br: -2px; }
}
/* wide (computer) layout */
@container ssavtable (min-width: 560px) {
  .mobile-availability .ssav-xp-ph { flex-basis: calc((100% - 20px) / 3); }
}
@container ssavtable (min-width: 820px) {
  .mobile-availability > * { --xp-bl: 14px; --xp-br: -14px; }
  /* "Expand" starts where "Details" did: the right column's left edge */
  .mobile-availability .ssav-xbtn { grid-column: -2 / -1; justify-self: start; margin-left: -28px; padding: 0 0 0 8px; }
  .mobile-availability .mobile-unit.has-xp .ssav-sline { padding-right: var(--ssav-right); }
  .mobile-availability .ssav-xp-card { padding: 18px 18px 20px; }
}
@container ssavtable (min-width: 1000px) {
  .mobile-availability .ssav-xp-ph { flex-basis: calc((100% - 30px) / 4); }
}
@media (prefers-reduced-motion: reduce) {
  .ssav-xp-card, .mobile-unit.has-xp::after, .mobile-unit.has-xp::before, .mobile-unit.has-xp.is-picked, .mobile-availability .ssav-xbtn svg { transition: none; }
}
@container ssavtable (min-width: 820px) {
  .mobile-availability .ssav-xp-inq, .mobile-availability .ssav-xp-inq:hover, .mobile-availability .ssav-xp-inq:focus, .mobile-availability .ssav-xp-inq:active { max-width: 420px; }
}

/* 1.16.2: special line resizes smoothly with the drop-down (see slSet in ssav.js) */
.mobile-unit.has-xp .ssav-sline, .mobile-unit.has-xp .ssav-sline > * { transition: none; }
.mobile-availability .mobile-unit.has-xp .ssav-sline.xp-sl,
.mobile-availability .mobile-unit.has-xp .ssav-sline.xp-sl:hover,
.mobile-availability .mobile-unit.has-xp .ssav-sline.xp-sl:focus,
.mobile-availability .mobile-unit.has-xp .ssav-sline.xp-sl:active { position: relative; isolation: isolate; background: transparent !important; }
.mobile-unit.has-xp .ssav-sline.xp-sl::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 8px; background: #f1e4c6;
  transform-origin: 100% 50%; transform: translate3d(var(--sl-tx, 0px), 0, 0) scaleX(var(--sl-sx, 1));
  transition: transform .42s cubic-bezier(.22,.75,.25,1);
}
.mobile-unit.has-xp.xp-set .ssav-sline::before, .mobile-unit.has-xp.xp-set .ssav-sline > * { transition: none !important; }

/* 1.16.3: one stroke everywhere: table dividers match the "Select any units" box and the open-unit card */
.mobile-availability .mobile-unit { border-bottom-color: #dcd9cc; }
/* closing: the divider under the unit is drawn on the next row (so it slides up with it) and fades in */
.mobile-availability .mobile-unit.xp-closing + .mobile-unit { box-shadow: 0 -1px 0 0 #dcd9cc; }

/* 1.17.0: $50 rent-credit wording: longer button text stays on one line */
.mobile-availability .ssav-xp-inq.is-credit { white-space: nowrap; letter-spacing: .1em; font-size: 15px; padding: 0 10px; }
@media (max-width: 379px) { .mobile-availability .ssav-xp-inq.is-credit { font-size: 14px; letter-spacing: .07em; padding: 0 8px; } }
@media (max-width: 339px) { .mobile-availability .ssav-xp-inq.is-credit { font-size: 12.5px; letter-spacing: .05em; } }

/* 1.17.3: phones & tablets with no line above the list: first unit sits 10px closer to the top box */
@media (max-width: 1024px) {
  .mobile-availability.ssav-no-fpm .ssav-fpline { display: none; }
  .mobile-availability.ssav-no-fpm .ssav-thead + .mobile-unit { padding-top: 25px; }   /* 1.17.5: +15px */
}

/* 1.18.0: top inquiry box in the "selected unit" green */
.mobile-availability .ssav-pickbar { background: #e7f1e9; }

/* 1.18.1 (image replaced in 1.18.2): phones & tablets: illustrated background in the top inquiry box (fills it, cropped as needed) */
@media (max-width: 1024px) {
  .mobile-availability .ssav-pickbar { background: #e7f1e9 url("pickbar-bg-2.webp") center / cover no-repeat; }
}

/* 1.18.3: the chevron pulses 3 times when the page loads.
   Uses the separate scale/translate properties so it never fights the open/close rotation. */
@keyframes ssavChevPulse {
  0%, 100% { scale: 1; translate: 0 0; }
  45%      { scale: 1.28; translate: 0 2px; }
}
/* 1.27.8: the load pulse was removed */

/* 1.19.1: phones & tablets: 3px more room above and below each unit's lines (inside its dividers) */
@media (max-width: 1024px) {
  .mobile-availability .mobile-unit { padding-top: 23px; }
  .mobile-availability .mobile-unit:not(.has-xp) { padding-bottom: 22px; }
  .mobile-availability .mobile-unit.has-xp { padding-bottom: 8px; }
  .mobile-availability.ssav-no-fpm .ssav-thead + .mobile-unit { padding-top: 28px; }
}

/* 1.19.2: chevron 20% bigger (17px -> 20.4px) */
.mobile-availability .ssav-xbtn svg { width: 20.4px; height: 20.4px; }
@container ssavtable (min-width: 820px) {
  .mobile-availability .ssav-xbtn { margin-left: -31.4px; }   /* "Expand" still starts at the right column's left edge */
}

/* 1.19.3: details card starts at the special line's left edge (same right edge as before) */
.ssav-has-pick .mobile-unit.has-xp .ssav-xp { grid-column: 2 / -1; }
#ssav-table.ssav-has-pick .ssav-xp-in { padding-left: 0; }

/* 1.19.4: details card: 3px less padding left & right; bullet list 2px further left */
.mobile-availability .ssav-xp-card { padding-left: 11px; padding-right: 11px; }
@container ssavtable (min-width: 820px) {
  .mobile-availability .ssav-xp-card { padding-left: 15px; padding-right: 15px; }
}
.mobile-availability .ssav-xp-list { margin-left: -2px; }

/* 1.20.0: open unit: the special line gets a 2nd row with the net effective monthly rent */

.mobile-availability .mobile-unit.has-xp.xp-shown .ssav-sline { flex-wrap: wrap; row-gap: 3px; }
/* "Expand"/"Hide" stays beside the first row */
.mobile-availability .ssav-xbtn { align-self: start; height: 34px; min-height: 34px; }
/* the 2nd row can run underneath "Hide" (which only sits beside the 1st row) */

/* 1.20.2: closing: the net-rent row fades quickly (no delay) while the special line shrinks */

/* 1.20.3: open special line: the first row keeps exactly the closed position (a 22px-tall row, like the closed line's inside) */
.mobile-availability .mobile-unit.has-xp.xp-shown .ssav-sline-k { display: inline-flex; align-items: center; min-height: 22px; }
.mobile-availability .mobile-unit.has-xp.xp-shown .ssav-sline-t { flex-basis: 0; }   /* shrinks (…) instead of dropping to its own row on narrow phones */

/* 1.21.0: special line is always two rows (closed and open):
   row 1 = tag · SPECIAL · offer (underlined: it opens the specials popup) · ⌄ Expand/Hide; row 2 = net effective rent */
.mobile-availability .mobile-unit.has-xp .ssav-sline { flex-wrap: wrap; row-gap: 3px; }
.mobile-availability .mobile-unit.has-xp .ssav-sline-k { display: inline-flex; align-items: center; min-height: 22px; }
.mobile-availability .mobile-unit.has-xp .ssav-sline-t { flex-basis: 0; }
/* the offer itself is underlined, so it reads as a link to the specials popup */
.mobile-availability .ssav-sline-t { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* 1.21.0: chevron 10% bigger (20.4px -> 22.44px); "Expand"/"Hide" stays in the same spot */
.mobile-availability .ssav-xbtn svg { width: 22.44px; height: 22.44px; }
@container ssavtable (min-width: 820px) {
  .mobile-availability .ssav-xbtn { margin-left: -33.44px; }
}

/* =========================================================
   1.22.0 RESOURCES DROPDOWN (header link to #resources)
   ========================================================= */
.ssav-res-link { cursor: pointer; }
.ssav-res-chev { display: inline-block; width: .8em; height: .8em; margin-left: .35em; vertical-align: .05em; transition: transform .2s ease; }
.ssav-res-link[aria-expanded="true"] .ssav-res-chev { transform: rotate(180deg); }
.ssav-res {
  position: fixed; z-index: 100005; width: 280px; opacity: 0; transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.ssav-res[hidden] { display: none; }
.ssav-res.is-open { opacity: 1; transform: none; }
.ssav-res::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }   /* keeps hover alive across the gap */
.ssav-res-in { background: #fff; border: 1px solid #efe7d4; border-radius: 4px; box-shadow: 0 12px 32px rgba(0,0,0,.12); padding: 8px 0; display: flex; flex-direction: column; }
.ssav-res a.ssav-res-a, .ssav-res a.ssav-res-a:visited, .ssav-res a.ssav-res-a:hover, .ssav-res a.ssav-res-a:focus {
  display: flex; flex-direction: column; gap: 2px; padding: 12px 20px; color: #111 !important; text-decoration: none !important; background: transparent;
}
.ssav-res a.ssav-res-a + a.ssav-res-a { border-top: 1px solid #f1ece0; }
.ssav-res a.ssav-res-a:hover, .ssav-res a.ssav-res-a:focus-visible { background: #fbf7ee !important; outline: none; }
.ssav-res-l { font-size: 15px; font-weight: 600; letter-spacing: 0; }
.ssav-res-d { font-size: 13px; color: #666; }
.ssav-res a.is-current .ssav-res-l { color: #60756e; }
@media print { .ssav-res { display: none; } }

/* Phone/tablet menu: Resources line opens its links underneath */
.ssav-menu button.ssav-menu-grp, .ssav-menu button.ssav-menu-grp:hover, .ssav-menu button.ssav-menu-grp:focus, .ssav-menu button.ssav-menu-grp:active {
  -webkit-appearance: none; appearance: none; width: 100%; margin: 0; padding: 14px 0; border: 0 !important; border-bottom: 1px solid rgba(96,117,110,.28) !important;
  border-radius: 0 !important; background: none !important; color: #1d2320 !important; box-shadow: none; cursor: pointer; font: inherit; text-align: center;
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; -webkit-tap-highlight-color: transparent;
}
.ssav-menu-grp .ssav-menu-name { grid-column: 2; }
.ssav-menu-chev { grid-column: 3; justify-self: start; width: 18px; height: 18px; margin-left: 10px; color: #60756e; transition: transform .2s ease; }
.ssav-menu-grp[aria-expanded="true"] .ssav-menu-chev { transform: rotate(180deg); }
.ssav-menu-sublist { display: flex; flex-direction: column; border-bottom: 1px solid rgba(96,117,110,.28); padding: 4px 0 10px; }
.ssav-menu-sublist[hidden] { display: none; }
.ssav-menu a.ssav-menu-child, .ssav-menu a.ssav-menu-child:visited, .ssav-menu a.ssav-menu-child:hover, .ssav-menu a.ssav-menu-child:focus {
  display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 0; color: #1d2320 !important; background: none !important; text-decoration: none !important; text-align: center;
}
.ssav-menu-child-l { font-family: Agatho, AgathoMedium, "Cormorant Garamond", Georgia, serif; font-size: 24px; line-height: 1.15; }
.ssav-menu-child-d { font-size: 13px; color: #5d6862; }
.ssav-menu a.ssav-menu-child.is-current .ssav-menu-child-l { color: #60756e; }
@media (prefers-reduced-motion: no-preference) {
  .ssav-menu .ssav-menu-grp { transform: translateY(10px); opacity: 0; transition: transform .35s cubic-bezier(.22,.8,.3,1), opacity .3s ease; transition-delay: calc(40ms + var(--i, 4) * 35ms); }
  .ssav-menu.is-open .ssav-menu-grp { transform: none; opacity: 1; }
}

/* Desktop header with Resources added (3 links on the right): a little less letter-spacing and side padding,
   so AVAILABILITY · RESOURCES · CONTACT US fit with room between them down to 1025px.
   Only while the header has a #resources link. 8270347 = right links, 1b17376 = left links (Sum Header Desktop, id 29). */
@media (min-width: 1025px) {
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="8270347"][data-id] { padding-left: 12px !important; }
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="1b17376"][data-id] { padding-right: 12px !important; }
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="8270347"] a,
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="1b17376"] a { letter-spacing: .5px !important; }
}
@media (min-width: 1025px) and (max-width: 1199px) {
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="8270347"][data-id] { padding-left: 8px !important; column-gap: 10px !important; }
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="1b17376"][data-id] { padding-right: 8px !important; }
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="8270347"] a,
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="1b17376"] a { letter-spacing: .3px !important; font-size: 12px !important; }
  [data-elementor-type="header"]:has(a[href$="#resources"]) [data-id="2897a25"][data-id] { padding-left: 9px !important; padding-right: 9px !important; }
}

/* 1.22.5: freehand mint highlighter behind the net effective rent */

/* =========================================================
   1.23.0 TOUR SCHEDULER (#schedule-tour)
   ========================================================= */
.ssav-modal.is-tour { --tr-g: #2f6457; --tr-ink: #16201c; --tr-mute: #5d6764; --tr-line: #e2e4e0; }
.ssav-modal.is-tour .ssav-panel, .ssav-modal.is-tour .ssav-head, .ssav-modal.is-tour .ssav-body { background: #f8f8f6; }
.ssav-modal.is-tour .ssav-head { position: absolute; top: 0; right: 0; z-index: 2; padding: calc(10px + env(safe-area-inset-top, 0px)) 10px 0 0; background: none; }
.ssav-modal.is-tour .ssav-title { display: none; }
.ssav-modal.is-tour .ssav-body { padding-top: calc(22px + env(safe-area-inset-top, 0px)); }
.ssav-tr { font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif; color: var(--tr-ink); }
.ssav-tr-top { position: relative; display: flex; align-items: flex-start; gap: 4px; }
.ssav-tr-hd { flex: 1 1 auto; min-width: 0; position: relative; z-index: 1; }
.ssav-tr-art { flex: 0 0 auto; width: 142px; height: auto; margin: 26px -8px 0 -24px; }
.ssav-tr-k { margin: 18px 0 8px; font-size: 12.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: #6c7673; }
.ssav-tr-h { margin: 0 0 10px; font: 700 28px/1.14 Roboto, -apple-system, "Segoe UI", Arial, sans-serif; letter-spacing: -.01em; color: var(--tr-ink); text-transform: none; }
.ssav-tr-sub { margin: 0; font-size: 15.5px; line-height: 1.45; color: var(--tr-mute); }

/* day strip */
.ssav-tr-days { display: flex; align-items: center; gap: 4px; margin: 24px -6px 0; }
.ssav-tr-strip { flex: 1 1 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.ssav-modal .ssav-tr-nav, .ssav-modal .ssav-tr-nav:hover, .ssav-modal .ssav-tr-nav:focus, .ssav-modal .ssav-tr-nav:active, .ssav-tri .ssav-tr-nav, .ssav-tri .ssav-tr-nav:hover, .ssav-tri .ssav-tr-nav:focus, .ssav-tri .ssav-tr-nav:active {
  flex: 0 0 26px; width: 26px; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center;
  background: transparent !important; color: var(--tr-ink) !important; border: 0 !important; border-radius: 8px !important; cursor: pointer;
}
.ssav-modal .ssav-tr-nav[disabled], .ssav-tri .ssav-tr-nav[disabled] { color: #c3c8c5 !important; cursor: default; }
.ssav-modal .ssav-tr-day, .ssav-modal .ssav-tr-day:hover, .ssav-modal .ssav-tr-day:focus, .ssav-modal .ssav-tr-day:active, .ssav-tri .ssav-tr-day, .ssav-tri .ssav-tr-day:hover, .ssav-tri .ssav-tr-day:focus, .ssav-tri .ssav-tr-day:active {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  min-height: 76px; padding: 8px 2px 12px; background: #fff !important; color: var(--tr-ink) !important;
  border: 0 !important; border-radius: 12px !important; box-shadow: 0 1px 3px rgba(20, 30, 26, .07), 0 0 0 1px rgba(20, 30, 26, .04);
  font: 400 15px/1.2 Roboto, Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer;
}
.ssav-tr-day .ssav-tr-dow { font-size: 15.5px; color: var(--tr-ink); }
.ssav-tr-day .ssav-tr-date { font-size: 14px; color: #4a5451; white-space: nowrap; }
.ssav-tr-day i { position: absolute; bottom: 8px; left: 50%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: transparent; }
.ssav-tr-day .ssav-tr-req { font-size: 10px; letter-spacing: .02em; color: #7a5418; white-space: nowrap; }
.ssav-modal .ssav-tr-day.is-on, .ssav-modal .ssav-tr-day.is-on:hover, .ssav-modal .ssav-tr-day.is-on:focus, .ssav-modal .ssav-tr-day.is-on:active, .ssav-tri .ssav-tr-day.is-on, .ssav-tri .ssav-tr-day.is-on:hover, .ssav-tri .ssav-tr-day.is-on:focus, .ssav-tri .ssav-tr-day.is-on:active { background: var(--tr-g) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(47, 100, 87, .28); }
.ssav-tr-day.is-on .ssav-tr-dow, .ssav-tr-day.is-on .ssav-tr-date { color: #fff; }
.ssav-tr-day.is-on .ssav-tr-req { color: #f1d58a; }
.ssav-tr-day.is-on i { background: #fff; }

/* times */
.ssav-tr-h3 { margin: 30px 0 14px; font: 600 19px/1.2 Roboto, Arial, sans-serif; color: var(--tr-ink); text-transform: none; letter-spacing: 0; }
.ssav-tr-note { margin: -4px 0 14px; padding: 10px 12px; border-radius: 10px; background: #f1e4c6; font-size: 14px; line-height: 1.4; color: #2a2418; }
.ssav-tr-times { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ssav-modal .ssav-tr-time, .ssav-modal .ssav-tr-time:hover, .ssav-modal .ssav-tr-time:focus, .ssav-modal .ssav-tr-time:active, .ssav-tri .ssav-tr-time, .ssav-tri .ssav-tr-time:hover, .ssav-tri .ssav-tr-time:focus, .ssav-tri .ssav-tr-time:active {
  height: 46px; padding: 0 4px; background: #fff !important; color: var(--tr-ink) !important;
  border: 1px solid var(--tr-line) !important; border-radius: 23px !important;
  font: 400 15.5px Roboto, Arial, sans-serif; text-transform: none; letter-spacing: 0; white-space: nowrap; cursor: pointer;
}
@media (hover: hover) { .ssav-modal .ssav-tr-time:hover, .ssav-tri .ssav-tr-time:hover { border-color: #b7c7c0 !important; } }
.ssav-modal .ssav-tr-time.is-on, .ssav-modal .ssav-tr-time.is-on:hover, .ssav-modal .ssav-tr-time.is-on:focus, .ssav-modal .ssav-tr-time.is-on:active, .ssav-tri .ssav-tr-time.is-on, .ssav-tri .ssav-tr-time.is-on:hover, .ssav-tri .ssav-tr-time.is-on:focus, .ssav-tri .ssav-tr-time.is-on:active { background: var(--tr-g) !important; color: #fff !important; border-color: var(--tr-g) !important; }

/* continue / submit */
.ssav-modal .ssav-tr-go, .ssav-modal .ssav-tr-go:hover, .ssav-modal .ssav-tr-go:focus, .ssav-modal .ssav-tr-go:active, .ssav-tri .ssav-tr-go, .ssav-tri .ssav-tr-go:hover, .ssav-tri .ssav-tr-go:focus, .ssav-tri .ssav-tr-go:active {
  position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 58px; margin: 26px 0 0; padding: 0 60px;
  background: var(--tr-g) !important; color: #fff !important; border: 0 !important; border-radius: 29px !important;
  font: 500 18px Roboto, Arial, sans-serif; text-transform: none; letter-spacing: .01em; cursor: pointer; transition: opacity .2s ease;
}
.ssav-tr-go svg { position: absolute; right: 24px; top: 50%; margin-top: -13px; }
.ssav-modal .ssav-tr-go[disabled], .ssav-tri .ssav-tr-go[disabled] { opacity: .45; cursor: default; }

/* reassurance card */
.ssav-tr-card { display: flex; align-items: center; gap: 16px; margin: 18px 0 4px; padding: 16px 20px; border-radius: 18px; background: #e9f0ec; }
.ssav-tr-card svg { flex: none; }
.ssav-tr-card-h { margin: 0 0 3px; font-size: 16px; font-weight: 500; color: #24463d; }
.ssav-tr-card-t { margin: 0; font-size: 14px; line-height: 1.4; color: var(--tr-mute); }

/* step 2 */
.ssav-modal .ssav-tr-back, .ssav-modal .ssav-tr-back:hover, .ssav-modal .ssav-tr-back:focus, .ssav-modal .ssav-tr-back:active, .ssav-tri .ssav-tr-back, .ssav-tri .ssav-tr-back:hover, .ssav-tri .ssav-tr-back:focus, .ssav-tri .ssav-tr-back:active {
  display: inline-flex; align-items: center; gap: 4px; margin: 0 0 0 -6px; padding: 6px 8px 6px 2px;
  background: transparent !important; color: var(--tr-g) !important; border: 0 !important; font: 500 15px Roboto, Arial, sans-serif; text-transform: none; cursor: pointer;
}
.ssav-tr-back + .ssav-tr-k { margin-top: 10px; }
.ssav-tr-pick { display: flex; align-items: center; gap: 12px; margin: 18px 0 18px; padding: 14px 16px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--tr-line); font-size: 15.5px; line-height: 1.35; }
.ssav-tr-pick b { font-weight: 600; }
.ssav-tr-pick small { color: #7a5418; font-size: 12.5px; }
.ssav-tr-pick-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: #e9f0ec; color: var(--tr-g); }
.ssav-modal .ssav-tr-form, .ssav-tri .ssav-tr-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
.ssav-modal .ssav-tr-form > *, .ssav-tri .ssav-tr-form > * { grid-column: 1 / -1; }
.ssav-modal .ssav-tr-form > .ssav-f-first, .ssav-modal .ssav-tr-form > .ssav-f-last, .ssav-tri .ssav-tr-form > .ssav-f-first, .ssav-tri .ssav-tr-form > .ssav-f-last { grid-column: auto; }
.ssav-modal .ssav-tr-form input, .ssav-tri .ssav-tr-form input { border-radius: 12px; background: #fff; }
.ssav-modal .ssav-tr-form .ssav-tr-go, .ssav-tri .ssav-tr-form .ssav-tr-go { margin-top: 8px; }
.ssav-tr-done { padding-top: 40px; }

@media (max-width: 400px) {
  .ssav-tr-h { font-size: 25px; }
  .ssav-tr-art { width: 112px; margin-left: -28px; }
  .ssav-tr-strip { gap: 5px; }
  .ssav-modal .ssav-tr-day, .ssav-tri .ssav-tr-day { min-height: 70px; }
  .ssav-tr-day .ssav-tr-dow { font-size: 14.5px; }
  .ssav-tr-day .ssav-tr-date { font-size: 12.5px; }
  .ssav-tr-times { gap: 8px; }
  .ssav-modal .ssav-tr-time, .ssav-tri .ssav-tr-time { font-size: 14.5px; }
}
@media (min-width: 768px) {
  .ssav-modal.is-tour .ssav-panel { max-width: 600px; }
  .ssav-modal.is-tour .ssav-head { padding: 14px 14px 0 0; }
  .ssav-modal.is-tour .ssav-body { padding: 24px 40px 32px; }
  .ssav-tr-h { font-size: 32px; }
  .ssav-tr-art { width: 170px; }
}
.ssav-tr-art { position: absolute; right: -10px; top: 6px; margin: 0; }
.ssav-tr-hd { padding-right: 0; }
.ssav-tr-sub { max-width: 60%; }
@media (min-width: 768px) { .ssav-tr-art { right: -14px; top: 0; } .ssav-tr-sub { max-width: 66%; } }
@media (max-width: 767.98px) { .ssav-tr-art { top: 44px; width: 128px; right: -12px; } .ssav-tr-k { margin-top: 12px; } }

/* 1.23.3: swipeable day strip (all days, closed ones grayed), tiles never change size */
.ssav-tr-days { margin-top: 22px; }
.ssav-tr-strip {
  display: flex !important; gap: 7px; overflow-x: auto; overflow-y: hidden; padding: 4px 2px 8px; margin: -4px 0 -8px;
  scroll-snap-type: x mandatory; scroll-padding: 0 2px; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
  scrollbar-width: none; touch-action: pan-x pan-y; --trh: 78px;
}
.ssav-tr-strip::-webkit-scrollbar { display: none; }
.ssav-modal .ssav-tr-day, .ssav-modal .ssav-tr-day:hover, .ssav-modal .ssav-tr-day:focus, .ssav-modal .ssav-tr-day:active,
.ssav-modal .ssav-tr-day.is-on, .ssav-modal .ssav-tr-day.is-on:hover, .ssav-modal .ssav-tr-day.is-on:focus, .ssav-modal .ssav-tr-day.is-on:active,
.ssav-modal .ssav-tr-day[disabled], .ssav-tri .ssav-tr-day, .ssav-tri .ssav-tr-day:hover, .ssav-tri .ssav-tr-day:focus, .ssav-tri .ssav-tr-day:active, .ssav-tri .ssav-tr-day.is-on, .ssav-tri .ssav-tr-day.is-on:hover, .ssav-tri .ssav-tr-day.is-on:focus, .ssav-tri .ssav-tr-day.is-on:active, .ssav-tri .ssav-tr-day[disabled] {
  flex: 0 0 calc((100% - 28px) / 5); width: calc((100% - 28px) / 5);
  height: var(--trh) !important; min-height: var(--trh) !important; max-height: var(--trh) !important; box-sizing: border-box !important;
  margin: 0 !important; padding: 0 2px !important; gap: 2px; justify-content: center;
  line-height: 1.2 !important; transform: none !important; transition: background-color .15s ease, color .15s ease !important;
  scroll-snap-align: start; outline-offset: -2px;
}
.ssav-modal .ssav-tr-day.is-on, .ssav-modal .ssav-tr-day.is-on:hover, .ssav-modal .ssav-tr-day.is-on:focus, .ssav-modal .ssav-tr-day.is-on:active, .ssav-tri .ssav-tr-day.is-on, .ssav-tri .ssav-tr-day.is-on:hover, .ssav-tri .ssav-tr-day.is-on:focus, .ssav-tri .ssav-tr-day.is-on:active { box-shadow: none !important; }
.ssav-tr-day > span { display: block; height: 18px; line-height: 18px; }
.ssav-tr-day .ssav-tr-req { height: 13px; line-height: 13px; font-size: 10.5px; }
.ssav-tr-day i { display: none !important; }
.ssav-modal .ssav-tr-day.is-closed, .ssav-modal .ssav-tr-day.is-closed:hover, .ssav-modal .ssav-tr-day.is-closed:focus, .ssav-modal .ssav-tr-day.is-closed:active, .ssav-tri .ssav-tr-day.is-closed, .ssav-tri .ssav-tr-day.is-closed:hover, .ssav-tri .ssav-tr-day.is-closed:focus, .ssav-tri .ssav-tr-day.is-closed:active {
  background: #eeeeec !important; box-shadow: none !important; cursor: default; opacity: 1;
}
.ssav-tr-day.is-closed .ssav-tr-dow, .ssav-tr-day.is-closed .ssav-tr-date, .ssav-tr-day.is-closed .ssav-tr-req { color: #a3a8a6; }
.ssav-tr-sub { display: none; }
.ssav-tr-tsec { min-height: 0; }
@media (max-width: 400px) {
  .ssav-modal .ssav-tr-day, .ssav-modal .ssav-tr-day:hover, .ssav-modal .ssav-tr-day:focus, .ssav-modal .ssav-tr-day:active,
  .ssav-modal .ssav-tr-day.is-on, .ssav-modal .ssav-tr-day.is-on:hover, .ssav-modal .ssav-tr-day.is-on:focus, .ssav-modal .ssav-tr-day.is-on:active,
  .ssav-modal .ssav-tr-day[disabled], .ssav-tri .ssav-tr-day, .ssav-tri .ssav-tr-day:hover, .ssav-tri .ssav-tr-day:focus, .ssav-tri .ssav-tr-day:active, .ssav-tri .ssav-tr-day.is-on, .ssav-tri .ssav-tr-day.is-on:hover, .ssav-tri .ssav-tr-day.is-on:focus, .ssav-tri .ssav-tr-day.is-on:active, .ssav-tri .ssav-tr-day[disabled] { flex-basis: calc((100% - 20px) / 5); width: calc((100% - 20px) / 5); }
  .ssav-tr-strip { gap: 5px; --trh: 72px; }
}
@media (max-width: 767.98px) { .ssav-tr-art { top: 48px; width: 112px; right: -10px; } .ssav-tr-days { margin-top: 34px; } }
@media (min-width: 768px) { .ssav-tr-days { margin-top: 40px; } }
.ssav-tr-card .ssav-tr-card-ic { flex: none; width: 34px; height: 41px; object-fit: contain; }
@media (hover: hover) { .ssav-modal .ssav-tr-time.is-on:hover, .ssav-tri .ssav-tr-time.is-on:hover { opacity: .9; } }

/* =========================================================
   1.24.0: phones & tablets: unit cards
   ========================================================= */
.ssav-u-meta, .ssav-u-fp { display: none; }
.mobile-availability { --cg: #2d665e; --cg-ink: #24524b; --cg-soft: #e2ece8; --cg-soft2: #edf2ef; --c-ink: #1b2320; --c-mute: #4c5753; }   /* (a container can't style itself from inside its own query) */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-thead, .mobile-availability .ssav-fpline { display: none !important; }

  /* the card */
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) {
    position: relative; isolation: isolate;
    display: grid !important;
    grid-template-columns: 36px auto minmax(0, 1fr) auto 44px !important;
    grid-template-rows: auto !important;
    grid-template-areas:
      "pick num sty rent chev"
      ".    meta meta meta meta"
      ".    fp fp fp fp"
      "sp   sp sp sp sp"
      "xp   xp xp xp xp" !important;
    column-gap: 12px !important; row-gap: 0 !important; align-items: center !important;
    margin: 0 0 14px !important; padding: 16px 14px 14px 12px !important;
    border: 0 !important; box-shadow: none !important; background: transparent !important;
  }
  .mobile-availability .mobile-unit::before {
    content: "" !important; display: block !important; position: absolute !important; z-index: -1 !important;
    left: 0 !important; right: 0 !important; top: 0 !important; bottom: var(--xp-h, 0px) !important; height: auto !important;
    background: #fff !important; border: 0 !important; border-radius: 18px !important; opacity: 1 !important; transform: none !important;
    box-shadow: 0 1px 2px rgba(25, 45, 38, .05), 0 4px 14px rgba(25, 45, 38, .06), 0 0 0 1px rgba(25, 45, 38, .05) !important;
    transition: bottom .42s cubic-bezier(.22,.75,.25,1), box-shadow .2s ease !important;
    clip-path: none !important; -webkit-clip-path: none !important;
  }
  .mobile-availability .mobile-unit.xp-set::before { transition: none !important; }
  .mobile-availability .mobile-unit::after { display: none !important; content: none !important; }
  .mobile-availability .mobile-unit.is-picked, .mobile-availability .mobile-unit.has-xp.is-picked { background: transparent !important; }
  .mobile-availability .mobile-unit.is-picked::before { box-shadow: 0 0 0 2px var(--cg), 0 6px 18px rgba(45, 102, 94, .14) !important; }
  .mobile-availability .mobile-unit.xp-closing + .mobile-unit { box-shadow: none !important; }

  /* row 1: circle · number · finish · rent · chevron */
  .mobile-availability .ssav-pick { grid-area: pick !important; align-self: center !important; justify-self: start !important; margin: 0 !important; padding: 0 !important; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
  .mobile-availability .ssav-dot { width: 32px !important; height: 32px !important; border: 1.5px solid #7d8783 !important; background: #fff !important; box-shadow: none !important; }
  .mobile-availability .ssav-pick[aria-pressed="true"] .ssav-dot { background: var(--cg) !important; border-color: var(--cg) !important; color: #fff !important; transform: none !important; }
  .mobile-availability .ssav-pick[aria-pressed="true"] .ssav-dot svg { width: 15px; height: 15px; }

  .mobile-availability .mobile-unit-number { grid-area: num !important; align-self: center !important; font-size: 23px !important; line-height: 1.1 !important; font-weight: 700 !important; color: var(--c-ink); letter-spacing: -.01em; }
  .mobile-availability .mobile-unit-style { grid-area: sty !important; align-self: center !important; justify-self: start !important; margin: 0 !important; line-height: 1 !important; font-size: 13px !important; letter-spacing: .08em !important; text-transform: uppercase; }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding: 8px 14px; border-radius: 16px; background: #efefed; color: #4b5250; font-weight: 400; }
  .mobile-availability .mobile-unit-style .mobile-signature-link,
  .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus,
  .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    padding: 7px 12px 7px 14px !important; border: 0 !important; border-radius: 16px !important;
    background: var(--cg-soft) !important; color: var(--cg-ink) !important;
    font-size: 13px !important; font-weight: 600 !important; letter-spacing: .08em !important; line-height: 1 !important;
  }
  .mobile-availability .mobile-unit-style .ssav-sig-plain { padding-right: 14px !important; }
  .mobile-availability .mobile-signature-link .mobile-camera-icon { width: 19px !important; height: 19px !important; color: var(--cg) !important; transform: none !important; margin: -2px 0 !important; }

  .mobile-availability .mobile-unit-rent { grid-area: rent !important; align-self: center !important; justify-self: end !important; font-size: 23px !important; line-height: 1.1 !important; font-weight: 700 !important; color: var(--c-ink); }

  .mobile-availability .ssav-xbtn, .mobile-availability .ssav-xbtn:hover, .mobile-availability .ssav-xbtn:focus, .mobile-availability .ssav-xbtn:active {
    grid-area: chev !important; align-self: center !important; justify-self: end !important;
    width: 44px !important; height: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    border-radius: 50% !important; background: var(--cg-soft) !important; color: var(--cg-ink) !important; border: 0 !important;
  }
  .mobile-availability .ssav-xbtn svg { width: 20px !important; height: 20px !important; }
  .mobile-availability .ssav-xlbl { display: none !important; }

  /* row 2: 2 Bed, 2 Bath | Ground FL | Corner */
  .mobile-availability .mobile-unit-layout, .mobile-availability .mobile-unit-location, .mobile-availability .mobile-floorplan-link { display: none !important; }
  .mobile-availability .mobile-unit > span:empty { display: none; }
  .mobile-availability .ssav-u-meta { display: block; grid-area: meta; margin: 8px 0 0; font-size: 15.5px; line-height: 1.3; color: var(--c-mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mobile-availability .ssav-u-meta i { display: inline-block; width: 1px; height: 15px; margin: 0 13px; background: #c9cecb; vertical-align: -2px; }

  /* row 3: floor plan */
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active {
    grid-area: fp; display: flex !important; align-items: center; gap: 14px; width: 100%;
    margin: 13px 0 0 !important; padding: 12px 0 14px !important; border: 0 !important; border-top: 1px solid #e7eae8 !important; border-radius: 0 !important;
    background: transparent !important; color: var(--c-ink) !important; font-size: 15.5px !important; text-align: left; text-transform: none !important; letter-spacing: 0 !important;
  }
  .mobile-availability .ssav-u-fpic { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--cg-soft); color: var(--cg); display: flex; align-items: center; justify-content: center; }
  .mobile-availability .ssav-u-fpic svg { width: 22px; height: 22px; }
  .mobile-availability .ssav-u-fp > svg { width: 16px; height: 16px; margin-left: -6px; color: var(--c-ink); }

  /* row 4: special */
  .mobile-availability .mobile-unit .ssav-sline, .mobile-availability .mobile-unit .ssav-sline:hover, .mobile-availability .mobile-unit .ssav-sline:focus, .mobile-availability .mobile-unit .ssav-sline:active,
  .mobile-availability .mobile-unit.has-xp .ssav-sline, .mobile-availability .mobile-unit.has-xp .ssav-sline:hover, .mobile-availability .mobile-unit.has-xp .ssav-sline:focus, .mobile-availability .mobile-unit.has-xp .ssav-sline:active {
    grid-area: sp !important;
    display: flex !important; flex-wrap: nowrap !important; align-items: center !important; gap: 10px !important;
    width: 100% !important; min-height: 0 !important; height: auto !important; margin: 4px 0 0 !important; padding: 9px 9px 9px 12px !important;
    background: var(--cg-soft2) !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important;
    color: var(--c-ink) !important; font-size: 15px !important; line-height: 1.2 !important; text-align: left !important;
    clip-path: none !important; -webkit-clip-path: none !important;
  }
  .mobile-availability .mobile-unit .ssav-sline::before { display: none !important; }
  .mobile-availability .mobile-unit .ssav-sline > * { transform: none !important; }
  .mobile-availability .mobile-unit .ssav-sline .ssav-tag, .mobile-availability .mobile-unit .mobile-unit-rent .ssav-tag { width: 22px !important; height: 22px !important; flex: none; color: var(--cg-ink) !important; }
  .mobile-availability .mobile-unit .ssav-sline-k { display: inline !important; min-height: 0 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em !important; color: var(--cg-ink) !important; text-transform: uppercase; }
  .mobile-availability .mobile-unit .ssav-sline-t { flex: 0 1 auto !important; min-width: 0; font-size: 15px !important; color: var(--c-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 3px 0 5px !important; margin: -3px 0 -5px !important; }
  .mobile-availability .mobile-unit .ssav-sline-d { display: none !important; }

  /* row 5: details */
  .mobile-availability .mobile-unit .ssav-xp, .ssav-has-pick .mobile-unit.has-xp .ssav-xp { grid-area: xp !important; }
  .mobile-availability .mobile-unit .ssav-xp-in { padding: 0 !important; }
  .mobile-availability .mobile-unit .ssav-xp-card { margin-top: 12px; padding-left: 4px !important; padding-right: 4px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) { grid-template-columns: 32px auto minmax(0, 1fr) auto 40px !important; column-gap: 9px !important; padding: 14px 12px 12px 10px !important; }
  .mobile-availability .ssav-pick { width: 32px; height: 32px; }
  .mobile-availability .ssav-dot { width: 28px !important; height: 28px !important; }
  .mobile-availability .mobile-unit-number, .mobile-availability .mobile-unit-rent { font-size: 20px !important; }
  .mobile-availability .mobile-unit-style, .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .ssav-sig-plain { font-size: 11.5px !important; letter-spacing: .06em !important; }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding: 7px 11px; }
  .mobile-availability .mobile-unit-style .mobile-signature-link { padding: 6px 9px 6px 11px !important; gap: 6px !important; }
  .mobile-availability .mobile-signature-link .mobile-camera-icon { width: 16px !important; height: 16px !important; }
  .mobile-availability .ssav-xbtn, .mobile-availability .ssav-xbtn:hover, .mobile-availability .ssav-xbtn:focus, .mobile-availability .ssav-xbtn:active { width: 40px !important; height: 40px !important; min-height: 40px !important; }
  .mobile-availability .ssav-u-meta { font-size: 14px; }
  .mobile-availability .ssav-u-meta i { margin: 0 9px; }
  .mobile-availability .ssav-u-fp { font-size: 14.5px !important; gap: 12px; }
  .mobile-availability .ssav-u-fpic { width: 40px; height: 40px; }
  .mobile-availability .mobile-unit .ssav-sline { gap: 7px !important; padding: 8px 8px 8px 10px !important; }
  .mobile-availability .mobile-unit .ssav-sline .ssav-tag, .mobile-availability .mobile-unit .mobile-unit-rent .ssav-tag { width: 19px !important; height: 19px !important; }
  .mobile-availability .mobile-unit .ssav-sline-k { font-size: 11.5px !important; letter-spacing: .07em !important; }
  .mobile-availability .mobile-unit .ssav-sline-t { font-size: 13.5px !important; }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .mobile-unit .ssav-sline { gap: 6px !important; }
  .mobile-availability .mobile-unit .ssav-sline .ssav-tag, .mobile-availability .mobile-unit .mobile-unit-rent .ssav-tag { width: 18px !important; height: 18px !important; }
  .mobile-availability .mobile-unit .ssav-sline-k { font-size: 11px !important; letter-spacing: .06em !important; }
}
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-xp-inq, .mobile-availability .ssav-xp-inq:hover, .mobile-availability .ssav-xp-inq:focus, .mobile-availability .ssav-xp-inq:active { background: var(--cg) !important; }
}

/* 1.24.1: unit cards: vertical rhythm measured from the reference design
   (row 1 · 7px · details line · 9px · divider · 8px · floor plan · 8px · special bar · 10px) */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) {
    grid-template-columns: 28px auto minmax(0, 1fr) auto 34px !important;
    margin-bottom: 12px !important; padding: 13px 13px 10px !important;
  }
  .mobile-availability .ssav-pick { width: 28px !important; height: 34px !important; }
  .mobile-availability .ssav-dot { width: 26px !important; height: 26px !important; }
  .mobile-availability .ssav-pick[aria-pressed="true"] .ssav-dot svg { width: 13px; height: 13px; }
  .mobile-availability .ssav-xbtn, .mobile-availability .ssav-xbtn:hover, .mobile-availability .ssav-xbtn:focus, .mobile-availability .ssav-xbtn:active { width: 34px !important; height: 34px !important; min-height: 34px !important; }
  .mobile-availability .ssav-xbtn svg { width: 17px !important; height: 17px !important; }
  .mobile-availability .mobile-unit-number, .mobile-availability .mobile-unit-rent { line-height: 34px !important; }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding: 8px 13px; font-size: 12.5px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain { padding-top: 6px !important; padding-bottom: 6px !important; font-size: 12.5px !important; }
  .mobile-availability .mobile-signature-link .mobile-camera-icon { width: 16px !important; height: 16px !important; }
  .mobile-availability .ssav-u-meta { margin-top: 7px; line-height: 1.3; }
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { margin-top: 9px !important; padding: 8px 0 !important; gap: 12px !important; }
  .mobile-availability .ssav-u-fpic { width: 31px !important; height: 31px !important; }
  .mobile-availability .ssav-u-fpic svg { width: 17px !important; height: 17px !important; }
  .mobile-availability .mobile-unit .ssav-sline, .mobile-availability .mobile-unit .ssav-sline:hover, .mobile-availability .mobile-unit .ssav-sline:focus, .mobile-availability .mobile-unit .ssav-sline:active,
  .mobile-availability .mobile-unit.has-xp .ssav-sline, .mobile-availability .mobile-unit.has-xp .ssav-sline:hover, .mobile-availability .mobile-unit.has-xp .ssav-sline:focus, .mobile-availability .mobile-unit.has-xp .ssav-sline:active { margin-top: 0 !important; padding: 7px 9px 7px 12px !important; }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) {
    grid-template-columns: 26px auto minmax(0, 1fr) auto 34px !important; column-gap: 10px !important; padding: 13px 11px 10px !important;
  }
  .mobile-availability .ssav-pick { width: 26px !important; }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding: 8px 10px; font-size: 11.5px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .ssav-sig-plain { font-size: 11.5px !important; padding: 6.5px 9px 6.5px 10px !important; }
  .mobile-availability .mobile-unit .ssav-sline, .mobile-availability .mobile-unit.has-xp .ssav-sline { padding: 7px 8px 7px 10px !important; }
}

/* 1.24.2: card tweaks */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) { padding-top: 16px !important; padding-bottom: 15px !important; }
  .mobile-availability .ssav-dot { width: 23px !important; height: 23px !important; }
  .mobile-availability .ssav-pick[aria-pressed="true"] .ssav-dot svg { width: 12px; height: 12px; }
  .mobile-availability .ssav-xbtn svg { width: 21px !important; height: 21px !important; }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding: 8.4px 13.6px; font-size: 13.1px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain { padding: 6.3px 12.6px 6.3px 14.7px !important; font-size: 13.1px !important; }
  .mobile-availability .mobile-signature-link .mobile-camera-icon { width: 17px !important; height: 17px !important; }
  /* "View Floor Plan" in the same type as the details line */
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { color: var(--c-mute) !important; font-size: 15.5px !important; font-weight: 400 !important; font-family: inherit !important; line-height: 1.3 !important; }
  .mobile-availability .ssav-u-fp > svg { color: var(--c-mute) !important; }
  .mobile-availability .ssav-u-fpic { width: 34px !important; height: 34px !important; }
  .mobile-availability .ssav-u-fpic svg { width: 24px !important; height: 24px !important; }
  /* SPECIAL sits on the same baseline as the offer */
  .mobile-availability .mobile-unit .ssav-sline-k { font-size: 13.65px !important; align-self: baseline !important; }
  .mobile-availability .mobile-unit .ssav-sline-t { align-self: baseline !important; }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding: 8.4px 10.5px; font-size: 12.1px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .ssav-sig-plain { font-size: 12.1px !important; padding: 6.8px 9.5px 6.8px 10.5px !important; }
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { font-size: 14px !important; }
  .mobile-availability .ssav-u-meta i { margin: 0 8px; }
  .mobile-availability .mobile-unit .ssav-sline-k { font-size: 11.55px !important; }
}
/* 1.24.2: nothing inside a card moves when it's touched (the theme gives every button
   "transition: all" plus hover/focus colors, which made parts twitch on tap and while scrolling) */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .mobile-unit button, .mobile-availability .mobile-unit button:hover,
  .mobile-availability .mobile-unit button:focus, .mobile-availability .mobile-unit button:active {
    transition: none !important; -webkit-tap-highlight-color: transparent !important; touch-action: manipulation; text-decoration: none !important;
  }
  .mobile-availability .mobile-unit .ssav-dot, .mobile-availability .mobile-unit .ssav-pick[aria-pressed="true"] .ssav-dot { transition: none !important; transform: none !important; }
  .mobile-availability .mobile-unit .ssav-xbtn svg { animation: none !important; }
  .mobile-availability .mobile-unit.has-special .ssav-xbtn, .mobile-availability .mobile-unit.has-special .ssav-xbtn:hover,
  .mobile-availability .mobile-unit.has-special .ssav-xbtn:focus, .mobile-availability .mobile-unit.has-special .ssav-xbtn:active,
  .mobile-availability .mobile-unit .ssav-xbtn:hover, .mobile-availability .mobile-unit .ssav-xbtn:focus, .mobile-availability .mobile-unit .ssav-xbtn:active { color: var(--cg-ink) !important; background: var(--cg-soft) !important; }
  .mobile-availability .mobile-unit .ssav-sline:hover .ssav-sline-t, .mobile-availability .mobile-unit .ssav-sline:focus .ssav-sline-t,
  .mobile-availability .mobile-unit .ssav-sline:active .ssav-sline-t { text-decoration: underline !important; }
}
@container ssavtable (max-width: 819.98px) {
  /* SPECIAL, the offer and the net-rent pill share one text baseline; the tag icon stays centered */
  .mobile-availability .mobile-unit .ssav-sline, .mobile-availability .mobile-unit .ssav-sline:hover, .mobile-availability .mobile-unit .ssav-sline:focus, .mobile-availability .mobile-unit .ssav-sline:active,
  .mobile-availability .mobile-unit.has-xp .ssav-sline, .mobile-availability .mobile-unit.has-xp .ssav-sline:hover, .mobile-availability .mobile-unit.has-xp .ssav-sline:focus, .mobile-availability .mobile-unit.has-xp .ssav-sline:active { align-items: baseline !important; }
  .mobile-availability .mobile-unit .ssav-sline .ssav-tag { align-self: center !important; }
}

/* 1.24.3: (a) phones: the narrow-screen sizes now also apply while a button is pressed/hovered/focused
   (before, the wider sizes took over on touch, so the Signature pill and the special bar shifted);
   (b) unit number & price -7.5%, details & floor-plan text +5%, 15px between cards, 10px more space above the first card */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .mobile-unit-number, .mobile-availability .mobile-unit-rent { font-size: 21.3px !important; }
  .mobile-availability .ssav-u-meta { font-size: 16.3px !important; }
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { font-size: 16.3px !important; }
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) { margin-bottom: 15px !important; }
  .mobile-availability .ssav-thead + .mobile-unit, .mobile-availability .ssav-thead + .mobile-unit.has-xp { margin-top: 10px !important; }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .mobile-unit-number, .mobile-availability .mobile-unit-rent { font-size: 18.5px !important; }
  .mobile-availability .ssav-u-meta { font-size: 14.7px !important; }
  .mobile-availability .ssav-u-meta i { margin: 0 6px !important; }
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { font-size: 14.7px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain { font-size: 12.1px !important; padding: 6.8px 9.5px 6.8px 10.5px !important; gap: 6px !important; }
  .mobile-availability .mobile-unit .ssav-sline, .mobile-availability .mobile-unit .ssav-sline:hover, .mobile-availability .mobile-unit .ssav-sline:focus, .mobile-availability .mobile-unit .ssav-sline:active,
  .mobile-availability .mobile-unit.has-xp .ssav-sline, .mobile-availability .mobile-unit.has-xp .ssav-sline:hover, .mobile-availability .mobile-unit.has-xp .ssav-sline:focus, .mobile-availability .mobile-unit.has-xp .ssav-sline:active { padding: 7px 8px 7px 10px !important; gap: 6px !important; }
  .mobile-availability .ssav-xbtn, .mobile-availability .ssav-xbtn:hover, .mobile-availability .ssav-xbtn:focus, .mobile-availability .ssav-xbtn:active { width: 34px !important; height: 34px !important; min-height: 34px !important; }
}

/* 1.24.4 */
.ssav-u-ph { display: none; }
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-u-meta { font-size: 17.1px !important; }
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { font-size: 17.1px !important; }
  .mobile-availability .mobile-unit .ssav-sline-t { font-size: 17.1px !important; }
  .mobile-availability .mobile-unit, .mobile-availability .mobile-unit.has-xp, .mobile-availability .mobile-unit:not(.has-xp) { padding-bottom: 18px !important; margin-bottom: 20px !important; }
  .mobile-availability .mobile-unit::before { box-shadow: 0 1px 2px rgba(25, 45, 38, .0525), 0 4px 14.7px rgba(25, 45, 38, .063), 0 0 0 1px rgba(25, 45, 38, .0525) !important; }
  /* camera bubble (Signature units), right end of the floor-plan row */
  .mobile-availability .ssav-u-ph, .mobile-availability .ssav-u-ph:hover, .mobile-availability .ssav-u-ph:focus, .mobile-availability .ssav-u-ph:active {
    display: flex !important; grid-area: fp; justify-self: end; align-self: end; position: relative; z-index: 1;
    width: auto !important; height: auto !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
    background: transparent !important; color: var(--cg) !important; transition: none !important; -webkit-tap-highlight-color: transparent !important;
  }
  /* Signature pill: SIGNATURE + camera underlined together */
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active {
    background: linear-gradient(var(--cg-ink), var(--cg-ink)) no-repeat 14.7px calc(100% - 4px) / calc(100% - 27.3px) 1px, var(--cg-soft) !important;
  }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .ssav-u-meta { font-size: 15.4px !important; }
  .mobile-availability .ssav-u-fp, .mobile-availability .ssav-u-fp:hover, .mobile-availability .ssav-u-fp:focus, .mobile-availability .ssav-u-fp:active { font-size: 15.4px !important; }
  .mobile-availability .mobile-unit .ssav-sline-t { font-size: 15.4px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active {
    background: linear-gradient(var(--cg-ink), var(--cg-ink)) no-repeat 10.5px calc(100% - 4px) / calc(100% - 20px) 1px, var(--cg-soft) !important;
  }
}

/* 1.24.5: "I'd like to pick a time to tour" button above the table (all screen sizes) */
.mobile-availability .ssav-pickbar.is-tour, .mobile-availability .ssav-pickbar.is-tour.is-credit {
  display: flex; justify-content: center; align-items: center; padding: 0 !important; border: 0 !important;
  background: none !important; box-shadow: none !important;
}
.mobile-availability .ssav-tourbtn, .mobile-availability .ssav-tourbtn:hover, .mobile-availability .ssav-tourbtn:focus, .mobile-availability .ssav-tourbtn:active {
  display: inline-flex !important; align-items: center; justify-content: center; max-width: 100%;
  height: 52px; margin: 0 !important; padding: 0 28px !important; border: 0 !important; border-radius: 26px !important;
  background: #2d665e !important; color: #fff !important; box-shadow: 0 6px 16px rgba(45, 102, 94, .25) !important;
  font: 500 17px/1.2 Roboto, Arial, sans-serif !important; letter-spacing: .01em !important; text-transform: none !important; text-decoration: none !important;
  white-space: nowrap; cursor: pointer; transition: none !important; -webkit-tap-highlight-color: transparent !important;
}
.mobile-availability .ssav-tourbtn:focus-visible { outline: 2px solid #2d665e !important; outline-offset: 3px; }

@container ssavtable (max-width: 819.98px) {
  /* tiles: a light green outline (25% of the selected outline) */
  .mobile-availability .mobile-unit::before { box-shadow: 0 0 0 2px rgba(45, 102, 94, .25), 0 1px 2px rgba(25, 45, 38, .0525), 0 4px 14.7px rgba(25, 45, 38, .063) !important; }
  .mobile-availability .mobile-unit.is-picked::before { box-shadow: 0 0 0 2px var(--cg), 0 6px 18px rgba(45, 102, 94, .14) !important; }
  /* CLASSIC / SIGNATURE: same type size as the details line, both pills the same height */
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style,
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain {
    display: inline-flex !important; align-items: center !important; box-sizing: border-box !important;
    height: 32px !important; padding-top: 0 !important; padding-bottom: 0 !important; line-height: 1 !important;
    font-size: 17.1px !important; letter-spacing: .05em !important;
  }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding-left: 14px !important; padding-right: 14px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active {
    background: linear-gradient(var(--cg-ink), var(--cg-ink)) no-repeat 14.7px calc(100% - 6px) / calc(100% - 27.3px) 1px, var(--cg-soft) !important;
  }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style,
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain { height: 30px !important; font-size: 15.4px !important; letter-spacing: .03em !important; }
  .mobile-availability .mobile-unit[data-finish="Classic"] .mobile-unit-style { padding-left: 10px !important; padding-right: 10px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active,
  .mobile-availability .mobile-unit-style .ssav-sig-plain { padding-left: 9px !important; padding-right: 8px !important; gap: 5px !important; }
  .mobile-availability .mobile-unit-style .mobile-signature-link, .mobile-availability .mobile-unit-style .mobile-signature-link:hover,
  .mobile-availability .mobile-unit-style .mobile-signature-link:focus, .mobile-availability .mobile-unit-style .mobile-signature-link:active {
    background: linear-gradient(var(--cg-ink), var(--cg-ink)) no-repeat 9px calc(100% - 5px) / calc(100% - 17px) 1px, var(--cg-soft) !important;
  }
  .mobile-availability .ssav-tourbtn, .mobile-availability .ssav-tourbtn:hover, .mobile-availability .ssav-tourbtn:focus, .mobile-availability .ssav-tourbtn:active { width: 100%; padding: 0 16px !important; font-size: 16.5px !important; }
}

/* 1.24.6: the tour button sits centered inside the original box (same size, background and illustration) */
.mobile-availability .ssav-pickbar.is-tour, .mobile-availability .ssav-pickbar.is-tour.is-credit {
  justify-content: center !important; padding: 12px !important; border: 1px solid #dcd9cc !important; border-radius: 10px !important;
  background: #e7f1e9 !important; box-shadow: none !important;
}
@media (max-width: 1024px) {
  .mobile-availability .ssav-pickbar.is-tour, .mobile-availability .ssav-pickbar.is-tour.is-credit { background: #e7f1e9 url("pickbar-bg-2.webp") center / cover no-repeat !important; }
}
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-pickbar.is-tour { min-height: 87px; }
  /* unselected tiles: 1px outline */
  .mobile-availability .mobile-unit::before { box-shadow: 0 0 0 1px rgba(45, 102, 94, .25), 0 1px 2px rgba(25, 45, 38, .0525), 0 4px 14.7px rgba(25, 45, 38, .063) !important; }
  .mobile-availability .mobile-unit.is-picked::before { box-shadow: 0 0 0 2px var(--cg), 0 6px 18px rgba(45, 102, 94, .14) !important; }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .ssav-tourbtn, .mobile-availability .ssav-tourbtn:hover, .mobile-availability .ssav-tourbtn:focus, .mobile-availability .ssav-tourbtn:active { width: auto !important; padding: 0 22px !important; }
}

/* 1.24.7: the tour button stands on its own again (no box), same size, centered */
.mobile-availability .ssav-pickbar.is-tour, .mobile-availability .ssav-pickbar.is-tour.is-credit {
  justify-content: center !important; align-items: center !important; min-height: 0 !important;
  padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
}
@media (max-width: 1024px) {
  .mobile-availability .ssav-pickbar.is-tour, .mobile-availability .ssav-pickbar.is-tour.is-credit { background: none !important; }
}
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-pickbar.is-tour { min-height: 0 !important; margin-top: 8px !important; margin-bottom: 8px !important; }
}

/* 1.24.8: 15px more space under the tour button */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-pickbar.is-tour { margin-bottom: 23px !important; }
}

/* 1.24.9: floor plan / pictures row is one flex row; tour button gets a calendar icon */
@container ssavtable (max-width: 819.98px) {
  .mobile-availability .ssav-u-links {
    grid-area: fp; display: flex; align-items: center; gap: 24px; min-width: 0;
    margin-top: 9px; padding: 8px 0; border-top: 1px solid #e7eae8;
  }
  .mobile-availability .ssav-u-links .ssav-u-fp, .mobile-availability .ssav-u-links .ssav-u-fp:hover, .mobile-availability .ssav-u-links .ssav-u-fp:focus, .mobile-availability .ssav-u-links .ssav-u-fp:active,
  .mobile-availability .ssav-u-links .ssav-u-ph, .mobile-availability .ssav-u-links .ssav-u-ph:hover, .mobile-availability .ssav-u-links .ssav-u-ph:focus, .mobile-availability .ssav-u-links .ssav-u-ph:active {
    display: flex !important; align-items: center !important; gap: 12px !important; width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: transparent !important; color: var(--c-mute) !important; box-shadow: none !important;
    font-family: inherit !important; font-size: 17.1px !important; font-weight: 400 !important; line-height: 1.3 !important;
    text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; text-align: left !important;
    justify-self: auto !important; align-self: auto !important; position: static !important;
    transition: none !important; -webkit-tap-highlight-color: transparent !important;
  }
}
@container ssavtable (max-width: 400px) {
  .mobile-availability .ssav-u-links { gap: 20px; }
  .mobile-availability .ssav-u-links .ssav-u-fp, .mobile-availability .ssav-u-links .ssav-u-fp:hover, .mobile-availability .ssav-u-links .ssav-u-fp:focus, .mobile-availability .ssav-u-links .ssav-u-fp:active,
  .mobile-availability .ssav-u-links .ssav-u-ph, .mobile-availability .ssav-u-links .ssav-u-ph:hover, .mobile-availability .ssav-u-links .ssav-u-ph:focus, .mobile-availability .ssav-u-links .ssav-u-ph:active { font-size: 15.4px !important; }
}
.mobile-availability .ssav-tourbtn { gap: 10px; }
.mobile-availability .ssav-tourbtn-ic { width: 20px; height: 20px; flex: none; display: block; }

/* 1.24.10: calendar icon 10% bigger, its bottom on the text baseline */
.mobile-availability .ssav-tourbtn, .mobile-availability .ssav-tourbtn:hover, .mobile-availability .ssav-tourbtn:focus, .mobile-availability .ssav-tourbtn:active { align-items: baseline !important; }
.mobile-availability .ssav-tourbtn > span { line-height: 52px; }
.mobile-availability .ssav-tourbtn-ic { width: 22px; height: 22px; align-self: baseline; transform: translateY(3.2px); }   /* the drawn box ends 3.2px above the svg edge */

/* =========================================================
   1.25.0: phones & tablets: no multi-select. A large chevron replaces the circle
   (down = closed, up = open) and the "›" beside the rent is gone.
   Closed card: number · finish · rent / 2 bed · 2 bath · 1,065 sq ft / floor / special.
   The description and the floor plan link move into the opened part; no bullet list there.
   ========================================================= */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .ssav-pick { display: none !important; }
  #ssav-table.mobile-availability .mobile-unit, #ssav-table.mobile-availability .mobile-unit.has-xp, #ssav-table.mobile-availability .mobile-unit:not(.has-xp) {
    grid-template-columns: 34px auto minmax(0, 1fr) auto !important;
    grid-template-areas:
      "chev num sty rent"
      ".    meta meta meta"
      ".    fp fp fp"
      "sp   sp sp sp"
      "xp   xp xp xp" !important;
  }
  #ssav-table.mobile-availability .mobile-unit .ssav-xbtn, #ssav-table.mobile-availability .mobile-unit .ssav-xbtn:hover,
  #ssav-table.mobile-availability .mobile-unit .ssav-xbtn:focus, #ssav-table.mobile-availability .mobile-unit .ssav-xbtn:active {
    grid-area: chev !important; justify-self: start !important; align-self: center !important;
    width: 34px !important; height: 34px !important; min-height: 34px !important; margin: 0 0 0 -3px !important; padding: 0 !important;
    background: none !important; box-shadow: none !important; border-radius: 8px !important; color: var(--c-ink, #1b2320) !important;
  }
  #ssav-table.mobile-availability .mobile-unit .ssav-xbtn svg {
    width: 30px !important; height: 30px !important; stroke-width: 2.2;
    transform: rotate(0deg) !important; transition: transform .32s ease !important; animation: none !important;
  }
  #ssav-table.mobile-availability .mobile-unit.is-open .ssav-xbtn svg { transform: rotate(180deg) !important; }
  #ssav-table.mobile-availability .mobile-unit.has-xp { cursor: pointer; }
  #ssav-table.mobile-availability .mobile-unit.has-xp .ssav-xp { cursor: auto; }
  /* closed card: only the two detail lines; the description and links live in the opened part */
  #ssav-table.mobile-availability .mobile-unit > .avt-meta > .avt-desc,
  #ssav-table.mobile-availability .mobile-unit.has-xp > .ssav-u-links { display: none !important; }
  #ssav-table.mobile-availability .ssav-xp-list { display: none !important; }
  #ssav-table.mobile-availability .mobile-unit > .avt-meta { padding-bottom: 6px !important; }   /* the floor line sits a little closer to the special line */
  /* opened part: description, then floor plan link, then photos and the button */
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc { display: block !important; padding: 0 0 4px !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc > span { display: block; }
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc > span + span { margin-top: 8px; }
  #ssav-table.mobile-availability .ssav-xp-card > .ssav-u-links { display: flex !important; margin: 4px 0 6px !important; }
}
/* computers: the card-only lines never show in the wide table */
@container ssavtable (min-width: 820px) {
  #ssav-table.mobile-availability .avt-meta, #ssav-table.mobile-availability .ssav-u-links, #ssav-table.mobile-availability .avt-xdesc { display: none !important; }
}

/* =========================================================
   1.25.2: phones & tablets
   - top line "2344 – Classic, Corner"; the floor line keeps "Corner" too
   - "Click any residence for details" above the first card (no per-card hint)
   - opened card: floor plan / pictures links right under the special line (icons under the tag icon),
     then the description, photos and button, all starting at the text edge above (set by ssav.js)
   ========================================================= */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .mobile-unit-style { margin-left: -4px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; max-width: 100%; }
  #ssav-table.mobile-availability .mobile-unit-style::before { content: "\2013"; display: inline-block; margin: 0 8px 0 0; font-weight: 400; }
  #ssav-table.mobile-availability.avt-tight .mobile-unit-number, #ssav-table.mobile-availability.avt-tight .mobile-unit-style, #ssav-table.mobile-availability.avt-tight .mobile-unit-rent { font-size: 16.5px !important; }
  #ssav-table.mobile-availability .avt-lead { display: block; margin: 0 0 14px 4px; font-size: 15.4px; line-height: 1.4; color: #555; }
  #ssav-table.mobile-availability .mobile-unit .ssav-xp-card { padding-left: var(--avt-x, 4px) !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .ssav-u-links { margin: 0 0 4px var(--avt-i, 0px) !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc { padding: 4px 0 12px !important; }
}
@container ssavtable (min-width: 820px) {
  #ssav-table.mobile-availability .avt-lead, #ssav-table.mobile-availability .avt-corner-t { display: none !important; }
}

/* 1.25.3: phones & tablets: the top line never cuts off ("Signature, Corner" in full); 3px less above the special line;
   opened card: no divider between the special line and the floor plan / pictures links, which sit closer;
   3px more before the thumbnails; captions on the left; "Click any residence…" 2px closer to the heading, twice the space below */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .mobile-unit-style { overflow: visible !important; text-overflow: clip !important; max-width: none !important; }
  #ssav-table.mobile-availability .mobile-unit > .avt-meta { padding-bottom: 3px !important; }
  #ssav-table.mobile-availability .mobile-unit .ssav-xp-card { margin-top: 0 !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .ssav-u-links { border-top: 0 !important; padding-top: 10px !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc { padding-bottom: 15px !important; }
  #ssav-table.mobile-availability .ssav-xp-cap { text-align: left !important; }
  #ssav-table.mobile-availability .avt-lead { margin-top: -2px !important; margin-bottom: 28px !important; }
}

/* 1.25.4: phones & tablets: 3px less under "Click any residence…"; 2px less above the special line;
   opened card: links 3px closer to the special line, 3px more before the thumbnails, captions centred;
   card shadow a little stronger (6% -> 16%) */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .avt-lead { margin-bottom: 25px !important; }
  #ssav-table.mobile-availability .mobile-unit > .avt-meta { padding-bottom: 1px !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .ssav-u-links { padding-top: 7px !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc { padding-bottom: 18px !important; }
  #ssav-table.mobile-availability .ssav-xp-cap { text-align: center !important; }
  #ssav-table.mobile-availability .mobile-unit::before { box-shadow: 0 0 0 1px #dcd9cc, 0 2px 8px rgba(0, 0, 0, .16) !important; }
}

/* 1.25.5: phones & tablets, opened card: 3px more before the thumbnails; thumbnails and the button
   start at the chevron's left edge (right edge unchanged; --avt-c set by ssav.js) */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .ssav-xp-card > .avt-xdesc { padding-bottom: 21px !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .ssav-xp-strip { margin-left: var(--avt-c, 0px) !important; }
  #ssav-table.mobile-availability .ssav-xp-card > .ssav-xp-inq { margin-left: var(--avt-c, 0px) !important; width: calc(100% - var(--avt-c, 0px)) !important; max-width: none !important; }
}

/* 1.25.6: phones & tablets: thumbnails without the white box or outline; every photo (floor plan too) fills its thumbnail */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .ssav-xp-ph .ssav-xp-img { background: transparent !important; box-shadow: none !important; border: 0 !important; outline: 0 !important; }
  #ssav-table.mobile-availability .ssav-xp-ph .ssav-xp-img img { width: 100% !important; height: 100% !important; padding: 0 !important; object-fit: cover !important; object-position: center !important; background: transparent !important; }
}

/* 1.25.7: phones & tablets: no floor plan thumbnail in the opened card (the "Floor plan" link above opens it) */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .ssav-xp-strip .ssav-xp-ph.is-plan { display: none !important; }
}

/* 1.25.15: Availability page photo strip (phones & tablets, Elementor HTML widget .avi-strip):
   caption + "open" icon (caption gray, vector-sharp CSS mask), both underlined like "View Feature List"
   (1px, 4px under the baseline). The caption keeps its original spot (9px under the photo). */
@media (max-width: 1024px) {
  .avi-strip .avi-ph span {
    display: inline-block !important; position: relative; line-height: 1.3 !important;
    padding: 0 0 1.5px 0 !important;
    background: linear-gradient(currentColor, currentColor) no-repeat left bottom / 100% 1px !important;
  }
  .avi-strip .avi-ph span::after {
    /* 1.25.16: sits on the text baseline itself (works with any font the phone uses); the negative margins keep the
       caption line exactly as tall as before, so the caption doesn't move. -.169em = the empty space under the drawn box. */
    content: ""; display: inline-block; vertical-align: baseline; width: 1.3em; height: 1.3em; margin: -.5em 0 -.169em 4px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.76' stroke-linecap='round' stroke-linejoin='round'><path d='M19 13.5V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4.5'/><path d='M14 4h6v6M20 4l-9 9'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.76' stroke-linecap='round' stroke-linejoin='round'><path d='M19 13.5V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4.5'/><path d='M14 4h6v6M20 4l-9 9'/></svg>") center / contain no-repeat;
  }
}

/* 1.25.16: Leasing FAQs (Elementor HTML widget .sfaq): 15px less space under the heading;
   on phones & tablets the heading uses the same type as "Available Residences" */
.sfaq .sfaq-head { margin-bottom: 3px !important; text-align: left !important; }   /* 1.25.18: heading-to-first-question gap 40px -> 27px (1/3 less); left-aligned */
.sfaq .sfaq-title { text-align: left !important; padding-left: 4px !important; }   /* lines up with the questions (their 4px inset) */
@media (max-width: 1024px) {
  .sfaq .sfaq-title { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; font-size: 26px !important; font-weight: 400 !important; letter-spacing: normal !important; line-height: 1.25 !important; color: #1d1d1d !important; }
}
@media (max-width: 767px) {
  .sfaq .sfaq-title { font-size: 24px !important; font-weight: 500 !important; letter-spacing: -.3px !important; }
}

/* 1.25.19: phones & tablets: no unit number (or dash) on the cards; the top line starts with "Classic" / "Signature, Corner" */
@container ssavtable (max-width: 819.98px) {
  #ssav-table.mobile-availability .mobile-unit > .mobile-unit-number { display: none !important; }
  #ssav-table.mobile-availability .mobile-unit-style { grid-column: 2 / 4 !important; grid-row: 1 !important; margin-left: 0 !important; }
  #ssav-table.mobile-availability .mobile-unit-style::before { content: none !important; display: none !important; }
}

/* 1.25.25: Message Us popup (#message-us) uses the tour's contact-step look */
.ssav-msg .ssav-tr-k { margin-top: 12px; }
.ssav-modal .ssav-tr-form textarea, .ssav-tri .ssav-tr-form textarea { border: 1px solid #666; border-radius: 12px; background: #fff; min-height: 96px; resize: vertical; }   /* same border as the inputs */

/* 1.25.26: Message Us popup per Michael's mockup ("Message Leasing", green card with the chat bubbles, note under the button) */
.ssav-msg .ssav-tr-h { font-family: Inter, Roboto, -apple-system, "Segoe UI", Arial, sans-serif; font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: #2d665e; margin-bottom: 0; }
.ssav-msg-card { display: flex; align-items: center; gap: 18px; margin: 20px 0 20px; padding: 22px 20px; border-radius: 16px; background: #e2ece8; }
.ssav-msg-ic { flex: none; width: 62px; height: auto; display: block; }
.ssav-msg-card p { margin: 0; }
.ssav-msg-ch { font-family: Inter, Roboto, Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: -.015em; color: #2d665e; margin-bottom: 4px !important; }
.ssav-msg-ct { font-size: 16px; line-height: 1.4; color: #1b2320; }
.ssav-msg-foot { margin: 14px 0 0; text-align: center; font-size: 14px; line-height: 1.4; color: #3f6b62; }
@media (min-width: 768px) { .ssav-msg .ssav-tr-h { font-size: 32px; } }
@media (max-width: 360px) { .ssav-msg-card { gap: 14px; padding: 18px 16px; } .ssav-msg-ic { width: 52px; } .ssav-msg-ct { font-size: 14.5px; } }
.ssav-msg .ssav-field > span:first-child { font-size: 14.5px; }

/* 1.25.27: everything 5px higher (close button stays), card 3px less padding top & bottom, shorter message box so the button shows with the browser bars up */
.ssav-msg .ssav-tr-k { margin-top: 7px; }
.ssav-msg-card { padding-top: 19px; padding-bottom: 19px; }
@media (max-width: 360px) { .ssav-msg-card { padding-top: 15px; padding-bottom: 15px; } }
.ssav-modal .ssav-msg .ssav-tr-form textarea, .ssav-tri .ssav-msg .ssav-tr-form textarea { min-height: 0; height: 62px; padding-top: 9px; padding-bottom: 9px; }

/* 1.25.28: combined Message / Tour popup – toggle at the top slides between the two; same heading + green card on both sides */
.ssav-duo { position: relative; }
.ssav-duo-tg { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; width: 200px; height: 40px; margin: -12px 0 0; padding: 3px; box-sizing: border-box;
  border-radius: 20px; background: #e6ebe8; }
.ssav-duo-knob { position: absolute; top: 3px; left: 3px; width: calc(50% - 3px); height: 34px; border-radius: 17px; background: #2d665e;
  box-shadow: 0 2px 6px rgba(45, 102, 94, .25); transition: transform .35s cubic-bezier(.3, .7, .2, 1); }
.ssav-duo[data-m="tour"] .ssav-duo-knob { transform: translateX(100%); }
.ssav-modal .ssav-duo-tg button, .ssav-modal .ssav-duo-tg button:hover, .ssav-modal .ssav-duo-tg button:focus, .ssav-modal .ssav-duo-tg button:active {
  position: relative; z-index: 1; height: 34px; margin: 0; padding: 0; border: 0 !important; border-radius: 17px !important; background: transparent !important;
  color: #2d665e !important; font: 600 15px/34px Inter, Roboto, Arial, sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer;
  transition: color .3s ease !important; -webkit-tap-highlight-color: transparent; box-shadow: none !important;
}
.ssav-modal .ssav-duo-tg button[aria-selected="true"], .ssav-modal .ssav-duo-tg button[aria-selected="true"]:hover,
.ssav-modal .ssav-duo-tg button[aria-selected="true"]:focus, .ssav-modal .ssav-duo-tg button[aria-selected="true"]:active { color: #fff !important; cursor: default; }
.ssav-modal .ssav-duo-tg button:focus-visible { outline: 2px solid #2d665e; outline-offset: 2px; }
/* sliding panes: the viewport is as tall as the side that is showing */
.ssav-duo-vp { overflow: hidden; margin: 0 -12px; }
.ssav-duo.is-anim .ssav-duo-vp { transition: height .35s cubic-bezier(.3, .7, .2, 1); }
.ssav-duo-track { display: flex; align-items: flex-start; width: 200%; }
.ssav-duo.is-anim .ssav-duo-track { transition: transform .38s cubic-bezier(.3, .7, .2, 1); }
.ssav-duo[data-m="tour"] .ssav-duo-track { transform: translateX(-50%); }
.ssav-duo-pane { flex: 0 0 50%; width: 50%; box-sizing: border-box; padding: 0 12px 2px; visibility: hidden; }
.ssav-duo-pane.is-vis, .ssav-duo-pane[aria-hidden="false"] { visibility: visible; }
@media (prefers-reduced-motion: reduce) { .ssav-duo.is-anim .ssav-duo-track, .ssav-duo.is-anim .ssav-duo-vp, .ssav-duo-knob { transition: none; } }
/* same heading, card and labels on both sides */
.ssav-duo .ssav-tr-h, .ssav-tri .ssav-tr-h { margin: 16px 0 0; font-family: Inter, Roboto, -apple-system, "Segoe UI", Arial, sans-serif; font-size: 30px; font-weight: 700; line-height: 1.14; letter-spacing: -.02em; color: #2d665e; }
@media (min-width: 768px) { .ssav-duo .ssav-tr-h, .ssav-tri .ssav-tr-h { font-size: 32px; } }
.ssav-duo .ssav-msg-card, .ssav-tri .ssav-msg-card { min-height: 88px; box-sizing: border-box; }
.ssav-duo .ssav-field > span:first-child { font-size: 14.5px; }
.ssav-duo .ssav-tr-days, .ssav-tri .ssav-tr-days { margin-top: 4px; }
/* "Change time" inside the card on the tour's contact step */
.ssav-modal .ssav-msg-card .ssav-tr-back, .ssav-modal .ssav-msg-card .ssav-tr-back:hover, .ssav-modal .ssav-msg-card .ssav-tr-back:focus, .ssav-modal .ssav-msg-card .ssav-tr-back:active, .ssav-tri .ssav-msg-card .ssav-tr-back, .ssav-tri .ssav-msg-card .ssav-tr-back:hover, .ssav-tri .ssav-msg-card .ssav-tr-back:focus, .ssav-tri .ssav-msg-card .ssav-tr-back:active {
  display: inline; margin: 0; padding: 0; background: none !important; border: 0 !important; color: #2d665e !important;
  font: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* 1.26.0: discounted rate – regular rate crossed out (gray, not bold), the discounted rate bold under it with the special tag */
.mobile-availability .mobile-unit-rent.has-disc, .si-unit-p.has-disc { display: flex !important; flex-direction: column; align-items: flex-end; gap: 2px; }
.mobile-availability .mobile-unit-rent .ssav-was, .si-unit-p .ssav-was {
  font-size: .8em; font-weight: 400; line-height: 1.15; color: #6f7874; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.mobile-availability .mobile-unit-rent .ssav-now, .si-unit-p .ssav-now { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; white-space: nowrap; }
.si-aside .si-unit-p .ssav-now .ssav-tag { flex: none; width: 15px; height: 15px; color: #8a5f1c; }   /* same as the blog list's special line */
/* 1.26.1: phones & tablets – the special line's tag is restyled by the photo-strip HTML widget (c3bb66f): 20px, #2D665E. Same here. */
@media (max-width: 1024px) { #ssav-table .mobile-unit-rent .ssav-now .ssav-tag { width: 20px !important; height: 20px !important; color: #2d665e !important; } }
@container ssavtable (min-width: 820px) {   /* desktop table: the rent column is left-aligned */
  .mobile-availability .mobile-unit-rent.has-disc { align-items: flex-start; }
}
.si-aside .si-unit-p.has-disc { margin-left: auto; }

/* =========================================================
   1.26.2 CONTACT US SECTION (#contactusbottom, bottom of the pages) – same look as the Message popup:
   sage band, light card, deep-green Inter heading, Roboto text, labels above white rounded fields, green pill button.
   ssav.js marks the parts: .ssav-ft (band) > .ssav-ft-card > .ssav-ft-info / .ssav-ft-form
   ========================================================= */
#contactusbottom.ssav-ft { background-color: #e2ece8 !important; }
#contactusbottom.ssav-ft > .ssav-ft-card { background-color: #f8f8f6 !important; border-radius: 18px !important; }
#contactusbottom.ssav-ft .ssav-ft-card > hr { border: 0 !important; border-top: 1px solid #e2e4e0 !important; border-left: 1px solid #e2e4e0 !important; background: #e2e4e0 !important; opacity: 1; }
/* left: "GET IN TOUCH", "Contact Us", intro, phone / email / address */
#contactusbottom.ssav-ft .ssav-ft-info { font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif; color: #16201c; }
#contactusbottom.ssav-ft .ssav-ft-info > p:first-child {
  font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif !important; font-size: 12.5px !important; font-weight: 500 !important;
  letter-spacing: .12em !important; text-transform: uppercase; color: #6c7673 !important; }
#contactusbottom.ssav-ft .ssav-ft-info > :is(h1, h2, h3) {
  font-family: Inter, Roboto, -apple-system, "Segoe UI", Arial, sans-serif !important; font-size: 30px !important; font-weight: 700 !important;
  line-height: 1.14 !important; letter-spacing: -.02em !important; color: #2d665e !important; text-transform: none !important; }
@media (min-width: 768px) { #contactusbottom.ssav-ft .ssav-ft-info > :is(h1, h2, h3) { font-size: 32px !important; } }
#contactusbottom.ssav-ft .ssav-ft-info > :is(h1, h2, h3) + p {
  font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.4 !important; color: #1b2320 !important; }
#contactusbottom.ssav-ft .ssav-ft-info > .e-con p, #contactusbottom.ssav-ft .ssav-ft-info > a p, #contactusbottom.ssav-ft .ssav-ft-info > a h2 {
  font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.35 !important; color: #16201c !important; }
#contactusbottom.ssav-ft .ssav-ft-info > .e-con, #contactusbottom.ssav-ft .ssav-ft-info > a { border-color: #e2e4e0 !important; }
#contactusbottom.ssav-ft .ssav-ft-info p::after, #contactusbottom.ssav-ft .ssav-ft-info h2::after {   /* "Get directions →" (added by each page's HTML widget) */
  color: #2d665e !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
/* right: the form (same as the Message popup) + the note under the button */
#contactusbottom.ssav-ft .ssav-contact { font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif; }
#contactusbottom.ssav-ft .ssav-tr-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; row-gap: 0; margin: 0; }
#contactusbottom.ssav-ft .ssav-tr-form > * { grid-column: 1 / -1; }
#contactusbottom.ssav-ft .ssav-tr-form > .ssav-f-first, #contactusbottom.ssav-ft .ssav-tr-form > .ssav-f-last { grid-column: auto; }
#contactusbottom.ssav-ft .ssav-field { display: flex; flex-direction: column; gap: 5px; margin: 0 0 11px; font-size: 13px; font-weight: 500; color: #33413b; }
#contactusbottom.ssav-ft .ssav-field > span:first-child { font-size: 14.5px; }
#contactusbottom.ssav-ft .ssav-field small { font-size: 13px; font-weight: 400; color: #5f6c66; }
#contactusbottom.ssav-ft .ssav-field input, #contactusbottom.ssav-ft .ssav-field textarea {
  -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 100%; min-height: 0;
  border: 1px solid #666; border-radius: 12px; background: #fff; box-shadow: none;
  font: 400 16px/1.4 Roboto, -apple-system, "Segoe UI", Arial, sans-serif; color: #111; }
#contactusbottom.ssav-ft .ssav-field input { height: 48px; padding: 0 14px; }
#contactusbottom.ssav-ft .ssav-field textarea { height: 62px; padding: 9px 14px; resize: vertical; }
#contactusbottom.ssav-ft .ssav-field input:focus, #contactusbottom.ssav-ft .ssav-field textarea:focus { outline: none; border-color: #62766e; box-shadow: 0 0 0 3px rgba(98, 118, 110, .18); }
#contactusbottom.ssav-ft .ssav-field.has-error input, #contactusbottom.ssav-ft .ssav-field.has-error textarea { border-color: #b3261e; }
#contactusbottom.ssav-ft .ssav-tr-go, #contactusbottom.ssav-ft .ssav-tr-go:hover, #contactusbottom.ssav-ft .ssav-tr-go:focus, #contactusbottom.ssav-ft .ssav-tr-go:active {
  position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 58px; margin: 8px 0 0; padding: 0 60px;
  background: #2f6457 !important; color: #fff !important; border: 0 !important; border-radius: 29px !important; box-shadow: none !important;
  font: 500 18px Roboto, -apple-system, "Segoe UI", Arial, sans-serif; letter-spacing: .01em; text-transform: none; text-decoration: none; cursor: pointer;
  -webkit-tap-highlight-color: transparent; transition: opacity .2s ease; }
#contactusbottom.ssav-ft .ssav-tr-go[disabled] { opacity: .45; cursor: default; }
#contactusbottom.ssav-ft .ssav-ft-form > p, #contactusbottom.ssav-ft .ssav-ft-form > * > p:not(.ssav-msg-foot) {
  margin-top: 14px !important; font-family: Roboto, -apple-system, "Segoe UI", Arial, sans-serif !important; font-size: 14px !important; font-weight: 400 !important;
  line-height: 1.4 !important; color: #3f6b62 !important; text-align: center !important; }
#contactusbottom.ssav-ft .ssav-contact.is-done .ssav-done h3 { font-family: Inter, Roboto, Arial, sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -.02em; color: #2d665e; }
#contactusbottom.ssav-ft .ssav-contact.is-done .ssav-done-icon { background: #2d665e; }
/* 1.26.3: button = the sticky bar's green (#2D665E); "Contact Us" left-aligned with the icons; on phones the off-white card shows too */
#contactusbottom.ssav-ft .ssav-tr-go, #contactusbottom.ssav-ft .ssav-tr-go:hover, #contactusbottom.ssav-ft .ssav-tr-go:focus, #contactusbottom.ssav-ft .ssav-tr-go:active { background: #2d665e !important; }
#contactusbottom.ssav-ft .ssav-ft-info > :is(h1, h2, h3) { text-align: left !important; align-self: stretch; }
@media (max-width: 767px) {
  #contactusbottom.ssav-ft > .ssav-ft-card { display: flex !important; flex-direction: column; flex-shrink: 0 !important; box-sizing: border-box;
    width: auto !important; height: auto !important; min-height: 0 !important; margin: 24px 10px 0 !important; padding: 0 !important; }
  #contactusbottom.ssav-ft .ssav-ft-card > * { flex-shrink: 0 !important; }
  #contactusbottom.ssav-ft .ssav-ft-card > .ssav-ft-info, #contactusbottom.ssav-ft .ssav-ft-card > .ssav-ft-form { padding-left: 18px !important; padding-right: 18px !important; }
  #contactusbottom.ssav-ft .ssav-ft-card > .ssav-ft-info { padding-top: 30px !important; }
  #contactusbottom.ssav-ft .ssav-ft-card > .ssav-ft-form { padding-bottom: 30px !important; }
}

/* 1.26.6 / 1.26.7: Message / Tour popup – pink marker note "Tap for Tours" with a hand-drawn arrow to the Tour side.
   Fades + writes in as the popup opens, then the arrow draws (to the Tour bubble's lower-right corner);
   fades away once the visitor uses the switch. Pink = the chat-bubble icon's pink (#F6787A). */
.ssav-duo-hint { position: absolute; left: 202px; top: 0; width: 110px; height: 70px; pointer-events: none; z-index: 3; color: #f6787a; opacity: 0; transition: opacity .25s ease; }
.ssav-duo-hint.is-on { animation: ssavHintIn .33s ease-out forwards; }
.ssav-duo[data-m="tour"] .ssav-duo-hint, .ssav-duo-hint.is-gone { opacity: 0 !important; animation: none; }
.ssav-duo-hint svg { position: absolute; left: 0; top: 0; width: 44px; height: 44px; overflow: visible; }
.ssav-duo-hint path { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }   /* hidden until drawn (no dot) */
.ssav-duo-hint span { position: absolute; left: 40px; top: 7px; font: 700 20px/18px Caveat, "Bradley Hand", "Segoe Print", cursive; white-space: nowrap;
  transform: rotate(-4deg); transform-origin: left top; clip-path: inset(0 100% 0 0); }
.ssav-duo-hint.is-on span { animation: ssavHintWrite .55s steps(13, end) .2s forwards; }
.ssav-duo-hint.is-on .a { animation: ssavHintDraw .39s ease-out .64s forwards; }
.ssav-duo-hint.is-on .h { animation: ssavHintDraw .135s ease-out 1s forwards; }
@keyframes ssavHintIn { to { opacity: 1; } }
@keyframes ssavHintWrite { to { clip-path: inset(0 0 0 0); } }
@keyframes ssavHintDraw { from { opacity: 1; stroke-dashoffset: 1; } to { opacity: 1; stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ssav-duo-hint, .ssav-duo-hint.is-on { opacity: 1; animation: none; }
  .ssav-duo-hint span { clip-path: none; animation: none !important; }
  .ssav-duo-hint path { opacity: 1; stroke-dashoffset: 0; animation: none !important; }
}
@media (max-width: 369px) { .ssav-duo-hint { display: none; } }   /* too narrow: it would touch the close button */

/* 1.26.9: no black focus ring on the popup close button (it gets focus when a popup opens) */
.ssav-modal .ssav-close, .ssav-modal .ssav-close:focus, .ssav-modal .ssav-close:focus-visible, .ssav-modal .ssav-close:active { outline: none !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent; }

/* 1.26.10: special bar – no chevron when the text needs the room */
.ssav-sbar.no-chev .ssav-sbar-chev { display: none; }
.ssav-sbar.is-tight { padding-left: 14px !important; padding-right: 14px !important; gap: 6px !important; }   /* 1.28.5 */
.ssav-sbar.is-tight .ssav-sbar-k { letter-spacing: .06em !important; }

/* 1.26.15: sticky special bar: full wording, shorter on phones */
.ssav-sbar-s { display: none; }
@media (max-width: 767px) { .ssav-sbar-l { display: none; } .ssav-sbar-s { display: inline; } }

/* =========================================================
   1.27.0 [ssav_tour_inline]: the tour day picker built into the Availability page.
   Same look as the Tour popup; no day chosen at first (today has a green dot);
   picking a day folds the times + Continue open below; "Hide times" folds them away.
   ========================================================= */
.ssav-tri { --tr-g: #2f6457; --tr-ink: #16201c; --tr-mute: #5d6764; --tr-line: #e2e4e0;
  box-sizing: border-box; max-width: 560px; margin: 0 auto; padding: 26px 22px 24px; border-radius: 22px; background: #f8f8f6; }
.ssav-tri .ssav-tr-h { margin: 0; font-family: Inter, Roboto, -apple-system, "Segoe UI", Arial, sans-serif; font-size: 30px; font-weight: 700; line-height: 1.14; letter-spacing: -.02em; color: #2d665e; }
.ssav-tri .ssav-tri-dot { position: absolute; top: 7px; right: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--tr-g); }
.ssav-tri .ssav-tr-day.is-on .ssav-tri-dot { background: #fff; }
.ssav-tri-more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s cubic-bezier(.3, .7, .2, 1); }
.ssav-tri.is-x .ssav-tri-more { grid-template-rows: 1fr; }
.ssav-tri-in { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear .45s; }
.ssav-tri.is-x .ssav-tri-in { visibility: visible; transition: none; }
.ssav-tri .ssav-tr-h3 { margin-top: 26px; }
.ssav-tri .ssav-tri-hide, .ssav-tri .ssav-tri-hide:hover, .ssav-tri .ssav-tri-hide:focus, .ssav-tri .ssav-tri-hide:active {
  display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px auto 2px; padding: 8px 14px;
  background: none !important; border: 0 !important; box-shadow: none !important; color: #2d665e !important;
  font: 500 15px/1.2 Roboto, Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; }
@media (max-width: 767px) { .ssav-tri { padding: 22px 16px 20px; border-radius: 18px; } .ssav-tri .ssav-tr-h { font-size: 28px; } }
@media (prefers-reduced-motion: reduce) { .ssav-tri-more, .ssav-tri-in { transition: none; } }

/* 1.27.3: tour times blocked out in Tour Times – greyed out, as if already taken */
.ssav-modal .ssav-tr-time.is-taken, .ssav-modal .ssav-tr-time.is-taken:hover, .ssav-modal .ssav-tr-time.is-taken:focus, .ssav-modal .ssav-tr-time.is-taken:active,
.ssav-tri .ssav-tr-time.is-taken, .ssav-tri .ssav-tr-time.is-taken:hover, .ssav-tri .ssav-tr-time.is-taken:focus, .ssav-tri .ssav-tr-time.is-taken:active {
  background: #ecedeb !important; color: #a5aba8 !important; border-color: #ecedeb !important; cursor: default; opacity: 1; }

/* 1.28.1: Message popup – large call button under the form (left aligned), our dark green with a soft top-to-bottom gradient */
.ssav-modal .ssav-msg-call, .ssav-modal .ssav-msg-call:hover, .ssav-modal .ssav-msg-call:focus, .ssav-modal .ssav-msg-call:active {
  display: flex; align-items: center; justify-content: center; width: 92px; height: 92px; margin: 24px 0 16px; padding: 0;
  border-radius: 21px; background: linear-gradient(180deg, #4a8a7f 0%, #2d665e 55%, #245850 100%) !important;
  box-shadow: 0 6px 16px rgba(45, 102, 94, .28), inset 0 1px 0 rgba(255, 255, 255, .18); text-decoration: none; }
.ssav-modal .ssav-msg-call svg { width: 54px; height: 54px; display: block; }
.ssav-modal .ssav-msg-call:focus-visible { outline: 2px solid #2d665e; outline-offset: 3px; }

/* =========================================================
   1.29.2 PHONE & TABLET MENU (☰): same look as the Availability page
   White background, Inter for the page names (like the Availability section headings), light green special
   bubble with a dark green tag, one dark green "Call or Text Us" button that splits into Call | Text Us.
   The top row (phone icon, SUMMERSET wordmark, ✕) is unchanged.
   ========================================================= */
.ssav-menu { background: #fff; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1d1d1d; }
.ssav-menu .ssav-menu-word { font-family: Agatho, AgathoMedium, Georgia, serif; }   /* the wordmark stays in its serif */
.ssav-menu a.ssav-menu-link, .ssav-menu a.ssav-menu-link:hover, .ssav-menu a.ssav-menu-link:focus, .ssav-menu a.ssav-menu-link:visited,
.ssav-menu button.ssav-menu-grp, .ssav-menu button.ssav-menu-grp:hover, .ssav-menu button.ssav-menu-grp:focus, .ssav-menu button.ssav-menu-grp:active { border-bottom-color: #e3e9e6; }
.ssav-menu-name { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; color: #1d1d1d; }
.ssav-menu a.ssav-menu-link.is-current .ssav-menu-name, .ssav-menu a.ssav-menu-link.is-current:hover .ssav-menu-name { color: #2d665e; }
.ssav-menu a.ssav-menu-link:hover .ssav-menu-name { color: #2d665e; }
.ssav-menu-sub { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 13px; letter-spacing: 0; color: #5f6663; }
.ssav-menu-chev { color: #2d665e; }
.ssav-menu-sublist { border-bottom-color: #e3e9e6; }
.ssav-menu-child-l { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 19px; font-weight: 600; letter-spacing: -0.01em; color: #1d1d1d; }
.ssav-menu a.ssav-menu-child.is-current .ssav-menu-child-l { color: #2d665e; }
.ssav-menu-child-d { font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #5f6663; }

/* rent special: light green bubble, dark green tag */
.ssav-menu a.ssav-menu-sp, .ssav-menu a.ssav-menu-sp:hover, .ssav-menu a.ssav-menu-sp:focus, .ssav-menu a.ssav-menu-sp:visited { border-radius: 14px; background: #e2ece8 !important; color: #1d1d1d !important; font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.ssav-menu-sp .ssav-tag { color: #2d665e; }
.ssav-menu-sp-k { letter-spacing: .1em; color: #2d665e; }
.ssav-menu-sp-t { font-size: 15px; font-weight: 500; }
.ssav-menu-sp-c { color: #2d665e; }

/* Call or Text Us */
.ssav-menu-ct { position: relative; display: flex; gap: 0; width: 100%; height: 50px; transition: gap .38s cubic-bezier(.3,.7,.2,1); }
.ssav-menu .ssav-menu-ct a.ssav-menu-ct-b, .ssav-menu .ssav-menu-ct a.ssav-menu-ct-b:hover, .ssav-menu .ssav-menu-ct a.ssav-menu-ct-b:focus, .ssav-menu .ssav-menu-ct a.ssav-menu-ct-b:visited,
.ssav-menu .ssav-menu-ct button.ssav-menu-ct-one, .ssav-menu .ssav-menu-ct button.ssav-menu-ct-one:hover, .ssav-menu .ssav-menu-ct button.ssav-menu-ct-one:focus, .ssav-menu .ssav-menu-ct button.ssav-menu-ct-one:active {
  display: flex; align-items: center; justify-content: center; height: 50px; margin: 0; padding: 0 16px; border: 0;
  background: #2d665e !important; color: #fff; font: 500 18px/1 Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: 0; text-transform: none; text-decoration: none !important; box-shadow: none; -webkit-tap-highlight-color: transparent;
}
.ssav-menu .ssav-menu-ct a.ssav-menu-ct-b { flex: 1 1 0; color: rgba(255,255,255,0) !important; transition: border-radius .38s cubic-bezier(.3,.7,.2,1); }
.ssav-menu .ssav-menu-ct a.ssav-menu-ct-l { border-radius: 18px 0 0 18px; }
.ssav-menu .ssav-menu-ct a.ssav-menu-ct-r { border-radius: 0 18px 18px 0; }
.ssav-menu .ssav-menu-ct button.ssav-menu-ct-one { position: absolute; inset: 0; width: 100%; border-radius: 18px; cursor: pointer; z-index: 1; transition: opacity .25s ease, visibility 0s linear 0s; }
.ssav-menu .ssav-menu-ct.is-open { gap: 10px; }
.ssav-menu .ssav-menu-ct.is-open a.ssav-menu-ct-b { border-radius: 18px; color: #fff !important; transition: border-radius .38s cubic-bezier(.3,.7,.2,1), color .25s ease .12s; }
.ssav-menu .ssav-menu-ct.is-open button.ssav-menu-ct-one { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility 0s linear .2s; }
@media (prefers-reduced-motion: reduce) { .ssav-menu-ct, .ssav-menu-ct * { transition: none !important; } }

/* phone number above the address, hours below */
.ssav-menu-info { margin-top: 6px; font-family: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 13.5px; line-height: 1.6; color: #5f6663; }
.ssav-menu a.ssav-menu-ph, .ssav-menu a.ssav-menu-ph:visited, .ssav-menu a.ssav-menu-ph:hover, .ssav-menu a.ssav-menu-ph:focus { display: inline-block; margin-bottom: 2px; font-size: 16px; font-weight: 600; color: #1d1d1d !important; text-decoration: none !important; background: none !important; }
.ssav-menu a.ssav-menu-dir, .ssav-menu a.ssav-menu-dir:visited, .ssav-menu a.ssav-menu-dir:hover, .ssav-menu a.ssav-menu-dir:focus { color: #1d1d1d !important; text-decoration-color: rgba(45,102,94,.45) !important; }
.ssav-menu-dir-i { color: #2d665e; }

@media (min-width: 768px) {
  .ssav-menu-name { font-size: 34px; }
}
@media (max-width: 359px) { .ssav-menu-name { font-size: 25px; } }

/* 1.29.3 menu tweaks */
.ssav-menu button.ssav-menu-x, .ssav-menu button.ssav-menu-x:hover, .ssav-menu button.ssav-menu-x:focus, .ssav-menu button.ssav-menu-x:active {
  background: transparent !important; box-shadow: inset 0 0 0 1.5px #c9d3ce !important; color: #1d1d1d !important;   /* ✕ in an outlined circle, no fill */
}
.ssav-menu-name { font-weight: 500; }   /* lighter page names */
.ssav-menu-sub { font-size: 14.3px; }   /* "4 available" +10% */
.ssav-menu a.ssav-menu-link, .ssav-menu a.ssav-menu-link:hover, .ssav-menu a.ssav-menu-link:focus, .ssav-menu a.ssav-menu-link:visited,
.ssav-menu button.ssav-menu-grp, .ssav-menu button.ssav-menu-grp:hover, .ssav-menu button.ssav-menu-grp:focus, .ssav-menu button.ssav-menu-grp:active,
.ssav-menu-sublist { border-bottom: 1px solid #e3e9e6 !important; }   /* every divider the same */
.ssav-menu a.ssav-menu-link:last-child { border-bottom: 0 !important; }
/* rent special: bigger tag + label, offer text moved right */
.ssav-menu a.ssav-menu-sp, .ssav-menu a.ssav-menu-sp:hover, .ssav-menu a.ssav-menu-sp:focus, .ssav-menu a.ssav-menu-sp:visited { gap: 9px; padding: 13px 14px 13px 15px; }
.ssav-menu-sp .ssav-tag { width: 18px; height: 18px; }
.ssav-menu-sp-k { font-size: 13px; }
.ssav-menu-sp-t { margin-left: 10px; }
/* phone, address and hours all the same grey as the hours */
.ssav-menu a.ssav-menu-ph, .ssav-menu a.ssav-menu-ph:visited, .ssav-menu a.ssav-menu-ph:hover, .ssav-menu a.ssav-menu-ph:focus,
.ssav-menu a.ssav-menu-dir, .ssav-menu a.ssav-menu-dir:visited, .ssav-menu a.ssav-menu-dir:hover, .ssav-menu a.ssav-menu-dir:focus { color: #5f6663 !important; }

/* 1.29.4 menu: the sticky special bar stays put above the open menu (no move, no flash); page names lighter, no tight spacing */
html.ssav-menu-on .ssav-sbar { z-index: 100012; }
.ssav-menu-nav { padding-top: 68px; }   /* room for the special bar */
@media (min-width: 768px) { .ssav-menu-nav { padding-top: 60px; } }
.ssav-menu-name { font-weight: 400; letter-spacing: 0; }
.ssav-menu .ssav-menu-link .ssav-menu-sub { font-size: 15px; }
@media (max-width: 599px) { .ssav-menu .ssav-menu-link .ssav-menu-sub { font-size: 14px; margin-left: 8px; } }

/* 1.29.5 menu: thin black ring around the ✕; current page one weight heavier */
.ssav-menu button.ssav-menu-x, .ssav-menu button.ssav-menu-x:hover, .ssav-menu button.ssav-menu-x:focus, .ssav-menu button.ssav-menu-x:active { box-shadow: inset 0 0 0 1px #000 !important; color: #000 !important; }
.ssav-menu a.ssav-menu-link.is-current .ssav-menu-name, .ssav-menu a.ssav-menu-link.is-current:hover .ssav-menu-name { font-weight: 500; }
.ssav-menu.is-closing .ssav-menu-link, .ssav-menu.is-closing .ssav-menu-grp, .ssav-menu.is-closing .ssav-menu-foot { transform: none !important; opacity: 1 !important; transition: none !important; }
.ssav-menu.is-closing .ssav-menu-link, .ssav-menu.is-closing .ssav-menu-grp, .ssav-menu.is-closing .ssav-menu-foot { transform: none !important; opacity: 1 !important; transition: none !important; }

/* 1.29.6 menu: no slide-up on open – the page names and the bottom section simply appear with the menu's fade */
.ssav-menu .ssav-menu-link, .ssav-menu .ssav-menu-grp, .ssav-menu .ssav-menu-foot { transform: none !important; opacity: 1 !important; transition: none !important; }
