:root {
  --green: #003f2c;
  --green-2: #062f25;
  --green-3: #005f40;
  --gold: #d99f24;
  --gold-2: #f2be39;
  --ink: #071c16;
  --muted: #53625c;
  --line: #dfe5e1;
  --paper: #ffffff;
  --soft: #f5f7f3;
  --shadow: 0 16px 45px rgba(0, 42, 28, 0.16);
  font-family: Arial, Helvetica, sans-serif;
}

/* Purchase workflow additions */
.buyer-application-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:#003f2c;font-size:12px;font-weight:800;border:1px solid #d6e2db;border-radius:9px;padding:13px 15px;margin-top:2px;background:#f8fbf9}
.buyer-application-link:hover{border-color:#78a18d;background:#f1f7f3}
.buyer-message-thread{display:grid;gap:12px;max-width:820px}
.buyer-message-thread article{max-width:78%;padding:15px 18px;border-radius:12px;background:#fff;border:1px solid #dfe8e2;box-shadow:0 5px 18px rgba(0,49,34,.05)}
.buyer-message-thread article.outbound{margin-left:auto;background:#073f2d;color:#fff;border-color:#073f2d}
.buyer-message-thread article span,.buyer-message-thread article small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#71837a}
.buyer-message-thread article.outbound span,.buyer-message-thread article.outbound small{color:#b5cbbf}
.buyer-message-thread article p{font-size:12px;line-height:1.65;margin:7px 0}
.enterprise-form-divider{border-top:1px solid #dfe7e2;margin-top:8px;padding-top:20px;display:grid;gap:4px}
.enterprise-form-divider b{font-family:Georgia,serif;font-size:19px;color:#173d2c}
.enterprise-form-divider small{font-size:10px;color:#74837b}
.buyer-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.buyer-document-actions .btn{white-space:nowrap}
@media(max-width:640px){.buyer-message-thread article{max-width:92%}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fbfcfa;
  font-size: 14px;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { display: block; max-width: 100%; }

.topbar {
  min-height: 34px;
  padding: 0 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: #002d21;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
.topbar__left, .topbar__right { display: flex; align-items: center; gap: 15px; min-width: 0; }
.topbar__left {
  flex: 1 1 auto;
}
.topbar__right {
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 14px;
  white-space: nowrap;
}
.topbar__right a {
  color: #fff;
  white-space: nowrap;
}
.topbar__right strong {
  white-space: nowrap;
}
.topbar__right .social-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.topbar-ticker {
  overflow: hidden;
  white-space: nowrap;
}
.ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  min-width: max-content;
  animation: ticker-scroll 32s linear infinite;
}
.ticker-track span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ticker-track span::before {
  content: "•";
  color: var(--gold-2);
  font-size: 15px;
  line-height: 1;
}
@keyframes ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.wa-dot {
  padding: 3px 9px;
  border-radius: 999px;
  background: #0cad59;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 82px;
  padding: 9px 34px;
  display: flex;
  align-items: center;
  gap: 18px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #eef1ed;
  box-shadow: 0 8px 24px rgba(0, 45, 32, .055);
}
.brand {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 250px;
  min-width: 250px;
  width: 250px;
  height: 78px;
  overflow: hidden;
  color: var(--green);
}
.brand img {
  width: 232px;
  height: 72px;
  display: block;
  object-fit: contain;
  object-position: center center;
  mix-blend-mode: normal;
  border-radius: 3px;
}
.brand-slogan {
  display: none;
  width: 100%;
  margin-top: -2px;
  color: #a6781d;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}
.main-nav {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(9px, 1.15vw, 18px);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  min-width: 0;
  height: 100%;
}
.main-nav a { position: relative; padding: 29px 0 25px; white-space: nowrap; }
.main-nav a.active { color: var(--gold); }
.main-nav a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 15px;
  height: 2px;
  background: var(--gold);
}
.live-badge {
  display: inline-grid;
  place-items: center;
  min-width: 35px;
  height: 19px;
  padding: 0 7px;
  border-radius: 4px;
  color: #fff;
  background: #f01818;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.book-visit {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: var(--gold-2);
  color: #111;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}
.nav-toggle { display: none; }

.hero {
  position: relative;
  min-height: 505px;
  display: grid;
  grid-template-columns: minmax(430px, 40%) 1fr;
  overflow: hidden;
  background: #f6faf8;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: min(42%, 620px);
  background: linear-gradient(90deg, #fff 0 86%, rgba(255,255,255,.92) 92%, rgba(255,255,255,0));
  pointer-events: none;
}
.hero__content {
  position: relative;
  z-index: 2;
  width: min(100%, 590px);
  padding: 54px 30px 38px 42px;
}
.eyebrow {
  margin: 0 0 11px;
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}
.eyebrow::before { content: "⌑ "; color: var(--gold); }
h1 {
  margin: 0;
  color: var(--green-2);
  font-size: clamp(43px, 4.7vw, 61px);
  line-height: .94;
  letter-spacing: 0;
}
h1 span { color: var(--gold); }
.hero__copy {
  max-width: 385px;
  margin: 17px 0 21px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.34;
}
.hero-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 14px 18px;
  max-width: 430px;
  margin-bottom: 21px;
}
.hero-point-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  background: #ffffff;
  border: 1px solid rgba(0, 63, 44, 0.12);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0, 31, 23, 0.05);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.hero-point-card:hover {
  transform: translateY(-3px);
  border-color: var(--gold);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(0, 45, 32, 0.08);
}
.hero-point-icon-wrapper {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 63, 44, 0.08);
  color: var(--green);
  transition: background 0.2s ease, color 0.2s ease;
}
.hero-point-card:hover .hero-point-icon-wrapper {
  background: var(--gold);
  color: #fff;
}
.hero-point-icon {
  width: 20px;
  height: 20px;
}
.hero-point-content {
  display: flex;
  flex-direction: column;
}
.hero-points .hero-point-content b {
  display: block;
  font-size: 14.5px;
  font-weight: 850;
  color: var(--green-2);
  line-height: 1.2;
}
.hero-points .hero-point-content span {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  color: #52625c;
  line-height: 1.25;
  margin-top: 2px;
}
.hero-actions { display: flex; gap: 18px; flex-wrap: wrap; }
.btn {
  min-height: 52px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 0;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}
.btn--green { background: var(--green); color: #fff; }
.btn--gold { background: var(--gold-2); color: #0a160f; }
.btn--full { width: 100%; min-height: 45px; margin-top: 12px; }
.hero__media {
  position: absolute;
  inset: 0 0 0 40%;
  overflow: hidden;
}
.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,0) 18%),
    linear-gradient(180deg, rgba(0,0,0,0), rgba(0,40,28,.2));
  pointer-events: none;
}
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 50%;
  opacity: 0;
  filter: saturate(1.08) contrast(1.04);
  transition: opacity .9s ease;
}
.hero-slide.active {
  opacity: 1;
}
.hero-slide-dots {
  position: absolute;
  z-index: 2;
  right: 105px;
  bottom: 24px;
  display: flex;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0, 48, 34, .55);
  backdrop-filter: blur(6px);
}
.hero-slide-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  cursor: pointer;
}
.hero-slide-dots button.active {
  width: 24px;
  background: var(--gold-2);
}
.site-sign {
  position: absolute;
  right: 155px;
  bottom: 44px;
  padding: 13px 23px;
  background: rgba(36, 24, 12, .58);
  color: #f3d991;
  border: 1px solid rgba(242,190,57,.7);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: .92;
  text-align: center;
  box-shadow: 0 12px 35px rgba(0,0,0,.35);
}
.site-sign span { font-size: 15px; letter-spacing: 4px; }
.availability-card {
  position: absolute;
  z-index: 3;
  right: 68px;
  top: 28px;
  width: 210px;
  padding: 22px 19px 18px;
  border-radius: 9px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(0,63,44,.08);
  box-shadow: 0 18px 48px rgba(0, 42, 28, .18);
}
.card-title {
  display: flex;
  justify-content: space-between;
  gap: 7px;
  color: #061c15;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
}
.big-number {
  display: block;
  margin-top: 8px;
  font-size: 44px;
  line-height: 1;
}
.muted {
  display: block;
  color: #172720;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}
.meter-row { margin-top: 18px; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.meter {
  display: block;
  height: 9px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 99px;
  background: #e6e9e4;
}
.meter i { display: block; height: 100%; border-radius: inherit; background: #83bf22; }
.meter--pale i { background: #9cab84; }
.meter--light i { background: #a6ca67; }

.float-actions {
  position: fixed;
  right: 0;
  top: 215px;
  z-index: 40;
  width: 76px;
  overflow: hidden;
  border-radius: 10px 0 0 10px;
  box-shadow: var(--shadow);
}
.float-actions a {
  min-height: 74px;
  padding: 8px 6px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
}
.float-actions__icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  color: #fff;
}
.float-icon-svg {
  width: 14.5px;
  height: 14.5px;
  display: block;
}
.float-actions__whatsapp { background: #0c9f51; }
.float-actions__call { background: var(--gold); }
.float-actions__visit { background: #003225; }

.mortgage-band {
  margin: -1px 38px 0;
  min-height: 180px;
  display: grid;
  grid-template-columns: 240px 1.1fr 250px 210px 1fr;
  align-items: stretch;
  background: var(--green);
  color: #fff;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
.family-crop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 42% 45%;
}
.mortgage-copy { padding: 30px 25px 24px; }
.mortgage-copy span {
  display: block;
  margin-bottom: 11px;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
}
.mortgage-copy h2 {
  margin: 0;
  font-size: 35px;
  line-height: .98;
  text-transform: uppercase;
}
.mortgage-copy b { color: var(--gold-2); }
.price-box {
  align-self: center;
  padding: 21px 20px 19px;
  border: 1px solid var(--gold);
  border-radius: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}
.price-box span {
  display: block;
}
.price-box__amount {
  display: grid;
  margin-top: 7px;
  white-space: nowrap;
}
.price-box strong {
  display: block;
  color: var(--gold-2);
  font-size: 36px;
  line-height: 1;
}
.price-box small {
  display: block;
  color: #fff;
  font-size: 17px;
  line-height: 1;
  text-align: right;
}
.rate-box { align-self: center; padding: 18px 19px; text-align: center; text-transform: uppercase; }
.rate-box strong { display: block; font-size: 50px; line-height: .9; }
.rate-box span { display: block; font-size: 19px; font-weight: 900; }
.rate-box b { display: inline-block; margin-top: 9px; padding: 8px 21px; background: var(--gold); color: #162018; border-radius: 3px; }
.mortgage-band ul {
  margin: 0;
  padding: 27px 24px 20px 5px;
  list-style: none;
  font-weight: 800;
  line-height: 1.85;
}
.mortgage-band li::before { content: "✓ "; color: var(--gold-2); }
.mortgage-actions {
  grid-column: 3 / 5;
  align-self: end;
  display: flex;
  gap: 9px;
  margin: 0 12px 14px;
}
.mortgage-actions button, .feature-card button, .feature-card a {
  min-height: 35px;
  padding: 0 19px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  background: var(--gold-2);
  color: #061c15;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}
.mortgage-actions button:first-child { background: #fff; border-color: #fff; }
.btn--outline {
  border: 1px solid var(--green);
  background: #fff;
  color: var(--green);
}

.inventory-strip {
  margin: 10px 38px 9px;
  display: grid;
  grid-template-columns: 190px repeat(7, 1fr);
  border: 1px solid #e8ece8;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 39, 27, .06);
}
.inventory-live {
  padding: 18px 17px;
  background: var(--green);
  color: #fff;
}
.inventory-live strong { display: inline-block; margin-top: 15px; font-size: 42px; line-height: 1; }
.inventory-live > span { display: block; font-size: 19px; font-weight: 900; text-transform: uppercase; }
.inventory-live small { display: block; margin-top: 12px; font-weight: 800; }
.unit-stat {
  min-height: 165px;
  padding: 17px 12px 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-left: 1px solid #e6ebe7;
  transition: background .2s ease, transform .2s ease;
}
.unit-stat:hover {
  background: #fbfcfa;
  transform: translateY(-1px);
}
.unit-stat::before {
  content: "▥";
  color: #152920;
  font-size: 31px;
  line-height: 1;
}
.unit-stat b { text-transform: uppercase; font-size: 13px; }
.unit-stat small { margin-top: 2px; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.unit-stat strong { margin-top: 8px; font-size: 31px; line-height: 1; }
.unit-stat span { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.unit-stat em { margin-top: 6px; color: var(--gold); font-style: normal; font-weight: 900; text-transform: uppercase; }

.feature-grid {
  margin: 0 38px;
  display: grid;
  grid-template-columns: 1.07fr .95fr 1fr .98fr .78fr;
  gap: 11px;
}
.feature-card {
  min-height: 235px;
  position: relative;
  overflow: hidden;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  box-shadow: 0 10px 26px rgba(0, 45, 32, .13);
}
.feature-card h3 {
  margin: 0 0 10px;
  font-size: 19px;
  line-height: 1.1;
  text-transform: uppercase;
}
.feature-card p { margin: 0 0 14px; font-weight: 700; line-height: 1.45; }
.feature-card--image img, .progress img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .72;
}
.feature-card--image img { object-position: 54% 50%; }
.feature-card--image::after, .progress::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,42,28,.22), rgba(0,42,28,.76));
}
.feature-card--image > div, .progress > *:not(img) { position: relative; z-index: 1; }
.feature-card--image > div,
.developer > div {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.feature-card--image a,
.diaspora a,
.progress a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  color: #fff;
  background: rgba(0,63,44,.85);
}
.calc-card {
  background:
    linear-gradient(90deg, rgba(0, 50, 37, .96) 0 48%, rgba(0, 50, 37, .42) 100%),
    url("./assets/investment-calculator-bg.png") center right / cover no-repeat,
    var(--green);
}
.calc-card button {
  align-self: flex-start;
  margin-top: auto;
}
.calculator-visual {
  display: none;
}
.calculator-visual span { display: none; }
.diaspora {
  background:
    linear-gradient(90deg, rgba(0, 50, 37, .96) 0 48%, rgba(0, 50, 37, .46) 100%),
    url("./assets/diaspora-investor-bg.png") center right / cover no-repeat,
    var(--green);
}
.diaspora ul { margin: 14px 0 14px; padding: 0; list-style: none; line-height: 1.65; font-weight: 800; }
.diaspora li::before { content: "✓ "; color: var(--gold-2); }
.diaspora a {
  align-self: flex-start;
  background: var(--gold-2);
  color: #061c15;
  border-color: var(--gold-2);
}
.developer {
  color: var(--ink);
  background: linear-gradient(110deg, #fff 0 55%, #e8ece6 56%);
}
.developer img {
  position: absolute;
  right: -18px;
  bottom: 0;
  width: 46%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
}
.developer h3, .developer p, .developer strong, .developer small, .developer a, .developer button {
  position: relative;
  z-index: 1;
}
.developer > div {
  position: relative;
  z-index: 1;
  max-width: 58%;
}
.developer strong, .developer small { display: block; }
.developer a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  background: #11a35c;
  border-color: #11a35c;
  color: #fff;
}
.developer button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  background: #fff;
}
.progress { padding-right: 14px; }
.progress img {
  object-position: 48% 54%;
  filter: saturate(1.08) contrast(1.04);
}
.progress::after {
  background: linear-gradient(180deg, rgba(0,42,28,.12), rgba(0,42,28,.82));
}
.progress button {
  position: relative;
  z-index: 1;
  width: 54px;
  min-width: 54px;
  height: 54px;
  min-height: 54px;
  display: grid;
  place-items: center;
  margin: 16px auto;
  padding: 0;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.9);
  background: rgba(255,255,255,.92);
  color: transparent;
  font-size: 0;
  box-shadow: 0 14px 32px rgba(0,0,0,.24), inset 0 0 0 6px rgba(0,63,44,.08);
}
.progress button {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  margin: 0;
}
.progress button::before {
  content: "";
  position: absolute;
  left: 52%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid var(--green);
}
.progress button:hover {
  background: var(--gold-2);
  border-color: rgba(255,255,255,.95);
}
.feature-card.progress > button {
  min-width: 54px;
  width: 54px;
  padding: 0;
}
.feature-card > a,
.feature-card > button,
.feature-card--image a,
.developer a,
.developer button {
  min-width: 118px;
}

.plan-explorer {
  position: relative;
  margin: 11px 38px 0;
  padding: clamp(20px, 3vw, 34px);
  border-radius: 8px;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(135deg, rgba(0, 46, 34, .96), rgba(0, 82, 61, .9)),
    var(--green);
  background-size: 34px 34px, 34px 34px, auto, auto;
  color: #fff;
  overflow: hidden;
  user-select: none;
}
.plan-explorer::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(242,190,57,.24);
  border-radius: inherit;
  pointer-events: none;
}
.plan-explorer__intro {
  position: relative;
  z-index: 1;
  max-width: 850px;
}
.plan-explorer__intro h2 {
  margin: 14px 0 8px;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.02;
}
.plan-explorer__intro p {
  margin: 0 0 22px;
  color: rgba(255,255,255,.82);
  font-weight: 700;
}
.plan-explorer__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.plan-explorer__stats span {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  background: rgba(0,25,18,.28);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 800;
}
.plan-explorer__stats b {
  color: var(--gold-2);
  font-size: 14px;
}
.plan-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 250px minmax(360px, 1fr) 255px;
  gap: 16px;
  align-items: stretch;
}
.plan-controls,
.plan-insights,
.plan-viewer-card {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(0, 30, 23, .72);
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
}
.plan-controls {
  padding: 17px;
}
.plan-controls__heading {
  margin-bottom: 14px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.plan-controls__heading b,
.plan-controls__heading span,
.plan-legend strong,
.plan-legend span {
  display: block;
}
.plan-controls__heading b {
  color: #fff;
  font-size: 18px;
}
.plan-controls__heading span,
.plan-legend span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 760;
}
.plan-tab {
  width: 100%;
  min-height: 76px;
  margin-top: 9px;
  padding: 12px;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 4px 10px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 7px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.1), rgba(255,255,255,.035)),
    rgba(255,255,255,.06);
  color: #fff;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.plan-tab:hover {
  transform: translateX(3px);
  border-color: rgba(242,190,57,.58);
}
.plan-tab span {
  grid-row: span 2;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: rgba(242,190,57,.16);
  color: var(--gold-2);
  font-weight: 900;
}
.plan-tab b,
.plan-tab small {
  display: block;
}
.plan-tab small {
  color: rgba(255,255,255,.7);
  font-size: 11px;
  font-weight: 760;
}
.plan-tab.active {
  border-color: var(--gold-2);
  background:
    linear-gradient(120deg, rgba(242,190,57,.26), rgba(255,255,255,.06)),
    rgba(242,190,57,.14);
  box-shadow: inset 3px 0 0 var(--gold-2);
}
.plan-legend {
  margin-top: 14px;
  padding: 14px;
  border-radius: 7px;
  background: rgba(255,255,255,.08);
}
.plan-legend strong {
  margin-bottom: 9px;
  color: var(--gold-2);
}
.plan-legend span {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 8px;
  align-items: center;
  min-height: 26px;
}
.plan-legend i {
  width: 18px;
  height: 4px;
  border-radius: 999px;
  background: var(--gold-2);
}
.plan-legend span:nth-of-type(2) i {
  background: #8fc7ff;
}
.plan-legend span:nth-of-type(3) i {
  background: #8fdfb5;
}
.plan-viewer-card {
  overflow: hidden;
  background: #f8faf7;
  color: var(--ink);
}
.plan-viewer-toolbar {
  min-height: 68px;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(0,63,44,.1);
  background: #fff;
}
.plan-viewer-toolbar span,
.plan-viewer-toolbar strong {
  display: block;
}
.plan-viewer-toolbar span {
  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.plan-viewer-toolbar strong {
  font-size: 16px;
  line-height: 1.2;
}
.plan-viewer-tools {
  display: inline-flex;
  padding: 3px;
  border-radius: 999px;
  background: #edf2ee;
}
.plan-tool {
  min-height: 32px;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.plan-tool.active {
  background: var(--green);
  color: #fff;
}
.plan-viewer {
  position: relative;
  min-height: 440px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background:
    linear-gradient(45deg, #f2f5f1 25%, transparent 25% 75%, #f2f5f1 75%),
    linear-gradient(45deg, #f2f5f1 25%, transparent 25% 75%, #f2f5f1 75%);
  background-color: #fff;
  background-position: 0 0, 12px 12px;
  background-size: 24px 24px;
}
.plan-viewer::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 14px;
  border: 1px dashed rgba(0,63,44,.18);
  border-radius: 6px;
  pointer-events: none;
}
.plan-viewer::after {
  content: "View only";
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0,63,44,.9);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  pointer-events: none;
}
.plan-viewer > img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  -webkit-user-drag: none;
  user-select: none;
  transition: opacity .2s ease, transform .28s ease;
}
.plan-shield {
  position: absolute;
  inset: 0;
  z-index: 3;
  background: transparent;
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
}
.plan-compare {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: none;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 12px;
  padding: 28px;
  align-content: center;
  overflow-y: auto;
  background:
    linear-gradient(rgba(0,63,44,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,63,44,.055) 1px, transparent 1px),
    #f7faf7;
  background-size: 28px 28px, 28px 28px, auto;
}
.plan-compare button {
  min-height: 126px;
  padding: 18px 12px;
  border: 1px solid rgba(0,63,44,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.94);
  color: var(--green);
  box-shadow: 0 10px 24px rgba(0,46,34,.08);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.plan-compare button:hover,
.plan-compare button.active {
  transform: translateY(-3px);
  border-color: var(--gold);
  box-shadow: 0 16px 30px rgba(0,46,34,.14);
}
.plan-compare span,
.plan-compare b {
  display: block;
}
.plan-compare span {
  width: 48px;
  height: 48px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(242,190,57,.18);
  color: #9b6900;
  font-size: 17px;
  font-weight: 900;
}
.plan-compare b {
  font-size: 13px;
}
.plan-viewer[data-view-mode="compare"] > img {
  opacity: 0;
  transform: scale(.98);
}
.plan-viewer[data-view-mode="compare"] .plan-shield {
  display: none;
}
.plan-viewer[data-view-mode="compare"] .plan-compare {
  display: grid;
}
.plan-mobile-fallback {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 5;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(180deg, rgba(0, 46, 34, .08), rgba(0, 46, 34, .34)),
    url("./assets/interactive-masterplan-bg.png") center / cover no-repeat,
    linear-gradient(160deg, #f0f5ef, #e8efe9);
}
.plan-mobile-fallback__content {
  text-align: center;
  padding: 32px 24px;
  max-width: 320px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 46px rgba(0, 31, 23, .18);
  backdrop-filter: blur(8px);
}
.plan-mobile-fallback__content svg {
  width: 48px;
  height: 48px;
  stroke: var(--green-3);
  margin: 0 auto 16px;
}
.plan-mobile-fallback__content h4 {
  margin: 0 0 8px;
  font-size: 18px;
  color: var(--green);
}
.plan-mobile-fallback__content p {
  margin: 0 0 20px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}
.plan-mobile-fallback__content .btn {
  font-size: 13px;
  padding: 10px 24px;
}
.plan-stack {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 28px;
  background:
    linear-gradient(rgba(0,63,44,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,63,44,.06) 1px, transparent 1px),
    #f8faf7;
  background-size: 26px 26px, 26px 26px, auto;
}
.plan-viewer[data-view-mode="stack"] iframe {
  opacity: 0;
  pointer-events: none;
}
.plan-viewer[data-view-mode="stack"] .plan-stack {
  display: flex;
}
.plan-stack button {
  width: min(22%, 135px);
  aspect-ratio: 1 / 1.2;
  transform: skewY(-8deg);
  border: 1px solid rgba(0,63,44,.16);
  border-radius: 7px;
  background: linear-gradient(160deg, #fff, #e8efe9);
  color: var(--green);
  box-shadow: 0 22px 36px rgba(0,63,44,.18);
  cursor: pointer;
}
.plan-stack span,
.plan-stack b {
  display: block;
  transform: skewY(8deg);
}
.plan-stack span {
  color: var(--gold);
  font-size: 34px;
  font-weight: 900;
}
.plan-insights {
  padding: 19px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    rgba(0, 30, 23, .72);
}
.plan-insights h3 {
  margin: 18px 0 10px;
  font-size: 22px;
}
.plan-insights p {
  color: rgba(255,255,255,.78);
  font-weight: 700;
}
.plan-metrics {
  display: grid;
  gap: 10px;
  margin: 18px 0;
}
.plan-metrics span {
  min-height: 70px;
  padding: 12px;
  display: grid;
  align-content: center;
  border-radius: 7px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 760;
}
.plan-metrics b {
  display: block;
  color: #fff;
  font-size: 19px;
}
.plan-insights button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 5px;
  background: var(--gold-2);
  color: #061c15;
  font-weight: 900;
  cursor: pointer;
}

.diaspora-hub {
  margin: 13px 38px 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 45, 32, .08);
}
.diaspora-hero {
  display: grid;
  grid-template-columns: minmax(360px, .8fr) 1.2fr;
  min-height: 382px;
  background: linear-gradient(90deg, #fff 0 44%, #f3f7f2);
}
.diaspora-copy {
  padding: 34px 30px 30px;
  align-self: center;
}
.section-pill {
  display: inline-flex;
  align-items: center;
  min-height: 33px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}
.section-pill::before {
  content: "◎";
  margin-right: 8px;
  color: var(--gold-2);
}
.diaspora-copy h2 {
  margin: 18px 0 10px;
  color: var(--green);
  font-size: clamp(34px, 4.1vw, 58px);
  line-height: 1;
  letter-spacing: 0;
}
.diaspora-copy p {
  max-width: 540px;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.diaspora-proof {
  margin: 24px 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(88px, 1fr));
  gap: 12px;
}
.diaspora-proof span {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
}
.diaspora-proof span::before {
  content: "✓";
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 50%;
  color: var(--green);
}
.diaspora-proof b { display: block; }
.diaspora-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.diaspora-visual {
  position: relative;
  min-height: 382px;
  overflow: hidden;
}
.diaspora-visual::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: 18%;
  background: linear-gradient(90deg, #fff, rgba(255,255,255,0));
}
.diaspora-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 64% 50%;
}
.process-section {
  padding: 16px 20px 22px;
  background: #fbfcfa;
}
.section-heading--compact h2 { font-size: 18px; }
.section-heading--compact p {
  margin: -6px 0 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
.process-grid article {
  position: relative;
  min-height: 150px;
  padding: 24px 13px 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  text-align: center;
}
.process-grid article:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-weight: 900;
}
.process-grid span {
  position: absolute;
  top: -10px;
  left: 50%;
  width: 24px;
  height: 24px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.process-grid b { display: block; font-size: 13px; line-height: 1.2; }
.process-grid p { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.35; }
.trust-section {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 18px;
  padding: 0 20px 22px;
}
.trust-section h3 {
  margin: 0 0 12px;
  color: var(--green);
  text-align: center;
  text-transform: uppercase;
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.trust-grid span {
  min-height: 62px;
  display: grid;
  place-items: center;
  padding: 10px;
  border-radius: 7px;
  background: #f4f7f1;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.trust-grid span::before {
  content: "⌑";
  display: block;
  color: var(--gold);
  font-size: 18px;
}
.trust-section aside {
  padding: 24px;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  align-self: stretch;
}
.trust-section aside b {
  display: block;
  font-size: 18px;
  line-height: 1.25;
}
.trust-section aside span {
  display: block;
  margin: 12px 0;
  color: var(--gold-2);
  letter-spacing: 2px;
}
.trust-section aside p { margin: 0; font-weight: 800; line-height: 1.4; }

.virtual-experience {
  margin: 13px 38px 0;
}
.virtual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr) minmax(260px, .8fr);
  gap: 12px;
}
.virtual-grid article {
  min-height: 226px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(0, 36, 25, .06);
}
.virtual-grid img {
  width: 100%;
  height: 132px;
  object-fit: cover;
  object-position: 55% 60%;
  border-radius: 5px;
}
.virtual-grid b {
  display: block;
  margin-top: 11px;
  color: var(--green);
  font-size: 14px;
  text-transform: uppercase;
}
.virtual-grid p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.virtual-booking {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.virtual-booking h3 {
  margin: 0 0 10px;
  color: var(--green);
  font-size: 17px;
  text-transform: uppercase;
}
.virtual-booking button,
.virtual-booking a {
  min-height: 39px;
  margin-top: 10px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 5px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.virtual-booking a {
  background: #fff;
  color: var(--green);
}

.investment-returns {
  margin: 13px 38px 0;
  display: grid;
  grid-template-columns: 1fr 1.05fr .82fr;
  gap: 12px;
  align-items: stretch;
}
.returns-copy,
.returns-table,
.management-list {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(0, 36, 25, .06);
}
.returns-copy {
  background:
    linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.88)),
    url("./assets/living-r6-web.jpg") center / cover;
}
.returns-copy h2 {
  margin: 16px 0 8px;
  color: var(--green);
  font-size: 28px;
  text-transform: uppercase;
}
.returns-copy p {
  margin: 0 0 18px;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.45;
}
.returns-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-bottom: 16px;
}
.returns-metrics span {
  min-height: 66px;
  padding: 10px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: rgba(0, 63, 44, .08);
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}
.returns-metrics b {
  display: block;
  color: var(--gold);
  font-size: 17px;
  line-height: 1;
}
.returns-table {
  display: grid;
  align-content: center;
  padding: 18px;
}
.returns-table div {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 8px;
  min-height: 34px;
  align-items: center;
  border-bottom: 1px solid #edf1ed;
  font-size: 12px;
}
.returns-table div:first-child {
  color: var(--green);
  font-size: 11px;
  text-transform: uppercase;
}
.returns-table div:last-child { border-bottom: 0; }
.returns-table span {
  font-weight: 800;
}
.management-list {
  background: #f6f8f4;
}
.management-list h3 {
  margin: 0 0 14px;
  color: var(--green);
  font-size: 17px;
  text-transform: uppercase;
}
.management-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 900;
  line-height: 1.8;
}
.management-list li::before {
  content: "✓ ";
  color: var(--gold);
}

.connector {
  margin: 13px 38px 0;
  min-height: 88px;
  padding: 12px 24px;
  display: grid;
  grid-template-columns: 90px 1.6fr 1fr 260px;
  align-items: center;
  gap: 18px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f0bd3b, #f8d678 67%, #efb42a);
  color: #1b180c;
  box-shadow: 0 10px 24px rgba(141, 96, 0, .16);
}
.connector-icon {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border: 3px solid #4c3705;
  border-radius: 50%;
  font-size: 42px;
}
.connector h2 { margin: 0; font-size: 21px; text-transform: uppercase; }
.connector p { margin: 7px 0 0; font-size: 16px; font-weight: 700; }
.connector ul { margin: 0; padding: 0; list-style: none; font-weight: 800; line-height: 1.6; }
.connector li::before { content: "✓ "; }
.connector strong { padding-left: 18px; border-left: 1px solid rgba(0,0,0,.22); }
.connector span { font-size: 22px; }

.homes {
  position: relative;
  padding: 15px 36px 9px;
  overflow: hidden;
}
.section-heading { text-align: center; }
.section-heading h2 { margin: 0; font-size: 22px; text-transform: uppercase; }
.section-heading span {
  display: block;
  width: 92px;
  height: 16px;
  margin: 4px auto 10px;
  border-top: 2px solid var(--gold);
}
.unit-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 14px;
  flex-wrap: wrap;
}
.unit-filter__types {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.unit-filter__btn {
  padding: 7px 16px;
  border: 1.5px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all .25s ease;
}
.unit-filter__btn:hover {
  border-color: var(--gold);
  color: var(--green);
}
.unit-filter__btn.active {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}
.unit-filter__budget {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.unit-filter__budget strong {
  color: var(--green);
  font-size: 13px;
}
.unit-filter__budget input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 140px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green) 0%, var(--gold) 100%);
  outline: none;
}
.unit-filter__budget input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--green);
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
  cursor: pointer;
}
.unit-filter__budget input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--green);
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
  cursor: pointer;
}
.unit-filter__empty {
  text-align: center;
  padding: 32px 20px;
  color: var(--muted);
}
.unit-filter__empty svg {
  width: 36px;
  height: 36px;
  stroke: var(--muted);
  margin-bottom: 10px;
}
.unit-filter__empty p {
  margin: 0;
  font-size: 13px;
}
.home-card {
  transition: opacity .35s ease, transform .35s ease;
}
.home-card.filter-hidden {
  opacity: 0;
  transform: scale(.92);
  pointer-events: none;
  position: absolute;
  visibility: hidden;
}
.home-rail {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(218px, 22vw, 286px);
  gap: 16px;
  padding: 2px 4px 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-padding-left: 4px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.home-rail::-webkit-scrollbar { display: none; }
.home-card {
  min-width: 155px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  padding: 9px 9px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(0, 36, 25, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 11px 24px rgba(0, 36, 25, .1);
}
.home-card img {
  width: 100%;
  aspect-ratio: 1.72 / 1;
  object-fit: cover;
  object-position: 55% 75%;
  border-radius: 5px;
}
.home-card:nth-child(2n) img { object-position: 43% 70%; }
.home-card b, .home-card strong, .home-card em, .home-card span, .home-card small { display: block; }
.home-card b { margin-top: 9px; font-size: 13px; }
.home-card small { font-size: 11px; font-weight: 800; text-transform: uppercase; }
.home-card strong { margin-top: 4px; font-size: 18px; }
.home-card span { margin-top: 4px; color: #514418; font-size: 11px; font-weight: 700; }
.home-card span::before { content: "⊙ "; color: var(--gold); }
.home-card em { margin-top: 9px; font-size: 11px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.rail-btn {
  position: absolute;
  top: 51%;
  z-index: 2;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: #1b2b24;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.rail-btn--left { left: 5px; }
.rail-btn--right { right: 5px; }

.proof-strip {
  margin: 0 38px;
  min-height: 56px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  overflow: hidden;
}
.proof-strip span {
  min-height: 56px;
  padding: 8px 12px;
  display: grid;
  place-items: center;
  border-left: 1px solid rgba(255,255,255,.16);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}
.proof-strip b { display: block; color: var(--gold-2); font-size: 23px; line-height: 1; }

.content-columns {
  margin: 10px 38px;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1.05fr;
  align-items: stretch;
  gap: 12px;
}
.content-columns > * {
  min-width: 0;
}
.testimonials, .blog, .faq {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 36, 25, .05);
}
.testimonials {
  min-height: 275px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-columns h3 {
  margin: 0 0 16px;
  font-size: 15px;
  text-transform: uppercase;
}
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.panel-heading h3 { margin-bottom: 12px; }
.slider-dots {
  display: flex;
  align-items: center;
  gap: 6px;
}
.slider-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c9d2cd;
  cursor: pointer;
}
.slider-dots button.active {
  width: 18px;
  border-radius: 999px;
  background: var(--gold);
}
.testimonial-slider {
  overflow: hidden;
  min-height: 112px;
  width: 100%;
  min-width: 0;
}
.testimonial-track {
  width: 100%;
  max-width: 100%;
  display: flex;
  gap: 18px;
  transition: transform .55s ease;
  will-change: transform;
}
.testimonial-track article {
  min-width: 0;
  flex: 0 0 calc(50% - 9px);
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 11px;
  align-items: start;
}
.testimonial-track p { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.45; }
.testimonial-track b, .testimonial-track span { grid-column: 2; font-size: 12px; }
.testimonial-track span { color: var(--gold); letter-spacing: 2px; }
.avatar {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-weight: 900;
}
.avatar--photo {
  overflow: hidden;
  border: 2px solid rgba(212, 147, 0, .55);
  background: #fff;
}
.avatar--photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar--gold { background: var(--gold); color: #111; }
.financing-partners {
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid var(--line);
}
.financing-partners h3 {
  margin-bottom: 12px;
}
.partner-logos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.partner-logos a {
  min-height: 74px;
  display: grid;
  place-items: center;
  border: 1px solid #e7ece7;
  border-radius: 7px;
  background: linear-gradient(180deg, #fff, #f8faf7);
}
.partner-logos img {
  max-width: 130px;
  max-height: 56px;
  object-fit: contain;
}
.blog h3 { display: flex; justify-content: space-between; gap: 12px; }
.blog h3 a,
.blog h3 button {
  border: 0;
  background: transparent;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-transform: none;
  cursor: pointer;
}
.blog article {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.blog img {
  width: 92px;
  height: 70px;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 4px;
}
.blog small, .blog b, .blog a, .blog p { display: block; }
.blog small { color: #69766f; font-size: 10px; text-transform: uppercase; }
.blog b { font-size: 12px; line-height: 1.2; }
.blog p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.blog article a,
.blog article button {
  display: block;
  margin-top: 3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.faq {
  overflow: hidden;
}
.faq-dashboard {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-height: 310px;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: var(--green) rgba(0, 0, 0, 0.05);
}
.faq-dashboard::-webkit-scrollbar {
  width: 6px;
}
.faq-dashboard::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 999px;
}
.faq-dashboard::-webkit-scrollbar-thumb {
  background: var(--green);
  border-radius: 999px;
}
.faq-dashboard::-webkit-scrollbar-thumb:hover {
  background: var(--gold);
}
.faq-card {
  position: relative;
  padding: 0;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfb 100%);
  box-shadow: 0 10px 24px rgba(0, 39, 27, .06);
  overflow: hidden;
  transition: box-shadow .3s ease;
}
.faq-card:hover {
  box-shadow: 0 12px 28px rgba(0, 39, 27, .1);
}
.faq-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}
.faq-card__header span {
  flex-shrink: 0;
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 63, 44, .1);
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.faq-card h4 {
  flex: 1;
  margin: 0;
  color: #001f17;
  font-size: 15px;
  line-height: 1.25;
}
.faq-card__chevron {
  flex-shrink: 0;
  color: var(--green);
  transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}
.faq-card--open .faq-card__chevron {
  transform: rotate(180deg);
}
.faq-card__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .4s cubic-bezier(.4, 0, .2, 1);
}
.faq-card--open .faq-card__answer {
  grid-template-rows: 1fr;
}
.faq-card__answer > :first-child {
  /* This invisible wrapper prevents content jump - we need it for the grid trick.
     But since our answer has multiple children, we use an inner technique: */
}
.faq-card__answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.4, 0, .2, 1), padding .4s cubic-bezier(.4, 0, .2, 1);
  padding: 0 18px;
}
.faq-card--open .faq-card__answer {
  max-height: 600px;
  padding: 0 18px 18px;
}
.faq-card__answer p {
  margin: 0 0 10px;
  color: #4f5d55;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.48;
}
.faq-card__answer p:last-child,
.faq-card__answer ul:last-child {
  margin-bottom: 0;
}
.faq-card__answer ul {
  margin: 0 0 10px;
  padding-left: 18px;
  color: #4f5d55;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.faq-card__answer li {
  margin: 4px 0;
}
.faq-card__answer li::marker {
  color: var(--gold);
}
.faq-card--highlight {
  border-color: rgba(212, 147, 0, .36);
  background: linear-gradient(145deg, rgba(255, 247, 224, .95), #fff);
}
.faq-card--highlight .faq-card__header span {
  background: var(--gold);
  color: #111;
}
.resource-link {
  min-height: 38px;
  margin-top: 12px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ready {
  margin: 11px 38px 0;
  min-height: 70px;
  padding: 12px 22px;
  display: grid;
  grid-template-columns: 1fr 300px 240px 240px;
  align-items: center;
  gap: 18px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, #f1bd3a, #f7ce64);
}
.ready h2 { margin: 0; font-size: 18px; text-transform: uppercase; }
.ready p { margin: 4px 0 0; font-weight: 700; }
.ready a, .ready button {
  min-height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0,0,0,.22);
  border-radius: 6px;
  background: rgba(255,255,255,.9);
  color: #071c16;
  font-weight: 900;
  text-transform: uppercase;
}
.ready a span { display: block; font-size: 11px; text-transform: none; }
.ready .ready__whatsapp { background: var(--green); color: #fff; }
.ready button { background: transparent; cursor: pointer; }

.footer {
  padding: 22px 38px 26px;
  display: grid;
  grid-template-columns: 1.5fr .7fr .8fr 1.15fr 1.35fr;
  gap: 28px;
  background: #002d21;
  color: #fff;
}
.brand--footer { min-width: 0; color: #fff; }
.brand--footer {
  width: 230px;
  height: auto;
  min-height: 0;
  flex: 0 0 auto;
  overflow: visible;
  margin-bottom: 8px;
}
.brand--footer img {
  width: 215px;
  height: 86px;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: normal;
  border-radius: 4px;
}
.footer p { margin: 9px 0; color: rgba(255,255,255,.78); line-height: 1.45; }
.footer h4 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
}
.footer a, .footer button {
  display: block;
  margin: 7px 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.8);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.newsletter label { display: block; margin-bottom: 6px; color: rgba(255,255,255,.82); font-size: 12px; font-weight: 800; }
.newsletter div { display: grid; grid-template-columns: 1fr 118px; gap: 7px; }
.newsletter input {
  min-width: 0;
  height: 39px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 3px;
}
.newsletter button {
  border: 0;
  border-radius: 3px;
  background: var(--gold-2);
  color: #101710;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.footer > div,
.footer > form {
  min-width: 0;
}

.modal {
  width: min(520px, calc(100vw - 30px));
  border: 0;
  border-radius: 10px;
  padding: 0;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
.modal::backdrop { background: rgba(0, 25, 17, .62); }
.modal__close {
  position: absolute;
  right: 10px;
  top: 8px;
  z-index: 1;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #eef3ef;
  font-size: 24px;
  cursor: pointer;
}
.modal__body { padding: 28px; }
.modal h2 { margin: 0 0 12px; color: var(--green); text-transform: uppercase; }
.modal p { margin: 0 0 16px; color: var(--muted); line-height: 1.45; }
.modal label { display: block; margin: 12px 0 5px; font-weight: 900; }
.modal input, .modal select {
  width: 100%;
  height: 43px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.modal .btn { width: 100%; margin-top: 16px; }
.result-box {
  margin-top: 15px;
  padding: 13px;
  border-radius: 6px;
  background: #eef7ef;
  color: var(--green);
  font-weight: 900;
}
.modal-link {
  min-height: 40px;
  margin-top: 12px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 5px;
  color: var(--green);
  font-weight: 900;
  text-transform: uppercase;
}
.calc-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 16px;
  border-radius: 8px;
  overflow: hidden;
  border: 1.5px solid var(--green);
}
.calc-tab {
  flex: 1;
  padding: 10px 12px;
  border: none;
  background: var(--paper);
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  cursor: pointer;
  transition: all .2s ease;
}
.calc-tab.active {
  background: var(--green);
  color: #fff;
}
.modal input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--gold));
  outline: none;
  margin: 6px 0 12px;
}
.modal input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--green);
  border: 2.5px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  cursor: pointer;
}
.modal input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--green);
  border: 2.5px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  cursor: pointer;
}
.calc-ltv {
  margin-top: 16px;
}
.calc-ltv label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: .04em;
}
.ltv-bar {
  height: 14px;
  border-radius: 999px;
  background: #e8efe9;
  margin: 6px 0 4px;
  overflow: hidden;
}
.ltv-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--green-3));
  transition: width .4s ease;
}
.ltv-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.calc-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}
.calc-metric {
  padding: 12px 10px;
  border-radius: 8px;
  background: #f5f7f3;
  text-align: center;
}
.calc-metric small {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 4px;
}
.calc-metric strong {
  font-size: 14px;
  color: var(--green);
}
.calc-metric.highlight {
  background: var(--green);
}
.calc-metric.highlight small {
  color: rgba(255,255,255,.7);
}
.calc-metric.highlight strong {
  color: #fff;
}
.calc-surplus {
  color: #0cad59 !important;
}
.calc-deficit {
  color: #d44 !important;
}
.calc-forecast {
  margin-top: 14px;
}
.calc-forecast label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--muted);
  letter-spacing: .04em;
}
.forecast-row {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.forecast-cell {
  flex: 0 0 auto;
  min-width: 80px;
  padding: 10px 8px;
  border-radius: 8px;
  background: linear-gradient(160deg, #f0f5ef, #e8efe9);
  text-align: center;
}
.forecast-cell small {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
}
.forecast-cell strong {
  display: block;
  font-size: 12px;
  color: var(--green);
  margin-top: 2px;
}
.cash-schedule {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.cash-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #f5f7f3;
  border-left: 3px solid var(--gold);
}
.cash-step span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--gold);
  min-width: 52px;
}
.cash-step b {
  font-size: 13px;
  color: var(--green);
}
.cash-step small {
  margin-left: auto;
  font-size: 11px;
  color: var(--muted);
}

.modal--calculator {
  width: min(1040px, calc(100vw - 30px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
}

.modal--calculator .modal__body {
  padding: clamp(22px, 4vw, 42px);
}

.modal--calculator .modal__close {
  position: sticky;
  z-index: 20;
  top: 10px;
  float: right;
  margin: 10px 10px -42px 0;
  border: 1px solid rgba(0, 63, 44, .14);
  background: #fff;
  color: var(--green);
  box-shadow: 0 8px 22px rgba(0, 45, 32, .16);
}

.online-calculator > .section-pill {
  margin-bottom: 10px;
}

.online-calculator > p {
  max-width: 760px;
}

.returns-at-glance {
  margin: 20px 0;
  padding: clamp(16px, 2.4vw, 24px);
  overflow: hidden;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 16px;
  background: linear-gradient(145deg, #f7fbf8, #fffaf0);
  box-shadow: 0 12px 30px rgba(0, 45, 32, .06);
}

.returns-at-glance > div:first-child > span {
  color: #9a6e16;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.returns-at-glance h3 {
  margin: 4px 0 14px;
  color: var(--green);
  font-size: clamp(19px, 2.5vw, 25px);
}

.returns-at-glance__scroll {
  overflow-x: auto;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 12px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.returns-at-glance table {
  width: 100%;
  min-width: 790px;
  border-collapse: collapse;
  font-size: 12px;
}

.returns-at-glance th,
.returns-at-glance td {
  padding: 12px 13px;
  border-bottom: 1px solid rgba(0, 63, 44, .09);
  text-align: left;
  vertical-align: middle;
}

.returns-at-glance th {
  background: var(--green);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
}

.returns-at-glance tbody tr:nth-child(even) {
  background: #f7faf8;
}

.returns-at-glance tbody tr:last-child td {
  border-bottom: 0;
}

.returns-at-glance td:first-child {
  color: var(--green);
  font-weight: 800;
}

.returns-at-glance td b {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff3cf;
  color: #79530c;
}

.returns-at-glance__note {
  margin: 11px 0 0 !important;
  color: #607067 !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}

.investment-input-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.investment-input-card {
  padding: clamp(16px, 2.5vw, 24px);
  border: 1px solid rgba(0, 63, 44, .11);
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f4f8f5);
  box-shadow: 0 10px 28px rgba(0, 45, 32, .05);
}

.investment-input-card h3 {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 18px;
}

#mortgagePanel[hidden] + .investment-input-card {
  grid-column: 1 / -1;
}

.modal--calculator #cashPanel {
  margin-top: 14px;
  padding: clamp(16px, 2.5vw, 24px);
  border: 1px solid rgba(217, 159, 36, .2);
  border-radius: 14px;
  background: #fffaf0;
}

.modal--calculator .calc-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.modal--calculator .calc-metric {
  min-height: 94px;
  display: grid;
  align-content: center;
}

.investment-summary {
  margin-top: 14px;
  padding: 15px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  border-radius: 14px;
  background:
    radial-gradient(circle at top right, rgba(217, 159, 36, .18), transparent 38%),
    linear-gradient(135deg, #003f2c, #006047);
  color: #fff;
}

.investment-summary div {
  min-width: 0;
  padding: 10px;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.investment-summary div:last-child {
  border-right: 0;
}

.investment-summary small,
.investment-summary strong {
  display: block;
}

.investment-summary small {
  color: rgba(255, 255, 255, .7);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.investment-summary strong {
  margin-top: 5px;
  color: #fff;
  font-size: 13px;
}

.investment-calculator-actions {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.modal .investment-calculator-actions .btn {
  margin-top: 0;
}

.investment-disclaimer {
  margin: 14px 0 0 !important;
  padding: 12px 14px;
  border-left: 3px solid var(--gold);
  background: #fff9e9;
  color: #6f654a !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}

@media (max-width: 760px) {
  .modal--calculator {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
  }

  .modal--calculator .modal__body {
    padding: 22px 14px;
  }

  .investment-input-grid,
  .investment-calculator-actions {
    grid-template-columns: 1fr;
  }

  .modal--calculator .calc-metrics,
  .investment-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .investment-summary div {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .investment-summary div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
}

@media (max-width: 420px) {
  .modal--calculator .calc-metrics,
  .investment-summary {
    grid-template-columns: 1fr;
  }

  .investment-summary div:nth-last-child(2) {
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }
}

.booking-modal {
  margin: -28px;
  padding: 0 0 24px;
  background: linear-gradient(180deg, #ffffff, #f7faf6);
}
.booking-modal__hero {
  padding: 30px 28px 24px;
  border-radius: 10px 10px 0 0;
  background:
    linear-gradient(135deg, rgba(0, 64, 45, .95), rgba(5, 92, 66, .9)),
    url("./assets/vista2-r5-web.jpg") center / cover;
  color: #fff;
}
.booking-modal__hero span {
  display: inline-flex;
  min-height: 28px;
  padding: 0 10px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(0, 20, 14, .3);
  color: var(--gold-2);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.booking-modal__hero h2 {
  margin: 12px 0 8px;
  color: #fff;
  font-size: 34px;
  line-height: .95;
}
.booking-modal__hero p {
  max-width: 430px;
  margin: 0;
  color: rgba(255,255,255,.86);
  font-weight: 700;
}
.booking-section {
  margin: 16px 18px 0;
  padding: 16px;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 36, 25, .045);
}
.booking-section h3 {
  margin: 0 0 10px;
  color: var(--green);
  font-size: 15px;
  text-transform: uppercase;
}
.booking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}
.booking-grid label {
  margin: 0;
}
.booking-grid label:nth-of-type(3),
.booking-grid input:nth-of-type(3) {
  grid-column: 1 / -1;
}
.booking-modal label {
  color: #1d3b31;
  font-size: 12px;
  text-transform: uppercase;
}
.booking-modal input,
.booking-modal select {
  height: 46px;
  background: #fbfcfa;
  font-weight: 700;
}
.booking-hint {
  margin: 8px 0 0;
  color: #68776f;
  font-size: 12px;
  font-weight: 700;
}
.booking-choice-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.booking-choice-group label {
  min-height: 44px;
  margin: 0;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #dfe7df;
  border-radius: 999px;
  background: #f8faf7;
  cursor: pointer;
}
.booking-choice-group input {
  width: 14px;
  height: 14px;
  padding: 0;
  accent-color: var(--green);
}
.booking-choice-group span {
  font-size: 12px;
  font-weight: 900;
}
.booking-submit {
  width: calc(100% - 36px);
  margin: 18px 18px 0;
}
.booking-modal .result-box {
  margin-left: 18px;
  margin-right: 18px;
}

/* Professional polish pass */
.mortgage-band,
.inventory-strip,
.feature-grid,
.virtual-experience,
.investment-returns,
.connector,
.proof-strip,
.content-columns,
.ready,
.footer {
  max-width: 1480px;
}
.mortgage-band,
.inventory-strip,
.feature-card,
.connector,
.home-card,
.testimonials,
.blog,
.faq,
.ready,
.virtual-grid article,
.returns-copy,
.returns-table,
.management-list {
  border-radius: 6px;
}
.feature-card,
.home-card,
.testimonials,
.blog,
.faq,
.virtual-grid article,
.returns-copy,
.returns-table,
.management-list {
  box-shadow: 0 8px 22px rgba(0, 36, 25, .055);
}
.feature-card {
  min-height: 245px;
}
.feature-card h3,
.content-columns h3,
.management-list h3,
.virtual-booking h3 {
  letter-spacing: .2px;
}
.homes {
  margin-top: 8px;
  background: #fff;
}
.section-heading h2 {
  color: var(--green);
  letter-spacing: .3px;
}
.home-card img {
  height: auto;
  aspect-ratio: 1.62 / 1;
}
.proof-strip {
  box-shadow: 0 9px 20px rgba(0, 45, 32, .13);
}

.ready {
  box-shadow: 0 12px 28px rgba(141, 96, 0, .16);
}
.footer {
  margin: 0 auto;
}

.diaspora-page {
  background: #fff;
}
.diaspora-page main {
  padding-bottom: 0;
}
.diaspora-hub--page {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.diaspora-hub--page .diaspora-hero {
  min-height: 470px;
}
.diaspora-hub--page .diaspora-copy {
  padding-left: clamp(28px, 4vw, 70px);
}
.diaspora-hub--page .diaspora-visual {
  min-height: 470px;
}
.process-section--page,
.trust-section--page,
.diaspora-virtual,
.diaspora-returns,
.diaspora-ready {
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
}
.process-section--page {
  padding: 25px 38px 26px;
  background: #fff;
}
.trust-section--page {
  padding: 0 38px 24px;
}
.diaspora-virtual,
.diaspora-returns {
  margin-top: 16px;
}
.diaspora-ready {
  margin-top: 16px;
}

.diaspora-exact-page {
  margin: 0;
  min-height: 100vh;
  background: #f8f8f4;
}
.diaspora-exact {
  position: relative;
  width: min(100vw, 1536px);
  margin: 0 auto;
  aspect-ratio: 1536 / 866;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 16px 45px rgba(0, 45, 32, .08);
}
.diaspora-exact img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.hotspot {
  position: absolute;
  z-index: 5;
  display: block;
  border-radius: 4px;
}
.hotspot:focus-visible {
  outline: 3px solid rgba(217, 159, 36, .8);
  outline-offset: 2px;
  background: rgba(217, 159, 36, .1);
}
.nav-home { left: 22.8%; top: 3.2%; width: 3.9%; height: 3.1%; }
.nav-apartments { left: 27.7%; top: 3.2%; width: 6.8%; height: 3.1%; }
.nav-investment { left: 35.7%; top: 3.2%; width: 6.9%; height: 3.1%; }
.nav-masterplan { left: 44.5%; top: 3.2%; width: 7.2%; height: 3.1%; }
.nav-availability { left: 52.2%; top: 3.2%; width: 7.4%; height: 3.1%; }
.nav-diaspora { left: 57.7%; top: 2.7%; width: 7.7%; height: 4.7%; }
.nav-faq { left: 66.0%; top: 3.2%; width: 3.4%; height: 3.1%; }
.nav-contact { left: 69.6%; top: 3.2%; width: 5.6%; height: 3.1%; }
.nav-book { left: 86.8%; top: 1.9%; width: 10.5%; height: 4.7%; }
.hero-whatsapp { left: 3.2%; top: 42.7%; width: 13.7%; height: 4.2%; }
.hero-meeting { left: 18.4%; top: 42.7%; width: 12.6%; height: 4.2%; }
.video-project { left: 3.0%; top: 72.1%; width: 10.4%; height: 14.2%; }
.video-unit { left: 14.1%; top: 72.1%; width: 9.8%; height: 14.2%; }
.video-site { left: 25.1%; top: 72.1%; width: 8.8%; height: 14.2%; }
.virtual-book { left: 35.8%; top: 79.2%; width: 12.8%; height: 3.3%; }
.virtual-whatsapp { left: 35.8%; top: 83.4%; width: 12.8%; height: 3.0%; }
.bottom-whatsapp { left: 72.5%; top: 91.8%; width: 10.2%; height: 5.0%; }
.bottom-meeting { left: 83.5%; top: 91.8%; width: 12.0%; height: 5.0%; }

@media (max-width: 760px) {
  .diaspora-exact {
    width: 1536px;
    max-width: none;
    margin: 0;
  }
  .diaspora-exact-page {
    overflow-x: auto;
  }
}

/* Header refinement and code-built Diaspora page */
.site-header {
  min-height: 100px;
  padding: 10px clamp(12px, 1.8vw, 36px);
  gap: clamp(8px, 1vw, 20px);
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(0, 63, 44, .1);
  box-shadow: 0 16px 42px rgba(0, 38, 26, .08);
  backdrop-filter: blur(18px);
}
.brand {
  flex: 0 0 clamp(240px, 22vw, 300px);
  min-width: clamp(240px, 22vw, 300px);
  width: clamp(240px, 22vw, 300px);
  height: 92px;
  align-items: center;
}
.brand img {
  max-width: 100%;
  max-height: 88px;
  object-fit: contain;
  object-position: center center;
}
.brand-slogan {
  width: 100%;
  margin-top: -1px;
  color: #a47617;
  font-size: clamp(8.5px, 0.75vw, 11px);
  letter-spacing: .85px;
}
.main-nav {
  height: 48px;
  min-width: 0;
  padding: 4px;
  justify-content: center;
  gap: clamp(1px, 0.2vw, 5px);
  border: 1px solid rgba(0, 63, 44, .11);
  border-radius: 999px;
  background: rgba(246, 250, 248, .86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  color: #243c34;
  font-size: clamp(11.5px, 0.95vw, 13.5px);
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.main-nav a {
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(3px, 0.3vw, 6px);
  padding: 0 clamp(5px, 0.52vw, 11px);
  border-radius: 999px;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.main-nav a:hover {
  color: var(--green);
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 45, 32, .08);
}
.main-nav a:focus-visible,
.book-visit:focus-visible,
.nav-toggle:focus-visible {
  outline: 3px solid rgba(217, 159, 36, .35);
  outline-offset: 3px;
}
.main-nav a.active {
  color: #fff;
  background: var(--green);
  box-shadow: 0 10px 24px rgba(0, 63, 44, .18);
}
.main-nav a.active::after {
  display: none;
}
.book-visit {
  min-height: 46px;
  padding: 0 15px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f6c64b 0%, var(--gold) 100%);
  box-shadow: 0 12px 28px rgba(217, 159, 36, .22);
  transition: transform .18s ease, box-shadow .18s ease;
}
.book-visit:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(217, 159, 36, .28);
}
.main-nav .live-badge {
  min-width: auto;
  height: 16px;
  padding: 0 6px;
  border-radius: 999px;
  background: #df3124;
  font-size: 8.5px;
  letter-spacing: .04em;
}

.diaspora-redesign {
  background: #fff;
}
.diaspora-redesign .topbar {
  display: none;
}
.diaspora-header {
  position: sticky;
  top: 0;
}
.diaspora-header .book-visit {
  background: var(--green);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 63, 44, .2);
}
.diaspora-main {
  width: min(100%, 1536px);
  margin: 0 auto;
  background: #fff;
}
.diaspora-hero-pro {
  min-height: 350px;
  display: grid;
  grid-template-columns: minmax(420px, 37%) 1fr;
  overflow: hidden;
  border-bottom: 1px solid #edf1ed;
  background: #fff;
}
.diaspora-hero-copy {
  position: relative;
  z-index: 2;
  padding: 28px 0 20px clamp(32px, 4vw, 54px);
  background: linear-gradient(90deg, #fff 0 80%, rgba(255,255,255,.92) 90%, rgba(255,255,255,0));
}
.diaspora-pill {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 0 15px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}
.diaspora-hero-copy h1 {
  margin: 18px 0 10px;
  color: var(--green);
  font-size: clamp(40px, 4.5vw, 58px);
  line-height: 1.02;
}
.diaspora-hero-copy p {
  max-width: 430px;
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
}
.diaspora-benefits {
  max-width: 455px;
  margin: 22px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.diaspora-benefits span {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 7px;
  align-items: center;
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1.1;
}
.diaspora-benefits i {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 50%;
  color: var(--green);
  font-style: normal;
}
.diaspora-benefits b {
  display: block;
  font-size: 11.5px;
}
.diaspora-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.diaspora-hero-actions .btn {
  min-height: 43px;
  padding: 0 20px;
  font-size: 11.5px;
}
.diaspora-hero-image {
  min-height: 350px;
  overflow: hidden;
}
.diaspora-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 0;
}
.diaspora-process,
.diaspora-trust-row,
.diaspora-two-column,
.diaspora-returns-band,
.diaspora-testimonials,
.diaspora-final-cta {
  margin: 0 clamp(24px, 3vw, 48px);
}
.diaspora-section-title {
  padding: 12px 0 14px;
  text-align: center;
}
.diaspora-section-title h2,
.diaspora-trust-panel h2,
.diaspora-testimonials h2 {
  margin: 0;
  color: var(--green);
  font-size: 18px;
  line-height: 1.15;
  text-transform: uppercase;
}
.diaspora-section-title p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.diaspora-process .process-grid {
  grid-template-columns: repeat(6, 1fr);
}
.diaspora-process .process-grid article {
  min-height: 126px;
  padding: 23px 11px 12px;
}
.diaspora-trust-row {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 250px;
  gap: 18px;
  align-items: stretch;
}
.diaspora-trust-panel {
  padding: 14px 18px;
  border-radius: 7px;
  background: #f7f8f5;
}
.diaspora-trust-panel h2 {
  margin-bottom: 13px;
  text-align: center;
}
.diaspora-trust-panel .trust-grid {
  grid-template-columns: repeat(6, 1fr);
}
.diaspora-safe-card {
  padding: 24px 22px;
  border-radius: 7px;
  background: var(--green);
  color: #fff;
}
.diaspora-safe-card strong {
  display: block;
  font-size: 16px;
  line-height: 1.35;
}
.diaspora-safe-card span {
  display: block;
  margin: 12px 0;
  color: var(--gold-2);
  letter-spacing: 2px;
}
.diaspora-safe-card p {
  margin: 0;
  font-weight: 800;
}
.diaspora-two-column {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 18px;
}
.diaspora-section-title--left {
  padding-top: 0;
}
.diaspora-virtual-grid {
  grid-template-columns: repeat(3, 1fr);
}
.diaspora-book-card {
  align-self: end;
  min-height: 188px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  text-align: center;
}
.diaspora-book-card h3 {
  margin: 0 0 9px;
  color: var(--green);
  font-size: 15px;
  text-transform: uppercase;
}
.diaspora-book-card p {
  margin: 0 0 14px;
  color: var(--muted);
  font-weight: 800;
}
.diaspora-book-card a {
  min-height: 38px;
  margin-top: 9px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 5px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.diaspora-book-card a:first-of-type {
  background: var(--green);
  color: #fff;
}
.diaspora-returns-band {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1.1fr .86fr;
  gap: 14px;
}
.diaspora-testimonials {
  margin-top: 18px;
}
.diaspora-testimonials h2 {
  margin-bottom: 12px;
  text-align: center;
}
.diaspora-testimonials > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.diaspora-testimonials article {
  min-height: 106px;
  padding: 16px;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0,36,25,.05);
}
.diaspora-testimonials p {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.diaspora-testimonials b,
.diaspora-testimonials span {
  grid-column: 2;
  font-size: 12px;
}
.diaspora-testimonials span {
  color: var(--gold);
  font-weight: 900;
}
.diaspora-final-cta {
  margin-top: 18px;
  margin-bottom: 0;
  min-height: 82px;
  padding: 14px 28px;
  display: grid;
  grid-template-columns: 1fr 260px 280px;
  align-items: center;
  gap: 16px;
  border-radius: 7px 7px 0 0;
  background: #f7faf5;
}
.diaspora-final-cta h2 {
  margin: 0;
  color: var(--green);
  font-size: 25px;
}
.diaspora-final-cta p {
  margin: 3px 0 0;
  font-weight: 800;
}
.diaspora-final-cta a {
  min-height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 5px;
  background: var(--green);
  color: #fff;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}
.diaspora-final-cta a:last-child {
  background: #fff;
  color: var(--green);
}
.diaspora-final-cta span {
  font-size: 11px;
}

@media (max-width: 1260px) {
  .brand {
    flex-basis: 250px;
    min-width: 250px;
    width: 250px;
    height: 86px;
  }
  .brand img {
    width: 242px;
    height: 82px;
  }
  .main-nav {
    font-size: 11px;
  }
  .diaspora-process .process-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .diaspora-process .process-grid article:nth-child(3)::after {
    display: none;
  }
  .diaspora-trust-panel .trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .diaspora-hero-pro,
  .diaspora-two-column,
  .diaspora-returns-band,
  .diaspora-final-cta,
  .diaspora-trust-row {
    grid-template-columns: 1fr;
  }
  .diaspora-hero-copy {
    padding: 28px 20px;
  }
  .diaspora-hero-image {
    min-height: 300px;
  }
  .diaspora-benefits,
  .diaspora-virtual-grid,
  .diaspora-testimonials > div {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .diaspora-process .process-grid,
  .diaspora-trust-panel .trust-grid,
  .diaspora-benefits,
  .diaspora-virtual-grid,
  .diaspora-testimonials > div {
    grid-template-columns: 1fr;
  }
  .diaspora-hero-copy h1 {
    font-size: 36px;
  }
}

@media (max-width: 1180px) {
  .topbar { padding: 0 20px; }
  .topbar__right a[href^="mailto"] { display: none; }
  .topbar__right { gap: 10px; }
  .site-header { padding: 8px 18px; gap: 12px; }
  .brand { flex-basis: 196px; min-width: 196px; width: 196px; height: 72px; }
  .brand img { width: 190px; height: 68px; }
  .brand-slogan { font-size: 8.5px; letter-spacing: .8px; }
  .main-nav { font-size: 10px; }
  .book-visit { padding-left: 12px; padding-right: 12px; font-size: 11px; }
  .hero { grid-template-columns: minmax(390px, 43%) 1fr; }
  .hero::before { width: min(45%, 560px); }
  .hero__media { left: 43%; }
  .hero-points { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
  .availability-card { right: 26px; }
  .mortgage-band, .inventory-strip, .feature-grid, .diaspora-hub, .virtual-experience, .investment-returns, .connector, .proof-strip, .content-columns, .ready { margin-left: 20px; margin-right: 20px; }
  .mortgage-band { grid-template-columns: 190px 1fr 220px 190px; }
  .mortgage-band ul { grid-column: 1 / -1; padding: 0 24px 16px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; line-height: 1.25; }
  .feature-grid { grid-template-columns: repeat(3, 1fr); }
  .plan-explorer { margin-left: 20px; margin-right: 20px; }
  .plan-shell { grid-template-columns: 210px 1fr; }
  .plan-insights { grid-column: 1 / -1; }
  .plan-metrics { grid-template-columns: repeat(2, 1fr); }
  .diaspora-hero { grid-template-columns: 1fr; }
  .diaspora-visual { min-height: 320px; }
  .diaspora-visual::before { display: none; }
  .process-grid { grid-template-columns: repeat(3, 1fr); }
  .process-grid article:nth-child(3)::after { display: none; }
  .trust-section { grid-template-columns: 1fr; }
  .virtual-grid { grid-template-columns: repeat(2, 1fr); }
  .investment-returns { grid-template-columns: 1fr 1fr; }
  .management-list { grid-column: 1 / -1; }
  .progress { grid-column: span 1; }
  .inventory-strip { overflow-x: auto; grid-template-columns: 185px repeat(7, 155px); }
  .connector { grid-template-columns: 70px 1fr; }
  .connector ul, .connector strong { grid-column: 2; }
  .ready { grid-template-columns: 1fr 230px; }
  .footer { grid-template-columns: 1.4fr repeat(2, .8fr); }
}

@media (max-width: 1240px) {
  .topbar { display: none; }
  .site-header {
    position: sticky;
    height: auto;
    min-height: 76px;
    flex-wrap: wrap;
    padding: 10px 16px;
    gap: 10px 14px;
  }
  .nav-toggle {
    position: absolute;
    top: 20px;
    right: 16px;
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 42px;
    border: 1px solid rgba(0, 63, 44, .14);
    border-radius: 999px;
    background: #fff;
    color: var(--green);
    box-shadow: 0 8px 22px rgba(0, 45, 32, .08);
    cursor: pointer;
  }
  .nav-toggle span {
    position: absolute;
    left: 13px;
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease;
  }
  .nav-toggle span:nth-child(1) { top: 14px; }
  .nav-toggle span:nth-child(2) { top: 20px; }
  .nav-toggle span:nth-child(3) { top: 26px; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .book-visit {
    order: 5;
    width: 100%;
    min-height: 44px;
    padding: 0 14px;
    text-align: center;
  }
  .brand {
    min-width: 250px;
    width: 250px;
    height: 86px;
    flex: 0 0 250px;
    margin-left: auto;
    margin-right: auto;
    order: 1;
  }
  .brand img { width: 242px; height: 82px; }
  .brand-slogan { font-size: 9.5px; letter-spacing: .9px; margin-top: -2px; }
  .nav-toggle { order: 2; }
  .main-nav {
    order: 4;
    width: 100%;
    height: auto;
    display: none;
    grid-template-columns: 1fr 1fr;
    justify-content: stretch;
    gap: 8px;
    padding: 10px;
    border-radius: 16px;
  }
  .main-nav.open { display: grid; }
  .main-nav a {
    height: 40px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid rgba(0, 63, 44, .08);
  }
  .main-nav a.active::after { bottom: 2px; }
  .hero {
    display: block;
    min-height: 0;
    background: #fff;
  }
  .hero::before { display: none; }
  .hero__media {
    position: relative;
    inset: auto;
    height: 320px;
  }
  .hero__media::after {
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0, 43, 31, .16));
  }
  .hero-slide { object-position: 50% 50%; }
  .hero-slide-dots {
    right: 18px;
    bottom: 16px;
  }
  .hero__content { padding: 30px 20px 20px; }
  .hero__copy { font-size: 16px; }
  .site-sign { right: 20px; bottom: 18px; }
  .availability-card {
    position: relative;
    right: auto;
    top: auto;
    width: auto;
    margin: -32px 20px 16px;
  }
  .float-actions { display: none; }
  .mortgage-band {
    grid-template-columns: 1fr;
    border-radius: 8px;
  }
  .family-crop { height: 160px; }
  .price-box, .rate-box { margin: 0 20px 15px; }
  .mortgage-actions { grid-column: auto; margin: 0 20px 20px; }
  .mortgage-band ul { grid-column: auto; grid-template-columns: 1fr; padding: 0 22px 15px; }
  .plan-shell { grid-template-columns: 1fr; }
  .plan-viewer { min-height: 0; aspect-ratio: 4 / 3; }
  .plan-viewer[data-view-mode="compare"] { min-height: 390px; aspect-ratio: auto; }
  .plan-viewer-toolbar { align-items: flex-start; flex-direction: column; }
  .plan-compare { grid-template-columns: repeat(2, minmax(110px, 1fr)); padding: 18px; }
  .feature-grid, .content-columns { grid-template-columns: 1fr; }
  .diaspora-proof { grid-template-columns: repeat(2, 1fr); }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid article::after { display: none; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .virtual-grid { grid-template-columns: 1fr; }
  .investment-returns { grid-template-columns: 1fr; }
  .returns-metrics { grid-template-columns: 1fr; }
  .connector { grid-template-columns: 1fr; text-align: center; }
  .connector-icon { margin: auto; }
  .connector ul, .connector strong { grid-column: auto; border-left: 0; padding-left: 0; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .testimonial-track article { flex: 0 0 100%; }
  .partner-logos { grid-template-columns: 1fr 1fr; }
  .ready { grid-template-columns: 1fr; }
  .footer {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .footer > div,
  .footer > form {
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .footer > *:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .footer-brand,
  .newsletter {
    max-width: 100%;
  }
  .newsletter div {
    grid-template-columns: minmax(0, 1fr) 118px;
  }
}

@media (max-width: 560px) {
  .site-header { padding: 10px 14px; }
  .site-header .brand { min-width: 240px; width: 240px; height: 84px; flex: 0 0 240px; }
  .site-header .brand img { width: 232px; height: 80px; }
  .brand-slogan { font-size: 9.2px; letter-spacing: .75px; margin-top: -2px; }
  h1 { font-size: 42px; }
  .hero__content { padding-top: 28px; }
  .hero-points { grid-template-columns: 1fr 1fr; gap: 12px; }
  .hero-actions .btn { width: 100%; }
  .mortgage-band, .inventory-strip, .feature-grid, .diaspora-hub, .virtual-experience, .investment-returns, .connector, .proof-strip, .content-columns, .ready { margin-left: 12px; margin-right: 12px; }
  .plan-explorer { margin-left: 12px; margin-right: 12px; padding: 18px; }
  .plan-viewer { min-height: 0; aspect-ratio: 4 / 3; }
  .plan-viewer[data-view-mode="compare"] { min-height: 360px; aspect-ratio: auto; }
  .plan-viewer > img {
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .plan-compare { gap: 8px; padding: 12px; }
  .plan-compare button { min-height: 102px; padding: 12px 8px; }
  .plan-compare span { width: 38px; height: 38px; margin-bottom: 7px; font-size: 14px; }
  .plan-mobile-fallback__content {
    max-width: calc(100% - 32px);
    padding: 24px 18px;
  }
  .plan-mobile-fallback__content .btn {
    width: 100%;
  }
  .plan-metrics { grid-template-columns: 1fr; }
  .homes { padding-left: 12px; padding-right: 12px; }
  .home-rail { grid-auto-columns: 72%; }
  .proof-strip { grid-template-columns: 1fr; }
  .panel-heading { align-items: flex-start; }
  .partner-logos img { max-width: 104px; }
  .diaspora-copy { padding: 26px 18px; }
  .diaspora-copy h2 { font-size: 35px; }
  .process-grid, .trust-grid { grid-template-columns: 1fr; }
  .returns-table {
    overflow-x: auto;
  }
  .returns-table div {
    min-width: 420px;
  }
  .footer {
    padding-left: 18px;
    padding-right: 18px;
    padding-top: 24px;
    padding-bottom: 24px;
    gap: 16px;
  }
  .footer-brand,
  .footer > div,
  .footer > form {
    text-align: left;
  }
  .footer-brand {
    display: block;
    overflow: hidden;
  }
  .brand--footer {
    display: block;
    width: 180px;
    min-width: 0;
    max-width: 180px;
    height: auto;
    min-height: 0;
    flex: none;
    margin: 0 0 10px;
    overflow: hidden;
    align-items: flex-start;
  }
  .brand--footer img {
    width: 180px;
    max-width: 100%;
    height: auto;
    min-height: 0;
  }
  .footer h4 {
    margin-bottom: 8px;
  }
  .footer a,
  .footer button {
    margin: 8px 0;
    line-height: 1.5;
  }
  .newsletter div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .newsletter input,
  .newsletter button {
    width: 100%;
    height: 42px;
  }
}

/* Modern typography system */
:root {
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, Helvetica, sans-serif;
  --type-xs: 11px;
  --type-sm: 12px;
  --type-md: 14px;
  --type-lg: 16px;
  --type-xl: 20px;
  --type-2xl: clamp(24px, 2.1vw, 34px);
  --type-3xl: clamp(34px, 4.2vw, 58px);
  --type-hero: clamp(42px, 4.55vw, 58px);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-sans);
}

body {
  font-size: var(--type-md);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
.hero__copy,
.btn,
.book-visit,
.main-nav,
.topbar,
.section-pill,
.eyebrow,
.card-title,
.live-badge {
  font-family: var(--font-sans);
}

h1,
.diaspora-copy h2,
.diaspora-hero-copy h1 {
  font-size: var(--type-hero);
  font-weight: 800;
  line-height: .98;
  letter-spacing: 0;
}

.diaspora-hero-copy h1 {
  font-size: clamp(40px, 4.4vw, 58px);
}

h2,
.section-heading h2,
.returns-copy h2,
.connector h2,
.ready h2,
.diaspora-section-title h2,
.diaspora-trust-panel h2,
.diaspora-testimonials h2,
.diaspora-final-cta h2,
.mortgage-copy h2 {
  font-size: var(--type-2xl);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0;
}

h3,
.feature-card h3,
.content-columns h3,
.management-list h3,
.virtual-booking h3,
.diaspora-book-card h3,
.blog b {
  font-size: var(--type-xl);
  font-weight: 750;
  line-height: 1.18;
  letter-spacing: 0;
}

p,
li,
.feature-card p,
.returns-copy p,
.connector p,
.footer p,
.modal p,
.diaspora-copy p,
.diaspora-hero-copy p,
.diaspora-safe-card p,
.diaspora-testimonials p {
  font-size: var(--type-lg);
  font-weight: 500;
  line-height: 1.6;
}

.topbar,
.main-nav,
.book-visit,
.btn,
.mortgage-actions button,
.feature-card button,
.feature-card a,
.ready a,
.diaspora-book-card a,
.diaspora-final-cta a,
.faq button,
.modal label {
  font-size: var(--type-sm);
  font-weight: 760;
  letter-spacing: .01em;
}

.eyebrow,
.section-pill,
.card-title,
.inventory-live > span,
.unit-stat b,
.unit-stat span,
.unit-stat em,
.home-card small,
.home-card em,
.content-columns h3,
.footer h4,
.newsletter label,
.diaspora-pill,
.diaspora-book-card a,
.diaspora-final-cta a,
.returns-table b {
  font-size: var(--type-sm);
  font-weight: 760;
  letter-spacing: .045em;
}

.brand-slogan {
  font-family: var(--font-sans);
  font-weight: 760;
}

.hero__copy {
  font-size: clamp(17px, 1.45vw, 20px);
  font-weight: 560;
  line-height: 1.46;
}

.hero-points span,
.diaspora-proof span,
.process-grid p,
.virtual-grid p,
.returns-table div,
.testimonial-track p,
.testimonial-track b,
.testimonial-track span,
.blog small,
.faq-answer,
.footer a,
.diaspora-benefits span,
.diaspora-section-title p,
.diaspora-testimonials b,
.diaspora-testimonials span,
.diaspora-final-cta span {
  font-size: var(--type-sm);
  line-height: 1.45;
}

.hero-points b,
.diaspora-proof b,
.process-grid b,
.virtual-grid b,
.unit-stat small,
.home-card b,
.home-card strong {
  font-weight: 760;
  letter-spacing: 0;
}

.virtual-grid b,
.process-grid b,
.trust-grid span,
.home-card b,
.blog b {
  font-size: 15px;
  line-height: 1.22;
}

.virtual-grid p,
.process-grid p,
.home-card span,
.blog small,
.faq-answer {
  color: var(--muted);
}

.availability-card .big-number,
.inventory-live strong,
.unit-stat strong,
.price-box strong,
.rate-box strong,
.calculator-visual,
.connector-icon {
  font-family: var(--font-sans);
  font-weight: 800;
  letter-spacing: 0;
}

.feature-card h3,
.returns-copy h2,
.management-list h3,
.section-heading h2,
.ready h2,
.footer h4,
.diaspora-section-title h2,
.diaspora-trust-panel h2,
.diaspora-testimonials h2,
.diaspora-book-card h3 {
  text-transform: none;
}

.btn,
.book-visit,
.mortgage-actions button,
.feature-card button,
.feature-card a,
.ready a,
.diaspora-book-card a,
.diaspora-final-cta a {
  text-transform: none;
}

@media (max-width: 760px) {
  :root {
    --type-lg: 15px;
    --type-xl: 18px;
    --type-2xl: 25px;
    --type-hero: clamp(38px, 10.2vw, 46px);
  }

  h1,
  .diaspora-copy h2,
  .diaspora-hero-copy h1 {
    line-height: 1.02;
  }

  .hero__copy,
  p,
  li,
  .feature-card p,
  .returns-copy p,
  .connector p,
  .diaspora-copy p,
  .diaspora-hero-copy p {
    line-height: 1.55;
  }
}

/* Blog page */
.blog-page {
  background: #f6f8f4;
  color: #061f17;
}
.blog-header {
  position: sticky;
  top: 0;
  box-shadow: 0 8px 22px rgba(0, 36, 25, .08);
}
.blog-hero {
  position: relative;
  max-width: 1480px;
  margin: 26px auto 18px;
  padding: 34px 38px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: end;
  overflow: hidden;
  border-radius: 8px;
  color: #fff;
}
.blog-hero::before {
  content: "";
  position: absolute;
  inset: -26px;
  background: url("./assets/blog-syokimau.png") center / cover no-repeat;
  filter: blur(18px);
  transform: scale(1.08);
}
.blog-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(0, 74, 52, .94), rgba(0, 58, 43, .82));
}
.blog-hero > * {
  position: relative;
  z-index: 1;
}
.blog-hero h1 {
  max-width: 850px;
  margin: 8px 0 10px;
  color: #fff;
  font-size: clamp(34px, 4vw, 64px);
  line-height: .98;
  text-transform: uppercase;
}
.blog-hero .eyebrow {
  color: #fff;
}
.blog-hero p {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
}
.blog-hero__actions {
  display: grid;
  gap: 10px;
}
.blog-hero__actions a,
.blog-cta {
  min-height: 42px;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: var(--gold);
  color: #071f16;
  font-weight: 900;
  text-transform: uppercase;
}
.blog-index {
  max-width: 1480px;
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.blog-index a {
  min-height: 230px;
  display: grid;
  grid-template-rows: 1fr auto auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 36, 25, .055);
}
.blog-index img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.blog-index span,
.blog-index strong {
  margin: 0 14px;
}
.blog-index span {
  margin-top: 12px;
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.blog-index strong {
  margin-top: 4px;
  margin-bottom: 16px;
  font-size: 18px;
  line-height: 1.2;
}
.blog-post {
  max-width: 1180px;
  margin: 0 auto 34px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0, 36, 25, .07);
}
.blog-post__banner {
  width: 100%;
  max-height: 520px;
  display: block;
  object-fit: cover;
}
.blog-post__body {
  max-width: 880px;
  margin: 0 auto;
  padding: 34px 34px 42px;
}
.blog-post h2 {
  margin: 8px 0 16px;
  color: var(--green);
  font-size: clamp(30px, 3.5vw, 52px);
  line-height: 1;
  text-transform: uppercase;
}
.blog-post h3 {
  margin: 28px 0 8px;
  color: #0b3b2c;
  font-size: 22px;
}
.blog-post p {
  margin: 0 0 13px;
  color: #25362f;
  font-size: 16px;
  line-height: 1.72;
}
.blog-post .blog-lead {
  padding-left: 18px;
  border-left: 4px solid var(--gold);
  color: #0f2e24;
  font-size: 19px;
  font-weight: 700;
}
.blog-cta {
  margin-top: 14px;
}
.blog-footer {
  margin-top: 28px;
}

@media (max-width: 900px) {
  .blog-hero,
  .blog-index {
    margin-left: 14px;
    margin-right: 14px;
  }
  .blog-hero {
    grid-template-columns: 1fr;
    padding: 26px 20px;
  }
  .blog-index {
    grid-template-columns: 1fr;
  }
  .blog-post {
    margin-left: 14px;
    margin-right: 14px;
  }
  .blog-post__body {
    padding: 26px 18px 32px;
  }
}

@media print {
  .plan-explorer {
    display: none !important;
  }
}

/* Inventory and social refinement */
.topbar__right .social-icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-color: rgba(255, 255, 255, .68);
  font-size: 12px;
  text-decoration: none;
  transform: translateY(0);
}
.topbar__right .social-icon:hover,
.topbar__right .social-icon:focus-visible {
  background: #fff;
  color: var(--green);
}

.inventory-strip {
  grid-template-columns: minmax(220px, .95fr) repeat(7, minmax(132px, 1fr));
  align-items: stretch;
  border-color: rgba(0, 63, 44, .12);
  box-shadow: 0 18px 40px rgba(0, 39, 27, .09);
}
.inventory-live {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.13), transparent 28%),
    linear-gradient(140deg, #006b48 0%, #003f2c 55%, #00281d 100%);
}
.inventory-live .card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.inventory-live strong {
  font-size: clamp(42px, 4.5vw, 64px);
}
.unit-stat {
  min-height: 214px;
  padding: 20px 13px 18px;
  gap: 4px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfb 100%);
}
.unit-stat::before {
  content: none;
}
.unit-stat:hover {
  background: #fff;
  box-shadow: inset 0 -3px 0 var(--gold), 0 14px 28px rgba(0, 39, 27, .08);
}
.unit-stat__icon {
  width: 76px;
  height: 62px;
  margin: 0 auto 10px;
  display: block;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid rgba(0, 63, 44, .12);
  background: #f5f8f2;
  box-shadow: 0 10px 18px rgba(0, 39, 27, .08);
}
.unit-stat__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.unit-stat b {
  font-size: 14px;
  line-height: 1.15;
}
.unit-stat small {
  min-height: 17px;
  font-size: 12px;
}
.unit-stat strong {
  margin-top: 9px;
  color: #001f17;
  font-size: clamp(32px, 3vw, 45px);
  text-shadow: 0 8px 13px rgba(0, 63, 44, .1);
}
.unit-stat span:not(.unit-stat__icon) {
  font-size: 13px;
}
.unit-stat em {
  margin-top: 8px;
  color: #d49300;
  font-size: 13px;
  line-height: 1.2;
}
.inventory-strip--art {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: auto;
  border: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.inventory-art {
  margin: 0;
  width: 100%;
  display: block;
  line-height: 0;
  aspect-ratio: 2024 / 446;
  overflow: hidden;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(0, 39, 27, .09);
}
.inventory-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
}
.inventory-mobile-list {
  display: none;
}

@media (max-width: 1180px) {
  .inventory-strip:not(.inventory-strip--art) {
    overflow: visible;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .inventory-live {
    grid-column: 1 / -1;
    min-height: 168px;
  }
  .unit-stat {
    border-top: 1px solid #e6ebe7;
  }
}

@media (max-width: 760px) {
  .inventory-strip:not(.inventory-strip--art) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inventory-strip--art {
    display: flex;
  }
  .inventory-art {
    display: block;
    aspect-ratio: auto;
    height: clamp(190px, 52vw, 220px);
    overflow-x: auto;
    overflow-y: hidden;
  }
  .inventory-art img {
    width: 940px;
    max-width: none;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  .inventory-mobile-list {
    display: none;
    margin-top: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(0, 63, 44, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 39, 27, .07);
  }
  .inventory-live {
    padding: 22px;
  }
  .unit-stat {
    min-height: 205px;
    padding: 18px 10px 16px;
  }
  .unit-stat__icon {
    width: 68px;
    height: 56px;
  }
}

@media (max-width: 440px) {
  .inventory-strip:not(.inventory-strip--art) {
    grid-template-columns: 1fr;
  }
  .inventory-mobile-list {
    grid-template-columns: 1fr;
  }
  .inventory-art img {
    width: 860px;
  }
  .unit-stat {
    min-height: auto;
    display: grid;
    grid-template-columns: 76px 1fr auto;
    grid-template-areas:
      "icon title count"
      "icon size units"
      "icon price price";
    align-items: center;
    justify-items: start;
    column-gap: 14px;
    text-align: left;
  }
  .unit-stat__icon {
    grid-area: icon;
    margin: 0;
  }
  .unit-stat b {
    grid-area: title;
  }
  .unit-stat small {
    grid-area: size;
    min-height: 0;
  }
  .unit-stat strong {
    grid-area: count;
    margin: 0;
    justify-self: end;
    font-size: 34px;
  }
  .unit-stat span:not(.unit-stat__icon) {
    grid-area: units;
    justify-self: end;
  }
  .unit-stat em {
    grid-area: price;
  }
}

/* Gallery page */
.gallery-page {
  background: #f5f7f3;
  color: #061f17;
}
.gallery-hero {
  position: relative;
  max-width: 1480px;
  min-height: 590px;
  margin: 26px auto 18px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--green);
}
.gallery-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 52%;
}
.gallery-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 50, 37, .88), rgba(0, 50, 37, .34) 48%, rgba(0, 0, 0, .04));
}
.gallery-hero__copy {
  position: relative;
  z-index: 1;
  width: min(690px, 100%);
  min-height: 590px;
  padding: 46px 42px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
}
.gallery-hero__copy .eyebrow,
.gallery-hero__copy h1,
.gallery-hero__copy p {
  color: #fff;
}
.gallery-hero__copy h1 {
  margin: 10px 0 14px;
  font-size: clamp(42px, 5vw, 76px);
  line-height: .95;
  text-transform: uppercase;
}
.gallery-hero__copy p {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 650;
}
.gallery-tags {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.gallery-tags span {
  min-height: 34px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(0, 30, 22, .34);
  font-size: 12px;
  font-weight: 900;
}
.gallery-showcase {
  max-width: 1480px;
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 16px;
}
.gallery-feature {
  position: relative;
  min-height: 290px;
  overflow: hidden;
  border-radius: 8px;
  background: #061f17;
  box-shadow: 0 10px 26px rgba(0, 36, 25, .08);
}
.gallery-feature--large {
  grid-row: span 2;
  min-height: 596px;
}
.gallery-feature img,
.gallery-wall img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}
.gallery-feature:hover img,
.gallery-wall figure:hover img {
  transform: scale(1.035);
  filter: saturate(1.05);
}
.gallery-feature div {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 14px 16px;
  border-radius: 6px;
  background: rgba(0, 50, 37, .86);
  color: #fff;
}
.gallery-feature span,
.gallery-wall figcaption span {
  display: block;
  color: var(--gold-2);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.gallery-feature strong {
  display: block;
  margin-top: 4px;
  font-size: 22px;
  line-height: 1.12;
}
.gallery-wall {
  max-width: 1480px;
  margin: 0 auto 22px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 260px;
  gap: 16px;
}
.gallery-wall figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 36, 25, .055);
}
.gallery-wall .gallery-card--wide {
  grid-column: span 2;
}
.gallery-wall .gallery-card--tall {
  grid-row: span 2;
}
.gallery-wall figcaption {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 12px 13px;
  border-radius: 6px;
  background: rgba(255,255,255,.91);
  color: #10271f;
}
.gallery-wall figcaption b {
  display: block;
  margin-bottom: 3px;
  font-size: 15px;
}
.gallery-wall figcaption span {
  color: #51645b;
  line-height: 1.35;
  text-transform: none;
}
.gallery-cta {
  max-width: 1480px;
  margin: 0 auto 30px;
  padding: 28px 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  border-radius: 8px;
  background: linear-gradient(135deg, #003f2c, #076247);
  color: #fff;
}
.gallery-cta h2 {
  margin: 8px 0;
  color: #fff;
  font-size: clamp(28px, 3vw, 44px);
}
.gallery-cta p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-weight: 650;
}
.gallery-cta a {
  min-height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: var(--gold);
  color: #10271f;
  font-weight: 900;
}

@media (max-width: 980px) {
  .gallery-hero,
  .gallery-showcase,
  .gallery-wall,
  .gallery-cta {
    margin-left: 14px;
    margin-right: 14px;
  }
  .gallery-showcase,
  .gallery-cta {
    grid-template-columns: 1fr;
  }
  .gallery-feature--large {
    min-height: 420px;
  }
  .gallery-wall {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .gallery-hero,
  .gallery-hero__copy {
    min-height: 520px;
  }
  .gallery-hero__copy {
    padding: 30px 20px;
  }
  .gallery-wall {
    grid-template-columns: 1fr;
    grid-auto-rows: 265px;
  }
  .gallery-wall .gallery-card--wide,
  .gallery-wall .gallery-card--tall {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Readable inventory presentation for phones and compact tablets. */
@media (max-width: 900px) {
  .inventory-strip--art .inventory-art {
    display: block;
    width: 100%;
    height: clamp(190px, 48vw, 240px);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .inventory-strip--art .inventory-art img {
    width: 940px;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: left center;
  }

  .inventory-strip--art .inventory-mobile-list {
    order: 1;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(0, 63, 44, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 39, 27, .07);
  }

  .inventory-strip--art .inventory-selection-cta {
    order: 2;
    margin-top: 12px;
  }

  .inventory-mobile-list .inventory-live {
    grid-column: 1 / -1;
    min-height: 190px;
  }

  .inventory-mobile-list .unit-stat {
    min-width: 0;
    min-height: 210px;
    border-top: 1px solid #e6ebe7;
  }
}

@media (max-width: 520px) {
  .inventory-strip--art .inventory-mobile-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .inventory-mobile-list .inventory-live {
    grid-column: auto;
  }

  .inventory-mobile-list .unit-stat {
    min-height: 190px;
    padding: 18px 12px;
  }
}

/* Vanilla Vista CRM */
.admin-shell {
  width: min(1720px, calc(100% - 32px));
}

.admin-dashboard {
  overflow: hidden;
  border: 1px solid rgba(0, 63, 44, .08);
}

.admin-topbar {
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(0, 63, 44, .09);
}

.admin-topbar h1 {
  font-size: clamp(32px, 4vw, 56px);
  letter-spacing: -.04em;
}

.admin-actions {
  justify-content: flex-end;
}

.admin-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-metrics article {
  min-width: 0;
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 12px;
}

.admin-metrics article::after {
  content: "";
  position: absolute;
  right: -26px;
  bottom: -35px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: rgba(217, 159, 36, .09);
}

.admin-metrics small {
  display: block;
  margin-top: 8px;
  color: #71837b;
  font-weight: 700;
}

.admin-view-tabs {
  padding: 6px;
  display: inline-flex;
  gap: 5px;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 12px;
  background: #f2f7f3;
}

.admin-view-tabs button {
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #53675f;
  font-weight: 900;
  cursor: pointer;
}

.admin-view-tabs button.active {
  background: var(--green);
  color: #fff;
  box-shadow: 0 8px 18px rgba(0, 63, 44, .18);
}

.admin-view-panel {
  margin-top: 24px;
}

#adminLeadsPanel .admin-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(160px, 220px));
}

.crm-pipeline {
  margin: 6px 0 28px;
  padding: 4px 2px 14px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(218px, 1fr);
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.crm-stage {
  min-height: 245px;
  scroll-snap-align: start;
  overflow: hidden;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 12px;
  background: #f7faf8;
}

.crm-stage header {
  padding: 14px;
  border-top: 4px solid #8fa098;
  border-bottom: 1px solid rgba(0, 63, 44, .08);
  background: #fff;
}

.crm-stage--contacted header { border-top-color: #6e98c7; }
.crm-stage--qualified header { border-top-color: #b99024; }
.crm-stage--site-visit header { border-top-color: #8d63bf; }
.crm-stage--negotiation header { border-top-color: #e38932; }
.crm-stage--reserved header { border-top-color: #0d9d62; }
.crm-stage--won header { border-top-color: var(--green); }

.crm-stage header div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--green);
  font-weight: 900;
}

.crm-stage header strong {
  min-width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf3ef;
  font-size: 12px;
}

.crm-stage header small {
  display: block;
  margin-top: 4px;
  color: #74867e;
}

.crm-stage > div {
  padding: 10px;
  display: grid;
  gap: 8px;
}

.crm-stage > div > p {
  margin: 28px 0;
  color: #8a9a93;
  text-align: center;
}

.crm-opportunity {
  width: 100%;
  padding: 12px;
  display: block;
  border: 1px solid rgba(0, 63, 44, .08);
  border-radius: 8px;
  background: #fff;
  color: #17382d;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 7px 15px rgba(0, 45, 32, .04);
}

.crm-opportunity:hover {
  border-color: var(--gold);
  transform: translateY(-1px);
}

.crm-opportunity span,
.crm-opportunity b,
.crm-opportunity small {
  display: block;
}

.crm-opportunity span { font-weight: 900; }
.crm-opportunity b { margin-top: 5px; color: #52675f; font-size: 11px; }
.crm-opportunity small { margin-top: 8px; color: #84928c; font-size: 10px; }
.crm-stage footer { padding: 0 12px 12px; color: #70847b; font-size: 11px; font-weight: 800; }

.crm-list-heading {
  margin: 26px 0 13px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.crm-list-heading h2 {
  margin: 7px 0 0;
  color: var(--green);
  font-size: 26px;
}

.crm-list-heading > span {
  color: #71837b;
  font-weight: 900;
}

.crm-table td > strong,
.crm-table td > small,
.crm-table td a {
  display: block;
}

.crm-table td > small {
  margin-top: 5px;
  color: #77877f;
  line-height: 1.5;
}

.crm-stage-select,
.crm-owner-select {
  min-height: 36px;
  padding: 0 9px;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 7px;
  background: #f6f9f7;
  color: #284b3f;
  font-weight: 800;
}

.crm-stage-select--reserved,
.crm-stage-select--won {
  background: #e4f6ec;
  color: #087145;
}

.crm-followup-due {
  color: #b54708 !important;
  font-weight: 900;
}

.crm-row-action {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid var(--green);
  border-radius: 7px;
  background: #fff;
  color: var(--green);
  font-weight: 900;
  cursor: pointer;
}

.crm-dialog {
  width: min(900px, calc(100% - 24px));
  max-height: calc(100dvh - 30px);
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 32px 90px rgba(0, 33, 23, .35);
}

.crm-dialog::backdrop {
  background: rgba(0, 31, 22, .68);
  backdrop-filter: blur(5px);
}

.crm-dialog__shell {
  padding: clamp(22px, 4vw, 38px);
}

.crm-dialog__head,
.crm-dialog__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.crm-dialog__head h2 {
  margin: 8px 0 20px;
  color: var(--green);
  font-size: 32px;
}

.crm-dialog__close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 50%;
  background: #f4f8f5;
  color: var(--green);
  font-size: 25px;
  cursor: pointer;
}

.crm-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.crm-form-grid label,
.automation-settings label {
  color: #204439;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.crm-form-grid input,
.crm-form-grid select,
.crm-form-grid textarea,
.automation-settings input,
.automation-settings textarea,
.automation-settings select {
  width: 100%;
  min-height: 45px;
  margin-top: 7px;
  padding: 11px 12px;
  border: 1px solid #d8e1dc;
  border-radius: 7px;
  background: #f9fbfa;
  color: #17372d;
  font: inherit;
}

.crm-form-wide { grid-column: 1 / -1; }
.crm-dialog__actions { margin-top: 22px; justify-content: flex-end; }

.automation-hero {
  padding: clamp(24px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto;
  gap: 30px;
  align-items: center;
  border-radius: 14px;
  background:
    radial-gradient(circle at 85% 10%, rgba(242, 190, 57, .28), transparent 30%),
    linear-gradient(135deg, #003f2c, #006347);
  color: #fff;
}

.automation-hero h2 {
  margin: 10px 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1;
}

.automation-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.75); line-height: 1.6; }
.automation-status { display: grid; gap: 10px; }
.automation-status span { min-width: 190px; padding: 12px 15px; border-radius: 999px; background: rgba(255,255,255,.1); font-weight: 900; }
.automation-status i { width: 9px; height: 9px; margin-right: 8px; display: inline-block; border-radius: 50%; background: #f0a04b; }
.automation-status span.ready i { background: #6fe2a1; box-shadow: 0 0 0 5px rgba(111,226,161,.12); }

.automation-settings {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.automation-channel {
  padding: 22px;
  display: grid;
  gap: 15px;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0,45,32,.05);
}

.automation-channel__head {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 13px;
}

.automation-channel__head > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--green);
  color: var(--gold-2);
  font-weight: 900;
}

.automation-channel__head b,
.automation-channel__head small {
  display: block;
}

.automation-channel__head b { color: var(--green); font-size: 15px; }
.automation-channel__head small { margin-top: 3px; color: #73857d; }

.crm-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.crm-switch i {
  position: relative;
  width: 48px;
  height: 27px;
  display: block;
  border-radius: 999px;
  background: #ccd6d0;
  cursor: pointer;
}

.crm-switch i::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #fff;
  transition: transform .2s ease;
  box-shadow: 0 2px 7px rgba(0,0,0,.16);
}

.crm-switch input:checked + i { background: #0b9c60; }
.crm-switch input:checked + i::after { transform: translateX(21px); }

.automation-help {
  grid-column: 1 / -1;
  padding: 18px 20px;
  border-radius: 10px;
  background: #f0f6f2;
  color: #52675e;
}

.automation-help b { margin-right: 10px; color: var(--green); }
.automation-help code { margin: 3px; padding: 4px 7px; display: inline-block; border-radius: 5px; background: #fff; color: #8a6200; }
.automation-help p { margin: 9px 0 0; font-size: 12px; }
.automation-settings > .btn { justify-self: start; }

.automation-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#emailWebhookFields,
#whatsappMetaFields,
#whatsappWebhookFields {
  display: grid;
  gap: 15px;
  padding: 14px;
  border: 1px dashed rgba(0, 63, 44, .18);
  border-radius: 10px;
  background: #f8fbf9;
}

#emailWebhookFields[hidden],
#whatsappMetaFields[hidden],
#whatsappWebhookFields[hidden],
#whatsappMetaButtonFields[hidden] {
  display: none;
}

#whatsappWebhookFields summary {
  color: #204439;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}

#whatsappWebhookFields[open] summary { margin-bottom: 15px; }

.automation-settings label > small,
.automation-field-note {
  display: block;
  margin: 7px 0 0;
  color: #718179;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: none;
}

.automation-field-note code { color: #805800; }

.automation-settings .automation-secret-clear {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #735a22;
  font-size: 10px;
  text-transform: none;
}

.automation-settings .automation-secret-clear input {
  width: 16px;
  min-height: 16px;
  margin: 0;
}

.automation-test-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding-top: 12px;
  border-top: 1px solid #e4ebe7;
}

.automation-test-row .btn {
  min-height: 45px;
  white-space: nowrap;
}

.delivery-status {
  padding: 5px 8px;
  display: inline-flex;
  border-radius: 999px;
  background: #eef1ef;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.delivery-status--sent { background: #e1f6e9; color: #087145; }
.delivery-status--failed { background: #ffebe7; color: #b42318; }
.delivery-status--sending { background: #fff4d7; color: #8a6200; }

@media (max-width: 1180px) {
  .admin-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #adminLeadsPanel .admin-toolbar { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .admin-shell { width: calc(100% - 20px); padding-top: 12px; }
  .admin-dashboard { padding: 18px 12px; }
  .admin-topbar { align-items: flex-start; }
  .admin-actions { width: 100%; justify-content: stretch; }
  .admin-actions .btn { flex: 1; }
  .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-view-tabs { width: 100%; display: grid; grid-template-columns: 1fr; }
  #adminLeadsPanel .admin-toolbar { grid-template-columns: 1fr; }
  .crm-pipeline { margin-left: -2px; grid-auto-columns: minmax(82vw, 320px); }
  .crm-list-heading { align-items: flex-start; flex-direction: column; }
  .crm-form-grid,
  .automation-settings,
  .automation-hero { grid-template-columns: 1fr; }
  .automation-field-grid,
  .automation-test-row { grid-template-columns: 1fr; }
  .automation-status { grid-template-columns: 1fr 1fr; }
  .automation-status span { min-width: 0; }
  .crm-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
  .crm-dialog__actions .btn { width: 100%; }
}

@media (max-width: 480px) {
  .admin-metrics { grid-template-columns: 1fr; }
  .admin-topbar h1 { font-size: 36px; }
  .admin-actions { display: grid; grid-template-columns: 1fr; }
  .crm-pipeline { grid-auto-columns: 86vw; }
  .crm-form-grid { grid-template-columns: 1fr; }
  .crm-form-wide { grid-column: auto; }
  .automation-status { grid-template-columns: 1fr; }
  .automation-channel { padding: 16px; }
  .automation-channel__head { grid-template-columns: 42px 1fr; }
  .automation-channel__head > span { width: 42px; height: 42px; }
  .automation-channel__head .crm-switch { grid-column: 1 / -1; justify-self: end; margin-top: -36px; }
}

/* Contact page */
.contact-page {
  background: #f5f7f3;
  color: #061f17;
}
.contact-hero {
  position: relative;
  max-width: 1480px;
  min-height: 520px;
  margin: 26px auto 18px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--green);
}
.contact-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 54%;
}
.contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 50, 37, .92), rgba(0, 50, 37, .54) 52%, rgba(0, 0, 0, .1));
}
.contact-hero__copy {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  min-height: 520px;
  padding: 46px 42px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.contact-hero__copy .eyebrow,
.contact-hero__copy h1,
.contact-hero__copy p {
  color: #fff;
}
.contact-hero__copy h1 {
  margin: 10px 0 14px;
  font-size: clamp(42px, 5vw, 78px);
  line-height: .95;
  text-transform: uppercase;
}
.contact-hero__copy p {
  max-width: 650px;
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 650;
}
.contact-grid {
  max-width: 1480px;
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 18px;
}
.contact-panel,
.contact-form {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0, 36, 25, .07);
}
.contact-panel {
  padding: 28px;
}
.contact-panel h2,
.contact-form h2 {
  margin: 10px 0 18px;
  color: var(--green);
  font-size: clamp(26px, 2.6vw, 40px);
  line-height: 1.02;
}
.contact-methods {
  display: grid;
  gap: 12px;
}
.contact-methods a,
.contact-methods div {
  min-height: 78px;
  padding: 15px 16px;
  display: grid;
  align-content: center;
  gap: 5px;
  border-radius: 7px;
  background: #f7f9f5;
  border: 1px solid var(--line);
}
.contact-methods b,
.contact-hours strong {
  color: #0b3b2c;
  font-size: 14px;
  text-transform: uppercase;
}
.contact-methods span,
.contact-hours span {
  color: var(--muted);
  font-weight: 700;
  line-height: 1.35;
}
.contact-hours {
  margin-top: 16px;
  padding: 18px;
  display: grid;
  gap: 5px;
  border-radius: 7px;
  background: linear-gradient(135deg, #003f2c, #076247);
  color: #fff;
}
.contact-hours strong,
.contact-hours span,
.contact-hours b {
  color: #fff;
}
.contact-form {
  padding: 28px;
}
.contact-form__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.contact-form__row {
  margin-bottom: 14px;
  display: grid;
  gap: 7px;
}
.contact-form label {
  color: #183a2f;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 12px 13px;
  border: 1px solid #d8dfd8;
  border-radius: 6px;
  background: #fbfcfa;
  color: #0c261d;
  font: inherit;
  font-weight: 650;
}
.contact-form textarea {
  resize: vertical;
}
.contact-form button {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 6px;
  background: var(--gold);
  color: #10271f;
  font-weight: 900;
  cursor: pointer;
}
.contact-form__note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}
.contact-strip {
  max-width: 1480px;
  margin: 0 auto 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
}
.contact-strip span {
  min-height: 82px;
  padding: 18px;
  display: grid;
  align-content: center;
  gap: 5px;
  border-right: 1px solid rgba(255,255,255,.12);
  font-weight: 700;
}
.contact-strip b {
  color: var(--gold-2);
  font-size: 16px;
}

.thank-you-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(120deg, rgba(0, 63, 44, .9), rgba(0, 63, 44, .72)),
    url("./assets/vista2-hero-web.jpg") center / cover no-repeat;
}
.thank-you {
  width: min(680px, 100%);
  padding: clamp(28px, 5vw, 54px);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 80px rgba(0, 25, 17, .28);
  text-align: center;
}
.thank-you img {
  width: 190px;
  height: 104px;
  object-fit: contain;
  margin: 0 auto 14px;
}
.thank-you h1 {
  margin: 12px 0;
  color: var(--green);
  font-size: clamp(40px, 7vw, 72px);
}
.thank-you p {
  margin: 0 auto 22px;
  max-width: 520px;
  color: #405a51;
  font-size: 17px;
}
.thank-you__actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.thank-you__actions .btn {
  min-height: 46px;
}

.admin-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top, rgba(213, 167, 52, .18), transparent 28%),
    linear-gradient(160deg, #edf7f0 0%, #dcefe4 48%, #f7fbf8 100%);
}
.admin-shell {
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 54px;
}
.admin-login,
.admin-dashboard {
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 20px 56px rgba(0, 45, 32, .14);
}
.admin-login {
  width: min(520px, 100%);
  margin: 0 auto;
  padding: 34px;
}
.admin-login img {
  width: 200px;
  height: 90px;
  margin-bottom: 10px;
  object-fit: contain;
}
.admin-login h1,
.admin-dashboard h1 {
  margin: 10px 0 8px;
  color: var(--green);
}
.admin-login p,
.admin-dashboard p {
  color: #4c635a;
}
.admin-login label {
  display: block;
  margin: 14px 0 6px;
  font-weight: 800;
  color: var(--green);
}
.admin-login input,
.admin-toolbar input,
.admin-toolbar select {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(0, 63, 44, .14);
  border-radius: 6px;
  background: #fff;
}
.admin-login .btn {
  width: 100%;
  margin-top: 16px;
}
.admin-dashboard {
  padding: 28px;
}
.admin-topbar,
.admin-toolbar,
.admin-actions,
.admin-metrics {
  display: flex;
  gap: 12px;
}
.admin-topbar,
.admin-toolbar {
  align-items: end;
  justify-content: space-between;
}
.admin-actions {
  flex-wrap: wrap;
}
.admin-metrics {
  margin: 24px 0 16px;
  flex-wrap: wrap;
}
.admin-metrics article {
  min-width: 170px;
  padding: 18px 16px;
  border-radius: 6px;
  background: linear-gradient(160deg, #f2f8f4 0%, #ffffff 100%);
  border: 1px solid rgba(0, 63, 44, .08);
}
.admin-metrics span {
  display: block;
  color: #5e746b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.admin-metrics strong {
  display: block;
  margin-top: 8px;
  color: var(--green);
  font-size: 34px;
  line-height: 1;
}
.admin-toolbar {
  margin-bottom: 18px;
}
.admin-toolbar input {
  flex: 1 1 380px;
}
.admin-toolbar select {
  flex: 0 0 220px;
}
.admin-table-wrap {
  overflow: auto;
  border: 1px solid rgba(0, 63, 44, .08);
  border-radius: 6px;
}
.admin-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  background: #fff;
}
.admin-table th,
.admin-table td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(0, 63, 44, .08);
  text-align: left;
  vertical-align: top;
}
.admin-table th {
  position: sticky;
  top: 0;
  background: #f4f8f5;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-table td {
  color: #29453c;
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .contact-hero,
  .contact-grid,
  .contact-strip {
    margin-left: 14px;
    margin-right: 14px;
  }
  .contact-grid,
  .contact-strip {
    grid-template-columns: 1fr;
  }
  .contact-form__split {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .admin-topbar,
  .admin-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .admin-dashboard {
    padding: 20px 16px;
  }
}

@media (max-width: 620px) {
  .contact-hero,
  .contact-hero__copy {
    min-height: 500px;
  }
  .contact-hero__copy,
  .contact-panel,
  .contact-form {
    padding: 24px 18px;
  }
  .booking-grid,
  .booking-choice-group {
    grid-template-columns: 1fr;
  }
  .booking-grid label:nth-of-type(3),
  .booking-grid input:nth-of-type(3) {
    grid-column: auto;
  }
  .thank-you__actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1240px) {
  .faq-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: none;
    overflow-y: visible;
    padding-right: 0;
  }
}

@media (max-width: 680px) {
  .faq-dashboard {
    grid-template-columns: 1fr;
    max-height: none;
    overflow-y: visible;
    padding-right: 0;
  }
  .faq-card {
    padding: 16px;
  }
}

/* ── Theme Toggle Button ── */
.theme-toggle {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1.5px solid rgba(0,63,44,.15);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: all .3s ease;
  margin-right: 8px;
}
.theme-toggle:hover {
  border-color: var(--gold);
  background: rgba(217,159,36,.08);
}
.theme-icon {
  width: 18px;
  height: 18px;
  transition: opacity .3s ease, transform .3s ease;
}
.theme-icon--sun {
  stroke: var(--gold);
}
.theme-icon--moon {
  display: none;
  stroke: var(--gold-2);
}
body.dark-theme .theme-icon--sun {
  display: none;
}
body.dark-theme .theme-icon--moon {
  display: block;
}

/* ── Dark Theme ── */
body.dark-theme {
  background: #091a15;
  color: #e8ede9;
  transition: background .5s ease, color .4s ease;
}
body.dark-theme .topbar {
  background: #051210;
}
body.dark-theme .site-header {
  background: rgba(9,26,21,.96);
  border-bottom-color: rgba(255,255,255,.06);
}
body.dark-theme .main-nav a {
  color: #c5d0ca;
}
body.dark-theme .main-nav a:hover,
body.dark-theme .main-nav a.active {
  color: var(--gold-2);
}
body.dark-theme .brand-slogan {
  color: #8ba096;
}
body.dark-theme .hero {
  background: #0e241e;
}
body.dark-theme .hero::before {
  background: linear-gradient(160deg, rgba(9,26,21,.85), rgba(14,36,30,.6));
}
body.dark-theme .hero-point-card {
  background: rgba(14,36,30,.85);
  border-color: rgba(255,255,255,.08);
}
body.dark-theme .hero-point-card .hero-point-title {
  color: #e0e8e3;
}
body.dark-theme .hero-point-card .hero-point-label {
  color: #8ba096;
}
body.dark-theme .hero-point-icon-wrapper {
  background: rgba(0,95,64,.3);
}
body.dark-theme .hero-point-icon {
  stroke: var(--gold-2);
}
body.dark-theme .section-heading h2 {
  color: #e0e8e3;
}
body.dark-theme .homes {
  background: #091a15;
}
body.dark-theme .home-card {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .home-card b {
  color: #e0e8e3;
}
body.dark-theme .home-card strong {
  color: var(--gold-2);
}
body.dark-theme .home-card span {
  color: #b8a45a;
}
body.dark-theme .home-card em {
  color: #8ba096;
}
body.dark-theme .unit-filter__btn {
  background: #0e241e;
  border-color: rgba(255,255,255,.1);
  color: #c5d0ca;
}
body.dark-theme .unit-filter__btn.active {
  background: var(--green-3);
  border-color: var(--green-3);
  color: #fff;
}
body.dark-theme .proof-strip {
  background: #051210;
}
body.dark-theme .content-columns > div,
body.dark-theme .testimonials,
body.dark-theme .blog-previews,
body.dark-theme .faq {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .faq-card {
  background: #112c24;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .faq-card summary {
  color: #d0dad3;
}
body.dark-theme .faq-card p {
  color: #8ba096;
}
body.dark-theme .feature-grid article {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .feature-grid h3 {
  color: #e0e8e3;
}
body.dark-theme .feature-grid p {
  color: #8ba096;
}
body.dark-theme .plan-viewer-card,
body.dark-theme .plan-insights {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .plan-viewer-toolbar strong {
  color: #e0e8e3;
}
body.dark-theme .plan-viewer {
  background-color: #112c24;
}
body.dark-theme .plan-controls {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .plan-tab {
  background: #112c24;
  border-color: rgba(255,255,255,.08);
  color: #c5d0ca;
}
body.dark-theme .plan-tab.active {
  background: var(--green-3);
  color: #fff;
}
body.dark-theme .connector {
  background: #0e241e;
}
body.dark-theme .mortgage-band {
  background: #0e241e;
}
body.dark-theme .virtual-experience {
  background: #091a15;
}
body.dark-theme .virtual-grid article {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .diaspora-intro {
  background: #0e241e;
}
body.dark-theme .process-grid article {
  background: #112c24;
}
body.dark-theme .trust-grid article {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme footer {
  background: #051210;
}
body.dark-theme .modal {
  background: #0e241e;
  color: #e0e8e3;
}
body.dark-theme .modal::backdrop {
  background: rgba(0,0,0,.7);
}
body.dark-theme .modal input,
body.dark-theme .modal select {
  background: #112c24;
  border-color: rgba(255,255,255,.12);
  color: #e0e8e3;
}
body.dark-theme .result-box {
  background: #112c24;
  color: #a6ca67;
}
body.dark-theme .book-visit {
  background: var(--gold);
  color: var(--green);
}
body.dark-theme .theme-toggle {
  border-color: rgba(255,255,255,.15);
}
body.dark-theme .theme-toggle:hover {
  background: rgba(242,190,57,.12);
}
body.dark-theme .calc-metric {
  background: #112c24;
}
body.dark-theme .calc-metric strong {
  color: #a6ca67;
}
body.dark-theme .calc-metric.highlight {
  background: var(--green-3);
}
body.dark-theme .forecast-cell {
  background: linear-gradient(160deg, #112c24, #0e241e);
}
body.dark-theme .forecast-cell strong {
  color: #a6ca67;
}
body.dark-theme .cash-step {
  background: #112c24;
}
body.dark-theme .ltv-bar {
  background: #1b382f;
}
body.dark-theme .plan-mobile-fallback {
  background: linear-gradient(160deg, #0e241e, #112c24);
}
body.dark-theme .plan-mobile-fallback__content h4 {
  color: #e0e8e3;
}
body.dark-theme .availability-card {
  background: #0e241e;
  border-color: rgba(255,255,255,.06);
}
body.dark-theme .investment-returns {
  background: #0e241e;
}
body.dark-theme .returns-title h3 {
  color: #e0e8e3;
}

/* Apartment selection experience */
.selection-page { background: #f4f7f3; }
.selection-header { position: sticky; z-index: 50; top: 0; min-height: 78px; padding: 0 clamp(18px,4vw,58px); display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 28px; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(0,63,44,.1); backdrop-filter: blur(14px); }
.selection-brand img { width: 224px; height: 68px; object-fit: contain; }
.selection-header nav { display: flex; justify-content: center; gap: clamp(16px,2.5vw,34px); font-weight: 800; }
.selection-header nav a { position: relative; padding: 28px 0; }
.selection-header nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 20px; height: 2px; background: var(--gold); transition: right .2s ease; }
.selection-header nav a:hover::after { right: 0; }
.selection-header__help { padding-left: 22px; border-left: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.selection-header__help b { display: block; color: var(--green); font-size: 14px; }
.selection-hero { position: relative; min-height: 660px; display: grid; align-items: center; overflow: hidden; background: var(--green); color: #fff; }
.selection-hero > img,.selection-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.selection-hero > img { object-fit: cover; object-position: center 60%; }
.selection-hero__shade { background: linear-gradient(90deg,rgba(0,28,20,.92),rgba(0,36,26,.68) 42%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(0,35,24,.72),transparent 45%); }
.selection-hero__content { position: relative; z-index: 2; width: min(760px,90%); margin-left: clamp(22px,7vw,110px); padding-bottom: 80px; }
.selection-eyebrow,.selection-kicker { color: var(--gold-2); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.selection-eyebrow { display: inline-flex; align-items: center; gap: 9px; }
.selection-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: #79e8a4; box-shadow: 0 0 0 6px rgba(121,232,164,.18); }
.selection-hero h1 { max-width: 760px; margin: 20px 0 16px; font-size: clamp(46px,6vw,86px); line-height: .96; letter-spacing: -.045em; }
.selection-hero h1 em { display: block; color: var(--gold-2); font-style: normal; }
.selection-hero__content > p { max-width: 610px; margin: 0; color: rgba(255,255,255,.84); font-size: clamp(16px,1.6vw,21px); line-height: 1.55; }
.selection-hero__actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.selection-hero__actions .btn { min-width: 180px; min-height: 50px; }
.selection-hero__link { font-weight: 900; }
.selection-livebar { position: absolute; z-index: 3; left: 4%; right: 4%; bottom: 0; min-height: 102px; padding: 18px 28px; display: grid; grid-template-columns: repeat(4,1fr) auto; align-items: center; gap: 18px; border-radius: 14px 14px 0 0; background: rgba(255,255,255,.96); color: var(--ink); box-shadow: 0 -18px 48px rgba(0,0,0,.16); backdrop-filter: blur(12px); }
.selection-livebar div { padding-left: 22px; border-left: 1px solid var(--line); }.selection-livebar div:first-child { border-left: 0; padding-left: 0; }
.selection-livebar b,.selection-livebar span { display: block; }.selection-livebar b { color: var(--green); font-size: 30px; }.selection-livebar span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.selection-livebar > small { display: flex; align-items: center; gap: 7px; color: var(--green); font-weight: 900; }.selection-livebar > small i { width: 8px; height: 8px; border-radius: 50%; background: #1da465; animation: livePulse 1.6s infinite; }
@keyframes livePulse { 50% { box-shadow: 0 0 0 7px rgba(29,164,101,.16); } }
.selection-progress { width: min(1120px,calc(100% - 40px)); margin: 38px auto 0; display: grid; grid-template-columns: 1fr 70px 1fr 70px 1fr; align-items: center; }
.selection-progress > div { display: grid; grid-template-columns: 46px 1fr; gap: 2px 12px; align-items: center; opacity: .62; }.selection-progress > div.active { opacity: 1; }
.selection-progress > div span { grid-row: span 2; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-weight: 900; }
.selection-progress b,.selection-progress small { display: block; }.selection-progress small { color: var(--muted); font-size: 11px; }.selection-progress > i { height: 1px; margin: 0 14px; background: var(--line); }
.unit-explorer { padding: 72px clamp(18px,4vw,58px); }
.selection-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; max-width: 1480px; margin: auto; }
.selection-section-heading h2,.payment-studio__intro h2 { margin: 10px 0; color: var(--green); font-size: clamp(34px,4vw,54px); line-height: 1; letter-spacing: -.03em; }
.selection-section-heading p,.payment-studio__intro p { max-width: 720px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.unit-status-key { display: flex; flex-wrap: wrap; gap: 12px 18px; justify-content: flex-end; color: var(--muted); font-size: 11px; font-weight: 800; }.unit-status-key span { display: inline-flex; align-items: center; gap: 6px; }
.unit-status-key i,.unit-status i { width: 8px; height: 8px; border-radius: 50%; }.unit-status-key i.available,.unit-status.available i { background: #20a565; }.unit-status-key i.hold,.unit-status.hold i { background: #f2be39; }.unit-status-key i.reserved,.unit-status.reserved i { background: #e68a32; }.unit-status-key i.sold,.unit-status.sold i { background: #9aa39e; }
.block-switcher { max-width: 1480px; margin: 30px auto 22px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.block-switcher button { min-height: 92px; padding: 15px; display: grid; grid-template-columns: 48px 1fr; gap: 3px 12px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; transition: .2s ease; }
.block-switcher button > span { grid-row: span 2; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 9px; background: #edf3ef; color: var(--green); font-size: 19px; font-weight: 900; }
.block-switcher button b,.block-switcher button small { display: block; }.block-switcher button small { color: var(--muted); }
.block-switcher button:hover,.block-switcher button.active { border-color: var(--gold); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,45,31,.1); }.block-switcher button.active { background: var(--green); color: #fff; }.block-switcher button.active > span { background: var(--gold-2); }.block-switcher button.active small { color: rgba(255,255,255,.72); }
.unit-explorer__layout { max-width: 1480px; margin: auto; display: grid; grid-template-columns: 220px minmax(480px,1fr) 310px; gap: 18px; align-items: start; }
.unit-filters,.unit-selection-card,.unit-results { border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(0,45,31,.06); }
.unit-filters { position: sticky; top: 96px; padding: 18px; }.unit-filters__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }.unit-filters__head button { border: 0; background: transparent; color: var(--green-3); font-size: 11px; font-weight: 900; cursor: pointer; }
.unit-filters > label { display: block; margin: 14px 0 6px; color: var(--green); font-size: 11px; font-weight: 900; text-transform: uppercase; }.unit-filters select { width: 100%; height: 42px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; background: #f8faf8; color: var(--ink); }
.unit-filters__tip { margin-top: 18px; padding: 14px; display: flex; gap: 10px; border-radius: 8px; background: #fff8e5; color: #5e4a17; }.unit-filters__tip span { color: var(--gold); font-size: 18px; }.unit-filters__tip p { margin: 0; font-size: 11px; line-height: 1.45; }
.unit-results { padding: 18px; }.unit-results__bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }.unit-results__bar strong,.unit-results__bar span { display: block; }.unit-results__bar strong { font-size: 18px; }.unit-results__bar > div span { color: var(--muted); font-size: 11px; }
.unit-search { min-width: 210px; height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; background: #f7f9f7; }.unit-search input { width: 100%; border: 0; outline: 0; background: transparent; }
.unit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.unit-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #fff; transition: .2s ease; overflow: hidden; }.unit-card:hover { transform: translateY(-3px); border-color: rgba(0,95,64,.42); box-shadow: 0 14px 28px rgba(0,45,31,.1); }.unit-card.selected { border: 2px solid var(--gold); }.unit-card.reserved,.unit-card.sold,.unit-card.hold { background: #f5f6f5; }
.unit-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.unit-card__top > small { color: var(--muted); font-weight: 800; }.unit-status { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }.unit-status i { display: block; }
.unit-card__number { margin: 14px 0 10px; }.unit-card__number span,.unit-card__number b { display: block; }.unit-card__number span { color: var(--green); font-size: 18px; font-weight: 900; }.unit-card__number b { margin-top: 3px; font-size: 11px; }
.unit-card__details { display: flex; flex-wrap: wrap; gap: 5px; }.unit-card__details span { padding: 5px 7px; border-radius: 4px; background: #eff3f0; color: var(--muted); font-size: 9px; font-weight: 800; }
.unit-card__price { margin: 13px 0; }.unit-card__price small,.unit-card__price strong { display: block; }.unit-card__price small { color: var(--muted); font-size: 9px; text-transform: uppercase; }.unit-card__price strong { margin-top: 2px; font-size: 15px; }
.unit-card > button { width: 100%; min-height: 36px; border: 0; border-radius: 6px; background: var(--green); color: #fff; font-size: 10px; font-weight: 900; cursor: pointer; }.unit-card > button:disabled { background: #d9dedb; color: #7d8781; cursor: not-allowed; }
.unit-load-more { width: 100%; min-height: 44px; margin-top: 16px; border: 1px solid var(--green); border-radius: 7px; background: transparent; color: var(--green); font-weight: 900; cursor: pointer; }.unit-load-more[hidden] { display: none; }
.unit-empty { grid-column: 1/-1; min-height: 340px; display: grid; place-items: center; align-content: center; text-align: center; }.unit-empty > span { font-size: 38px; }.unit-empty h3 { margin: 10px 0 5px; }.unit-empty p { margin: 0 0 16px; color: var(--muted); }.unit-empty button { border: 0; background: transparent; color: var(--green); font-weight: 900; cursor: pointer; }
.unit-selection-card { position: sticky; top: 96px; overflow: hidden; }.unit-selection-card__empty { min-height: 390px; padding: 32px; display: grid; place-items: center; align-content: center; text-align: center; background: linear-gradient(150deg,#fff,#eef4ef); }.unit-selection-card__empty > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--gold-2); font-size: 30px; }.unit-selection-card__empty h3 { margin: 16px 0 7px; color: var(--green); }.unit-selection-card__empty p { margin: 0; color: var(--muted); line-height: 1.5; }
.unit-selection-card__image { position: relative; aspect-ratio: 4/3; background: #101010; }.unit-selection-card__image img { width: 100%; height: 100%; object-fit: contain; }.unit-selection-card__image span { position: absolute; left: 12px; top: 12px; padding: 6px 9px; border-radius: 999px; background: var(--gold-2); color: #172117; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.unit-selection-card__body { padding: 20px; }.unit-selection-card__body > small { color: var(--gold); font-weight: 900; text-transform: uppercase; }.unit-selection-card__body h3 { margin: 5px 0; color: var(--green); font-size: 28px; }.unit-selection-card__body p { margin: 0 0 15px; color: var(--muted); }.unit-selection-card__body > div { padding: 9px 0; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); }.unit-selection-card__body > div span { color: var(--muted); }.unit-selection-card__body > .btn { width: 100%; margin-top: 14px; }.unit-selection-card__body > button { width: 100%; margin-top: 8px; border: 0; background: transparent; color: var(--green); font-size: 11px; font-weight: 900; cursor: pointer; }
.payment-studio { padding: 80px clamp(18px,5vw,72px); background: var(--green-2); color: #fff; }.payment-studio__intro { max-width: 1480px; margin: 0 auto 30px; }.payment-studio__intro h2 { color: #fff; }.payment-studio__intro p { color: rgba(255,255,255,.68); }
.payment-studio__shell { max-width: 1480px; margin: auto; display: grid; grid-template-columns: 310px 1fr; gap: 18px; }.payment-modes { display: grid; gap: 10px; }
.payment-modes button { min-height: 105px; padding: 16px; display: grid; grid-template-columns: 42px 1fr; gap: 2px 12px; align-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(255,255,255,.06); color: #fff; text-align: left; cursor: pointer; }.payment-modes button > span { grid-row: span 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--gold-2); font-weight: 900; }.payment-modes button b,.payment-modes button small { display: block; }.payment-modes button small { color: rgba(255,255,255,.6); }.payment-modes button.active { border-color: var(--gold-2); background: rgba(242,190,57,.16); box-shadow: inset 3px 0 0 var(--gold-2); }
.payment-calculator { min-height: 330px; padding: clamp(20px,3vw,34px); border-radius: 12px; background: #fff; color: var(--ink); }.payment-calculator__placeholder { min-height: 280px; display: grid; place-items: center; align-content: center; text-align: center; }.payment-calculator__placeholder > span { font-size: 34px; color: var(--gold); }.payment-calculator__placeholder h3 { margin: 10px 0 5px; color: var(--green); }.payment-calculator__placeholder p { margin: 0 0 15px; color: var(--muted); }.payment-calculator__placeholder a { color: var(--green); font-weight: 900; }
.payment-calculator__head { display: flex; justify-content: space-between; gap: 20px; align-items: end; padding-bottom: 18px; border-bottom: 1px solid var(--line); }.payment-calculator__head span { color: var(--gold); font-size: 10px; font-weight: 900; text-transform: uppercase; }.payment-calculator__head h3 { margin: 3px 0 0; color: var(--green); font-size: 28px; }.payment-calculator__head > b { font-size: 20px; }
.payment-control { margin: 20px 0; }.payment-control label { display: flex; justify-content: space-between; margin-bottom: 9px; font-weight: 800; }.payment-control label b { color: var(--green); }.payment-control input[type="range"] { width: 100%; accent-color: var(--gold); }
.payment-output { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.payment-output > span { min-height: 82px; padding: 13px; display: grid; align-content: center; border-radius: 8px; background: #f1f5f2; }.payment-output > span.featured { background: var(--green); color: #fff; }.payment-output small,.payment-output b { display: block; }.payment-output small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }.payment-output .featured small { color: rgba(255,255,255,.68); }.payment-output b { margin-top: 4px; font-size: clamp(14px,2vw,19px); }
.payment-note { margin: 16px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.diaspora-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 18px 0; }.diaspora-steps span { padding: 12px; border-radius: 7px; background: #f4f7f4; }.diaspora-steps i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-style: normal; font-size: 10px; }.diaspora-steps b,.diaspora-steps small { display: block; }.diaspora-steps b { margin: 8px 0 3px; font-size: 11px; }.diaspora-steps small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.reserve-unit { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: #fff; }.reserve-unit__visual { position: relative; min-height: 620px; overflow: hidden; }.reserve-unit__visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.reserve-unit__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,39,28,.9),transparent 65%); }.reserve-unit__visual > div { position: absolute; z-index: 2; left: clamp(24px,6vw,86px); right: 30px; bottom: 54px; color: #fff; }.reserve-unit__visual span { color: var(--gold-2); font-weight: 900; text-transform: uppercase; }.reserve-unit__visual h2 { margin: 8px 0; font-size: clamp(38px,4vw,60px); }.reserve-unit__visual p { max-width: 620px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.6; }
.reserve-form { padding: clamp(35px,6vw,86px); align-self: center; }.reserve-form h2 { margin: 8px 0 20px; color: var(--green); font-size: clamp(30px,3.5vw,48px); line-height: 1; }.reserve-selected { padding: 15px; margin-bottom: 18px; border-left: 4px solid var(--gold); border-radius: 5px; background: #fff8e5; }.reserve-selected b,.reserve-selected span { display: block; }.reserve-selected span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.reserve-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.reserve-form label { color: var(--green); font-size: 11px; font-weight: 900; }.reserve-form input:not([type="checkbox"]),.reserve-form select { width: 100%; height: 46px; margin-top: 6px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; background: #f8faf8; }.reserve-consent { margin: 16px 0; display: flex; gap: 9px; color: var(--muted)!important; line-height: 1.45; }.reserve-consent input { margin-top: 2px; accent-color: var(--green); }.reserve-form .btn { min-width: 210px; }.reserve-form .btn:disabled { opacity: .45; cursor: not-allowed; }
.reserve-result { margin-top: 14px; padding: 14px; border-radius: 7px; }.reserve-result b,.reserve-result span { display: block; }.reserve-result span { margin-top: 4px; }.reserve-result.success { background: #eaf8ef; color: #11623c; }.reserve-result.error { background: #fff0ed; color: #9b2f22; }
.selection-footer { min-height: 160px; padding: 32px clamp(20px,5vw,70px); display: grid; grid-template-columns: 230px 1fr auto; align-items: center; gap: 28px; background: #001f17; color: #fff; }.selection-footer img { width: 210px; filter: brightness(0) invert(1); }.selection-footer p { color: rgba(255,255,255,.64); }.selection-footer div { display: flex; gap: 18px; font-weight: 800; }
@media (max-width:1180px) { .selection-header { grid-template-columns: 230px 1fr; }.selection-header__help { display:none; }.selection-header nav { justify-content:flex-end; }.unit-explorer__layout { grid-template-columns:210px 1fr; }.unit-selection-card { grid-column:1/-1; position:static; display:grid; grid-template-columns:300px 1fr; }.unit-selection-card__empty { grid-column:1/-1; min-height:220px; }.unit-selection-card__image { height:100%; } }
@media (max-width:880px) { .selection-header { position:relative; grid-template-columns:1fr; padding:8px 18px 12px; gap:4px; }.selection-brand { margin:auto; }.selection-header nav { justify-content:flex-start; overflow-x:auto; gap:22px; }.selection-header nav a { padding:10px 0; white-space:nowrap; }.selection-header nav a::after { bottom:4px; }.selection-hero { min-height:620px; }.selection-hero__content { margin:0 24px; padding-bottom:160px; }.selection-livebar { left:16px; right:16px; grid-template-columns:repeat(4,1fr); }.selection-livebar > small { grid-column:1/-1; }.selection-livebar div { padding-left:10px; }.selection-livebar b { font-size:23px; }.selection-progress { grid-template-columns:repeat(3,1fr); gap:8px; }.selection-progress > i { display:none; }.selection-progress > div { grid-template-columns:36px 1fr; }.selection-progress > div span { width:36px; height:36px; }.selection-progress small { display:none; }.selection-section-heading { align-items:flex-start; flex-direction:column; }.unit-status-key { justify-content:flex-start; }.block-switcher { grid-template-columns:1fr 1fr; }.unit-explorer__layout { grid-template-columns:1fr; }.unit-filters { position:static; }.unit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.unit-selection-card { grid-column:auto; grid-template-columns:260px 1fr; }.payment-studio__shell { grid-template-columns:1fr; }.payment-modes { grid-template-columns:repeat(3,1fr); }.payment-modes button { grid-template-columns:1fr; }.payment-modes button > span { grid-row:auto; }.payment-output { grid-template-columns:1fr 1fr; }.payment-output .featured { grid-column:span 2; }.reserve-unit { grid-template-columns:1fr; }.reserve-unit__visual { min-height:450px; }.selection-footer { grid-template-columns:1fr; text-align:center; }.selection-footer img { margin:auto; }.selection-footer div { justify-content:center; flex-wrap:wrap; } }
@media (max-width:560px) { .selection-hero { min-height:650px; }.selection-hero > img { object-position:58% center; }.selection-hero__shade { background:linear-gradient(0deg,rgba(0,28,20,.96),rgba(0,28,20,.32)); }.selection-hero__content { align-self:end; margin:0 18px; padding-bottom:180px; }.selection-hero h1 { font-size:45px; }.selection-hero__actions { align-items:flex-start; flex-direction:column; gap:14px; }.selection-livebar { padding:14px; grid-template-columns:1fr 1fr; }.selection-livebar div:nth-child(3) { border-left:0; padding-left:0; }.selection-livebar > small { grid-column:1/-1; }.selection-progress { width:calc(100% - 24px); }.selection-progress b { font-size:11px; }.unit-explorer { padding:55px 12px; }.block-switcher { gap:8px; }.block-switcher button { min-height:82px; grid-template-columns:38px 1fr; padding:10px; }.block-switcher button > span { width:38px; height:38px; }.block-switcher button small { font-size:9px; }.unit-results { padding:12px; }.unit-results__bar { align-items:stretch; flex-direction:column; }.unit-search { min-width:0; }.unit-grid { grid-template-columns:1fr; }.unit-card { padding:16px; }.unit-card__number span { font-size:21px; }.unit-selection-card { display:block; }.unit-selection-card__image { min-height:260px; }.payment-studio { padding:58px 12px; }.payment-modes { grid-template-columns:1fr; }.payment-modes button { grid-template-columns:42px 1fr; }.payment-modes button > span { grid-row:span 2; }.payment-calculator { padding:18px 14px; }.payment-calculator__head { align-items:flex-start; flex-direction:column; }.payment-output { grid-template-columns:1fr; }.payment-output .featured { grid-column:auto; }.diaspora-steps { grid-template-columns:1fr; }.reserve-form { padding:44px 18px; }.reserve-form__grid { grid-template-columns:1fr; }.reserve-form .btn { width:100%; }.selection-footer { padding:34px 20px; } }

.inventory-selection-cta { margin: 12px 18px 0; padding: 16px 22px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 6px 16px; border-radius: 9px; background: linear-gradient(120deg,var(--green),var(--green-3)); color: #fff; box-shadow: 0 14px 30px rgba(0,63,44,.2); }
.inventory-selection-cta span { grid-row: span 2; padding: 7px 10px; border-radius: 999px; background: var(--gold-2); color: var(--green); font-size: 10px; font-weight: 900; text-transform: uppercase; }.inventory-selection-cta b { font-size: 18px; }.inventory-selection-cta small { color: rgba(255,255,255,.75); }
.admin-view-tabs { margin: 22px 0 14px; display: inline-flex; padding: 4px; border-radius: 9px; background: #eaf0ec; }.admin-view-tabs button { min-height: 40px; padding: 0 18px; border: 0; border-radius: 7px; background: transparent; color: var(--green); font-weight: 900; cursor: pointer; }.admin-view-tabs button.active { background: var(--green); color: #fff; box-shadow: 0 6px 14px rgba(0,63,44,.18); }
.admin-view-panel[hidden] { display: none; }.admin-inventory-toolbar { grid-template-columns: minmax(220px,1fr) 150px 160px auto; }.admin-inventory-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.admin-inventory-summary article { padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.admin-inventory-summary article::before { content: ""; width: 9px; height: 9px; margin-right: 8px; display: inline-block; border-radius: 50%; background: currentColor; }.admin-inventory-summary article.available { color: #168753; }.admin-inventory-summary article.hold { color: #b47d00; }.admin-inventory-summary article.reserved { color: #c36820; }.admin-inventory-summary article.sold { color: #707b75; }.admin-inventory-summary span { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }.admin-inventory-summary strong { display: block; margin-top: 6px; color: var(--green); font-size: 30px; }
.admin-status-select { min-width: 112px; height: 34px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; font-weight: 800; }.admin-status-select.available { color: #168753; background: #eaf8f0; }.admin-status-select.hold { color: #8c6500; background: #fff8dd; }.admin-status-select.reserved { color: #a75217; background: #fff0e6; }.admin-status-select.sold { color: #5c6660; background: #edf0ee; }.admin-reservations-head { margin: 34px 0 12px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }.admin-reservations-head h2 { margin: 0; color: var(--green); }.admin-reservations-head p { margin: 4px 0 0; color: var(--muted); }.admin-reservations-head > span { padding: 7px 11px; border-radius: 999px; background: #eaf0ec; color: var(--green); font-weight: 900; }.admin-inventory-table td:first-child { color: var(--green); }
@media (max-width:760px) { .inventory-selection-cta { grid-template-columns:1fr; text-align:center; }.inventory-selection-cta span { grid-row:auto; justify-self:center; }.admin-view-tabs { display:flex; }.admin-view-tabs button { flex:1; }.admin-inventory-summary { grid-template-columns:1fr 1fr; }.admin-inventory-toolbar { grid-template-columns:1fr; }.admin-reservations-head { align-items:flex-start; flex-direction:column; } }

/* Unified responsive navigation and device safety */
html, body { width: 100%; max-width: 100%; }
main, section, article, aside, nav, form, div { min-width: 0; }
img, video, iframe, canvas { max-width: 100%; }
.nav-toggle, .selection-nav-toggle { -webkit-tap-highlight-color: transparent; }
.selection-nav-toggle { display: none; }

@media (max-width: 1360px) {
  body.nav-open { overflow: hidden; }
  .site-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand theme toggle"
      "nav nav nav"
      "book book book";
    align-items: center;
    min-height: 76px;
    padding: 7px 16px;
    gap: 8px 10px;
  }
  .site-header .brand {
    grid-area: brand;
    justify-self: start;
    order: initial;
    flex: none;
    width: clamp(176px, 32vw, 230px);
    min-width: 0;
    height: 62px;
    margin: 0;
  }
  .site-header .brand img {
    width: 100%;
    height: 60px;
  }
  .site-header .theme-toggle {
    grid-area: theme;
    justify-self: end;
    width: 40px;
    height: 40px;
    margin: 0;
  }
  .site-header .nav-toggle {
    display: inline-grid;
    position: relative;
    inset: auto;
    grid-area: toggle;
    justify-self: end;
    order: initial;
    width: 44px;
    height: 44px;
  }
  .site-header .main-nav {
    grid-area: nav;
    order: initial;
    width: 100%;
    max-height: min(62vh, 520px);
    margin: 0;
    padding: 10px;
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 14px;
    background: #f4f8f5;
    box-shadow: inset 0 0 0 1px rgba(0,63,44,.09), 0 16px 32px rgba(0,45,32,.1);
  }
  .site-header .main-nav.open { display: grid; }
  .site-header .main-nav a {
    width: 100%;
    min-height: 44px;
    height: auto;
    padding: 9px 10px;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }
  .site-header .book-visit {
    grid-area: book;
    order: initial;
    display: none;
    width: 100%;
    min-height: 44px;
    margin: 0;
  }
  .site-header .main-nav.open ~ .book-visit { display: inline-flex; }
  body.dark-theme .site-header .main-nav { background: #102b23; }
}

@media (max-width: 760px) {
  .site-header .main-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-header .main-nav a { justify-content: flex-start; text-align: left; padding-left: 14px; }
  .topbar { display: none; }
}

@media (max-width: 480px) {
  .site-header {
    padding: 6px 10px;
    grid-template-columns: minmax(0, 1fr) 38px 42px;
    gap: 6px;
  }
  .site-header .brand {
    width: clamp(150px, 54vw, 190px);
    height: 58px;
  }
  .site-header .brand img { height: 56px; }
  .site-header .theme-toggle { width: 38px; height: 38px; }
  .site-header .nav-toggle { width: 42px; height: 40px; }
  .site-header .nav-toggle span { left: 12px; }
  .site-header .main-nav {
    grid-template-columns: 1fr;
    max-height: calc(100dvh - 150px);
    padding: 8px;
  }
  .site-header .main-nav a { min-height: 42px; }
  .hero__content { padding-left: 18px; padding-right: 18px; }
  .hero-points { grid-template-columns: 1fr; }
  .hero-point-card { min-width: 0; }
  .newsletter div { grid-template-columns: minmax(0, 1fr); }
  .newsletter button { min-height: 42px; }
}

@media (max-width: 360px) {
  .site-header .brand { width: 145px; }
  .site-header .brand img { object-position: left center; }
  h1, .selection-hero h1 { overflow-wrap: anywhere; }
  .hero__content { padding-left: 14px; padding-right: 14px; }
}

@media (max-width: 880px) {
  body.selection-nav-open { overflow: hidden; }
  .selection-header {
    position: sticky;
    top: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    padding: 8px 14px;
    gap: 8px;
  }
  .selection-brand {
    justify-self: start;
    margin: 0;
  }
  .selection-brand img {
    width: min(210px, 65vw);
    height: 58px;
    object-fit: contain;
  }
  .selection-nav-toggle {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 42px;
    border: 1px solid rgba(0,63,44,.16);
    border-radius: 50%;
    background: #fff;
    color: var(--green);
  }
  .selection-nav-toggle span {
    position: absolute;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease;
  }
  .selection-nav-toggle span:nth-child(1) { transform: translateY(-6px); }
  .selection-nav-toggle span:nth-child(3) { transform: translateY(6px); }
  .selection-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
  .selection-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .selection-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }
  .selection-header nav {
    grid-column: 1 / -1;
    display: none;
    width: 100%;
    max-height: calc(100dvh - 95px);
    padding: 8px;
    flex-direction: column;
    gap: 6px;
    overflow-y: auto;
    border-radius: 12px;
    background: #f3f7f4;
    box-shadow: inset 0 0 0 1px rgba(0,63,44,.09);
  }
  .selection-header nav.open { display: flex; }
  .selection-header nav a {
    width: 100%;
    min-height: 44px;
    padding: 12px 14px;
    border-radius: 7px;
    background: #fff;
    text-align: left;
    white-space: normal;
  }
  .selection-header nav a::after { display: none; }
}

/* Fluid page-width system */
:root {
  --page-gutter: clamp(12px, 2vw, 38px);
}

main,
main > section {
  max-width: none;
}

/* Full-width content bands with consistent, responsive screen gutters. */
.mortgage-band,
.inventory-strip,
.feature-grid,
.plan-explorer,
.virtual-experience,
.investment-returns,
.connector,
.homes,
.proof-strip,
.content-columns,
.ready,
.blog-hero,
.blog-index,
.gallery-hero,
.gallery-showcase,
.gallery-wall,
.gallery-cta,
.contact-hero,
.contact-grid,
.contact-strip,
.diaspora-hero-pro,
.diaspora-process,
.diaspora-trust-row,
.diaspora-two-column,
.diaspora-returns-band,
.diaspora-testimonials,
.diaspora-final-cta {
  width: calc(100% - var(--page-gutter) - var(--page-gutter));
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

/* These are intentional full-bleed bands; their content remains padded. */
.hero,
.selection-hero,
.payment-studio,
.reserve-unit,
.selection-footer,
.footer {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.selection-progress {
  width: calc(100% - var(--page-gutter) - var(--page-gutter));
  max-width: 1480px;
}

.selection-section-heading,
.block-switcher,
.unit-explorer__layout,
.payment-studio__intro,
.payment-studio__shell {
  width: 100%;
  max-width: none;
}

/* Wide inventory artwork scales with its section instead of creating a
   desktop-width strip inside a phone viewport. */
@media (max-width: 760px) {
  .inventory-art {
    display: block;
    width: 100%;
    height: clamp(190px, 52vw, 220px);
    aspect-ratio: auto;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .inventory-art img,
  .inventory-strip--art .inventory-art img {
    width: 940px;
    max-width: none;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: left center;
  }

  .diaspora-exact {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .diaspora-exact-page {
    overflow-x: hidden;
  }
}

@media (max-width: 620px) {
  .gallery-feature,
  .gallery-feature--large {
    min-height: clamp(280px, 82vw, 420px);
  }

  .contact-form__split,
  .reserve-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* CRM final cascade alignment */
.admin-shell { width: min(1720px, calc(100% - 32px)); }
.admin-dashboard { overflow: hidden; }
.admin-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.admin-view-tabs { display: inline-flex; }
#adminLeadsPanel .admin-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(160px, 220px));
}

@media (max-width: 1180px) {
  .admin-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #adminLeadsPanel .admin-toolbar { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .admin-shell { width: calc(100% - 20px); }
  .admin-actions { width: 100%; justify-content: stretch; }
  .admin-actions .btn { flex: 1; }
  .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-view-tabs { width: 100%; display: grid; grid-template-columns: 1fr; }
  #adminLeadsPanel .admin-toolbar { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .admin-metrics { grid-template-columns: 1fr; }
  .admin-actions { display: grid; grid-template-columns: 1fr; }
}

/* Professional admin workspace, analytics and reporting */
.admin-page [hidden] { display: none !important; }

.admin-role-badge {
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #e9f4ed;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-workspace {
  margin-top: 22px;
  display: grid;
  grid-template-columns: 242px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.admin-sidebar {
  position: sticky;
  top: 18px;
  padding: 14px;
  overflow: hidden;
  border-radius: 14px;
  background:
    radial-gradient(circle at 15% 0%, rgba(242,190,57,.18), transparent 32%),
    linear-gradient(160deg, #003f2c, #00261b);
  color: #fff;
  box-shadow: 0 18px 36px rgba(0,48,34,.18);
}

.admin-user-card {
  padding: 9px 8px 17px;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.admin-user-card > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--gold-2);
  color: #153327;
  font-weight: 900;
}

.admin-user-card b,
.admin-user-card small { display: block; }
.admin-user-card b { font-size: 12px; }
.admin-user-card small { margin-top: 3px; color: rgba(255,255,255,.6); font-size: 10px; }

.admin-sidebar .admin-view-tabs {
  width: 100%;
  margin: 13px 0;
  padding: 0;
  display: grid;
  gap: 5px;
  border: 0;
  background: transparent;
}

.admin-sidebar .admin-view-tabs button {
  width: 100%;
  min-height: 43px;
  padding: 0 12px;
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  border-radius: 8px;
  color: rgba(255,255,255,.72);
  text-align: left;
}

.admin-sidebar .admin-view-tabs button span {
  color: var(--gold-2);
  font-size: 16px;
  text-align: center;
}

.admin-sidebar .admin-view-tabs button:hover { background: rgba(255,255,255,.08); color: #fff; }
.admin-sidebar .admin-view-tabs button.active { background: #fff; color: var(--green); box-shadow: none; }

.admin-sidebar-note {
  padding: 14px;
  border-radius: 9px;
  background: rgba(255,255,255,.08);
}

.admin-sidebar-note b { color: var(--gold-2); font-size: 11px; text-transform: uppercase; }
.admin-sidebar-note p { margin: 6px 0 0; color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.5; }
.admin-workspace__content { min-width: 0; }
.admin-workspace__content .admin-view-panel { margin-top: 0; }

.admin-overview-hero {
  min-height: 180px;
  padding: clamp(26px, 4vw, 44px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px;
  overflow: hidden;
  border-radius: 14px;
  background:
    linear-gradient(110deg, rgba(0,63,44,.97), rgba(0,95,64,.84)),
    url("./assets/vista2-hero-web.jpg") center 57% / cover;
  color: #fff;
}

.admin-overview-hero h2 {
  margin: 9px 0 7px;
  color: #fff;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1;
}

.admin-overview-hero p { margin: 0; color: rgba(255,255,255,.7); }
.overview-date { padding: 13px 16px; border-radius: 10px; background: rgba(255,255,255,.1); text-align: right; }
.overview-date b,.overview-date span { display: block; }
.overview-date span { margin-top: 4px; color: var(--gold-2); font-size: 11px; font-weight: 900; }

.overview-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 16px;
}

.overview-card,
.analytics-card {
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(0,63,44,.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(0,45,32,.05);
}

.overview-card--wide { grid-column: span 1; }
.overview-card__head,
.analytics-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

.overview-card__head span,
.analytics-card header span {
  color: #789087;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.overview-card__head h3,
.analytics-card h3 {
  margin: 5px 0 0;
  color: var(--green);
  font-size: 20px;
}

.overview-card__head > b { color: var(--gold); font-size: 35px; }
.text-button { border: 0; background: transparent; color: var(--green); font-weight: 900; cursor: pointer; }

.overview-funnel { margin-top: 22px; display: grid; gap: 13px; }
.overview-funnel > div { display: grid; grid-template-columns: 78px 1fr 30px; align-items: center; gap: 10px; }
.overview-funnel span { color: #54685f; font-size: 11px; font-weight: 800; }
.overview-funnel i { height: 9px; overflow: hidden; border-radius: 999px; background: #edf2ef; }
.overview-funnel i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--green),var(--gold)); }
.overview-funnel strong { color: var(--green); text-align: right; }

.overview-actions { margin-top: 18px; display: grid; gap: 9px; }
.overview-actions button { padding: 12px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; border: 1px solid #e2e9e5; border-radius: 9px; background: #f8faf9; color: #28493e; text-align: left; cursor: pointer; }
.overview-actions button strong { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: var(--green); color: #fff; font-size: 18px; }
.overview-actions button span { font-weight: 800; }
.overview-actions button b { color: var(--gold); font-size: 10px; }

.overview-traffic { margin-top: 18px; text-align: center; }
.overview-traffic > strong { display: block; color: var(--green); font-size: 64px; line-height: 1; }
.overview-traffic > span { color: #71847b; font-weight: 800; }
.overview-traffic > div { margin-top: 10px; padding: 10px; display: inline-flex; gap: 5px; border-radius: 8px; background: #f3f7f4; color: #61736b; font-size: 11px; }
.overview-traffic > div b { color: var(--green); }

.overview-activity { margin-top: 16px; display: grid; }
.overview-activity > div { padding: 11px 0; display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid #edf1ee; }
.overview-activity > div > i { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); }
.overview-activity p { margin: 0; }
.overview-activity p b,.overview-activity p span { display: block; }
.overview-activity p b { color: #24473b; }
.overview-activity p span,.overview-activity time { color: #7a8b84; font-size: 10px; }

.panel-title-row {
  margin-bottom: 18px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.panel-title-row h2 { margin: 8px 0 4px; color: var(--green); font-size: clamp(30px, 4vw, 45px); }
.panel-title-row p { margin: 0; color: #6d7f77; }
.panel-title-row select { min-height: 42px; padding: 0 13px; border: 1px solid #d8e1dc; border-radius: 7px; background: #fff; }

.analytics-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.analytics-kpis article {
  padding: 18px;
  border: 1px solid rgba(0,63,44,.09);
  border-radius: 11px;
  background: linear-gradient(145deg,#fff,#f3f8f5);
}

.analytics-kpis span,.analytics-kpis small,.analytics-kpis strong { display: block; }
.analytics-kpis span { color: #71847b; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.analytics-kpis strong { margin: 9px 0 5px; color: var(--green); font-size: clamp(26px,3vw,38px); }
.analytics-kpis small { color: #89978f; }

.analytics-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.analytics-card--wide { grid-column: span 2; }
.analytics-bars { height: 240px; margin-top: 18px; padding-top: 20px; display: flex; align-items: end; gap: clamp(5px,1vw,13px); border-bottom: 1px solid #dfe7e2; }
.analytics-bars > div { height: 100%; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 5px; }
.analytics-bars i { width: min(26px,80%); min-height: 4px; display: block; border-radius: 5px 5px 0 0; background: linear-gradient(180deg,var(--gold-2),var(--green)); }
.analytics-bars span { color: #778981; font-size: 8px; writing-mode: vertical-rl; transform: rotate(180deg); max-height: 46px; }
.analytics-bars b { color: var(--green); font-size: 9px; }

.analytics-breakdown { margin-top: 18px; display: grid; gap: 13px; }
.analytics-breakdown p { margin: 0 0 5px; display: flex; justify-content: space-between; gap: 10px; color: #52675e; font-size: 11px; }
.analytics-breakdown p b { color: #71837b; }
.analytics-breakdown i { height: 7px; display: block; overflow: hidden; border-radius: 999px; background: #edf2ef; }
.analytics-breakdown i span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--green),var(--gold)); }
.analytics-empty { color: #82928b; }
.analytics-table { min-width: 620px; }

.report-actions { display: flex; gap: 9px; }
.report-selector { margin-bottom: 17px; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.report-selector button { padding: 16px; display: grid; grid-template-columns: 34px 1fr; gap: 3px 10px; border: 1px solid #dfe6e2; border-radius: 10px; background: #fff; color: #52665e; text-align: left; cursor: pointer; }
.report-selector button > span { grid-row: span 2; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: #edf3ef; color: var(--green); font-weight: 900; }
.report-selector button b,.report-selector button small { display: block; }
.report-selector button small { color: #87968f; font-size: 9px; }
.report-selector button.active { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.report-selector button.active > span { background: var(--green); color: var(--gold-2); }

.report-document { padding: clamp(24px,4vw,46px); border: 1px solid #dfe6e2; border-radius: 12px; background: #fff; box-shadow: 0 12px 28px rgba(0,45,32,.06); }
.report-document > header { padding-bottom: 22px; display: grid; grid-template-columns: 190px 1fr; gap: 25px; align-items: center; border-bottom: 2px solid var(--green); }
.report-document > header img { width: 180px; height: 80px; object-fit: contain; }
.report-document > header span { color: #7c8d85; font-size: 10px; text-transform: uppercase; }
.report-document > header h2 { margin: 6px 0; color: var(--green); font-size: 32px; }
.report-document > header p { margin: 0; color: #64766e; }
.report-stats { margin: 22px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.report-stats > div { padding: 17px; border-radius: 9px; background: #f1f6f3; }
.report-stats span,.report-stats strong,.report-stats small { display: block; }
.report-stats span { color: #71837b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.report-stats strong { margin: 7px 0; color: var(--green); font-size: 23px; }
.report-stats small { color: #8a9892; font-size: 9px; }
.report-details { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.report-details section { padding: 20px; border: 1px solid #e1e7e3; border-radius: 9px; }
.report-details h3 { margin: 0 0 14px; color: var(--green); }
.report-details ul { margin: 0; padding-left: 18px; color: #52655d; line-height: 1.8; }
.report-details section > p { margin: 0; padding: 9px 0; display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid #edf1ee; color: #64766e; }
.report-document > footer { margin-top: 24px; padding-top: 14px; border-top: 1px solid #e3e9e5; color: #86958e; font-size: 9px; text-transform: uppercase; }

.role-cards { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.role-cards article { padding: 17px; border: 1px solid #dfe6e2; border-radius: 10px; background: #fff; }
.role-cards span,.role-cards strong,.role-cards small { display: block; }
.role-cards span { color: var(--green); font-size: 11px; font-weight: 900; }
.role-cards strong { margin: 8px 0; color: var(--gold); font-size: 30px; }
.role-cards small { color: #7b8b84; line-height: 1.5; text-transform: capitalize; }
.role-pill,.account-status { padding: 6px 9px; display: inline-flex; border-radius: 999px; background: #eef2ef; color: #52665e; font-size: 10px; font-weight: 900; }
.account-status.active { background: #e3f6eb; color: #087145; }
.crm-row-action:disabled { opacity: .35; cursor: not-allowed; }

@media (max-width: 1180px) {
  .admin-workspace { grid-template-columns: 210px minmax(0,1fr); }
  .analytics-kpis { grid-template-columns: repeat(3,1fr); }
  .analytics-grid { grid-template-columns: 1fr 1fr; }
  .role-cards { grid-template-columns: repeat(3,1fr); }
  .report-selector { grid-template-columns: 1fr 1fr; }
  .report-stats { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .admin-workspace { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; }
  .admin-user-card { grid-template-columns: 42px 1fr; }
  .admin-sidebar .admin-view-tabs { display: flex; overflow-x: auto; padding-bottom: 5px; }
  .admin-sidebar .admin-view-tabs button { flex: 0 0 auto; width: auto; grid-template-columns: 22px auto; }
  .admin-sidebar-note { display: none; }
  .overview-grid,.analytics-grid { grid-template-columns: 1fr; }
  .analytics-card--wide { grid-column: auto; }
  .analytics-kpis { grid-template-columns: 1fr 1fr; }
  .role-cards { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .admin-overview-hero { grid-template-columns: 1fr; align-items: start; }
  .overview-date { text-align: left; }
  .panel-title-row { align-items: flex-start; flex-direction: column; }
  .analytics-kpis,.report-selector,.report-stats,.report-details,.role-cards { grid-template-columns: 1fr; }
  .report-actions { width: 100%; flex-direction: column; }
  .report-actions .btn { width: 100%; }
  .report-document > header { grid-template-columns: 1fr; }
  .report-document > header img { width: 150px; }
  .analytics-bars { overflow-x: auto; }
  .analytics-bars > div { min-width: 26px; }
}

@media print {
  body.admin-page { background: #fff; }
  .admin-topbar,.admin-metrics,.admin-sidebar,.panel-title-row,.report-selector { display: none !important; }
  .admin-shell,.admin-dashboard,.admin-workspace,.admin-workspace__content { width: 100%; margin: 0; padding: 0; display: block; box-shadow: none; border: 0; }
  .admin-view-panel { display: none !important; }
  #adminReportsPanel { display: block !important; }
  .report-document { border: 0; box-shadow: none; }
}

/* Admin-controlled public website features */
.admin-controlled-hidden { display: none !important; }
.admin-content-override { white-space: pre-line; }

.admin-site-announcement {
  min-height: 38px;
  padding: 7px 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  color: #10251d;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
}

.admin-site-announcement a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

body[data-site-density="compact"] .feature-card,
body[data-site-density="compact"] .overview-card { padding: 16px; }
body[data-site-density="compact"] .mortgage-band,
body[data-site-density="compact"] .inventory-strip,
body[data-site-density="compact"] .feature-grid,
body[data-site-density="compact"] .plan-explorer,
body[data-site-density="compact"] .virtual-experience,
body[data-site-density="compact"] .investment-returns { margin-top: 7px; }
body[data-site-density="spacious"] .feature-card { padding: 30px; }
body[data-site-density="spacious"] .unit-explorer,
body[data-site-density="spacious"] .payment-studio { padding-top: 100px; padding-bottom: 100px; }

/* Website control centre */
.site-control-status {
  margin-bottom: 16px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid #cfe2d6;
  border-radius: 10px;
  background: #edf8f1;
}

.site-control-status > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.site-control-status > div > i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #0a9d61;
  box-shadow: 0 0 0 6px rgba(10,157,97,.12);
}

.site-control-status b,
.site-control-status small { display: block; }
.site-control-status b { color: var(--green); }
.site-control-status small,.site-control-status time { margin-top: 3px; color: #6f8178; font-size: 10px; }

.site-control-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.site-control-card {
  padding: 22px;
  display: grid;
  align-content: start;
  gap: 15px;
  border: 1px solid rgba(0,63,44,.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,45,32,.045);
}

.site-control-card--wide { grid-column: 1 / -1; }
.site-control-card header {
  margin-bottom: 2px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
}

.site-control-card header > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--green);
  color: var(--gold-2);
  font-weight: 900;
}

.site-control-card header h3 { margin: 0; color: var(--green); font-size: 17px; }
.site-control-card header p { margin: 4px 0 0; color: #778981; font-size: 10px; }
.site-control-card > label,
.site-control-split label,
.site-color-controls label {
  color: #294b3f;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.site-control-card input:not([type="checkbox"]):not([type="color"]),
.site-control-card select,
.site-control-card textarea {
  width: 100%;
  min-height: 44px;
  margin-top: 7px;
  padding: 10px 12px;
  border: 1px solid #d8e1dc;
  border-radius: 7px;
  background: #f9fbfa;
  color: #17372d;
  font: inherit;
}

.site-control-card textarea { resize: vertical; }
.site-control-split,.site-color-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.site-color-controls input[type="color"] { width: 100%; height: 48px; margin-top: 7px; padding: 4px; border: 1px solid #d8e1dc; border-radius: 7px; background: #fff; }

.site-feature-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}

.site-feature-grid label {
  min-height: 52px;
  padding: 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #e0e7e3;
  border-radius: 8px;
  background: #f8faf9;
  color: #405c52;
  font-size: 11px;
  font-weight: 800;
}

.site-feature-grid input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  accent-color: var(--green);
}

.site-control-preview {
  grid-column: 1 / -1;
  padding: 16px;
  border: 1px solid #dbe4df;
  border-radius: 12px;
  background: #f3f7f4;
}

.site-control-preview__image {
  min-height: 350px;
  position: relative;
  padding: clamp(25px,5vw,60px);
  display: flex;
  align-items: end;
  overflow: hidden;
  border-radius: 10px;
  background-position: center;
  background-size: cover;
  color: #fff;
}

.site-control-preview__image > span {
  position: absolute;
  right: 14px;
  top: 14px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: var(--green);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.site-control-preview__image > div { max-width: 650px; }
.site-control-preview__image small { color: var(--preview-accent); font-weight: 900; text-transform: uppercase; }
.site-control-preview__image h3 { margin: 10px 0; color: #fff; font-size: clamp(32px,5vw,60px); line-height: .95; white-space: pre-line; }
.site-control-preview__image p { margin: 0 0 17px; color: rgba(255,255,255,.78); }
.site-control-preview__image b { padding: 11px 15px; display: inline-flex; border-radius: 6px; background: var(--preview-accent); color: #15261f; }
.site-control-preview > p { margin: 10px 0 0; color: #788a82; font-size: 10px; text-align: center; }

.site-control-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}

.site-control-form > .result-box { grid-column: 1 / -1; }

@media (max-width: 900px) {
  .site-control-form { grid-template-columns: 1fr; }
  .site-control-card--wide,.site-control-preview,.site-control-actions,.site-control-form > .result-box { grid-column: auto; }
  .site-feature-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .site-control-status { align-items: flex-start; flex-direction: column; }
  .site-control-card { padding: 16px; }
  .site-control-card header { grid-template-columns: 38px 1fr; }
  .site-control-card header > span { width: 38px; height: 38px; }
  .site-control-card header .crm-switch { grid-column: 1 / -1; justify-self: end; margin-top: -38px; }
  .site-control-split,.site-color-controls,.site-feature-grid { grid-template-columns: 1fr; }
  .site-control-preview__image { min-height: 310px; padding: 25px 18px; }
  .site-control-actions { flex-direction: column; }
  .site-control-actions .btn { width: 100%; }
}

/* Dashboard polish: command header, navigation and responsive workspace */
.admin-page {
  background:
    radial-gradient(circle at 8% 0%, rgba(216, 165, 43, .1), transparent 24%),
    #f2f6f3;
}
.admin-page.admin-menu-locked { overflow: hidden; }
.admin-shell { width: min(1760px, calc(100% - 28px)); padding: 18px 0 36px; }
.admin-dashboard { padding: 0; overflow: visible; border: 0; background: transparent; box-shadow: none; }

.admin-topbar {
  position: sticky;
  top: 12px;
  z-index: 30;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border: 1px solid rgba(0, 63, 44, .09);
  border-radius: 15px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 32px rgba(0, 48, 34, .08);
  backdrop-filter: blur(14px);
}
.admin-topbar__identity { min-width: 0; display: flex; align-items: center; gap: 14px; }
.admin-context-label {
  display: block;
  color: #8a9a93;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.admin-topbar h1 { margin: 4px 0 2px; font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.035em; line-height: 1; }
.admin-topbar p { margin: 0; overflow: hidden; color: #6c7f76; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.admin-menu-toggle { display: none; }

.admin-actions { align-items: center; flex-wrap: nowrap; gap: 8px; }
.admin-actions .btn { min-height: 40px; padding: 0 14px; border-radius: 8px; font-size: 10px; white-space: nowrap; }
.admin-actions .btn > span { margin-right: 4px; font-size: 17px; line-height: 0; }
.admin-sync-status { padding-right: 12px; display: flex; align-items: center; gap: 8px; border-right: 1px solid #e1e8e4; }
.admin-sync-status > i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #1da666; box-shadow: 0 0 0 5px rgba(29, 166, 102, .1); }
.admin-sync-status b,.admin-sync-status small { display: block; white-space: nowrap; }
.admin-sync-status b { color: #274b3e; font-size: 10px; }
.admin-sync-status small { margin-top: 1px; color: #83938c; font-size: 8px; }
.admin-role-badge { min-height: 38px; padding: 0 11px; font-size: 9px; }

.admin-metrics { margin: 14px 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.admin-metrics .admin-metric {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(0, 63, 44, .08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(0, 45, 32, .04);
}
.admin-metric > div { display: flex; align-items: center; gap: 8px; }
.admin-metric > div i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #eaf4ee; color: #087044; font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: .04em; }
.admin-metric > div span { font-size: 9px; letter-spacing: .06em; }
.admin-metrics .admin-metric strong { margin-top: 12px; font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.04em; }
.admin-metrics .admin-metric small { margin-top: 5px; font-size: 9px; }
.admin-metric--gold > div i { background: #fff3d5; color: #9a6900; }
.admin-metric--blue > div i { background: #e9f1fb; color: #326999; }
.admin-metric--alert > div i { background: #ffebe8; color: #b54235; }
.admin-metric--alert { border-color: rgba(181, 66, 53, .18) !important; }

.admin-workspace { margin-top: 0; grid-template-columns: 252px minmax(0, 1fr); gap: 14px; }
.admin-sidebar {
  top: 104px;
  max-height: calc(100vh - 122px);
  padding: 13px;
  overflow-y: auto;
  border-radius: 15px;
  box-shadow: 0 16px 34px rgba(0, 48, 34, .16);
  scrollbar-width: thin;
}
.admin-sidebar-brand { min-height: 51px; padding: 3px 5px 10px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.1); }
.admin-sidebar-brand img { width: 132px; height: 44px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.admin-sidebar-brand button { width: 34px; height: 34px; display: none; border: 0; border-radius: 8px; background: rgba(255,255,255,.09); color: #fff; font-size: 23px; cursor: pointer; }
.admin-user-card { padding: 13px 6px; }
.admin-sidebar .admin-view-tabs { margin: 6px 0 12px; gap: 3px; }
.admin-nav-label { margin: 12px 9px 4px; display: block; color: rgba(255,255,255,.36); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.admin-sidebar .admin-view-tabs button { min-height: 39px; padding: 0 10px; grid-template-columns: 27px 1fr auto; gap: 7px; font-size: 10px; }
.admin-sidebar .admin-view-tabs button span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.08); color: var(--gold-2); font-size: 8px; font-weight: 900; }
.admin-sidebar .admin-view-tabs button.active span { background: #e9f3ed; color: var(--green); }
.admin-sidebar-note { padding: 12px; }
.admin-sidebar-backdrop { display: none; }

.admin-workspace__content { min-height: 680px; padding: 20px; border: 1px solid rgba(0,63,44,.07); border-radius: 15px; background: rgba(255,255,255,.64); }
.admin-overview-hero { border-radius: 12px; box-shadow: 0 14px 30px rgba(0, 57, 40, .14); }
.overview-card,.analytics-card,.site-control-card,.report-document { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.overview-card:hover,.analytics-card:hover { border-color: rgba(0,63,44,.18); box-shadow: 0 14px 30px rgba(0,45,32,.08); transform: translateY(-2px); }
.admin-toolbar { padding: 11px; align-items: center; border: 1px solid rgba(0,63,44,.08); border-radius: 11px; background: #fff; box-shadow: 0 7px 20px rgba(0,45,32,.04); }
.admin-toolbar input,.admin-toolbar select { min-height: 42px; border-radius: 8px; background-color: #f8faf9; }
.admin-table-wrap { border-radius: 10px; background: #fff; box-shadow: 0 7px 20px rgba(0,45,32,.035); }
.admin-table th { position: sticky; top: 0; z-index: 2; background: #f3f7f4; }
.admin-table tbody tr { transition: background-color .16s ease; }
.admin-table tbody tr:hover { background: #f8fbf9; }
.panel-title-row h2 { font-size: clamp(27px, 3vw, 39px); letter-spacing: -.035em; }
.admin-page button:focus-visible,.admin-page a:focus-visible,.admin-page input:focus-visible,.admin-page select:focus-visible,.admin-page textarea:focus-visible { outline: 3px solid rgba(217,159,36,.35); outline-offset: 2px; }

@media (max-width: 1240px) {
  .admin-sync-status { display: none; }
  .admin-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-workspace { grid-template-columns: 222px minmax(0,1fr); }
}

@media (max-width: 900px) {
  .admin-shell { width: min(100% - 18px, 860px); padding-top: 9px; }
  .admin-topbar { top: 7px; padding: 13px; }
  .admin-menu-toggle { width: 40px; height: 40px; padding: 10px; flex: 0 0 auto; display: grid; align-content: center; gap: 4px; border: 1px solid #dae4de; border-radius: 9px; background: #f4f8f5; cursor: pointer; }
  .admin-menu-toggle span { height: 2px; display: block; border-radius: 99px; background: var(--green); }
  .admin-topbar p { max-width: 420px; }
  .admin-role-badge,.admin-actions #exportLeads { display: none; }
  .admin-actions .btn { min-height: 40px; }
  .admin-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-workspace { display: block; }
  .admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 80; width: min(300px, 86vw); max-height: none; padding: 15px; border-radius: 0 18px 18px 0; transform: translateX(-105%); transition: transform .25s ease; }
  .admin-sidebar-brand button { display: grid; place-items: center; }
  .admin-sidebar .admin-view-tabs { display: grid; overflow: visible; }
  .admin-sidebar .admin-view-tabs button { width: 100%; flex: none; grid-template-columns: 27px 1fr; }
  .admin-sidebar-note { display: block; }
  .admin-sidebar-backdrop { position: fixed; inset: 0; z-index: 70; border: 0; display: block; visibility: hidden; background: rgba(0, 25, 18, .55); opacity: 0; transition: opacity .25s ease, visibility .25s ease; }
  .admin-dashboard.admin-nav-open .admin-sidebar { transform: translateX(0); }
  .admin-dashboard.admin-nav-open .admin-sidebar-backdrop { visibility: visible; opacity: 1; }
  .admin-workspace__content { min-height: 0; padding: 14px; }
}

@media (max-width: 620px) {
  .admin-topbar__identity { min-width: 0; flex: 1; }
  .admin-context-label { display: none; }
  .admin-topbar h1 { font-size: 21px; }
  .admin-topbar p { max-width: 58vw; font-size: 9px; }
  .admin-actions #adminLogout { display: none; }
  .admin-actions #addLeadButton { width: 40px; padding: 0; overflow: hidden; color: transparent; font-size: 0; }
  .admin-actions #addLeadButton > span { margin: 0; color: #fff; font-size: 22px; }
  .admin-metrics { margin: 10px 0; gap: 8px; }
  .admin-metrics .admin-metric { padding: 12px; }
  .admin-metric > div i { width: 26px; height: 26px; }
  .admin-metrics .admin-metric strong { font-size: 25px; }
  .admin-metrics .admin-metric small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .admin-metrics .admin-metric:last-child { grid-column: 1 / -1; }
  .admin-workspace__content { padding: 10px; border-radius: 12px; }
  .admin-overview-hero { min-height: 210px; padding: 22px 18px; }
  .admin-overview-hero h2 { font-size: 31px; }
  .overview-card,.analytics-card { padding: 17px; }
  .admin-toolbar { padding: 9px; }
}

/* Sales task centre, action alerts and workspace safety */
.admin-notifications { position: relative; }
.admin-alert-button {
  width: 40px;
  height: 40px;
  position: relative;
  display: grid;
  place-items: center;
  border: 1px solid #dce5e0;
  border-radius: 9px;
  background: #f7faf8;
  color: var(--green);
  cursor: pointer;
}
.admin-alert-button > span { width: 20px; height: 20px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 900; }
.admin-alert-button > b { min-width: 17px; height: 17px; padding: 0 4px; position: absolute; top: -6px; right: -6px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 999px; background: #c84b3f; color: #fff; font-size: 8px; }
.admin-alert-popover {
  width: min(390px, calc(100vw - 28px));
  max-height: min(520px, 76vh);
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 90;
  overflow: hidden;
  border: 1px solid rgba(0,63,44,.11);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(0,35,24,.2);
}
.admin-alert-popover > header { padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e8eeea; background: #f7faf8; }
.admin-alert-popover header b,.admin-alert-popover header small { display: block; }
.admin-alert-popover header b { color: var(--green); }
.admin-alert-popover header small { margin-top: 2px; color: #7d8d86; font-size: 9px; }
.admin-alert-popover header button { width: 30px; height: 30px; border: 0; border-radius: 7px; background: #e8efeb; color: var(--green); font-size: 20px; cursor: pointer; }
#notificationList { max-height: 410px; overflow-y: auto; }
#notificationList > button { width: 100%; padding: 13px 15px; display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 11px; border: 0; border-bottom: 1px solid #edf1ef; background: #fff; color: #37564b; text-align: left; cursor: pointer; }
#notificationList > button:hover { background: #f6faf7; }
#notificationList > button > i { width: 8px; height: 8px; border-radius: 50%; background: #15915a; }
#notificationList > button > i.alert { background: #c84b3f; }
#notificationList > button > i.gold { background: var(--gold); }
#notificationList > button b,#notificationList > button small { display: block; }
#notificationList > button b { color: #24473b; font-size: 11px; }
#notificationList > button small { margin-top: 4px; color: #84938d; font-size: 9px; }
#notificationList > button strong { color: var(--green); font-size: 9px; }
.admin-alert-empty { padding: 34px 18px; text-align: center; }
.admin-alert-empty b,.admin-alert-empty small { display: block; }
.admin-alert-empty b { color: var(--green); }
.admin-alert-empty small { margin-top: 5px; color: #7e8e87; }

.task-summary { margin-bottom: 13px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.task-summary article { padding: 15px; border: 1px solid #e0e8e3; border-radius: 11px; background: #fff; box-shadow: 0 7px 20px rgba(0,45,32,.035); }
.task-summary article::before { content: ""; width: 8px; height: 8px; margin-right: 7px; display: inline-block; border-radius: 50%; background: #168753; }
.task-summary article.gold::before { background: var(--gold); }
.task-summary article.alert::before { background: #c84b3f; }
.task-summary article.blue::before { background: #4c7fac; }
.task-summary span { color: #6d8077; font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.task-summary strong { margin: 8px 0 4px; display: block; color: var(--green); font-size: 30px; }
.task-summary small { color: #89968f; font-size: 9px; }
.task-toolbar { grid-template-columns: minmax(260px,1fr) 170px 190px; }
.task-list { display: grid; gap: 9px; }
.task-item {
  min-width: 0;
  padding: 14px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) minmax(180px, .36fr) 32px;
  align-items: center;
  gap: 13px;
  border: 1px solid #e0e8e3;
  border-left: 4px solid #74a48f;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(0,45,32,.035);
}
.task-item--today { border-left-color: var(--gold); }
.task-item--overdue { border-left-color: #c84b3f; }
.task-item.is-complete { opacity: .62; border-left-color: #93a29b; }
.task-complete { width: 36px; height: 36px; display: grid; place-items: center; border: 2px solid #cfdcd5; border-radius: 50%; background: #fff; color: transparent; cursor: pointer; }
.task-complete:hover,.task-item.is-complete .task-complete { border-color: #168753; background: #168753; color: #fff; }
.task-item__body { min-width: 0; }
.task-item__body > div { display: flex; align-items: center; gap: 8px; color: #819088; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.task-priority { padding: 4px 7px; border-radius: 999px; background: #edf3ef; color: #4d695d; }
.task-priority--urgent { background: #ffebe8; color: #a43a30; }
.task-priority--high { background: #fff2d6; color: #8b6409; }
.task-priority--low { background: #edf2f7; color: #607488; }
.task-item h3 { margin: 7px 0 4px; color: var(--green); font-size: 15px; }
.task-item p { margin: 0; overflow: hidden; color: #778880; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.task-item__meta { padding-left: 13px; border-left: 1px solid #e6ece8; }
.task-item__meta b,.task-item__meta span,.task-item__meta time { display: block; }
.task-item__meta b { color: #315347; font-size: 10px; }
.task-item__meta span { margin-top: 3px; color: #83928b; font-size: 9px; }
.task-item__meta time { margin-top: 6px; color: #6f8178; font-size: 9px; font-weight: 800; }
.task-item--overdue .task-item__meta time { color: #b33f34; }
.task-delete { width: 30px; height: 30px; border: 0; border-radius: 7px; background: #f2f5f3; color: #8b9a93; font-size: 18px; cursor: pointer; }
.task-delete:hover { background: #ffebe8; color: #ae3e34; }
.task-empty { padding: 65px 20px; border: 1px dashed #ccd9d2; border-radius: 12px; background: rgba(255,255,255,.6); text-align: center; }
.task-empty strong { color: var(--green); }
.task-empty p { margin: 6px 0 0; color: #7c8d85; }

.admin-data-safety {
  margin-top: 28px;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(0,63,44,.12);
  border-radius: 12px;
  background: linear-gradient(135deg,#f8fbf9,#edf5f0);
}
.admin-data-safety h3 { margin: 9px 0 5px; color: var(--green); font-size: 22px; }
.admin-data-safety p { max-width: 720px; margin: 0; color: #708179; font-size: 11px; }
.admin-data-safety__actions { display: flex; gap: 8px; }
.admin-data-safety__actions label { cursor: pointer; }
.admin-data-safety__actions input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.admin-data-safety > .result-box { grid-column: 1 / -1; margin: 0; }

@media (max-width: 900px) {
  .task-summary { grid-template-columns: 1fr 1fr; }
  .task-toolbar { grid-template-columns: 1fr 1fr; }
  .task-toolbar input { grid-column: 1 / -1; }
  .task-item { grid-template-columns: 38px minmax(0,1fr) 32px; }
  .task-item__meta { grid-column: 2 / -1; padding: 9px 0 0; display: flex; flex-wrap: wrap; gap: 6px 12px; border-top: 1px solid #e8eeea; border-left: 0; }
  .task-item__meta span,.task-item__meta time { margin: 0; }
  .admin-data-safety { grid-template-columns: 1fr; }
  .admin-data-safety__actions { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .admin-alert-popover { position: fixed; top: 70px; right: 9px; }
  .task-summary { gap: 7px; }
  .task-summary article { padding: 12px; }
  .task-summary strong { font-size: 25px; }
  .task-toolbar { grid-template-columns: 1fr; }
  .task-toolbar input { grid-column: auto; }
  .task-item { padding: 12px; grid-template-columns: 34px minmax(0,1fr) 28px; gap: 9px; }
  .task-complete { width: 32px; height: 32px; }
  .task-item__meta { grid-column: 1 / -1; }
  .admin-data-safety { padding: 17px; }
  .admin-data-safety__actions { flex-direction: column; }
  .admin-data-safety__actions .btn { width: 100%; }
}

/* Enterprise property-sales operating suite */
.enterprise-mode { padding: 9px 12px; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: #e6f5ec; color: #176e49; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.enterprise-mode i { width: 8px; height: 8px; border-radius: 50%; background: #1ba565; box-shadow: 0 0 0 4px rgba(27,165,101,.12); }
.enterprise-tabs { margin-bottom: 15px; padding: 5px; display: flex; gap: 4px; overflow-x: auto; border: 1px solid #dfe8e3; border-radius: 11px; background: #edf3ef; scrollbar-width: thin; }
.enterprise-tabs button { min-height: 38px; padding: 0 13px; flex: 0 0 auto; border: 0; border-radius: 8px; background: transparent; color: #61756c; font-size: 9px; font-weight: 900; cursor: pointer; }
.enterprise-tabs button.active { background: #fff; color: var(--green); box-shadow: 0 5px 13px rgba(0,45,32,.08); }
.enterprise-kpis { margin-bottom: 13px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.enterprise-kpis article { padding: 17px; border: 1px solid #e0e8e3; border-radius: 11px; background: linear-gradient(145deg,#fff,#f4f8f5); }
.enterprise-kpis span,.enterprise-kpis strong,.enterprise-kpis small { display: block; }
.enterprise-kpis span { color: #71847b; font-size: 8px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.enterprise-kpis strong { margin: 9px 0 5px; overflow: hidden; color: var(--green); font-size: clamp(24px,2.5vw,34px); letter-spacing: -.04em; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-kpis small { color: #87958f; font-size: 9px; }
.enterprise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.enterprise-card { min-width: 0; padding: 19px; overflow: hidden; border: 1px solid #e0e8e3; border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(0,45,32,.04); }
.enterprise-card > header { margin-bottom: 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.enterprise-card header span { color: #82928a; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.enterprise-card header h3 { margin: 5px 0 0; color: var(--green); font-size: 18px; }
.enterprise-card header > button,.enterprise-card header > div + button,.enterprise-card [data-open-view],.enterprise-card [data-ent-open] { padding: 7px 9px; border: 1px solid #d9e3dd; border-radius: 7px; background: #f7faf8; color: var(--green); font-size: 8px; font-weight: 900; cursor: pointer; }
.enterprise-briefing { padding: 15px; display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: 11px; border-radius: 10px; background: linear-gradient(135deg,#003f2c,#075b40); }
.enterprise-briefing > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; background: var(--gold-2); color: #173a2d; font-weight: 900; }
.enterprise-briefing p { margin: 0; color: rgba(255,255,255,.8); font-size: 11px; line-height: 1.65; }
.enterprise-quick-actions { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.enterprise-quick-actions button { padding: 9px; border: 1px solid #e0e8e3; border-radius: 8px; background: #f8faf9; color: #466258; font-size: 9px; font-weight: 800; cursor: pointer; }
.enterprise-ranked { display: grid; gap: 8px; }
.enterprise-ranked > div { padding: 9px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; border-radius: 8px; background: #f7faf8; }
.enterprise-ranked > div > b { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: #e3f2e9; color: #14734b; font-size: 10px; }
.enterprise-ranked span strong,.enterprise-ranked span small { display: block; }
.enterprise-ranked span strong { color: #315246; font-size: 10px; }
.enterprise-ranked span small { margin-top: 3px; color: #83928b; font-size: 8px; }
.enterprise-ranked em { color: var(--green); font-size: 9px; font-style: normal; font-weight: 900; }
.enterprise-forecast strong,.enterprise-forecast span,.enterprise-forecast small { display: block; }
.enterprise-forecast strong { color: var(--green); font-size: clamp(28px,4vw,47px); letter-spacing: -.05em; }
.enterprise-forecast span { color: #71837b; font-weight: 800; }
.enterprise-forecast > i { height: 8px; margin: 16px 0 10px; display: block; overflow: hidden; border-radius: 999px; background: #eaf0ec; }
.enterprise-forecast > i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--green),var(--gold)); }
.enterprise-forecast small { color: #84938c; line-height: 1.5; }
.enterprise-readiness { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.enterprise-readiness > span { padding: 9px; display: grid; grid-template-columns: 8px 1fr; align-items: center; gap: 7px; border-radius: 8px; background: #f6f8f7; color: #687a72; font-size: 9px; text-transform: uppercase; }
.enterprise-readiness i { width: 7px; height: 7px; border-radius: 50%; background: #c0cbc5; }
.enterprise-readiness span.ready i { background: #1ba565; }
.enterprise-readiness b { grid-column: 2; color: #8b9892; font-size: 7px; }
.enterprise-section-head { margin: 8px 0 13px; display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.enterprise-section-head h3 { margin: 0; color: var(--green); font-size: 22px; }
.enterprise-section-head p { margin: 4px 0 0; color: #7b8c84; font-size: 10px; }
.enterprise-section-head button { cursor: pointer; }
.enterprise-table { max-height: 560px; }
.enterprise-table td strong,.enterprise-table td small { display: block; }
.enterprise-table td small { margin-top: 3px; color: #85938d; font-size: 8px; }
.enterprise-status { padding: 6px 8px; display: inline-flex; border-radius: 999px; background: #edf2ef; color: #60726a; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.enterprise-status--approved,.enterprise-status--verified,.enterprise-status--signed { background: #e1f5e9; color: #087145; }
.enterprise-status--held,.enterprise-status--pending,.enterprise-status--pending-review { background: #fff2d2; color: #896207; }
.enterprise-status--released,.enterprise-status--expired,.enterprise-status--rejected { background: #ffebe8; color: #ad3e33; }
.table-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.table-actions button,.enterprise-table td > button { padding: 6px 7px; border: 1px solid #dce5e0; border-radius: 6px; background: #f7faf8; color: var(--green); font-size: 8px; font-weight: 900; cursor: pointer; }
.enterprise-empty { padding: 35px 15px; text-align: center; }
.enterprise-empty b { color: var(--green); }
.enterprise-empty p { margin: 5px 0 0; color: #819088; font-size: 10px; }
.enterprise-inbox,.enterprise-appointments { display: grid; gap: 8px; }
.enterprise-message { padding: 13px; display: grid; grid-template-columns: 38px 1fr auto; align-items: start; gap: 11px; border: 1px solid #e2e9e5; border-radius: 10px; background: #fff; }
.enterprise-message > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; background: #e7f3ec; color: var(--green); font-style: normal; font-weight: 900; text-transform: uppercase; }
.enterprise-message span { color: #83928b; font-size: 8px; text-transform: uppercase; }
.enterprise-message h3 { margin: 4px 0; color: #315347; font-size: 12px; }
.enterprise-message p { margin: 0; color: #70827a; font-size: 10px; }
.enterprise-message > b { color: #218359; font-size: 8px; text-transform: uppercase; }
.enterprise-appointment { padding: 13px; display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 12px; border: 1px solid #e2e9e5; border-radius: 10px; background: #fff; }
.enterprise-appointment time { height: 50px; display: grid; place-items: center; align-content: center; border-radius: 9px; background: var(--green); color: #fff; }
.enterprise-appointment time b { font-size: 18px; line-height: 1; }
.enterprise-appointment time span { margin-top: 3px; color: var(--gold-2); font-size: 8px; text-transform: uppercase; }
.enterprise-appointment div > span { color: #82918a; font-size: 8px; text-transform: uppercase; }
.enterprise-appointment h3 { margin: 4px 0; color: #315347; font-size: 12px; }
.enterprise-appointment p { margin: 0; color: #72837b; font-size: 9px; }
.enterprise-appointment > b { color: #168052; font-size: 8px; text-transform: uppercase; }
.enterprise-callout { margin-top: 13px; padding: 17px; border: 1px solid #eed895; border-radius: 10px; background: #fffae9; }
.enterprise-callout b { color: #78560a; }
.enterprise-callout p { margin: 5px 0 0; color: #7d704d; font-size: 10px; line-height: 1.6; }
.enterprise-callout--security { border-color: #cbded3; background: #edf6f1; }
.enterprise-callout--security b { color: var(--green); }
.enterprise-callout--security p { color: #60766c; }
.enterprise-callout .btn { margin-top: 10px; }
.enterprise-ticket { padding: 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 10px; border-bottom: 1px solid #e8eeea; }
.enterprise-ticket small { color: #84928c; font-size: 8px; text-transform: uppercase; }
.enterprise-ticket h3 { margin: 4px 0; color: #315347; font-size: 12px; }
.enterprise-ticket p { margin: 0; color: #72837b; font-size: 9px; }
.enterprise-ticket > div:last-child { display: grid; justify-items: end; gap: 7px; color: #17794f; font-size: 9px; }
.enterprise-ticket button { padding: 5px 7px; border: 0; border-radius: 5px; background: #e5f4eb; color: #147349; font-size: 8px; cursor: pointer; }
.enterprise-update { padding: 11px 0; display: grid; grid-template-columns: 42px 1fr; gap: 10px; border-bottom: 1px solid #e8eeea; }
.enterprise-update > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #e5f3ea; color: var(--green); font-size: 9px; font-weight: 900; }
.enterprise-update b { color: #315347; font-size: 11px; }
.enterprise-update p { margin: 4px 0 7px; color: #788980; font-size: 9px; }
.enterprise-update i { height: 5px; display: block; overflow: hidden; border-radius: 999px; background: #e8eeea; }
.enterprise-update i b { height: 100%; display: block; background: linear-gradient(90deg,var(--green),var(--gold)); }
.enterprise-dialog .crm-dialog__shell { width: min(760px,calc(100vw - 30px)); }
.commercial-grid { margin-top:12px; }
.commercial-target { padding:11px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #e7ede9; }
.commercial-target b,.commercial-target small { display:block; }
.commercial-target b { color:#315347; font-size:10px; }
.commercial-target small { margin-top:3px; color:#82918a; font-size:8px; }
.commercial-target strong { color:var(--green); font-size:11px; }
.feedback-card { padding:11px; display:grid; grid-template-columns:38px 1fr; gap:10px; border-bottom:1px solid #e7ede9; }
.feedback-card > strong { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; background:#e3f3e9; color:var(--green); }
.feedback-card b { color:#315347; font-size:10px; }
.feedback-card p { margin:4px 0 0; color:#788980; font-size:9px; }
.unit-offer-badge { padding:5px 7px; border-radius:999px; background:#fff0c7; color:#7e5900; font-size:8px; font-style:normal; font-weight:900; text-transform:uppercase; }
.unit-card__price s { color:#9a5b52; }

@media (max-width:1100px) {
  .enterprise-kpis { grid-template-columns: 1fr 1fr; }
  .enterprise-grid { grid-template-columns: 1fr; }
}
@media (max-width:620px) {
  .admin-portal-link { display: none !important; }
  .enterprise-mode { display: none; }
  .enterprise-kpis { grid-template-columns: 1fr 1fr; gap: 7px; }
  .enterprise-kpis article { padding: 13px; }
  .enterprise-kpis strong { font-size: 23px; }
  .enterprise-card { padding: 15px; }
  .enterprise-section-head { align-items: flex-start; flex-direction: column; }
  .enterprise-section-head > button,.enterprise-section-head > div:last-child { width: 100%; }
  .enterprise-section-head .btn { width: 100%; }
  .enterprise-message { grid-template-columns: 34px 1fr; }
  .enterprise-message > b { grid-column: 2; }
  .enterprise-appointment { grid-template-columns: 46px 1fr; }
  .enterprise-appointment > b { grid-column: 2; }
  .enterprise-ticket { grid-template-columns: 1fr; }
  .enterprise-ticket > div:last-child { justify-items: start; }
}

/* Secure-ready buyer portal */
.buyer-portal-page { min-height:100vh; background:radial-gradient(circle at 10% 0%,rgba(217,159,36,.13),transparent 25%),#eef4f0; }
.buyer-portal-shell { width:min(1440px,calc(100% - 28px)); margin:0 auto; padding:24px 0 45px; }
.buyer-login { width:min(530px,100%); margin:4vh auto 0; padding:34px; border:1px solid rgba(0,63,44,.09); border-radius:18px; background:#fff; box-shadow:0 25px 65px rgba(0,45,32,.14); }
.buyer-login > a img { width:190px; height:74px; object-fit:contain; object-position:left center; }
.buyer-login h1 { margin:14px 0 8px; color:var(--green); font-size:clamp(35px,6vw,57px); line-height:.98; letter-spacing:-.05em; }
.buyer-login > p { color:#62766d; line-height:1.6; }
.buyer-login form { margin-top:22px; display:grid; gap:12px; }
.buyer-login label { color:var(--green); font-size:11px; font-weight:900; }
.buyer-login input { width:100%; min-height:48px; margin-top:6px; padding:0 13px; border:1px solid #d6e1da; border-radius:9px; }
.buyer-login .btn { width:100%; margin-top:3px; }
.buyer-demo-button { min-height:42px; border:0; background:transparent; color:var(--green); font-weight:900; cursor:pointer; }
.buyer-login > small { margin-top:17px; display:block; color:#89968f; line-height:1.5; text-align:center; }
.buyer-dashboard { display:grid; gap:13px; }
.buyer-header { padding:13px 16px; display:grid; grid-template-columns:160px 1fr auto; align-items:center; gap:17px; border:1px solid rgba(0,63,44,.09); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 11px 30px rgba(0,45,32,.07); }
.buyer-header img { width:145px; height:54px; object-fit:contain; object-position:left center; }
.buyer-header span { color:#809088; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.buyer-header h1 { margin:4px 0 0; color:var(--green); font-size:22px; }
.buyer-hero { min-height:220px; padding:clamp(25px,5vw,55px); display:grid; grid-template-columns:1fr auto; align-items:end; gap:22px; overflow:hidden; border-radius:15px; background:linear-gradient(100deg,rgba(0,55,39,.96),rgba(0,80,56,.65)),url("./assets/vista2-hero-web.jpg") center 57%/cover; color:#fff; box-shadow:0 18px 40px rgba(0,50,35,.16); }
.buyer-hero h2 { margin:10px 0 6px; color:#fff; font-size:clamp(32px,5vw,58px); letter-spacing:-.05em; }
.buyer-hero p { margin:0; color:rgba(255,255,255,.72); }
.buyer-reference { padding:15px; border-radius:10px; background:rgba(255,255,255,.11); backdrop-filter:blur(8px); }
.buyer-reference span,.buyer-reference strong { display:block; }
.buyer-reference span { color:rgba(255,255,255,.58); font-size:8px; text-transform:uppercase; }
.buyer-reference strong { margin-top:5px; color:var(--gold-2); }
.buyer-tabs { padding:5px; display:flex; gap:4px; overflow-x:auto; border:1px solid #dfe8e3; border-radius:11px; background:#e5ede8; }
.buyer-tabs button { min-height:39px; padding:0 16px; flex:0 0 auto; border:0; border-radius:8px; background:transparent; color:#61756c; font-size:9px; font-weight:900; cursor:pointer; }
.buyer-tabs button.active { background:#fff; color:var(--green); box-shadow:0 5px 14px rgba(0,45,32,.08); }
#buyerContent { min-height:430px; padding:20px; border:1px solid rgba(0,63,44,.07); border-radius:14px; background:rgba(255,255,255,.72); }
.buyer-kpis { margin-bottom:13px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.buyer-kpis article { padding:18px; border:1px solid #e0e8e3; border-radius:11px; background:#fff; }
.buyer-kpis span,.buyer-kpis strong,.buyer-kpis small { display:block; }
.buyer-kpis span { color:#73857c; font-size:8px; font-weight:900; text-transform:uppercase; }
.buyer-kpis strong { margin:9px 0 5px; color:var(--green); font-size:26px; }
.buyer-kpis small { color:#87958e; font-size:9px; }
.buyer-card { padding:20px; border:1px solid #e0e8e3; border-radius:12px; background:#fff; box-shadow:0 8px 22px rgba(0,45,32,.04); }
.buyer-card + .buyer-card { margin-top:12px; }
.buyer-card header span { color:#7e9087; font-size:8px; font-weight:900; text-transform:uppercase; }
.buyer-card header h3 { margin:5px 0 15px; color:var(--green); font-size:20px; }
.buyer-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; }
.buyer-steps > div { position:relative; display:grid; justify-items:center; gap:8px; text-align:center; }
.buyer-steps > div::after { content:""; height:2px; position:absolute; top:18px; left:56%; right:-44%; background:#dfe7e2; }
.buyer-steps > div:last-child::after { display:none; }
.buyer-steps i { width:36px; height:36px; z-index:1; display:grid; place-items:center; border-radius:50%; background:#e8eeea; color:#71847b; font-style:normal; font-weight:900; }
.buyer-steps .complete i { background:var(--green); color:#fff; }
.buyer-steps .complete::after { background:var(--green); }
.buyer-steps b,.buyer-steps small { display:block; }
.buyer-steps b { color:#3e5c51; font-size:9px; }
.buyer-steps small { margin-top:3px; color:#87958e; font-size:7px; }
.buyer-action-grid { margin-top:12px; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
.buyer-action-grid button { padding:17px; display:grid; grid-template-columns:34px 1fr; gap:3px 10px; border:1px solid #dfe7e2; border-radius:11px; background:#fff; color:#526a60; text-align:left; cursor:pointer; }
.buyer-action-grid button > span { grid-row:span 2; width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:#e7f2eb; color:var(--green); font-size:9px; font-weight:900; }
.buyer-action-grid b { color:var(--green); font-size:11px; }
.buyer-action-grid small { color:#83918b; font-size:8px; }
.buyer-section-head { margin-bottom:15px; display:flex; align-items:end; justify-content:space-between; gap:16px; }
.buyer-section-head h2 { margin:0; color:var(--green); font-size:30px; letter-spacing:-.04em; }
.buyer-section-head p { margin:5px 0 0; color:#74867d; }
.buyer-section-head > strong { color:var(--gold); font-size:22px; }
.buyer-records { display:grid; gap:8px; }
.buyer-records > article { padding:14px; display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid #e0e8e3; border-radius:10px; background:#fff; }
.buyer-records span { color:#809088; font-size:8px; text-transform:uppercase; }
.buyer-records h3 { margin:5px 0; color:var(--green); }
.buyer-records p { margin:0; color:#809088; font-size:9px; }
.buyer-records > article > b { padding:6px 8px; border-radius:999px; background:#fff1d2; color:#896207; font-size:8px; text-transform:uppercase; }
.buyer-records > article > b.verified,.buyer-records > article > b.approved,.buyer-records > article > b.signed { background:#e2f5e9;color:#087145; }
.buyer-empty { padding:50px 20px; border:1px dashed #ccd9d2; border-radius:10px; text-align:center; }
.buyer-empty b { color:var(--green); }
.buyer-empty p { color:#809088; }
.buyer-notice { margin-top:12px; padding:16px; border-radius:10px; background:#fff7df; }
.buyer-notice b { color:#72500b; }
.buyer-notice p { margin:5px 0 0; color:#766b50; font-size:10px; }
.buyer-updates { display:grid; gap:10px; }
.buyer-updates article { padding:18px; display:grid; grid-template-columns:72px 1fr; align-items:center; gap:16px; border:1px solid #e0e8e3; border-radius:11px; background:#fff; }
.buyer-progress { width:68px; height:68px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--green) var(--progress),#e8eeea 0); }
.buyer-progress::before { content:""; width:52px; height:52px; grid-area:1/1; border-radius:50%; background:#fff; }
.buyer-progress strong { z-index:1; grid-area:1/1; color:var(--green); font-size:12px; }
.buyer-updates span { color:#82928a; font-size:8px; }
.buyer-updates h3 { margin:5px 0; color:var(--green); }
.buyer-updates p { margin:0; color:#70827a; }
.buyer-two-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.buyer-line { padding:11px 0; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #e8eeea; }
.buyer-line b,.buyer-line small { display:block; }
.buyer-line b { color:#315347;font-size:10px; }
.buyer-line small { margin-top:3px;color:#84938c;font-size:8px; }
.buyer-line > strong { color:#168052;font-size:8px;text-transform:uppercase; }
.buyer-preferences { display:grid; gap:8px; }
.buyer-preferences > div { padding:10px; display:flex; align-items:center; justify-content:space-between; border-radius:9px; background:#f6f9f7; }
.buyer-preferences b,.buyer-preferences small { display:block; }
.buyer-preferences b { color:#315347; }
.buyer-preferences small { margin-top:3px;color:#819088;font-size:8px; }
.buyer-preferences button { padding:7px 9px; border:0; border-radius:999px; background:#e8eeea; color:#708078; font-size:8px;font-weight:900;cursor:pointer; }
.buyer-preferences button.active { background:#dff4e7;color:#087145; }

@media(max-width:760px){
  .buyer-portal-shell{width:calc(100% - 18px);padding-top:9px}
  .buyer-login{padding:25px 20px}
  .buyer-header{grid-template-columns:1fr auto}.buyer-header>a{display:none}.buyer-header h1{font-size:18px}
  .buyer-hero{min-height:260px;grid-template-columns:1fr;align-items:end}.buyer-reference{justify-self:start}
  #buyerContent{padding:11px}.buyer-kpis{grid-template-columns:1fr 1fr}.buyer-kpis article:last-child{grid-column:1/-1}
  .buyer-steps{grid-template-columns:1fr}.buyer-steps>div{grid-template-columns:36px 1fr;justify-items:start;text-align:left}.buyer-steps>div::after{width:2px;height:auto;top:38px;bottom:-8px;left:17px;right:auto}
  .buyer-action-grid,.buyer-two-columns{grid-template-columns:1fr}.buyer-section-head{align-items:flex-start;flex-direction:column}.buyer-section-head>div:last-child{width:100%}.buyer-section-head .btn{width:100%;margin:3px 0}
  .buyer-updates article{grid-template-columns:58px 1fr}.buyer-progress{width:56px;height:56px}.buyer-progress::before{width:43px;height:43px}
}

/* App launch experience */
.app-is-loading,.app-is-loading body { overflow:hidden !important; }
.app-loader {
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-content:center;
  justify-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%,rgba(217,159,36,.18),transparent 25%),
    linear-gradient(145deg,#00291d,#004b34 58%,#00271c);
  color:#fff;
  opacity:1;
  transition:opacity .55s ease,visibility .55s ease;
}
.app-loader--admin { background:radial-gradient(circle at 50% 38%,rgba(217,159,36,.2),transparent 25%),linear-gradient(145deg,#001d16,#003b2c 58%,#001914); }
.app-loader.is-leaving { visibility:hidden; opacity:0; }
.app-loader__glow { width:min(80vw,620px); height:min(80vw,620px); position:absolute; border:1px solid rgba(255,255,255,.06); border-radius:50%; animation:appGlow 2.4s ease-in-out infinite; }
.app-loader__glow::before,.app-loader__glow::after { content:""; position:absolute; inset:12%; border:1px solid rgba(217,159,36,.12); border-radius:50%; }
.app-loader__glow::after { inset:27%; border-color:rgba(255,255,255,.08); }
.app-loader__mark { width:118px; height:118px; position:relative; z-index:1; display:grid; place-items:center; }
.app-loader__mark img { width:104px; height:104px; border-radius:25%; object-fit:cover; box-shadow:0 23px 55px rgba(0,0,0,.32); animation:appMark 1.8s cubic-bezier(.2,.75,.2,1) infinite alternate; }
.app-loader__mark > i { width:132px; height:132px; position:absolute; border:1px solid rgba(242,190,57,.33); border-radius:31%; animation:appRing 2.8s linear infinite; }
.app-loader__copy { z-index:1; margin-top:27px; text-align:center; }
.app-loader__copy b,.app-loader__copy span { display:block; }
.app-loader__copy b { font-family:Georgia,serif; color:#fff; font-size:clamp(21px,4vw,31px); letter-spacing:-.02em; }
.app-loader__copy span { margin-top:7px; color:rgba(255,255,255,.58); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.app-loader__progress { width:210px; height:3px; z-index:1; margin-top:25px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.1); }
.app-loader__progress i { width:45%; height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,transparent,var(--gold-2),#fff1bb,transparent); animation:appProgress 1.3s ease-in-out infinite; }
@keyframes appGlow { 0%,100%{transform:scale(.92);opacity:.55}50%{transform:scale(1.04);opacity:1} }
@keyframes appMark { from{transform:translateY(3px) scale(.96)}to{transform:translateY(-5px) scale(1)} }
@keyframes appRing { to{transform:rotate(360deg)} }
@keyframes appProgress { from{transform:translateX(-120%)}to{transform:translateX(340%)} }
@media(prefers-reduced-motion:reduce){.app-loader *{animation:none!important}.app-loader{transition:none}}

/* Customer app website campaign */
.customer-app-showcase {
  width:min(1480px,calc(100% - 32px));
  margin:70px auto;
  padding:clamp(34px,5.2vw,72px);
  display:grid;
  grid-template-columns:minmax(360px,.82fr) 1.18fr;
  align-items:center;
  gap:clamp(44px,6vw,92px);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  background:radial-gradient(circle at 15% 47%,rgba(211,158,40,.2),transparent 28%),radial-gradient(circle at 92% 5%,rgba(69,137,104,.2),transparent 25%),linear-gradient(125deg,#002a1e,#004833 65%,#003426);
  color:#fff;
  box-shadow:0 36px 80px rgba(0,52,36,.2);
}
.customer-app-showcase::after { content:"";position:absolute;right:-160px;bottom:-230px;width:520px;height:520px;z-index:-1;border:1px solid rgba(255,255,255,.05);border-radius:50%; }
.customer-app-showcase__visual { min-height:460px; position:relative; display:grid; place-items:center; }
.app-icon-frame { width:min(326px,76%);aspect-ratio:1;z-index:2;padding:9px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.19);border-radius:29%;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.025));box-shadow:0 42px 80px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.22);backdrop-filter:blur(10px);animation:appIconFloat 5s ease-in-out infinite; }
.app-icon-frame img { width:100%;height:100%;display:block;border-radius:25%;object-fit:cover; }
.app-orbit { position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; animation:appRing 18s linear infinite; }
.app-orbit--one { width:430px;height:430px; }
.app-orbit--two { width:335px;height:335px;border-color:rgba(242,190,57,.2);animation-direction:reverse; }
.app-screen-card { z-index:3; min-width:132px;padding:12px 14px 12px 41px;position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(12,68,49,.72);box-shadow:0 16px 38px rgba(0,0,0,.2);backdrop-filter:blur(16px); }
.app-screen-card i { width:20px;height:20px;position:absolute;left:13px;top:50%;transform:translateY(-50%);display:grid;place-items:center;border-radius:50%;background:#d9a329;box-shadow:0 0 0 5px rgba(217,163,41,.12); }
.app-screen-card i::after { content:"✓";color:#10382a;font-size:10px;font-style:normal;font-weight:1000; }
.app-screen-card span,.app-screen-card strong { display:block; }
.app-screen-card span { color:rgba(255,255,255,.58);font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.app-screen-card strong { margin-top:4px;color:#fff;font-size:11px; }
.app-screen-card--payments { left:0;bottom:17%; }
.app-screen-card--home { right:-2%;top:15%; }
.app-screen-card--updates { right:0;bottom:7%; }
.app-product-badge { width:max-content;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(217,163,41,.22);border-radius:999px;background:rgba(0,43,30,.38);color:#fff;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase; }
.app-product-badge i { width:8px;height:8px;border:2px solid var(--gold-2);border-radius:50%;box-shadow:0 0 0 4px rgba(217,163,41,.1); }
.customer-app-showcase__copy h2 { max-width:780px;margin:18px 0; color:#fff; font-size:clamp(43px,5.2vw,69px); line-height:.95; letter-spacing:-.052em; text-wrap:balance; }
.customer-app-showcase__copy > p { max-width:720px;margin:0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.75; }
.customer-app-features { margin:25px 0; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.customer-app-features > span { min-height:65px;padding:13px 14px;display:grid;grid-template-columns:34px 1fr;align-content:center;gap:3px 10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.075);transition:.25s ease; }
.customer-app-features > span:hover { transform:translateY(-2px);background:rgba(255,255,255,.11);border-color:rgba(217,163,41,.26); }
.customer-app-features i { grid-row:span 2;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#efb72d,#c88909);color:#153327;font-size:8px;font-style:normal;font-weight:1000; }
.customer-app-features b { color:#fff;font-size:11px; }
.customer-app-features small { color:rgba(255,255,255,.58);font-size:8px;line-height:1.35; }
.customer-app-actions { display:flex;align-items:center;flex-wrap:wrap;gap:9px; }
.customer-app-actions .btn { min-height:50px;border-radius:9px;font-size:10px;letter-spacing:.02em; }
.customer-app-actions .btn--gold { box-shadow:0 13px 27px rgba(202,139,9,.2); }
.customer-app-actions .btn--outline { border-color:rgba(255,255,255,.38);background:transparent;color:#fff; }
.customer-app-actions .btn--outline:hover { border-color:#fff;background:rgba(255,255,255,.09); }
.customer-app-actions > small { width:100%;color:rgba(255,255,255,.53);font-size:8px;font-weight:700; }
.customer-app-meta { margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 18px;color:rgba(255,255,255,.63);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.customer-app-meta span::before { content:"✓";margin-right:6px;color:var(--gold-2); }
@keyframes appIconFloat { 0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)} }
.admin-install-app { min-height:40px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dce5e0;border-radius:8px;background:#f7faf8;color:var(--green);font-size:9px;font-weight:900;cursor:pointer; }
.admin-install-app img { width:25px;height:25px;border-radius:7px; }
.buyer-install-row { margin-top:12px;padding:10px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;border:1px solid #dfe9e3;border-radius:12px;background:#f5faf7;text-align:left; }
.buyer-install-row img { width:42px;height:42px;border-radius:11px;box-shadow:0 7px 16px rgba(0,63,44,.14); }
.buyer-install-row span { min-width:0;display:grid;gap:2px; }
.buyer-install-row b { color:#123c2e;font-size:10px; }
.buyer-install-row small { color:#71847a;font-size:8px;line-height:1.35; }
.buyer-install-row button { min-height:34px;padding:0 12px;border:0;border-radius:8px;background:var(--green);color:#fff;font-size:9px;font-weight:900;cursor:pointer; }
.buyer-install-row button:hover { background:#00543b;transform:translateY(-1px); }

/* Diaspora confidence and remote-buyer experience */
.diaspora-confidence-bar { margin:22px auto 55px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #dbe6df; border-radius:14px; background:#fff; box-shadow:0 14px 35px rgba(0,45,32,.06); }
.diaspora-confidence-bar article { padding:20px; display:grid;grid-template-columns:34px 1fr;gap:10px;border-right:1px solid #e3ebe6; }
.diaspora-confidence-bar article:last-child{border-right:0}
.diaspora-confidence-bar article>span { width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e7f2eb;color:var(--green);font-size:8px;font-weight:900; }
.diaspora-confidence-bar b { color:#284b3e;font-size:11px; }
.diaspora-confidence-bar p { margin:5px 0 0;color:#788a81;font-size:9px;line-height:1.5; }
.diaspora-verification-centre { margin:65px auto; padding:clamp(28px,5vw,60px); display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center;border-radius:20px;background:linear-gradient(135deg,#f4f8f5,#e7f1eb); }
.diaspora-verification-copy h2 { margin:13px 0;color:var(--green);font-size:clamp(38px,5vw,62px);line-height:.97;letter-spacing:-.05em; }
.diaspora-verification-copy>p { color:#64796f;line-height:1.7; }
.diaspora-checklist { margin-top:22px;display:grid;gap:9px; }
.diaspora-checklist>span { padding:12px;display:grid;grid-template-columns:29px 1fr;gap:2px 10px;border-radius:9px;background:#fff; }
.diaspora-checklist i { grid-row:span 2;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#def3e7;color:#087145;font-style:normal;font-weight:900; }
.diaspora-checklist b { color:#315347;font-size:11px; }
.diaspora-checklist small { color:#83938b;font-size:8px; }
.diaspora-document-vault { padding:19px;border:1px solid rgba(0,63,44,.12);border-radius:16px;background:#fff;box-shadow:0 24px 55px rgba(0,45,32,.12); }
.vault-head { padding-bottom:15px;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid #e4ebe7; }
.vault-head img { width:45px;height:45px;border-radius:12px; }
.vault-head b,.vault-head small { display:block; }
.vault-head b { color:var(--green);font-size:11px; }.vault-head small{margin-top:3px;color:#84928c;font-size:8px}
.vault-head>i { padding:5px 7px;border-radius:999px;background:#e1f5e9;color:#087145;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase; }
.vault-file { padding:12px 4px;display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:9px;border-bottom:1px solid #edf1ee; }
.vault-file>span { width:29px;height:29px;display:grid;place-items:center;border-radius:7px;background:#edf3ef;color:var(--green);font-size:8px;font-weight:900; }
.vault-file b,.vault-file small { display:block; }.vault-file b{color:#38584d;font-size:10px}.vault-file small{margin-top:3px;color:#87958f;font-size:8px}
.vault-file em { color:#a07005;font-size:8px;font-style:normal;font-weight:900; }
.diaspora-document-vault>a { margin-top:14px;min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--green);color:#fff;font-size:10px;font-weight:900; }
.diaspora-app-hub { margin:65px auto;padding:clamp(30px,6vw,70px);display:grid;grid-template-columns:.65fr 1.35fr;align-items:center;gap:clamp(35px,7vw,95px);overflow:hidden;border-radius:22px;background:radial-gradient(circle at 15% 50%,rgba(242,190,57,.18),transparent 28%),linear-gradient(125deg,#002d20,#004c35);color:#fff; }
.diaspora-app-icon { position:relative;display:grid;justify-items:center; }
.diaspora-app-icon img { width:min(320px,80%);border:1px solid rgba(255,255,255,.16);border-radius:25%;box-shadow:0 35px 65px rgba(0,0,0,.28); }
.diaspora-app-icon span { margin-top:20px;color:rgba(255,255,255,.56);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }
.diaspora-app-hub h2 { margin:13px 0;color:#fff;font-size:clamp(38px,5vw,64px);line-height:.96;letter-spacing:-.05em; }
.diaspora-app-hub p { color:rgba(255,255,255,.66);line-height:1.7; }
.diaspora-app-features { margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.diaspora-app-features span { padding:10px;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:10px;font-weight:800; }
.diaspora-app-features span::before { content:"✓";margin-right:7px;color:var(--gold-2); }
.diaspora-app-actions { display:flex;align-items:center;flex-wrap:wrap;gap:9px; }
.diaspora-app-actions .btn--outline { border-color:rgba(255,255,255,.3);background:transparent;color:#fff; }
.diaspora-app-actions small { width:100%;color:rgba(255,255,255,.5);font-size:8px; }
.diaspora-planning-suite { margin:65px auto;display:grid;grid-template-columns:1.25fr .75fr;gap:14px; }
.diaspora-planner,.diaspora-time-desk { padding:clamp(22px,4vw,42px);border:1px solid #dce6e0;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(0,45,32,.05); }
.diaspora-planner h2 { margin:12px 0 7px;color:var(--green);font-size:clamp(34px,4vw,52px);letter-spacing:-.05em; }
.diaspora-planner>p { color:#72857b; }
.diaspora-planner-grid { margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:11px; }
.diaspora-planner-grid label { color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase; }
.diaspora-planner-grid select,.diaspora-planner-grid input:not([type="range"]) { width:100%;min-height:44px;margin-top:6px;padding:0 11px;border:1px solid #d8e3dc;border-radius:8px;background:#f8faf9; }
.diaspora-planner-grid input[type="range"] { width:calc(100% - 55px);margin:18px 8px 0 0;accent-color:var(--green); }
.diaspora-planner-grid output { color:var(--gold);font-size:11px; }
.diaspora-plan-results { margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.diaspora-plan-results span { padding:13px;border-radius:9px;background:#edf5f0; }
.diaspora-plan-results small,.diaspora-plan-results b { display:block; }
.diaspora-plan-results small { color:#73867c;font-size:7px;font-weight:900;text-transform:uppercase; }
.diaspora-plan-results b { margin-top:7px;color:var(--green);font-size:13px; }
.diaspora-planner-note { margin-top:13px;display:block;color:#89968f;font-size:8px;line-height:1.5; }
.diaspora-time-desk { background:linear-gradient(145deg,#003f2c,#002a1e);color:#fff; }
.diaspora-time-desk h3 { margin:13px 0 20px;color:#fff;font-size:29px;line-height:1.05; }
.diaspora-time-desk>div { padding:14px 0;border-bottom:1px solid rgba(255,255,255,.11); }
.diaspora-time-desk>div span,.diaspora-time-desk>div b,.diaspora-time-desk>div small { display:block; }
.diaspora-time-desk>div span { color:rgba(255,255,255,.5);font-size:8px;text-transform:uppercase; }
.diaspora-time-desk>div b { margin:5px 0;color:var(--gold-2);font-size:29px; }
.diaspora-time-desk>div small { color:rgba(255,255,255,.48);font-size:8px; }
.diaspora-time-desk>p { margin:18px 0;color:rgba(255,255,255,.65);font-size:10px;line-height:1.6; }
.diaspora-time-desk .btn { width:100%;background:var(--gold-2);color:#173629; }
.diaspora-security-promise { margin:60px auto;padding:clamp(25px,5vw,55px);display:grid;grid-template-columns:1.1fr .9fr;gap:45px;border:1px solid #eadba8;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#fff3cf); }
.diaspora-security-promise h2 { margin:12px 0 8px;color:#684b08;font-size:clamp(34px,4vw,52px);letter-spacing:-.04em; }
.diaspora-security-promise p { color:#756847;line-height:1.7; }
.diaspora-security-promise ul { margin:0;padding:0;display:grid;gap:8px;list-style:none; }
.diaspora-security-promise li { padding:12px;border-radius:9px;background:rgba(255,255,255,.72);color:#6f6242;font-size:10px; }
.diaspora-security-promise li::before { content:"!";width:24px;height:24px;margin-right:9px;display:inline-grid;place-items:center;border-radius:50%;background:#c68c13;color:#fff;font-weight:900; }

@media(max-width:1000px){
  .customer-app-showcase,.diaspora-verification-centre,.diaspora-app-hub,.diaspora-planning-suite,.diaspora-security-promise{grid-template-columns:1fr}
  .customer-app-showcase__visual{min-height:390px}.app-icon-frame{width:min(290px,68%)}.app-screen-card--home{right:8%}.app-screen-card--payments{left:8%}.app-screen-card--updates{right:10%}.diaspora-app-icon img{width:min(270px,70%)}
  .diaspora-confidence-bar{grid-template-columns:1fr 1fr}.diaspora-confidence-bar article:nth-child(2){border-right:0}
}
@media(max-width:620px){
  .customer-app-showcase{width:calc(100% - 20px);margin:35px auto;padding:27px 17px;border-radius:19px;gap:22px}.customer-app-showcase__visual{min-height:320px}.app-icon-frame{width:210px;padding:6px}.app-orbit--one{width:285px;height:285px}.app-orbit--two{width:220px;height:220px}.app-screen-card{min-width:112px;padding:10px 10px 10px 34px}.app-screen-card i{left:10px;width:17px;height:17px}.app-screen-card--payments{left:-4px;bottom:12%}.app-screen-card--home{right:-4px;top:10%}.app-screen-card--updates{display:none}.customer-app-showcase__copy h2{font-size:41px}.customer-app-showcase__copy>p{font-size:11px}.customer-app-features,.diaspora-app-features,.diaspora-planner-grid,.diaspora-plan-results{grid-template-columns:1fr}.customer-app-actions .btn,.diaspora-app-actions .btn{width:100%}.customer-app-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px}.app-product-badge{font-size:8px}
  .admin-install-app span{display:none}.admin-install-app{width:40px;padding:0;justify-content:center}
  .diaspora-confidence-bar{grid-template-columns:1fr}.diaspora-confidence-bar article{border-right:0;border-bottom:1px solid #e3ebe6}.diaspora-confidence-bar article:last-child{border-bottom:0}
  .diaspora-verification-centre,.diaspora-app-hub,.diaspora-planner,.diaspora-time-desk,.diaspora-security-promise{padding:24px 17px;border-radius:15px}.vault-head{grid-template-columns:42px 1fr}.vault-head>i{grid-column:2}.diaspora-app-icon img{width:210px}
  .diaspora-plan-results b{font-size:16px}.diaspora-security-promise{gap:20px}
}

/* ==========================================================================
   Vanilla Vista Global Design System · 2026
   ========================================================================== */
:root {
  --vv-ink: #10271f;
  --vv-muted: #687b73;
  --vv-surface: #ffffff;
  --vv-surface-soft: #f4f8f5;
  --vv-canvas: #eef4f0;
  --vv-line: rgba(15, 62, 46, .12);
  --vv-line-strong: rgba(15, 62, 46, .2);
  --vv-shadow-sm: 0 8px 24px rgba(15, 57, 43, .07);
  --vv-shadow-md: 0 20px 55px rgba(15, 57, 43, .11);
  --vv-shadow-lg: 0 38px 90px rgba(5, 43, 31, .17);
  --vv-radius-sm: 10px;
  --vv-radius: 16px;
  --vv-radius-lg: 26px;
  --vv-font: Inter, "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
}

html { scroll-behavior: smooth; background: var(--vv-canvas); }
body {
  color: var(--vv-ink);
  font-family: var(--vv-font);
  background: linear-gradient(180deg, #fbfdfc 0, #f1f6f3 50%, #edf3ef 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: rgba(217, 159, 36, .27); color: #092b20; }
* { scrollbar-width: thin; scrollbar-color: rgba(0, 63, 44, .35) transparent; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(0, 63, 44, .28); background-clip: padding-box; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(217, 159, 36, .58);
  outline-offset: 3px;
}
button, input, select, textarea { font: inherit; }
button, .btn, .book-visit, .ready a, .ready button { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease; }
button:not(:disabled):active, .btn:active { transform: translateY(1px); }
.btn { min-height: 48px; border-radius: 9px; letter-spacing: .025em; box-shadow: none; }
.btn--green { background: linear-gradient(135deg, #004b35, #002f22); box-shadow: 0 12px 25px rgba(0, 63, 44, .17); }
.btn--green:hover { transform: translateY(-2px); box-shadow: 0 17px 35px rgba(0, 63, 44, .23); }
.btn--gold { background: linear-gradient(135deg, #efb629, #d39712); box-shadow: 0 12px 25px rgba(185, 124, 4, .17); }
.btn--outline { border: 1px solid var(--vv-line-strong); background: rgba(255,255,255,.8); }
:where(input, select, textarea) {
  border-color: var(--vv-line-strong) !important;
  border-radius: 9px !important;
  background-color: rgba(255,255,255,.96) !important;
  color: var(--vv-ink);
  box-shadow: 0 1px 0 rgba(255,255,255,.9), inset 0 1px 2px rgba(17, 54, 42, .025);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
:where(input, select, textarea):focus {
  border-color: rgba(0, 92, 63, .62) !important;
  box-shadow: 0 0 0 4px rgba(0, 92, 63, .09) !important;
  outline: 0;
}
:where(input, textarea)::placeholder { color: #98a79f; opacity: 1; }
body.dark-theme :where(input, select, textarea) {
  border-color: rgba(255,255,255,.14) !important;
  background-color: #15332a !important;
  color: #f4f8f6;
}
.section-pill, .selection-kicker, .eyebrow {
  letter-spacing: .1em;
  font-weight: 900;
}

/* Public website */
body:not(.admin-page) .site-header {
  min-height: 86px;
  padding: 7px clamp(18px, 3vw, 54px);
  position: sticky;
  top: 0;
  z-index: 120;
  border-bottom: 1px solid rgba(18, 69, 52, .1);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 38px rgba(12, 54, 40, .06);
  backdrop-filter: blur(20px) saturate(1.2);
}
body:not(.admin-page) .main-nav { gap: clamp(14px, 1.45vw, 28px); }
body:not(.admin-page) .main-nav a {
  color: #38554a;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .035em;
}
body:not(.admin-page) .main-nav a:hover { color: var(--green); }
body:not(.admin-page) .book-visit { border-radius: 9px; box-shadow: 0 10px 24px rgba(0,63,44,.16); }
body:not(.admin-page) main > section:not(.hero):not(.selection-hero):not(.contact-hero):not(.gallery-hero):not(.blog-hero) {
  position: relative;
}
body:not(.admin-page) :where(.home-card, .feature-grid article, .faq-card, .virtual-grid article, .process-grid article, .trust-grid article, .availability-card, .contact-form, .contact-panel, .buyer-card) {
  border-color: var(--vv-line) !important;
  box-shadow: var(--vv-shadow-sm);
}
body:not(.admin-page) :where(.home-card, .feature-grid article, .virtual-grid article, .process-grid article, .contact-form, .contact-panel) {
  border-radius: var(--vv-radius) !important;
}
body:not(.admin-page) :where(.home-card, .feature-grid article, .virtual-grid article, .process-grid article) {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body:not(.admin-page) :where(.home-card, .feature-grid article, .virtual-grid article, .process-grid article):hover {
  transform: translateY(-5px);
  border-color: rgba(217,159,36,.28) !important;
  box-shadow: var(--vv-shadow-md);
}
.modal, .crm-dialog__shell {
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 22px;
  box-shadow: 0 45px 120px rgba(0, 35, 24, .3);
}
.modal::backdrop, .crm-dialog::backdrop { background: rgba(0, 28, 20, .68); backdrop-filter: blur(8px); }
.footer {
  border-top: 1px solid rgba(255,255,255,.1);
  background: radial-gradient(circle at 12% 10%, rgba(217,159,36,.13), transparent 24%), linear-gradient(135deg, #002b20, #001d16);
}
.footer a[href^="mailto:"] { overflow-wrap: anywhere; }
.contact-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-methods > * { min-height: 92px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; }
.contact-form button[type="submit"] { min-height: 52px; border-radius: 9px; box-shadow: 0 13px 30px rgba(0,63,44,.2); }
.reserve-result a { width: max-content; margin-top: 8px; padding: 7px 10px; display: inline-flex; border-radius: 7px; background: #e5f2ea; color: #075a3d; font-size: 9px; font-weight: 900; }

/* Admin dashboard */
.admin-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 5% 0, rgba(217,159,36,.1), transparent 25%),
    radial-gradient(circle at 100% 15%, rgba(0,92,63,.1), transparent 26%),
    #edf3ef;
}
.admin-page .admin-shell { width: min(1780px, calc(100% - 30px)); padding: 15px 0 40px; }
.admin-page .admin-dashboard {
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: rgba(248,251,249,.88);
  box-shadow: 0 30px 90px rgba(13, 55, 41, .13);
  backdrop-filter: blur(18px);
}
.admin-page .admin-topbar {
  min-height: 102px;
  margin: -1px -1px 0;
  padding: 18px 22px;
  position: sticky;
  top: 0;
  z-index: 80;
  border: 1px solid rgba(255,255,255,.65);
  border-bottom-color: var(--vv-line);
  border-radius: 24px 24px 0 0;
  background: rgba(255,255,255,.91);
  box-shadow: 0 13px 35px rgba(13,55,41,.07);
  backdrop-filter: blur(22px) saturate(1.2);
}
.admin-page .admin-context-label { color: #9b6a06; letter-spacing: .12em; }
.admin-page .admin-topbar h1 { color: #123b2e; font-size: clamp(28px, 3vw, 46px); letter-spacing: -.045em; }
.admin-page .admin-sync-status { border: 1px solid #dce8e1; border-radius: 10px; background: #f5faf7; }
.admin-page .admin-actions { gap: 8px; }
.admin-page .admin-actions .btn { min-height: 40px; padding: 0 13px; border-radius: 8px; font-size: 8px; }
.admin-page .admin-metrics { padding: 18px 20px 0; gap: 12px; }
.admin-page .admin-metrics article {
  min-height: 132px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--vv-line);
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #f7faf8);
  box-shadow: var(--vv-shadow-sm);
}
.admin-page .admin-metrics article::after { opacity: .7; }
.admin-page .admin-metrics strong { color: #123b2e; font-size: clamp(27px, 2.5vw, 39px); letter-spacing: -.04em; }
.admin-page .admin-workspace { padding: 18px 20px 22px; gap: 16px; }
.admin-page .admin-sidebar {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: radial-gradient(circle at 20% 0, rgba(217,159,36,.12), transparent 26%), linear-gradient(160deg, #003d2c, #00271d);
  box-shadow: 0 24px 55px rgba(0,45,32,.19);
}
.admin-page .admin-sidebar-brand, .admin-page .admin-user-card { border-color: rgba(255,255,255,.1); }
.admin-page .admin-view-tabs { gap: 4px; background: transparent; }
.admin-page .admin-view-tabs button {
  min-height: 44px;
  border-radius: 9px;
  color: rgba(255,255,255,.72);
  text-align: left;
}
.admin-page .admin-view-tabs button:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-page .admin-view-tabs button.active {
  background: linear-gradient(135deg, #e7b028, #cd8c0c);
  color: #15372b;
  box-shadow: 0 11px 25px rgba(0,0,0,.18);
}
.admin-page .admin-view-panel {
  min-width: 0;
  padding: clamp(16px, 2.3vw, 30px);
  border: 1px solid var(--vv-line);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--vv-shadow-sm);
}
.admin-page .panel-title-row { padding-bottom: 18px; border-bottom: 1px solid var(--vv-line); }
.admin-page .panel-title-row h2 { color: #123b2e; letter-spacing: -.035em; }
.admin-page :where(.overview-card, .analytics-card, .site-control-card, .automation-channel, .enterprise-panel, .report-document, .team-card) {
  border-color: var(--vv-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 26px rgba(13,55,41,.055);
}
.admin-page .admin-toolbar {
  padding: 12px;
  border: 1px solid var(--vv-line);
  border-radius: 12px;
  background: #f4f8f5;
}
.admin-page .admin-table-wrap {
  border: 1px solid var(--vv-line);
  border-radius: 13px;
  box-shadow: 0 7px 22px rgba(13,55,41,.045);
}
.admin-page .admin-table { border-collapse: separate; border-spacing: 0; }
.admin-page .admin-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #edf4f0;
  color: #486259;
  letter-spacing: .07em;
}
.admin-page .admin-table tbody tr { transition: background-color .18s ease; }
.admin-page .admin-table tbody tr:hover { background: #f7faf8; }
.admin-page .admin-table td { border-color: #e7ede9; }
.admin-page .admin-alert-button { border: 1px solid #dce8e1; border-radius: 10px; background: #f5faf7; }
.admin-page .admin-alert-popover {
  width: min(410px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid var(--vv-line);
  border-radius: 16px;
  box-shadow: 0 28px 70px rgba(0,45,32,.22);
}
.admin-alert-routing { padding: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; border-top: 1px solid var(--vv-line); background: #f5f8f6; }
.admin-alert-routing button { min-height: 34px; padding: 6px; border: 1px solid var(--vv-line); border-radius: 7px; background: #fff; color: #285044; font-size: 8px; font-weight: 900; cursor: pointer; }
.admin-alert-routing button:hover { border-color: #c99722; color: #805800; }
.admin-page .site-control-form, .admin-page .automation-settings { gap: 14px; }
.admin-page .site-control-card header > span, .admin-page .automation-channel__head > span { background: #e6f0ea; color: #075b3d; }
.admin-page .automation-channel--whatsapp {
  border-color: rgba(30, 164, 92, .3);
  background:
    radial-gradient(circle at 100% 0, rgba(37, 211, 102, .13), transparent 38%),
    linear-gradient(145deg, #fff 0%, #f4fbf7 100%);
  box-shadow: 0 18px 42px rgba(10, 92, 54, .1);
}
.admin-page .automation-channel--whatsapp .automation-channel__head > span {
  background: #1fa95f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(31, 169, 95, .24);
}
.admin-page #importLeads {
  border-color: rgba(0, 63, 44, .2);
  background: #f4f8f5;
  color: #075b3d;
}
.admin-page .crm-dialog__shell { border-radius: 20px; }

/* Compact cinematic video showcase */
.vista-film {
  width: min(1120px, calc(100% - 32px));
  margin: 78px auto;
  padding: 26px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.55fr);
  align-items: center;
  gap: 28px;
  overflow: hidden;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 0, rgba(217, 159, 36, .14), transparent 34%),
    linear-gradient(145deg, #f8faf7, #eef4ef);
  box-shadow: 0 28px 70px rgba(0, 48, 34, .12);
}
.vista-film::before {
  content: "";
  width: 180px;
  height: 180px;
  position: absolute;
  right: -80px;
  bottom: -100px;
  border: 34px solid rgba(0, 63, 44, .035);
  border-radius: 50%;
  pointer-events: none;
}
.vista-film__copy { position: relative; z-index: 1; }
.vista-film__copy h2 { margin: 15px 0 13px; color: var(--green); font-size: clamp(31px, 3.4vw, 49px); letter-spacing: -.045em; line-height: .98; }
.vista-film__copy > p { margin: 0; color: #596c63; font-size: 14px; line-height: 1.75; }
.vista-film__copy > .btn { margin-top: 22px; }
.vista-film__meta { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.vista-film__meta span { padding: 11px; border: 1px solid rgba(0,63,44,.1); border-radius: 10px; background: rgba(255,255,255,.65); color: #718078; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.vista-film__meta b { margin-bottom: 4px; display: block; color: var(--green); font-size: 17px; letter-spacing: -.02em; }
.vista-film__stage { min-width: 0; position: relative; z-index: 1; }
.vista-film__player { overflow: hidden; border-radius: 17px; background: #061c14; box-shadow: 0 22px 45px rgba(0, 28, 20, .24); }
.vista-film__player video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; background: #061c14; }
.vista-film__caption { min-height: 54px; padding: 11px 16px; display: flex; align-items: center; gap: 12px; background: #073d2d; color: #fff; }
.vista-film__caption span { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: var(--gold); color: #173d2c; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vista-film__caption b { min-width: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.vista-film__library { margin-top: 11px; }
.vista-film__library-label { margin: 0 0 7px 3px; display: block; color: #708078; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vista-film__library > div { display: flex; gap: 9px; overflow-x: auto; padding: 1px 1px 5px; scrollbar-width: thin; }
.vista-film__library button { min-width: min(250px, 75vw); padding: 7px; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid rgba(0,63,44,.1); border-radius: 11px; background: #fff; color: #53665d; text-align: left; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.vista-film__library button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,48,34,.09); }
.vista-film__library button img { width: 72px; aspect-ratio: 16/10; border-radius: 7px; object-fit: cover; }
.vista-film__library button b,.vista-film__library button small { display: block; }
.vista-film__library button b { overflow: hidden; color: var(--green); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.vista-film__library button small { margin-top: 4px; color: #819087; font-size: 7px; }
.vista-film__library button i { padding: 6px 8px; border-radius: 999px; background: #e6f2eb; color: #087044; font-size: 7px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.vista-film__library-note { padding: 10px 12px; align-items: center; border: 1px dashed rgba(0,63,44,.15); border-radius: 10px; color: #708078; }
.vista-film__library-note i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #1fa95f; box-shadow: 0 0 0 5px rgba(31,169,95,.1); }
.vista-film__library-note b,.vista-film__library-note small { display: block; }
.vista-film__library-note b { color: var(--green); font-size: 9px; }
.vista-film__library-note small { margin-top: 2px; font-size: 8px; }

/* Admin video studio and engagement analytics */
.video-studio { margin: 20px 0 28px; padding: 22px; border: 1px solid rgba(0,63,44,.1); border-radius: 16px; background: linear-gradient(145deg, #fff, #f5f9f6); box-shadow: 0 16px 34px rgba(0,45,32,.07); }
.video-studio__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.video-studio__heading h2 { margin: 7px 0 4px; color: var(--green); font-size: clamp(25px, 3vw, 38px); letter-spacing: -.04em; }
.video-studio__heading p { margin: 0; color: #74847c; font-size: 11px; }
.video-upload-form { margin-top: 18px; padding: 18px; display: grid; gap: 13px; border: 1px solid #dbe8e0; border-radius: 13px; background: #fff; }
.video-upload-form[hidden] { display: none; }
.video-upload-form label { color: #466056; font-size: 9px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.video-upload-form input,.video-upload-form textarea,.video-upload-form select { width: 100%; min-height: 43px; margin-top: 7px; padding: 10px 12px; border: 1px solid #d9e4dd; border-radius: 8px; background: #f9fbfa; color: #264c3e; font: inherit; text-transform: none; }
.video-upload-form small { margin-top: 3px; display: block; color: #8b9892; font-size: 7px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.video-upload-files { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.video-upload-files input { padding: 8px; }
.video-upload-actions { display: flex; justify-content: flex-end; gap: 9px; }
.video-upload-progress { height: 42px; padding: 0 13px; display: flex; align-items: center; gap: 11px; border-radius: 8px; background: #edf6f0; color: #226544; font-size: 9px; font-weight: 900; }
.video-upload-progress[hidden] { display: none; }
.video-upload-progress i { width: 18px; height: 18px; border: 3px solid rgba(0, 95, 58, .17); border-top-color: #087044; border-radius: 50%; animation: videoUploadSpin .8s linear infinite; }
@keyframes videoUploadSpin { to { transform: rotate(360deg); } }
.video-analytics-kpis { margin-top: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.video-analytics-kpis article { padding: 14px; border: 1px solid #e0e8e3; border-radius: 10px; background: #fff; }
.video-analytics-kpis span,.video-analytics-kpis small { display: block; color: #819088; font-size: 8px; }
.video-analytics-kpis strong { margin: 7px 0 3px; display: block; color: var(--green); font-size: 26px; letter-spacing: -.04em; }
.video-studio__grid { margin-top: 12px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 12px; }
.video-performance,.video-library-admin { padding: 16px; border: 1px solid #e1e9e4; border-radius: 11px; background: #fff; }
.video-performance > h3 { margin: 0 0 13px; color: var(--green); font-size: 13px; }
#videoPerformanceChart { display: grid; gap: 12px; }
#videoPerformanceChart > div > p { margin: 0 0 6px; display: flex; justify-content: space-between; gap: 8px; color: #526b60; font-size: 8px; }
#videoPerformanceChart > div > p span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#videoPerformanceChart > div > p b { color: var(--green); white-space: nowrap; }
#videoPerformanceChart > div > i { height: 7px; overflow: hidden; display: block; border-radius: 999px; background: #e7efea; }
#videoPerformanceChart > div > i span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#087044,#d4a739); }
.video-library-admin .crm-list-heading { margin: 0 0 9px; }
#videoAdminLibrary { display: grid; gap: 8px; }
.video-admin-card { padding: 9px; display: grid; grid-template-columns: 100px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid #e2eae5; border-radius: 9px; background: #fafcfb; }
.video-admin-card img { width: 100px; aspect-ratio: 16/10; border-radius: 7px; object-fit: cover; background: #e4ece7; }
.video-admin-card b,.video-admin-card small { display: block; }
.video-admin-card b { overflow: hidden; color: var(--green); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.video-admin-card small { margin-top: 4px; color: #819088; font-size: 7px; }
.video-admin-card__actions { display: flex; flex-direction: column; gap: 5px; }
.video-admin-card__actions button { min-width: 68px; min-height: 27px; border: 1px solid #d7e3db; border-radius: 6px; background: #fff; color: #34604e; font-size: 7px; font-weight: 900; cursor: pointer; }
.video-admin-card__actions button.danger { color: #aa4439; }

@media (max-width: 900px) {
  .vista-film { grid-template-columns: 1fr; padding: 22px; }
  .vista-film__copy { max-width: 620px; }
  .video-studio__grid { grid-template-columns: 1fr; }
  .video-analytics-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .vista-film {
    width: min(100% - 16px, 560px);
    margin: 46px auto;
    padding: 10px;
    border-radius: 18px;
    gap: 18px;
    background: linear-gradient(160deg, #f8faf7 0%, #edf5ef 100%);
    box-shadow: 0 18px 46px rgba(0, 48, 34, .14);
    display: flex;
    flex-direction: column;
  }
  .vista-film::before { display: none; }
  .vista-film__copy { display: contents; }
  .vista-film__copy .section-pill {
    width: fit-content;
    margin: 4px 7px 0;
    order: 1;
    align-self: flex-start;
    font-size: 7px;
  }
  .vista-film__copy h2 {
    margin: -7px 7px -2px;
    order: 2;
    align-self: stretch;
    font-size: clamp(30px, 9.6vw, 37px);
    line-height: 1.02;
  }
  .vista-film__stage { min-width: 0; order: 3; align-self: stretch; }
  .vista-film__player { border-radius: 13px; box-shadow: 0 15px 30px rgba(0, 28, 20, .24); }
  .vista-film__player video { min-height: 0; aspect-ratio: 16 / 9; }
  .vista-film__caption { min-height: 49px; padding: 9px 10px; align-items: flex-start; gap: 8px; }
  .vista-film__caption span { margin-top: 1px; padding: 4px 7px; font-size: 6px; }
  .vista-film__caption b {
    display: -webkit-box;
    overflow: hidden;
    font-size: 9px;
    line-height: 1.45;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .vista-film__library { margin-top: 9px; }
  .vista-film__library-label { margin-left: 2px; }
  .vista-film__library > div { margin-right: -10px; padding-right: 10px; scroll-padding-inline: 1px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .vista-film__library button { min-width: min(286px, 86vw); padding: 6px; grid-template-columns: 70px minmax(0,1fr) auto; scroll-snap-align: start; }
  .vista-film__library button img { width: 70px; }
  .vista-film__library-note { margin-right: 10px; }
  .vista-film__copy > p {
    margin: -2px 7px 0;
    order: 4;
    align-self: stretch;
    color: #52675d;
    font-size: 12px;
    line-height: 1.65;
  }
  .vista-film__meta { margin: -4px 7px 0; order: 5; align-self: stretch; gap: 7px; }
  .vista-film__meta span { padding: 9px; }
  .vista-film__meta b { font-size: 15px; }
  .vista-film__copy > .btn {
    width: calc(100% - 14px);
    min-height: 46px;
    margin: -3px 7px 8px;
    order: 6;
    align-self: stretch;
  }
  .video-studio { padding: 14px; }
  .video-studio__heading { flex-direction: column; }
  .video-studio__heading .btn { width: 100%; }
  .video-upload-files,.video-analytics-kpis { grid-template-columns: 1fr; }
  .video-upload-actions { flex-direction: column-reverse; }
  .video-admin-card { grid-template-columns: 78px minmax(0,1fr); }
  .video-admin-card img { width: 78px; }
  .video-admin-card__actions { grid-column: 1 / -1; flex-direction: row; }
}
.admin-page .result-box { border-radius: 10px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1180px) {
  .admin-page .admin-topbar { position: relative; }
  .admin-page .admin-actions { width: 100%; }
}
@media (max-width: 820px) {
  body:not(.admin-page) .site-header { min-height: 72px; }
  .contact-methods { grid-template-columns: 1fr; }
  .admin-page .admin-shell { width: calc(100% - 14px); padding-top: 7px; }
  .admin-page .admin-dashboard { border-radius: 18px; }
  .admin-page .admin-topbar { padding: 14px; border-radius: 18px 18px 0 0; }
  .admin-page .admin-metrics, .admin-page .admin-workspace { padding-left: 10px; padding-right: 10px; }
  .admin-page .admin-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-page .admin-actions > * { width: 100%; justify-content: center; }
  .admin-page .admin-view-panel { padding: 15px; border-radius: 14px; }
}
@media (max-width: 520px) {
  :root { --vv-radius-lg: 18px; }
  .btn { width: 100%; padding-inline: 15px; }
  .admin-page .admin-actions { grid-template-columns: 1fr; }
  .admin-page .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-page .admin-metrics article { min-height: 112px; padding: 14px; }
  .admin-page .admin-table { min-width: 720px; }
  .admin-alert-routing { grid-template-columns: 1fr; }
}

/* Cohesive global navigation — compact, collision-free and consistent. */
body:not(.admin-page) .site-header {
  display: grid;
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) 42px auto;
  align-items: center;
  min-height: 86px;
  padding: 8px clamp(16px, 2.4vw, 42px);
  gap: 12px;
  border-bottom: 1px solid rgba(0, 63, 44, .1);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 12px 34px rgba(0, 45, 32, .075);
  backdrop-filter: blur(18px) saturate(1.15);
}
body:not(.admin-page) .site-header .brand {
  width: 100%;
  min-width: 0;
  height: 68px;
  flex: none;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  justify-self: start;
  overflow: visible;
}
body:not(.admin-page) .site-header .brand img {
  width: 58px;
  max-width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 14px;
  object-fit: cover;
}
.brand-wordmark {
  min-width: 0;
  display: flex;
  flex-direction: column;
  color: var(--green);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-wordmark b {
  font-size: 15px;
  font-weight: 950;
  letter-spacing: .055em;
}
.brand-wordmark small {
  margin-top: 5px;
  color: #a87313;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .34em;
}
body:not(.admin-page) .site-header .main-nav {
  width: 100%;
  height: 46px;
  min-width: 0;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  overflow: visible;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 999px;
  background: #f4f8f5;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  font-size: clamp(9.5px, .72vw, 11px);
  letter-spacing: .015em;
}
body:not(.admin-page) .site-header .main-nav a {
  min-width: 0;
  height: 38px;
  padding: 0 clamp(6px, .48vw, 10px);
  flex: 0 1 auto;
  border-radius: 999px;
  white-space: nowrap;
}
body:not(.admin-page) .site-header .main-nav a.active {
  color: #fff;
  background: var(--green);
  box-shadow: 0 7px 18px rgba(0, 63, 44, .17);
}
body:not(.admin-page) .site-header .theme-toggle {
  width: 42px;
  height: 42px;
  margin: 0;
  justify-self: end;
}
body:not(.admin-page) .site-header .book-visit {
  min-width: 132px;
  min-height: 44px;
  padding: 0 15px;
  justify-self: end;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(217, 159, 36, .2);
}

.selection-header {
  min-height: 86px;
  padding: 8px clamp(16px, 2.4vw, 42px);
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) auto;
  gap: 16px;
  border-bottom: 1px solid rgba(0, 63, 44, .1);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 12px 34px rgba(0, 45, 32, .075);
  backdrop-filter: blur(18px) saturate(1.15);
}
.selection-brand img {
  width: 58px;
  max-width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 14px;
  object-fit: contain;
}
.selection-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.selection-header nav {
  width: min(100%, 650px);
  min-height: 46px;
  padding: 4px;
  justify-self: center;
  gap: 3px;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 999px;
  background: #f4f8f5;
}
.selection-header nav a {
  min-height: 38px;
  padding: 0 clamp(8px, .8vw, 14px);
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  white-space: nowrap;
}
.selection-header nav a:hover {
  background: #fff;
  box-shadow: 0 7px 18px rgba(0, 45, 32, .08);
}
.selection-header nav a::after { display: none; }
.selection-header__help {
  min-height: 44px;
  padding: 7px 15px;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #eef5f1;
}

@media (max-width: 1360px) {
  body:not(.admin-page) .site-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand theme toggle"
      "nav nav nav"
      "book book book";
    min-height: 76px;
    padding: 7px 16px;
    gap: 8px;
  }
  body:not(.admin-page) .site-header .brand {
    grid-area: brand;
    width: clamp(176px, 28vw, 214px);
    height: 62px;
  }
  body:not(.admin-page) .site-header .brand img { height: 60px; }
  body:not(.admin-page) .site-header .theme-toggle { grid-area: theme; }
  body:not(.admin-page) .site-header .nav-toggle {
    grid-area: toggle;
    display: inline-grid;
    width: 44px;
    height: 44px;
  }
  body:not(.admin-page) .site-header .main-nav {
    grid-area: nav;
    width: 100%;
    height: auto;
    max-height: min(62vh, 520px);
    padding: 10px;
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow-y: auto;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(0,63,44,.08), 0 18px 38px rgba(0,45,32,.12);
  }
  body:not(.admin-page) .site-header .main-nav.open { display: grid; }
  body:not(.admin-page) .site-header .main-nav a {
    width: 100%;
    min-height: 44px;
    height: auto;
    padding: 10px 12px;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }
  body:not(.admin-page) .site-header .book-visit {
    grid-area: book;
    display: none;
    width: 100%;
  }
  body:not(.admin-page) .site-header .main-nav.open ~ .book-visit { display: inline-flex; }
}

@media (max-width: 880px) {
  .selection-header {
    min-height: 76px;
    grid-template-columns: minmax(0, 1fr) 44px;
    padding: 7px 14px;
  }
  .selection-brand img { width: 56px; height: 56px; flex-basis: 56px; }
  .selection-header nav {
    width: 100%;
    max-height: calc(100dvh - 92px);
    padding: 8px;
    border-radius: 14px;
  }
  .selection-header nav a {
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 9px;
  }
}

@media (max-width: 760px) {
  body:not(.admin-page) .site-header .main-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body:not(.admin-page) .site-header {
    grid-template-columns: minmax(0, 1fr) 38px 42px;
    padding: 6px 10px;
  }
  body:not(.admin-page) .site-header .brand {
    width: clamp(148px, 52vw, 188px);
    height: 56px;
  }
  body:not(.admin-page) .site-header .brand img { height: 54px; }
  body:not(.admin-page) .site-header .brand img { width: 54px; max-width: 54px; flex-basis: 54px; }
  .brand-wordmark b { font-size: 13px; }
  .brand-wordmark small { font-size: 8px; letter-spacing: .28em; }
  body:not(.admin-page) .site-header .theme-toggle { width: 38px; height: 38px; }
  body:not(.admin-page) .site-header .nav-toggle { width: 42px; height: 40px; }
  body:not(.admin-page) .site-header .main-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: calc(100dvh - 146px);
  }
}

@media (max-width: 340px) {
  body:not(.admin-page) .site-header .main-nav {
    grid-template-columns: 1fr;
  }
}

/* Refined application shells, authentication and launch states */
.admin-page,
.buyer-portal-page {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 8% 0%, rgba(217, 159, 36, .16), transparent 30rem),
    radial-gradient(circle at 100% 100%, rgba(0, 97, 67, .12), transparent 34rem),
    #eef5f1;
}
.admin-shell {
  width: min(1540px, calc(100% - 28px));
  padding: clamp(14px, 3vw, 38px) 0 52px;
}
.admin-login,
.buyer-login {
  width: min(590px, 100%);
  margin: clamp(18px, 5vh, 54px) auto 0;
  padding: clamp(25px, 4vw, 42px);
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(0, 63, 44, .1);
  border-radius: 28px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 35px 90px rgba(0, 45, 32, .14);
}
.admin-login::before,
.buyer-login::before {
  content: "";
  width: 260px;
  height: 260px;
  position: absolute;
  top: -160px;
  right: -100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 159, 36, .22), rgba(217, 159, 36, 0) 68%);
  pointer-events: none;
}
.app-auth-brand {
  width: max-content;
  max-width: 100%;
  margin: 0 0 25px;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--green);
}
.admin-login .app-auth-brand img,
.buyer-login .app-auth-brand img,
.buyer-login > a.app-auth-brand img {
  width: 66px;
  height: 66px;
  margin: 0;
  flex: 0 0 66px;
  border-radius: 17px;
  object-fit: cover;
  box-shadow: 0 13px 30px rgba(0, 45, 32, .17);
}
.app-auth-brand span,
.app-auth-brand b,
.app-auth-brand small {
  display: block;
}
.app-auth-brand b {
  font-size: 18px;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.app-auth-brand small {
  margin-top: 5px;
  color: #a87313;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.admin-login h1,
.buyer-login h1 {
  margin: 15px 0 10px;
  color: var(--green);
  font-size: clamp(38px, 7vw, 62px);
  line-height: .96;
  letter-spacing: -.055em;
}
.admin-login > p,
.buyer-login > p {
  max-width: 490px;
  color: #60746b;
  font-size: 15px;
  line-height: 1.65;
}
.app-auth-assurance {
  margin: 22px 0;
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  border: 1px solid #dfe9e3;
  border-radius: 16px;
  background: #f4f8f5;
}
.app-auth-assurance span {
  min-height: 54px;
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #496259;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.35;
}
.app-auth-assurance i {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dff3e7;
  color: #087145;
  font-style: normal;
}
.app-auth-fields,
.buyer-login form {
  display: grid;
  gap: 13px;
}
.admin-login .app-auth-fields label,
.buyer-login form > label {
  margin: 0;
  color: #294e41;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .025em;
}
.admin-login .app-auth-fields input,
.buyer-login form > label input {
  width: 100%;
  min-height: 54px;
  margin-top: 7px;
  padding: 0 15px;
  border: 1px solid #d1ded7;
  border-radius: 12px;
  background: #fbfdfc;
  color: #173b2f;
  font-size: 15px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.admin-login input:focus,
.buyer-login input:focus {
  border-color: rgba(0, 83, 58, .55);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 83, 58, .08);
}
.password-field {
  position: relative;
  display: block;
}
.password-field input {
  padding-right: 66px !important;
}
.password-field button {
  min-width: 52px;
  height: 34px;
  position: absolute;
  right: 10px;
  bottom: 10px;
  border: 0;
  border-radius: 9px;
  background: #e8f0eb;
  color: var(--green);
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.admin-login .app-auth-submit,
.buyer-login .app-auth-submit {
  width: 100%;
  min-height: 54px;
  margin-top: 5px;
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(0, 63, 44, .18);
}
.btn.is-busy,
button.is-busy {
  cursor: wait;
  opacity: .78;
}
.btn.is-busy::after,
button.is-busy::after {
  content: "";
  width: 14px;
  height: 14px;
  margin-left: 9px;
  display: inline-block;
  vertical-align: -2px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: authSpin .65s linear infinite;
}
.admin-login.is-checking .app-auth-fields,
.admin-login.is-checking .app-auth-submit,
.buyer-login.is-checking form {
  opacity: .48;
  pointer-events: none;
}
.app-auth-footer {
  margin-top: 18px;
  padding-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #e5ece8;
  color: #75877f;
  font-size: 9px;
  font-weight: 800;
}
.app-auth-footer span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.app-auth-footer i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1cab68;
  box-shadow: 0 0 0 4px rgba(28, 171, 104, .12);
}
.app-auth-footer a {
  color: var(--green);
}
.admin-dashboard {
  overflow: hidden;
  border: 1px solid rgba(0, 63, 44, .08);
  border-radius: 22px;
  box-shadow: 0 30px 75px rgba(0, 45, 32, .13);
}
.buyer-dashboard {
  animation: appReveal .45s cubic-bezier(.2, .75, .2, 1) both;
}
.app-loader {
  background:
    radial-gradient(circle at 50% 36%, rgba(232, 179, 45, .22), transparent 28%),
    linear-gradient(145deg, #001f17, #004530 58%, #001e16);
}
.app-loader__mark img {
  border: 1px solid rgba(255, 255, 255, .16);
}
@keyframes authSpin { to { transform: rotate(360deg); } }
@keyframes appReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

@media (max-width: 640px) {
  .admin-shell,
  .buyer-portal-shell {
    width: calc(100% - 16px);
  }
  .admin-login,
  .buyer-login {
    margin-top: 8px;
    padding: 24px 18px;
    border-radius: 21px;
  }
  .app-auth-brand {
    margin-bottom: 19px;
  }
  .app-auth-assurance {
    grid-template-columns: 1fr;
  }
  .app-auth-assurance span {
    min-height: 40px;
  }
  .app-auth-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-dashboard {
    border-radius: 16px;
  }
}

/* Mobile navigation finishing layer */
.selection-header nav .selection-nav-support {
  display: none;
}

@media (max-width: 760px) {
  body:not(.admin-page) .site-header {
    align-content: center;
    border-bottom-color: rgba(0, 63, 44, .12);
  }
  body:not(.admin-page) .site-header .brand,
  body:not(.admin-page) .site-header .theme-toggle,
  body:not(.admin-page) .site-header .nav-toggle {
    align-self: center;
  }
  body:not(.admin-page) .site-header .main-nav {
    width: 100%;
    margin: 0;
    padding: 10px;
    gap: 8px;
    align-items: stretch;
    border: 1px solid rgba(0, 63, 44, .1);
    border-radius: 17px;
    background: rgba(246, 250, 247, .99);
    box-shadow: 0 18px 42px rgba(0, 45, 32, .13);
  }
  body:not(.admin-page) .site-header .main-nav a {
    min-height: 46px;
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 63, 44, .075);
    border-radius: 13px;
    background: #fff;
    text-align: center;
    line-height: 1.15;
    box-shadow: 0 5px 14px rgba(0, 45, 32, .035);
  }
  body:not(.admin-page) .site-header .main-nav a.active {
    border-color: var(--green);
    background: var(--green);
    color: #fff;
  }
  body:not(.admin-page) .site-header .main-nav a:last-child {
    grid-column: 1 / -1;
  }
  body:not(.admin-page) .site-header .book-visit {
    min-height: 48px;
    border-radius: 15px;
  }
}

@media (max-width: 880px) {
  .selection-header {
    min-height: 72px;
    grid-template-areas:
      "selection-brand selection-toggle"
      "selection-nav selection-nav";
    grid-template-columns: minmax(0, 1fr) 44px;
    padding: 7px 12px;
    gap: 7px;
  }
  .selection-brand {
    grid-area: selection-brand;
    width: min(210px, calc(100vw - 82px));
    height: 58px;
  }
  .selection-nav-toggle {
    grid-area: selection-toggle;
    align-self: center;
    justify-self: end;
    margin: 0;
  }
  .selection-header__help {
    display: none;
  }
  .selection-header nav {
    grid-area: selection-nav;
    grid-column: 1 / -1;
    width: 100%;
    min-height: 0;
    height: auto;
    max-height: calc(100dvh - 94px);
    margin: 0;
    padding: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow-y: auto;
    border: 1px solid rgba(0, 63, 44, .1);
    border-radius: 17px;
    background: rgba(246, 250, 247, .99);
    box-shadow: 0 18px 42px rgba(0, 45, 32, .13);
  }
  .selection-header nav.open {
    display: grid;
  }
  .selection-header nav a {
    min-height: 46px;
    padding: 10px 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 63, 44, .075);
    border-radius: 13px;
    background: #fff;
    text-align: center;
    line-height: 1.15;
    box-shadow: 0 5px 14px rgba(0, 45, 32, .035);
  }
  .selection-header nav .selection-nav-support {
    display: inline-flex;
    color: #fff;
    border-color: var(--green);
    background: var(--green);
  }
}

@media (max-width: 350px) {
  body:not(.admin-page) .site-header .main-nav,
  .selection-header nav {
    grid-template-columns: 1fr;
  }
  body:not(.admin-page) .site-header .main-nav a:last-child {
    grid-column: auto;
  }
}

/* Final cross-device application alignment and touch-target pass */
@media (max-width: 620px) {
  .admin-page .admin-topbar {
    min-height: 76px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }
  .admin-page .admin-topbar__identity {
    width: 100%;
    min-width: 0;
    gap: 10px;
  }
  .admin-page .admin-topbar__identity > div {
    min-width: 0;
  }
  .admin-page .admin-menu-toggle {
    width: 42px;
    height: 42px;
  }
  .admin-page .admin-topbar h1 {
    max-width: 100%;
    overflow: hidden;
    font-size: 19px;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .admin-page .admin-topbar p {
    display: none;
  }
  .admin-page .admin-actions {
    width: auto;
    display: flex;
    grid-template-columns: none;
    gap: 6px;
  }
  .admin-page .admin-actions > * {
    width: auto;
  }
  .admin-page .admin-notifications,
  .admin-page .admin-install-app {
    width: 42px;
    min-width: 42px;
  }
  .admin-page .admin-alert-button,
  .admin-page .admin-install-app {
    width: 42px;
    height: 42px;
    min-height: 42px;
  }
  .admin-page .admin-install-app {
    padding: 0;
    justify-content: center;
  }
  .admin-page .admin-install-app span {
    display: none;
  }
  .buyer-tabs button,
  .unit-card > button {
    min-height: 44px;
  }
  body:not(.admin-page) .site-header .theme-toggle {
    width: 42px;
    height: 42px;
  }
}

/* Marketing growth centre: personalized matching, referrals and mobile conversion */
.marketing-growth-hub {
  width: min(1540px, calc(100% - 36px));
  margin: clamp(56px, 7vw, 108px) auto;
  padding: clamp(28px, 4.2vw, 68px);
  overflow: hidden;
  position: relative;
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0, rgba(226, 174, 43, .2), transparent 32%),
    linear-gradient(145deg, #003f2c, #00291f);
  box-shadow: 0 34px 80px rgba(0, 48, 34, .2);
}
.marketing-growth-hub::after {
  content: "";
  width: 340px;
  height: 340px;
  position: absolute;
  right: -180px;
  bottom: -210px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.02);
  pointer-events: none;
}
.marketing-growth-hub__intro {
  max-width: 930px;
  position: relative;
  z-index: 1;
}
.marketing-growth-hub__intro .section-pill {
  border-color: rgba(255,255,255,.15);
  background: rgba(255,255,255,.08);
  color: #f4c75a;
}
.marketing-growth-hub__intro h2 {
  max-width: 900px;
  margin: 18px 0 14px;
  color: #fff;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.05em;
}
.marketing-growth-hub__intro > p {
  max-width: 790px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.7;
}
.marketing-growth-trust {
  margin: 24px 0 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.marketing-growth-trust span {
  min-height: 34px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.82);
  font-size: 10px;
  font-weight: 850;
}
.marketing-growth-trust span::before {
  content: "✓";
  color: #f4c75a;
  font-weight: 900;
}
.marketing-growth-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.unit-match-card,
.referral-growth-card {
  min-width: 0;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 20px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 20px 46px rgba(0,26,19,.16);
}
.marketing-card-heading > span {
  color: #9b6a06;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.marketing-card-heading h3 {
  margin: 9px 0 8px;
  color: #003f2c;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.marketing-card-heading p {
  margin: 0;
  color: #677a71;
  line-height: 1.6;
}
.unit-match-card form,
.referral-growth-card form {
  margin-top: 22px;
}
.marketing-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.marketing-form-grid label {
  min-width: 0;
  color: #315347;
  font-size: 10px;
  font-weight: 900;
}
.marketing-form-grid__wide {
  grid-column: 1 / -1;
}
.marketing-form-grid input,
.marketing-form-grid select {
  width: 100%;
  min-height: 48px;
  margin-top: 6px;
  padding: 0 12px;
  border: 1px solid #d9e4de;
  border-radius: 9px;
  background: #f8faf9;
  color: #173f32;
  font: inherit;
  font-size: 12px;
}
.marketing-form-grid input:focus,
.marketing-form-grid select:focus {
  outline: 3px solid rgba(217,159,36,.22);
  border-color: #c8941b;
  background: #fff;
}
.marketing-consent {
  margin: 14px 0;
  display: grid;
  grid-template-columns: 19px 1fr;
  align-items: start;
  gap: 9px;
  color: #667970;
  font-size: 10px;
  line-height: 1.5;
  cursor: pointer;
}
.marketing-consent input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: #006044;
}
.unit-match-card form > .btn,
.referral-growth-card form > .btn {
  min-height: 48px;
}
.unit-match-result,
.referral-result {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(0,96,68,.13);
  border-radius: 13px;
  background: linear-gradient(140deg, #e9f5ee, #f8fbf9);
}
.unit-match-result > span,
.referral-result > span {
  color: #71867c;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.unit-match-result h3,
.referral-result h3 {
  margin: 7px 0 4px;
  color: #004631;
  font-size: 25px;
}
.unit-match-result p,
.referral-result p {
  margin: 0;
  color: #687c73;
}
.unit-match-result > div {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.unit-match-result .btn {
  min-height: 42px;
  padding-inline: 13px;
  font-size: 9px;
}
.referral-result > div {
  margin-top: 13px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
}
.referral-result input {
  min-width: 0;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid #cfddd5;
  border-radius: 8px;
  background: #fff;
  color: #38594d;
  font-size: 10px;
}
.referral-result button {
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  border-radius: 8px;
  background: #003f2c;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.marketing-dock {
  display: none;
}

@media (max-width: 880px) {
  .marketing-growth-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .marketing-growth-hub {
    width: calc(100% - 20px);
    margin: 46px auto;
    padding: 25px 12px 20px;
    border-radius: 22px;
  }
  .marketing-growth-hub__intro {
    padding: 0 6px;
  }
  .marketing-growth-hub__intro h2 {
    font-size: 38px;
  }
  .marketing-growth-trust {
    margin-bottom: 24px;
    display: grid;
  }
  .marketing-growth-trust span {
    width: 100%;
    border-radius: 10px;
  }
  .unit-match-card,
  .referral-growth-card {
    padding: 22px 16px;
    border-radius: 16px;
  }
  .marketing-form-grid {
    grid-template-columns: 1fr;
  }
  .marketing-form-grid__wide {
    grid-column: auto;
  }
  .unit-match-card form > .btn,
  .referral-growth-card form > .btn,
  .unit-match-result .btn {
    width: 100%;
  }
  .referral-result > div {
    grid-template-columns: 1fr;
  }
  body.marketing-dock-enabled {
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }
  .marketing-dock {
    min-height: 62px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    position: fixed;
    z-index: 44;
    right: 7px;
    bottom: 7px;
    left: 7px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 45px rgba(0,45,32,.2);
    backdrop-filter: blur(16px);
  }
  .marketing-dock a,
  .marketing-dock button {
    min-width: 0;
    min-height: 46px;
    padding: 6px 4px;
    display: grid;
    place-content: center;
    gap: 2px;
    border: 0;
    border-radius: 10px;
    background: #edf4f0;
    color: #315448;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
  }
  .marketing-dock__whatsapp {
    background: #0c9f51 !important;
    color: #fff !important;
  }
  .marketing-dock span {
    font-size: 7px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .marketing-dock b {
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* ==========================================================================
   Vanilla Vista brand alignment layer · July 2026
   One definitive visual language for the website, portals and operations suite.
   ========================================================================== */
:root {
  --vv-brand-green: #003f2c;
  --vv-brand-green-deep: #00261c;
  --vv-brand-green-bright: #08724e;
  --vv-brand-gold: #d99f24;
  --vv-brand-gold-light: #f2be39;
  --vv-text: #10271f;
  --vv-text-soft: #62766d;
  --vv-border: rgba(15, 62, 46, .13);
  --vv-border-strong: rgba(15, 62, 46, .22);
  --vv-page: #f2f6f3;
  --vv-white: #ffffff;
  --vv-shell: min(1540px, calc(100% - 48px));
  --vv-section-space: clamp(56px, 7vw, 104px);
  --vv-card-radius: 18px;
  --vv-panel-radius: 26px;
  --vv-elevation: 0 20px 55px rgba(10, 52, 39, .1);
  --vv-elevation-strong: 0 32px 85px rgba(5, 43, 31, .16);
}

html {
  background: var(--vv-page);
  scroll-padding-top: 96px;
}

body {
  color: var(--vv-text);
  font-family: Inter, Aptos, "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.5;
}

main {
  width: 100%;
  min-width: 0;
  overflow: clip;
}

h1, h2, h3, h4 {
  color: var(--vv-text);
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

img {
  height: auto;
}

:where(.btn, button, input, select, textarea, a) {
  -webkit-tap-highlight-color: transparent;
}

.btn {
  min-height: 48px;
  padding-inline: 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 11px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
}

:where(input, select, textarea) {
  min-width: 0;
  min-height: 50px;
}

textarea {
  min-height: 118px;
  padding-block: 13px !important;
  resize: vertical;
}

.section-pill,
.selection-eyebrow,
.selection-kicker,
.eyebrow,
.admin-context-label {
  font-weight: 900;
  letter-spacing: .11em;
}

/* Brand header and primary navigation */
.topbar {
  height: 34px;
  min-height: 34px;
  padding-inline: clamp(18px, 3vw, 48px);
  overflow: hidden;
  line-height: 1.1;
}

.topbar__left,
.topbar__right,
.ticker-track {
  height: 34px;
  align-items: center;
}

.topbar__right {
  font-size: 11px;
}

.ticker-track span {
  min-height: 34px;
  font-size: 11px;
}

.nav-toggle,
.selection-nav-toggle,
.admin-menu-toggle {
  position: relative;
  place-items: center;
  border: 1px solid var(--vv-border);
  border-radius: 12px;
  background: #f5f8f6;
  box-shadow: 0 7px 18px rgba(0, 45, 32, .07);
}

.nav-toggle span,
.selection-nav-toggle span,
.admin-menu-toggle span {
  width: 18px;
  height: 2px;
  position: absolute;
  left: 50%;
  border: 0;
  border-radius: 999px;
  background: var(--vv-brand-green);
  transform: translateX(-50%);
  transition: transform .2s ease, opacity .2s ease, top .2s ease;
}

.nav-toggle span:nth-child(1),
.selection-nav-toggle span:nth-child(1),
.admin-menu-toggle span:nth-child(1) { top: calc(50% - 6px); }
.nav-toggle span:nth-child(2),
.selection-nav-toggle span:nth-child(2),
.admin-menu-toggle span:nth-child(2) { top: calc(50% - 1px); }
.nav-toggle span:nth-child(3),
.selection-nav-toggle span:nth-child(3),
.admin-menu-toggle span:nth-child(3) { top: calc(50% + 4px); }

.nav-toggle[aria-expanded="true"] span:nth-child(1),
.selection-nav-toggle[aria-expanded="true"] span:nth-child(1),
.admin-menu-toggle[aria-expanded="true"] span:nth-child(1) {
  top: calc(50% - 1px);
  transform: translateX(-50%) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2),
.selection-nav-toggle[aria-expanded="true"] span:nth-child(2),
.admin-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3),
.selection-nav-toggle[aria-expanded="true"] span:nth-child(3),
.admin-menu-toggle[aria-expanded="true"] span:nth-child(3) {
  top: calc(50% - 1px);
  transform: translateX(-50%) rotate(-45deg);
}

body:not(.admin-page) .site-header {
  min-height: 82px;
  padding: 7px clamp(18px, 2.5vw, 42px);
  grid-template-columns: 200px minmax(0, 1fr) 42px 126px;
  gap: 10px;
  border-bottom: 1px solid var(--vv-border);
  background: rgba(255, 255, 255, .965);
  box-shadow: 0 12px 34px rgba(0, 45, 32, .075);
}

body:not(.admin-page) .site-header .brand {
  width: 200px;
  height: 64px;
  gap: 10px;
}

body:not(.admin-page) .site-header .brand img {
  width: 56px;
  max-width: 56px;
  height: 56px;
  flex-basis: 56px;
  border-radius: 14px;
  box-shadow: 0 8px 19px rgba(0, 45, 32, .12);
}

.brand-wordmark b {
  font-size: 14px;
  letter-spacing: .07em;
}

.brand-wordmark small {
  color: #9d6e12;
  font-size: 8px;
  letter-spacing: .3em;
}

body:not(.admin-page) .site-header .main-nav {
  height: 46px;
  padding: 4px;
  gap: 1px;
  border: 1px solid var(--vv-border);
  border-radius: 999px;
  background: #f3f7f4;
}

body:not(.admin-page) .site-header .main-nav a {
  min-height: 38px;
  padding: 0 clamp(6px, .65vw, 11px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #38564b;
  font-size: clamp(9px, .72vw, 10.5px);
  letter-spacing: .015em;
}

body:not(.admin-page) .site-header .main-nav a:hover {
  background: #fff;
  color: var(--vv-brand-green);
  box-shadow: 0 6px 16px rgba(0, 45, 32, .07);
}

body:not(.admin-page) .site-header .main-nav a.active {
  background: var(--vv-brand-green);
  color: #fff;
}

body:not(.admin-page) .site-header .theme-toggle {
  width: 42px;
  height: 42px;
  border-color: var(--vv-border);
  background: #fff;
}

body:not(.admin-page) .site-header .book-visit {
  min-width: 126px;
  min-height: 44px;
  padding-inline: 15px;
  border-radius: 999px;
}

@media (min-width: 1181px) {
  body:not(.admin-page) .site-header {
    grid-template-areas: none;
  }
  body:not(.admin-page) .site-header .brand,
  body:not(.admin-page) .site-header .theme-toggle,
  body:not(.admin-page) .site-header .nav-toggle,
  body:not(.admin-page) .site-header .main-nav,
  body:not(.admin-page) .site-header .book-visit {
    grid-area: auto;
  }
  body:not(.admin-page) .site-header .nav-toggle {
    display: none;
  }
  body:not(.admin-page) .site-header .main-nav {
    display: flex;
  }
  body:not(.admin-page) .site-header .book-visit {
    display: inline-flex;
  }
}

@media (max-width: 1180px) {
  body:not(.admin-page) .site-header {
    min-height: 72px;
    grid-template-columns: minmax(0, 1fr) 42px 44px;
    grid-template-areas:
      "brand theme toggle"
      "nav nav nav"
      "book book book";
    padding: 6px 14px;
    gap: 8px;
  }
  body:not(.admin-page) .site-header .brand {
    grid-area: brand;
    width: min(210px, calc(100vw - 120px));
    height: 60px;
  }
  body:not(.admin-page) .site-header .theme-toggle { grid-area: theme; }
  body:not(.admin-page) .site-header .nav-toggle {
    grid-area: toggle;
    width: 44px;
    height: 44px;
    display: inline-grid;
  }
  body:not(.admin-page) .site-header .main-nav {
    grid-area: nav;
    width: 100%;
    height: auto;
    max-height: min(64vh, 520px);
    padding: 10px;
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow-y: auto;
    border-radius: 16px;
    box-shadow: 0 20px 45px rgba(0, 45, 32, .14);
  }
  body:not(.admin-page) .site-header .main-nav.open { display: grid; }
  body:not(.admin-page) .site-header .main-nav a {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 63, 44, .08);
    border-radius: 11px;
    background: #fff;
    white-space: normal;
  }
  body:not(.admin-page) .site-header .book-visit {
    grid-area: book;
    display: none;
    width: 100%;
    border-radius: 12px;
  }
  body:not(.admin-page) .site-header .main-nav.open ~ .book-visit {
    display: inline-flex;
  }
}

/* Consistent public-page rhythm and premium card treatment */
.mortgage-band,
.inventory-strip,
.feature-grid,
.plan-explorer,
.virtual-experience,
.investment-returns,
.connector,
.homes,
.proof-strip,
.content-columns,
.ready,
.marketing-growth-hub,
.customer-app-showcase,
.diaspora-confidence-bar,
.diaspora-verification-centre,
.diaspora-app-hub,
.diaspora-planning-suite,
.diaspora-security-promise {
  width: var(--vv-shell);
  margin-inline: auto;
}

.marketing-growth-hub,
.customer-app-showcase,
.diaspora-app-hub {
  border-radius: 30px;
  box-shadow: var(--vv-elevation-strong);
}

:where(
  .feature-grid article,
  .home-card,
  .faq-card,
  .virtual-grid article,
  .process-grid article,
  .trust-grid article,
  .contact-form,
  .contact-panel,
  .unit-card,
  .payment-mode-card
) {
  border-radius: var(--vv-card-radius);
}

.customer-app-showcase {
  gap: clamp(34px, 6vw, 86px);
}

.customer-app-showcase__copy > p {
  font-size: 14px;
}

.customer-app-features > span {
  min-height: 72px;
  border-radius: 14px;
}

.customer-app-features b {
  font-size: 12px;
}

.customer-app-actions .btn {
  min-height: 50px;
  font-size: 11px;
}

/* Apartment selection follows the same header and content geometry */
.selection-header {
  min-height: 82px;
  padding: 7px clamp(18px, 2.5vw, 42px);
  grid-template-columns: 200px minmax(0, 1fr) auto;
  gap: 14px;
  border-color: var(--vv-border);
}

.selection-brand {
  width: 200px;
  height: 64px;
}

.selection-brand img {
  width: 56px;
  height: 56px;
  flex-basis: 56px;
  border-radius: 14px;
  box-shadow: 0 8px 19px rgba(0, 45, 32, .12);
}

.selection-header nav {
  width: min(100%, 680px);
  min-height: 46px;
  padding: 4px;
  gap: 2px;
  border-color: var(--vv-border);
}

.selection-header nav a {
  min-height: 38px;
  padding-inline: clamp(8px, .9vw, 15px);
  font-size: 11px;
}

.selection-header__help {
  min-height: 46px;
  padding-inline: 16px;
}

.selection-hero__content {
  max-width: 720px;
}

.selection-hero__content h1 {
  color: #fff;
  text-shadow: 0 3px 22px rgba(0, 20, 14, .24);
}

.selection-hero__content h1 em {
  color: var(--vv-brand-gold-light);
}

.selection-livebar,
.selection-progress,
.unit-explorer,
.payment-studio__shell,
.reserve-unit {
  width: var(--vv-shell);
}

/* Buyer/customer app */
.buyer-portal-shell {
  width: min(1480px, calc(100% - 28px));
  padding: clamp(18px, 4vh, 42px) 0 54px;
}

.buyer-login,
.admin-login {
  width: min(620px, 100%);
  border-radius: var(--vv-panel-radius);
  box-shadow: var(--vv-elevation-strong);
}

.buyer-login h1,
.admin-login h1 {
  max-width: 520px;
}

.buyer-install-row {
  border-radius: 14px;
}

.buyer-dashboard {
  border-radius: var(--vv-panel-radius);
}

.buyer-header,
.buyer-hero,
.buyer-tabs {
  border-color: var(--vv-border);
}

.buyer-tabs {
  gap: 7px;
}

.buyer-tabs button {
  min-height: 44px;
  border-radius: 10px;
}

/* Operations suite */
.admin-page .admin-shell {
  width: min(1780px, calc(100% - 28px));
}

.admin-page .admin-dashboard {
  border-radius: var(--vv-panel-radius);
  box-shadow: var(--vv-elevation-strong);
}

.admin-page .admin-topbar {
  min-height: 108px;
  padding: 18px 22px;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 18px;
  border-radius: var(--vv-panel-radius) var(--vv-panel-radius) 0 0;
}

.admin-page .admin-topbar__identity {
  min-width: 0;
}

.admin-page .admin-topbar h1 {
  margin-block: 5px 3px;
  font-size: clamp(28px, 2.8vw, 44px);
}

.admin-page .admin-topbar p {
  max-width: 620px;
  font-size: 12px;
}

.admin-page .admin-actions {
  max-width: 980px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.admin-page .admin-actions .btn,
.admin-page .admin-install-app,
.admin-page .admin-alert-button {
  min-height: 42px;
  border-radius: 10px;
  font-size: 9px;
}

.admin-page .admin-sync-status {
  min-height: 42px;
}

.admin-page .admin-metrics {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 13px;
}

.admin-page .admin-metrics article {
  min-height: 132px;
  padding: 18px;
  border-radius: 16px;
}

.admin-page .admin-workspace {
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 18px;
}

.admin-page .admin-sidebar {
  border-radius: 19px;
}

.admin-page .admin-view-tabs button {
  min-height: 46px;
  padding: 9px 11px;
  font-size: 10px;
}

.admin-page .admin-view-panel {
  border-radius: 19px;
}

.admin-page .overview-card,
.admin-page .analytics-card,
.admin-page .site-control-card,
.admin-page .automation-channel,
.admin-page .enterprise-panel,
.admin-page .report-document,
.admin-page .team-card {
  border-radius: 15px !important;
}

.admin-page .admin-toolbar {
  gap: 10px;
}

.admin-page .admin-toolbar :where(input, select, button) {
  min-height: 44px;
}

.admin-page .admin-table th {
  height: 44px;
  padding-block: 11px;
}

.admin-page .admin-table td {
  padding-block: 12px;
}

@media (max-width: 1280px) {
  .admin-page .admin-topbar {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .admin-page .admin-actions {
    max-width: none;
    justify-content: flex-start;
  }
  .admin-page .admin-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  :root {
    --vv-shell: min(100% - 28px, 860px);
  }
  .topbar {
    display: none;
  }
  .admin-page .admin-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 78px;
    padding: 11px 13px;
    gap: 10px;
  }
  .admin-page .admin-topbar p {
    display: none;
  }
  .admin-page .admin-actions {
    width: auto;
    flex-wrap: nowrap;
  }
  .admin-page .admin-actions > :not(.admin-notifications):not(.admin-install-app) {
    display: none;
  }
  .admin-page .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-page .admin-workspace {
    grid-template-columns: 1fr;
  }
  .selection-header {
    min-height: 72px;
    grid-template-areas:
      "selection-brand selection-toggle"
      "selection-nav selection-nav";
    grid-template-columns: minmax(0, 1fr) 44px;
    padding: 7px 12px;
  }
  .selection-brand {
    grid-area: selection-brand;
    width: min(210px, calc(100vw - 82px));
    height: 58px;
  }
  .selection-nav-toggle {
    grid-area: selection-toggle;
    display: inline-grid;
    width: 44px;
    height: 44px;
  }
  .selection-header nav {
    grid-area: selection-nav;
    width: 100%;
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px;
    gap: 8px;
    border-radius: 16px;
    box-shadow: 0 20px 45px rgba(0, 45, 32, .14);
  }
  .selection-header nav.open {
    display: grid;
  }
  .selection-header nav a {
    min-height: 46px;
    justify-content: center;
    border: 1px solid rgba(0, 63, 44, .08);
    border-radius: 11px;
    background: #fff;
    text-align: center;
  }
  .selection-header__help {
    display: none;
  }
}

@media (max-width: 760px) {
  :root {
    --vv-shell: calc(100% - 20px);
    --vv-section-space: 48px;
    --vv-card-radius: 15px;
    --vv-panel-radius: 21px;
  }
  html {
    scroll-padding-top: 76px;
  }
  body:not(.admin-page) .site-header {
    grid-template-columns: minmax(0, 1fr) 38px 42px;
    padding-inline: 10px;
  }
  body:not(.admin-page) .site-header .brand {
    width: min(190px, calc(100vw - 112px));
    height: 58px;
  }
  body:not(.admin-page) .site-header .brand img {
    width: 52px;
    max-width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
  body:not(.admin-page) .site-header .main-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .marketing-growth-hub,
  .customer-app-showcase,
  .diaspora-app-hub {
    width: calc(100% - 20px);
    border-radius: 21px;
  }
  .customer-app-showcase {
    padding: 28px 17px;
  }
  .customer-app-features {
    grid-template-columns: 1fr;
  }
  .buyer-login,
  .admin-login {
    border-radius: 21px;
  }
  .buyer-tabs {
    padding-bottom: 6px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .buyer-tabs button {
    min-width: max-content;
    scroll-snap-align: start;
  }
  .admin-page .admin-shell {
    width: calc(100% - 12px);
    padding-top: 6px;
  }
  .admin-page .admin-dashboard {
    border-radius: 18px;
  }
  .admin-page .admin-topbar {
    border-radius: 18px 18px 0 0;
  }
  .admin-page .admin-metrics {
    padding: 10px 8px 0;
    gap: 8px;
  }
  .admin-page .admin-metrics article {
    min-height: 108px;
    padding: 13px;
  }
  .admin-page .admin-workspace {
    padding: 10px 8px 14px;
  }
  .admin-page .admin-view-panel {
    padding: 14px;
    border-radius: 15px;
  }
}

@media (max-width: 420px) {
  body:not(.admin-page) .site-header .brand {
    width: min(178px, calc(100vw - 106px));
  }
  .brand-wordmark b {
    font-size: 12px;
  }
  .brand-wordmark small {
    font-size: 7px;
  }
  body:not(.admin-page) .site-header .main-nav,
  .selection-header nav {
    grid-template-columns: 1fr;
  }
  body:not(.admin-page) .site-header .main-nav a:last-child {
    grid-column: auto;
  }
  .app-auth-assurance {
    grid-template-columns: 1fr;
  }
  .admin-page .admin-metrics {
    grid-template-columns: 1fr 1fr;
  }
}

body.dark-theme {
  --vv-text: #eef7f2;
  --vv-text-soft: #b5c8be;
}

/* ==========================================================================
   Full-width responsive public site system · July 2026
   ========================================================================== */
:root {
  --site-gutter: clamp(16px, 4vw, 72px);
  --site-section-space: clamp(52px, 6.5vw, 104px);
  --site-heading: #006447;
  --site-heading-dark: #f5c34b;
}

body:not(.admin-page):not(.buyer-portal-page) main {
  width: 100%;
  max-width: none;
  margin: 0;
}

body:not(.admin-page):not(.buyer-portal-page) main > section {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body:not(.admin-page):not(.buyer-portal-page) main > section:not(.hero):not(.selection-hero):not(.contact-hero):not(.gallery-hero):not(.blog-hero) {
  padding-inline: var(--site-gutter);
}

body:not(.admin-page):not(.buyer-portal-page) :where(
  .feature-grid,
  .plan-explorer,
  .virtual-experience,
  .investment-returns,
  .homes,
  .content-columns,
  .marketing-growth-hub,
  .customer-app-showcase,
  .diaspora-process,
  .diaspora-trust-row,
  .diaspora-two-column,
  .diaspora-returns-band,
  .diaspora-testimonials,
  .diaspora-confidence-bar,
  .diaspora-verification-centre,
  .diaspora-app-hub,
  .diaspora-planning-suite,
  .diaspora-security-promise,
  .gallery-showcase,
  .gallery-wall,
  .gallery-cta,
  .blog-index,
  .contact-grid,
  .contact-strip,
  .unit-explorer
) {
  padding-block: var(--site-section-space);
}

body:not(.admin-page):not(.buyer-portal-page) :where(.diaspora-main, .blog-post) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body:not(.admin-page):not(.buyer-portal-page) :where(.blog-hero, .gallery-hero, .contact-hero) {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
}

body:not(.admin-page):not(.buyer-portal-page) main h2 {
  color: var(--site-heading);
  font-size: clamp(28px, 3.2vw, 52px);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -.035em;
}

body:not(.admin-page):not(.buyer-portal-page) :where(
  .payment-studio,
  .connector,
  .ready,
  .gallery-cta,
  .diaspora-final-cta,
  .diaspora-app-hub,
  .customer-app-showcase,
  .reserve-unit__visual
) h2 {
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 24, 17, .18);
}

body.dark-theme:not(.admin-page):not(.buyer-portal-page) main h2 {
  color: var(--site-heading-dark);
}

body:not(.admin-page):not(.buyer-portal-page) main :where(section, article, div, form, nav) {
  min-width: 0;
}

body:not(.admin-page):not(.buyer-portal-page) main :where(h1, h2, h3, p, li, a, span, strong) {
  overflow-wrap: anywhere;
}

body:not(.admin-page):not(.buyer-portal-page) :where(.returns-table, .admin-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

/* Availability now uses the same header geometry and navigation as every page. */
.selection-page .site-header {
  min-height: 82px;
  padding: 7px clamp(18px, 2.5vw, 42px);
  grid-template-columns: 200px minmax(0, 1fr) 42px 126px;
  gap: 10px;
}

.selection-page .site-header .brand {
  width: 200px;
  height: 64px;
  margin: 0;
}

.selection-page .site-header .main-nav {
  width: 100%;
  max-width: none;
  min-height: 46px;
}

.selection-page .site-header .selection-header__help {
  min-width: 126px;
  min-height: 44px;
  padding: 0 15px;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #f6c64b, #d99f24);
  color: #10271f;
}

@media (max-width: 1180px) {
  .selection-page .site-header {
    min-height: 72px;
    padding: 6px 14px;
    grid-template-columns: minmax(0, 1fr) 42px 44px;
    grid-template-areas:
      "brand theme toggle"
      "nav nav nav"
      "book book book";
    gap: 8px;
  }

  .selection-page .site-header .selection-brand {
    width: min(210px, calc(100vw - 120px));
    height: 60px;
    grid-area: brand;
  }

  .selection-page .site-header .theme-toggle {
    grid-area: theme;
  }

  .selection-page .site-header .selection-nav-toggle {
    width: 44px;
    height: 44px;
    display: inline-grid;
    grid-area: toggle;
  }

  .selection-page .site-header .main-nav {
    width: 100%;
    max-height: min(64vh, 520px);
    padding: 10px;
    display: none;
    grid-area: nav;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    overflow-y: auto;
    border-radius: 16px;
  }

  .selection-page .site-header .main-nav.open {
    display: grid;
  }

  .selection-page .site-header .main-nav a {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    justify-content: center;
    border: 1px solid rgba(0, 63, 44, .08);
    border-radius: 11px;
    background: #fff;
    text-align: center;
    white-space: normal;
  }

  .selection-page .site-header .selection-header__help {
    width: 100%;
    display: none;
    grid-area: book;
    justify-content: center;
    border-radius: 12px;
  }

  .selection-page .site-header .main-nav.open ~ .selection-header__help {
    display: inline-flex;
  }

  body:not(.admin-page):not(.buyer-portal-page) :where(
    .feature-grid,
    .content-columns,
    .diaspora-two-column,
    .diaspora-planning-suite,
    .contact-grid
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.admin-page):not(.buyer-portal-page) :where(
    .process-grid,
    .trust-grid,
    .virtual-grid,
    .blog-index,
    .gallery-wall
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  :root {
    --site-gutter: 14px;
    --site-section-space: 48px;
  }

  body:not(.admin-page):not(.buyer-portal-page) main h2 {
    font-size: clamp(26px, 8.4vw, 38px);
    line-height: 1.1;
  }

  body:not(.admin-page):not(.buyer-portal-page) :where(
    .feature-grid,
    .content-columns,
    .diaspora-two-column,
    .diaspora-planning-suite,
    .contact-grid,
    .process-grid,
    .trust-grid,
    .virtual-grid,
    .blog-index,
    .gallery-wall
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  .selection-page .site-header .main-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.admin-page):not(.buyer-portal-page) :where(.section-heading, .selection-section-heading) {
    align-items: flex-start;
    text-align: left;
  }

  body:not(.admin-page):not(.buyer-portal-page) :where(.btn, button[type="submit"]) {
    min-height: 48px;
  }
}

@media (max-width: 420px) {
  :root {
    --site-gutter: 10px;
    --site-section-space: 40px;
  }

  .selection-page .site-header .main-nav {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.admin-page):not(.buyer-portal-page) main h2 {
    font-size: clamp(25px, 9vw, 34px);
  }
}

/* H3 contrast and the financing band immediately below the home hero. */
body:not(.admin-page):not(.buyer-portal-page) main h3 {
  color: #087050;
  font-size: clamp(20px, 2.15vw, 32px);
  font-weight: 850;
  line-height: 1.16;
  letter-spacing: -.025em;
}

body:not(.admin-page):not(.buyer-portal-page) :where(
  .payment-studio,
  .connector,
  .ready,
  .gallery-cta,
  .diaspora-final-cta,
  .diaspora-app-hub,
  .customer-app-showcase,
  .reserve-unit__visual,
  .feature-card--image,
  .diaspora-book-card
) h3 {
  color: #fff;
  text-shadow: 0 2px 16px rgba(0, 24, 17, .22);
}

body.dark-theme:not(.admin-page):not(.buyer-portal-page) main h3 {
  color: var(--site-heading-dark);
}

#investment.mortgage-band {
  min-height: 0;
  padding: clamp(24px, 3.2vw, 46px) var(--site-gutter);
  display: grid;
  grid-template-columns:
    minmax(220px, .9fr)
    minmax(260px, 1.15fr)
    minmax(230px, .9fr)
    minmax(190px, .72fr);
  grid-template-rows: auto auto auto;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  border-radius: 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(242, 190, 57, .16), transparent 27%),
    linear-gradient(135deg, #004a35, #002c21);
}

#investment .family-crop {
  min-height: 350px;
  height: 100%;
  grid-column: 1;
  grid-row: 1 / 4;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 22px 52px rgba(0, 24, 17, .28);
}

#investment .family-crop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#investment .mortgage-copy {
  padding: 4px 0;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

#investment .mortgage-copy > span {
  margin-bottom: 10px;
  color: rgba(255, 255, 255, .76);
  font-size: 12px;
  letter-spacing: .08em;
}

#investment .mortgage-copy h2 {
  max-width: 520px;
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 3.2vw, 50px);
  line-height: 1.02;
  text-shadow: 0 3px 22px rgba(0, 20, 14, .2);
}

#investment .price-box {
  width: 100%;
  min-height: 150px;
  margin: 0;
  padding: 22px;
  grid-column: 3;
  grid-row: 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, .07);
}

#investment .price-box__amount {
  white-space: normal;
}

#investment .price-box strong {
  font-size: clamp(22px, 1.85vw, 31px);
  line-height: 1.12;
}

#investment .price-box small {
  margin-top: 7px;
  text-align: left;
}

#investment .rate-box {
  width: 100%;
  min-height: 150px;
  margin: 0;
  padding: 22px 14px;
  grid-column: 4;
  grid-row: 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 16px;
  background: rgba(0, 24, 17, .23);
}

#investment .rate-box strong {
  font-size: clamp(38px, 4vw, 58px);
}

#investment .rate-box span {
  margin-top: 7px;
  font-size: clamp(14px, 1.35vw, 19px);
}

#investment .rate-box b {
  padding: 8px 12px;
  border-radius: 999px;
}

#investment.mortgage-band > ul {
  margin: 0;
  padding: 0;
  grid-column: 2 / 5;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  line-height: 1.35;
}

#investment.mortgage-band > ul li {
  min-height: 58px;
  padding: 12px 13px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .055);
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
}

#investment .mortgage-actions {
  margin: 0;
  grid-column: 2 / 5;
  grid-row: 3;
  align-self: start;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#investment .mortgage-actions button {
  min-height: 48px;
  padding-inline: 22px;
  border-radius: 10px;
}

@media (max-width: 1180px) {
  #investment.mortgage-band {
    grid-template-columns: minmax(220px, .8fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto;
  }

  #investment .family-crop {
    min-height: 380px;
    grid-row: 1 / 5;
  }

  #investment .mortgage-copy {
    grid-column: 2 / 4;
  }

  #investment .price-box {
    grid-column: 2;
    grid-row: 2;
  }

  #investment .rate-box {
    grid-column: 3;
    grid-row: 2;
  }

  #investment.mortgage-band > ul {
    grid-column: 2 / 4;
    grid-row: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #investment.mortgage-band > ul li:last-child {
    grid-column: 1 / -1;
  }

  #investment .mortgage-actions {
    grid-column: 2 / 4;
    grid-row: 4;
  }
}

@media (max-width: 760px) {
  body:not(.admin-page):not(.buyer-portal-page) main h3 {
    font-size: clamp(20px, 6.5vw, 28px);
  }

  #investment.mortgage-band {
    padding: 14px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 14px;
  }

  #investment .family-crop,
  #investment .mortgage-copy,
  #investment .price-box,
  #investment .rate-box,
  #investment.mortgage-band > ul,
  #investment .mortgage-actions {
    grid-column: 1;
    grid-row: auto;
  }

  #investment .family-crop {
    min-height: 220px;
    height: 220px;
  }

  #investment .mortgage-copy {
    padding: 12px 4px 2px;
  }

  #investment .mortgage-copy h2 {
    font-size: clamp(30px, 10vw, 42px);
  }

  #investment .price-box,
  #investment .rate-box {
    min-height: 138px;
    padding: 19px;
  }

  #investment.mortgage-band > ul {
    grid-template-columns: minmax(0, 1fr);
  }

  #investment.mortgage-band > ul li:last-child {
    grid-column: auto;
  }

  #investment .mortgage-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  #investment .mortgage-actions button {
    width: 100%;
  }
}

body.dark-theme:not(.admin-page) .site-header {
  border-color: rgba(255, 255, 255, .1);
  background: rgba(10, 34, 27, .97);
}

body.dark-theme:not(.admin-page) .site-header .main-nav {
  border-color: rgba(255, 255, 255, .1);
  background: #102e25;
}

body.dark-theme:not(.admin-page) .site-header .main-nav a {
  border-color: rgba(255, 255, 255, .08);
  background: transparent;
  color: #d2e2d9;
}

/* ==========================================================================
   Responsive content polish · July 2026
   ========================================================================== */

body:not(.admin-page):not(.buyer-portal-page) main :is(
  .feature-card--image,
  .feature-card.calc-card,
  .feature-card.diaspora,
  .feature-card.progress,
  .plan-explorer,
  .payment-studio,
  .connector,
  .ready,
  .gallery-cta,
  .diaspora-final-cta,
  .diaspora-app-hub,
  .customer-app-showcase,
  .reserve-unit__visual,
  .diaspora-book-card
) :is(h2, h3) {
  color: #fff;
  text-shadow: 0 2px 16px rgba(0, 24, 17, .24);
}

body:not(.admin-page):not(.buyer-portal-page) main .feature-card.developer h3 {
  color: #087050;
  text-shadow: none;
}

body:not(.admin-page):not(.buyer-portal-page) main :is(
  .feature-card,
  .virtual-grid article,
  .home-card,
  .contact-panel,
  .contact-form,
  .unit-match-card,
  .referral-growth-card
) h3 {
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.12;
}

body:not(.admin-page):not(.buyer-portal-page) main :is(
  .blog-post__body,
  .contact-grid,
  .diaspora-two-column,
  .diaspora-planning-suite,
  .diaspora-verification-centre
) h2 {
  font-size: clamp(28px, 2.8vw, 38px);
  line-height: 1.06;
}

body:not(.admin-page):not(.buyer-portal-page) main .connector h2 {
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.05;
}

body:not(.admin-page):not(.buyer-portal-page) main .diaspora-two-column h3 {
  font-size: clamp(22px, 2vw, 28px);
}

.plan-explorer {
  padding: clamp(22px, 2.5vw, 34px);
}

.plan-explorer__intro {
  max-width: 1040px;
}

.plan-explorer__intro p {
  margin-bottom: 16px;
}

.plan-explorer__stats {
  margin-bottom: 18px;
}

.plan-tab {
  min-height: 62px;
  padding: 9px 10px;
  grid-template-columns: 46px 1fr;
}

.plan-tab span {
  width: 42px;
  height: 42px;
}

.plan-legend {
  display: none;
}

.plan-viewer {
  min-height: 380px;
  height: clamp(340px, 32vw, 460px);
  aspect-ratio: auto;
}

.marketing-growth-hub {
  margin-block: clamp(48px, 5vw, 76px);
  padding: clamp(26px, 3.4vw, 50px);
}

.marketing-growth-hub__intro h2 {
  font-size: clamp(34px, 4.2vw, 56px);
}

.marketing-panel-toggle {
  width: 100%;
  min-height: 48px;
  margin-top: 20px;
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(0, 63, 44, .14);
  border-radius: 10px;
  background: #edf5f0;
  color: #003f2c;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.marketing-panel-toggle b {
  font-size: 22px;
  line-height: 1;
}

.marketing-panel-collapsed > form,
.marketing-panel-collapsed > :is(.unit-match-result, .referral-result) {
  display: none !important;
}

.unit-filter-toggle {
  display: none;
}

@media (max-width: 1180px) {
  body:not(.admin-page) .site-header {
    position: sticky;
    grid-template-areas: "brand theme toggle";
  }

  body:not(.admin-page) .site-header .main-nav.open {
    width: auto;
    max-height: min(72vh, 560px);
    position: absolute;
    z-index: 120;
    top: calc(100% + 6px);
    right: 14px;
    left: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid rgba(0, 63, 44, .12);
    background: rgba(245, 249, 246, .985);
    box-shadow: 0 28px 65px rgba(0, 45, 32, .2);
    backdrop-filter: blur(18px);
  }

  body:not(.admin-page) .site-header .main-nav.open ~ .book-visit {
    display: none;
  }

  .selection-header nav.open {
    width: auto;
    max-height: min(72vh, 560px);
    position: absolute;
    z-index: 120;
    top: calc(100% + 6px);
    right: 14px;
    left: 14px;
    border: 1px solid rgba(0, 63, 44, .12);
    box-shadow: 0 28px 65px rgba(0, 45, 32, .2);
  }

  .plan-controls {
    padding: 12px;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .plan-shell {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  }

  .plan-insights {
    grid-column: auto;
  }

  .plan-controls__heading {
    margin: 0;
    grid-column: 1 / -1;
  }

  .plan-tab {
    min-height: 68px;
    margin: 0;
  }

  .plan-tab:hover {
    transform: translateY(-2px);
  }

  .plan-insights {
    padding: 18px;
  }

  .hero {
    display: flex;
    flex-direction: column;
  }

  .hero__media {
    order: 1;
    height: clamp(250px, 36vw, 330px);
  }

  .hero__content {
    order: 2;
    width: 100%;
    max-width: 820px;
    padding: 26px var(--site-gutter) 30px;
  }

  .hero .availability-card {
    order: 3;
    width: auto;
    margin: 0 var(--site-gutter) 24px;
    padding: 16px;
    display: grid;
    grid-template-columns: 140px repeat(3, minmax(0, 1fr));
    gap: 8px 12px;
    align-items: center;
  }

  .hero .availability-card .card-title {
    grid-column: 1 / -1;
  }

  .hero .availability-card .big-number {
    margin: 0;
    grid-column: 1;
    grid-row: 2;
  }

  .hero .availability-card .muted {
    grid-column: 1;
    grid-row: 3;
  }

  .hero .availability-card .meter-row {
    margin: 0;
    grid-row: 2 / 4;
  }

  .hero .availability-card .btn {
    margin: 4px 0 0;
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .inventory-strip--art .inventory-art {
    display: block !important;
    width: 100%;
    height: auto !important;
    aspect-ratio: auto;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .inventory-strip--art .inventory-art img {
    width: 940px;
    max-width: none;
    height: auto !important;
    object-fit: contain;
    object-position: left top;
  }

  .inventory-strip--art .inventory-mobile-list {
    display: flex !important;
    gap: 10px;
    padding: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .inventory-strip--art .inventory-mobile-list > * {
    min-width: min(82vw, 310px);
    flex: 0 0 min(82vw, 310px);
    scroll-snap-align: start;
    border: 1px solid rgba(0, 63, 44, .1);
    border-radius: 12px;
  }

  body.marketing-dock-enabled {
    padding-bottom: 0;
  }

  .marketing-dock {
    width: calc(100% - 20px);
    min-height: 0;
    margin: 22px auto 10px;
    padding: 8px;
    position: static;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-color: rgba(0, 63, 44, .1);
    box-shadow: 0 12px 30px rgba(0, 45, 32, .11);
  }

  .marketing-dock a,
  .marketing-dock button {
    min-height: 48px;
  }

  .marketing-dock span {
    font-size: 8px;
  }

  .marketing-dock b {
    font-size: 10px;
  }

  body:not(.admin-page):not(.buyer-portal-page) main :is(
    .feature-card,
    .virtual-grid article,
    .home-card,
    .contact-panel,
    .contact-form,
    .unit-match-card,
    .referral-growth-card
  ) h3 {
    font-size: clamp(20px, 6vw, 25px);
  }

  body:not(.admin-page):not(.buyer-portal-page) main :is(
    .blog-post__body,
    .contact-grid,
    .diaspora-two-column,
    .diaspora-planning-suite,
    .diaspora-verification-centre
  ) h2 {
    font-size: clamp(25px, 7.5vw, 30px);
  }

  body:not(.admin-page):not(.buyer-portal-page) main .connector h2 {
    font-size: clamp(27px, 8vw, 32px);
  }

  .hero__media {
    height: clamp(220px, 62vw, 270px);
  }

  .hero__content {
    padding-top: 22px;
    padding-bottom: 26px;
  }

  .hero__content h1 {
    font-size: clamp(36px, 10.5vw, 44px);
    line-height: .98;
  }

  .hero-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .hero-point-card {
    min-width: 0;
    padding: 10px;
    gap: 9px;
  }

  .hero-point-icon-wrapper {
    width: 34px;
    height: 34px;
  }

  .hero-points .hero-point-content b {
    font-size: 12px;
  }

  .hero-points .hero-point-content span {
    font-size: 10px;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .hero-actions .btn {
    width: auto;
    min-height: 46px;
    padding-inline: 10px;
    font-size: 9px;
  }

  .hero-actions .btn:first-child {
    grid-column: 1 / -1;
  }

  .hero .availability-card {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .hero .availability-card .card-title,
  .hero .availability-card .btn {
    grid-column: 1 / -1;
  }

  .hero .availability-card .big-number {
    grid-column: 1;
    grid-row: 2;
    font-size: 38px;
  }

  .hero .availability-card .muted {
    grid-column: 1;
    grid-row: 3;
    font-size: 10px;
  }

  .hero .availability-card .meter-row {
    grid-row: 2 / 4;
    font-size: 9px;
  }

  .plan-explorer {
    padding: 18px 12px;
  }

  .plan-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .plan-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-controls__heading {
    display: none;
  }

  .plan-tab {
    min-height: 68px;
    padding: 7px 5px;
    grid-template-columns: 30px 1fr;
    gap: 5px;
  }

  .plan-tab span {
    width: 30px;
    height: 30px;
  }

  .plan-tab small {
    display: none;
  }

  .plan-viewer {
    min-height: 260px;
    height: 260px;
  }

  .plan-explorer__intro p {
    margin-bottom: 12px;
  }

  .plan-explorer__stats {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-explorer__stats span {
    min-height: 52px;
    padding: 8px;
    display: grid;
    gap: 2px;
    border-radius: 10px;
    text-align: center;
  }

  .plan-insights {
    padding: 14px;
  }

  .plan-insights h3 {
    margin: 10px 0 6px;
  }

  .plan-insights p {
    margin-block: 6px;
    font-size: 12px;
  }

  .plan-metrics {
    margin: 10px 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .plan-metrics span {
    min-height: 52px;
    padding: 8px;
  }

  .plan-metrics b {
    font-size: 15px;
  }

  .marketing-growth-hub {
    margin-block: 42px;
    padding: 24px 12px 18px;
  }

  .marketing-growth-hub__intro h2 {
    font-size: clamp(30px, 9vw, 38px);
  }

  .marketing-growth-trust {
    margin-bottom: 18px;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .marketing-growth-trust span {
    width: auto;
    flex: 0 0 auto;
  }

  .unit-explorer {
    padding-block: 46px;
  }

  .unit-filter-toggle {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(0, 63, 44, .14);
    border-radius: 10px;
    background: #edf5f0;
    color: #003f2c;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
  }

  .unit-filters:not(.mobile-open) {
    display: none;
  }

  .unit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .unit-card {
    padding: 12px 10px;
  }

  .unit-card__details {
    gap: 4px;
  }

  .unit-card__details span {
    font-size: 9px;
  }
}

@media (max-width: 480px) {
  body:not(.admin-page) .site-header .main-nav.open {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-point-content span {
    display: none;
  }

  .marketing-dock {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Vanilla Vista Assistant: helpful, frequency-controlled buyer guidance and replies. */
.vista-concierge-launcher {
  min-width: 154px;
  min-height: 58px;
  padding: 7px 13px 7px 8px;
  position: fixed;
  z-index: 10040;
  right: 22px;
  bottom: 20px;
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: 1fr 1fr;
  align-items: center;
  column-gap: 9px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  background: linear-gradient(135deg, #004c36, #002d22);
  color: #fff;
  box-shadow: 0 18px 44px rgba(0, 45, 32, .28);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.vista-concierge-launcher:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 50px rgba(0, 45, 32, .34);
}

.vista-concierge-launcher > span {
  width: 42px;
  height: 42px;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--vv-brand-gold-light);
  color: var(--vv-brand-green-deep);
  font-size: 12px;
  font-weight: 950;
}

.vista-concierge-launcher b,
.vista-concierge-launcher i {
  display: block;
}

.vista-concierge-launcher b {
  align-self: end;
  font-size: 12px;
  line-height: 1;
}

.vista-concierge-launcher i {
  align-self: start;
  color: rgba(255, 255, 255, .7);
  font-size: 9px;
  font-style: normal;
}

.vista-concierge-launcher[aria-expanded="true"] {
  opacity: 0;
  pointer-events: none;
}

.vista-concierge {
  width: min(410px, calc(100vw - 32px));
  max-height: min(650px, calc(100dvh - 110px));
  position: fixed;
  z-index: 10050;
  right: 22px;
  bottom: 22px;
  overflow: hidden auto;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 22px;
  background: #f7faf8;
  box-shadow: 0 34px 90px rgba(0, 37, 27, .34);
  opacity: 0;
  transform: translateY(18px) scale(.98);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.vista-concierge[hidden] {
  display: none;
}

.vista-concierge.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.vista-concierge__header {
  min-height: 78px;
  padding: 13px 14px;
  position: sticky;
  z-index: 2;
  top: 0;
  display: grid;
  grid-template-columns: 46px 1fr 36px;
  align-items: center;
  gap: 10px;
  background:
    radial-gradient(circle at 100% 0, rgba(242, 190, 57, .18), transparent 38%),
    linear-gradient(135deg, #004a35, #002d22);
  color: #fff;
}

.vista-concierge__header > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--vv-brand-gold-light);
  color: var(--vv-brand-green-deep);
  font-size: 13px;
  font-weight: 950;
}

.vista-concierge__header b,
.vista-concierge__header small {
  display: block;
}

.vista-concierge__header b {
  font-size: 15px;
}

.vista-concierge__header small {
  margin-top: 3px;
  color: rgba(255, 255, 255, .72);
  font-size: 9px;
}

.vista-concierge__header small i {
  width: 7px;
  height: 7px;
  margin-right: 5px;
  display: inline-block;
  border-radius: 50%;
  background: #6ee7a0;
  box-shadow: 0 0 0 4px rgba(110, 231, 160, .12);
}

.vista-concierge__header button,
.vista-concierge__form > div button {
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.vista-concierge__header [data-concierge-close] {
  position: relative;
  z-index: 12;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(242, 190, 57, .7);
  background: #fff;
  color: #003f2c;
  box-shadow: 0 7px 18px rgba(0, 28, 20, .28);
}

.vista-concierge__body {
  padding: 16px;
}

.vista-concierge__message,
.vista-concierge__answer {
  padding: 14px;
  border-radius: 15px 15px 15px 4px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 45, 32, .07);
}

.vista-concierge__message small,
.vista-concierge__answer small {
  color: #9b6a06;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.vista-concierge__message p,
.vista-concierge__answer p {
  margin: 6px 0 0;
  color: #36584d;
  font-size: 12px;
  line-height: 1.55;
}

.vista-concierge__quick {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.vista-concierge__quick button,
.vista-concierge__answer a,
.vista-concierge__answer button {
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 10px;
  background: #edf5f0;
  color: #174c3b;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.vista-concierge__quick button:last-child {
  background: #003f2c;
  color: #fff;
}

.vista-concierge__answer {
  margin-top: 12px;
  border: 1px solid rgba(0, 96, 68, .13);
  background: linear-gradient(145deg, #e9f5ee, #f8fbf9);
}

.vista-concierge__answer > div {
  margin-top: 12px;
  display: flex;
  gap: 7px;
}

.vista-concierge__answer a,
.vista-concierge__answer button {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
}

.vista-concierge__answer a {
  border-color: #003f2c;
  background: #003f2c;
  color: #fff;
}

.vista-concierge__form {
  margin-top: 12px;
  padding: 14px;
  display: grid;
  gap: 10px;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0, 45, 32, .08);
}

.vista-concierge__form > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #173f32;
}

.vista-concierge__form > div button {
  background: #edf3ef;
  color: #315548;
}

.vista-concierge__form label {
  color: #315347;
  font-size: 9px;
  font-weight: 900;
}

.vista-concierge__form :is(input, select) {
  width: 100%;
  min-height: 44px;
  margin-top: 5px;
  padding: 0 10px;
  border: 1px solid #d9e4de;
  border-radius: 9px;
  background: #f8faf9;
  color: #173f32;
  font: inherit;
  font-size: 11px;
}

.vista-concierge__form > small {
  color: #6b7f76;
  font-size: 9px;
}

.vista-concierge__form > small.error {
  color: #a94332;
}

.vista-concierge__form .btn {
  width: 100%;
  min-height: 46px;
  font-size: 9px;
}

.vista-concierge__success b {
  display: block;
  color: #004b35;
  font-size: 18px;
}

.vista-concierge__success p {
  color: #536e64;
  font-size: 11px;
  line-height: 1.55;
}

.vista-concierge__success a {
  min-height: 42px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border-radius: 9px;
  background: #0c9f51;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.vista-concierge__privacy {
  margin-top: 11px;
  color: #71847b;
  font-size: 8px;
  text-align: center;
}

.contact-auto-reply {
  margin-top: 16px;
  padding: 17px;
  display: grid;
  gap: 7px;
  border: 1px solid rgba(0, 112, 75, .16);
  border-radius: 13px;
  background: linear-gradient(145deg, #e8f6ee, #f8fbf9);
  color: #36584d;
}

.contact-auto-reply b {
  color: #00533b;
  font-size: 18px;
}

.contact-auto-reply span {
  font-size: 12px;
  line-height: 1.5;
}

.contact-auto-reply a {
  width: max-content;
  min-height: 40px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border-radius: 9px;
  background: #0c9f51;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

@media (max-width: 620px) {
  .vista-concierge-launcher {
    min-width: 58px;
    width: 58px;
    height: 58px;
    padding: 8px;
    right: 12px;
    bottom: 12px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }

  .vista-concierge-launcher > span {
    grid-row: auto;
  }

  .vista-concierge-launcher b,
  .vista-concierge-launcher i {
    display: none;
  }

  .vista-concierge {
    width: calc(100% - 16px);
    height: auto;
    max-height: none;
    top: max(8px, env(safe-area-inset-top));
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    border-radius: 20px;
  }

  .vista-concierge__header {
    min-height: 74px;
    padding: 10px 11px;
    z-index: 20;
    grid-template-columns: 42px minmax(0, 1fr) 44px;
  }

  .vista-concierge__header > span {
    width: 42px;
    height: 42px;
  }

  .vista-concierge__header [data-concierge-close] {
    width: 44px;
    height: 44px;
    min-height: 44px;
    justify-self: end;
    border-width: 2px;
    font-size: 28px;
  }

  .vista-concierge__body {
    padding: 13px;
  }

  .vista-concierge__quick {
    grid-template-columns: minmax(0, 1fr);
  }

  .vista-concierge__quick button {
    min-height: 39px;
    text-align: center;
  }
}

/* Digital Marketing Studio */
.marketing-studio-panel { --mkt-ink:#123b2e; --mkt-green:#075b3d; --mkt-gold:#c99722; }
.marketing-studio-hero { position:relative; overflow:hidden; padding:clamp(28px,4vw,52px); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:30px; border-radius:18px; background:radial-gradient(circle at 85% 10%,rgba(226,179,65,.3),transparent 28%),linear-gradient(135deg,#052d21,#075b3d 65%,#0b704d); color:#fff; box-shadow:0 22px 55px rgba(4,58,39,.18); }
.marketing-studio-hero::after { content:""; position:absolute; right:-70px; bottom:-140px; width:360px; height:360px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.04),0 0 0 90px rgba(255,255,255,.025); }
.marketing-studio-hero h2 { margin:12px 0; color:#fff; font-size:clamp(34px,5vw,62px); line-height:.98; letter-spacing:-.045em; }
.marketing-studio-hero p { max-width:780px; margin:0; color:rgba(255,255,255,.78); font-size:15px; line-height:1.7; }
.marketing-studio-score { position:relative; z-index:1; min-width:215px; padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.marketing-studio-score span,.marketing-studio-score small { display:block; color:rgba(255,255,255,.65); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.marketing-studio-score strong { display:block; margin:6px 0; color:#f0d48c; font-family:Georgia,serif; font-size:28px; }
.marketing-studio-metrics { margin:16px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.marketing-studio-metrics article { padding:18px; border:1px solid #e0e8e3; border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(10,55,40,.05); }
.marketing-studio-metrics span,.marketing-studio-metrics small { display:block; color:#72847b; font-size:10px; font-weight:800; text-transform:uppercase; }
.marketing-studio-metrics strong { display:block; margin:6px 0; color:var(--mkt-green); font-size:30px; }
.marketing-studio-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr); gap:16px; }
.marketing-generator,.marketing-playbook,.marketing-draft-workspace,.marketing-calendar-section,.marketing-connections { border:1px solid #dfe7e2; border-radius:15px; background:#fff; box-shadow:0 12px 34px rgba(8,56,39,.06); }
.marketing-generator { padding:24px; display:grid; gap:16px; }
.marketing-generator label,.marketing-copy-workspace label,.marketing-image-picker,.marketing-publish-bar>label,.marketing-connections label { color:#23473b; font-size:10px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; }
.marketing-generator input,.marketing-generator select,.marketing-generator textarea,.marketing-copy-workspace input,.marketing-copy-workspace textarea,.marketing-image-picker select,.marketing-publish-bar input,.marketing-connections input,.marketing-connections textarea { width:100%; min-height:46px; margin-top:7px; padding:11px 12px; border:1px solid #d8e2dc; border-radius:8px; background:#f8fbf9; color:#15382c; font:inherit; text-transform:none; }
.marketing-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.marketing-card-head>div { display:grid; grid-template-columns:40px 1fr; column-gap:12px; }
.marketing-card-head span { grid-row:1/3; width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#e5f0ea; color:var(--mkt-green); font-weight:900; }
.marketing-card-head h3 { margin:0; color:var(--mkt-ink); font-size:20px; }
.marketing-card-head p { margin:5px 0 0; color:#73827b; line-height:1.5; }
.marketing-card-head>b { padding:7px 10px; border-radius:999px; background:#fff4d6; color:#855f09; font-size:9px; text-transform:uppercase; }
.marketing-generator-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.marketing-generator-options label,.marketing-approval,#marketingPublishChannels label { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid #dfe7e2; border-radius:8px; background:#f8fbf9; color:#3a5b50; font-size:10px; font-weight:800; text-transform:none; }
.marketing-generator-options input,.marketing-approval input,#marketingPublishChannels input { width:16px; min-height:16px; margin:0; }
.marketing-playbook { padding:24px; }
.marketing-playbook-list { margin:22px 0; display:grid; gap:10px; }
.marketing-playbook-list article { padding:12px; display:grid; grid-template-columns:42px 1fr; align-items:center; gap:10px; border-radius:10px; background:#f5f9f6; }
.marketing-playbook-list i { width:42px; height:42px; display:grid; place-items:center; border-radius:9px; background:#0a5f42; color:#f1d084; font-size:9px; font-style:normal; font-weight:900; }
.marketing-playbook-list b { color:#183e31; font-size:12px; }
.marketing-playbook-list p { margin:3px 0 0; color:#75847c; font-size:10px; line-height:1.4; }
.marketing-draft-workspace,.marketing-calendar-section,.marketing-connections { margin-top:16px; padding:24px; }
.marketing-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.marketing-section-heading>div:last-child { display:flex; gap:8px; }
.marketing-section-heading h2 { margin:8px 0 3px; color:var(--mkt-ink); }
.marketing-section-heading p { margin:0; color:#75847c; }
.marketing-draft-grid { margin-top:20px; display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:20px; }
.marketing-creative-preview { position:relative; overflow:hidden; aspect-ratio:1; border-radius:14px; background:#073c2b; box-shadow:0 16px 34px rgba(6,50,35,.18); }
.marketing-creative-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,30,20,.05),rgba(0,30,20,.9)); }
.marketing-creative-preview img { width:100%; height:100%; object-fit:cover; }
.marketing-creative-preview>div { position:absolute; z-index:1; left:8%; right:8%; bottom:8%; color:#fff; }
.marketing-creative-preview small { color:#efd384; font-size:9px; font-weight:900; letter-spacing:.15em; }
.marketing-creative-preview h3 { max-width:90%; margin:10px 0; color:#fff; font-family:Georgia,serif; font-size:clamp(26px,3.2vw,48px); line-height:1.02; }
.marketing-creative-preview p { margin:0 0 16px; color:rgba(255,255,255,.8); font-size:11px; }
.marketing-creative-preview b { padding-top:9px; display:inline-block; border-top:2px solid #d9b45b; color:#f2d991; font-size:10px; text-transform:uppercase; }
.marketing-image-picker { margin-top:14px; display:block; }
.marketing-quality { margin-top:12px; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.marketing-quality div { padding:11px; border-radius:8px; background:#f4f8f5; }
.marketing-quality span { display:block; color:#718179; font-size:9px; text-transform:capitalize; }
.marketing-quality strong { color:#0a6042; font-size:17px; }
.marketing-copy-workspace { min-width:0; }
.marketing-copy-tabs { margin-bottom:10px; display:flex; flex-wrap:wrap; gap:6px; }
.marketing-copy-tabs button { padding:8px 10px; border:1px solid #dce5df; border-radius:7px; background:#fff; color:#4b655c; font-size:10px; font-weight:800; cursor:pointer; }
.marketing-copy-tabs button.active { border-color:#0b6848; background:#0b6848; color:#fff; }
.marketing-copy-workspace textarea { line-height:1.6; resize:vertical; }
.marketing-copy-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.marketing-copy-actions span { color:#718179; font-size:10px; }
.marketing-blog-editor { margin-top:15px; padding:15px; border:1px solid #dfe7e2; border-radius:10px; background:#f9fbfa; }
.marketing-blog-editor summary { color:#184334; font-weight:900; cursor:pointer; }
.marketing-blog-editor[open] summary { margin-bottom:14px; }
.marketing-blog-editor label { margin-top:12px; display:block; }
.marketing-publish-bar { margin-top:20px; padding:16px; display:grid; grid-template-columns:minmax(280px,1fr) 230px 180px auto; align-items:end; gap:12px; border-radius:12px; background:#eff6f2; }
#marketingPublishChannels { margin-top:8px; display:flex; flex-wrap:wrap; gap:6px; }
#marketingPublishChannels label { padding:7px 9px; background:#fff; }
.marketing-calendar-section .admin-table-wrap { margin-top:18px; }
.marketing-calendar-table td strong,.marketing-calendar-table td small { display:block; }
.marketing-calendar-table td small { margin-top:4px; color:#7b8882; }
.marketing-row-actions { display:flex; gap:5px; }
.marketing-row-actions button { padding:7px 9px; border:1px solid #dbe4de; border-radius:6px; background:#fff; color:#245143; font-size:9px; font-weight:900; cursor:pointer; }
.marketing-connections summary { display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; }
.marketing-connections summary span b,.marketing-connections summary span small { display:block; }
.marketing-connections summary span b { color:#173f32; }
.marketing-connections summary span small { margin-top:4px; color:#75847c; }
.marketing-connections summary>strong { color:#986d0d; font-size:11px; }
.marketing-connections[open] summary { padding-bottom:16px; border-bottom:1px solid #e4ebe6; }
.marketing-connections form { margin-top:18px; display:grid; gap:15px; }
.marketing-channel-connections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.marketing-channel-connection { padding:14px; border:1px solid #dfe7e2; border-radius:10px; background:#f8fbf9; }
.marketing-channel-connection header { margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; color:#184334; font-weight:900; }
.marketing-channel-connection label { margin-top:8px; display:block; }
.marketing-cron-help { padding:14px; border-radius:9px; background:#fff7df; color:#675119; }
.marketing-cron-help p { margin:5px 0; font-size:11px; }
.marketing-cron-help code { display:block; overflow-wrap:anywhere; color:#5a4510; font-size:10px; }
.result-box[data-tone="success"] { border-color:rgba(22,139,83,.28); background:#edf9f2; color:#12633d; }
.result-box[data-tone="error"] { border-color:rgba(184,64,45,.25); background:#fff1ee; color:#8f3426; }
@media (max-width:1100px) {
  .marketing-studio-grid,.marketing-draft-grid { grid-template-columns:1fr; }
  .marketing-publish-bar { grid-template-columns:1fr 1fr; }
  .marketing-channel-connections { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .marketing-studio-hero { grid-template-columns:1fr; }
  .marketing-studio-score { min-width:0; }
  .marketing-studio-metrics { grid-template-columns:1fr 1fr; }
  .marketing-generator-options,.marketing-channel-connections,.marketing-publish-bar { grid-template-columns:1fr; }
  .marketing-section-heading { align-items:flex-start; flex-direction:column; }
}
@media (max-width:480px) {
  .marketing-studio-metrics { grid-template-columns:1fr; }
  .marketing-generator,.marketing-playbook,.marketing-draft-workspace,.marketing-calendar-section,.marketing-connections { padding:16px; }
}

/* Board-ready management reporting */
.report-cover-band {
  margin: calc(clamp(24px,4vw,46px) * -1) calc(clamp(24px,4vw,46px) * -1) 30px;
  padding: 12px clamp(24px,4vw,46px);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-radius: 12px 12px 0 0;
  background: #073f2d;
  color: #e8d08b;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.report-insights {
  margin: 24px 0;
  padding: 20px;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 18px;
  border: 1px solid #e2e9e5;
  border-radius: 11px;
  background: linear-gradient(135deg,#f8fbf9,#f1f6f3);
}

.report-insights > div:first-child > span { color: #9a7117; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.report-insights h3 { margin: 6px 0 0; color: #073f2d; font-size: 22px; }
.report-insights > div:last-child { display: grid; gap: 8px; }
.report-insights article { padding: 10px 12px; display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 10px; border-radius: 8px; background: #fff; box-shadow: 0 4px 14px rgba(8,57,39,.04); }
.report-insights article span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; background: #e6f0ea; color: #075b3d; font-size: 9px; font-weight: 900; }
.report-insights article p { margin: 0; color: #4f645b; font-size: 11px; line-height: 1.5; }

.report-signoff {
  margin-top: 24px;
  padding: 15px 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  border-top: 1px solid #e2e9e5;
  border-bottom: 1px solid #e2e9e5;
}

.report-signoff span,.report-signoff b { display: block; }
.report-signoff span { color: #89968f; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.report-signoff b { margin-top: 4px; color: #254b3e; font-size: 10px; }
.role-cards { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }

@media (max-width:760px) {
  .report-insights { grid-template-columns: 1fr; }
  .report-signoff { grid-template-columns: 1fr; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  .report-cover-band { margin: -12px -12px 24px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .report-insights,.report-stats>div { break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .report-details section { break-inside: avoid; }
  .report-document { padding: 12px; }
}

/* Vanilla Vista Assistant · premium conversational layer */
.vista-concierge-launcher {
  min-width: 212px;
  grid-template-columns: 44px minmax(0, 1fr);
  border-color: rgba(242, 190, 57, .55);
  background:
    radial-gradient(circle at 18% 20%, rgba(242, 190, 57, .16), transparent 28%),
    linear-gradient(135deg, #00513a, #00291f);
}

.vista-concierge-launcher > span {
  width: 44px;
  height: 44px;
  box-shadow: 0 0 0 4px rgba(242, 190, 57, .12);
}

.vista-concierge-launcher b {
  font-size: 11px;
  white-space: nowrap;
}

.vista-concierge {
  width: min(450px, calc(100vw - 32px));
  border-color: rgba(242, 190, 57, .38);
  background:
    radial-gradient(circle at 100% 0, rgba(242, 190, 57, .08), transparent 30%),
    #f5f9f6;
}

.vista-concierge__header {
  grid-template-columns: 48px minmax(0, 1fr) 36px;
  background:
    radial-gradient(circle at 100% 0, rgba(242, 190, 57, .24), transparent 42%),
    linear-gradient(135deg, #00543c, #00251c);
}

.vista-concierge__header > span {
  width: 48px;
  height: 48px;
  box-shadow: 0 0 0 5px rgba(242, 190, 57, .12);
}

.vista-concierge__header b {
  font-size: 14px;
}

.vista-assistant__trust {
  min-height: 34px;
  padding: 6px 14px;
  position: sticky;
  z-index: 2;
  top: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border-bottom: 1px solid rgba(0, 63, 44, .08);
  background: rgba(247, 250, 248, .96);
  color: #60776e;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.vista-assistant__trust span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.vista-assistant__trust span::before {
  content: "✓";
  color: #a36e00;
}

.vista-concierge__body {
  padding: 14px;
}

.vista-assistant__conversation {
  max-height: min(300px, 36dvh);
  padding: 2px 2px 4px;
  display: grid;
  gap: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 63, 44, .2) transparent;
}

.vista-assistant__bubble {
  width: fit-content;
  max-width: 92%;
  padding: 13px 14px;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(0, 45, 32, .07);
}

.vista-assistant__bubble small {
  display: block;
  color: #9b6a06;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vista-assistant__bubble p {
  margin: 5px 0 0;
  font-size: 11px;
  line-height: 1.55;
}

.vista-assistant__bubble em {
  margin-top: 8px;
  padding-top: 8px;
  display: block;
  border-top: 1px solid rgba(0, 63, 44, .09);
  color: #6e8179;
  font-size: 8px;
  font-style: normal;
  line-height: 1.45;
}

.vista-assistant__bubble--assistant {
  justify-self: start;
  border: 1px solid rgba(0, 63, 44, .09);
  border-bottom-left-radius: 5px;
  background: #fff;
  color: #36584d;
}

.vista-assistant__bubble--user {
  justify-self: end;
  border-bottom-right-radius: 5px;
  background: linear-gradient(135deg, #006045, #003f2c);
  color: #fff;
  box-shadow: 0 10px 25px rgba(0, 63, 44, .18);
}

.vista-assistant__bubble--user p {
  margin: 0;
  color: #fff;
}

.vista-assistant__typing {
  width: 58px;
  min-height: 34px;
  margin: 8px 0 2px 2px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(0, 63, 44, .08);
  border-radius: 14px 14px 14px 4px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(0, 45, 32, .06);
}

.vista-assistant__typing[hidden] {
  display: none;
}

.vista-assistant__typing i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #7f988e;
  animation: vista-assistant-typing 1s infinite ease-in-out;
}

.vista-assistant__typing i:nth-child(2) {
  animation-delay: .14s;
}

.vista-assistant__typing i:nth-child(3) {
  animation-delay: .28s;
}

@keyframes vista-assistant-typing {
  0%, 60%, 100% { transform: translateY(0); opacity: .45; }
  30% { transform: translateY(-4px); opacity: 1; }
}

.vista-concierge__quick {
  margin-top: 13px;
  gap: 7px;
}

.vista-concierge__quick button {
  min-height: 46px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 25px 1fr;
  align-items: center;
  gap: 7px;
  background: linear-gradient(145deg, #fff, #edf5f0);
  color: #214e3f;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.vista-concierge__quick button:hover {
  transform: translateY(-2px);
  border-color: rgba(199, 144, 18, .4);
  box-shadow: 0 8px 18px rgba(0, 45, 32, .08);
}

.vista-concierge__quick button:last-child {
  background: linear-gradient(145deg, #fff, #edf5f0);
  color: #214e3f;
}

.vista-concierge__quick button span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(217, 159, 36, .14);
  color: #986700;
  font-size: 7px;
  font-weight: 950;
}

.vista-assistant__actions,
.vista-assistant__human-row {
  margin-top: 11px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.vista-assistant__actions a,
.vista-assistant__actions button,
.vista-assistant__human-row a,
.vista-assistant__human-row button {
  min-height: 40px;
  padding: 7px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 63, 44, .13);
  border-radius: 9px;
  background: #edf5f0;
  color: #174c3b;
  font: inherit;
  font-size: 8px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.vista-assistant__actions a,
.vista-assistant__human-row a {
  border-color: #003f2c;
  background: #003f2c;
  color: #fff;
}

.vista-assistant__actions .vista-assistant__primary-action {
  border-color: #003f2c;
  background: #003f2c;
  color: #fff;
}

.vista-assistant__human-row a {
  border-color: #0c9f51;
  background: #0c9f51;
}

.vista-assistant__choices {
  margin-top: 10px;
  display: grid;
  gap: 6px;
}

.vista-assistant__choices button {
  min-height: 39px;
  padding: 7px 10px;
  border: 1px solid rgba(0, 63, 44, .12);
  border-radius: 9px;
  background: #edf5f0;
  color: #174c3b;
  font: inherit;
  font-size: 8px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.vista-assistant__choices button:hover {
  border-color: #c79012;
  background: #fff9e8;
}

.vista-concierge__form > p {
  margin: -2px 0 2px;
  color: #6b7f76;
  font-size: 9px;
  line-height: 1.5;
}

.vista-concierge :is(button, a, input, select):focus-visible {
  outline: 3px solid rgba(217, 159, 36, .34);
  outline-offset: 2px;
}

@media (max-width: 620px) {
  .vista-concierge-launcher {
    min-width: 58px;
  }

  .vista-assistant__trust {
    top: 78px;
    gap: 8px;
    font-size: 6px;
  }

  .vista-assistant__conversation {
    max-height: 34dvh;
  }

  .vista-concierge__quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vista-concierge__quick button {
    min-height: 48px;
    padding: 7px;
    grid-template-columns: 23px 1fr;
    gap: 5px;
    font-size: 8px;
    text-align: left;
  }

  .vista-concierge__quick button span {
    width: 23px;
    height: 23px;
  }
}

/* Premium booking experience */
.booking-choice-group--experience {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.booking-choice-group--experience label {
  min-height: 104px;
  align-items: flex-start;
  padding: .9rem;
  border: 1px solid rgba(20, 77, 49, .18);
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f7fbf8);
  box-shadow: 0 8px 22px rgba(16, 61, 39, .06);
}

.booking-choice-group--experience label:has(input:checked) {
  border-color: #b88a2b;
  background: #fffaf0;
  box-shadow: 0 10px 26px rgba(184, 138, 43, .14);
}

.booking-choice-group--experience span {
  display: grid;
  gap: .25rem;
}

.booking-choice-group--experience b {
  color: #123d29;
  font-size: .95rem;
}

.booking-choice-group--experience small {
  color: #5c6f63;
  line-height: 1.45;
}

.booking-date-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.booking-date-grid label {
  display: grid;
  gap: .4rem;
  color: #173f2b;
  font-weight: 700;
}

.booking-date-grid input,
.booking-date-grid select {
  width: 100%;
}

.booking-plan-preview {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: center;
  margin: .25rem 0 .9rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(184, 138, 43, .25);
  border-radius: 14px;
  background: linear-gradient(135deg, #f2faf4, #fffaf0);
}

.booking-plan-preview > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #174b32;
  color: #fff;
}

.booking-plan-preview b,
.booking-plan-preview small,
.booking-plan-preview em {
  display: block;
}

.booking-plan-preview b {
  color: #123d29;
}

.booking-plan-preview small {
  margin-top: .15rem;
  color: #52685b;
}

.booking-plan-preview em {
  margin-top: .25rem;
  color: #9a6e16;
  font-size: .78rem;
  font-style: normal;
  font-weight: 700;
}

.booking-congratulations {
  padding: 1.25rem;
  border: 1px solid rgba(184, 138, 43, .3);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(226, 188, 88, .2), transparent 38%),
    linear-gradient(145deg, #f2faf4, #fffaf0);
  box-shadow: 0 16px 38px rgba(15, 68, 42, .1);
}

.booking-congratulations__badge {
  display: inline-flex;
  align-items: center;
  margin-bottom: .7rem;
  padding: .32rem .7rem;
  border-radius: 999px;
  background: #174b32;
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.booking-congratulations > b {
  display: block;
  color: #123d29;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(1.25rem, 3vw, 1.7rem);
}

.booking-congratulations p {
  color: #4c6255;
}

.booking-congratulations__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin-top: 1rem;
}

.booking-congratulations__actions a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: .7rem .9rem;
  border-radius: 12px;
  background: #174b32;
  color: #fff;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.booking-congratulations__actions a:last-child {
  background: #25d366;
  color: #073b1d;
}

@media (max-width: 720px) {
  .booking-choice-group--experience,
  .booking-date-grid,
  .booking-congratulations__actions {
    grid-template-columns: 1fr;
  }

  .booking-choice-group--experience label {
    min-height: auto;
  }
}

/* Keep the assistant escape control above the mobile site header and safe areas. */
@media (max-width: 620px) {
  .vista-concierge {
    height: auto;
    max-height: none;
    top: max(8px, env(safe-area-inset-top));
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: 8px;
    width: auto;
    z-index: 10050;
  }

  .vista-concierge__header {
    min-height: 74px;
    padding: 10px 11px;
    z-index: 20;
    grid-template-columns: 42px minmax(0, 1fr) 44px;
  }

  .vista-concierge__header > span {
    width: 42px;
    height: 42px;
  }

  .vista-concierge__header [data-concierge-close] {
    width: 44px;
    height: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    justify-self: end;
    border: 2px solid #e6b84f;
    background: #fff;
    color: #003f2c;
    font-size: 28px;
    box-shadow: 0 8px 22px rgba(0, 28, 20, .32);
  }
}
/* Growth Intelligence */
.growth-suite-panel{display:grid;gap:22px}.growth-suite-panel[hidden]{display:none}
.growth-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:30px;align-items:center;padding:34px;border-radius:26px;background:linear-gradient(125deg,#002e21,#075840);color:#fff;box-shadow:0 20px 54px rgba(0,45,32,.16)}
.growth-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-140px;border:1px solid rgba(219,181,91,.28);box-shadow:0 0 0 42px rgba(219,181,91,.05),0 0 0 86px rgba(219,181,91,.035)}
.growth-hero>div{position:relative;z-index:1}.growth-hero h2{max-width:760px;margin:10px 0 8px;font:700 clamp(28px,4vw,48px)/1.05 Georgia,serif}.growth-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.72);line-height:1.65}
.growth-hero-score{flex:0 0 230px;padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.growth-hero-score span,.growth-hero-score small{display:block;color:rgba(255,255,255,.62)}.growth-hero-score strong{display:block;margin:8px 0;color:#e3bd64;font:700 21px Georgia,serif}
.growth-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.growth-kpis article{padding:18px;border:1px solid #e3e7e4;border-radius:18px;background:#fff}.growth-kpis span,.growth-kpis small{display:block;color:#6a746f}.growth-kpis strong{display:block;margin:7px 0;color:#053d2d;font:700 25px Georgia,serif}
.growth-tabs{display:flex;gap:8px;padding:7px;overflow:auto;border:1px solid #e1e7e3;border-radius:16px;background:#f8faf8}.growth-tabs button{white-space:nowrap;border:0;border-radius:11px;background:transparent;padding:11px 16px;color:#53615b;font-weight:700;cursor:pointer}.growth-tabs button.active{background:#064733;color:#fff;box-shadow:0 8px 20px rgba(0,63,44,.14)}
.growth-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.growth-card{display:grid;align-content:start;gap:16px;padding:24px;border:1px solid #e0e7e3;border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(21,57,44,.06)}.growth-card--wide{grid-column:1/-1}.growth-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.growth-card header span{display:block;margin-bottom:7px;color:#ad7724;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.growth-card h3{margin:0;color:#073d2d;font:700 23px Georgia,serif}.growth-card header p{max-width:650px;margin:6px 0 0;color:#68736e;line-height:1.55}.growth-card label{display:grid;gap:7px;color:#34463f;font-size:13px;font-weight:700}.growth-card input,.growth-card select,.growth-card textarea{width:100%;border:1px solid #d8e0db;border-radius:11px;padding:12px;background:#fbfcfb;color:#183a2f;font:inherit}.growth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.growth-attribution{display:grid;gap:4px;overflow:auto}.growth-attribution-head,.growth-attribution-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(4,minmax(70px,.65fr)) minmax(120px,1fr);gap:12px;align-items:center;min-width:720px;padding:11px 14px}.growth-attribution-head{color:#7b8580;font-size:11px;font-weight:800;text-transform:uppercase}.growth-attribution-row{border-top:1px solid #edf0ee;color:#56635e}.growth-attribution-row b{color:#123d30}.growth-attribution-row strong{color:#08724f}.growth-attribution-row i{display:block;width:var(--value);height:3px;margin-top:5px;border-radius:3px;background:#d7aa43}
.growth-priorities{display:grid;gap:10px}.growth-priorities article{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:13px;border-radius:15px;background:#f7faf8}.growth-priority-score{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eaf3ef;color:#126346}.growth-priority-score--hot{background:#fff0e9;color:#b84e24}.growth-priority-score--warm{background:#fff7dc;color:#976812}.growth-priority-score strong,.growth-priority-score small{line-height:1}.growth-priorities b,.growth-priorities span,.growth-priorities small{display:block}.growth-priorities span,.growth-priorities small{color:#7a8580;font-size:11px}.growth-priorities p{margin:5px 0;color:#42564e;font-size:12px;line-height:1.4}.growth-priorities button,.growth-referrals button{border:0;background:none;color:#08734f;font-weight:800;cursor:pointer}
.growth-plan,.growth-brief,.growth-output{display:grid;gap:8px}.growth-plan article,.growth-brief article,.growth-output article{padding:16px;border-radius:14px;background:#f6f9f7}.growth-plan p,.growth-brief p,.growth-output p{margin:8px 0;color:#4d5d56;line-height:1.5}.growth-output small{display:block;margin-top:12px;color:#8a7360}
.growth-library,.growth-referrals{display:grid;gap:8px}.growth-library article,.growth-referrals article{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #edf0ee;border-radius:13px}.growth-library article>span{padding:5px 8px;border-radius:7px;background:#eaf4ef;color:#08734f;font-size:10px;font-weight:800;text-transform:uppercase}.growth-library article div,.growth-referrals article div{flex:1}.growth-library b,.growth-library small,.growth-referrals b,.growth-referrals small{display:block}.growth-library small,.growth-referrals small,.growth-referrals article>span{color:#7c8782;font-size:11px}.growth-library em{color:#a87926;font-size:11px;font-style:normal}
.growth-inbox{display:grid;gap:12px}.growth-inbox article{display:grid;grid-template-columns:125px 1fr auto;gap:18px;padding:18px;border:1px solid #e1e7e3;border-radius:17px}.growth-inbox article.is-resolved{opacity:.62}.growth-inbox-source span,.growth-inbox-source small{display:block}.growth-inbox-source span{color:#08734f;font-weight:800}.growth-inbox-source small{margin-top:5px;color:#84908a}.growth-inbox p{margin:5px 0 10px;color:#4b5d55}.growth-inbox textarea{margin-top:10px}.growth-inbox-tags{display:flex;gap:6px}.growth-inbox-tags span{padding:4px 8px;border-radius:99px;background:#f0f4f1;color:#65716c;font-size:10px;font-weight:800}
.growth-connections{gap:22px}.growth-native-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.growth-native-card{display:grid;gap:12px;padding:17px;border:1px solid #e2e7e4;border-radius:16px;background:#fafcfa}.growth-native-card header{display:flex;justify-content:space-between;gap:12px}.growth-native-card header b,.growth-native-card header small{display:block}.growth-native-card header small{margin-top:4px;color:#7d8983}.growth-webhook{display:grid;gap:7px}.growth-webhook code{overflow:auto;padding:12px;border-radius:10px;background:#eef3f0;color:#315046}
.growth-experiments{display:grid;gap:12px}.growth-experiments>article{display:grid;gap:12px;padding:16px;border:1px solid #e7ebe8;border-radius:15px}.growth-experiments>article>div:first-child b,.growth-experiments>article>div:first-child small{display:block}.growth-experiments small{color:#7a8580}.growth-experiment-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.growth-experiment-variants>span{display:grid;gap:5px;padding:12px;border-radius:11px;background:#f5f8f6}.growth-experiment-variants>span.is-leading{outline:2px solid #d9aa45;background:#fffaf0}.growth-experiment-variants>span.has-fatigue{background:#fff1ed}.growth-experiment-variants em{color:#b65036;font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase}
.video-studio{overflow:hidden}.video-studio-badge{padding:8px 12px;border-radius:99px;background:#e9f4ef;color:#08714e;font-size:11px;white-space:nowrap}.video-studio-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:24px;align-items:start}.video-editor-controls{display:grid;gap:15px}.video-brand-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.video-brand-controls label{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e1e7e3;border-radius:12px;background:#f9fbfa}.video-brand-controls input[type=color]{width:42px;height:30px;padding:2px;border-radius:8px;cursor:pointer}.video-upload-zone{position:relative;padding:17px 18px;border:1px dashed #9cb5aa!important;border-radius:15px;background:#f4f9f6!important;cursor:pointer}.video-upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.video-upload-zone span,.video-upload-zone small{display:block;pointer-events:none}.video-upload-zone span{color:#0b5b40;font-weight:800}.video-upload-zone small{margin-top:4px;color:#74817b;font-weight:500}.video-editor-toggles{display:flex;flex-wrap:wrap;gap:8px}.video-editor-toggles label{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e0e5e2;border-radius:99px;background:#fff}.video-editor-toggles input{width:auto}.video-editor-actions{display:flex;gap:10px;flex-wrap:wrap}.video-render-progress{position:relative;overflow:hidden;height:38px;border-radius:10px;background:#eaf0ed}.video-render-progress i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#0c6b4b,#d9aa45);transition:width .18s linear}.video-render-progress span{position:relative;z-index:1;display:grid;place-items:center;height:100%;color:#173c31;font-size:11px;font-weight:800}.video-preview-shell{display:grid;gap:12px;justify-items:center;padding:15px;border-radius:20px;background:#082f25;box-shadow:0 24px 50px rgba(0,41,29,.2)}.video-preview-toolbar{display:flex;justify-content:space-between;align-items:center;width:100%;color:#dce9e4;font-size:11px}.video-preview-toolbar span{display:flex;align-items:center;gap:7px}.video-preview-toolbar i{width:7px;height:7px;border-radius:50%;background:#5ce6a7;box-shadow:0 0 0 4px rgba(92,230,167,.13)}.video-preview-toolbar b{color:#d9b45b}.video-preview-shell canvas{display:block;max-width:100%;max-height:610px;width:auto;height:auto;border-radius:13px;background:#003f2c;box-shadow:0 14px 32px rgba(0,0,0,.28)}.video-preview-shell>p{margin:0;color:rgba(255,255,255,.55);font-size:10px;text-align:center}.video-timeline{display:flex;width:100%;gap:4px}.video-timeline span{position:relative;display:grid;min-width:0;flex:1;gap:2px;padding-top:8px;color:#d8e7e1}.video-timeline span:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:5px;background:var(--scene-color)}.video-timeline b{overflow:hidden;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.video-timeline small{color:rgba(255,255,255,.45);font-size:8px}.video-render-complete{display:grid!important;gap:15px!important}.video-render-complete video{width:100%;max-height:560px;border-radius:14px;background:#052f24}.video-render-complete>div{display:flex;gap:10px;flex-wrap:wrap}
.personalised-page{margin:0;background:#f6f4ef;color:#17382f}.personalised-nav{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px clamp(22px,6vw,80px)}.personalised-nav img{width:150px;filter:brightness(0) invert(1)}.personalised-nav .btn{color:#fff;border-color:rgba(255,255,255,.45)}.personalised-hero{position:relative;min-height:82vh;display:grid;align-items:end;overflow:hidden}.personalised-hero>img,.personalised-hero__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.personalised-hero__shade{background:linear-gradient(90deg,rgba(0,39,28,.94) 0%,rgba(0,39,28,.7) 52%,rgba(0,39,28,.18) 100%)}.personalised-hero__content{position:relative;z-index:1;max-width:760px;padding:150px clamp(24px,7vw,105px) 95px;color:#fff}.personalised-hero h1{margin:14px 0;font:700 clamp(42px,7vw,78px)/.98 Georgia,serif}.personalised-hero p{max-width:650px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.7}.personalised-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1200px;margin:-38px auto 0;position:relative;z-index:2;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(20,40,32,.13)}.personalised-proof article{padding:34px;background:#fff}.personalised-proof article+article{border-left:1px solid #e6e9e6}.personalised-proof span{color:#c39231;font-weight:800}.personalised-proof h2{font:700 23px Georgia,serif}.personalised-proof p{color:#69746f;line-height:1.6}.personalised-enquiry{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1100px;margin:0 auto;padding:100px 24px}.personalised-enquiry h2{font:700 clamp(32px,4vw,48px)/1.1 Georgia,serif}.personalised-enquiry>div>p{color:#68746f;line-height:1.7}.personalised-enquiry form{display:grid;gap:15px;padding:28px;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(24,55,43,.09)}.personalised-enquiry label{display:grid;gap:7px;font-size:13px;font-weight:700}.personalised-enquiry input,.personalised-enquiry select{padding:13px;border:1px solid #dce2de;border-radius:10px;background:#fafbfa}
@media(max-width:1050px){.video-studio-grid{grid-template-columns:1fr}.video-preview-shell canvas{max-height:560px}}
@media(max-width:900px){.growth-kpis{grid-template-columns:repeat(2,1fr)}.growth-command-grid,.growth-native-grid,.personalised-enquiry{grid-template-columns:1fr}.growth-card--wide{grid-column:auto}.personalised-proof{grid-template-columns:1fr;margin:0}.personalised-proof article+article{border-left:0;border-top:1px solid #e6e9e6}}
@media(max-width:650px){.growth-hero{align-items:flex-start;flex-direction:column;padding:24px}.growth-hero-score{flex:auto;width:100%}.growth-kpis{grid-template-columns:1fr}.growth-card{padding:18px}.growth-form-grid,.growth-experiment-variants,.video-brand-controls{grid-template-columns:1fr}.growth-card>header{flex-direction:column}.growth-priorities article{grid-template-columns:48px 1fr}.growth-priorities article button{grid-column:2}.growth-inbox article{grid-template-columns:1fr}.growth-library article,.growth-referrals article{align-items:flex-start;flex-direction:column}.video-editor-actions .btn{width:100%}.video-preview-shell{margin-inline:-8px}.personalised-nav{align-items:flex-start}.personalised-nav img{width:118px}.personalised-nav .btn{font-size:11px;padding:10px}.personalised-hero__content{padding-bottom:60px}.personalised-enquiry{padding-top:70px}}
/* Creative Operations */
.creative-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.creative-ops-grid .growth-card{min-width:0}
.creative-status{display:inline-flex;padding:7px 11px;border-radius:999px;background:#ecf8f1;color:#0c6c48;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.creative-search{width:min(280px,100%);padding:11px 14px;border:1px solid #d8e1dc;border-radius:12px;background:#fff}
.creative-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.creative-asset-grid>article{overflow:hidden;border:1px solid #e1e7e3;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(8,48,35,.06)}
.creative-asset-grid img,.creative-asset-grid video{width:100%;height:170px;display:block;object-fit:cover;background:#e8eeeb}
.creative-asset-grid>article>div:last-child{padding:15px}
.creative-asset-grid span,.creative-review-list header span,.construction-admin-list span{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#95711f}
.creative-asset-grid h4,.review-queue-item h4,.learning-grid h4,.construction-admin-list h4{margin:6px 0;font-family:Georgia,serif;color:#083526}
.creative-asset-grid p{margin:0 0 7px;color:#53645d;font-size:.82rem}
.creative-asset-grid small{display:block;min-height:34px;color:#7c8983}
.creative-asset-grid a{display:inline-block;margin-top:10px;color:#066646;font-weight:800;font-size:.78rem}
.asset-file-icon{height:170px;display:grid;place-items:center;background:linear-gradient(135deg,#063e2d,#0c7654);color:#e6bd62;font-size:2rem;font-weight:900}
.creative-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;padding:30px;border:1px dashed #cad7d0;border-radius:16px;text-align:center;color:#64746d;background:#fbfdfc}
.creative-empty b{color:#113f31}
.creative-review-list,.construction-admin-list{display:grid;gap:14px}
.review-queue-item{padding:18px;border:1px solid #e0e7e3;border-radius:16px;background:#fff}
.review-queue-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.review-queue-item header>b{padding:6px 9px;border-radius:999px;background:#f0f4f2;color:#345247;font-size:.68rem}
.review-queue-item header>b[data-status="Approved"],.review-queue-item header>b[data-status="Response approved"]{background:#e6f7ee;color:#087147}
.review-queue-item header>b[data-status="Changes requested"]{background:#fff1e7;color:#9b4d14}
.review-queue-item p{color:#53645d;white-space:pre-wrap}
.review-queue-item blockquote{margin:10px 0;padding:12px 14px;border-left:3px solid #d6aa4b;background:#fbf8ef;color:#3f514a}
.review-comments{display:grid;gap:6px;margin:10px 0}.review-comments small{padding:8px 10px;border-radius:9px;background:#f4f7f5}
.review-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-actions input{flex:1;min-width:220px;padding:10px 12px;border:1px solid #d5ded9;border-radius:10px}
.brand-score{display:flex!important;align-items:end!important;gap:7px!important;background:linear-gradient(135deg,#073f2d,#0b694c)!important;color:#fff!important}
.brand-score strong{font-size:2.4rem;color:#e6bd62}.brand-score span{padding-bottom:8px}
.check-pass,.check-fail{padding:9px 11px!important;border-radius:9px;margin:7px 0!important}.check-pass{background:#e8f7ef;color:#086b45}.check-fail{background:#fff0e9;color:#a04421}
.multilingual-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.multilingual-output>article{display:grid;gap:8px}.multilingual-output textarea{width:100%}
.learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.learning-grid article{padding:18px;border:1px solid #e0e7e3;border-radius:15px;background:linear-gradient(145deg,#fff,#f6f9f7)}.learning-grid span{font-size:.68rem;color:#997321;font-weight:800;text-transform:uppercase}.learning-grid p{font-size:.84rem;color:#596861}
.profit-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profit-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.profit-dashboard article{padding:16px;border-radius:15px;background:#073e2d;color:#fff}.profit-dashboard span{display:block;color:#b8d1c7;font-size:.72rem;text-transform:uppercase}.profit-dashboard strong{display:block;margin-top:7px;color:#e8be5e;font-size:1.35rem}
.construction-admin-list>article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:17px;border:1px solid #dfe7e2;border-radius:16px}.construction-progress-ring{--progress:0%;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d9aa45 var(--progress),#e5ebe8 0);position:relative}.construction-progress-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}.construction-progress-ring b{position:relative;z-index:1;color:#07402e;font-size:.85rem}
.video-project-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.video-project-tools small{flex:1;min-width:200px;color:#68766f}
.video-timeline .video-scene-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:7px}
.video-scene-actions{display:flex!important;gap:3px!important}.video-scene-actions button{width:24px;height:24px;padding:0;border:1px solid #d7dfdb;border-radius:6px;background:#fff;color:#174b3a;cursor:pointer}.video-scene-actions button:disabled{opacity:.3;cursor:not-allowed}

/* Public construction progress */
.construction-public-page{margin:0;background:#f6f4ed;color:#173a2e;font-family:Arial,sans-serif}
.construction-public-nav{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(22px,6vw,90px);background:#fff;border-bottom:1px solid #e2e4dd}.construction-public-nav>a{display:flex;flex-direction:column;text-decoration:none;color:#083d2c;letter-spacing:.08em}.construction-public-nav>a span{font-size:.62rem;letter-spacing:.22em;color:#9a7422}.construction-public-nav nav{display:flex;align-items:center;gap:20px}.construction-public-nav nav>a:not(.btn){color:#315448;text-decoration:none;font-weight:700;font-size:.85rem}
.construction-public-hero{min-height:520px;display:grid;grid-template-columns:1.5fr .7fr;align-items:center;gap:50px;padding:80px clamp(22px,8vw,120px);color:#fff;background:linear-gradient(110deg,rgba(2,43,30,.96),rgba(4,66,46,.84)),url("./assets/vista2-hero-web.jpg") center/cover}.construction-public-hero>div>span,.construction-public-content header span,.construction-public-cta span{font-size:.7rem;letter-spacing:.2em;color:#e1b754;font-weight:900}.construction-public-hero h1{margin:14px 0 18px;font:clamp(2.7rem,5vw,5.6rem)/.98 Georgia,serif;max-width:850px}.construction-public-hero p{max-width:680px;color:#d5e0dc;font-size:1.05rem;line-height:1.7}.construction-trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.construction-trust-row b{padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:.72rem}
.construction-public-hero aside{padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.construction-public-hero aside span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.construction-public-hero aside strong{display:block;margin:12px 0;font:3.5rem Georgia,serif;color:#e6bd60}.construction-public-hero aside>div{height:8px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden}.construction-public-hero aside i{display:block;width:0;height:100%;background:#e5b958;transition:width .7s}.construction-public-hero aside small{display:block;margin-top:12px;color:#c7d7d1}
.construction-public-content{padding:80px clamp(22px,8vw,120px);max-width:1500px;margin:auto}.construction-public-content>header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:45px}.construction-public-content h2,.construction-public-cta h2{margin:8px 0 0;font:clamp(2rem,4vw,3.6rem) Georgia,serif}
.construction-public-timeline{position:relative}.construction-public-timeline:before{content:"";position:absolute;left:31px;top:20px;bottom:20px;width:1px;background:#cbd3ce}.construction-public-timeline>article{position:relative;display:grid;grid-template-columns:64px 1fr;gap:24px;margin-bottom:30px}.timeline-marker{position:relative;z-index:1;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#f6f4ed;border:1px solid #cbd3ce}.timeline-marker i{position:absolute;inset:9px;border-radius:50%;background:#174d3b}.latest .timeline-marker i{background:#d6a844}.timeline-marker span{position:relative;color:#fff;font-size:.72rem;font-weight:900}.timeline-card{display:grid;grid-template-columns:minmax(180px,300px) 1fr;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(12,55,41,.08)}.timeline-card figure{margin:0;min-height:260px}.timeline-card img{width:100%;height:100%;object-fit:cover}.timeline-card>div{padding:30px}.timeline-card span{font-size:.68rem;color:#9b7525;letter-spacing:.12em;font-weight:900}.timeline-card h3{margin:10px 0;font:1.8rem Georgia,serif}.timeline-card p{color:#5a6a64;line-height:1.7}.timeline-card small{display:block;margin-top:20px;padding-top:16px;border-top:1px solid #e6e9e7;color:#485c54}
.construction-public-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:70px clamp(22px,8vw,120px);background:#073e2d;color:#fff}.construction-public-cta p{max-width:700px;color:#bfd0c9;line-height:1.6}
@media(max-width:1000px){.creative-ops-grid,.construction-public-hero{grid-template-columns:1fr}.creative-asset-grid,.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profit-input-grid,.profit-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-public-hero{min-height:auto}.timeline-card{grid-template-columns:1fr}.timeline-card figure{height:260px}.construction-public-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.creative-asset-grid,.learning-grid,.multilingual-output,.profit-input-grid,.profit-dashboard{grid-template-columns:1fr}.construction-admin-list>article{grid-template-columns:auto 1fr}.construction-admin-list>article>.btn{grid-column:1/-1}.construction-public-nav nav>a:not(.btn){display:none}.construction-public-content>header{align-items:flex-start;flex-direction:column}.construction-public-timeline:before{left:20px}.construction-public-timeline>article{grid-template-columns:42px 1fr;gap:12px}.timeline-marker{width:42px;height:42px}.timeline-card>div{padding:22px}.construction-public-hero{padding-top:55px;padding-bottom:55px}}
/* Global website pricing manager */
.global-pricing-panel{display:grid;gap:18px;margin:22px 0;padding:24px;border:1px solid #dfe8e3;border-radius:22px;background:linear-gradient(145deg,#fff,#f5faf7);box-shadow:0 18px 44px rgba(9,60,42,.07)}
.global-pricing-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}
.global-pricing-panel__head h2{margin:7px 0 5px;color:#0b3f2e;font-family:Georgia,serif}
.global-pricing-panel__head p{max-width:760px;margin:0;color:#61736a;line-height:1.6}
.global-pricing-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.global-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.global-pricing-grid article{display:grid;grid-template-columns:minmax(190px,1.15fr) repeat(2,minmax(145px,.8fr));align-items:end;gap:12px;padding:16px;border:1px solid #e0e8e3;border-radius:15px;background:#fff}
.global-pricing-grid b,.global-pricing-grid small{display:block}.global-pricing-grid b{color:#113e30}.global-pricing-grid small{margin-top:5px;color:#839087}
.global-pricing-grid label{display:grid;gap:6px;color:#53665c;font-size:.72rem;font-weight:800}.global-pricing-grid input{width:100%;min-height:43px;padding:10px;border:1px solid #d6e0da;border-radius:10px;background:#fbfdfc;color:#153e31;font:700 .9rem Arial,sans-serif}
.topbar__right .social-icon--youtube{font-size:.72rem;background:#ff0033;border-color:#ff0033;color:#fff}
.topbar__right .social-icon--tiktok{font-size:1rem;background:#111;border-color:#111;color:#fff;text-shadow:1px 0 #25f4ee,-1px 0 #fe2c55}
.inventory-strip--art .inventory-art{display:block}
.inventory-strip--art .inventory-mobile-list{display:none}

/* Mobile polish shared by public and admin pages */
@media (max-width: 900px){
  .topbar{display:flex!important}.global-pricing-panel__head{align-items:flex-start;flex-direction:column}.global-pricing-actions{width:100%;justify-content:flex-start}.global-pricing-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  html{scroll-padding-top:118px}body{overflow-x:hidden}.site-header{padding-inline:18px}.topbar{display:flex!important;min-height:42px;height:42px;padding:6px 14px}.topbar__left,.topbar__right,.ticker-track{height:30px}.topbar__right{gap:7px}.topbar__right>strong,.topbar__right>a[href^="mailto"]{display:none}.topbar__right .social-icon{display:inline-grid!important;width:30px;height:30px;flex:0 0 30px}.main-nav{padding:10px 18px 22px}.main-nav a{min-height:46px;display:flex;align-items:center;padding:10px 4px!important;border-bottom:1px solid rgba(255,255,255,.1)}
  main>section,.page-section{scroll-margin-top:78px}.hero__content{padding-inline:20px}.hero-actions{align-items:stretch}.hero-actions .btn,.hero-actions button{width:100%;justify-content:center}.inventory-selection-cta{margin-inline:14px}.home-rail{scroll-padding-inline:18px}.home-card{scroll-snap-align:center}.returns-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.returns-table>div{min-width:620px}.float-actions{right:12px;bottom:12px}.global-pricing-panel{margin-inline:-4px;padding:18px}.global-pricing-actions .btn{flex:1}.global-pricing-grid article{grid-template-columns:1fr 1fr}.global-pricing-grid article>div{grid-column:1/-1}
}
@media (max-width: 420px){
  .topbar__left{max-width:calc(100% - 104px)}.ticker-track{gap:26px}.site-header{min-height:68px}.brand img{width:42px;height:42px}.brand-wordmark b{font-size:17px}.brand-wordmark small{font-size:8px}.nav-toggle{width:44px;height:44px}.inventory-strip--art .inventory-mobile-list{grid-template-columns:1fr}.global-pricing-grid article{grid-template-columns:1fr}.global-pricing-grid article>div{grid-column:auto}.global-pricing-actions{display:grid}.admin-table-wrap{margin-inline:-10px}.purchase-shell{padding-inline:14px}
}

/* Homepage studio promotional offer */
.studio-offer{position:relative;display:grid;grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr);width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:1540px;min-height:470px;margin:28px auto 40px;overflow:hidden;border:1px solid #ded7c7;border-radius:20px;background:#fbf9f3;box-shadow:0 22px 55px rgba(18,52,40,.13);color:#123c2e;isolation:isolate}.studio-offer::before{content:"";position:absolute;z-index:3;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#ba7c0a,#efc45e 45%,#ba7c0a)}.studio-offer__visual{position:relative;min-height:470px;overflow:hidden;background:#173b2e}.studio-offer__visual>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.015)}.studio-offer__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,43,30,.8),rgba(4,43,30,0) 55%),linear-gradient(90deg,rgba(4,43,30,.05),rgba(4,43,30,.1))}.studio-offer__badge{position:absolute;z-index:2;top:25px;left:25px;display:grid;gap:2px;padding:12px 17px;border-radius:7px;background:#e8b94c;color:#18392d;box-shadow:0 12px 28px rgba(0,0,0,.18)}.studio-offer__badge::after{content:"";position:absolute;left:18px;bottom:-7px;width:14px;height:14px;background:#e8b94c;transform:rotate(45deg)}.studio-offer__badge b{position:relative;z-index:1;font-size:10px;letter-spacing:1.25px;text-transform:uppercase}.studio-offer__badge small{position:relative;z-index:1;font-size:9px;color:#375447}.studio-offer__spec{position:absolute;z-index:2;left:28px;right:28px;bottom:27px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px 20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.5);color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}.studio-offer__spec span{font-size:10px;font-weight:900;letter-spacing:1.35px;text-transform:uppercase}.studio-offer__spec b{grid-row:span 2;font:500 clamp(31px,3.2vw,46px)/1 Georgia,serif;color:#f1c864}.studio-offer__spec small{font-size:10px;color:rgba(255,255,255,.78)}.studio-offer__content{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,5vw,74px);background:radial-gradient(circle at 100% 0,rgba(231,185,76,.14),transparent 34%),#fbf9f3}.studio-offer__eyebrow{display:flex;align-items:center;gap:10px;color:#9b6a10;font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.studio-offer__eyebrow i{width:34px;height:2px;background:#d6a437}.studio-offer h2{max-width:720px;margin:15px 0 16px;color:#093b2b!important;font:500 clamp(38px,4.5vw,62px)/1.04 Georgia,serif;letter-spacing:-1.7px}.studio-offer__content>p{max-width:680px;margin:0;color:#566a61;font-size:14px;line-height:1.72}.studio-offer__price{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:0;margin:27px 0 20px;overflow:hidden;border-radius:12px;background:#073e2d;box-shadow:0 15px 34px rgba(5,56,40,.18)}.studio-offer__price>div{min-height:92px;display:flex;flex-direction:column;justify-content:center;padding:18px 22px}.studio-offer__price>div+div{border-left:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.045)}.studio-offer__price small{color:#a9c0b6;font-size:8px;font-weight:850;letter-spacing:1.05px;text-transform:uppercase}.studio-offer__price strong{margin-top:5px;color:#fff;font:500 clamp(28px,3vw,42px)/1 Georgia,serif;letter-spacing:-.5px}.studio-offer__price>div+div strong{color:#f1c864;font-size:clamp(22px,2.5vw,34px)}.studio-offer__price>span{display:none}.studio-offer__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:25px;border-top:1px solid #ded8ca;border-bottom:1px solid #ded8ca}.studio-offer__benefits>span{min-height:55px;display:flex;align-items:center;gap:9px;padding:10px 12px;color:#314d41;font-size:9px;line-height:1.4}.studio-offer__benefits>span+span{border-left:1px solid #ded8ca}.studio-offer__benefits i{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#e7ba51;color:#15382c;font-size:9px;font-style:normal;font-weight:900}.studio-offer__actions{display:flex;flex-wrap:wrap;gap:11px}.studio-offer__actions a{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 22px;border-radius:7px;font-size:11px;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}.studio-offer__primary{background:#073e2d;color:#fff;box-shadow:0 11px 25px rgba(5,56,40,.18)}.studio-offer__secondary{border:1px solid #a9812b;background:transparent;color:#6c4b0d}.studio-offer__actions a:hover{transform:translateY(-2px)}.studio-offer__primary:hover{background:#0a503a;box-shadow:0 15px 31px rgba(5,56,40,.25)}.studio-offer__secondary:hover{background:#fff7e5}.studio-offer__terms{display:block;max-width:700px;margin-top:15px;color:#849087;font-size:8px;line-height:1.55}body.dark-theme .studio-offer{border-color:rgba(231,185,76,.35);background:#f7f4eb;color:#123c2e}body.dark-theme .studio-offer__content{background:radial-gradient(circle at 100% 0,rgba(231,185,76,.13),transparent 34%),#f7f4eb}body.dark-theme .studio-offer h2{color:#093b2b!important}
@media(max-width:980px){.studio-offer{grid-template-columns:1fr;max-width:900px}.studio-offer__visual{min-height:390px}.studio-offer__content{padding:42px 34px}.studio-offer h2{max-width:760px}.studio-offer__benefits{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.studio-offer{width:calc(100% - 24px);min-height:0;margin:16px auto 28px;border-radius:15px}.studio-offer__visual{min-height:285px}.studio-offer__badge{top:17px;left:17px;padding:10px 13px}.studio-offer__spec{left:18px;right:18px;bottom:18px;grid-template-columns:1fr}.studio-offer__spec b{grid-row:auto;font-size:34px}.studio-offer__content{padding:30px 20px 27px}.studio-offer h2{font-size:37px;letter-spacing:-1px}.studio-offer__content>p{font-size:12px}.studio-offer__price{grid-template-columns:1fr}.studio-offer__price>div{min-height:78px;padding:15px 18px}.studio-offer__price>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.studio-offer__price strong,.studio-offer__price>div+div strong{font-size:30px}.studio-offer__benefits{grid-template-columns:1fr}.studio-offer__benefits>span+span{border-left:0;border-top:1px solid #ded8ca}.studio-offer__benefits>span{min-height:48px}.studio-offer__actions{display:grid}.studio-offer__actions a{width:100%}.studio-offer__terms{font-size:7.5px}}
