:root {
  --lp-teal: #0f3b4c;
  --lp-teal-dark: #0c2f3d;
  --lp-teal-light: #8fc6d6;
  --lp-paper: #fbfaf7;
  --lp-ink: #1c1f26;
  --lp-body: #4a4740;
  --lp-muted: #6c6862;
  --lp-line: #e3dfd7;

  --bs-primary: #0f3b4c;
  --bs-primary-rgb: 15, 59, 76;
  --bs-body-color: #1c1f26;
  --bs-body-bg: #fbfaf7;
  --bs-body-font-family: 'IBM Plex Sans', system-ui, sans-serif;
  --bs-border-color: #e3dfd7;
  --bs-border-radius: 0;
  --bs-link-color: #0f3b4c;
  --bs-link-color-rgb: 15, 59, 76;
  --bs-link-hover-color: #0c2f3d;
  --bs-link-hover-color-rgb: 12, 47, 61;
}

body { -webkit-font-smoothing: antialiased; }
a { text-decoration: none; transition: color .12s ease; }
a:hover { text-decoration: none; color: var(--lp-teal-dark); }
.property-card:hover .property-card__link { color: var(--lp-teal-dark); }

.font-serif { font-family: 'Source Serif 4', Georgia, serif; }
.eyebrow {
  font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600;
}
.tracking-wide { letter-spacing: .14em; text-transform: uppercase; }
.text-muted-warm { color: var(--lp-muted) !important; }
.text-body-warm { color: var(--lp-body) !important; }
.text-teal { color: var(--lp-teal) !important; }
.bg-paper { background-color: var(--lp-paper) !important; }
.bg-teal { background-color: var(--lp-teal) !important; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.wordmark {
  font-family: 'Murray Hill', 'Murray Hill BT', 'Times New Roman', cursive;
  font-size: 2.125rem;
  letter-spacing: .03em;
  color: var(--lp-ink);
}

/* Striped placeholder — swap the whole element for an <img> when photos arrive */
.photo-slot {
  background: repeating-linear-gradient(135deg, #eceae4 0 10px, #e3e0d8 10px 20px);
  display: flex; align-items: flex-end; justify-content: space-between;
  padding: 1.25rem 1.5rem;
}
.photo-slot span { font-family: ui-monospace, monospace; font-size: .75rem; color: #8a857c; }
.photo-slot--card { height: 210px; align-items: center; justify-content: center; padding: 0; }

.property-card__logo {
  height: 210px;
  background: radial-gradient(ellipse at 50% 45%, #ffffff 0%, var(--lp-paper) 60%, #ece6d9 100%);
  border-bottom: 1px solid var(--lp-line);
  display: flex; align-items: center; justify-content: center; padding: 2.5rem;
}
.property-card__logo img {
  max-height: 100%; max-width: 100%; object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(28, 31, 38, .16));
}
/* Spotlight tint keyed to each logo's own color */
.property-card__logo--warehouse { background: radial-gradient(ellipse at 50% 45%, #ffffff 0%, #eef3f4 55%, #d9e6e9 100%); }
.property-card__logo--portobello { background: radial-gradient(ellipse at 50% 45%, #fffdf8 0%, #fbf1de 55%, #f2ddb8 100%); }
.property-card__logo--oakhurst { background: radial-gradient(ellipse at 50% 45%, #f8fafd 0%, #e7eff8 55%, #cfe0f2 100%); }

.hero-carousel {
  border: 1px solid var(--lp-teal);
  box-shadow: 0 16px 32px -18px rgba(28, 31, 38, .28), 0 6px 12px -8px rgba(28, 31, 38, .16);
}

/* Keeps the sticky navbar from covering the heading on anchor jump */
#leasing, #history, #properties { scroll-margin-top: 5.5rem; }

/* Guarantees enough scroll room below #leasing for the anchor jump to bring
   it flush under the sticky nav, now that the footer is no longer fixed */
.leasing-spacer { height: 50vh; }
@media (max-width: 991.98px) { .leasing-spacer { height: 15vh; } }

.site-footer {
  background: var(--lp-teal);
}
.site-footer .text-muted-warm { color: rgba(242, 239, 233, .84) !important; }
.site-footer a { color: #f2efe9; }
.site-footer a:hover { color: var(--lp-teal-light); }

.navbar-lp {
  background: rgba(251,250,247,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--lp-line);
}
.navbar-lp .nav-link { color: var(--lp-body); font-size: .9375rem; }
.navbar-lp .nav-link:hover { color: var(--lp-teal); }
.brand-mark { color: var(--lp-teal); font-size: 1.75rem; line-height: 1; }

.display-hero {
  font-size: clamp(2.5rem, 5.2vw, 4.5rem);
  line-height: 1.02; letter-spacing: -.025em; font-weight: 400;
  text-wrap: pretty;
}
.h-section {
  font-size: clamp(1.875rem, 3vw, 2.5rem);
  line-height: 1.1; letter-spacing: -.02em; font-weight: 400;
}

.btn-lp {
  --bs-btn-bg: var(--lp-teal); --bs-btn-border-color: var(--lp-teal); --bs-btn-color: var(--lp-paper);
  --bs-btn-hover-bg: var(--lp-teal-dark); --bs-btn-hover-border-color: var(--lp-teal-dark); --bs-btn-hover-color: var(--lp-paper);
  --bs-btn-active-bg: var(--lp-teal-dark); --bs-btn-active-border-color: var(--lp-teal-dark);
  --bs-btn-font-weight: 600; --bs-btn-padding-x: 1.625rem; --bs-btn-padding-y: .875rem;
  white-space: nowrap;
  display: inline-flex; align-items: center; gap: .625rem;
}

.stat-value { font-family: 'Source Serif 4', serif; font-size: 2.625rem; line-height: 1; color: var(--lp-teal); }
.stat-label { font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-muted); }

.property-card {
  background: #fff; border: 1px solid var(--lp-line); height: 100%;
  display: flex; flex-direction: column; text-decoration: none; color: inherit;
  transition: border-color .14s ease, transform .14s ease;
}
.property-card:hover { border-color: var(--lp-teal); transform: translateY(-3px); color: inherit; }
.property-card__title { font-family: 'Source Serif 4', serif; font-size: 1.4375rem; line-height: 1.15; letter-spacing: -.015em; margin: 0; }
.property-card__kicker { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lp-teal); font-weight: 600; }
.property-card__link { font-size: .875rem; font-weight: 600; color: var(--lp-teal); border-top: 1px solid #eeebe4; }

.timeline-row { border-top: 1px solid rgba(242,239,233,.22); }
.timeline-row:last-child { border-bottom: 1px solid rgba(242,239,233,.22); }
.timeline-year { font-family: 'Source Serif 4', serif; font-size: 1.25rem; color: var(--lp-teal-light); }
.bg-teal { color: #f2efe9; }
.bg-teal .text-soft { color: rgba(242,239,233,.84); }

.contact-grid { border: 1px solid var(--lp-line); background: var(--lp-line); gap: 1px; display: grid; grid-template-columns: 1fr 1fr; }
.contact-grid > div { background: var(--lp-paper); padding: 1.625rem 1.75rem; }
.contact-label { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lp-muted); }

@media (max-width: 575.98px) { .contact-grid { grid-template-columns: 1fr; } }
