/*
Theme Name: Montecito Template
Theme URI: https://homepage.studio
Description: Structural clone of montecitoproperties.com for template use
Version: 1.0
Author: HomePage Studios
*/

/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: "Manrope", sans-serif;
  font-weight: 200;
  color: #222;
  letter-spacing: 0.25px;
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
  min-height: 100vh;
  background: #fff;
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: opacity 0.3s; }
a:hover { opacity: 0.8; }

/* ===== CONTAINER ===== */
.container {
  max-width: 1199px;
  margin: 0 auto;
  padding: 0 16px;
  position: relative;
}

/* ===== TYPOGRAPHY ===== */
h1, h2, h3, h4, h5, h6 {
  font-family: "Marcellus", serif;
  font-weight: 300;
  text-transform: uppercase;
  color: #100d0c;
  line-height: 1.3;
  letter-spacing: 0.25px;
}

h1 { font-size: 55px; }
h2 { font-size: 50px; }
h3 { font-size: 35px; }
h4 { font-size: 22px; }
h5 { font-size: 18px; font-weight: 400; }

p {
  font-size: 16px;
  font-weight: 200;
  line-height: 1.65;
  color: #222;
  margin-bottom: 1em;
}

.script-text {
  font-family: "DollynScript", "Dancing Script", cursive;
  font-weight: 300;
  text-transform: none;
}

.eyebrow {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

/* ===== BUTTONS ===== */
.btn {
  display: inline-block;
  background: transparent;
  border: 1px solid #100d0c;
  border-radius: 0;
  padding: 14px 20px;
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #100d0c;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}

.btn:hover {
  background: #100d0c;
  color: #fff;
  opacity: 1;
}

.btn--white {
  border-color: #fff;
  color: #fff;
}

.btn--white:hover {
  background: #fff;
  color: #100d0c;
}

.btn--nav {
  font-family: "Marcellus", serif;
  font-size: 18px;
  font-weight: 400;
  padding: 14px 22px 12px;
  letter-spacing: normal;
}

/* ===== HEADER / NAVIGATION ===== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 15px 20px;
  background: transparent;
  transition: background-color 0.4s ease, box-shadow 0.4s ease, padding 0.3s ease;
}

/* Scrolled state */
.site-header.scrolled {
  background: #f8f7f2;
  box-shadow: 0 1px 10px rgba(0,0,0,0.08);
  padding: 10px 20px;
}

/* Logo visibility */
.site-header .logo-dark {
  display: none;
}
.site-header .logo-white {
  display: block;
}
.site-header.scrolled .logo-dark {
  display: block;
}
.site-header.scrolled .logo-white {
  display: none;
}

/* Divider color transition */
.site-header .logo-divider {
  transition: background-color 0.4s ease;
}
.site-header.scrolled .logo-divider {
  background-color: #333;
}

/* Nav link color transition */
.site-header .main-nav a {
  transition: color 0.4s ease;
}
.site-header.scrolled .main-nav a {
  color: #1a1a1a;
}
.site-header.scrolled .main-nav a:hover {
  color: #555;
}

/* Menu button: show dark on scroll */
.site-header .btn--dark {
  display: none;
  border-color: #1a1a1a;
  color: #1a1a1a;
}
.site-header.scrolled .btn--white {
  display: none !important;
}
.site-header.scrolled .btn--dark {
  display: inline-block !important;
}

.site-header .container {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;
}

.site-header .main-nav {
  margin-left: auto;
}

.site-header .nav-buttons {
  margin-left: 0;
}

.site-logo img {
  height: 89px;
  width: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a {
  font-family: "Marcellus", serif;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: normal;
}

.nav-buttons {
  display: flex;
  gap: 12px;
  align-items: center;
}

/* Social sidebar */
.social-sidebar {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  background: rgba(0,0,0,0.3);
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.social-sidebar a {
  color: #fff;
  font-size: 16px;
  display: block;
  text-align: center;
}

/* ===== HERO SECTION ===== */
.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 160px 0 80px;
  overflow: hidden;
}

.hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero__poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(16,13,12,0.4) 0%, rgba(16,13,12,0.1) 100%);
  z-index: 1;
}

.hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.hero__content h1 {
  color: #fff;
  font-size: 55px;
  margin-bottom: 20px;
}

.hero__content .script-text {
  color: #fff;
  font-size: 45px;
}

/* ===== FEATURED LISTINGS SECTION ===== */
.featured-listings {
  padding: 80px 0 40px;
  background: #fff;
  text-align: center;
}

.featured-listings h2 {
  margin-bottom: 12px;
}

.featured-listings .section-subtext {
  font-size: 16px;
  color: #222;
  margin-bottom: 24px;
}

.featured-listings .btn {
  margin-bottom: 48px;
}

/* ===== STATS SECTION ===== */
.stats-section {
  padding: 80px 0;
  text-align: center;
}

.stats-section h2 {
  margin-bottom: 8px;
}

.stats-section .section-subtext {
  margin-bottom: 48px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 100%;
  width: 100%;
}

.stat-item {
  padding: 40px 20px;
  text-align: center;
  border-right: 1px solid #ddd;
}

.stat-item:last-child {
  border-right: none;
}


.stat-item .stat-number {
  font-family: "Marcellus", serif;
  font-size: 48px;
  font-weight: 400;
  color: #100d0c;
  line-height: 1.2;
}

.stat-item .stat-label {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #222;
  margin-top: 8px;
}

/* ===== ABOUT SECTION ===== */
.about-section {
  padding: 80px 0;
}

.about-section .container {
  max-width: 100%;
  padding: 0;
}

.about-grid {
  display: flex;
  flex-wrap: wrap;
}

.about-photo {
  flex: 0 0 50%;
  max-width: 50%;
  min-height: 700px;
  background-size: cover;
  background-position: center 35%;
}

.about-text {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 80px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-text .eyebrow {
  color: #100d0c;
}

.about-text h4 {
  margin-bottom: 24px;
}

.about-text p {
  margin-bottom: 16px;
}

.about-text .btn {
  align-self: flex-start;
  margin-top: 16px;
}

/* ===== TEAM SECTION ===== */
.team-section {
  background: #f8f7f2;
  padding: 0 0 112px;
}

.team-section .container {
  max-width: 100%;
  padding: 0;
}

.team-grid {
  display: flex;
  flex-wrap: wrap;
}

.team-photo {
  flex: 0 0 50%;
  max-width: 50%;
  min-height: 700px;
  background-size: cover;
  background-position: center;
  order: 1;
}

.team-text {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 112px 84px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  order: 0;
}

.team-text .eyebrow {
  color: #100d0c;
  margin-bottom: 12px;
}

.team-text h5 {
  margin-bottom: 8px;
  font-weight: 400;
}

.team-text h2 {
  margin-bottom: 24px;
}

.team-text .btn {
  align-self: flex-start;
}

/* ===== AREAS OF EXPERTISE (Communities Grid) ===== */
.areas-section {
  padding: 112px 0;
}

.areas-section .container {
  max-width: 100%;
  padding: 0 0;
}

.areas-section h2 {
  text-align: center;
  margin-bottom: 56px;
  padding: 0 16px;
}

.areas-grid {
  display: flex;
  gap: 20px;
  width: 100%;
}

.areas-col-left {
  flex: 0 0 60%;
  width: 60%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.areas-col-right {
  flex: 0 0 calc(40% - 16px);
  width: calc(40% - 16px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.areas-small-row {
  display: flex;
  gap: 16px;
}

.area-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.area-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.area-card:hover img {
  transform: scale(1.05);
}

.area-card--large {
  height: 476px;
}

.area-card--small {
  flex: 1;
  height: 308px;
}

.area-card__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
  background: linear-gradient(transparent, rgba(0,0,0,0.6));
  z-index: 2;
}

.area-card h3 {
  color: #fff;
  font-size: 26px;
  margin-bottom: 4px;
}

.area-card h3 span {
  display: block;
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-top: 6px;
}

/* ===== LISTING FEED SECTION ===== */


/* ===== BLOG SECTION ===== */
.blog-section {
  padding: 80px 0;
  text-align: center;
}

.blog-section h2 {
  margin-bottom: 12px;
}

.blog-section .section-subtext {
  margin-bottom: 40px;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.blog-card {
  text-align: left;
  overflow: hidden;
}

.blog-card__image {
  aspect-ratio: 16/10;
  background: #e0ddd5;
  margin-bottom: 16px;
  overflow: hidden;
}

.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}

.blog-card:hover .blog-card__image img {
  transform: scale(1.05);
}

.blog-card__category {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #888;
  margin-bottom: 8px;
}

.blog-card__title {
  font-family: "Marcellus", serif;
  font-size: 18px;
  font-weight: 400;
  color: #100d0c;
  line-height: 1.4;
  text-transform: none;
}

.blog-card__date {
  font-size: 13px;
  color: #888;
  margin-top: 8px;
}

/* ===== CTA SECTION ===== */
.cta-section {
  position: relative;
  padding: 135px 0;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  text-align: center;
}

.cta-section__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1;
}

.cta-section .container {
  position: relative;
  z-index: 2;
}

.cta-section h2 {
  color: #fff;
  margin-bottom: 38px;
  font-size: 64px;
}

.cta-section p {
  color: #fff;
  max-width: 800px;
  margin: 0 auto 52px;
  font-size: 20px;
  line-height: 1.7;
}

/* ===== FOOTER ===== */
.site-footer {
  background: #f8f7f2;
  padding: 64px 0 48px;
}

.footer-newsletter {
  text-align: center;
  margin-bottom: 48px;
}

.footer-newsletter h4 {
  margin-bottom: 8px;
}

.footer-newsletter p {
  margin-bottom: 24px;
  font-size: 16px;
}

.newsletter-form {
  display: flex;
  max-width: 500px;
  margin: 0 auto;
  gap: 0;
}

.newsletter-form input[type="email"] {
  flex: 1;
  padding: 12px 16px;
  border: 2px solid #fff;
  border-bottom-color: #ccc;
  background: #fbfbfb;
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  outline: none;
}

.newsletter-form input[type="email"]:focus {
  border-bottom-color: #828384;
  background: #fff;
}

.newsletter-form button {
  padding: 12px 24px;
  background: #100d0c;
  color: #fff;
  border: none;
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
}

.footer-info {
  display: flex;
  flex-wrap: wrap;
  padding: 0 16px;
  margin-bottom: 32px;
}

.footer-info__col {
  flex: 1;
  min-width: 200px;
}

.footer-info__col--center {
  text-align: center;
}

.footer-info__col h5 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  font-family: "Manrope", sans-serif;
  text-transform: none;
}

.footer-info__col p {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 4px;
}

.footer-social {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 32px 0;
}

.footer-social a {
  font-size: 20px;
  color: #222;
}

.footer-legal {
  text-align: center;
  padding: 24px 16px 0;
  border-top: 1px solid #ddd;
}

.footer-legal p {
  font-size: 12px;
  line-height: 1.6;
  color: #666;
}

.footer-legal nav {
  margin-top: 16px;
}

.footer-legal nav a {
  font-size: 12px;
  color: #666;
  margin: 0 12px;
}

.footer-credits {
  text-align: center;
  margin-top: 16px;
  font-size: 12px;
  color: #888;
}

/* ===== ANIMATIONS ===== */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

.fade-in {
  opacity: 0;
  transition: opacity 0.8s ease;
}

.fade-in.visible {
  opacity: 1;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 575px) {
  h1 { font-size: 35px; }
  h2 { font-size: 30px; }
  h3 { font-size: 26px; }

  .hero { padding: 4em 0; min-height: 60vh; }
  .hero__content h1 { font-size: 35px; }
  .hero__content .script-text { font-size: 28px; }

  .main-nav { display: none; }

  .about-photo, .about-text { flex: 0 0 100%; max-width: 100%; }
  .about-photo { min-height: 280px; }
  .about-text { padding: 2em 1em; }

  .team-photo, .team-text { flex: 0 0 100%; max-width: 100%; }
  .team-photo { min-height: 280px; order: 0; }
  .team-text { padding: 2em 1em; order: 1; }

  .areas-grid { flex-direction: column; }
  .areas-col-left, .areas-col-right { flex: 0 0 100%; max-width: 100%; }
  .areas-small-row { flex-direction: column; }
  .area-card--small { height: 200px; }

  .blog-grid { grid-template-columns: 1fr; }


  .footer-info { flex-direction: column; gap: 24px; text-align: center; }

  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 576px) and (max-width: 767px) {
  h1 { font-size: 40px; }
  h2 { font-size: 35px; }
  h3 { font-size: 26px; }

  .hero__content h1 { font-size: 40px; }
  .hero__content .script-text { font-size: 32px; }

  .main-nav { display: none; }

  .about-photo, .about-text { flex: 0 0 100%; max-width: 100%; }
  .about-photo { min-height: 400px; }
  .about-text { padding: 2em; }

  .team-photo, .team-text { flex: 0 0 100%; max-width: 100%; }
  .team-photo { min-height: 400px; order: 0; }
  .team-text { padding: 2em; order: 1; }

  .areas-grid { flex-direction: column; }
  .areas-col-left, .areas-col-right { flex: 0 0 100%; max-width: 100%; }

}

@media (min-width: 768px) and (max-width: 991px) {
  h1 { font-size: 45px; }
  h2 { font-size: 40px; }
  h3 { font-size: 28px; }

  .about-photo, .about-text { flex: 0 0 100%; max-width: 100%; }
  .about-photo { min-height: 450px; }
  .about-text { padding: 2em; }

  .team-photo, .team-text { flex: 0 0 100%; max-width: 100%; }
  .team-photo { min-height: 450px; order: 0; }
  .team-text { padding: 2em; order: 1; }

  .areas-grid { flex-direction: column; }
  .areas-col-left, .areas-col-right { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  h1 { font-size: 42px; }
  h2 { font-size: 40px; }
  h3 { font-size: 30px; }
}

/* Hamburger menu */
.hamburger-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f8f7f2;
  z-index: 200;
  padding: 21px 30px 30px;
  flex-direction: column;
}

.hamburger-menu.active { display: flex; }

.hamburger-menu__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.hamburger-menu__links {
  list-style: none;
  padding: 0;
}

.hamburger-menu__links li {
  margin-bottom: 16px;
}

.hamburger-menu__links a {
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(0,0,0,0.8);
}

.hamburger-menu__social {
  display: flex;
  gap: 20px;
  margin-top: auto;
  padding-top: 40px;
}

.hamburger-menu__social a {
  font-size: 26px;
  color: rgba(0,0,0,0.8);
}

/* ===== LISTING SLIDE INFO OVERLAY ===== */
.listing-slide__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 24px;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.listing-slide__status {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #fff;
  margin-bottom: 4px;
}

.listing-slide__price {
  font-family: "Marcellus", serif;
  font-size: 28px;
  color: #fff;
  font-weight: 400;
}

.listing-slide__address {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
}

.listing-slide__location {
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.8);
}

/* ===== ABOUT SUBTITLE ===== */
.about-subtitle {
  font-family: "Marcellus", serif;
  font-size: 18px;
  font-weight: 400;
  color: #100d0c;
  text-transform: uppercase;
  letter-spacing: 0.25px;
  margin-bottom: 24px;
}

.about-text h2 {
  text-transform: uppercase;
  margin-bottom: 16px;
}

/* ===== TEAM SCRIPT TEXT ===== */
.team-script {
  font-size: 45px;
  color: #100d0c;
  margin: 8px 0;
  line-height: 1.2;
}

.team-text h3 {
  font-size: 35px;
  margin-bottom: 0;
}

/* ===== NOTABLE SALES SECTION ===== */



/* ===== HAMBURGER MENU CONTACT ===== */
.hamburger-menu__contact {
  margin-top: 24px;
}

.hamburger-menu__contact a {
  font-family: "Manrope", sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #100d0c;
  letter-spacing: 0.5px;
}

/* ===== LISTING CAROUSEL (Swiper) ===== */
.listing-carousel {
  position: relative;
  width: 100%;
  padding: 0 0 16px;
}

.listing-swiper { overflow: hidden; }

.listing-card {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #e0ddd5;
}

.listing-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.listing-card:hover img { transform: scale(1.05); }

.listing-card__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
  background: linear-gradient(transparent, rgba(0,0,0,0.75));
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 2;
}

.listing-card__status {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #fff;
  margin-bottom: 4px;
}

.listing-card__price {
  font-family: "Marcellus", serif;
  font-size: 28px;
  color: #fff;
  font-weight: 400;
  line-height: 1.2;
}

.listing-card__address {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  margin-top: 4px;
}

.listing-card__location {
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.8);
}

/* Carousel Navigation */
.listing-carousel__nav {
  position: absolute;
  top: calc(50% - 24px);
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 8px;
  pointer-events: none;
  z-index: 10;
}

.listing-carousel__prev,
.listing-carousel__next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #100d0c;
  pointer-events: all;
  transition: background 0.3s, transform 0.3s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.listing-carousel__prev:hover,
.listing-carousel__next:hover {
  background: #fff;
  transform: scale(1.1);
}

.listing-carousel__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.listing-carousel__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  opacity: 1;
  transition: background 0.3s, transform 0.3s;
}

.listing-carousel__pagination .swiper-pagination-bullet-active {
  background: #100d0c;
  transform: scale(1.2);
}

/* ===== TESTIMONIALS SECTION ===== */
.testimonials-section {
  padding: 0;
  background: #fff;
}

.testimonials-grid {
  display: flex;
  flex-wrap: wrap;
  min-height: 600px;
}

.testimonials-content {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 80px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonials-content .eyebrow {
  color: #100d0c;
  margin-bottom: 8px;
}

.testimonials-content h2 {
  margin-bottom: 40px;
}

.testimonials-image {
  flex: 0 0 50%;
  max-width: 50%;
  min-height: 600px;
  background-size: cover;
  background-position: center;
}

/* Testimonial Slider */
.testimonial-slider {
  position: relative;
  min-height: 220px;
}

.testimonial-slide {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.testimonial-slide.active {
  display: block;
  opacity: 1;
}

.testimonial-stars {
  margin-bottom: 20px;
  color: #c9a96e;
  font-size: 16px;
  letter-spacing: 4px;
}

.testimonial-quote {
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
  color: #222;
  font-style: normal;
  margin-bottom: 20px;
  border: none;
  padding: 0;
}

.testimonial-author {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #100d0c;
}

.testimonial-dots {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.testimonial-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ddd;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background 0.3s;
}

.testimonial-dot.active {
  background: #100d0c;
}

/* Testimonials responsive */
@media (max-width: 991px) {
  .testimonials-content,
  .testimonials-image {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .testimonials-image {
    min-height: 350px;
    order: -1;
  }
  .testimonials-content {
    padding: 48px 24px;
  }
}

/* Fix testimonials button - prevent flex stretch */
.testimonials-content .btn {
  align-self: flex-start;
  display: inline-block;
  width: auto;
}

/* FORCE: Kill any residual stat pseudo-elements and fix button */
.stat-item::before,
.stat-item::after,
.stat-item + .stat-item::before {
  content: none !important;
  display: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
}

.testimonials-content .btn {
  align-self: flex-start !important;
  display: inline-block !important;
  width: auto !important;
}

/* ===== PAGE HERO (Internal Pages) ===== */
.page-hero {
  position: relative;
  height: 540px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.page-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(rgba(16,13,12,0.4) 0%, rgba(16,13,12,0.1) 100%);
  z-index: 1;
}

.page-hero__content {
  position: relative;
  z-index: 2;
}

.page-hero__content h1 {
  color: #fff;
  margin-bottom: 24px;
}

.btn--white-fill {
  display: inline-block;
  background: #fff;
  color: #100d0c;
  border: 1px solid #fff;
  border-radius: 0;
  padding: 14px 24px;
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}

.btn--white-fill:hover {
  background: transparent;
  color: #fff;
}

/* ===== LISTINGS INTRO ===== */
.listings-intro {
  padding: 60px 0;
  text-align: center;
}

.listings-intro .script-text {
  font-size: 60px;
  color: #100d0c;
  margin-bottom: 16px;
}

.listings-intro p {
  max-width: 800px;
  margin: 0 auto;
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 200;
  line-height: 1.65;
  color: #222;
  letter-spacing: 0.25px;
}

/* ===== LISTING GRID ===== */
.listings-grid-section {
  padding: 0 0 80px;
}

.listings-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.listing-grid-card {
  flex: 0 0 33.333%;
  padding: 0 15px 30px;
}

.listing-grid-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #F8F7F2;
  transition: box-shadow 0.3s;
}

.listing-grid-card__link:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.listing-grid-card__thumb {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.listing-grid-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.listing-grid-card__link:hover .listing-grid-card__thumb img {
  transform: scale(1.05);
}

.listing-grid-card__badge {
  position: absolute;
  bottom: 20px;
  right: 16px;
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
}

@media (max-width: 991px) {
  .listing-grid-card { flex: 0 0 50%; }
  .page-hero { height: 400px; }
  .listings-intro .script-text { font-size: 45px; }
}

@media (max-width: 767px) {
  .listing-grid-card { flex: 0 0 100%; }
  .page-hero { height: 350px; }
  .listings-intro .script-text { font-size: 36px; }
}

/* ===== LISTING CARD BODY (Clean Design) ===== */
.listing-grid-card__body {
  padding: 20px 20px 24px;
}

.listing-grid-card__price {
  font-family: "Marcellus", serif;
  font-size: 26px;
  font-weight: 400;
  color: #100d0c;
  margin-bottom: 8px;
  line-height: 1.2;
}

.listing-grid-card__street {
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #100d0c;
  margin-bottom: 2px;
}

.listing-grid-card__city {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #666;
  margin-bottom: 12px;
}

.listing-grid-card__meta {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #999;
  letter-spacing: 0.5px;
  padding-top: 12px;
  border-top: 1px solid #eaeaea;
}

/* ===== ABOUT ME PAGE ===== */

/* Hero */
.about-hero {
  position: relative;
  height: 540px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(16,13,12,0.4), rgba(16,13,12,0.1));
}
.about-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.about-hero__content h1 {
  font-family: "Marcellus", serif;
  font-size: 55px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1px;
}

/* Intro - "It's not about me" */
.about-intro {
  padding: 80px 0;
  background: #fff;
}
.about-intro__inner {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.about-intro__heading {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #100d0c;
  line-height: 1.2;
  margin: 0;
}
.about-intro__heading--script {
  font-family: "Dancing Script", cursive;
  font-size: 48px;
  color: #100d0c;
  margin-top: 4px;
  margin-bottom: 32px;
}
.about-intro__quote {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  color: #444;
  line-height: 1.65;
  margin-bottom: 4px;
}
.about-intro__attribution {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #888;
  letter-spacing: 1px;
}

/* Bio Section */
.about-bio {
  padding: 80px 0;
  background: #f8f7f2;
}
.about-bio__grid {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}
.about-bio__image {
  flex: 0 0 420px;
}
.about-bio__image img {
  width: 100%;
  height: auto;
  display: block;
}
.about-bio__content {
  flex: 1;
}
.about-bio__subtitle {
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 8px;
}
.about-bio__name {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #100d0c;
  margin-bottom: 24px;
  line-height: 1.1;
}
.about-bio__highlights {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}
.about-bio__highlights li {
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #222;
  padding: 6px 0;
  padding-left: 16px;
  position: relative;
}
.about-bio__highlights li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #888;
}
.about-bio__contact {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #666;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
.about-bio__divider {
  margin: 0 12px;
  color: #ccc;
}
.about-bio__text p {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 200;
  line-height: 1.65;
  color: #222;
  margin-bottom: 16px;
}

/* Career Stats */
.about-stats {
  padding: 80px 0;
  background: #100d0c;
}
.about-stats__heading {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  margin-bottom: 48px;
}
.about-stats__grid {
  display: flex;
  justify-content: center;
  gap: 0;
  max-width: 900px;
  margin: 0 auto;
}
.about-stats__item {
  flex: 1;
  text-align: center;
  padding: 0 32px;
  border-right: 1px solid rgba(255,255,255,0.15);
}
.about-stats__item:last-child {
  border-right: none;
}
.about-stats__value {
  font-family: "Marcellus", serif;
  font-size: 52px;
  font-weight: 400;
  color: #fff;
  display: inline;
}
.about-stats__suffix {
  font-family: "Marcellus", serif;
  font-size: 32px;
  font-weight: 400;
  color: #fff;
  display: inline;
}
.about-stats__label {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-top: 8px;
}

/* Notable Sales Carousel */
.about-notable {
  padding: 80px 0;
  background: #fff;
}
.about-notable__heading {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #100d0c;
  text-align: center;
  margin-bottom: 48px;
}
.about-notable__swiper {
  padding-bottom: 48px;
}
.notable-card {
  background: #f8f7f2;
}
.notable-card__image {
  height: 280px;
  background-size: cover;
  background-position: center;
}
.notable-card__info {
  padding: 20px 20px 24px;
}
.notable-card__price {
  font-family: "Marcellus", serif;
  font-size: 26px;
  font-weight: 400;
  color: #100d0c;
  margin-bottom: 6px;
}
.notable-card__address {
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #100d0c;
  margin-bottom: 2px;
}
.notable-card__city {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #666;
}
.about-notable__swiper .swiper-button-prev,
.about-notable__swiper .swiper-button-next {
  color: #100d0c;
  width: 44px;
  height: 44px;
}
.about-notable__swiper .swiper-button-prev::after,
.about-notable__swiper .swiper-button-next::after {
  font-size: 20px;
}
.about-notable__swiper .swiper-pagination-bullet {
  background: #100d0c;
  opacity: 0.3;
}
.about-notable__swiper .swiper-pagination-bullet-active {
  opacity: 1;
}

/* If You Want to Know More */
.about-more {
  padding: 80px 0;
  background: #f8f7f2;
}
.about-more__heading {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #100d0c;
  text-align: center;
  margin-bottom: 48px;
}
.about-more__grid {
  display: flex;
  gap: 24px;
}
.about-more__card {
  flex: 1;
  position: relative;
  height: 360px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
}
.about-more__card-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
}
.about-more__card:hover .about-more__card-bg {
  transform: scale(1.05);
}
.about-more__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16,13,12,0.75) 0%, rgba(16,13,12,0.1) 60%);
}
.about-more__card-content {
  position: relative;
  z-index: 2;
  padding: 32px;
  color: #fff;
}
.about-more__card-content h3 {
  font-family: "Marcellus", serif;
  font-size: 28px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 8px;
}
.about-more__card-content p {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 200;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  margin-bottom: 12px;
}
.about-more__card-link {
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,0.5);
  padding-bottom: 2px;
}

/* ===== ABOUT ME RESPONSIVE ===== */
@media (max-width: 991px) {
  .about-hero { height: 400px; }
  .about-hero__content h1 { font-size: 42px; }
  .about-intro__heading { font-size: 34px; }
  .about-intro__heading--script { font-size: 38px; }
  .about-bio__grid { flex-direction: column; gap: 40px; }
  .about-bio__image { flex: none; max-width: 400px; margin: 0 auto; }
  .about-bio__name { font-size: 34px; }
  .about-stats__grid { flex-wrap: wrap; }
  .about-stats__item { flex: 0 0 50%; padding: 16px 24px; border-right: none; }
  .about-stats__value { font-size: 40px; }
  .about-more__grid { flex-direction: column; }
  .about-more__card { height: 300px; }
}

@media (max-width: 767px) {
  .about-hero { height: 350px; }
  .about-hero__content h1 { font-size: 36px; }
  .about-intro__heading { font-size: 28px; }
  .about-intro__heading--script { font-size: 32px; }
  .about-bio__image { max-width: 100%; }
  .about-stats__heading { font-size: 32px; }
  .about-stats__item { flex: 0 0 50%; }
  .about-stats__value { font-size: 36px; }
  .about-stats__suffix { font-size: 24px; }
  .about-notable__heading { font-size: 32px; }
  .about-more__heading { font-size: 32px; }
  .about-more__card { height: 260px; }
}
/* ===== BIO SECTION CLEANUP ===== */
.about-bio__subtitle {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 300;
  letter-spacing: 0.25px;
  text-transform: none;
  color: #222;
  margin-bottom: 4px;
}
.about-bio__name {
  font-size: 42px;
  margin-bottom: 16px;
}
.about-bio__highlights {
  list-style: disc;
  padding-left: 18px;
  margin: 0 0 24px;
}
.about-bio__highlights li {
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #222;
  line-height: 1.65;
  padding: 0;
  padding-left: 0;
  margin-bottom: 0;
}
.about-bio__highlights li::before {
  display: none;
}
.about-bio__contact-item {
  margin-top: 8px;
}
.about-bio__text {
  padding-top: 20px;
  border-top: 1px solid #ddd;
}
.about-bio__text p {
  font-size: 17px;
  font-weight: 200;
  line-height: 1.65;
  color: #222;
  margin-bottom: 14px;
}

/* ===== COMMUNITIES PAGE ===== */

/* Hero */
.comm-hero {
  position: relative;
  height: 540px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.comm-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(16,13,12,0.45), rgba(16,13,12,0.15));
}
.comm-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.comm-hero__content h1 {
  font-family: "Marcellus", serif;
  font-size: 55px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1px;
  margin-bottom: 16px;
}
.btn--white-outline {
  display: inline-block;
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid #fff;
  padding: 12px 28px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.btn--white-outline:hover {
  background: #fff;
  color: #100d0c;
}

/* Intro */
.comm-intro {
  padding: 60px 0 40px;
  background: #fff;
  text-align: center;
}

/* Grid Section */
.comm-grid-section {
  padding: 0 0 80px;
  background: #fff;
}
.comm-grid {
  max-width: 1199px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Row Layout */
.comm-row {
  display: flex;
  gap: 16px;
  min-height: 520px;
}
.comm-row--left {
  flex-direction: row;
}
.comm-row--right {
  flex-direction: row;
}
.comm-row__small {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

/* Cards */
.comm-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  cursor: pointer;
}
.comm-card--large {
  flex: 1.2;
  min-height: 520px;
}
.comm-card--small {
  flex: 1;
  min-height: 0;
}
.comm-card__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
}
.comm-card:hover .comm-card__bg {
  transform: scale(1.05);
}
.comm-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16,13,12,0.6) 0%, rgba(16,13,12,0) 50%);
}
.comm-card__content {
  position: relative;
  z-index: 2;
  padding: 28px 32px;
  width: 100%;
}
.comm-card__content h3 {
  font-family: "Marcellus", serif;
  font-size: 26px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 4px;
  line-height: 1.2;
}
.comm-card__link {
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.8);
  border-bottom: 1px solid rgba(255,255,255,0.4);
  padding-bottom: 2px;
  transition: color 0.3s ease;
}
.comm-card:hover .comm-card__link {
  color: #fff;
  border-color: #fff;
}

/* ===== COMMUNITIES RESPONSIVE ===== */
@media (max-width: 991px) {
  .comm-hero { height: 400px; }
  .comm-hero__content h1 { font-size: 42px; }
  .comm-row { flex-direction: column; min-height: auto; }
  .comm-card--large { min-height: 340px; }
  .comm-card--small { min-height: 240px; }
  .comm-row__small { flex-direction: row; }
}

@media (max-width: 767px) {
  .comm-hero { height: 350px; }
  .comm-hero__content h1 { font-size: 36px; }
  .comm-row__small { flex-direction: column; }
  .comm-card--large { min-height: 300px; }
  .comm-card--small { min-height: 220px; }
  .comm-card__content h3 { font-size: 22px; }
}

/* ===== BLOG PAGE ===== */

.blog-hero {
  position: relative;
  height: 540px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.blog-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(16,13,12,0.45), rgba(16,13,12,0.15));
}
.blog-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.blog-hero__content h1 {
  font-family: "Marcellus", serif;
  font-size: 55px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1px;
}

.blog-intro {
  padding: 60px 0 20px;
  background: #fff;
  text-align: center;
}

/* Blog Grid */
.blog-grid-section {
  padding: 20px 0 80px;
  background: #fff;
}
.blog-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 32px;
}
.blog-card {
  flex: 0 0 calc(50% - 16px);
  display: flex;
  flex-direction: column;
}
.blog-card__thumb {
  display: block;
  overflow: hidden;
  margin-bottom: 16px;
}
.blog-card__thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.blog-card:hover .blog-card__thumb img {
  transform: scale(1.03);
}
.blog-card__body {
  flex: 1;
}
.blog-card__title {
  font-family: "Marcellus", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 6px;
}
.blog-card__title a {
  color: #100d0c;
  text-decoration: none;
}
.blog-card__title a:hover {
  opacity: 0.7;
}
.blog-card__date {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #888;
  margin-bottom: 10px;
}
.blog-card__excerpt {
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: #444;
  line-height: 1.6;
  margin-bottom: 12px;
}
.blog-card__readmore {
  font-family: "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #100d0c;
  text-decoration: none;
  border-bottom: 1px solid #100d0c;
  padding-bottom: 2px;
}
.blog-card__readmore:hover {
  opacity: 0.6;
}
.blog-grid__empty {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  color: #888;
  text-align: center;
  width: 100%;
  padding: 60px 0;
}

/* Pagination */
.blog-pagination {
  text-align: center;
  margin-top: 48px;
  font-family: "Manrope", sans-serif;
  font-size: 14px;
}
.blog-pagination a,
.blog-pagination span {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 4px;
  color: #100d0c;
  text-decoration: none;
  border: 1px solid #ddd;
}
.blog-pagination .current {
  background: #100d0c;
  color: #fff;
  border-color: #100d0c;
}

/* ===== SINGLE POST ===== */
.single-post__hero {
  position: relative;
  height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-post__hero-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.single-post__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(16,13,12,0.5), rgba(16,13,12,0.2));
}
.single-post__hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  padding: 0 20px;
}
.single-post__hero-content h1 {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 12px;
}
.single-post__date {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.8);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.single-post__content {
  padding: 60px 0;
  background: #fff;
}
.single-post__container {
  max-width: 760px;
}
.single-post__container p {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 200;
  line-height: 1.75;
  color: #222;
  margin-bottom: 20px;
}
.single-post__container h2 {
  font-family: "Marcellus", serif;
  font-size: 30px;
  font-weight: 400;
  color: #100d0c;
  margin: 40px 0 16px;
}
.single-post__container h3 {
  font-family: "Marcellus", serif;
  font-size: 24px;
  font-weight: 400;
  color: #100d0c;
  margin: 32px 0 12px;
}
.single-post__container blockquote {
  border-left: 3px solid #100d0c;
  padding: 16px 24px;
  margin: 32px 0;
  font-style: italic;
  color: #444;
}
.single-post__container img {
  max-width: 100%;
  height: auto;
  margin: 24px 0;
}
.single-post__nav {
  padding: 0 0 60px;
  background: #fff;
}
.btn--dark-outline {
  display: inline-block;
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #100d0c;
  border: 1px solid #100d0c;
  padding: 12px 28px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.btn--dark-outline:hover {
  background: #100d0c;
  color: #fff;
}

/* ===== BLOG RESPONSIVE ===== */
@media (max-width: 991px) {
  .blog-hero { height: 400px; }
  .blog-hero__content h1 { font-size: 42px; }
  .single-post__hero { height: 380px; }
  .single-post__hero-content h1 { font-size: 34px; }
}
@media (max-width: 767px) {
  .blog-hero { height: 350px; }
  .blog-hero__content h1 { font-size: 32px; }
  .blog-card { flex: 0 0 100%; }
  .single-post__hero { height: 320px; }
  .single-post__hero-content h1 { font-size: 28px; }
}

/* ===== CONTACT PAGE ===== */

.contact-hero {
  position: relative;
  height: 540px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(16,13,12,0.45), rgba(16,13,12,0.15));
}
.contact-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.contact-hero__content h1 {
  font-family: "Marcellus", serif;
  font-size: 55px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1px;
}

.contact-info {
  padding: 80px 0;
  background: #fff;
  text-align: center;
}
.contact-info .script-text {
  margin-bottom: 48px;
}
.contact-info__details {
  max-width: 600px;
  margin: 0 auto;
}
.contact-info__item {
  margin-bottom: 32px;
}
.contact-info__icon {
  color: #100d0c;
  margin-bottom: 8px;
}
.contact-info__text {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 300;
  color: #222;
  line-height: 1.6;
}
.contact-info__agent {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #eaeaea;
}
.contact-info__agent p {
  font-family: "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #666;
  line-height: 1.6;
}

/* ===== CONTACT RESPONSIVE ===== */
@media (max-width: 991px) {
  .contact-hero { height: 400px; }
  .contact-hero__content h1 { font-size: 42px; }
}
@media (max-width: 767px) {
  .contact-hero { height: 350px; }
  .contact-hero__content h1 { font-size: 36px; }
}

/* ===== CONTACT 2-COL LAYOUT ===== */
.contact-info__grid {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  max-width: 1000px;
  margin: 0 auto;
}
.contact-info__portrait {
  flex: 0 0 420px;
}
.contact-info__portrait img {
  width: 100%;
  height: auto;
  display: block;
}
.contact-info__right {
  flex: 1;
  text-align: center;
}
.contact-info__right .script-text {
  margin-bottom: 36px;
}
.contact-info .script-text {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .contact-info__grid { flex-direction: column; align-items: center; gap: 40px; }
  .contact-info__portrait { flex: none; max-width: 380px; }
}
@media (max-width: 767px) {
  .contact-info__portrait { max-width: 100%; }
}

/* ===== TEAM SECTION - full bleed image ===== */
.team-section {
  padding: 0 !important;
}
.team-grid {
  min-height: 550px !important;
}
.team-photo {
  min-height: 550px !important;
  flex: 0 0 50% !important;
}
.team-text {
  padding: 80px 80px !important;
  justify-content: center !important;
}

/* ===== COMPASS CONCIERGE SECTION ===== */
.about-concierge {
  padding: 80px 0;
  background: #f8f7f2;
  text-align: center;
}
.about-concierge__heading {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #100d0c;
  margin-bottom: 12px;
}
.about-concierge__subtext {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 300;
  color: #444;
  max-width: 600px;
  margin: 0 auto 40px;
  line-height: 1.6;
}
.about-concierge__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
}
.about-concierge__item {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #100d0c;
  padding: 10px 20px;
  border: 1px solid #100d0c;
}

/* ===== ABOUT REVIEWS SECTION ===== */
.about-reviews {
  padding: 80px 0;
  background: #100d0c;
  text-align: center;
}
.about-reviews__heading {
  font-family: "Marcellus", serif;
  font-size: 42px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 48px;
}
.about-reviews__grid {
  display: flex;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
}
.about-review-card {
  flex: 1;
  text-align: left;
}
.about-review-card__stars {
  color: #c9a96e;
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 16px;
}
.about-review-card blockquote {
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  color: rgba(255,255,255,0.85);
  line-height: 1.7;
  margin: 0 0 16px;
}
.about-review-card__author {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1px;
}

/* ===== COUNTY HEADINGS (Communities) ===== */
.comm-county {
  padding: 60px 0 20px;
  background: #fff;
}
.comm-county--alt {
  background: #f8f7f2;
}
.comm-county__heading {
  font-family: "Marcellus", serif;
  font-size: 36px;
  font-weight: 400;
  color: #100d0c;
  text-align: center;
  margin-bottom: 12px;
}
.comm-county__desc {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  font-weight: 300;
  color: #444;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
  line-height: 1.6;
}
.comm-county .comm-grid {
  padding: 0;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 767px) {
  .about-reviews__grid { flex-direction: column; gap: 32px; }
  .about-concierge__heading { font-size: 32px; }
  .about-reviews__heading { font-size: 32px; }
  .comm-county__heading { font-size: 28px; }
}

/* ==========================================================================
   COMMUNITY PAGES
   ========================================================================== */

/* Hero */
.comm-hero {
  position: relative;
  height: 70vh;
  min-height: 500px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.comm-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16,13,12,0.85) 0%, rgba(16,13,12,0.2) 60%, transparent 100%);
}
.comm-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px 80px;
  max-width: 800px;
}
.comm-hero__eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  display: block;
  margin-bottom: 16px;
}
.comm-hero__title {
  font-family: 'Libre Caslon Display', serif;
  font-size: 64px;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.1;
}
.comm-hero__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 17px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255,255,255,0.85);
  margin: 0;
}

/* Sticky Nav */
.comm-nav {
  background: #100d0c;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  z-index: 100;
}
.comm-nav--sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.comm-nav__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.comm-nav a {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  padding: 18px 20px;
  white-space: nowrap;
  transition: color 0.3s;
}
.comm-nav a:hover,
.comm-nav a.active {
  color: #fff;
}

/* Shared */
.comm-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
}
.comm-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #100d0c;
  display: block;
  margin-bottom: 12px;
}
.comm-eyebrow--light {
  color: rgba(255,255,255,0.6);
}

/* Overview */
.comm-overview {
  padding: 100px 0 60px;
  background: #F8F7F2;
}
.comm-overview__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.comm-overview__image img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.comm-overview__text h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #100d0c;
  margin: 0 0 24px;
  line-height: 1.15;
}
.comm-overview__text p {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 200;
  line-height: 1.7;
  color: #444;
  margin: 0 0 18px;
}
.comm-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 60px;
  border-top: 1px solid rgba(16,13,12,0.1);
  padding-top: 40px;
}
.comm-stats__item {
  text-align: center;
  position: relative;
}
.comm-stats__item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 1px;
  background: rgba(16,13,12,0.1);
}
.comm-stats__value {
  font-family: 'Libre Caslon Display', serif;
  font-size: 28px;
  color: #100d0c;
  display: block;
  margin-bottom: 8px;
}
.comm-stats__label {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888;
}

/* Market */
.comm-market {
  padding: 100px 0;
  background: #100d0c;
}
.comm-market__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.comm-market__text h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #fff;
  margin: 0 0 24px;
}
.comm-market__text p {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 200;
  line-height: 1.7;
  color: rgba(255,255,255,0.75);
  margin: 0 0 18px;
}
.comm-market__styles h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin: 30px 0 16px;
}
.comm-market__styles ul {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
}
.comm-market__styles li {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  margin-bottom: 8px;
}
.comm-market__form-box {
  background: #F8F7F2;
  padding: 40px;
}
.comm-market__form-box h3 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 28px;
  color: #100d0c;
  margin: 0 0 4px;
}
.comm-market__form-box > p {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #888;
  margin: 0 0 24px;
}
.comm-lead-form input,
.comm-lead-form select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #ddd;
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  margin-bottom: 12px;
  color: #222;
}
.comm-lead-form select {
  color: #888;
}
.comm-lead-form button {
  width: 100%;
  padding: 16px;
  background: #100d0c;
  color: #fff;
  border: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s;
}
.comm-lead-form button:hover {
  background: #2a2320;
}

/* Card grids */
.comm-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 40px;
}
.comm-card-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
.comm-card {
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(16,13,12,0.06);
}
.comm-card__number {
  font-family: 'Libre Caslon Display', serif;
  font-size: 32px;
  color: rgba(16,13,12,0.1);
  display: block;
  margin-bottom: 16px;
}
.comm-card h4 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 20px;
  color: #100d0c;
  margin: 0 0 12px;
  line-height: 1.3;
}
.comm-card p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 200;
  line-height: 1.65;
  color: #555;
  margin: 0;
}

/* Lifestyle */
.comm-lifestyle {
  padding: 100px 0;
  background: #fff;
}
.comm-lifestyle h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #100d0c;
  margin: 0 0 10px;
}

/* Outdoors */
.comm-outdoors {
  padding: 100px 0;
  background: #F8F7F2;
}
.comm-outdoors h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #100d0c;
  margin: 0 0 24px;
}
.comm-outdoors__intro p {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 200;
  line-height: 1.7;
  color: #444;
  margin: 0 0 18px;
  max-width: 800px;
}
.comm-card--outdoor {
  background: #fff;
}

/* Schools */
.comm-schools {
  padding: 100px 0;
  background: #fff;
}
.comm-schools h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #100d0c;
  margin: 0 0 10px;
}
.comm-schools__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.comm-school-card {
  padding: 24px 28px;
  background: #F8F7F2;
  border-left: 3px solid #100d0c;
}
.comm-school-card h4 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 18px;
  color: #100d0c;
  margin: 0 0 12px;
}
.comm-school-card__meta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.comm-school-card__meta span {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #666;
}
.comm-school-card__rating {
  color: #100d0c !important;
  font-weight: 600 !important;
}

/* Dining */
.comm-dining {
  padding: 100px 0;
  background: #F8F7F2;
}
.comm-dining h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #100d0c;
  margin: 0 0 10px;
}
.comm-dining__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888;
  margin: 40px 0 0;
}
.comm-dining__subtitle:first-of-type {
  margin-top: 20px;
}
.comm-card--dining {
  background: #fff;
}
.comm-dining__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 40px;
}
.comm-card--small {
  padding: 20px 24px;
  background: #fff;
  border: 1px solid rgba(16,13,12,0.06);
  margin-bottom: 12px;
}
.comm-card--small h4 {
  font-size: 17px;
  margin-bottom: 8px;
}
.comm-card--small p {
  font-size: 14px;
}

/* Commute */
.comm-commute {
  padding: 100px 0;
  background: #100d0c;
}
.comm-commute h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #fff;
  margin: 0 0 10px;
}
.comm-commute__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.comm-commute__card {
  padding: 30px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
}
.comm-commute__time {
  font-family: 'Libre Caslon Display', serif;
  font-size: 28px;
  color: #fff;
  display: block;
  margin-bottom: 12px;
}
.comm-commute__card h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  margin: 0 0 8px;
}
.comm-commute__card p {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 200;
  line-height: 1.6;
  color: rgba(255,255,255,0.6);
  margin: 0;
}

/* Advice */
.comm-advice {
  padding: 100px 0;
  background: #fff;
}
.comm-advice__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.comm-advice h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 36px;
  color: #100d0c;
  margin: 0 0 30px;
}
.comm-advice__item {
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(16,13,12,0.08);
}
.comm-advice__item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.comm-advice__item h4 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 18px;
  color: #100d0c;
  margin: 0 0 8px;
}
.comm-advice__item p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 200;
  line-height: 1.65;
  color: #555;
  margin: 0;
}

/* CTA */
.comm-cta {
  padding: 100px 0;
  background: #100d0c;
  text-align: center;
}
.comm-cta h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #fff;
  margin: 0 0 16px;
}
.comm-cta p {
  font-family: 'Montserrat', sans-serif;
  font-size: 17px;
  font-weight: 200;
  line-height: 1.65;
  color: rgba(255,255,255,0.7);
  max-width: 600px;
  margin: 0 auto 36px;
}
.comm-cta__button {
  display: inline-block;
  padding: 16px 48px;
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;
}
.comm-cta__button:hover {
  background: #fff;
  color: #100d0c;
}

/* ==================== MOBILE ==================== */
@media (max-width: 768px) {
  .comm-hero {
    height: 60vh;
    min-height: 400px;
  }
  .comm-hero__title {
    font-size: 36px;
  }
  .comm-hero__content {
    padding-bottom: 50px;
  }
  .comm-nav__inner {
    justify-content: flex-start;
    padding: 0 10px;
  }
  .comm-nav a {
    padding: 14px 12px;
    font-size: 11px;
  }
  .comm-overview,
  .comm-lifestyle,
  .comm-outdoors,
  .comm-schools,
  .comm-dining,
  .comm-advice,
  .comm-market,
  .comm-commute,
  .comm-cta {
    padding: 60px 0;
  }
  .comm-container {
    padding: 0 20px;
  }
  .comm-overview__grid,
  .comm-market__grid,
  .comm-advice__grid,
  .comm-dining__row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .comm-overview__image img {
    height: 300px;
  }
  .comm-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 40px;
    padding-top: 30px;
  }
  .comm-stats__item:nth-child(2)::after {
    display: none;
  }
  .comm-stats__value {
    font-size: 22px;
  }
  .comm-card-grid,
  .comm-card-grid--4,
  .comm-card-grid--3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .comm-schools__grid {
    grid-template-columns: 1fr;
  }
  .comm-commute__grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .comm-overview__text h2,
  .comm-lifestyle h2,
  .comm-outdoors h2,
  .comm-schools h2,
  .comm-dining h2,
  .comm-market__text h2,
  .comm-commute h2,
  .comm-advice h2,
  .comm-cta h2 {
    font-size: 28px;
  }
  .comm-market__form-box {
    padding: 24px;
  }
}

@media (max-width: 480px) {
  .comm-commute__grid {
    grid-template-columns: 1fr;
  }
  .comm-stats {
    grid-template-columns: 1fr 1fr;
  }
}

/* ==========================================================================
   COMMUNITY PAGE FORMATTING FIXES
   ========================================================================== */

/* --- GLOBAL: Center section headers & eyebrows --- */
.comm-lifestyle,
.comm-outdoors,
.comm-schools,
.comm-dining,
.comm-advice {
  text-align: center;
}

/* Left-align card contents */
.comm-card,
.comm-card--dining,
.comm-card--outdoor,
.comm-card--small,
.comm-school-card,
.comm-advice__item,
.comm-advice__col {
  text-align: left;
}

/* --- HERO: Bigger title, more presence --- */
.comm-hero {
  min-height: 550px;
}
.comm-hero__title {
  font-size: 72px;
  letter-spacing: 2px;
}
.comm-hero__subtitle {
  max-width: 700px;
  margin: 0 auto;
}
.comm-hero__eyebrow {
  margin-bottom: 20px;
}

/* --- OVERVIEW: Tighter layout --- */
.comm-overview__text h2 {
  margin-bottom: 20px;
}
.comm-overview__text p:last-child {
  margin-bottom: 0;
}
.comm-overview__image img {
  border: none;
  box-shadow: none;
}

/* --- STATS BAR: Stronger values --- */
.comm-stats__value {
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.5px;
}
.comm-stats__label {
  font-size: 11px;
  letter-spacing: 2.5px;
}

/* --- MARKET: Form box polish --- */
.comm-market__form-box {
  border: none;
  box-shadow: 0 4px 30px rgba(0,0,0,0.08);
}
.comm-market__form-box h3 {
  font-size: 32px;
  margin-bottom: 2px;
}
.comm-market__form-box > p {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 28px;
}
.comm-lead-form input,
.comm-lead-form select {
  border: 1px solid #e0ddd8;
  border-radius: 0;
  padding: 15px 18px;
  font-size: 14px;
  transition: border-color 0.3s;
}
.comm-lead-form input:focus,
.comm-lead-form select:focus {
  border-color: #100d0c;
  outline: none;
}
.comm-lead-form button {
  margin-top: 4px;
  padding: 18px;
  letter-spacing: 3px;
  transition: all 0.3s;
}

/* --- LIFESTYLE CARDS: Visible numbers, subtle elevation --- */
.comm-card {
  padding: 36px;
  border: 1px solid rgba(16,13,12,0.08);
  transition: box-shadow 0.3s, transform 0.2s;
}
.comm-card:hover {
  box-shadow: 0 8px 30px rgba(16,13,12,0.08);
  transform: translateY(-2px);
}
.comm-card__number {
  font-size: 36px;
  color: rgba(16,13,12,0.15);
  margin-bottom: 20px;
  line-height: 1;
}
.comm-card h4 {
  font-size: 20px;
  margin-bottom: 14px;
}
.comm-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

/* --- LIFESTYLE: Section heading centered --- */
.comm-lifestyle h2,
.comm-outdoors h2,
.comm-schools h2,
.comm-dining h2 {
  margin-bottom: 16px;
}
.comm-lifestyle .comm-eyebrow,
.comm-outdoors .comm-eyebrow,
.comm-schools .comm-eyebrow,
.comm-dining .comm-eyebrow {
  display: block;
}

/* --- OUTDOORS: Intro text centered, cards left --- */
.comm-outdoors__intro {
  text-align: center;
  margin-bottom: 20px;
}
.comm-outdoors__intro p {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.comm-card--outdoor {
  padding: 32px;
  border-left: 3px solid #100d0c;
  border-top: none;
  border-right: none;
  border-bottom: none;
  background: #fff;
}
.comm-card--outdoor h4 {
  font-size: 18px;
  margin-bottom: 10px;
}
.comm-card--outdoor p {
  font-size: 14px;
  line-height: 1.65;
}

/* --- SCHOOLS: Better card styling --- */
.comm-school-card {
  padding: 28px 30px;
  transition: box-shadow 0.3s;
}
.comm-school-card:hover {
  box-shadow: 0 4px 16px rgba(16,13,12,0.06);
}
.comm-school-card h4 {
  font-size: 17px;
  margin-bottom: 14px;
}
.comm-school-card__meta {
  gap: 12px;
}
.comm-school-card__meta span {
  font-size: 12px;
  padding: 4px 10px;
  background: rgba(16,13,12,0.04);
  border-radius: 2px;
}
.comm-school-card__rating {
  background: #100d0c !important;
  color: #fff !important;
  font-weight: 500 !important;
}

/* --- DINING: Better subtitle spacing, card structure --- */
.comm-dining h2 {
  margin-bottom: 8px;
}
.comm-dining__subtitle {
  margin-top: 36px !important;
  margin-bottom: 24px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(16,13,12,0.08);
  display: inline-block;
}
.comm-dining__subtitle:first-of-type {
  margin-top: 24px !important;
}
.comm-card--dining {
  padding: 28px 30px;
  background: #fff;
  border: 1px solid rgba(16,13,12,0.06);
  transition: box-shadow 0.3s;
}
.comm-card--dining:hover {
  box-shadow: 0 4px 16px rgba(16,13,12,0.06);
}
.comm-card--dining h4 {
  font-size: 18px;
  margin-bottom: 10px;
}
.comm-card--dining p {
  font-size: 14px;
  line-height: 1.65;
}
.comm-card--small {
  padding: 22px 26px;
  border: 1px solid rgba(16,13,12,0.06);
  border-left: 3px solid rgba(16,13,12,0.12);
  margin-bottom: 14px;
  transition: box-shadow 0.3s;
}
.comm-card--small:hover {
  box-shadow: 0 2px 12px rgba(16,13,12,0.05);
}
.comm-card--small h4 {
  font-size: 16px;
  margin-bottom: 6px;
}
.comm-card--small p {
  font-size: 13px;
  line-height: 1.6;
  color: #666;
}

/* --- COMMUTE: Bigger time values, card polish --- */
.comm-commute__time {
  font-size: 32px;
  margin-bottom: 16px;
  display: block;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.comm-commute__card {
  padding: 36px 30px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s;
}
.comm-commute__card:hover {
  background: rgba(255,255,255,0.08);
}
.comm-commute__card h4 {
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: 400;
}
.comm-commute__card p {
  font-size: 13px;
  line-height: 1.6;
}

/* --- ADVICE: Centered headers, cleaner items --- */
.comm-advice__grid {
  gap: 60px;
}
.comm-advice__col {
  text-align: left;
}
.comm-advice .comm-eyebrow {
  text-align: center;
}
.comm-advice h2 {
  text-align: center;
  font-size: 32px;
  margin-bottom: 36px;
}
.comm-advice__item {
  padding-bottom: 24px;
  margin-bottom: 24px;
}
.comm-advice__item h4 {
  font-size: 17px;
  margin-bottom: 10px;
}
.comm-advice__item p {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
}

/* --- CTA: More vertical space --- */
.comm-cta {
  padding: 120px 0;
}
.comm-cta .comm-eyebrow--light {
  text-align: center;
}
.comm-cta h2 {
  font-size: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.comm-cta p {
  font-size: 16px;
}
.comm-cta__button {
  padding: 18px 56px;
  letter-spacing: 3px;
}

/* --- STICKY NAV: Polish --- */
.comm-nav {
  transition: box-shadow 0.3s;
}
.comm-nav--sticky {
  box-shadow: 0 2px 20px rgba(0,0,0,0.15);
}
.comm-nav a {
  padding: 20px 22px;
  position: relative;
}
.comm-nav a.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 22px;
  right: 22px;
  height: 2px;
  background: #fff;
}

/* --- HOME STYLES LIST: Better spacing --- */
.comm-market__styles ul {
  list-style: disc;
  padding-left: 20px;
}
.comm-market__styles li {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.5;
}

/* ==================== MOBILE FIXES ==================== */
@media (max-width: 768px) {
  .comm-hero__title {
    font-size: 40px;
    letter-spacing: 1px;
  }
  .comm-hero__subtitle {
    font-size: 15px;
  }
  .comm-stats__value {
    font-size: 24px;
  }
  .comm-card {
    padding: 28px;
  }
  .comm-card__number {
    font-size: 28px;
  }
  .comm-commute__time {
    font-size: 24px;
  }
  .comm-advice h2 {
    font-size: 26px;
  }
  .comm-cta {
    padding: 70px 0;
  }
  .comm-cta h2 {
    font-size: 28px;
  }
  .comm-dining__subtitle {
    margin-top: 24px !important;
  }
  .comm-school-card__meta span {
    padding: 3px 8px;
    font-size: 11px;
  }
}

/* ==========================================================================
   COMMUNITY PAGE — ROUND 2 FIXES
   ========================================================================== */

/* --- Outdoors: 2-col grid instead of 4 (more readable) --- */
.comm-card-grid--4 {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px;
}

/* --- Overview: Eyebrow + heading alignment for 2-col --- */
.comm-overview .comm-eyebrow {
  text-align: left;
}
.comm-overview__text h2 {
  text-align: left;
}

/* --- Market: left-align eyebrow + heading --- */
.comm-market .comm-eyebrow--light {
  text-align: left;
}
.comm-market__text h2 {
  text-align: left;
}

/* --- Commute: center the eyebrow & heading --- */
.comm-commute .comm-eyebrow--light {
  text-align: center;
}
.comm-commute h2 {
  text-align: center;
}

/* --- Dining: "Restaurants" subtitle left-align with underline --- */
.comm-dining .comm-card-grid--3 {
  margin-top: 20px;
}

/* --- School cards: 2-col on desktop for more room --- */
.comm-schools__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* --- Card hover: Remove transform to avoid jumpy layout --- */
.comm-card:hover {
  transform: none;
}

/* --- Fix: Dining section heading center alignment --- */
.comm-dining {
  text-align: center;
}
.comm-dining__subtitle {
  text-align: center;
}
.comm-dining .comm-card-grid,
.comm-dining .comm-card-grid--3,
.comm-dining__row {
  text-align: left;
}

/* --- Fix: Advice columns text left --- */
.comm-advice__col .comm-eyebrow {
  text-align: left;
}
.comm-advice__col h2 {
  text-align: left;
}

@media (max-width: 768px) {
  .comm-card-grid--4 {
    grid-template-columns: 1fr !important;
  }
  .comm-schools__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   COMMUNITY PAGE — NUCLEAR FIXES (override theme conflicts)
   ========================================================================== */

/* --- HERO: Force center alignment --- */
.community-page .comm-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.community-page .comm-hero__content {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 800px !important;
  padding: 0 40px 80px !important;
}
.community-page .comm-hero__eyebrow {
  display: block !important;
  text-align: center !important;
}
.community-page .comm-hero__title {
  text-align: center !important;
  font-size: 72px !important;
  letter-spacing: 2px !important;
}
.community-page .comm-hero__subtitle {
  text-align: center !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* --- ALL CARDS: Force block layout (kill theme's flex-row) --- */
.community-page .comm-card,
.community-page .comm-card--dining,
.community-page .comm-card--outdoor,
.community-page .comm-card--small {
  display: block !important;
  flex-direction: unset !important;
  align-items: unset !important;
  overflow: visible !important;
  cursor: default !important;
  min-height: 0 !important;
  height: auto !important;
}
.community-page .comm-card__number {
  display: block !important;
  width: auto !important;
}
.community-page .comm-card h4,
.community-page .comm-card--dining h4,
.community-page .comm-card--outdoor h4,
.community-page .comm-card--small h4 {
  display: block !important;
  width: 100% !important;
}
.community-page .comm-card p,
.community-page .comm-card--dining p,
.community-page .comm-card--outdoor p,
.community-page .comm-card--small p {
  display: block !important;
  width: 100% !important;
}

/* --- CARD GRID: Proper grid layout --- */
.community-page .comm-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
.community-page .comm-card-grid--4 {
  grid-template-columns: repeat(2, 1fr) !important;
}
.community-page .comm-card-grid--3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

/* --- SCHOOL CARDS: Force block --- */
.community-page .comm-school-card {
  display: block !important;
}
.community-page .comm-school-card h4 {
  display: block !important;
  width: 100% !important;
}
.community-page .comm-school-card__meta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* --- COMMUTE CARDS: Force block --- */
.community-page .comm-commute__card {
  display: block !important;
}

/* --- ADVICE ITEMS: Force block --- */
.community-page .comm-advice__item {
  display: block !important;
}

/* --- OVERVIEW GRID: Force proper 2-col --- */
.community-page .comm-overview__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
}

/* --- MARKET GRID: Force proper 2-col --- */
.community-page .comm-market__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
}

/* --- FORM BOX: Force block --- */
.community-page .comm-market__form-box {
  display: block !important;
}

/* --- STATS BAR: Force grid --- */
.community-page .comm-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}
.community-page .comm-stats__item {
  display: block !important;
  text-align: center !important;
}

/* --- DINING ROW: Force 2-col grid --- */
.community-page .comm-dining__row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
}
.community-page .comm-dining__col {
  display: block !important;
}

/* --- ADVICE GRID: Force 2-col --- */
.community-page .comm-advice__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
}

/* --- COMMUTE GRID: Force 4-col --- */
.community-page .comm-commute__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

/* --- SCHOOLS GRID: Force 2-col --- */
.community-page .comm-schools__grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}

/* --- NAV: Force flex-row --- */
.community-page .comm-nav__inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
}

/* ==================== MOBILE ==================== */
@media (max-width: 768px) {
  .community-page .comm-hero__title {
    font-size: 40px !important;
  }
  .community-page .comm-hero__content {
    padding: 0 20px 50px !important;
  }
  .community-page .comm-overview__grid,
  .community-page .comm-market__grid,
  .community-page .comm-advice__grid,
  .community-page .comm-dining__row {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .community-page .comm-card-grid,
  .community-page .comm-card-grid--4,
  .community-page .comm-card-grid--3 {
    grid-template-columns: 1fr !important;
  }
  .community-page .comm-schools__grid {
    grid-template-columns: 1fr !important;
  }
  .community-page .comm-commute__grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .community-page .comm-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .community-page .comm-commute__grid {
    grid-template-columns: 1fr !important;
  }
}

/* HERO: Perfectly centered */
.community-page .comm-hero {
  justify-content: center !important;
}
.community-page .comm-hero__content {
  padding: 0 40px !important;
}

/* Hide redundant "Let's Connect" CTA on community pages */
body.page-template-page-community-scotts-valley-php .cta-section,
body[class*="page-template-page-community"] .cta-section {
  display: none !important;
}

/* Communities INDEX page hero centering */
.comm-hero--index {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: 540px !important;
}
.comm-hero--index .comm-hero__content {
  display: block !important;
  text-align: center !important;
  padding: 0 40px !important;
}
.comm-hero--index .comm-hero__content h1 {
  text-align: center !important;
}

/* Community tile text spacing fix */
.comm-card__content h3 span {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  margin-top: 8px;
}


.footer-info {
  justify-content: space-between !important;
}
.footer-info__col--center {
  text-align: right !important;
  flex: 0 0 auto !important;
  min-width: 250px !important;
}

/* ==========================================================================
   COMPASS CONCIERGE PAGE
   ========================================================================== */

/* Hero */
.concierge-hero {
  position: relative;
  min-height: 600px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.concierge-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(16,13,12,0.7), rgba(16,13,12,0.85));
}
.concierge-hero__content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 60px 40px;
}
.concierge-hero__logo {
  height: 40px;
  margin-bottom: 24px;
  opacity: 0.9;
}
.concierge-hero h1 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 56px;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.1;
}
.concierge-hero__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: rgba(255,255,255,0.95);
  margin: 0 0 16px;
  line-height: 1.5;
}
.concierge-hero__desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.85);
  margin: 0;
  line-height: 1.65;
}

/* Timeline */
.concierge-timeline {
  padding: 100px 0;
  background: #fff;
}
.timeline-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 50px;
}
.timeline-card {
  padding: 40px 32px;
  background: #F8F7F2;
  border-left: 4px solid #100d0c;
}
.timeline-card__number {
  font-family: 'Libre Caslon Display', serif;
  font-size: 48px;
  color: rgba(16,13,12,0.15);
  display: block;
  margin-bottom: 20px;
  line-height: 1;
}
.timeline-card h3 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 24px;
  color: #100d0c;
  margin: 0 0 16px;
  line-height: 1.3;
}
.timeline-card p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 200;
  line-height: 1.7;
  color: #555;
  margin: 0;
}

/* Benefits */
.concierge-benefits {
  padding: 100px 0;
  background: #100d0c;
}
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.benefit-card {
  padding: 36px 28px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  text-align: center;
}
.benefit-card h3 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 28px;
  color: #fff;
  margin: 0 0 16px;
}
.benefit-card p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 200;
  color: rgba(255,255,255,0.75);
  line-height: 1.7;
  margin: 0;
}

/* Stats */
.concierge-stats {
  padding: 100px 0;
  background: #F8F7F2;
}
.concierge-stats .stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}
.stat-card {
  text-align: center;
  padding: 40px 20px;
}
.stat-card__number {
  font-family: 'Libre Caslon Display', serif;
  font-size: 64px;
  color: #100d0c;
  display: block;
  margin-bottom: 16px;
  line-height: 1;
}
.stat-card p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #555;
  line-height: 1.6;
  margin: 0;
}
.concierge-stats__source {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  color: #888;
  font-style: italic;
}

/* Services */
.concierge-services {
  padding: 100px 0;
  background: #fff;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 50px;
}
.service-item {
  padding: 20px 24px;
  background: #F8F7F2;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #333;
  text-align: center;
  border-radius: 2px;
}

/* How It Works */
.concierge-how {
  padding: 100px 0;
  background: #F8F7F2;
}
.how-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 50px;
}
.how-step {
  padding: 36px;
  background: #fff;
  border-top: 3px solid #100d0c;
}
.how-step__number {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: rgba(16,13,12,0.12);
  display: block;
  margin-bottom: 20px;
  line-height: 1;
}
.how-step p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 200;
  line-height: 1.7;
  color: #555;
  margin: 0;
}

/* CTA */
.concierge-cta {
  padding: 120px 0;
  background: #100d0c;
  text-align: center;
}
.concierge-cta h2 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #fff;
  margin: 0 0 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.concierge-cta p {
  font-family: 'Montserrat', sans-serif;
  font-size: 17px;
  font-weight: 200;
  color: rgba(255,255,255,0.75);
  margin: 0 0 36px;
}

/* Disclaimer */
.concierge-disclaimer {
  padding: 60px 0;
  background: #F8F7F2;
}
.concierge-disclaimer p {
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
}
.concierge-disclaimer small {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  color: #888;
  line-height: 1.8;
}

/* Section Heading */
.section-heading {
  font-family: 'Libre Caslon Display', serif;
  font-size: 42px;
  color: #100d0c;
  text-align: center;
  margin: 0 0 10px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile */
@media (max-width: 992px) {
  .timeline-grid,
  .benefits-grid,
  .how-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .concierge-stats .stats-grid {
    grid-template-columns: 1fr;
  }
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .concierge-hero h1 {
    font-size: 36px;
  }
  .concierge-hero__subtitle {
    font-size: 17px;
  }
  .section-heading {
    font-size: 32px;
  }
  .stat-card__number {
    font-size: 48px;
  }
}

/* Hide old hamburger menu completely */
.hamburger-menu {
  display: none !important;
}

/* ==========================================================================
   PRELOADER
   ========================================================================== */

.site-preloader {
  position: fixed;
  inset: 0;
  background: #F8F7F2;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.site-preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader-content {
  text-align: center;
}

.preloader-logo {
  height: 60px;
  opacity: 0;
  animation: fadeInOut 2s ease-in-out infinite;
}

.preloader-line {
  width: 200px;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #100d0c 50%, transparent 100%);
  margin: 30px auto 0;
  opacity: 0;
  animation: slideIn 2s ease-in-out infinite;
}

@keyframes fadeInOut {
  0%, 100% { opacity: 0.3; transform: scale(0.95); }
  50% { opacity: 1; transform: scale(1); }
}

@keyframes slideIn {
  0%, 100% { opacity: 0; transform: scaleX(0.5); }
  50% { opacity: 0.6; transform: scaleX(1); }
}

/* ==========================================================================
   BLOG CAROUSEL (FIXED)
   ========================================================================== */

.blog-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 50px;
  gap: 40px;
}

.blog-nav {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.blog-prev,
.blog-next {
  width: 48px;
  height: 48px;
  border: 1px solid #100d0c;
  background: transparent;
  color: #100d0c;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.blog-prev:hover,
.blog-next:hover {
  background: #100d0c;
  color: #fff;
}

.blog-swiper {
  overflow: hidden;
  margin: 0 -15px;
  padding: 0 15px;
}

.blog-swiper .swiper-wrapper {
  display: flex;
}

.blog-swiper .swiper-slide {
  height: auto;
  display: flex;
}

/* Blog card sizing - THIS IS THE FIX */
.blog-section .blog-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  height: 100%;
  width: 100%;
  max-width: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-section .blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.blog-section .blog-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #f0f0f0;
}

.blog-section .blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog-section .blog-card__image:hover img {
  transform: scale(1.08);
}

.blog-section .blog-card__content {
  padding: 24px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.blog-section .blog-card__category {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #100d0c;
  margin: 0 0 12px;
}

.blog-section .blog-card__title {
  font-family: 'Libre Caslon Display', serif;
  font-size: 22px;
  line-height: 1.3;
  margin: 0 0 12px;
  flex: 1;
}

.blog-section .blog-card__title a {
  color: #100d0c;
  text-decoration: none;
  transition: color 0.2s ease;
}

.blog-section .blog-card__title a:hover {
  color: #666;
}

.blog-section .blog-card__date {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #666;
  margin: 0;
}

@media (max-width: 768px) {
  .blog-header {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 30px;
  }
  
  .blog-nav {
    align-self: flex-end;
  }
}

/* Blog carousel card width fix - removed !important override that broke Swiper */

.blog-section .blog-card {
  width: 100%;
}

/* Fix blog cards to fill swiper slides */
.blog-swiper .swiper-slide .blog-card {
  flex: 1 1 100% !important;
  min-width: 0;
}

/* Header/nav transitions */
.main-nav a {
  transition: color 0.4s ease, font-size 0.3s ease;
}
.btn--nav {
  transition: all 0.3s ease;
}


/* Diablo Valley locked-template branding swap */
.diablo-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:24px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;line-height:1;color:currentColor;white-space:nowrap}.diablo-tagline{font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:currentColor}.footer-diablo-brand{font-family:Georgia,'Times New Roman',serif;font-size:28px;letter-spacing:.08em;text-transform:uppercase}.footer-diablo-subbrand{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-top:10px}.logo-dark.diablo-wordmark,.logo-dark.diablo-tagline{color:#201628}.logo-white.diablo-wordmark,.logo-white.diablo-tagline{color:#fff}@media(max-width:768px){.diablo-wordmark{font-size:18px}.diablo-tagline{display:none}}

/* Diablo Valley QA responsive fixes */
.social-sidebar{display:none!important;}
.site-header{box-sizing:border-box;}
.site-header .container{max-width:1440px;margin:0 auto;gap:24px;min-width:0;}
.site-logo--dual{display:flex;align-items:center;gap:14px;min-width:0;max-width:520px;text-decoration:none;}
.diablo-wordmark{font-size:22px;letter-spacing:.075em;}
.diablo-tagline{font-size:10px;letter-spacing:.16em;line-height:1.15;}
.main-nav{gap:22px;white-space:nowrap;}
.main-nav a{font-size:16px;}
.btn--nav{font-size:16px;padding:12px 18px 10px;white-space:nowrap;}
.hero__overlay{background:linear-gradient(180deg,rgba(12,10,10,.70) 0%,rgba(12,10,10,.45) 45%,rgba(12,10,10,.62) 100%)!important;}
.hero__content{width:min(92vw,1040px);padding:0 24px;box-sizing:border-box;}
.hero__content h1{text-wrap:balance;line-height:1.02;text-shadow:0 2px 18px rgba(0,0,0,.28);}
.hero__content .script-text{display:block;text-wrap:balance;line-height:1.1;text-shadow:0 2px 18px rgba(0,0,0,.30);}
@media(max-width:1180px){
  .site-header{padding:14px 18px;}
  .site-header .container{gap:18px;}
  .site-logo--dual{max-width:430px;gap:10px;}
  .diablo-wordmark{font-size:19px;letter-spacing:.06em;}
  .diablo-tagline{font-size:9px;letter-spacing:.12em;}
  .main-nav{gap:16px;}
  .main-nav a{font-size:14px;}
  .btn--nav{font-size:15px;padding:10px 15px 9px;}
}
@media(max-width:991px){
  .site-header{background:rgba(18,13,20,.72);backdrop-filter:blur(10px);padding:12px 16px;}
  .site-header.scrolled{background:#f8f7f2;}
  .main-nav{display:none!important;}
  .site-header .container{justify-content:space-between;gap:12px;}
  .site-logo--dual{max-width:calc(100vw - 125px);gap:10px;overflow:hidden;}
  .logo-divider{display:none!important;}
  .diablo-wordmark{font-size:18px;letter-spacing:.055em;}
  .diablo-tagline{font-size:9px;letter-spacing:.10em;white-space:normal;max-width:145px;}
  .nav-buttons{flex-shrink:0;}
  .hero{min-height:82vh;padding:140px 0 64px;}
  .hero__poster{background-position:center center!important;}
  .hero__content h1{font-size:44px!important;}
  .hero__content .script-text{font-size:34px!important;}
}
@media(max-width:575px){
  html,body{max-width:100%;overflow-x:hidden;}
  .site-header{padding:10px 12px;}
  .site-logo--dual{max-width:calc(100vw - 92px);display:block;line-height:1.05;}
  .diablo-wordmark{font-size:15px;letter-spacing:.045em;display:block;}
  .diablo-tagline{display:block!important;font-size:8px;letter-spacing:.06em;max-width:none;margin-top:3px;}
  .btn--nav{font-size:14px;padding:9px 12px 8px;}
  .hero{min-height:76vh;padding:126px 0 52px;}
  .hero__content{width:100%;padding:0 18px;}
  .hero__content h1{font-size:34px!important;line-height:1.05;margin-bottom:12px;}
  .hero__content .script-text{font-size:27px!important;line-height:1.05;}
}

/* Diablo Valley QA final header simplification */
@media(min-width:992px){.site-header .nav-buttons{display:none!important;}.site-header .container{gap:32px;}.site-logo--dual{max-width:560px;}.main-nav{margin-left:auto;}}
@media(max-width:991px){.diablo-tagline{display:none!important;}.site-logo--dual{max-width:calc(100vw - 105px);}.hero__content{width:min(94vw,820px);}}
@media(max-width:575px){.site-logo--dual{max-width:calc(100vw - 88px);}.hero{min-height:72vh;padding-top:112px}.hero__content h1{font-size:32px!important}.hero__content .script-text{font-size:25px!important}}


/* Diablo Valley recovered branding fidelity */
.diablo-logo-link{display:flex;align-items:center;min-height:54px}.diablo-brand-logo{display:block;width:min(280px,42vw);height:auto;object-fit:contain}.diablo-brand-logo--dark{display:none}.site-header.scrolled .diablo-brand-logo--light,.site-header.header-scrolled .diablo-brand-logo--light{display:none}.site-header.scrolled .diablo-brand-logo--dark,.site-header.header-scrolled .diablo-brand-logo--dark{display:block}.diablo-preloader-logo{width:300px;max-width:72vw;height:auto;filter:brightness(0) invert(1)}.footer-diablo-logo{width:300px;max-width:76vw;height:auto;filter:brightness(0) invert(1)}.footer-broker-logo{width:190px;max-width:56vw;height:auto;filter:brightness(0) invert(1);opacity:.88}.diablo-comm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.diablo-comm-grid .comm-card{min-height:300px}.social-sidebar{display:none!important}@media(max-width:1024px){.diablo-comm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.diablo-brand-logo{width:210px}.diablo-comm-grid{grid-template-columns:1fr}.diablo-comm-grid .comm-card{min-height:260px}.footer-diablo-logo{width:240px}}

.hero__video--disabled{display:none!important}.hero__poster{opacity:1!important}

/* QA fix: recovered logo contrast on transparent/dark header */
.site-header:not(.scrolled):not(.header-scrolled) .diablo-brand-logo--light{filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.35));}
.site-header.scrolled .diablo-brand-logo--dark,.site-header.header-scrolled .diablo-brand-logo--dark{filter:none;}
@media(max-width:640px){.site-header .container{padding-left:18px;padding-right:18px}.diablo-brand-logo{width:188px}.nav-buttons .btn{padding-left:14px;padding-right:14px}}

/* Diablo fidelity QA hardening: make recovered content visible and carded */
.fade-in-up,.fade-in{opacity:1!important;transform:none!important;visibility:visible!important}.comm-hero,.blog-hero,.single-post__hero{background-color:#17120f}.comm-hero__overlay,.blog-hero__overlay,.single-post__hero-overlay,.comm-card__overlay{background:rgba(12,10,8,.42)!important}.comm-intro,.comm-county,.blog-grid-section,.single-post__content{background:#fbfaf7;color:#1b1714}.comm-county__heading,.comm-county__desc,.section-subtext{color:#1b1714!important}.diablo-comm-grid .comm-card{position:relative;display:block;overflow:hidden;border-radius:0;background:#211b16;box-shadow:0 18px 50px rgba(0,0,0,.16)}.diablo-comm-grid .comm-card__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:1!important;filter:none!important}.diablo-comm-grid .comm-card__content{position:absolute;inset:auto 0 0 0;padding:28px;color:#fff;z-index:2}.diablo-comm-grid .comm-card__content h3{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.45)}.diablo-comm-grid .comm-card__content span{display:block;color:#fff!important;opacity:.9}.blog-grid-section .blog-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;align-items:stretch}.blog-grid-section .blog-card{display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 18px 45px rgba(0,0,0,.08)!important;min-height:260px!important;overflow:hidden!important}.blog-grid-section .blog-card__body{padding:26px!important;display:flex;flex-direction:column;gap:10px}.blog-grid-section .blog-card__title{font-size:22px!important;line-height:1.18!important;margin:0!important}.blog-grid-section .blog-card__title a{color:#17120f!important;text-decoration:none}.blog-grid-section .blog-card__date{font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#766b61!important;margin:0!important}.blog-grid-section .blog-card__excerpt{font-size:15px!important;line-height:1.55!important;color:#3b332d!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.blog-grid-section .blog-card__readmore{margin-top:auto;color:#17120f!important;font-weight:700!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.12em!important}.site-header:not(.scrolled):not(.header-scrolled) .main-nav a,.site-header:not(.scrolled):not(.header-scrolled) .btn--nav{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.35)}@media(max-width:1024px){.blog-grid-section .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:700px){.blog-grid-section .blog-grid{grid-template-columns:1fr!important}.blog-grid-section .blog-card__body{padding:22px!important}}

/* Diablo QA fix: do not let template preloader/animation veil obscure recovered content */
.site-preloader{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}.preloader-content{display:none!important}body{opacity:1!important;visibility:visible!important}.site-header{background:rgba(18,14,12,.62)}.site-header.scrolled,.site-header.header-scrolled{background:#fbfaf7!important}.site-header.scrolled .main-nav a,.site-header.header-scrolled .main-nav a{color:#17120f!important;text-shadow:none!important}.site-header.scrolled .btn--nav,.site-header.header-scrolled .btn--nav{color:#17120f!important;text-shadow:none!important}.single-post__content,.single-post__container,.single-post__container p{color:#1b1714!important;opacity:1!important}.blog-card,.blog-card *,.comm-card,.comm-card *{opacity:1!important;visibility:visible!important}

/* Diablo source-copy page templates */
.diablo-page-hero{position:relative;min-height:54vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;color:#fff;text-align:center;padding:150px 24px 90px}.diablo-page-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,9,7,.58),rgba(12,9,7,.46))}.diablo-page-hero__content{position:relative;z-index:2;max-width:980px}.diablo-page-hero__eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px;color:rgba(255,255,255,.86)}.diablo-page-hero h1{font-size:clamp(48px,8vw,108px);line-height:.92;margin:0;color:#fff}.diablo-source-copy{background:#fbfaf7;color:#1c1713;padding:84px 0}.diablo-source-copy__container{max-width:920px}.diablo-source-copy p{font-size:clamp(18px,1.55vw,22px);line-height:1.72;color:#2b251f;margin:0 0 24px}.diablo-source-copy p:first-child{font-size:clamp(22px,2vw,30px);line-height:1.45;color:#17120f}.diablo-source-copy a{color:#17120f;font-weight:700}.page-template-page-contact .diablo-source-copy p{font-size:24px;line-height:1.45;text-align:center}.page-template-page-contact .diablo-source-copy__container{max-width:760px}.page-template-page-about-me .diablo-page-hero{background-color:#17120f;background-size:auto;background-repeat:no-repeat;background-position:center}.page-template-page-about-me .diablo-page-hero__overlay{background:rgba(12,9,7,.74)}@media(max-width:700px){.diablo-page-hero{min-height:46vh;padding:130px 20px 70px}.diablo-source-copy{padding:56px 0}.diablo-source-copy p{font-size:17px}}


/* Copy QA refinement */
.diablo-source-copy p{color:#211b16!important;font-weight:400}.diablo-source-copy p:first-child{font-weight:500}.page-template-page-about-me .diablo-page-hero{background-image:url(/wp-content/themes/montecito-template/assets/images/communities/walnut-creek.jpg)!important;background-size:cover;background-position:center}.page-template-page-about-me .diablo-page-hero__overlay{background:linear-gradient(180deg,rgba(12,9,7,.62),rgba(12,9,7,.48))}

/* Recovered original blog article images */
.diablo-recovered-post-image{margin:0 0 2rem;border-radius:20px;overflow:hidden;background:#f3eee8}.diablo-recovered-post-image img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}.single-post .diablo-recovered-post-image{box-shadow:0 18px 44px rgba(31,25,20,.12)}


/* Diablo homepage image fidelity fixes */
.about-photo{background-size:cover!important;background-position:center top!important;}
.diablo-logo-pair{display:flex!important;align-items:center!important;gap:14px!important;max-width:640px!important;}
.diablo-header-logo-divider{display:block;width:1px;height:36px;background:rgba(255,255,255,.48);flex:0 0 auto;}
.site-header.scrolled .diablo-header-logo-divider,.site-header.header-scrolled .diablo-header-logo-divider{background:rgba(31,24,18,.28);}
.diablo-logo-pair .diablo-brand-logo--personal{width:min(245px,31vw)!important;height:auto!important;object-fit:contain;}
.diablo-logo-pair .diablo-brand-logo--brokerage{width:min(170px,22vw)!important;height:auto!important;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.3));opacity:.96;}
.site-header.scrolled .diablo-logo-pair .diablo-brand-logo--brokerage,.site-header.header-scrolled .diablo-logo-pair .diablo-brand-logo--brokerage{filter:none;}
@media(max-width:768px){.diablo-logo-pair{gap:8px!important;max-width:calc(100vw - 110px)!important}.diablo-logo-pair .diablo-brand-logo--personal{width:168px!important}.diablo-logo-pair .diablo-brand-logo--brokerage{width:106px!important}.diablo-header-logo-divider{height:28px}}
@media(max-width:480px){.diablo-logo-pair .diablo-brand-logo--personal{width:146px!important}.diablo-logo-pair .diablo-brand-logo--brokerage{width:88px!important}.diablo-header-logo-divider{display:none}}

/* Mobile header logo fit refinement */
@media(max-width:480px){.diablo-logo-pair{gap:6px!important}.diablo-logo-pair .diablo-brand-logo--personal{width:132px!important}.diablo-logo-pair .diablo-brand-logo--brokerage{width:72px!important}.site-header .container{gap:8px!important}}


/* Header: user-supplied single logo only */
.diablo-logo-single{display:flex!important;align-items:center!important;max-width:220px!important;min-height:54px;text-decoration:none;}
.diablo-header-only-logo{display:block;width:118px!important;max-width:28vw;height:auto!important;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.35));}
.site-header.scrolled .diablo-header-only-logo,.site-header.header-scrolled .diablo-header-only-logo{filter:none;}
@media(max-width:640px){.diablo-logo-single{max-width:150px!important}.diablo-header-only-logo{width:88px!important;max-width:24vw!important}}


/* Footer color logo pair supplied by client */
.footer-logos--color-pair{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:22px!important;margin:0 auto 42px!important;padding:20px 28px!important;background:#f7f2ea!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(0,0,0,.22)!important;max-width:min(92vw,680px)!important;}
.footer-logo-cm-color{display:block!important;width:94px!important;height:auto!important;filter:none!important;opacity:1!important;object-fit:contain!important;}
.footer-logo-brokerage-color{display:block!important;width:310px!important;max-width:52vw!important;height:auto!important;filter:none!important;opacity:1!important;object-fit:contain!important;}
.footer-logo-divider--color{display:block!important;width:1px!important;height:58px!important;background:rgba(35,31,32,.22)!important;flex:0 0 auto!important;}
@media(max-width:640px){.footer-logos--color-pair{gap:14px!important;padding:16px 18px!important}.footer-logo-cm-color{width:68px!important}.footer-logo-brokerage-color{width:210px!important;max-width:58vw!important}.footer-logo-divider--color{height:44px!important}}
@media(max-width:420px){.footer-logos--color-pair{gap:10px!important;padding:14px!important}.footer-logo-cm-color{width:56px!important}.footer-logo-brokerage-color{width:178px!important}.footer-logo-divider--color{height:38px!important}}


/* Footer logo correction: no box, optically centered */
.site-footer .footer-logos--color-pair{display:flex!important;width:100%!important;max-width:none!important;align-items:center!important;justify-content:center!important;gap:26px!important;margin:0 auto 48px!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;}
.site-footer .footer-logo-cm-color{width:92px!important;height:auto!important;filter:none!important;opacity:1!important;object-fit:contain!important;flex:0 0 auto!important;}
.site-footer .footer-logo-brokerage-color{width:320px!important;max-width:min(52vw,320px)!important;height:auto!important;filter:none!important;opacity:1!important;object-fit:contain!important;flex:0 1 auto!important;}
.site-footer .footer-logo-divider--color{display:block!important;width:1px!important;height:58px!important;background:rgba(35,31,32,.22)!important;flex:0 0 auto!important;}
@media(max-width:640px){.site-footer .footer-logos--color-pair{gap:14px!important;margin-bottom:38px!important}.site-footer .footer-logo-cm-color{width:62px!important}.site-footer .footer-logo-brokerage-color{width:214px!important;max-width:58vw!important}.site-footer .footer-logo-divider--color{height:42px!important}}
@media(max-width:390px){.site-footer .footer-logos--color-pair{gap:10px!important}.site-footer .footer-logo-cm-color{width:54px!important}.site-footer .footer-logo-brokerage-color{width:184px!important}.site-footer .footer-logo-divider--color{height:36px!important}}

/* Diablo Valley Area Guides */
.area-guide{--area-ink:#17211b;--area-muted:#687269;--area-paper:#f6f1e8;--area-card:#fffaf1;--area-line:rgba(23,33,27,.14);--area-green:#244332;--area-gold:#b58a4a;background:var(--area-paper);color:var(--area-ink);font-family:Manrope,system-ui,sans-serif;overflow:hidden}.area-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.area-hero{min-height:68vh;display:grid;align-items:end;position:relative;background-size:cover;background-position:center}.area-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,14,.78),rgba(12,18,14,.38) 45%,rgba(12,18,14,.08));}.area-hero__inner{position:relative;padding:130px 0 72px;color:#fff}.area-kicker{margin:0 0 14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--area-gold)}.area-hero h1,.area-guide h2{font-family:Marcellus,serif;font-weight:400;letter-spacing:-.035em}.area-hero h1{font-size:clamp(66px,10vw,148px);line-height:.82;margin:0 0 22px;max-width:920px}.area-hero p:not(.area-kicker){font-size:clamp(18px,2vw,26px);line-height:1.38;max-width:760px;margin:0}.area-hero__facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.area-hero__facts span{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.09);padding:10px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.area-nav{position:sticky;top:0;z-index:30;background:rgba(246,241,232,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--area-line)}.area-nav .area-shell{display:flex;gap:22px;overflow:auto;padding:14px 0}.area-nav a{color:var(--area-ink);text-decoration:none;white-space:nowrap;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.area-section{padding:clamp(64px,8vw,118px) 0}.area-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(32px,6vw,84px);align-items:start}.area-guide h2{font-size:clamp(42px,5.8vw,86px);line-height:.94;margin:0 0 24px}.area-guide h3{font-family:Marcellus,serif;font-size:30px;font-weight:400;margin:0 0 12px}.area-source-copy{font-size:18px;line-height:1.72;color:#354239;max-width:76ch}.area-source-copy p:first-child{font-size:22px;line-height:1.55;color:var(--area-ink)}.area-contact-card,.area-listing-panel{background:var(--area-green);color:#fff;padding:34px;border-radius:2px;box-shadow:0 24px 60px rgba(26,35,29,.14)}.area-contact-card ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px}.area-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--area-gold);color:#1d160d!important;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.area-button--dark{background:var(--area-ink);color:#fff!important}.area-section-head{max-width:820px;margin-bottom:34px}.area-section-head p:not(.area-kicker),.area-guide p{line-height:1.65}.area-map-section,.area-data{background:#ede5d7}.area-map-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px}.area-map{min-height:520px;background:#d7d0c3;border:1px solid var(--area-line);z-index:1}.area-place-list{display:grid;gap:12px}.area-place-list article,.area-info-card,.area-metric-grid article{background:var(--area-card);border:1px solid var(--area-line);padding:24px}.area-place-list h3,.area-info-card h3{font-size:25px}.area-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.area-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.area-metric-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--area-muted);margin-bottom:12px}.area-metric-grid strong{display:block;font-family:Marcellus,serif;font-size:32px;font-weight:400;line-height:1.05}.area-source{font-size:13px;color:var(--area-muted);margin-top:18px}.area-market{background:var(--area-green);color:#fff}.area-market .area-kicker{color:#d5aa68}.area-listing-panel{background:#fbf4e8;color:var(--area-ink)}.area-cta{text-align:center;background:#161f19;color:#fff}.area-cta .area-shell{max-width:850px}.area-cta h2{color:#fff}.area-cta p{font-size:20px;margin-inline:auto;max-width:720px}@media(max-width:900px){.area-two,.area-map-grid{grid-template-columns:1fr}.area-metric-grid{grid-template-columns:repeat(2,1fr)}.area-map{min-height:420px}.area-hero{min-height:62vh}.area-hero__inner{padding-top:110px}}@media(max-width:520px){.area-shell{width:min(100% - 28px,1180px)}.area-section{padding:58px 0}.area-hero h1{font-size:58px}.area-hero__facts{display:grid}.area-nav .area-shell{gap:16px}.area-metric-grid{grid-template-columns:1fr}.area-contact-card,.area-listing-panel,.area-place-list article,.area-info-card,.area-metric-grid article{padding:22px}.area-map{min-height:340px}.area-source-copy{font-size:16px}.area-source-copy p:first-child{font-size:18px}}

/* Diablo area guides — palette/contrast/layout correction 2026-06-22
   Aligns guide pages with the sites warm ivory / espresso / muted brass system.

/* Diablo area guides — palette/contrast/layout correction 2026-06-22
   Aligns guide pages with the site's warm ivory / espresso / muted brass system.
   Removes the off-brand green section color and forces readable text on dark surfaces. */
.area-guide{
  --area-ink:#100d0c;
  --area-text:#2b251f;
  --area-muted:#766b61;
  --area-paper:#fbfaf7;
  --area-soft:#f8f7f2;
  --area-panel:#fff;
  --area-line:rgba(16,13,12,.13);
  --area-dark:#100d0c;
  --area-dark-2:#211b16;
  --area-accent:#a9845c;
  --area-accent-light:#d8bd96;
  background:var(--area-paper)!important;
  color:var(--area-ink)!important;
}
.area-guide p,
.area-guide li,
.area-guide span,
.area-guide a{color:inherit;}
.area-hero__shade{
  background:linear-gradient(90deg,rgba(16,13,12,.82),rgba(16,13,12,.48) 48%,rgba(16,13,12,.18))!important;
}
.area-hero__inner,
.area-hero__inner h1,
.area-hero__inner p:not(.area-kicker){color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.38);}
.area-kicker{color:var(--area-accent)!important;}
.area-hero .area-kicker,
.area-market .area-kicker,
.area-cta .area-kicker,
.area-contact-card .area-kicker{color:var(--area-accent-light)!important;}
.area-nav{background:rgba(251,250,247,.94)!important;border-bottom-color:var(--area-line)!important;}
.area-nav a{color:var(--area-ink)!important;}
.area-nav a:hover{color:var(--area-accent)!important;}
.area-section{background:var(--area-paper);color:var(--area-ink)!important;}
.area-map-section,
.area-data{background:var(--area-soft)!important;color:var(--area-ink)!important;}
.area-guide h2,
.area-guide h3,
.area-guide strong{color:var(--area-ink)!important;}
.area-guide p{color:var(--area-text)!important;}
.area-source-copy{color:var(--area-text)!important;max-width:68ch;}
.area-source-copy p:first-child{color:var(--area-ink)!important;}
.area-contact-card,
.area-market,
.area-cta{
  background:var(--area-dark)!important;
  color:#fff!important;
}
.area-contact-card,
.area-listing-panel{box-shadow:0 24px 60px rgba(16,13,12,.16)!important;}
.area-contact-card h3,
.area-contact-card p,
.area-contact-card li,
.area-market h2,
.area-market p,
.area-cta p{color:#fff!important;}
.area-contact-card p,
.area-market p,
.area-cta p{opacity:.88;}
.area-listing-panel{
  background:var(--area-paper)!important;
  color:var(--area-ink)!important;
  border:1px solid rgba(255,255,255,.18);
}
.area-listing-panel h3{color:var(--area-ink)!important;}
.area-listing-panel p{color:var(--area-text)!important;opacity:1;}
.area-place-list article,
.area-info-card,
.area-metric-grid article{
  background:var(--area-panel)!important;
  border-color:var(--area-line)!important;
  box-shadow:0 18px 46px rgba(16,13,12,.055);
}
.area-metric-grid span,
.area-source{color:var(--area-muted)!important;}
.area-metric-grid a{color:var(--area-ink)!important;text-decoration-thickness:1px;text-underline-offset:4px;}
.area-button{background:var(--area-accent)!important;color:#100d0c!important;transition:transform .22s ease,background .22s ease,box-shadow .22s ease;}
.area-button:hover{background:#c2a175!important;transform:translateY(-1px);box-shadow:0 14px 30px rgba(16,13,12,.18);}
.area-button--dark{background:var(--area-dark)!important;color:#fff!important;}
.area-market .area-button--dark:hover{background:#2a2320!important;}
.area-map{background:#e0ddd5!important;border-color:var(--area-line)!important;}
.area-section-head{max-width:780px;}
.area-card-grid{gap:20px;}
.area-metric-grid{gap:18px;}
@media(max-width:900px){
  .area-two{gap:34px;}
  .area-contact-card{order:-1;}
}
@media(max-width:520px){
  .area-hero__shade{background:linear-gradient(180deg,rgba(16,13,12,.72),rgba(16,13,12,.54))!important;}
  .area-guide h2{font-size:clamp(38px,13vw,56px);}
  .area-contact-card{order:0;}
}

/* Final area guide contrast overrides — keep after generic area p/h rules. */
.area-guide .area-kicker{color:var(--area-accent)!important;}
.area-hero .area-kicker,
.area-market .area-kicker,
.area-cta .area-kicker,
.area-contact-card .area-kicker{color:var(--area-accent-light)!important;}
.area-cta h2,
.area-cta .area-shell h2{color:#fff!important;}
.area-contact-card a.area-button,
.area-cta a.area-button{color:#100d0c!important;}

/* Area guide anchor/layout polish */
.area-guide .area-section{scroll-margin-top:92px;}
.area-guide .area-hero{scroll-margin-top:0;}
@media(max-width:700px){.area-guide .area-section{scroll-margin-top:118px;}}

/* Area guide typography normalization — match site-wide type system */
.area-guide{
  font-family:"Manrope",sans-serif!important;
  font-weight:200!important;
  letter-spacing:.25px!important;
  font-size:17px!important;
  line-height:1.65!important;
}
.area-guide h1,
.area-guide h2,
.area-guide h3,
.area-guide h4,
.area-guide h5,
.area-guide h6{
  font-family:"Marcellus",serif!important;
  font-weight:300!important;
  text-transform:uppercase!important;
  line-height:1.3!important;
  letter-spacing:.25px!important;
}
.area-hero h1{
  font-size:55px!important;
  line-height:1.12!important;
  max-width:980px!important;
  margin:0 0 18px!important;
}
.area-guide h2{
  font-size:50px!important;
  line-height:1.18!important;
  margin:0 0 22px!important;
}
.area-guide h3,
.area-place-list h3,
.area-info-card h3{
  font-size:35px!important;
  line-height:1.25!important;
  margin:0 0 12px!important;
}
.area-guide h4{font-size:22px!important;}
.area-guide p,
.area-source-copy,
.area-source-copy p,
.area-section-head p:not(.area-kicker){
  font-family:"Manrope",sans-serif!important;
  font-size:16px!important;
  font-weight:200!important;
  line-height:1.65!important;
  letter-spacing:.25px!important;
}
.area-hero p:not(.area-kicker),
.area-cta p{
  font-size:17px!important;
  line-height:1.65!important;
}
.area-source-copy p:first-child{
  font-size:16px!important;
  line-height:1.65!important;
}
.area-kicker,
.area-nav a,
.area-button,
.area-metric-grid span{
  font-family:"Manrope",sans-serif!important;
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:1px!important;
  text-transform:uppercase!important;
}
.area-nav a{font-size:12px!important;letter-spacing:1px!important;}
.area-metric-grid strong{
  font-family:"Marcellus",serif!important;
  font-size:35px!important;
  font-weight:300!important;
  line-height:1.2!important;
  letter-spacing:.25px!important;
}
.area-contact-card,
.area-listing-panel,
.area-place-list article,
.area-info-card,
.area-metric-grid article{font-size:16px!important;}
@media(max-width:900px){
  .area-hero h1{font-size:45px!important;}
  .area-guide h2{font-size:40px!important;}
  .area-guide h3,
  .area-place-list h3,
  .area-info-card h3{font-size:28px!important;}
}
@media(max-width:520px){
  .area-hero h1{font-size:35px!important;line-height:1.2!important;}
  .area-guide h2{font-size:30px!important;line-height:1.25!important;}
  .area-guide h3,
  .area-place-list h3,
  .area-info-card h3{font-size:26px!important;}
  .area-hero p:not(.area-kicker),
  .area-cta p,
  .area-guide p,
  .area-source-copy,
  .area-source-copy p{font-size:16px!important;}
}
/* 7087 Latigo Street listing landing page */
.latigo-listing{--ink:#1d1a17;--muted:#6f665d;--paper:#f7f1e8;--cream:#fbf7f0;--line:rgba(29,26,23,.16);--gold:#a77b44;background:var(--cream);color:var(--ink);font-family:'Manrope',sans-serif;font-weight:200;overflow:hidden}.latigo-listing h1,.latigo-listing h2,.latigo-listing h3{font-family:'Marcellus',serif;text-transform:uppercase;font-weight:300;letter-spacing:.035em;line-height:.92;margin:0}.latigo-container{width:min(1180px,calc(100% - 42px));margin:0 auto}.latigo-hero{min-height:100svh;background-image:linear-gradient(90deg,rgba(13,11,9,.72),rgba(13,11,9,.28) 50%,rgba(13,11,9,.18)),var(--hero);background-size:cover;background-position:center;display:flex;align-items:flex-end;position:relative;color:#fff}.latigo-hero__inner{position:relative;z-index:2;width:min(1280px,calc(100% - 56px));margin:0 auto;padding:180px 0 72px}.latigo-kicker{font-size:12px;line-height:1.4;letter-spacing:.28em;text-transform:uppercase;font-weight:500;margin:0 0 22px;color:rgba(255,255,255,.82)}.latigo-kicker.dark{color:var(--gold)}.latigo-hero h1{font-size:clamp(58px,9vw,132px);max-width:980px;text-shadow:0 18px 70px rgba(0,0,0,.32)}.latigo-location{font-size:clamp(18px,2vw,28px);line-height:1.35;margin:24px 0 34px;max-width:740px;color:rgba(255,255,255,.9);font-weight:200}.latigo-hero__panel{display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,1060px);border:1px solid rgba(255,255,255,.34);background:rgba(22,18,15,.46);backdrop-filter:blur(16px)}.latigo-hero__panel>div{padding:22px 24px;border-right:1px solid rgba(255,255,255,.22)}.latigo-hero__panel>div:last-child{border-right:0}.latigo-hero__panel span,.latigo-detail-grid span{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.68);margin-bottom:9px}.latigo-hero__panel strong{font-size:19px;font-weight:300;color:#fff}.latigo-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:0;background:rgba(251,247,240,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.latigo-nav a{padding:18px 22px;text-decoration:none;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:500}.latigo-nav a:hover{background:#efe5d7}.latigo-section{padding:118px 0}.latigo-two-col{display:grid;grid-template-columns:.86fr 1fr;gap:88px;align-items:start}.latigo-listing h2{font-size:clamp(42px,5.2vw,78px)}.latigo-listing h3{font-size:32px}.latigo-copy p,.latigo-feature-block p,.latigo-lifestyle p,.latigo-contact p{font-size:18px;line-height:1.85;color:var(--muted);margin:0 0 24px}.latigo-image-band{min-height:78vh;background-image:linear-gradient(180deg,rgba(16,13,12,.16),rgba(16,13,12,.62)),var(--band);background-size:cover;background-position:center;display:grid;place-items:end start;color:white;padding:8vw}.latigo-image-band--short{min-height:62vh;background-position:center 46%}.latigo-image-band p{font-size:13px;letter-spacing:.28em;text-transform:uppercase;margin:0 0 18px;color:rgba(255,255,255,.82);font-weight:500}.latigo-image-band h2{font-size:clamp(54px,9vw,128px);max-width:980px;text-shadow:0 18px 70px rgba(0,0,0,.35)}.latigo-feature-block{background:var(--paper)}.latigo-split{display:grid;grid-template-columns:1.04fr .82fr;gap:76px;align-items:center}.latigo-feature-block--reverse .latigo-split{grid-template-columns:.82fr 1.04fr}.latigo-feature-block--reverse figure{order:2}.latigo-split figure{margin:0;min-height:660px}.latigo-split img,.latigo-card-grid img{width:100%;height:100%;object-fit:cover;display:block}.latigo-list{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}.latigo-list li{padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:400}.latigo-section-head{max-width:860px;margin:0 0 54px}.latigo-section-head.centered{text-align:center;margin:0 auto 54px}.latigo-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.latigo-card-grid article{background:#fff;border:1px solid var(--line)}.latigo-card-grid img{height:330px}.latigo-card-grid h3{padding:28px 28px 0}.latigo-card-grid p{padding:14px 28px 30px;margin:0;font-size:16px;line-height:1.7;color:var(--muted)}.latigo-details{background:#fff}.latigo-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.latigo-detail-grid div{padding:26px 28px;min-height:128px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.latigo-detail-grid span{color:var(--gold)}.latigo-detail-grid strong{font-size:18px;line-height:1.45;font-weight:300}.latigo-contact{background:#17120e;color:#fff}.latigo-contact__box{display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:center}.latigo-contact h2{font-size:clamp(42px,5vw,72px)}.latigo-contact p{color:rgba(255,255,255,.72)}.latigo-contact__card{border:1px solid rgba(255,255,255,.2);padding:38px;background:rgba(255,255,255,.05)}.latigo-contact__card h3{font-size:38px;margin-bottom:18px}.latigo-btn{display:inline-flex;margin-top:20px;padding:15px 24px;border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:500}.latigo-btn:hover{background:#fff;color:#17120e}@media(max-width:980px){.latigo-hero__panel,.latigo-two-col,.latigo-split,.latigo-feature-block--reverse .latigo-split,.latigo-card-grid,.latigo-detail-grid,.latigo-contact__box{grid-template-columns:1fr}.latigo-feature-block--reverse figure{order:0}.latigo-section{padding:82px 0}.latigo-split{gap:42px}.latigo-split figure{min-height:520px}.latigo-nav{justify-content:flex-start;overflow-x:auto}.latigo-nav a{white-space:nowrap}.latigo-hero__panel>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}@media(max-width:560px){.latigo-container{width:min(100% - 28px,1180px)}.latigo-hero__inner{width:calc(100% - 30px);padding:132px 0 34px}.latigo-hero h1{font-size:54px}.latigo-location{font-size:17px}.latigo-hero__panel>div{padding:16px}.latigo-hero__panel strong{font-size:16px}.latigo-section{padding:66px 0}.latigo-listing h2{font-size:42px}.latigo-image-band{min-height:62vh;padding:28px 18px}.latigo-image-band h2{font-size:48px}.latigo-split figure{min-height:360px}.latigo-card-grid img{height:250px}.latigo-detail-grid div{min-height:auto;padding:22px}.latigo-contact__card{padding:28px}.latigo-nav a{padding:15px 16px;font-size:10px}}
.latigo-listing .latigo-hero h1{color:#fff;}
/* 7087 Latigo Street — Montecito listing-page style */
body.page-id-333 .site-header{background:transparent!important;position:absolute;top:0;left:0;right:0;z-index:40;border:0}body.page-id-333 .site-header .container{max-width:none;width:100%;padding:21px 20px}body.page-id-333 .diablo-header-only-logo{filter:brightness(0) invert(1);max-width:102px}body.page-id-333 .main-nav{display:none!important}body.page-id-333 .btn--nav{border:1px solid rgba(255,255,255,.95)!important;color:#fff!important;background:transparent!important;font-family:Georgia,serif!important;font-size:18px!important;text-transform:uppercase!important;letter-spacing:.01em!important;padding:15px 23px!important}.latigo-montecito{--cream:#f6f3ec;--ink:#15110d;--white:#fff;background:var(--cream);font-family:'Manrope',sans-serif;font-weight:200;color:var(--ink);overflow:hidden}.latigo-montecito h1,.latigo-montecito h2,.latigo-montecito h3{font-family:'Marcellus',serif;font-weight:300;text-transform:uppercase;letter-spacing:.025em;line-height:.95;margin:0}.lm-hero{position:relative;min-height:100svh;background-image:linear-gradient(rgba(0,0,0,.26),rgba(0,0,0,.36)),var(--bg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.lm-hero__center{position:relative;z-index:2;padding:120px 20px 160px}.lm-hero h1{font-size:clamp(58px,7.9vw,108px);text-shadow:0 2px 16px rgba(0,0,0,.28);max-width:1120px}.lm-hero__center p{font-size:23px;line-height:1.2;margin:18px 0 30px;text-transform:uppercase;letter-spacing:.06em;font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.35)}.lm-status{font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:9px}.lm-price{font-size:42px;line-height:1;font-weight:200}.lm-hero__stats{position:absolute;z-index:3;left:7%;right:7%;bottom:34px;display:grid;grid-template-columns:repeat(4,1fr);color:#fff}.lm-hero__stats div{padding:0 28px;border-right:1px solid rgba(255,255,255,.42)}.lm-hero__stats div:last-child{border-right:0}.lm-hero__stats strong{display:block;text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:.03em;margin-bottom:8px}.lm-hero__stats span{display:block;font-size:23px;line-height:1.15;font-weight:200}.lm-jump{display:flex;justify-content:center;gap:70px;background:var(--cream);padding:34px 20px 28px}.lm-jump a{font-family:'Marcellus',serif;text-transform:uppercase;text-decoration:none;color:#1b1714;font-size:28px;letter-spacing:.02em}.lm-panel{min-height:760px;background-image:linear-gradient(90deg,rgba(0,0,0,.54),rgba(0,0,0,.18)),var(--bg);background-size:cover;background-position:center;display:flex;align-items:center;padding:70px 5vw}.lm-panel--right{justify-content:flex-end;background-image:linear-gradient(270deg,rgba(0,0,0,.58),rgba(0,0,0,.18)),var(--bg)}.lm-panel__box{width:min(760px,100%);border:1px solid rgba(255,255,255,.78);padding:40px 50px;color:#fff;background:rgba(0,0,0,.10);box-shadow:0 22px 90px rgba(0,0,0,.18)}.lm-panel h2{font-size:clamp(38px,4.5vw,62px);margin-bottom:28px;text-shadow:0 2px 14px rgba(0,0,0,.3)}.lm-panel ul{margin:0;padding-left:23px}.lm-panel li{font-size:18px;line-height:1.72;margin:7px 0;color:rgba(255,255,255,.95);font-weight:300}.lm-photo-strip{min-height:620px;background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.46)),var(--bg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:60px 20px}.lm-photo-strip h2{font-size:clamp(48px,7vw,96px);max-width:1100px;text-shadow:0 2px 18px rgba(0,0,0,.35)}.lm-details{background:var(--cream);padding:96px 20px 110px}.lm-details__inner{max-width:1120px;margin:0 auto}.lm-details h2{text-align:center;font-size:clamp(44px,5.5vw,76px);margin-bottom:54px}.lm-details__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:46px 86px}.lm-details h3{font-size:22px;margin-bottom:18px}.lm-details p{font-size:17px;line-height:1.75;margin:0 0 10px;color:#39332d}.lm-inquiry{background:#fff;padding:86px 20px 92px;text-align:center}.lm-inquiry h2{font-size:clamp(42px,5.2vw,72px);margin-bottom:24px}.lm-button{display:inline-flex;border:1px solid #111;padding:16px 42px;text-transform:uppercase;text-decoration:none;color:#111;letter-spacing:.13em;font-size:12px;font-weight:600}.lm-button:hover{background:#111;color:#fff}@media(max-width:900px){.lm-hero__stats{left:18px;right:18px;grid-template-columns:repeat(2,1fr);gap:18px 0;bottom:24px}.lm-hero__stats div:nth-child(2){border-right:0}.lm-jump{gap:28px;overflow:auto;justify-content:flex-start}.lm-jump a{white-space:nowrap;font-size:23px}.lm-panel{min-height:680px;padding:42px 28px}.lm-panel__box{padding:32px 28px}.lm-details__grid{grid-template-columns:1fr;gap:30px}.lm-hero__center{padding-bottom:230px}}@media(max-width:560px){body.page-id-333 .site-header .container{padding:16px}body.page-id-333 .diablo-header-only-logo{max-width:86px}body.page-id-333 .btn--nav{font-size:16px!important;padding:13px 18px!important}.lm-hero{min-height:100svh;background-position:center}.lm-hero h1{font-size:50px}.lm-hero__center p{font-size:18px}.lm-price{font-size:34px}.lm-hero__stats{grid-template-columns:1fr;position:absolute;bottom:22px;text-align:left}.lm-hero__stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.34);padding:9px 0}.lm-hero__stats strong{font-size:12px}.lm-hero__stats span{font-size:18px}.lm-hero__center{padding:104px 16px 300px}.lm-jump{padding:24px 16px;gap:24px}.lm-panel{min-height:620px;padding:28px 16px;background-position:center}.lm-panel__box{padding:25px 22px}.lm-panel h2{font-size:37px}.lm-panel li{font-size:15.5px;line-height:1.55}.lm-photo-strip{min-height:430px}.lm-photo-strip h2{font-size:43px}.lm-details{padding:70px 18px}.lm-details h2{font-size:43px}.lm-inquiry{padding:66px 18px}}
body.page-id-333 .latigo-montecito .lm-hero,
body.page-id-333 .latigo-montecito .lm-hero h1,
body.page-id-333 .latigo-montecito .lm-hero p,
body.page-id-333 .latigo-montecito .lm-status,
body.page-id-333 .latigo-montecito .lm-price,
body.page-id-333 .latigo-montecito .lm-hero__stats,
body.page-id-333 .latigo-montecito .lm-hero__stats strong,
body.page-id-333 .latigo-montecito .lm-hero__stats span{color:#fff!important;}
/* FINAL 7087 Latigo — close clone of Montecito listing page */
body.page-id-333{background:#f8f7f2!important;}body.page-id-333 .site-header{position:absolute!important;top:0!important;left:0!important;right:0!important;height:120px!important;z-index:80!important;background:transparent!important;border:0!important}body.page-id-333 .site-header .container{width:calc(100% - 40px)!important;max-width:none!important;height:89px!important;margin:15px 20px!important;padding:0!important;display:grid!important;grid-template-columns:277px 1fr auto!important;align-items:center!important}body.page-id-333 .diablo-header-only-logo{width:135px!important;max-width:135px!important;filter:brightness(0) invert(1)!important}body.page-id-333 .main-nav{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:0!important}body.page-id-333 .main-nav a{font-family:'Marcellus','Libre Caslon Display',serif!important;font-size:18px!important;line-height:42px!important;color:#fff!important;text-transform:uppercase!important;text-decoration:none!important;padding:0 15px!important;letter-spacing:.01em!important}body.page-id-333 .nav-buttons{display:flex!important;align-items:center!important;justify-content:flex-end!important;margin-left:18px!important}body.page-id-333 .btn--nav{font-family:'Marcellus','Libre Caslon Display',serif!important;font-size:18px!important;line-height:21px!important;color:#fff!important;text-transform:uppercase!important;text-decoration:none!important;background:transparent!important;border:1px solid #fff!important;border-radius:0!important;padding:14px 28px!important;letter-spacing:.01em!important;box-shadow:none!important}.latigo-clone{--cream:#f8f7f2;--ink:#100d0c;--white:#fff;font-family:Montserrat,'Manrope',sans-serif;background:var(--cream);color:var(--ink);overflow:hidden}.latigo-clone h1,.latigo-clone h2,.latigo-clone h3{font-family:'Marcellus','Libre Caslon Display',serif!important;font-weight:300!important;text-transform:uppercase!important;letter-spacing:.012em!important;line-height:1!important;margin:0!important}.lc-hero{height:850px!important;min-height:850px!important;position:relative;background-image:var(--bg);background-size:cover;background-position:center;display:block;color:#fff}.lc-hero__overlay{position:absolute;inset:0;background:linear-gradient(rgba(16,13,12,.40),rgba(16,13,12,.15));z-index:1}.lc-hero__title{position:absolute;z-index:2;left:50%;top:374px;transform:translateX(-50%);width:1000px;max-width:calc(100% - 80px);text-align:center;color:#fff}.lc-hero__title h1{font-size:50px!important;color:#fff!important;height:50px!important;white-space:nowrap!important;text-shadow:none!important}.lc-hero__title p{font-family:Poppins,Montserrat,sans-serif!important;font-size:20px!important;line-height:20px!important;color:#fff!important;text-transform:uppercase!important;margin:15px 0 0!important;font-weight:400!important}.lc-hero__bottom{position:absolute;z-index:2;left:5%;right:5%;bottom:17px;height:75px;display:grid;grid-template-columns:40% 60%;align-items:end;color:#fff}.lc-price{color:#fff;text-align:left}.lc-price__status{font-family:Montserrat,sans-serif!important;font-size:18.75px!important;line-height:26px!important;font-weight:700!important;text-transform:uppercase!important;color:#fff!important}.lc-price__value{font-family:Montserrat,sans-serif!important;font-size:35px!important;line-height:49px!important;font-weight:400!important;color:#fff!important}.lc-features{display:grid;grid-template-columns:repeat(4,1fr);align-items:end;text-align:center;color:#fff}.lc-features div{padding:0 13px}.lc-features strong{display:block;font-family:Montserrat,sans-serif!important;font-size:15px!important;line-height:20px!important;font-weight:800!important;text-transform:uppercase!important;color:#fff!important;margin-bottom:5px}.lc-features span{display:block;font-family:Montserrat,sans-serif!important;font-size:19px!important;line-height:26px!important;font-weight:400!important;color:#fff!important}.lc-overview{background:var(--cream);min-height:760px;padding:85px 5% 92px}.lc-overview__grid{max-width:1283px;margin:0 auto;display:grid;grid-template-columns:1fr 397px;gap:70px;align-items:start}.lc-section-nav{display:flex;gap:38px;flex-wrap:wrap;margin:0 0 72px}.lc-section-nav a{font-family:'Marcellus','Libre Caslon Display',serif!important;font-size:33px;line-height:1;text-transform:uppercase;color:#100d0c;text-decoration:none}.lc-overview__copy h2{font-size:50px!important;margin-bottom:30px!important}.lc-overview ul,.lc-cinematic ul{margin:0;padding-left:20px}.lc-overview li{font-size:17px;line-height:1.85;margin:4px 0;color:#17120f;font-weight:300}.lc-overview__image{height:673px;background-image:var(--bg);background-size:cover;background-position:center;border-left:1px solid rgba(16,13,12,.28);border-right:1px solid rgba(16,13,12,.28)}.lc-cinematic{height:681px;position:relative;background-image:var(--bg);background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;padding:0 5%}.lc-cinematic--right{justify-content:flex-end}.lc-cinematic__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,13,12,.60),rgba(16,13,12,.18) 58%,rgba(16,13,12,.45));z-index:1}.lc-cinematic__content{position:relative;z-index:2;width:620px;max-width:48%;border:1px solid rgba(255,255,255,.82);padding:34px 42px;color:#fff;background:rgba(16,13,12,.08)}.lc-cinematic h2{font-size:50px!important;color:#fff!important;margin-bottom:24px!important}.lc-cinematic li{font-family:Montserrat,sans-serif!important;font-size:16px;line-height:1.65;color:#fff;margin:6px 0;font-weight:400}.lc-statement{height:617px;background-image:linear-gradient(rgba(16,13,12,.22),rgba(16,13,12,.38)),var(--bg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 6%}.lc-statement h2{font-size:50px!important;color:#fff!important;max-width:950px}.lc-details{background:var(--cream);padding:92px 5% 98px}.lc-details__inner{max-width:1160px;margin:0 auto}.lc-details h2{text-align:center;font-size:50px!important;margin-bottom:60px!important}.lc-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 80px}.lc-details h3{font-size:21px!important;margin-bottom:18px!important}.lc-details p{font-family:Montserrat,sans-serif!important;font-size:16px;line-height:1.65;margin:0 0 10px;color:#1c1815;font-weight:300}.lc-request{background:#fff;padding:78px 20px 86px;text-align:center}.lc-request h2{font-size:50px!important;margin-bottom:28px!important}.lc-request a{display:inline-block;border:1px solid #100d0c;color:#100d0c;text-decoration:none;text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:13px;line-height:1;padding:17px 42px;letter-spacing:.08em}.lc-request a:hover{background:#100d0c;color:#fff}@media(max-width:1100px){body.page-id-333 .site-header .container{grid-template-columns:180px 1fr auto!important}body.page-id-333 .main-nav a{font-size:15px!important;padding:0 9px!important}.lc-hero__bottom{grid-template-columns:1fr;gap:18px;height:auto;bottom:24px}.lc-features{grid-template-columns:repeat(4,1fr);text-align:left}.lc-overview__grid{grid-template-columns:1fr 330px;gap:38px}.lc-cinematic__content{max-width:62%;width:600px}}@media(max-width:800px){body.page-id-333 .main-nav{display:none!important}.lc-hero{height:760px!important;min-height:760px!important}.lc-hero__title{top:300px;max-width:calc(100% - 34px)}.lc-hero__title h1{font-size:43px!important;white-space:normal!important;height:auto!important}.lc-hero__bottom{left:24px;right:24px}.lc-features{grid-template-columns:repeat(2,1fr);gap:12px 20px}.lc-overview{padding:62px 24px}.lc-overview__grid{grid-template-columns:1fr}.lc-overview__image{height:520px}.lc-section-nav{gap:26px;margin-bottom:50px}.lc-section-nav a{font-size:28px}.lc-cinematic{height:auto;min-height:640px;padding:42px 24px}.lc-cinematic__content{max-width:100%;width:100%;padding:30px 28px}.lc-details__grid{grid-template-columns:1fr}}@media(max-width:480px){body.page-id-333 .site-header{height:92px!important}body.page-id-333 .site-header .container{width:calc(100% - 32px)!important;margin:16px!important;grid-template-columns:1fr auto!important}body.page-id-333 .diablo-header-only-logo{width:86px!important}.lc-hero{height:780px!important;min-height:780px!important}.lc-hero__title{top:190px}.lc-hero__title h1{font-size:40px!important}.lc-hero__title p{font-size:16px!important}.lc-price__value{font-size:30px!important}.lc-features{grid-template-columns:1fr}.lc-features div{padding:0;border-top:1px solid rgba(255,255,255,.32)}.lc-features strong{font-size:12px!important;line-height:18px!important;margin-top:7px}.lc-features span{font-size:16px!important;line-height:22px!important}.lc-section-nav a{font-size:25px}.lc-overview__copy h2,.lc-cinematic h2,.lc-statement h2,.lc-details h2,.lc-request h2{font-size:38px!important}.lc-overview li,.lc-cinematic li{font-size:15px;line-height:1.55}.lc-overview__image{height:430px}.lc-cinematic{min-height:610px}.lc-cinematic__content{padding:25px 22px}.lc-statement{height:430px}.lc-details{padding:68px 22px}.lc-request{padding:64px 20px}}
@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Display&family=Montserrat:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500&display=swap');
body.page-id-333{margin:0!important;background:#fff!important}body.page-id-333 .site-header,body.page-id-333 .social-sidebar,body.page-id-333 .site-preloader{display:none!important}body.page-id-333 footer.site-footer{display:none!important}.le-header{position:fixed;top:0;left:0;right:0;height:120px;z-index:999;background:transparent;color:#fff;font-family:Montserrat,sans-serif}.le-header{display:grid;grid-template-columns:277px 1fr 118px;align-items:center;margin:15px 20px 0;width:calc(100% - 40px);height:89px}.le-logo img{width:135px;filter:brightness(0) invert(1);display:block}.le-main-nav{display:flex;justify-content:flex-end;align-items:center}.le-main-nav a,.le-menu{font-family:'Libre Caslon Display',serif;color:#fff;text-decoration:none;text-transform:uppercase;font-size:18px;line-height:42px;padding:0 15px;white-space:nowrap}.le-menu{display:inline-flex;justify-content:center;align-items:center;border:1px solid #fff;height:51px;padding:0 26px;margin-left:18px}.latigo-exact{font-family:Montserrat,sans-serif;color:#100d0c;background:#fff;overflow:hidden}.latigo-exact *{box-sizing:border-box}.latigo-exact h1,.latigo-exact h2,.latigo-exact h3{font-family:'Libre Caslon Display',serif!important;font-weight:400!important;text-transform:uppercase!important;margin:0!important;letter-spacing:0!important}.le-hero{height:850px;position:relative;background-image:var(--bg);background-size:cover;background-position:center;color:#fff}.le-overlay{position:absolute;inset:0;background:linear-gradient(rgba(16,13,12,.4) 0%,rgba(16,13,12,.15) 100%)}.le-hero-title{position:absolute;z-index:2;left:50%;top:374px;transform:translateX(-50%);width:1000px;text-align:center}.le-hero-title h1{font-size:50px!important;line-height:50px!important;color:#fff!important;white-space:nowrap}.le-hero-title p{font-family:Poppins,sans-serif;font-size:20px;line-height:20px;text-transform:uppercase;color:#fff;margin:15px 0 0}.le-hero-bottom{position:absolute;z-index:2;left:5%;right:5%;bottom:17px;height:75px;display:grid;grid-template-columns:40% 60%;align-items:end}.le-price{color:#fff;text-align:left}.le-price div{font-size:18.75px;line-height:26px;font-weight:700;text-transform:uppercase}.le-price strong{display:block;font-size:35px;line-height:49px;font-weight:400}.le-features{display:flex;justify-content:center;align-items:flex-end;text-align:center;margin:0 -12px;height:51px}.le-features>div{padding:0 12px;flex:1;color:#fff}.le-features b{display:block;font-size:15px;line-height:20px;font-weight:800;text-transform:uppercase;color:#fff}.le-features span{display:block;font-size:19px;line-height:26px;font-weight:400;color:#fff}.le-intro{height:843px;background:#f8f7f2;padding:85px 5%}.le-intro-inner{max-width:1283px;margin:0 auto;display:grid;grid-template-columns:1fr 397px;gap:70px;height:673px}.le-anchor-row{display:flex;gap:38px;margin:0 0 72px}.le-anchor-row a{font-family:'Libre Caslon Display',serif;font-size:32px;line-height:42px;color:#100d0c;text-decoration:none;text-transform:uppercase;white-space:nowrap}.le-intro h2{font-size:26px!important;line-height:34px!important;color:#fff!important;background:rgba(16,13,12,.72);display:inline-block;padding:12px 18px;margin-bottom:22px!important}.le-intro ul{margin:0;padding:24px 30px 24px 42px;background:rgba(16,13,12,.72);color:#fff;max-width:640px}.le-intro li{font-size:15px;line-height:1.65;margin:4px 0}.le-intro-image{height:673px;background-image:var(--bg);background-size:cover;background-position:center}.le-photo{position:relative;background-image:var(--bg);background-size:cover;background-position:center}.le-photo:before{content:"";position:absolute;inset:0;background:rgba(16,13,12,.03)}.le-photo-text:before{background:linear-gradient(90deg,rgba(16,13,12,.52),rgba(16,13,12,.08),rgba(16,13,12,.48))}.le-photo-copy{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:440px;color:#fff;border:1px solid rgba(255,255,255,.75);padding:30px 34px;background:rgba(16,13,12,.22)}.le-text-left .le-photo-copy{left:5%}.le-text-right .le-photo-copy{right:5%}.le-photo-copy h3{font-size:32px!important;line-height:42px!important;color:#fff!important;margin-bottom:16px!important}.le-photo-copy p{font-size:16px;line-height:1.7;color:#fff;margin:0}.le-heading-band{background:#f8f7f2;display:flex;align-items:center;justify-content:flex-end;padding:0 5%;text-align:right}.le-heading-band h2{font-size:32px!important;line-height:42px!important;color:#100d0c!important}.le-details{background:#f8f7f2;padding:85px 5% 70px}.le-details-inner{max-width:1283px;margin:0 auto}.le-details h2{font-size:42px!important;line-height:55px!important;text-align:left;margin-bottom:48px!important}.le-detail-tabs{display:flex;gap:90px;margin-bottom:40px;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:.03em}.le-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 56px}.le-detail-grid h3{font-size:17px!important;line-height:22px!important;margin-bottom:12px!important}.le-detail-grid p{font-size:14px;line-height:1.55;margin:0 0 7px;color:#100d0c}.le-request{background:#fff;display:flex;align-items:center;padding-left:11.5%}.le-request h2{font-size:40px!important;line-height:52px!important;color:#100d0c!important;margin-bottom:26px!important;width:524px}.le-request a{display:inline-block;border:1px solid #100d0c;color:#100d0c;text-decoration:none;text-transform:uppercase;font-size:13px;padding:15px 38px;letter-spacing:.06em}@media(max-width:1024px){.le-header{grid-template-columns:170px 1fr 100px}.le-main-nav a{font-size:15px;padding:0 8px}.le-hero-bottom{grid-template-columns:1fr;gap:12px;height:auto}.le-features{justify-content:flex-start}.le-intro-inner{grid-template-columns:1fr 330px;gap:38px}.le-anchor-row{gap:24px}.le-anchor-row a{font-size:27px}.le-detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.le-main-nav{display:none}.le-header{grid-template-columns:1fr auto}.le-hero{height:760px}.le-hero-title{top:300px;width:calc(100% - 34px)}.le-hero-title h1{font-size:43px!important;line-height:46px!important;white-space:normal}.le-hero-bottom{left:24px;right:24px}.le-features{display:grid;grid-template-columns:repeat(2,1fr);height:auto;text-align:left;gap:12px}.le-intro{height:auto;padding:62px 24px}.le-intro-inner{height:auto;grid-template-columns:1fr}.le-intro-image{height:520px}.le-anchor-row{overflow:auto}.le-photo{height:620px!important}.le-photo-copy{width:calc(100% - 48px);left:24px!important;right:auto!important}.le-heading-band{height:300px!important;justify-content:flex-start;text-align:left}.le-details{height:auto!important}.le-detail-grid{grid-template-columns:1fr}.le-request{height:330px!important;padding-left:24px}}@media(max-width:480px){.le-header{height:76px;margin:16px;width:calc(100% - 32px)}.le-logo img{width:86px}.le-menu{height:44px;font-size:16px}.le-hero{height:780px}.le-hero-title{top:190px}.le-hero-title h1{font-size:40px!important}.le-hero-title p{font-size:16px}.le-features{grid-template-columns:1fr}.le-features>div{border-top:1px solid rgba(255,255,255,.32);padding:7px 0}.le-price strong{font-size:30px}.le-anchor-row a{font-size:25px}.le-photo{height:560px!important}.le-photo-copy{padding:24px}.le-photo-copy h3{font-size:28px!important;line-height:34px!important}.le-details h2,.le-request h2{font-size:36px!important;line-height:44px!important;width:auto}.le-detail-tabs{display:block}.le-detail-tabs span{display:block;margin-bottom:10px}}

/* Featured real listings: two-card presentation */
.listing-carousel--real { max-width: 1180px; margin: 54px auto 0; padding: 0 24px; }
.listing-carousel--real .swiper { overflow: visible; }
.listing-carousel--real .swiper-wrapper { justify-content: center; gap: 28px; transform: none !important; }
.listing-carousel--real .listing-card { width: min(520px, calc(50% - 14px)) !important; flex: 0 1 min(520px, calc(50% - 14px)); height: 390px; position: relative; overflow: hidden; }
.listing-carousel--real .listing-card img { height: 100%; width: 100%; object-fit: cover; transition: transform .55s ease; }
.listing-carousel--real .listing-card:hover img { transform: scale(1.045); }
.listing-carousel--real .listing-card__info { min-height: 138px; background: linear-gradient(180deg, transparent, rgba(0,0,0,.78)); color: #fff; padding: 54px 30px 26px; }
.listing-carousel--real .listing-card__price { font-size: 28px; letter-spacing: .04em; }
.listing-carousel--real .listing-card__address { font-size: 20px; margin-top: 8px; }
.listing-carousel--real .listing-card__location { font-size: 13px; opacity: .9; margin-top: 6px; }
.listing-carousel--real .listing-carousel__nav,
.listing-carousel--real .listing-carousel__pagination { display: none; }
@media (max-width: 800px) {
  .listing-carousel--real { margin-top: 36px; padding: 0 18px; }
  .listing-carousel--real .swiper-wrapper { display: grid; grid-template-columns: 1fr; gap: 18px; }
  .listing-carousel--real .listing-card { width: 100% !important; flex-basis: auto; height: 340px; }
}

/* Featured Listings index page */
.featured-page-hero .diablo-page-hero__content h1 { max-width: 980px; }
.featured-index { background: #f7f1e8; padding: clamp(72px, 8vw, 120px) 0; }
.featured-index__intro { width: min(900px, 100%); margin: 0 auto 52px; text-align: center; }
.featured-index__kicker { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #6f513d; font-weight: 600; margin-bottom: 18px; }
.featured-index__intro h2 { font-family: Marcellus, serif; text-transform: uppercase; font-weight: 300; font-size: clamp(42px, 5.5vw, 76px); line-height: 1; margin: 0 0 20px; color: #2f2923; }
.featured-index__intro p:last-child { max-width: 680px; margin: 0 auto; font-size: 18px; line-height: 1.7; color: rgba(47,41,35,.75); }
.featured-index__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
.featured-index__card { display: grid; grid-template-rows: 430px auto; background: #fffaf2; color: #2f2923; text-decoration: none; box-shadow: 0 24px 70px rgba(47,41,35,.10); overflow: hidden; }
.featured-index__image { overflow: hidden; background: #d9ccb8; }
.featured-index__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.featured-index__card:hover .featured-index__image img { transform: scale(1.045); }
.featured-index__copy { padding: 34px; }
.featured-index__price { display: block; font-size: 30px; line-height: 1; letter-spacing: .04em; margin-bottom: 16px; color: #6f513d; }
.featured-index__copy h3 { font-family: Marcellus, serif; text-transform: uppercase; font-size: clamp(34px, 3vw, 48px); font-weight: 300; line-height: 1; margin: 0 0 8px; }
.featured-index__location { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: rgba(47,41,35,.62); margin-bottom: 18px; }
.featured-index__meta { font-size: 15px; font-weight: 500; margin-bottom: 18px; color: #2f2923; }
.featured-index__summary { font-size: 16px; line-height: 1.7; color: rgba(47,41,35,.72); margin-bottom: 28px; }
.featured-index__button { display: inline-flex; border: 1px solid #6f513d; color: #6f513d; padding: 14px 18px; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
@media (max-width: 900px) { .featured-index__grid { grid-template-columns: 1fr; } .featured-index__card { grid-template-rows: 360px auto; } }
@media (max-width: 560px) { .featured-index { padding: 58px 0; } .featured-index__card { grid-template-rows: 300px auto; } .featured-index__copy { padding: 26px 20px; } .featured-index__price { font-size: 24px; } }

/* Andrea clone header parity override */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 102px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  z-index: 999 !important;
  transition: height .28s ease, background .28s ease, box-shadow .28s ease !important;
}
.site-header .container {
  width: calc(100% - 40px) !important;
  max-width: none !important;
  height: 72px !important;
  margin: 15px 20px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 260px 1fr auto !important;
  align-items: center !important;
  gap: 28px !important;
}
.site-header .diablo-header-only-logo {
  width: 108px !important;
  height: 108px !important;
  margin-left: 22px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.32)) !important;
  transition: opacity .22s ease, filter .28s ease !important;
}
.site-header .main-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 28px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.site-header .main-nav a {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 30px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  text-decoration: none !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.35) !important;
  padding: 0 !important;
  transition: color .25s ease, font-size .25s ease, line-height .25s ease !important;
}
.site-header .nav-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.site-header .btn--nav,
.site-header .btn--nav.menu-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 92px !important;
  height: 58px !important;
  padding: 0 !important;
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.site-header .btn--dark { display: none !important; }
.site-header.scrolled,
.site-header.header-scrolled {
  height: 70px !important;
  background: #f8f7f2 !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.08) !important;
}
.site-header.scrolled .container,
.site-header.header-scrolled .container {
  height: 50px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.site-header.scrolled .diablo-header-only-logo,
.site-header.header-scrolled .diablo-header-only-logo {
  width: 50px !important;
  height: 50px !important;
  margin-left: 22px !important;
  opacity: 1 !important;
  filter: brightness(0) !important;
}
.site-header.scrolled .main-nav a,
.site-header.header-scrolled .main-nav a {
  color: #15110d !important;
  font-size: 18px !important;
  line-height: 30px !important;
  text-shadow: none !important;
}
.site-header.scrolled .btn--nav,
.site-header.header-scrolled .btn--nav {
  display: none !important;
}
@media (max-width: 1100px) {
  .site-header .container { grid-template-columns: 120px 1fr auto !important; gap: 18px !important; }
  .site-header .main-nav { gap: 18px !important; }
  .site-header .main-nav a { font-size: 15px !important; }
}
@media (max-width: 800px) {
  .site-header { height: 92px !important; }
  .site-header .container { grid-template-columns: 1fr auto !important; width: calc(100% - 32px) !important; margin: 16px !important; height: 60px !important; }
  .site-header .main-nav { display: none !important; }
  .site-header .diablo-header-only-logo { width: 96px !important; height: 96px !important; margin-left: 10px !important; }
  .site-header .btn--nav, .site-header .btn--nav.menu-toggle { display: inline-flex !important; width: 92px !important; height: 50px !important; font-size: 16px !important; }
  .site-header.scrolled, .site-header.header-scrolled { height: 70px !important; }
  .site-header.scrolled .container, .site-header.header-scrolled .container { height: 50px !important; margin: 10px 16px !important; }
  .site-header.scrolled .diablo-header-only-logo, .site-header.header-scrolled .diablo-header-only-logo { width: 46px !important; height: 46px !important; margin-left: 8px !important; }
  .site-header.scrolled .btn--nav, .site-header.header-scrolled .btn--nav { display: inline-flex !important; color: #15110d !important; }
}

body.page-template-page-about-me-php .cta-section h2,
body.page-template-page-about-me-php .cta-section p {
  color: #15110d !important;
}

/* Keep only the visible Andrea-style menu button in layout */
.site-header .nav-buttons .btn--dark { display: none !important; width: 0 !important; height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; }
.site-header .nav-buttons .btn--white { margin-left: auto !important; }

/* Homepage hero image carousel */
.hero--carousel { overflow: hidden; background: #17120f; }
.hero--carousel .hero__poster,
.hero--carousel .hero__video { display: none !important; }
.hero-carousel { position: absolute; inset: 0; z-index: 0; }
.hero-carousel__slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transform: scale(1.035); transition: opacity .8s ease, transform 2.4s ease; will-change: opacity, transform; }
.hero-carousel__slide.is-active { opacity: 1; transform: scale(1); }
.hero--carousel .hero__overlay,
.hero--carousel .hero__content { position: relative; z-index: 2; }

/* Homepage blog section centering */
.home .blog-section,
.blog-section { text-align: center; }
.blog-section .container { margin-left: auto !important; margin-right: auto !important; }
.blog-section .blog-header { max-width: 920px; margin: 0 auto 44px !important; justify-content: center !important; text-align: center !important; display: flex !important; }
.blog-section .blog-header > div { margin-left: auto !important; margin-right: auto !important; }
.blog-section .section-subtext { margin-left: auto !important; margin-right: auto !important; }
.blog-section .blog-grid,
.blog-section .blog-carousel,
.blog-section .swiper-wrapper { margin-left: auto !important; margin-right: auto !important; justify-content: center !important; }

/* Homepage blog: centered static card grid */
.blog-section .blog-swiper { overflow: visible !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 !important; }
.blog-section .blog-swiper .swiper-wrapper { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 32px !important; transform: none !important; width: 100% !important; justify-content: center !important; }
.blog-section .blog-swiper .swiper-slide { width: auto !important; margin: 0 !important; transform: none !important; display: flex !important; }
.blog-section .blog-swiper .swiper-slide:nth-child(n+4) { display: none !important; }
.blog-section .blog-card { text-align: left !important; }
@media (max-width: 900px) { .blog-section .blog-swiper .swiper-wrapper { grid-template-columns: 1fr !important; max-width: 520px !important; margin: 0 auto !important; } }

/* Catherine About page rebuild */
.catherine-about-intro { text-align: center; background: #f8f7f2; padding: 78px 0 72px; }
.about-kicker { text-transform: uppercase; letter-spacing: .2em; font-size: 12px; color: #7a5a43; margin: 0 0 18px; font-weight: 600; }
.catherine-about-intro h2 { font-family: Marcellus, serif; text-transform: uppercase; font-weight: 300; font-size: clamp(42px,5vw,72px); line-height: 1; margin: 0 0 20px; color: #17120f; }
.catherine-about-intro p:last-child { max-width: 760px; margin: 0 auto; font-size: 19px; line-height: 1.7; color: rgba(23,18,15,.72); }
.catherine-about-bio { background: #fffaf2; padding: clamp(72px,8vw,118px) 0; }
.about-bio__grid { display: grid; grid-template-columns: minmax(300px, 470px) 1fr; gap: clamp(48px,7vw,92px); align-items: start; }
.about-bio__image img { width: 100%; aspect-ratio: 3/4; object-fit: cover; box-shadow: 0 24px 70px rgba(23,18,15,.16); }
.about-bio__copy h2 { font-family: Marcellus, serif; text-transform: uppercase; font-weight: 300; font-size: clamp(48px,6vw,86px); line-height: .96; margin: 0 0 12px; }
.about-role { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; color: #7a5a43; margin-bottom: 24px; font-weight: 600; }
.about-quick-list { list-style: none; padding: 0; margin: 0 0 30px; border-top: 1px solid rgba(23,18,15,.16); }
.about-quick-list li { border-bottom: 1px solid rgba(23,18,15,.16); padding: 13px 0; font-size: 15px; line-height: 1.45; }
.about-quick-list a { color: inherit; }
.about-bio__copy p:not(.about-kicker):not(.about-role) { font-size: 17px; line-height: 1.75; color: rgba(23,18,15,.74); margin: 0 0 18px; }
.catherine-about-stats { background: #17120f; color: #fff; padding: 82px 0; text-align: center; }
.catherine-about-stats h2 { font-family: Marcellus, serif; text-transform: uppercase; font-size: clamp(42px,5vw,70px); font-weight: 300; margin: 0 0 44px; color: #fff; }
.about-stats__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.25); }
.about-stats__grid div { background: #17120f; padding: 34px 22px; }
.about-stats__grid strong { display: block; font-size: 36px; font-weight: 300; margin-bottom: 10px; }
.about-stats__grid span { text-transform: uppercase; letter-spacing: .14em; font-size: 11px; line-height: 1.45; color: rgba(255,255,255,.76); }
.catherine-about-service { background: #f8f7f2; padding: 84px 0; text-align: center; }
.catherine-about-service h2 { max-width: 900px; margin: 0 auto 42px; font-family: Marcellus, serif; text-transform: uppercase; font-size: clamp(42px,5vw,72px); font-weight: 300; line-height: 1; }
.about-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; text-align: left; }
.about-service-grid div { background: #fffaf2; padding: 32px; border: 1px solid rgba(23,18,15,.12); }
.about-service-grid h3 { font-family: Marcellus, serif; text-transform: uppercase; font-size: 34px; font-weight: 300; margin: 0 0 14px; }
.about-service-grid p { font-size: 16px; line-height: 1.7; color: rgba(23,18,15,.72); }
.catherine-about-more { background: #fffaf2; padding: 74px 0; }
.about-more__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.about-more__grid a { display: block; padding: 44px; min-height: 240px; background: #f8f7f2; color: #17120f; text-decoration: none; border: 1px solid rgba(23,18,15,.12); }
.about-more__grid span { display:block; font-family: Marcellus, serif; text-transform: uppercase; font-size: 42px; line-height: 1; margin-bottom: 18px; }
.about-more__grid p { font-size: 17px; line-height: 1.65; color: rgba(23,18,15,.72); }
.about-more__grid strong { display:inline-block; margin-top: 22px; text-transform: uppercase; letter-spacing: .16em; font-size: 11px; }
@media(max-width:900px){.about-bio__grid,.about-service-grid,.about-more__grid{grid-template-columns:1fr}.about-stats__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.catherine-about-intro,.catherine-about-bio,.catherine-about-service,.catherine-about-more{padding:58px 0}.about-stats__grid{grid-template-columns:1fr}.about-more__grid a{padding:30px 22px}.about-bio__copy h2{font-size:46px}}

/* Communities page bento tiles matched to clone */
.comm-grid--bento { display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; width: 100% !important; max-width: 1167px !important; margin: 38px auto 0 !important; }
.comm-grid--bento .comm-row { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; min-height: 520px; }
.comm-grid--bento .comm-row--right { grid-template-columns: 1fr 1.35fr; }
.comm-grid--bento .comm-row--full { grid-template-columns: 1fr; }
.comm-grid--bento .comm-row__small { display: grid; grid-template-columns: 1fr; gap: 16px; }
.comm-grid--bento .comm-card { position: relative; display: block; min-height: 0 !important; height: 100%; overflow: hidden; background: #17120f; border-radius: 0; box-shadow: none; }
.comm-grid--bento .comm-card--large { min-height: 520px !important; }
.comm-grid--bento .comm-row:first-child .comm-card--large { min-height: 548px !important; }
.comm-grid--bento .comm-card--small { min-height: 158px !important; }
.comm-grid--bento .comm-row:not(:first-child) .comm-card--small { min-height: 238px !important; }
.comm-grid--bento .comm-card__bg { position: absolute; inset: 1px; background-size: cover; background-position: center; transition: transform .65s ease; }
.comm-grid--bento .comm-card:hover .comm-card__bg { transform: scale(1.055); }
.comm-grid--bento .comm-card__overlay { position: absolute; inset: 1px; background: linear-gradient(to top, rgba(16,13,12,.62) 0%, rgba(16,13,12,0) 52%) !important; }
.comm-grid--bento .comm-card__content { position: absolute; left: 36px; right: 36px; bottom: 34px; color: #fff; z-index: 2; padding: 0 !important; }
.comm-grid--bento .comm-card--small .comm-card__content { left: 26px; right: 26px; bottom: 22px; }
.comm-grid--bento .comm-card__content h3 { font-family: Marcellus, serif !important; font-weight: 300 !important; text-transform: uppercase; font-size: clamp(30px,3.1vw,46px); line-height: 1; color: #fff !important; margin: 0; text-shadow: 0 2px 16px rgba(0,0,0,.45); }
.comm-grid--bento .comm-card--small h3 { font-size: clamp(25px,2.2vw,34px); }
.comm-grid--bento .comm-card__content span { display: block; margin-top: 12px; font-family: Manrope, sans-serif; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #fff !important; opacity: .92; }
@media(max-width:900px){.comm-grid--bento .comm-row,.comm-grid--bento .comm-row--right{grid-template-columns:1fr;min-height:0}.comm-grid--bento .comm-card--large,.comm-grid--bento .comm-row:first-child .comm-card--large{min-height:360px!important}.comm-grid--bento .comm-card--small,.comm-grid--bento .comm-row:not(:first-child) .comm-card--small{min-height:260px!important}}

/* Catherine Contact page matched to clone */
.contact-hero { position: relative; min-height: 400px; display: grid; place-items: center; background-size: cover; background-position: center; color: #fff; text-align: center; }
.contact-hero__overlay { position:absolute; inset:0; background: linear-gradient(to top, rgba(16,13,12,.82), rgba(16,13,12,.24) 62%, rgba(16,13,12,.36)); }
.contact-hero__content { position: relative; z-index: 2; padding-top: 64px; }
.contact-hero h1 { font-family: Marcellus, serif; text-transform: uppercase; font-weight: 400; font-size: 55px; line-height: 1.08; letter-spacing: 1px; color: #fff; margin: 0; }
.catherine-contact-info { background: #fffaf2; padding: clamp(72px,8vw,118px) 0; }
.contact-info__grid { display: grid; grid-template-columns: minmax(320px, 520px) 1fr; gap: clamp(50px,8vw,104px); align-items: center; }
.contact-info__image img { width: 100%; aspect-ratio: 5/4; object-fit: cover; object-position: center 22%; box-shadow: 0 24px 70px rgba(23,18,15,.15); }
.contact-info__details { text-align: left; color: #17120f; }
.contact-info__details .script-text { font-family: Marcellus, serif; text-transform: none; font-weight: 300; font-size: clamp(38px,4vw,58px); line-height: 1.08; color: #17120f; margin: 0 0 42px; letter-spacing: .01em; }
.contact-line { font-family: Manrope, sans-serif; font-size: clamp(20px,2.1vw,28px); line-height: 1.35; font-weight: 300; margin: 0 0 14px; }
.contact-line a { color: #17120f; text-decoration: none; }
.contact-line a:hover { color: #7a5a43; }
.contact-brokerage, .contact-agent { border-top: 1px solid rgba(23,18,15,.15); margin-top: 32px; padding-top: 24px; }
.contact-brokerage p, .contact-agent p { margin: 0 0 8px; font-size: 17px; line-height: 1.7; color: rgba(23,18,15,.74); }
.contact-agent p:first-child { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; color: #7a5a43; font-weight: 700; }
.catherine-contact-cta {
  background: #fffaf2 !important;
  padding: 104px 0 !important;
}
.catherine-contact-cta h2 {
  color: #15110d !important;
  font-size: 55px !important;
  line-height: 1.08 !important;
  margin-bottom: 26px !important;
}
.catherine-contact-cta p {
  color: rgba(21,17,13,.78) !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  max-width: 720px !important;
  margin-bottom: 40px !important;
}
@media(max-width:900px){.contact-info__grid{grid-template-columns:1fr}.contact-info__details{text-align:center}.contact-brokerage,.contact-agent{text-align:center}.contact-info__image{max-width:520px;margin:0 auto}.contact-hero h1{font-size:42px}.catherine-contact-cta h2{font-size:42px!important}}
@media(max-width:560px){.contact-hero{min-height:360px}.contact-hero h1{font-size:36px}.catherine-contact-info{padding:58px 0}.contact-info__details .script-text{font-size:36px;margin-bottom:30px}.contact-line{font-size:18px;word-break:break-word}.contact-info__image img{aspect-ratio:4/5}.catherine-contact-cta{padding:72px 0!important}.catherine-contact-cta h2{font-size:36px!important}.catherine-contact-cta p{font-size:16px!important;line-height:1.65!important}}
