/* =========================================================================
   Coldwell Banker North Star Realty — Verde Valley Agent Site
   Design tokens: warm ivory, charcoal, taupe, verde (juniper green — a nod
   to the meaning of "Verde Valley"), sandstone. Serif display (Fraunces)
   + sans body (Work Sans). Signature motif: a thin winding "river line"
   used as a divider, echoing the Verde River running through the valley.
   ========================================================================= */

:root{
  --ivory:#F7F3EC;
  --ivory-deep:#F0EAE0;
  --white:#FFFFFF;
  --charcoal:#2B2A26;
  --charcoal-soft:#4A473F;
  --taupe:#8C8071;
  --taupe-light:#D9D0C2;
  --taupe-pale:#EDE7DB;
  --verde:#4B5842;
  --verde-dark:#333C2C;
  --verde-pale:#DCE3D6;
  --sandstone:#B4814F;
  --sandstone-dark:#8F6539;
  --sandstone-pale:#EBDCC5;

  --font-display:'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font-body:'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --container:1240px;
  --radius-sm:2px;
  --radius-md:4px;
  --header-h:84px;

  --shadow-card:0 1px 2px rgba(43,42,38,0.06), 0 8px 24px rgba(43,42,38,0.07);
  --shadow-card-hover:0 4px 10px rgba(43,42,38,0.08), 0 16px 36px rgba(43,42,38,0.12);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0 0 0.5em;color:var(--charcoal);}
h1{font-size:clamp(2.4rem,4vw + 1rem,3.6rem);font-weight:500;letter-spacing:-0.01em;}
h2{font-size:clamp(1.9rem,2.4vw + 1rem,2.6rem);font-weight:500;letter-spacing:-0.01em;}
h3{font-size:1.35rem;}
p{margin:0 0 1em;}
button{font-family:inherit;}
input,select,textarea{font-family:inherit;font-size:1rem;}

:focus-visible{outline:2px solid var(--verde);outline-offset:3px;}

.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.eyebrow{display:inline-block;font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--sandstone-dark);font-weight:600;margin-bottom:14px;}
.section{padding:88px 0;}
.section--tight{padding:56px 0;}
.section--ivory-deep{background:var(--ivory-deep);}
.section--charcoal{background:var(--charcoal);color:var(--taupe-pale);}
.section--charcoal h2, .section--charcoal .eyebrow{color:var(--white);}
.section-head{max-width:640px;margin:0 0 44px;}
.section-head--center{margin-left:auto;margin-right:auto;text-align:center;}
.lede{font-size:1.15rem;color:var(--charcoal-soft);}

/* ---------- Signature: river-line divider ---------- */
.river-divider{width:120px;height:14px;margin:0 0 22px;color:var(--verde);}
.section-head--center .river-divider{margin-left:auto;margin-right:auto;}
.river-divider svg{width:100%;height:100%;display:block;}
.river-divider--light{color:var(--sandstone-pale);}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:var(--radius-sm);font-size:0.95rem;font-weight:600;letter-spacing:0.02em;border:1px solid transparent;cursor:pointer;transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;}
.btn-primary{background:var(--verde);color:var(--white);}
.btn-primary:hover{background:var(--verde-dark);}
.btn-secondary{background:transparent;color:var(--charcoal);border-color:var(--charcoal);}
.btn-secondary:hover{background:var(--charcoal);color:var(--white);}
.btn-outline-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.6);}
.btn-outline-light:hover{background:var(--white);color:var(--charcoal);}
.btn-sandstone{background:var(--sandstone);color:var(--white);}
.btn-sandstone:hover{background:var(--sandstone-dark);}
.btn-block{width:100%;}
.btn:active{transform:translateY(1px);}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-h);display:flex;align-items:center;background:rgba(247,243,236,0.92);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid rgba(43,42,38,0.08);transition:box-shadow 0.2s ease;}
.site-header.is-scrolled{box-shadow:0 2px 18px rgba(43,42,38,0.08);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0;}
.brand-lockup__logo{height:42px;width:auto;display:block;flex:none;}
.brand-lockup__logo-placeholder{height:42px;padding:0 12px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--taupe);border-radius:var(--radius-sm);color:var(--taupe);font-size:0.68rem;letter-spacing:0.04em;text-align:center;line-height:1.2;flex:none;}
.brand-lockup__name{display:flex;flex-direction:column;line-height:1.2;min-width:0;}
.brand-lockup__name .agent-name{font-family:var(--font-display);font-size:1.05rem;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-lockup__name .brokerage{font-size:0.68rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--taupe);white-space:nowrap;}

.main-nav{display:flex;align-items:center;gap:34px;}
.main-nav a{font-size:0.92rem;font-weight:500;color:var(--charcoal-soft);position:relative;padding:6px 0;}
.main-nav a:hover, .main-nav a[aria-current="page"]{color:var(--verde);}
.main-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--sandstone);}

.header-cta{display:flex;align-items:center;gap:18px;}
.header-cta .btn{padding:11px 22px;}

.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;width:44px;height:44px;align-items:center;justify-content:center;}
.nav-toggle span, .nav-toggle::before, .nav-toggle::after{content:"";display:block;width:22px;height:2px;background:var(--charcoal);border-radius:2px;transition:transform 0.2s ease, opacity 0.2s ease;}
.nav-toggle::before{margin-bottom:6px;}
.nav-toggle::after{margin-top:6px;}
.nav-toggle[aria-expanded="true"]::before{transform:translateY(8px) rotate(45deg);}
.nav-toggle[aria-expanded="true"]::after{transform:translateY(-8px) rotate(-45deg);}
.nav-toggle[aria-expanded="true"] span{opacity:0;}

.mobile-panel{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:var(--ivory);z-index:999;padding:32px 24px;transform:translateX(100%);transition:transform 0.25s ease;overflow-y:auto;}
.mobile-panel.is-open{transform:translateX(0);}
.mobile-panel a{display:block;font-family:var(--font-display);font-size:1.5rem;padding:14px 0;border-bottom:1px solid var(--taupe-light);color:var(--charcoal);}
.mobile-panel .header-cta{margin-top:28px;flex-direction:column;align-items:stretch;}

body.nav-open{overflow:hidden;}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;color:var(--white);background-size:cover;background-position:center;margin-top:0;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(43,42,38,0.15) 0%, rgba(43,42,38,0.35) 55%, rgba(43,42,38,0.72) 100%);}
.hero__inner{position:relative;z-index:1;width:100%;padding:120px 0 96px;}
.hero__eyebrow{display:inline-block;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--sandstone-pale);margin-bottom:20px;}
.hero h1{color:var(--white);max-width:820px;}
.hero p.lede{color:rgba(255,255,255,0.88);max-width:560px;font-size:1.2rem;}
.hero__actions{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
.hero__credit{position:absolute;right:16px;bottom:12px;z-index:1;font-size:0.68rem;color:rgba(255,255,255,0.65);}
.hero__credit a{text-decoration:underline;color:rgba(255,255,255,0.8);}

.page-hero{position:relative;padding:calc(var(--header-h) + 72px) 0 64px;background:var(--charcoal);color:var(--white);overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 15% 0%, rgba(75,88,66,0.55), transparent 60%);}
.page-hero .container{position:relative;}
.page-hero h1{color:var(--white);}
.page-hero p{color:var(--taupe-pale);max-width:600px;}

/* ---------- Intro / About split ---------- */
.split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:center;}
.split.split--reverse{grid-template-columns:1.1fr 0.9fr;}
.split.split--reverse .split__media{order:2;}
.split__media{position:relative;}
.photo-placeholder{aspect-ratio:4/5;border-radius:var(--radius-md);background:linear-gradient(155deg, var(--taupe-pale), var(--sandstone-pale));display:flex;align-items:center;justify-content:center;text-align:center;color:var(--taupe);border:1px solid var(--taupe-light);padding:24px;}
.photo-placeholder span{font-size:0.8rem;letter-spacing:0.03em;line-height:1.5;}
.photo-placeholder--wide{aspect-ratio:16/10;}
.portrait-photo{aspect-ratio:4/5;width:100%;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--taupe-light);}
.portrait-photo--square{aspect-ratio:1/1;}
.split__body p{color:var(--charcoal-soft);}
.split__stat-row{display:flex;gap:36px;margin:28px 0;flex-wrap:wrap;}
.split__stat b{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--verde);}
.split__stat span{font-size:0.82rem;color:var(--taupe);}

.notice-badge{display:inline-flex;align-items:center;gap:8px;background:var(--verde-pale);color:var(--verde-dark);font-size:0.8rem;font-weight:600;padding:8px 14px;border-radius:20px;margin-bottom:18px;}

/* ---------- Featured Listings empty state ---------- */
.coming-soon-panel{grid-column:1 / -1;text-align:center;background:var(--white);border:1px solid var(--taupe-light);border-radius:var(--radius-md);padding:64px 32px;box-shadow:var(--shadow-card);}
.coming-soon-panel .eyebrow{display:block;margin-bottom:10px;}
.coming-soon-panel h3{margin:0 0 14px;font-family:var(--font-display);font-size:1.6rem;color:var(--charcoal);}
.coming-soon-panel p{margin:0 auto 26px;max-width:480px;color:var(--charcoal-soft);}
.coming-soon-panel__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Cards grid ---------- */
.grid{display:grid;gap:32px;}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}

/* Property card */
.card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow 0.25s ease, transform 0.25s ease;display:flex;flex-direction:column;}
.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px);}
.card__media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--taupe-pale),var(--ivory-deep));display:flex;align-items:center;justify-content:center;color:var(--taupe);font-size:0.78rem;text-align:center;padding:16px;overflow:hidden;}
.card__media img{width:100%;height:100%;object-fit:cover;}
.card__media-inner{display:flex;flex-direction:column;align-items:center;gap:12px;}
.card__media-note{margin:0;font-size:0.8rem;color:var(--taupe);}
.card__tag{position:absolute;top:12px;left:12px;background:var(--charcoal);color:var(--white);font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;padding:5px 10px;border-radius:2px;}
.card__tag--status{left:auto;right:12px;background:var(--verde-dark);}
.card__tag--pending{left:auto;right:12px;background:var(--taupe);}
.card__body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card__price{font-family:var(--font-display);font-size:1.35rem;color:var(--charcoal);}
.card__location{font-size:0.88rem;color:var(--taupe);}
.card__mls{font-size:0.76rem;color:var(--taupe);letter-spacing:0.02em;}
.card__meta{display:flex;gap:14px;font-size:0.85rem;color:var(--charcoal-soft);flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--taupe-pale);}
.card__meta span{display:flex;align-items:center;gap:5px;}
.card__desc{font-size:0.88rem;color:var(--charcoal-soft);}
.card__agent{font-size:0.78rem;color:var(--taupe);}
.card__attribution{border-top:1px solid var(--taupe-pale);padding-top:8px;}
.card__attribution p{margin:0 0 2px;font-size:0.76rem;color:var(--taupe);line-height:1.5;}
.card__foot{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:8px;}

/* Blog card */
.blog-card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow 0.25s ease, transform 0.25s ease;}
.blog-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px);}
.blog-card__media{aspect-ratio:16/10;background:linear-gradient(135deg,var(--verde-pale),var(--ivory-deep));display:flex;align-items:center;justify-content:center;color:var(--verde-dark);font-size:0.78rem;text-align:center;padding:16px;overflow:hidden;}
.blog-card__media img{width:100%;height:100%;object-fit:cover;}
.blog-card__body{padding:22px;}
.blog-card__cat{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--sandstone-dark);font-weight:600;}
.blog-card__title{margin:10px 0 8px;font-size:1.2rem;}
.blog-card__excerpt{color:var(--charcoal-soft);font-size:0.94rem;}
.blog-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:0.82rem;color:var(--taupe);}
.blog-card__meta a{color:var(--verde);font-weight:600;}

/* Community card */
.community-card{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:3/4;display:flex;align-items:flex-end;color:var(--white);}
.community-card__bg{position:absolute;inset:0;background:linear-gradient(155deg,var(--verde-dark),var(--sandstone-dark));background-size:cover;background-position:center;}
.community-card__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(20,20,16,0.82), rgba(20,20,16,0.05) 55%);}
.community-card__content{position:relative;padding:24px;}
.community-card__content h3{color:var(--white);margin-bottom:6px;}
.community-card__content p{font-size:0.9rem;color:rgba(255,255,255,0.85);margin-bottom:12px;}
.community-card__content a{font-size:0.85rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.5);padding-bottom:2px;}
.community-card__content a:hover{border-color:var(--white);}
.community-card__label{position:absolute;top:14px;left:14px;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;background:rgba(255,255,255,0.15);padding:5px 10px;border-radius:2px;}

/* Benefit / why-work-with-me */
.benefit{padding:8px 0;}
.benefit__icon{width:46px;height:46px;border-radius:50%;background:var(--verde-pale);color:var(--verde-dark);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.benefit h3{font-size:1.1rem;margin-bottom:8px;}
.benefit p{color:var(--charcoal-soft);font-size:0.94rem;margin-bottom:0;}

/* ---------- Final CTA ---------- */
.cta-band{position:relative;background-size:cover;background-position:center;color:var(--white);padding:110px 0;}
.cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg, rgba(43,42,38,0.82), rgba(75,88,66,0.72));}
.cta-band .container{position:relative;z-index:1;max-width:720px;text-align:center;}
.cta-band h2{color:var(--white);}
.cta-band p{color:rgba(255,255,255,0.9);font-size:1.1rem;}
.cta-band .btn{margin-top:8px;}
.cta-band__credit{position:relative;z-index:1;text-align:center;margin-top:28px;font-size:0.68rem;color:rgba(255,255,255,0.6);}
.cta-band__credit a{text-decoration:underline;color:rgba(255,255,255,0.75);}

/* ---------- Filters (Listings page) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:14px;padding:20px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:40px;align-items:flex-end;}
.filters .field{display:flex;flex-direction:column;gap:6px;min-width:150px;}
.filters label{font-size:0.75rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--taupe);}
.filters select,.filters input{padding:10px 12px;border:1px solid var(--taupe-light);border-radius:var(--radius-sm);background:var(--ivory);color:var(--charcoal);}
.filters .btn{align-self:stretch;}
.results-count{color:var(--taupe);font-size:0.9rem;margin-bottom:20px;}

/* ---------- Property detail ---------- */
.bio-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0;}
.bio-photo-row--single{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}
.bio-photo{margin:0;}
.bio-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--taupe-light);display:block;}
.bio-photo figcaption{margin-top:8px;font-size:0.82rem;color:var(--taupe);font-style:italic;text-align:center;}
@media (max-width:700px){.bio-photo-row{grid-template-columns:1fr;}}

.gallery{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:36px;}
.gallery__main{aspect-ratio:4/3;}
.gallery__side{display:grid;grid-template-rows:1fr 1fr;gap:12px;}
.gallery .photo-placeholder{aspect-ratio:auto;height:100%;}
.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start;}
.detail-price{font-family:var(--font-display);font-size:2.2rem;color:var(--charcoal);}
.detail-meta-row{display:flex;gap:24px;flex-wrap:wrap;margin:16px 0 28px;padding:18px 0;border-top:1px solid var(--taupe-light);border-bottom:1px solid var(--taupe-light);}
.detail-meta-row div{display:flex;flex-direction:column;}
.detail-meta-row b{font-family:var(--font-display);font-size:1.25rem;}
.detail-meta-row span{font-size:0.78rem;color:var(--taupe);text-transform:uppercase;letter-spacing:0.05em;}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:20px 0 32px;}
.feature-list li{padding-left:22px;position:relative;font-size:0.94rem;color:var(--charcoal-soft);}
.feature-list li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--verde);border-radius:50%;}
.sidebar-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:28px;position:sticky;top:calc(var(--header-h) + 24px);}
.sidebar-card h3{font-size:1.05rem;margin-bottom:14px;}
.map-placeholder{aspect-ratio:16/10;background:repeating-linear-gradient(45deg, var(--ivory-deep), var(--ivory-deep) 10px, var(--taupe-pale) 10px, var(--taupe-pale) 20px);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--taupe);font-size:0.85rem;margin:32px 0;border:1px solid var(--taupe-light);}

/* ---------- Blog post ---------- */
.post-header{max-width:760px;margin:0 auto 32px;text-align:center;}
.post-hero-media{max-width:960px;margin:0 auto 48px;}
.post-hero-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--taupe-light);}
.post-body{max-width:720px;margin:0 auto;}
.post-body p{color:var(--charcoal-soft);font-size:1.05rem;}
.post-body h2{margin-top:1.4em;}

/* About page biography — wider than .post-body, using more of the page width
   instead of the narrow, centered article-column treatment used for blog posts. */
.about-body{max-width:1080px;margin:0 auto;}
.about-body p{color:var(--charcoal-soft);font-size:1.05rem;}
.post-meta-strip{display:flex;justify-content:center;gap:18px;font-size:0.85rem;color:var(--taupe);margin-bottom:8px;flex-wrap:wrap;}

/* ---------- Blog / listing category pills ---------- */
.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px;}
.pill{padding:8px 16px;border-radius:20px;border:1px solid var(--taupe-light);font-size:0.85rem;color:var(--charcoal-soft);background:var(--white);}
.pill:hover, .pill.is-active{background:var(--verde);border-color:var(--verde);color:var(--white);}

.fact-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin:28px 0 8px;}
.fact-list dt{font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--sandstone-dark);font-weight:600;margin-bottom:4px;}
.fact-list dd{margin:0;color:var(--charcoal-soft);font-size:0.94rem;}
@media (max-width:600px){.fact-list{grid-template-columns:1fr;}}

.town-switch{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start;}
.form-field{margin-bottom:20px;}
.form-field label{display:block;font-size:0.82rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--taupe);margin-bottom:8px;}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 14px;border:1px solid var(--taupe-light);border-radius:var(--radius-sm);background:var(--white);color:var(--charcoal);}
.form-field textarea{min-height:140px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-note{font-size:0.8rem;color:var(--taupe);margin-top:14px;}
.contact-info-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:32px;}
.contact-info-card h3{font-size:1.05rem;margin-bottom:4px;}
.contact-info-row{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--taupe-pale);}
.contact-info-row:first-of-type{border-top:none;padding-top:0;}
.contact-info-row .label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--taupe);}
.contact-info-row .value{color:var(--charcoal);}
.placeholder-text{color:var(--taupe);font-style:italic;}
.social-row{display:flex;gap:12px;margin-top:18px;}
.social-row a{width:38px;height:38px;border-radius:50%;border:1px solid var(--taupe-light);display:flex;align-items:center;justify-content:center;font-size:0.78rem;color:var(--taupe);}
.social-row a:hover{border-color:var(--verde);color:var(--verde);}

.form-success{display:none;background:var(--verde-pale);color:var(--verde-dark);padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:20px;font-size:0.92rem;}
.form-success.is-visible{display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--charcoal);color:var(--taupe-pale);padding:64px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-brand .agent-name{font-family:var(--font-display);font-size:1.3rem;color:var(--white);}
.footer-brand .brokerage{font-size:0.82rem;color:var(--taupe);margin:4px 0 16px;}
.footer-brand p{color:var(--taupe);font-size:0.88rem;max-width:280px;}
.footer-col h4{color:var(--white);font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:16px;font-family:var(--font-body);font-weight:600;}
.footer-col a, .footer-col p{display:block;color:var(--taupe);font-size:0.9rem;margin-bottom:10px;}
.footer-col a:hover{color:var(--white);}
.footer-social{display:flex;gap:10px;margin-top:4px;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-size:0.75rem;}
.footer-social a:hover{border-color:var(--white);color:var(--white);}
.footer-legal{padding-top:26px;font-size:0.78rem;color:var(--taupe);line-height:1.8;}
.footer-legal .legal-note{border:1px dashed rgba(255,255,255,0.25);padding:16px 18px;border-radius:var(--radius-sm);margin-bottom:18px;background:rgba(255,255,255,0.03);}
.footer-legal .legal-note strong{color:var(--white);display:block;margin-bottom:6px;font-size:0.78rem;letter-spacing:0.04em;text-transform:uppercase;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px;}

/* ---------- IDX compliance footer (search results & detail pages) ---------- */
.idx-compliance{padding:24px 28px;margin-top:48px;background:var(--white);border:1px solid var(--taupe-light);border-radius:var(--radius-md);}
.idx-compliance p{margin:0 0 10px;font-size:0.8rem;line-height:1.65;color:var(--taupe);}
.idx-compliance p:last-child{margin-bottom:0;}
.idx-compliance p.idx-compliance__label{font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;color:var(--charcoal-soft);}
.idx-compliance__logo{flex:none;height:54px;width:auto;margin-bottom:14px;}

/* ---------- Utility ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .main-nav{display:none;}
  .header-cta .btn{display:none;}
  .nav-toggle{display:flex;}
  .split, .split.split--reverse{grid-template-columns:1fr;gap:36px;}
  .split.split--reverse .split__media{order:0;}
  .grid--3{grid-template-columns:repeat(2,1fr);}
  .grid--4{grid-template-columns:repeat(2,1fr);}
  .detail-grid{grid-template-columns:1fr;}
  .sidebar-card{position:static;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:32px;}
}
@media (max-width: 640px){
  .section{padding:64px 0;}
  .grid--3, .grid--4, .grid--2{grid-template-columns:1fr;}
  .hero{min-height:100vh;}
  .hero__actions{flex-direction:column;align-items:stretch;}
  .form-row{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;}
  .gallery__side{grid-template-rows:1fr 1fr;grid-auto-flow:column;grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .filters{flex-direction:column;align-items:stretch;}
  .filters .field{min-width:0;}
}
