:root {
  --navy: #d3dadf;
  --navy-dark: #b8c3ca;
  --slate: #55778C;
  --slate-light: #7A96A8;
  --gold: #B8965A;
  --gold-light: #D4AF78;
  --gold-pale: #F5EDD9;
  --white: #FFFFFF;
  --off-white: #F9F8F6;
  --gray-light: #EFEFED;
  --gray: #DEDCDA;
  --gray-mid: #9A9896;
  --gray-dark: #4A4845;
  --black: #111110;
  --font-serif: 'Belleza', Georgia, serif;
  --font-sans: 'Nunito Sans', 'Gill Sans', Helvetica, sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-sans); color:var(--black); background:var(--white); overflow-x:hidden; }

/* NAV - Kroupa style single unified bar */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:space-between; padding:0 32px; height:80px; background:rgba(255,255,255,0.99); backdrop-filter:blur(12px); border-bottom:1px solid #e0e6ea; transition:all 0.3s ease; gap:20px; }
nav.scrolled { height:68px; box-shadow:0 2px 24px rgba(0,0,0,0.08); }

/* Logo group - LEFT */
.nav-logos { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.nav-logo-jeni { height:50px; width:auto; object-fit:contain; display:block; flex-shrink:0; }
.nav-logo-divider { width:1px; height:50px; background:#c5d0d6; flex-shrink:0; }
.nav-bhhs-stack { display:flex; flex-direction:column; gap:4px; align-items:center; flex-shrink:0; }
.nav-bhhs-text { display:flex; flex-direction:column; gap:1px; align-items:center; }
.bhhs-line1 { font-family:'Nunito Sans', sans-serif; font-size:9px; font-weight:800; letter-spacing:0.15em; color:#1a1a1a; text-transform:uppercase; line-height:1.3; }
.bhhs-line2 { font-family:'Nunito Sans', sans-serif; font-size:7px; font-weight:400; letter-spacing:0.08em; color:#555; }
.nav-luxury-text { font-family:'Nunito Sans', sans-serif; font-size:8px; font-weight:700; letter-spacing:0.2em; color:#B8965A; text-transform:uppercase; border-top:1px solid #ddd; padding-top:3px; width:100%; text-align:center; }

/* Nav links - CENTER */
.nav-links { display:flex; align-items:center; gap:24px; list-style:none; flex:1; justify-content:center; }
.nav-links a { font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:#55778C; text-decoration:none; transition:color 0.2s; white-space:nowrap; }
.nav-links a:hover { color:var(--gold); }

/* Right: social icons + phone */
.nav-right { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.nav-social { display:flex; align-items:center; gap:8px; }
.nav-phone-link { font-family:var(--font-sans); font-size:13px; font-weight:700; letter-spacing:0.06em; color:#55778C; text-decoration:none; white-space:nowrap; }
.nav-phone-link:hover { color:var(--gold); }

/* HERO */
.hero { position:relative; height:100vh; min-height:720px; overflow:hidden; display:flex; align-items:center; }
.hero-bg { position:absolute; inset:0; background-image:url('jeni_hall_hero_background.jpg'); background-size:cover; background-position:center top; filter:brightness(0.42); transform:scale(1.04); transition:transform 8s ease; }
.hero-bg.loaded { transform:scale(1.0); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(17,29,42,0.75) 0%,rgba(27,42,59,0.4) 60%,transparent 100%); }
.hero-content { position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:0 48px; padding-top:120px; }
.hero-eyebrow { font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-light); margin-bottom:20px; opacity:0; animation:fadeUp 0.8s 0.3s forwards; }
.hero-title { font-family:var(--font-serif); font-size:clamp(48px,6.5vw,90px); line-height:1.08; color:white; margin-bottom:24px; opacity:0; animation:fadeUp 0.8s 0.5s forwards; }
.hero-title em { font-style:italic; color:var(--gold-light); }
.hero-tagline { font-family:var(--font-serif); font-size:clamp(17px,2.2vw,24px); font-style:italic; color:rgba(255,255,255,0.82); margin-bottom:48px; opacity:0; animation:fadeUp 0.8s 0.7s forwards; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fadeUp 0.8s 0.9s forwards; }
.hero-scroll { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(255,255,255,0.5); font-size:10px; letter-spacing:0.2em; text-transform:uppercase; opacity:0; animation:fadeUp 1s 1.2s forwards; }
.hero-scroll-line { width:1px; height:40px; background:linear-gradient(to bottom,rgba(255,255,255,0.5),transparent); animation:scrollPulse 2s 1.5s infinite; }

/* BUTTONS */
.btn-primary { display:inline-block; background:var(--gold); color:white; padding:16px 40px; font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; transition:background 0.2s, transform 0.2s; border:none; cursor:pointer; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-navy { background:var(--navy) !important; }
.btn-navy:hover { background:var(--gold) !important; }
.btn-gold { background:var(--gold) !important; }
.btn-gold:hover { background:var(--gold-light) !important; }
.btn-outline { display:inline-block; border:1px solid rgba(255,255,255,0.6); color:white; padding:16px 40px; font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; transition:all 0.2s; }
.btn-outline:hover { background:rgba(255,255,255,0.1); border-color:white; }

/* STATS */
.stats-bar { background:#55778C; padding:44px 48px; }
.stats-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.stat-number { font-family:var(--font-serif); font-size:44px; color:var(--gold-light); line-height:1; margin-bottom:8px; }
.stat-label { font-family:var(--font-sans); font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.6); }

/* SECTION HEADERS */
.section-label { font-family:var(--font-sans); font-size:10px; font-weight:700; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.section-title { font-family:var(--font-serif); font-size:clamp(32px,4vw,52px); line-height:1.12; color:#55778C; margin-bottom:16px; }
.section-title em { font-style:italic; color:var(--gold); }
.section-rule { width:48px; height:2px; background:var(--gold); margin-bottom:28px; }
.section-desc { font-family:var(--font-sans); font-size:15px; font-weight:400; line-height:1.85; color:var(--gray-dark); max-width:600px; }

/* COMMUNITIES */
.communities { background:var(--off-white); padding:100px 48px; }
.communities-inner { max-width:1200px; margin:0 auto; }
.communities-header { text-align:center; margin-bottom:56px; }
.communities-header .section-rule { margin:0 auto 28px; }
.community-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.community-card { position:relative; overflow:hidden; aspect-ratio:4/3; cursor:pointer; background:var(--gray); text-decoration:none; display:block; }
.community-card-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 0.6s ease; filter:brightness(0.55); }
.community-card:hover .community-card-bg { transform:scale(1.06); filter:brightness(0.45); }
.community-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(17,29,42,0.85) 0%,transparent 60%); }
.community-card-content { position:absolute; bottom:0; left:0; right:0; padding:28px 24px; }
.community-name { font-family:var(--font-serif); font-size:24px; color:white; margin-bottom:4px; }
.community-sub { font-family:var(--font-sans); font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold-light); }
.cc-alpharetta { background:linear-gradient(135deg,#2D4A5A,#1B3040); }
.cc-milton { background:linear-gradient(135deg,#3A4D2E,#253420); }
.cc-roswell { background:linear-gradient(135deg,#4D3A2E,#342820); }
.cc-johns { background:linear-gradient(135deg,#2E3A4D,#202834); }
.cc-cumming { background:linear-gradient(135deg,#4D2E3A,#342028); }
.cc-sandy { background:linear-gradient(135deg,#3A4D4D,#283434); }

/* ABOUT */
.about { padding:100px 48px; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-image-wrap { position:relative; }
.about-image { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top center; display:block; }
.about-badge { position:absolute; bottom:-20px; right:-20px; width:108px; height:108px; background:var(--navy); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:white; text-align:center; box-shadow:0 8px 32px rgba(27,42,59,0.4); }
.badge-number { font-family:var(--font-serif); font-size:30px; line-height:1; color:var(--gold-light); }
.badge-text { font-family:var(--font-sans); font-size:8px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; opacity:0.8; line-height:1.3; padding:0 8px; margin-top:4px; }
.about-quote { font-family:var(--font-serif); font-size:21px; font-style:italic; color:#55778C; line-height:1.55; border-left:2px solid var(--gold); padding-left:24px; margin:28px 0; }
.about-body { font-family:var(--font-sans); font-size:15px; font-weight:400; line-height:1.9; color:var(--gray-dark); margin-bottom:14px; }
.about-credentials { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.credential-tag { font-family:var(--font-sans); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#55778C; border:1px solid var(--slate-light); padding:6px 14px; }

/* LOGO BAR */
.logo-bar { display:flex; align-items:center; gap:24px; margin-top:36px; padding:20px 24px; background:var(--off-white); border:1px solid var(--gray); }
.logo-bar-jeni { height:44px; width:auto; object-fit:contain; }
.logo-bar-divider { width:1px; height:44px; background:var(--gray); flex-shrink:0; }
.logo-bar-bhhs { display:flex; flex-direction:column; gap:1px; }
.bhhs-name { font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.12em; color:#55778C; line-height:1.3; }
.bhhs-sub { font-family:var(--font-sans); font-size:10px; font-weight:400; color:var(--slate); letter-spacing:0.05em; }
.bhhs-geo { font-family:var(--font-sans); font-size:9px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-top:2px; }

/* WHY */
.why { background:var(--off-white); padding:100px 48px; }
.why-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.why-points { margin-top:36px; }
.why-point { display:flex; gap:16px; align-items:flex-start; margin-bottom:28px; }
.why-point-icon { width:40px; height:40px; background:var(--navy); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--gold-light); font-size:16px; }
.why-point-text h4 { font-family:var(--font-serif); font-size:18px; margin-bottom:4px; color:#55778C; }
.why-point-text p { font-family:var(--font-sans); font-size:13px; font-weight:400; line-height:1.7; color:var(--gray-mid); }
.why-image { position:relative; }
.why-image-main { width:100%; aspect-ratio:4/5; overflow:hidden; }
.why-image-main img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.why-accent { position:absolute; bottom:-24px; right:-24px; background:var(--navy); padding:28px 32px; max-width:200px; border-top:3px solid var(--gold); }
.why-accent-number { font-family:var(--font-serif); font-size:46px; color:var(--gold-light); line-height:1; }
.why-accent-text { font-family:var(--font-sans); font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-top:6px; line-height:1.4; }

/* LISTINGS */
.listings { padding:100px 48px; }
.listings-inner { max-width:1200px; margin:0 auto; }
.listings-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; }
.listings-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.listing-card { background:white; overflow:hidden; transition:transform 0.3s, box-shadow 0.3s; border:1px solid var(--gray-light); }
.listing-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,0.1); }
.listing-card-img { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--gray); }
.listing-placeholder { width:100%; height:100%; }
.listing-bg-1 { background:linear-gradient(135deg,#1B3040 0%,#0D1F2D 100%); }
.listing-bg-2 { background:linear-gradient(135deg,#253420 0%,#152014 100%); }
.listing-bg-3 { background:linear-gradient(135deg,#3A2820 0%,#281A14 100%); }
.listing-status { position:absolute; top:14px; left:14px; font-family:var(--font-sans); font-size:9px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; padding:5px 10px; }
.status-sold { background:var(--navy); color:white; }
.status-active { background:var(--gold); color:white; }
.listing-info { padding:20px 20px 24px; }
.listing-price { font-family:var(--font-serif); font-size:26px; color:#55778C; margin-bottom:6px; }
.listing-address { font-family:var(--font-sans); font-size:12px; font-weight:600; color:var(--black); margin-bottom:4px; }
.listing-location { font-family:var(--font-sans); font-size:11px; color:var(--gray-mid); margin-bottom:14px; }
.listing-details { display:flex; gap:16px; font-family:var(--font-sans); font-size:11px; color:var(--gray-mid); padding-top:14px; border-top:1px solid var(--gray-light); }

/* LIFESTYLE */
.lifestyle { background:var(--off-white); padding:100px 48px; }
.lifestyle-inner { max-width:1200px; margin:0 auto; }
.lifestyle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px; }
.lifestyle-card { position:relative; aspect-ratio:3/2; overflow:hidden; cursor:pointer; text-decoration:none; display:block; }
.lifestyle-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 0.5s ease; }
.lifestyle-card:hover .lifestyle-bg { transform:scale(1.05); }
.lifestyle-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(17,29,42,0.8) 0%,rgba(0,0,0,0.2) 100%); transition:background 0.3s; }
.lifestyle-card:hover .lifestyle-overlay { background:linear-gradient(to top,rgba(17,29,42,0.9) 0%,rgba(27,42,59,0.35) 100%); }
.lifestyle-label { position:absolute; bottom:0; left:0; right:0; padding:20px; color:white; font-family:var(--font-serif); font-size:20px; }
.lifestyle-arrow { position:absolute; bottom:20px; right:20px; width:32px; height:32px; border:1px solid var(--gold-light); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold-light); font-size:14px; opacity:0; transition:opacity 0.3s; }
.lifestyle-card:hover .lifestyle-arrow { opacity:1; }
.ls-luxury { background:linear-gradient(135deg,#1B3040,#0D1F2D); }
.ls-waterfront { background:linear-gradient(135deg,#1E3A4A,#102A38); }
.ls-new { background:linear-gradient(135deg,#253420,#152014); }
.ls-gated { background:linear-gradient(135deg,#3A2820,#281A14); }
.ls-golf { background:linear-gradient(135deg,#1E2D20,#121E14); }
.ls-estate { background:linear-gradient(135deg,#2D2038,#1E1428); }

/* TESTIMONIALS */
.testimonials { background:#3D6070; padding:100px 48px; }
.testimonials-inner { max-width:1200px; margin:0 auto; }
.testimonials-header { text-align:center; margin-bottom:64px; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px; }
.testimonial-card { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); padding:40px 32px; position:relative; }
.testimonial-quote-mark { font-family:var(--font-serif); font-size:72px; color:var(--gold-light); opacity:0.4; position:absolute; top:12px; left:26px; line-height:1; }
.testimonial-stars { color:var(--gold-light); font-size:12px; margin-bottom:8px; letter-spacing:2px; }
.testimonial-text { font-family:var(--font-serif); font-size:15px; font-style:italic; line-height:1.85; color:rgba(255,255,255,0.82); margin-top:28px; margin-bottom:24px; }
.testimonial-author { font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold-light); }
.google-badge { display:flex; align-items:center; gap:12px; justify-content:center; }
.google-badge span { font-family:var(--font-sans); font-size:13px; font-weight:600; color:rgba(255,255,255,0.5); letter-spacing:0.1em; }
.google-stars { color:#FBBC04; font-size:18px; letter-spacing:2px; }

/* NEWSLETTER */
.newsletter { background:var(--gold-pale); border-top:1px solid rgba(184,150,90,0.25); border-bottom:1px solid rgba(184,150,90,0.25); padding:80px 48px; text-align:center; }
.newsletter-inner { max-width:540px; margin:0 auto; }
.newsletter .section-title { font-size:clamp(26px,3vw,38px); color:#55778C; }
.newsletter-desc { font-family:var(--font-sans); font-size:14px; font-weight:400; line-height:1.7; color:var(--gray-dark); margin-bottom:32px; }
.newsletter-form { display:flex; }
.newsletter-form input { flex:1; padding:14px 20px; border:1px solid var(--gray); border-right:none; font-family:var(--font-sans); font-size:13px; background:white; outline:none; }
.newsletter-form input:focus { border-color:#55778C; }
.newsletter-form button { background:var(--navy); color:white; border:none; padding:14px 28px; font-family:var(--font-sans); font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; cursor:pointer; transition:background 0.2s; white-space:nowrap; }
.newsletter-form button:hover { background:var(--gold); }

/* CONTACT */
.contact { background:#55778C; padding:100px 48px; }
.contact-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.contact-tagline { font-family:var(--font-serif); font-size:22px; font-style:italic; color:var(--gold-light); margin:24px 0; }
.contact-details { margin-top:36px; }
.contact-detail { display:flex; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.contact-detail-icon { font-size:18px; color:var(--gold-light); width:24px; text-align:center; flex-shrink:0; }
.contact-detail-text { font-family:var(--font-sans); font-size:14px; color:rgba(255,255,255,0.8); }
.contact-detail-text a { color:rgba(255,255,255,0.8); text-decoration:none; }
.contact-detail-text a:hover { color:var(--gold-light); }
.form-group { margin-bottom:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:14px 16px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); color:white; font-family:var(--font-sans); font-size:13px; outline:none; transition:border-color 0.2s; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--gold-light); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:rgba(255,255,255,0.35); }
.contact-form select option { background:var(--navy); }
.contact-form textarea { height:100px; resize:none; }
.contact-form .btn-primary { margin-top:8px; width:100%; text-align:center; border:none; font-family:var(--font-sans); }

/* FOOTER */
footer { background:#2A4A5A; padding:48px; border-top:1px solid rgba(255,255,255,0.06); }
.footer-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:48px; align-items:start; margin-bottom:48px; }
.footer-logo img { height:40px; width:auto; object-fit:contain; filter:brightness(0) invert(1) opacity(0.75); }
.footer-tagline { font-family:var(--font-serif); font-size:16px; font-style:italic; color:rgba(255,255,255,0.5); margin-top:12px; line-height:1.5; }
.footer-nav h5, .footer-contact h5 { font-family:var(--font-sans); font-size:10px; font-weight:700; letter-spacing:0.25em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:20px; }
.footer-nav ul { list-style:none; }
.footer-nav li { margin-bottom:10px; }
.footer-nav a { font-family:var(--font-sans); font-size:13px; color:rgba(255,255,255,0.6); text-decoration:none; transition:color 0.2s; }
.footer-nav a:hover { color:var(--gold-light); }
.footer-contact p { font-family:var(--font-sans); font-size:13px; color:rgba(255,255,255,0.6); line-height:1.9; }
.footer-contact a { color:var(--gold-light); text-decoration:none; }
.footer-bottom { max-width:1200px; margin:0 auto; padding-top:32px; border-top:1px solid rgba(255,255,255,0.06); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-legal { font-family:var(--font-sans); font-size:10px; color:rgba(255,255,255,0.25); line-height:1.6; max-width:680px; }
.footer-social { display:flex; gap:10px; }
.footer-social-icon { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; text-decoration:none; transition:transform 0.2s, opacity 0.2s; }
.footer-social-icon:hover { transform:scale(1.12); opacity:0.85; }
.footer-social-icon.fb { background:#1877F2; color:white; }
.footer-social-icon.ig { background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color:white; }
.footer-social-icon.li { background:#0A66C2; color:white; }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes scrollPulse { 0%,100% { opacity:0.5; } 50% { opacity:1; } }
.reveal { opacity:0; transform:translateY(32px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }

/* MOBILE */
@media (max-width:900px) {
  nav { padding:0 16px; height:68px; overflow:hidden; }
  .nav-links { display:none; }
  .nav-right { display:none; }
  .nav-logo-jeni { height:36px; }
  .nav-logo-bhhs { height:16px; width:80px; }
  .nav-logo-luxury { height:16px; width:80px; }
  .nav-logo-divider { height:36px; }
  .hero-content { padding:0 24px; padding-top:68px; }
  .about, .why-inner, .contact-inner { grid-template-columns:1fr; gap:48px; }
  .about-image-wrap { max-width:380px; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }
  .community-grid { grid-template-columns:repeat(2,1fr); }
  .listings-grid { grid-template-columns:1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .lifestyle-grid { grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:1fr; }
  .newsletter-form { flex-direction:column; }
  .newsletter-form input { border-right:1px solid var(--gray); border-bottom:none; }
  .about,.communities,.why,.listings,.lifestyle,.testimonials,.newsletter,.contact { padding-left:24px; padding-right:24px; }
  .stats-bar, footer { padding-left:24px; padding-right:24px; }
  .logo-bar { flex-wrap:wrap; }
}

/* Hero padding clears fixed nav */
.hero-content { padding-top:80px; }
