/* ==========================================================================
   EBEN ZEKARIAS REALTY — Design System
   Palette: Main Green #0B3D2E · Secondary Green #174B3B · Gold #C89B5A · Warm White #F4EFE6
   Display: "Fraunces" (warm serif, used sparingly on headlines)
   Body/UI:  "Inter"
   Signature element: the "deed corner" — a clipped top-right corner with a
   small gold triangle, used on cards + form panels. It echoes a folded
   property document / blueprint corner, tying every panel back to real
   estate paperwork without leaning on generic icons.
   ========================================================================== */

:root{
	--ezr-main-green: #0B3D2E;
	--ezr-secondary-green: #174B3B;
	--ezr-gold: #C89B5A;
	--ezr-gold-light: #E4C793;
	--ezr-warm-white: #F4EFE6;
	--ezr-ink: #10221C;
	--ezr-ink-soft: rgba(16,34,28,0.68);
	--ezr-white: #FFFFFF;
	--ezr-line: rgba(11,61,46,0.14);
	--ezr-line-light: rgba(244,239,230,0.22);

	--ezr-font-display: "Fraunces", Georgia, serif;
	--ezr-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--ezr-container: 1200px;
	--ezr-radius: 4px;
	--ezr-corner: 22px;
	--ezr-shadow-soft: 0 20px 50px -25px rgba(11,61,46,0.35);
	--ezr-shadow-lift: 0 30px 60px -20px rgba(11,61,46,0.45);
	--ezr-ease: cubic-bezier(.22,.75,.32,1);
}

/* ---------------- Reset-lite ---------------- */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
	html{ scroll-behavior: auto; }
	*, *::before, *::after{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}
body{
	margin:0;
	font-family: var(--ezr-font-body);
	color: var(--ezr-ink);
	background: var(--ezr-warm-white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family: inherit; cursor:pointer; }
input, select, textarea{ font-family: inherit; font-size: 1rem; }
:focus-visible{ outline: 2px solid var(--ezr-gold); outline-offset: 3px; }

h1,h2,h3,h4{
	font-family: var(--ezr-font-display);
	font-weight: 600;
	line-height: 1.12;
	margin: 0 0 0.5em;
	letter-spacing: -0.01em;
	color: var(--ezr-main-green);
}
h1{ font-size: clamp(2.4rem, 4.4vw, 4.2rem); font-weight: 500; }
h2{ font-size: clamp(1.9rem, 3vw, 2.8rem); }
h3{ font-size: clamp(1.2rem, 1.6vw, 1.45rem); }
p{ margin:0 0 1em; color: var(--ezr-ink-soft); }

.ezr-container{ max-width: var(--ezr-container); margin: 0 auto; padding: 0 28px; }
.ezr-section{ padding: 110px 0; }
.ezr-section-dark{ background: linear-gradient(160deg, var(--ezr-main-green), var(--ezr-secondary-green)); color: var(--ezr-warm-white); }
.ezr-section-dark h2, .ezr-section-dark h3, .ezr-section-dark p{ color: var(--ezr-warm-white); }
.ezr-section-dark p{ opacity: 0.82; }

.ezr-eyebrow{
	display:inline-flex; align-items:center; gap:10px;
	font-family: var(--ezr-font-body); font-weight:600; font-size:0.78rem;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--ezr-secondary-green); margin-bottom: 14px;
}
.ezr-eyebrow::before{ content:""; width:26px; height:2px; background: var(--ezr-gold); display:inline-block; transform-origin:left; animation: ezr-draw-line .9s var(--ezr-ease) both; }
.ezr-eyebrow-gold{ color: var(--ezr-gold-light); }
.ezr-section-dark .ezr-eyebrow{ color: var(--ezr-gold-light); }
@keyframes ezr-draw-line{ from{ transform: scaleX(0); } to{ transform: scaleX(1); } }

.ezr-section-heading{ max-width: 640px; margin: 0 auto 56px; text-align:center; }
.ezr-section-subtext{ max-width: 720px; margin: 0 auto; text-align:center; }
.ezr-prose{ max-width: 780px; margin: 0 auto; }
.ezr-prose p{ font-size: 1.05rem; }
.ezr-muted{ color: var(--ezr-ink-soft); }

/* ---------------- Buttons ---------------- */
.ezr-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	padding: 15px 30px; font-weight:600; font-size:0.95rem; letter-spacing:0.02em;
	border-radius: var(--ezr-radius); border: 1px solid transparent;
	transition: transform .35s var(--ezr-ease), box-shadow .35s var(--ezr-ease), background .3s ease, color .3s ease, border-color .3s ease;
	white-space: nowrap;
}
.ezr-btn-gold{ background: var(--ezr-gold); color: var(--ezr-main-green); box-shadow: var(--ezr-shadow-soft); }
.ezr-btn-gold:hover{ transform: translateY(-3px); box-shadow: var(--ezr-shadow-lift); background: var(--ezr-gold-light); }
.ezr-btn-outline{ background: transparent; color: var(--ezr-main-green); border-color: var(--ezr-main-green); }
.ezr-btn-outline:hover{ background: var(--ezr-main-green); color: var(--ezr-warm-white); transform: translateY(-3px); }
.ezr-section-dark .ezr-btn-outline{ color: var(--ezr-warm-white); border-color: var(--ezr-line-light); }
.ezr-section-dark .ezr-btn-outline:hover{ background: var(--ezr-warm-white); color: var(--ezr-main-green); }
.ezr-btn-ghost-light{ background: transparent; color: var(--ezr-warm-white); border-color: var(--ezr-line-light); }
.ezr-btn-ghost-light:hover{ background: rgba(244,239,230,0.12); transform: translateY(-3px); }
.ezr-btn-sm{ padding: 10px 20px; font-size: 0.85rem; }
.ezr-btn-full{ width:100%; }

/* ---------------- Header ---------------- */
.ezr-header{
	position: sticky; top:0; z-index: 999;
	background: rgba(244,239,230,0.9); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--ezr-line);
	transition: padding .35s var(--ezr-ease), box-shadow .35s var(--ezr-ease);
}
.ezr-header.is-scrolled{ box-shadow: 0 10px 30px -20px rgba(11,61,46,0.3); }
.ezr-header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding: 18px 28px; transition: padding .35s var(--ezr-ease); }
.ezr-header.is-scrolled .ezr-header-inner{ padding-top:10px; padding-bottom:10px; }
.ezr-logo-img, .custom-logo{ height: 52px; width:auto; transition: height .35s var(--ezr-ease); }
.ezr-header.is-scrolled .ezr-logo-img,
.ezr-header.is-scrolled .custom-logo{ height: 40px; }

.ezr-nav-menu{ display:flex; align-items:center; gap: 34px; }
.ezr-nav-menu a{ font-weight:600; font-size:0.92rem; color: var(--ezr-main-green); position:relative; padding: 6px 0; }
.ezr-nav-menu a::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background: var(--ezr-gold); transition: width .3s var(--ezr-ease); }
.ezr-nav-menu a:hover::after, .ezr-nav-menu li.current-menu-item a::after{ width:100%; }

.ezr-header-actions{ display:flex; align-items:center; gap:18px; }
.ezr-header-phone{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:0.9rem; color: var(--ezr-secondary-green); }
.ezr-menu-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:transparent; border:none; }
.ezr-menu-toggle span{ width:100%; height:2px; background: var(--ezr-main-green); transition: transform .3s var(--ezr-ease), opacity .3s ease; }
.ezr-mobile-nav-menu{ display:flex; flex-direction:column; gap:4px; margin-bottom:14px; }
.ezr-mobile-nav-menu a{ display:block; padding: 12px 4px; font-weight:600; border-bottom:1px solid var(--ezr-line); }

@media (max-width: 960px){
	.ezr-primary-nav, .ezr-header-phone{ display:none; }
	.ezr-menu-toggle{ display:flex; }
}

/* ---------------- Hero ---------------- */
.ezr-hero{ position:relative; min-height: 92vh; display:flex; flex-direction:column; justify-content:center; overflow:hidden; color: var(--ezr-warm-white); }
.ezr-hero-bg{
	position:absolute; inset:0;
	background:
		radial-gradient(circle at 15% 20%, rgba(200,155,90,0.18), transparent 45%),
		linear-gradient(155deg, var(--ezr-main-green) 10%, var(--ezr-secondary-green) 60%, var(--ezr-main-green) 100%);
	background-size: 140% 140%;
	animation: ezr-hero-drift 18s ease-in-out infinite alternate;
}
@keyframes ezr-hero-drift{ from{ background-position: 0% 0%; } to{ background-position: 100% 100%; } }
.ezr-hero-inner{ position:relative; z-index:2; padding-top: 100px; padding-bottom: 60px; }
.ezr-hero-copy{ max-width: 720px; }
.ezr-hero-copy h1{ color: var(--ezr-warm-white); }
.ezr-hero-copy p{ color: rgba(244,239,230,0.82); font-size: 1.1rem; max-width: 560px; }
.ezr-hero-btn-row{ display:flex; gap:16px; flex-wrap:wrap; margin-top: 8px; }

.ezr-hero-search{ margin-top: 48px; }
.ezr-hero-scroll-cue{ position:absolute; bottom: 28px; left:50%; transform: translateX(-50%); z-index:2; }
.ezr-hero-scroll-cue span{ display:block; width:1px; height:46px; background: linear-gradient(var(--ezr-gold), transparent); animation: ezr-scroll-cue 1.8s ease-in-out infinite; }
@keyframes ezr-scroll-cue{ 0%{ transform: scaleY(0); transform-origin: top; } 50%{ transform: scaleY(1); transform-origin: top; } 51%{ transform-origin: bottom; } 100%{ transform: scaleY(0); transform-origin: bottom; } }

/* ---------------- Signature "deed corner" panel ---------------- */
.ezr-search-bar, .ezr-form-card, .ezr-listing-card, .ezr-cta-card, .ezr-testimonial-card,
.ezr-agent-card, .ezr-value-card, .ezr-blog-card{
	position: relative;
	background: var(--ezr-white);
	clip-path: polygon(0 0, calc(100% - var(--ezr-corner)) 0, 100% var(--ezr-corner), 100% 100%, 0 100%);
	transition: transform .45s var(--ezr-ease), box-shadow .45s var(--ezr-ease);
}
.ezr-search-bar::after, .ezr-form-card::after, .ezr-listing-card::after, .ezr-cta-card::after,
.ezr-testimonial-card::after, .ezr-agent-card::after, .ezr-value-card::after, .ezr-blog-card::after{
	content:""; position:absolute; top:0; right:0; width:0; height:0;
	border-top: var(--ezr-corner) solid var(--ezr-gold);
	border-left: var(--ezr-corner) solid transparent;
	opacity: 0.9;
}

/* ---------------- Search bar ---------------- */
.ezr-search-bar{
	display:flex; flex-wrap:wrap; gap: 0; align-items:end;
	padding: 26px 26px 22px; box-shadow: var(--ezr-shadow-lift);
}
.ezr-search-field{ display:flex; flex-direction:column; gap:6px; padding: 0 18px; border-right: 1px solid var(--ezr-line); flex:1 1 140px; }
.ezr-search-field-wide{ flex: 1 1 220px; }
.ezr-search-field:first-child{ padding-left:4px; }
.ezr-search-field label{ font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color: var(--ezr-secondary-green); display:flex; align-items:center; gap:6px; }
.ezr-search-field select, .ezr-search-field input{ border:none; background:transparent; font-weight:600; color: var(--ezr-ink); padding: 4px 0; }
.ezr-search-field select:focus, .ezr-search-field input:focus{ outline:none; }
.ezr-search-submit{ margin-left: 18px; align-self:center; }
@media (max-width: 900px){
	.ezr-search-bar{ flex-direction:column; align-items:stretch; }
	.ezr-search-field{ border-right:none; border-bottom:1px solid var(--ezr-line); padding: 12px 4px; }
	.ezr-search-submit{ margin: 14px 0 0; width:100%; }
}

/* ---------------- CTA split cards ---------------- */
.ezr-cta-split-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.ezr-cta-card{
	position:relative; overflow:hidden; padding: 50px 44px; box-shadow: var(--ezr-shadow-soft);
	background-image:
		linear-gradient(rgba(11,61,46,0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11,61,46,0.05) 1px, transparent 1px);
	background-size: 26px 26px;
}
.ezr-cta-glow{
	position:absolute; width: 260px; height:260px; border-radius:50%;
	background: radial-gradient(circle, rgba(200,155,90,0.28), transparent 70%);
	top: -100px; right: -100px; transition: transform .7s var(--ezr-ease), opacity .5s ease;
	opacity:0.6;
}
.ezr-cta-card:hover .ezr-cta-glow{ transform: translate(-40px, 40px) scale(1.25); opacity:1; }
.ezr-cta-icon{
	position:relative; z-index:2; display:inline-flex; align-items:center; justify-content:center;
	width: 58px; height:58px; border-radius:50%; margin-bottom: 20px;
	background: rgba(200,155,90,0.14); border: 1px solid rgba(200,155,90,0.4);
	transition: transform .45s var(--ezr-ease), background .3s ease;
}
.ezr-cta-icon i{ font-size:1.35rem; color: var(--ezr-gold); }
.ezr-cta-card:hover .ezr-cta-icon{ transform: scale(1.1) rotate(-6deg); background: rgba(200,155,90,0.24); }
.ezr-cta-card:hover{ transform: translateY(-8px); box-shadow: var(--ezr-shadow-lift); }
.ezr-cta-card-gold{ background-color: transparent; background-image:
		linear-gradient(155deg, var(--ezr-main-green), var(--ezr-secondary-green)),
		linear-gradient(rgba(244,239,230,0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(244,239,230,0.06) 1px, transparent 1px);
	background-blend-mode: normal; background-size: auto, 26px 26px, 26px 26px; color: var(--ezr-warm-white); }
.ezr-cta-card-gold h3, .ezr-cta-card-gold p{ color: var(--ezr-warm-white); }
.ezr-cta-card-gold p{ opacity:0.85; }
.ezr-cta-card-gold::after{ border-top-color: var(--ezr-warm-white); }
.ezr-cta-card-gold .ezr-cta-icon{ background: rgba(228,199,147,0.16); border-color: rgba(228,199,147,0.5); }
.ezr-cta-feature-row{ position:relative; z-index:2; display:flex; gap:18px; flex-wrap:wrap; margin: 6px 0 22px; }
.ezr-cta-feature-row span{ display:inline-flex; align-items:center; gap:7px; font-size:0.8rem; font-weight:600; opacity:0.85; }
.ezr-cta-feature-row i{ color: var(--ezr-gold); }
.ezr-cta-card i{ position:relative; z-index:2; }
.ezr-cta-card h3, .ezr-cta-card p, .ezr-cta-card .ezr-link-arrow{ position:relative; z-index:2; }
.ezr-link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color: var(--ezr-gold); }
.ezr-link-arrow i{ transition: transform .3s var(--ezr-ease); }
.ezr-cta-card:hover .ezr-link-arrow i, .ezr-blog-card:hover .ezr-link-arrow i{ transform: translateX(6px); }
@media (max-width: 780px){ .ezr-cta-split-grid{ grid-template-columns: 1fr; } .ezr-cta-card{ padding: 40px 30px; } }

/* ---------------- Listings grid / cards ---------------- */
.ezr-listings-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ezr-listing-card{ overflow:hidden; box-shadow: var(--ezr-shadow-soft); }
.ezr-listing-card:hover{ transform: translateY(-8px); box-shadow: var(--ezr-shadow-lift); }
.ezr-listing-media{ position:relative; display:block; aspect-ratio: 4/3; overflow:hidden; background: var(--ezr-secondary-green); }
.ezr-listing-media img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ezr-ease); }
.ezr-listing-card:hover .ezr-listing-media img{ transform: scale(1.08); }
.ezr-listing-media-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color: rgba(244,239,230,0.5); font-size:2.4rem; }
.ezr-listing-status{ position:absolute; top:14px; left:14px; background: var(--ezr-main-green); color: var(--ezr-warm-white); font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; padding: 6px 12px; border-radius: var(--ezr-radius); }
.ezr-listing-body{ padding: 22px 24px 26px; }
.ezr-listing-price{ font-family: var(--ezr-font-display); font-size: 1.5rem; color: var(--ezr-main-green); font-weight:600; }
.ezr-listing-title a{ font-size: 1.05rem; }
.ezr-listing-address{ font-size:0.88rem; color: var(--ezr-ink-soft); margin-bottom: 14px; }
.ezr-listing-facts{ display:flex; gap:16px; font-size:0.85rem; font-weight:600; color: var(--ezr-secondary-green); margin-bottom:18px; flex-wrap:wrap; }
.ezr-listing-facts i{ color: var(--ezr-gold); margin-right:5px; }

.ezr-empty-state{ text-align:center; padding: 60px 20px; grid-column: 1/-1; }
.ezr-empty-state i{ font-size:2.4rem; color: var(--ezr-gold); margin-bottom:14px; display:block; }

@media (max-width: 980px){ .ezr-listings-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){ .ezr-listings-grid{ grid-template-columns: 1fr; } }

.ezr-section-cta{ text-align:center; margin-top: 46px; }

/* ---------------- About snippet ---------------- */
.ezr-about-snippet-grid{ display:grid; grid-template-columns: 0.8fr 1fr; gap: 60px; align-items:center; }
.ezr-about-snippet-media{ position:relative; transition: transform .4s var(--ezr-ease); transform-style: preserve-3d; }
.ezr-about-snippet-media img{ border-radius: var(--ezr-radius); box-shadow: var(--ezr-shadow-lift); clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); }
.ezr-hud-chip-about{ position:absolute; z-index:3; }
.ezr-hud-chip-about-1{ top: 24px; left: -18px; animation-delay: 0s; }
.ezr-hud-chip-about-2{ top: 84px; right: -20px; animation-delay: 1.2s; }
.ezr-about-stat-badge{
	position:absolute; left: 24px; bottom: -22px; z-index:3;
	background: var(--ezr-white); padding: 16px 22px; border-radius: var(--ezr-radius);
	box-shadow: var(--ezr-shadow-lift); border: 1px solid var(--ezr-line);
	display:flex; flex-direction:column; line-height:1.15;
}
.ezr-about-stat-badge strong{ font-family: var(--ezr-font-display); font-size:1.5rem; color: var(--ezr-main-green); }
.ezr-about-stat-badge span{ font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; color: var(--ezr-ink-soft); }
.ezr-about-title{ font-weight:700; color: var(--ezr-secondary-green); }
@media (max-width: 860px){
	.ezr-about-snippet-grid{ grid-template-columns: 1fr; }
	.ezr-hud-chip-about-1{ left:0; }
	.ezr-hud-chip-about-2{ right:0; }
}

/* ---------------- Stats ---------------- */
.ezr-stats-row{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align:center; }
.ezr-stat-number{ font-family: var(--ezr-font-display); font-size: clamp(2.2rem,4vw,3.4rem); color: var(--ezr-gold-light); display:block; font-weight:600; }
.ezr-stat-label{ font-size:0.85rem; letter-spacing:0.04em; text-transform:uppercase; opacity:0.8; }
@media (max-width: 760px){ .ezr-stats-row{ grid-template-columns: 1fr 1fr; row-gap: 40px; } }

/* ---------------- Testimonials ---------------- */
.ezr-testimonials-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-bottom: 50px; }
.ezr-testimonial-card{ padding: 32px 30px; box-shadow: var(--ezr-shadow-soft); }
.ezr-testimonial-card:hover{ transform: translateY(-6px); }
.ezr-testimonial-stars{ color: var(--ezr-gold); margin-bottom:14px; letter-spacing: 3px; }
.ezr-testimonial-text{ font-style: italic; color: var(--ezr-ink); }
.ezr-testimonial-name{ font-weight:700; display:block; }
.ezr-testimonial-location{ font-size:0.82rem; color: var(--ezr-ink-soft); }
@media (max-width: 980px){ .ezr-testimonials-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px){ .ezr-testimonials-grid{ grid-template-columns: 1fr; } }

.ezr-reviews-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ezr-reviews-block{ background: rgba(244,239,230,0.06); border: 1px solid var(--ezr-line-light); border-radius: var(--ezr-radius); padding: 26px; }
.ezr-reviews-summary{ font-size:1.1rem; margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.ezr-reviews-track{ display:flex; gap:16px; overflow-x:auto; padding-bottom:8px; }
.ezr-review-card{ min-width: 240px; background: rgba(244,239,230,0.08); padding:18px; border-radius: var(--ezr-radius); }
.ezr-review-stars{ color: var(--ezr-gold); margin-bottom:8px; }
.ezr-review-author{ font-size:0.8rem; opacity:0.75; }
.ezr-reviews-fallback, .ezr-reviews-zillow{ text-align:center; }
.ezr-reviews-fallback i, .ezr-reviews-zillow i{ font-size:1.8rem; color: var(--ezr-gold); margin-bottom:10px; }
@media (max-width: 760px){ .ezr-reviews-row{ grid-template-columns: 1fr; } }

/* ---------------- Final CTA ---------------- */
.ezr-section-final-cta{ background: linear-gradient(155deg, var(--ezr-main-green), var(--ezr-secondary-green)); color: var(--ezr-warm-white); text-align:center; }
.ezr-final-cta-inner h2{ color: var(--ezr-warm-white); }
.ezr-final-cta-inner p{ color: rgba(244,239,230,0.8); max-width: 520px; margin: 0 auto 28px; }
.ezr-final-cta-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------------- Page hero (interior pages) ---------------- */
.ezr-page-hero{ background: linear-gradient(155deg, var(--ezr-main-green), var(--ezr-secondary-green)); color: var(--ezr-warm-white); padding: 150px 0 90px; }
.ezr-page-hero h1{ color: var(--ezr-warm-white); }
.ezr-page-hero p{ color: rgba(244,239,230,0.82); max-width:560px; }
.ezr-page-hero-compact{ padding: 130px 0 70px; text-align:center; }
.ezr-page-hero-compact .ezr-eyebrow{ justify-content:center; }
.ezr-page-hero-grid{ display:grid; grid-template-columns: 1fr 0.8fr; gap: 60px; align-items:center; }
.ezr-page-hero-media img{ border-radius: var(--ezr-radius); box-shadow: var(--ezr-shadow-lift); clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); }
@media (max-width: 860px){ .ezr-page-hero-grid{ grid-template-columns: 1fr; } }

/* ---------------- Values / timeline ---------------- */
.ezr-values-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.ezr-value-card{ padding: 34px 30px; text-align:center; box-shadow: var(--ezr-shadow-soft); }
.ezr-value-card i{ font-size:1.8rem; color: var(--ezr-gold); margin-bottom:16px; }
@media (max-width: 860px){ .ezr-values-grid{ grid-template-columns: 1fr; } }

.ezr-timeline{ display:grid; grid-template-columns: repeat(4,1fr); gap: 28px; position:relative; }
.ezr-timeline::before{ content:""; position:absolute; top:20px; left:5%; right:5%; height:1px; background: var(--ezr-line); }
.ezr-timeline-step{ position:relative; padding-top: 10px; }
.ezr-timeline-index{ display:inline-block; font-family: var(--ezr-font-display); font-size:1.3rem; color: var(--ezr-gold); background: var(--ezr-warm-white); padding-right: 12px; position:relative; z-index:1; }
.ezr-timeline-vertical{ display:flex; flex-direction:column; gap:26px; }
.ezr-timeline-vertical::before{ display:none; }
@media (max-width: 860px){ .ezr-timeline{ grid-template-columns: 1fr 1fr; } .ezr-timeline::before{ display:none; } }

/* ---------------- Forms ---------------- */
.ezr-form-card{ padding: 36px; box-shadow: var(--ezr-shadow-lift); }
.ezr-form-card-wide{ padding: 40px; }
.ezr-form-split{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 60px; align-items:center; }
.ezr-cma-layout{ display:grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items:start; }
@media (max-width: 900px){ .ezr-form-split, .ezr-cma-layout{ grid-template-columns: 1fr; } }

.ezr-form{ display:flex; flex-direction:column; gap: 18px; }
.ezr-form label{ display:flex; flex-direction:column; gap:6px; font-size:0.82rem; font-weight:700; letter-spacing:0.02em; color: var(--ezr-secondary-green); text-transform:uppercase; }
.ezr-form input, .ezr-form select, .ezr-form textarea{
	border: 1px solid var(--ezr-line); border-radius: var(--ezr-radius);
	padding: 13px 14px; font-weight:500; color: var(--ezr-ink); background: var(--ezr-warm-white);
	text-transform:none; letter-spacing:normal; font-size:0.95rem;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.ezr-form input:focus, .ezr-form select:focus, .ezr-form textarea:focus{ border-color: var(--ezr-gold); box-shadow: 0 0 0 3px rgba(200,155,90,0.2); outline:none; }
.ezr-form-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ezr-form-row-3{ grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 560px){ .ezr-form-row, .ezr-form-row-3{ grid-template-columns: 1fr; } }
.ezr-hp-field{ position:absolute; left:-9999px; opacity:0; height:0; width:0; }

.ezr-checklist li{ display:flex; align-items:center; gap:10px; margin-bottom:10px; color: rgba(244,239,230,0.9); }
.ezr-checklist i{ color: var(--ezr-gold); }

.ezr-form-banner{ padding: 14px 18px; border-radius: var(--ezr-radius); margin-bottom: 20px; font-weight:600; font-size:0.9rem; display:flex; align-items:center; gap:10px; }
.ezr-form-banner.is-success{ background: rgba(11,61,46,0.08); color: var(--ezr-main-green); border: 1px solid rgba(11,61,46,0.2); }
.ezr-form-banner.is-error{ background: rgba(180,60,60,0.08); color: #7a2b2b; border: 1px solid rgba(180,60,60,0.2); }

/* ---------------- Agent card / sidebars ---------------- */
.ezr-agent-card{ padding: 30px; text-align:center; box-shadow: var(--ezr-shadow-soft); margin-bottom: 24px; }
.ezr-agent-card img{ width:120px; height:120px; object-fit:cover; border-radius:50%; margin: 0 auto 16px; border: 3px solid var(--ezr-gold); }
.ezr-agent-card .ezr-btn{ margin-top:10px; }
.ezr-contact-grid{ display:grid; grid-template-columns: 1.3fr 0.9fr; gap: 50px; align-items:start; }
.ezr-contact-list li{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.ezr-contact-list i{ color: var(--ezr-gold); width:18px; }
@media (max-width: 860px){ .ezr-contact-grid{ grid-template-columns: 1fr; } }

/* ---------------- Single listing ---------------- */
.ezr-listing-hero{ position:relative; }
.ezr-listing-hero img{ width:100%; height: 60vh; object-fit:cover; }
.ezr-listing-hero-overlay{ position:absolute; left:0; right:0; bottom:0; padding: 40px 28px; background: linear-gradient(0deg, rgba(11,61,46,0.85), transparent); color: var(--ezr-warm-white); }
.ezr-listing-hero-overlay h1{ color: var(--ezr-warm-white); margin: 6px 0; }
.ezr-listing-hero-price{ font-family: var(--ezr-font-display); font-size:1.4rem; color: var(--ezr-gold-light); }
.ezr-listing-content{ display:grid; grid-template-columns: 1.6fr 1fr; gap: 50px; padding: 70px 0; align-items:start; }
.ezr-listing-facts-row{ display:flex; gap: 30px; flex-wrap:wrap; padding: 24px; background: var(--ezr-white); border-radius: var(--ezr-radius); box-shadow: var(--ezr-shadow-soft); margin-bottom: 36px; }
.ezr-listing-facts-row div{ display:flex; flex-direction:column; align-items:center; gap:4px; font-weight:600; }
.ezr-listing-facts-row i{ color: var(--ezr-gold); }
.ezr-listing-map{ margin-top: 30px; border-radius: var(--ezr-radius); overflow:hidden; }
.ezr-mls{ font-size:0.78rem; color: var(--ezr-ink-soft); }
@media (max-width: 900px){ .ezr-listing-content{ grid-template-columns: 1fr; } }

/* ---------------- Blog ---------------- */
.ezr-blog-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.ezr-blog-card{ overflow:hidden; box-shadow: var(--ezr-shadow-soft); }
.ezr-blog-body{ padding: 22px; }
@media (max-width: 900px){ .ezr-blog-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px){ .ezr-blog-grid{ grid-template-columns: 1fr; } }
.ezr-pagination{ display:flex; justify-content:center; gap:10px; margin-top: 40px; }

/* ---------------- Footer ---------------- */
.ezr-footer{ background: var(--ezr-main-green); color: rgba(244,239,230,0.85); padding-top: 80px; }
.ezr-footer-top{ display:grid; grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr; gap: 40px; padding-bottom: 60px; border-bottom: 1px solid var(--ezr-line-light); }
.ezr-footer-logo{ height: 52px; margin-bottom: 18px; }
.ezr-footer-socials{ display:flex; gap: 14px; margin-top: 18px; }
.ezr-footer-socials a{ width:38px; height:38px; border-radius:50%; border:1px solid var(--ezr-line-light); display:flex; align-items:center; justify-content:center; transition: background .3s ease, transform .3s ease; }
.ezr-footer-socials a:hover{ background: var(--ezr-gold); color: var(--ezr-main-green); transform: translateY(-3px); }
.ezr-footer-widget-title{ font-family: var(--ezr-font-body); font-size:0.82rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--ezr-gold-light); margin-bottom: 18px; }
.ezr-footer-menu li, .ezr-footer-widget p{ margin-bottom: 12px; }
.ezr-footer-menu li{ margin-bottom: 12px; }
.ezr-footer-menu a{ color: rgba(244,239,230,0.82); font-weight:500; }
.ezr-footer-menu a:hover{ color: var(--ezr-gold-light); }
.ezr-footer-contact ul{ margin-bottom: 20px; }
.ezr-footer-contact li{ display:flex; gap:10px; align-items:center; margin-bottom: 12px; font-size:0.9rem; }
.ezr-footer-contact i{ color: var(--ezr-gold); }
.ezr-footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap: 10px; padding: 26px 28px; font-size: 0.8rem; opacity: 0.7; }
@media (max-width: 900px){ .ezr-footer-top{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .ezr-footer-top{ grid-template-columns: 1fr; } }

/* ---------------- Utility ---------------- */
.screen-reader-text{ position:absolute !important; clip: rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.ezr-skip-link{ position:absolute; top:-60px; left: 10px; background: var(--ezr-main-green); color: var(--ezr-warm-white); padding: 12px 18px; z-index:1100; border-radius: var(--ezr-radius); transition: top .3s ease; }
.ezr-skip-link:focus{ top: 10px; }

/* AOS override so reveals feel liquid rather than default fade/slide */
[data-aos]{ transition-timing-function: var(--ezr-ease) !important; }
[data-aos="fade-up"]{ transform: translateY(28px); }
[data-aos="zoom-in"]{ transform: scale(0.94); }

/* ==========================================================================
   HERO v2 — name-forward layout + interactive hologram house
   ========================================================================== */
.ezr-hero{ min-height: 96vh; padding-bottom: 60px; }
.ezr-hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns: 1.05fr 0.95fr; gap: 40px; align-items:center; padding-top: 120px; }
.ezr-hero-copy{ max-width: 560px; }
.ezr-hero-copy h1{ color: var(--ezr-warm-white); font-size: clamp(2.6rem, 5.4vw, 4.6rem); }
.ezr-hero-subtitle{ color: rgba(244,239,230,0.82); font-size: 1.08rem; max-width: 480px; }
.ezr-hero-trust-row{ display:flex; gap: 34px; margin-top: 38px; }
.ezr-hero-trust-row div{ display:flex; flex-direction:column; }
.ezr-hero-trust-row strong{ font-family: var(--ezr-font-display); font-size:1.5rem; color: var(--ezr-gold-light); }
.ezr-hero-trust-row span{ font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase; color: rgba(244,239,230,0.65); }

.ezr-hero-search-wrap{ position:relative; z-index:3; margin-top: 60px; }

@media (max-width: 980px){
	.ezr-hero-grid{ grid-template-columns: 1fr; padding-top: 110px; text-align:center; }
	.ezr-hero-copy{ max-width: 100%; margin: 0 auto; }
	.ezr-hero-subtitle{ margin-left:auto; margin-right:auto; }
	.ezr-hero-btn-row, .ezr-hero-trust-row{ justify-content:center; }
}

/* ---------------- Interactive hologram house ---------------- */
.ezr-house-scene{
	position:relative; height: 420px; display:flex; align-items:center; justify-content:center;
	perspective: 1400px; --hw: 110px; --hh: 85px; --rs: 130px;
	cursor: grab; touch-action: none;
}
.ezr-house-scene:active{ cursor: grabbing; }

.ezr-house{
	position:absolute; top:52%; left:50%; width:0; height:0;
	transform-style: preserve-3d;
	transform: translate(-50%,-50%) rotateX(-12deg) rotateY(-28deg);
	cursor: grab;
}
.ezr-house-scene.is-tracking .ezr-house{ cursor: grabbing; }

.ezr-house-face{
	position:absolute; left: calc(var(--hw) * -1); top: calc(var(--hh) * -1);
	width: calc(var(--hw) * 2); height: calc(var(--hh) * 2);
	background: linear-gradient(160deg, rgba(200,155,90,0.14), rgba(23,75,59,0.28));
	border: 1px solid rgba(228,199,147,0.55);
	box-shadow: inset 0 0 30px rgba(200,155,90,0.12);
	backdrop-filter: blur(1px);
}
.ezr-face-front{ transform: translateZ(var(--hw)); transform-style: preserve-3d; }
.ezr-face-back{ transform: rotateY(180deg) translateZ(var(--hw)); opacity:0.5; }
.ezr-face-right{ transform: rotateY(90deg) translateZ(var(--hw)); opacity:0.75; }
.ezr-face-left{ transform: rotateY(-90deg) translateZ(var(--hw)); opacity:0.6; }

.ezr-window{
	position:absolute; top: 26%; width: 22%; height: 26%;
	background: radial-gradient(circle, rgba(228,199,147,0.55), rgba(228,199,147,0.08));
	border: 1px solid rgba(228,199,147,0.7);
	animation: ezr-window-glow 5s ease-in-out infinite;
}
.ezr-window-l{ left: 12%; }
.ezr-window-r{ right: 12%; animation-delay: 1.4s; }
@keyframes ezr-window-glow{ 0%,100%{ opacity:0.55; } 50%{ opacity:1; } }

.ezr-door{
	position:absolute; bottom:0; left: 50%; width: 20%; height: 46%;
	margin-left: -10%; transform-origin: left center; transform: rotateY(0deg) translateZ(1px);
	background: linear-gradient(180deg, rgba(200,155,90,0.5), rgba(11,61,46,0.55));
	border: 1px solid var(--ezr-gold-light);
	transition: transform .8s var(--ezr-ease);
}
.ezr-house-scene.is-open .ezr-door{ transform: rotateY(-110deg) translateZ(1px); }
.ezr-door-knob{ position:absolute; right:12%; top:48%; width:5px; height:5px; border-radius:50%; background: var(--ezr-gold-light); }
.ezr-door-glow{
	position:absolute; bottom:0; left: 50%; width: 22%; height: 46%; margin-left: -11%;
	background: radial-gradient(ellipse at center, rgba(228,199,147,0.9), transparent 70%);
	opacity:0; transition: opacity .6s ease .2s; filter: blur(2px);
}
.ezr-house-scene.is-open .ezr-door-glow{ opacity:0.9; }

.ezr-gable{
	position:absolute; top: calc(-1 * (var(--hw) * 0.62)); left:0; width:100%; height: calc(var(--hw) * 0.62);
	background: linear-gradient(180deg, rgba(228,199,147,0.32), rgba(228,199,147,0.06));
	border: 1px solid rgba(228,199,147,0.6); border-bottom: none;
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.ezr-roof-cap{
	position:absolute;
	width: calc(var(--hw) * 2 + 16px); height: calc(var(--hw) * 2 + 16px);
	left: calc(var(--hw) * -1 - 8px); top: calc(var(--hw) * -1 - 8px);
	transform: rotateX(90deg) translateZ(var(--hh));
	background: linear-gradient(135deg, rgba(228,199,147,0.3), rgba(228,199,147,0.05));
	border: 1px solid rgba(228,199,147,0.55);
	box-shadow: 0 0 24px rgba(228,199,147,0.18);
}
.ezr-chimney{
	position:absolute; left: calc(var(--hw) * 0.42); top: calc(-1 * (var(--hh) + var(--hw) * 0.62) - 34px);
	width: 15%; height: 40px; transform: translateZ(calc(var(--hw) * -0.3));
	background: linear-gradient(180deg, rgba(228,199,147,0.5), rgba(11,61,46,0.4));
	border: 1px solid rgba(228,199,147,0.55);
}

.ezr-house-ground{
	position:absolute; bottom: 6%; left:50%; width: 260px; height: 260px; margin-left:-130px;
	border-radius: 50%; background: radial-gradient(circle, rgba(200,155,90,0.16), transparent 68%);
	filter: blur(2px);
}
.ezr-house-ring{
	position:absolute; bottom: 9%; left:50%; width: 200px; height: 46px; margin-left:-100px;
	border: 1px solid rgba(228,199,147,0.35); border-radius: 50%;
	animation: ezr-ring-pulse 3.4s ease-in-out infinite;
}
@keyframes ezr-ring-pulse{ 0%,100%{ transform: scale(0.94); opacity:0.5; } 50%{ transform: scale(1.05); opacity:0.9; } }

.ezr-hud-chip{
	position:absolute; z-index:4; display:inline-flex; align-items:center; gap:8px;
	padding: 9px 16px; font-size: 0.76rem; font-weight:600; letter-spacing:0.02em;
	color: var(--ezr-warm-white); background: rgba(11,61,46,0.55);
	border: 1px solid rgba(228,199,147,0.4); border-radius: 999px;
	backdrop-filter: blur(6px);
	animation: ezr-chip-float 4.5s ease-in-out infinite;
}
.ezr-hud-chip i{ color: var(--ezr-gold-light); }
.ezr-hud-chip-1{ top: 6%; left: 0; animation-delay: 0s; }
.ezr-hud-chip-2{ top: 40%; right: -2%; animation-delay: 1s; }
.ezr-hud-chip-3{ bottom: 12%; left: 6%; animation-delay: 2s; }
@keyframes ezr-chip-float{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-10px); } }

.ezr-house-hint{
	position:absolute; bottom: -2px; left:50%; transform: translateX(-50%);
	display:flex; align-items:center; gap:8px; background: rgba(11,61,46,0.6);
	color: rgba(244,239,230,0.85); border: 1px solid rgba(228,199,147,0.35);
	padding: 8px 16px; border-radius: 999px; font-size:0.76rem; font-weight:600;
	backdrop-filter: blur(6px); transition: opacity .5s ease;
}
.ezr-house-hint-dot{ width:6px; height:6px; border-radius:50%; background: var(--ezr-gold-light); animation: ezr-window-glow 1.6s ease-in-out infinite; }
.ezr-house-hint.is-hidden{ opacity:0; pointer-events:none; }

@media (max-width: 980px){
	.ezr-house-scene{ height: 320px; --hw: 74px; --hh: 58px; --rs: 90px; }
	.ezr-hud-chip{ font-size:0.68rem; padding:7px 12px; }
	.ezr-hud-chip-1{ left: 2%; }
	.ezr-hud-chip-2{ right: 0; }
}
@media (max-width: 560px){
	.ezr-house-scene{ height: 280px; --hw: 60px; --hh: 48px; --rs: 74px; }
	.ezr-hud-chip-3{ display:none; }
}

/* ==========================================================================
   Areas of Expertise — abstract territory panels (no map assets required)
   ========================================================================== */
.ezr-territory-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.ezr-territory-card{
	position:relative; overflow:hidden; padding: 34px 30px 30px; text-align:center; cursor:pointer;
	background: linear-gradient(160deg, var(--ezr-main-green), var(--ezr-secondary-green));
	box-shadow: var(--ezr-shadow-soft); color: var(--ezr-warm-white);
}
.ezr-territory-card h3{ color: var(--ezr-warm-white); position:relative; z-index:2; }
.ezr-territory-card:hover{ transform: translateY(-8px); box-shadow: var(--ezr-shadow-lift); }
.ezr-territory-glow{
	position:absolute; width: 220px; height:220px; border-radius:50%;
	background: radial-gradient(circle, rgba(200,155,90,0.35), transparent 70%);
	top: -80px; right: -80px; transition: transform .6s var(--ezr-ease);
}
.ezr-territory-card:hover .ezr-territory-glow{ transform: scale(1.3); }
.ezr-territory-cities{ position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top: 16px; }
.ezr-territory-cities span{ font-size:0.76rem; font-weight:600; letter-spacing:0.02em; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(228,199,147,0.4); color: rgba(244,239,230,0.9); }
@media (max-width: 860px){ .ezr-territory-grid{ grid-template-columns: 1fr; } }

/* Landmark silhouettes — pure CSS, one per county, so each card reads as
   a real place rather than a generic colored block. */
.ezr-territory-visual{ position:relative; height: 96px; margin-bottom: 14px; display:flex; align-items:flex-end; justify-content:center; z-index:2; }
.ezr-landmark{ position:relative; display:block; opacity:0.9; transition: transform .5s var(--ezr-ease), opacity .4s ease; }
.ezr-territory-card:hover .ezr-landmark{ transform: translateY(-4px); opacity:1; }

.ezr-landmark-dome{ width: 84px; height: 70px; }
.ezr-dome-base{ position:absolute; bottom:0; left:12px; width:60px; height:28px; background: linear-gradient(180deg, rgba(228,199,147,0.5), rgba(228,199,147,0.15)); border: 1px solid rgba(228,199,147,0.6); border-bottom:none; }
.ezr-dome-cap{ position:absolute; bottom:26px; left:22px; width:40px; height:40px; border-radius: 50% 50% 0 0; background: linear-gradient(180deg, rgba(228,199,147,0.6), rgba(228,199,147,0.2)); border: 1px solid rgba(228,199,147,0.65); border-bottom:none; }
.ezr-dome-spire{ position:absolute; bottom:64px; left:41px; width:2px; height:16px; background: rgba(228,199,147,0.8); }

.ezr-landmark-mountain{
	width: 0; height:0; border-left: 46px solid transparent; border-right: 46px solid transparent; border-bottom: 74px solid rgba(228,199,147,0.35);
	filter: drop-shadow(0 0 10px rgba(228,199,147,0.2));
	position:relative;
}
.ezr-landmark-mountain::before{
	content:""; position:absolute; top:0; left:-16px; width:0; height:0;
	border-left: 14px solid transparent; border-right: 14px solid transparent; border-bottom: 22px solid rgba(244,239,230,0.55);
}

.ezr-landmark-needle{ width: 60px; height: 90px; }
.ezr-needle-base{ position:absolute; bottom:0; left:27px; width:0; height:0; border-left:12px solid transparent; border-right:12px solid transparent; border-bottom:20px solid rgba(228,199,147,0.15); border-top:none; transform: rotate(180deg); }
.ezr-needle-mast{ position:absolute; bottom:6px; left:29px; width:2px; height:60px; background: rgba(228,199,147,0.7); }
.ezr-needle-top{ position:absolute; top:0; left:12px; width:36px; height:14px; border-radius: 50%; background: linear-gradient(180deg, rgba(228,199,147,0.6), rgba(228,199,147,0.2)); border: 1px solid rgba(228,199,147,0.65); }

.ezr-territory-cta{
	position:relative; z-index:2; display:inline-flex; align-items:center; gap:8px;
	margin-top: 18px; font-size:0.85rem; font-weight:700; color: var(--ezr-gold-light);
	opacity:0; transform: translateY(6px); transition: opacity .35s ease, transform .35s ease;
}
.ezr-territory-cta i{ transition: transform .3s var(--ezr-ease); }
.ezr-territory-card:hover .ezr-territory-cta,
.ezr-territory-card.is-open .ezr-territory-cta{ opacity:1; transform: translateY(0); }
.ezr-territory-cta:hover i{ transform: translateX(4px); }

/* ==========================================================================
   Listing card magnetic tilt (JS adds --tx/--ty via inline custom props)
   ========================================================================== */
.ezr-listing-card{ transform: perspective(900px) rotateX(var(--ty, 0deg)) rotateY(var(--tx, 0deg)) translateY(0); }
.ezr-listing-card:hover{ transform: perspective(900px) rotateX(var(--ty, 0deg)) rotateY(var(--tx, 0deg)) translateY(-8px); }

/* ==========================================================================
   Premium slide-in mobile menu
   ========================================================================== */
.ezr-mobile-menu{
	position: fixed; top:0; right:0; height: 100vh; width: min(340px, 84vw);
	background: linear-gradient(180deg, var(--ezr-main-green), var(--ezr-secondary-green));
	transform: translateX(100%); visibility: hidden; transition: transform .45s var(--ezr-ease), visibility 0s linear .45s;
	z-index: 1100; padding: 100px 30px 30px; display:flex; flex-direction:column; gap:6px;
	box-shadow: -30px 0 60px rgba(0,0,0,0.25);
}
.ezr-mobile-menu.is-open{ transform: translateX(0); visibility: visible; transition: transform .45s var(--ezr-ease); }
.ezr-mobile-nav-menu a{ color: var(--ezr-warm-white); border-bottom-color: rgba(228,199,147,0.2); }
.ezr-menu-backdrop{ position: fixed; inset:0; background: rgba(11,61,46,0.4); backdrop-filter: blur(2px); opacity:0; pointer-events:none; transition: opacity .4s ease; z-index:1090; }
.ezr-menu-backdrop.is-open{ opacity:1; pointer-events:auto; }
.ezr-menu-toggle.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.ezr-menu-toggle.is-active span:nth-child(2){ opacity:0; }
.ezr-menu-toggle.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.ezr-header-portal{ font-size:0.82rem; font-weight:600; color: var(--ezr-secondary-green); opacity:0.85; }
.ezr-header-portal:hover{ opacity:1; text-decoration: underline; text-underline-offset:3px; }
.ezr-mobile-nav-extra{ display:block; padding: 12px 4px; font-weight:600; color: rgba(244,239,230,0.75); border-bottom: 1px solid rgba(228,199,147,0.2); }
@media (max-width: 1080px){ .ezr-header-portal{ display:none; } }

.ezr-checklist-dark{ margin: 18px 0 26px; }
.ezr-checklist-dark li{ color: var(--ezr-ink); }
.ezr-checklist-dark i{ color: var(--ezr-gold); }

/* Sample-content ribbon — unmistakable on any card so a site visitor can
   never confuse a placeholder listing/testimonial for a real one. */
.ezr-sample-ribbon{
	position:absolute; top:14px; right:-34px; z-index:3;
	background: #b4451c; color:#fff; font-size:0.7rem; font-weight:800; letter-spacing:0.08em;
	padding: 5px 40px; transform: rotate(35deg); box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.ezr-testimonial-card{ position:relative; }
.ezr-sample-ribbon-static{ position:absolute; top:10px; right:10px; transform:none; padding:4px 10px; border-radius: var(--ezr-radius); }

/* ==========================================================================
   AGENT SHOWCASE (replaces CSS 3D house)
   ========================================================================== */
.ezr-agent-showcase{
	position:relative; display:flex; align-items:center; justify-content:center;
	height: 480px; perspective: 1200px;
}
.ezr-showcase-frame{
	position:relative; width: 340px; height: 420px; border-radius: var(--ezr-radius);
	overflow:hidden; box-shadow: var(--ezr-shadow-lift);
	clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 0 100%);
	transition: transform .35s var(--ezr-ease);
	transform: rotateY(var(--showcase-ry, -4deg)) rotateX(var(--showcase-rx, 2deg));
}
.ezr-showcase-photo{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ezr-ease); }
.ezr-showcase-frame:hover .ezr-showcase-photo{ transform: scale(1.04); }
.ezr-showcase-overlay{
	position:absolute; inset:0;
	background: linear-gradient(0deg, rgba(11,61,46,0.5) 0%, transparent 40%);
}
.ezr-showcase-frame::after{
	content:""; position:absolute; top:0; right:0; width:0; height:0;
	border-top: 36px solid var(--ezr-gold); border-left: 36px solid transparent;
	opacity:0.9;
}
.ezr-showcase-badges{ position:absolute; inset:0; pointer-events:none; z-index:3; }
.ezr-showcase-badge{
	position:absolute; display:flex; align-items:center; gap:10px;
	padding: 10px 16px; background: rgba(11,61,46,0.7); backdrop-filter: blur(8px);
	border: 1px solid rgba(228,199,147,0.45); border-radius: var(--ezr-radius);
	color: var(--ezr-warm-white); font-size:0.78rem; pointer-events:auto;
	animation: ezr-chip-float 5s ease-in-out infinite;
}
.ezr-showcase-badge i{ color: var(--ezr-gold-light); font-size:1rem; }
.ezr-showcase-badge span{ display:flex; flex-direction:column; line-height:1.3; }
.ezr-showcase-badge strong{ font-size:0.82rem; }
.ezr-showcase-badge-1{ top: 8%; left: -30px; animation-delay: 0s; }
.ezr-showcase-badge-2{ top: 46%; right: -40px; animation-delay: 1.2s; }
.ezr-showcase-badge-3{ bottom: 14%; left: -20px; animation-delay: 2.4s; }
.ezr-showcase-ring{
	position:absolute; bottom: -10px; left:50%; width: 280px; height: 50px; margin-left:-140px;
	border: 1px solid rgba(228,199,147,0.3); border-radius: 50%;
	animation: ezr-ring-pulse 3.5s ease-in-out infinite;
}
@media (max-width: 980px){
	.ezr-agent-showcase{ height: 380px; }
	.ezr-showcase-frame{ width: 260px; height: 340px; }
	.ezr-showcase-badge{ font-size:0.7rem; padding:8px 12px; }
	.ezr-showcase-badge-1{ left:0; }
	.ezr-showcase-badge-2{ right:0; }
	.ezr-showcase-badge-3{ left:0; }
}
@media (max-width: 560px){
	.ezr-agent-showcase{ height: 320px; }
	.ezr-showcase-frame{ width: 220px; height: 290px; }
	.ezr-showcase-badge-3{ display:none; }
}

/* ==========================================================================
   AREAS OF EXPERTISE (rich cards)
   ========================================================================== */
.ezr-areas-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.ezr-area-card{
	position:relative; overflow:hidden; border-radius: var(--ezr-radius);
	min-height: 420px; display:flex; flex-direction:column; justify-content:flex-end;
	color: var(--ezr-warm-white); transition: transform .5s var(--ezr-ease), box-shadow .5s var(--ezr-ease);
	box-shadow: var(--ezr-shadow-soft);
}
.ezr-area-card:hover{ transform: translateY(-10px); box-shadow: var(--ezr-shadow-lift); }
.ezr-area-card-bg{
	position:absolute; inset:0;
	background: linear-gradient(170deg, var(--ezr-main-green) 5%, var(--ezr-secondary-green) 50%, rgba(11,61,46,0.95) 100%);
	transition: transform .6s var(--ezr-ease);
}
.ezr-area-card:hover .ezr-area-card-bg{ transform: scale(1.06); }
.ezr-area-card-content{ position:relative; z-index:2; padding: 36px 28px; }
.ezr-area-icon{
	display:inline-flex; align-items:center; justify-content:center;
	width:52px; height:52px; border-radius:50%;
	background: rgba(228,199,147,0.15); border: 1px solid rgba(228,199,147,0.4);
	margin-bottom: 18px;
}
.ezr-area-icon i{ font-size:1.3rem; color: var(--ezr-gold-light); }
.ezr-area-card h3{ color: var(--ezr-warm-white); font-size: clamp(1.3rem,2vw,1.6rem); margin-bottom:10px; }
.ezr-area-card p{ color: rgba(244,239,230,0.78); font-size:0.9rem; line-height:1.55; margin-bottom:16px; }
.ezr-area-cities{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.ezr-area-cities span{ font-size:0.74rem; font-weight:600; letter-spacing:0.02em; padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(228,199,147,0.35); color: rgba(244,239,230,0.9); }
.ezr-area-bottom{ display:flex; justify-content:space-between; align-items:center; }
.ezr-area-stat{ display:flex; align-items:center; gap:8px; font-size:0.8rem; font-weight:600; color: var(--ezr-gold-light); }
.ezr-area-card .ezr-link-arrow{ color: var(--ezr-gold-light); font-size:0.85rem; }
.ezr-area-card:hover .ezr-link-arrow i{ transform: translateX(5px); }
@media (max-width: 900px){ .ezr-areas-grid{ grid-template-columns: 1fr; } .ezr-area-card{ min-height: 340px; } }

/* CTA step previews */
.ezr-cta-steps-preview{
	display:flex; gap:16px; margin: 12px 0 18px; position:relative; z-index:2;
}
.ezr-cta-steps-preview span{
	display:flex; align-items:center; gap:6px; font-size:0.78rem; font-weight:500; opacity:0.75;
}
.ezr-cta-steps-preview strong{
	font-family: var(--ezr-font-display); font-size:1rem; color: var(--ezr-gold); opacity:1;
}
@media (max-width: 640px){ .ezr-cta-steps-preview{ flex-direction:column; gap:6px; } }

/* ==========================================================================
   STATS (card grid, not just a number row)
   ========================================================================== */
.ezr-stats-grid{
	display:grid; grid-template-columns: repeat(3,1fr); gap:24px;
}
.ezr-stat-card{
	text-align:center; padding: 36px 20px;
	background: rgba(244,239,230,0.06); border: 1px solid rgba(228,199,147,0.2);
	border-radius: var(--ezr-radius);
	transition: transform .4s var(--ezr-ease), border-color .3s ease;
}
.ezr-stat-card:hover{ transform: translateY(-6px); border-color: var(--ezr-gold); }
.ezr-stat-card i{
	display:block; font-size:1.6rem; color: var(--ezr-gold-light); margin-bottom:14px;
}
.ezr-stat-card .ezr-stat-number{
	display:block; font-family: var(--ezr-font-display); font-size: clamp(2.4rem,4vw,3.2rem);
	color: var(--ezr-gold-light); font-weight:600; line-height:1;
}
.ezr-stat-card .ezr-stat-label{
	display:block; font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase;
	color: rgba(244,239,230,0.7); margin-top:6px;
}
.ezr-stat-desc{
	font-size:0.78rem; color: rgba(244,239,230,0.5); margin-top:10px; line-height:1.45;
}
@media (max-width: 900px){ .ezr-stats-grid{ grid-template-columns: 1fr; } }
@media (max-width: 560px){ .ezr-stats-grid{ grid-template-columns: 1fr; } }

/* ==========================================================================
   v2.0.2 FIXES — search, buy/sell, about, reviews
   ========================================================================== */

/* SEARCH BAR — desktop: button inline right, compact fields */
.ezr-search-bar{
	display:grid !important;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 0.8fr auto;
	align-items:end; gap:0; padding: 18px 22px 16px !important;
}
.ezr-search-field{ padding: 0 14px !important; border-right: 1px solid var(--ezr-line) !important; border-bottom:none !important; }
.ezr-search-field:last-of-type{ border-right:none !important; }
.ezr-search-submit{ margin:0 !important; padding: 13px 24px !important; white-space:nowrap; }
.ezr-search-field label{ font-size:0.68rem !important; margin-bottom:2px; }
.ezr-search-field select, .ezr-search-field input{ padding: 6px 0 4px !important; font-size:0.92rem; }

/* SEARCH BAR — mobile: compact stacked, no giant gaps */
@media (max-width: 900px){
	.ezr-search-bar{
		grid-template-columns: 1fr !important;
		gap:0 !important; padding: 16px !important;
	}
	.ezr-search-field{
		border-right: none !important;
		border-bottom: 1px solid var(--ezr-line) !important;
		padding: 10px 2px !important;
	}
	.ezr-search-field label{ margin-bottom:1px; }
	.ezr-search-field select, .ezr-search-field input{ padding: 4px 0 2px !important; }
	.ezr-search-submit{ margin-top: 10px !important; width:100%; }
}

/* BUY/SELL — tighter cards, less dead whitespace */
.ezr-cta-card{ padding: 36px 32px 30px !important; }
.ezr-cta-card h3{ font-size: clamp(1.2rem, 1.8vw, 1.4rem); margin-bottom:8px; }
.ezr-cta-card p{ font-size:0.92rem; margin-bottom:10px; }
@media (max-width: 780px){ .ezr-cta-card{ padding: 28px 24px 24px !important; } }

/* ABOUT EBEN — fix desktop text alignment, reduce empty space */
.ezr-about-snippet-grid{ gap: 50px !important; }
.ezr-about-snippet-copy{ display:flex; flex-direction:column; justify-content:center; }
.ezr-about-snippet-copy h2{ margin-bottom:4px; }
.ezr-about-snippet-copy .ezr-about-title{ margin-bottom:12px; }
.ezr-about-snippet-copy p{ font-size:0.95rem; }
.ezr-about-snippet-copy .ezr-checklist-dark{ margin: 14px 0 20px; }
.ezr-about-snippet-copy .ezr-checklist-dark li{ margin-bottom:8px; font-size:0.92rem; }

/* GOOGLE/ZILLOW REVIEWS — proper alignment */
.ezr-reviews-row{
	display:grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
	align-items: stretch;
}
.ezr-reviews-block{
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	text-align:center; padding: 32px 24px !important;
	background: var(--ezr-white) !important;
	border: 1px solid var(--ezr-line) !important;
	border-radius: var(--ezr-radius);
	min-height: 160px;
}
.ezr-reviews-block i{ font-size:2rem; color: var(--ezr-gold); margin-bottom:12px; }
.ezr-reviews-block p{ margin:0 0 14px; color: var(--ezr-ink-soft); font-size:0.92rem; }
.ezr-reviews-fallback, .ezr-reviews-zillow{ text-align:center; }
.ezr-muted{ font-size:0.82rem; display:block; margin-top:8px; }
@media (max-width: 760px){
	.ezr-reviews-row{ grid-template-columns: 1fr !important; }
}

/* HERO SEARCH — position it better on mobile */
@media (max-width: 980px){
	.ezr-hero-search-wrap{ margin-top: 30px; }
}

/* STAT CARDS — tighter on mobile */
@media (max-width: 560px){
	.ezr-stat-card{ padding: 24px 16px; }
	.ezr-stat-desc{ display:none; }
}

/* TESTIMONIALS grid — ensure 3 columns on desktop */
.ezr-testimonials-grid{
	grid-template-columns: repeat(3,1fr) !important;
}
@media (max-width: 980px){ .ezr-testimonials-grid{ grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 640px){ .ezr-testimonials-grid{ grid-template-columns: 1fr !important; } }

/* ==========================================================================
   v2.1.0 — spacing, unique buy/sell, listing placeholders
   ========================================================================== */

/* GLOBAL: tighten section spacing — 110px was way too generous */
.ezr-section{ padding: 70px 0 !important; }
.ezr-hero{ min-height: 88vh !important; }
.ezr-section-heading{ margin-bottom: 36px !important; }
.ezr-section-cta{ margin-top: 32px !important; }
.ezr-page-hero{ padding: 120px 0 60px !important; }
.ezr-page-hero-compact{ padding: 110px 0 50px !important; }

/* LISTING PLACEHOLDERS — styled gradient instead of ugly green box */
.ezr-listing-media-placeholder{
	background: linear-gradient(135deg, var(--ezr-secondary-green) 0%, var(--ezr-main-green) 60%, rgba(200,155,90,0.3) 100%) !important;
	color: rgba(228,199,147,0.4) !important;
}

/* ==========================================================================
   BUY / SELL — DIAGONAL SPLIT PANELS
   Unique interactive element: two panels share a diagonal boundary that
   shifts toward whichever side the cursor is on, revealing more of that
   panel. Each panel has a floating icon that animates on hover.
   ========================================================================== */
.ezr-cta-split-grid{
	display:grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0 !important;
	overflow: hidden;
	border-radius: var(--ezr-radius);
	box-shadow: var(--ezr-shadow-lift);
	min-height: 340px;
}

.ezr-cta-card{
	position:relative !important; overflow:hidden !important;
	padding: 40px 36px 36px !important;
	clip-path: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display:flex; flex-direction:column; justify-content:center;
	transition: flex .5s var(--ezr-ease) !important;
	background-size: 22px 22px !important;
}
.ezr-cta-card::after{ display:none !important; }

/* The diagonal edge — a rotated pseudo-element on the left card */
.ezr-cta-card:first-child::before{
	content:""; position:absolute; top:-10%; right:-40px; width: 80px; height:120%;
	background: var(--ezr-warm-white);
	transform: skewX(-4deg);
	z-index:3;
	transition: right .5s var(--ezr-ease);
}
.ezr-cta-split-grid:hover .ezr-cta-card:first-child:hover::before{ right:-50px; }
.ezr-cta-split-grid:hover .ezr-cta-card:last-child:hover ~ .ezr-cta-card:first-child::before{ right:-30px; }

/* Hover expand effect */
.ezr-cta-split-grid:hover .ezr-cta-card:first-child:hover{ flex: 1.15; }
.ezr-cta-split-grid:hover .ezr-cta-card:last-child:hover{ flex: 1.15; }
.ezr-cta-split-grid:hover .ezr-cta-card:not(:hover){ flex: 0.85; opacity:0.85; }

/* Animated icon on hover */
.ezr-cta-icon{
	transition: transform .5s var(--ezr-ease), background .3s ease, box-shadow .4s ease !important;
}
.ezr-cta-card:hover .ezr-cta-icon{
	transform: scale(1.15) rotate(-8deg) !important;
	box-shadow: 0 8px 30px rgba(200,155,90,0.3);
}

/* Dark panel gets diagonal from left */
.ezr-cta-card-gold::before{
	content:""; position:absolute; top:-10%; left:-40px; width: 80px; height:120%;
	background: var(--ezr-main-green);
	transform: skewX(-4deg);
	z-index:1;
	transition: left .5s var(--ezr-ease);
}

/* Glow follows cursor on each panel */
.ezr-cta-glow{
	width: 300px !important; height: 300px !important;
	top: -120px !important; right: -120px !important;
	transition: transform .8s var(--ezr-ease), opacity .6s ease !important;
	opacity: 0.3 !important;
}
.ezr-cta-card:hover .ezr-cta-glow{
	transform: translate(-60px, 60px) scale(1.4) !important;
	opacity: 0.8 !important;
}

@media (max-width: 780px){
	.ezr-cta-split-grid{
		grid-template-columns: 1fr !important;
		min-height: auto;
	}
	.ezr-cta-card:first-child::before,
	.ezr-cta-card-gold::before{ display:none; }
	.ezr-cta-card{ border-radius: var(--ezr-radius) !important; margin-bottom: 16px; box-shadow: var(--ezr-shadow-soft) !important; }
}

/* AREA CARDS — slightly tighter */
.ezr-area-card{ min-height: 380px !important; }

/* ABOUT SECTION — tighter vertical rhythm */
.ezr-section-about-snippet .ezr-about-snippet-grid{ align-items:center; }

/* FINAL CTA — less padding */
.ezr-section-final-cta{ padding: 60px 0 !important; }

/* ==========================================================================
   v2.1.0 — FOOTER REBUILD + HEADER LOGO + INTERACTIVE UPGRADES
   ========================================================================== */

/* HEADER — show both logos side by side */
.ezr-logo{ display:flex; align-items:center; gap:0; }
.ezr-logo-img, .custom-logo{ height: 48px !important; width:auto; }

/* FOOTER — full rebuild */
.ezr-footer{ background: var(--ezr-main-green); color: rgba(244,239,230,0.85); padding-top: 60px; }
.ezr-footer-top{
	display:grid !important;
	grid-template-columns: 1.6fr 0.8fr 0.8fr 1.1fr;
	gap: 36px; padding-bottom: 40px;
	border-bottom: 1px solid rgba(228,199,147,0.15);
}
.ezr-footer-logos{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.ezr-footer-logo{ height: 46px; width:auto; }
.ezr-footer-logo-exp{ height: 38px; opacity:0.9; }
.ezr-footer-bio{
	color: rgba(244,239,230,0.7); font-size:0.88rem; line-height:1.55;
	margin-bottom:16px; max-width:320px;
}
.ezr-footer-socials{ display:flex; gap:10px; }
.ezr-footer-socials a{
	width:36px; height:36px; border-radius:50%; border:1px solid rgba(228,199,147,0.3);
	display:flex; align-items:center; justify-content:center;
	color: rgba(244,239,230,0.8); font-size:0.9rem;
	transition: background .3s ease, color .3s ease, transform .3s ease;
}
.ezr-footer-socials a:hover{
	background: var(--ezr-gold); color: var(--ezr-main-green); transform: translateY(-3px);
}

.ezr-footer-widget-title{
	font-family: var(--ezr-font-body) !important; font-size:0.78rem !important;
	letter-spacing:0.12em; text-transform:uppercase;
	color: var(--ezr-gold-light) !important; margin-bottom: 16px !important;
}
.ezr-footer-menu{ list-style:none; padding:0; margin:0; }
.ezr-footer-menu li{ margin-bottom: 10px; }
.ezr-footer-menu a{
	color: rgba(244,239,230,0.75) !important; font-size:0.9rem; font-weight:500;
	transition: color .25s ease;
}
.ezr-footer-menu a:hover{ color: var(--ezr-gold-light) !important; }

.ezr-footer-contact-list{ list-style:none; padding:0; margin:0 0 18px; }
.ezr-footer-contact-list li{
	display:flex; align-items:center; gap:10px; margin-bottom:12px;
	color: rgba(244,239,230,0.8); font-size:0.9rem;
}
.ezr-footer-contact-list i{ color: var(--ezr-gold); width:16px; flex-shrink:0; }
.ezr-footer-contact-list a{
	color: rgba(244,239,230,0.8) !important; transition: color .25s ease;
}
.ezr-footer-contact-list a:hover{ color: var(--ezr-gold-light) !important; }
.ezr-footer-contact-list span{ color: rgba(244,239,230,0.8); }

.ezr-footer-bottom{
	display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
	gap:10px; padding: 20px 28px;
	font-size:0.78rem; color: rgba(244,239,230,0.5);
}
.ezr-footer-bottom p{ color: rgba(244,239,230,0.5); margin:0; }
.ezr-footer-fh{ display:flex; align-items:center; gap:6px; }

@media (max-width: 900px){
	.ezr-footer-top{ grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px){
	.ezr-footer-top{ grid-template-columns: 1fr !important; }
	.ezr-footer-bottom{ flex-direction:column; text-align:center; }
}

/* ==========================================================================
   GLOBAL INTERACTIVE UPGRADES — make everything feel alive
   ========================================================================== */

/* Parallax-style gradient shift on dark sections when scrolling */
.ezr-section-dark{
	background-attachment: fixed;
	background-size: 200% 200%;
	animation: ezr-gradient-shift 12s ease-in-out infinite;
}
@keyframes ezr-gradient-shift{
	0%,100%{ background-position: 0% 50%; }
	50%{ background-position: 100% 50%; }
}

/* Magnetic hover on all cards globally */
.ezr-value-card, .ezr-territory-card, .ezr-blog-card{
	transition: transform .45s var(--ezr-ease), box-shadow .45s var(--ezr-ease) !important;
}
.ezr-value-card:hover, .ezr-blog-card:hover{
	transform: translateY(-8px) !important; box-shadow: var(--ezr-shadow-lift) !important;
}

/* Subtle text reveal animation on scroll */
[data-aos="fade-up"]{ transform: translateY(20px) !important; }

/* Section divider lines — subtle gold accents between major sections */
.ezr-section-cta-split, .ezr-section-listings, .ezr-section-about-snippet,
.ezr-section-testimonials, .ezr-section-insights{
	border-top: 1px solid var(--ezr-line);
}

/* Listing card image zoom on hover */
.ezr-listing-card:hover .ezr-listing-media img{
	transform: scale(1.1) !important;
}

/* Gold accent line under section headings */
.ezr-section-heading h2::after{
	content:""; display:block; width:50px; height:2px;
	background: var(--ezr-gold); margin: 12px auto 0;
}
.ezr-section-heading:not([style*="text-align"]) h2::after{ margin-left:auto; margin-right:auto; }

/* Smooth page transitions */
.ezr-main{ animation: ezr-page-in .6s var(--ezr-ease) both; }
@keyframes ezr-page-in{ from{ opacity:0; transform: translateY(12px); } to{ opacity:1; transform: none; } }

/* Header dual logo */
.ezr-logo-exp{ height: 40px !important; margin-left: 4px; opacity:0.85; }
.ezr-header.is-scrolled .ezr-logo-exp{ height: 32px !important; }

/* ==========================================================================
   v2.3.0 — PREMIUM INTERACTIVE UPGRADES
   Listing card glassmorphism reveal, cursor-following card glow, sticky
   "Schedule a Call" CTA, multi-layer hero parallax, mobile swipe testimonials
   ========================================================================== */

/* Smooth out the cursor-parallax layers added in JS so movement reads as
   fluid depth rather than a snap. Hero background already animates its own
   gradient position, so only opacity/filter need a transition there. */
.ezr-hero-bg{ transition: filter .3s ease; }
.ezr-hero-copy, .ezr-agent-showcase{ transition: transform .5s var(--ezr-ease); will-change: transform; }

/* ---------------- Listing card: cursor glow + glass hover overlay ---------------- */
.ezr-listing-glow{
	position:absolute; width: 180px; height:180px; border-radius:50%;
	background: radial-gradient(circle, rgba(228,199,147,0.35), transparent 70%);
	opacity:0; pointer-events:none; z-index:1;
	transition: opacity .35s ease; filter: blur(2px);
}
.ezr-listing-hover-overlay{
	position:absolute; inset:auto 0 0 0; z-index:2;
	padding: 18px 18px 20px;
	background: linear-gradient(0deg, rgba(11,61,46,0.82) 10%, rgba(11,61,46,0.35) 70%, transparent 100%);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: var(--ezr-warm-white);
	display:flex; flex-direction:column; gap:10px;
	opacity:0; transform: translateY(16px);
	transition: opacity .4s var(--ezr-ease), transform .4s var(--ezr-ease);
}
.ezr-listing-card:hover .ezr-listing-hover-overlay{ opacity:1; transform: translateY(0); }
.ezr-listing-hover-facts{ display:flex; gap:14px; flex-wrap:wrap; font-size:0.82rem; font-weight:600; }
.ezr-listing-hover-facts i{ color: var(--ezr-gold-light); margin-right:4px; }
.ezr-listing-hover-cta{
	display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:0.85rem;
	color: var(--ezr-gold-light);
}
.ezr-listing-hover-cta i{ transition: transform .3s var(--ezr-ease); }
.ezr-listing-card:hover .ezr-listing-hover-cta i{ transform: translateX(5px); }
/* Touch devices can't hover, so the always-visible facts below the image
   already cover this info there — the overlay simply never appears. */

/* ---------------- Persistent "Schedule a Call" CTA ---------------- */
.ezr-sticky-cta{
	position: fixed; right: 26px; bottom: 26px; z-index: 950;
	display:inline-flex; align-items:center; gap:10px;
	padding: 15px 24px; border-radius: 999px;
	background: var(--ezr-gold); color: var(--ezr-main-green);
	font-weight:700; font-size:0.9rem; box-shadow: var(--ezr-shadow-lift);
	opacity:0; visibility:hidden; pointer-events:none; transform: translateY(14px);
	transition: opacity .35s var(--ezr-ease), visibility 0s linear .35s, background .3s ease, box-shadow .3s ease;
}
.ezr-sticky-cta.is-visible{
	opacity:1; visibility:visible; pointer-events:auto; transform: translateY(0);
	transition: opacity .35s var(--ezr-ease), visibility 0s linear, background .3s ease, box-shadow .3s ease;
}
.ezr-sticky-cta:hover{ background: var(--ezr-gold-light); box-shadow: 0 22px 44px -18px rgba(11,61,46,0.5); }
.ezr-sticky-cta i{ font-size:1rem; }
@media (max-width: 640px){
	.ezr-sticky-cta{ right: 16px; bottom: 16px; padding: 14px; }
	.ezr-sticky-cta span{ display:none; }
	.ezr-sticky-cta i{ font-size:1.1rem; }
}
@media (prefers-reduced-motion: reduce){
	.ezr-sticky-cta{ transition: opacity .01ms linear, visibility 0s; }
}

/* ---------------- Testimonials: swipe carousel on mobile ---------------- */
@media (max-width: 640px){
	.ezr-testimonials-grid{
		display:flex; grid-template-columns:none;
		overflow-x:auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling:touch;
		gap:18px; padding: 4px 6px 16px; margin: 0 -6px 34px;
		scrollbar-width:none;
	}
	.ezr-testimonials-grid::-webkit-scrollbar{ display:none; }
	.ezr-testimonials-grid .ezr-testimonial-card{
		min-width: 84vw; scroll-snap-align:center; flex-shrink:0;
	}
}

/* ---------------- IDX Broker wrapper page: full width, no cap ---------------- */
/* This page (slug: idx-broker) is scraped by IDX Broker's servers to skin */
/* their hosted search/results/listing-detail pages. Anything constraining */
/* width here also constrains the live IDX pages, which was cropping the */
/* required NWMLS watermark on listing photos. */
.ezr-idx-wrapper-full{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 20px;
	box-sizing: border-box;
}
