/* ═══════════════════════════════════════════════
   WHITE RIVER HOMES TEXAS — style.css
   ═══════════════════════════════════════════════ */
:root {
  --cream:#F5F0E8; --warm-white:#FDFAF5; --tan:#C9A96E; --tan-light:#E8D5B0;
  --tan-dark:#9B7A40; --forest:#2C3E2D; --forest-mid:#3D5240;
  --charcoal:#1E1E1E; --mid-gray:#6B6B6B; --light-gray:#D8D0C4; --white:#FFFFFF;
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Lato',sans-serif;
  --font-accent:'Cormorant Garamond',Georgia,serif;
  --transition:0.35s cubic-bezier(0.4,0,0.2,1);
  --shadow-sm:0 2px 12px rgba(0,0,0,0.08);
  --shadow-md:0 8px 32px rgba(0,0,0,0.12);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--warm-white);color:var(--charcoal);overflow-x:hidden}
img{display:block;max-width:100%} a{text-decoration:none;color:inherit}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 48px;height:80px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background var(--transition),box-shadow var(--transition)}
.nav.scrolled{background:rgba(253,250,245,0.97);box-shadow:0 1px 24px rgba(0,0,0,0.10);backdrop-filter:blur(8px)}
.nav-left{display:flex;align-items:center}
.nav-logo-wrh img{height:50px;width:auto;filter:brightness(0) invert(1);transition:filter var(--transition)}
.nav.scrolled .nav-logo-wrh img{filter:none}
.nav-divider{width:1px;height:36px;background:rgba(255,255,255,0.22);margin:0 20px;transition:background var(--transition)}
.nav.scrolled .nav-divider{background:var(--light-gray)}
.nav-logo-mag{display:flex;align-items:center;gap:8px}
.nav-logo-mag img{height:20px;width:auto;filter:brightness(0) invert(1);opacity:0.70;transition:filter var(--transition),opacity var(--transition)}
.nav.scrolled .nav-logo-mag img{filter:none;opacity:0.55}
.nav-logo-mag-label{font-size:9px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:rgba(255,255,255,0.45);transition:color var(--transition)}
.nav.scrolled .nav-logo-mag-label{color:var(--mid-gray)}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.90);transition:color var(--transition)}
.nav.scrolled .nav-links a{color:var(--charcoal)}
.nav-links a:hover,.nav-links a.active{color:var(--tan-light)}
.nav.scrolled .nav-links a:hover,.nav.scrolled .nav-links a.active{color:var(--tan-dark)}
.nav-cta{background:var(--tan)!important;color:var(--white)!important;padding:10px 20px;border-radius:2px}
.nav-cta:hover{background:var(--tan-dark)!important}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:24px;height:2px;background:white;transition:background var(--transition)}
.nav.scrolled .nav-hamburger span{background:var(--charcoal)}

/* PAGE HERO */
.page-hero{height:55vh;min-height:400px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,30,20,0.18) 0%,rgba(20,30,20,0.72) 100%)}
.page-hero-content{position:relative;z-index:2;padding:0 80px 64px;animation:fadeUp 0.9s ease both}
.page-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--tan-light);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.page-hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--tan-light)}
.page-hero h1{font-family:var(--font-display);font-size:clamp(34px,5vw,60px);font-weight:600;color:var(--white);line-height:1.1}
.page-hero h1 em{font-style:italic;color:var(--tan-light)}

/* BUTTONS */
.btn-primary{background:var(--tan);color:var(--white);padding:15px 34px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;border:none;cursor:pointer;border-radius:2px;transition:background var(--transition),transform var(--transition);display:inline-block}
.btn-primary:hover{background:var(--tan-dark);transform:translateY(-1px)}
.btn-forest{background:var(--forest);color:var(--white);padding:15px 34px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;border:none;cursor:pointer;border-radius:2px;transition:background var(--transition);display:inline-block}
.btn-forest:hover{background:var(--forest-mid)}
.btn-outline-dark{border:1.5px solid var(--forest);color:var(--forest);padding:14px 30px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;border-radius:2px;display:inline-block;transition:background var(--transition),color var(--transition)}
.btn-outline-dark:hover{background:var(--forest);color:var(--white)}
.btn-white{background:var(--white);color:var(--tan-dark);padding:15px 34px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;border-radius:2px;display:inline-block;transition:background var(--transition)}
.btn-white:hover{background:var(--cream)}
.btn-outline-white{border:1.5px solid rgba(255,255,255,0.65);color:var(--white);padding:14px 30px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;border-radius:2px;display:inline-block;transition:border-color var(--transition),background var(--transition)}
.btn-outline-white:hover{border-color:var(--white);background:rgba(255,255,255,0.12)}

/* SECTION SHARED */
.section-eyebrow{font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--tan-dark);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.section-eyebrow::before{content:'';width:32px;height:1px;background:var(--tan)}
.section-eyebrow.light{color:var(--tan-light)}
.section-eyebrow.light::before{background:var(--tan)}
.section-title{font-family:var(--font-display);font-size:clamp(28px,4vw,48px);font-weight:600;line-height:1.12;color:var(--forest)}
.section-title em{font-style:italic;color:var(--tan-dark)}
.section-title.light{color:var(--white)}
.section-title.light em{color:var(--tan-light)}
.section-body{font-family:var(--font-accent);font-size:18px;line-height:1.75;color:var(--mid-gray);max-width:600px}
.section-body.light{color:rgba(255,255,255,0.62)}
.reveal{opacity:1;transform:translateY(0);transition:opacity 0.7s ease,transform 0.7s ease}


/* CTA STRIP */
.cta-strip{background:var(--tan);padding:64px 80px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-strip-text h2{font-family:var(--font-display);font-size:clamp(22px,3vw,36px);font-weight:600;color:var(--white);line-height:1.15}
.cta-strip-text h2 em{font-style:italic}
.cta-strip-text p{font-family:var(--font-accent);font-size:18px;color:rgba(255,255,255,0.80);margin-top:8px}
.cta-strip-actions{display:flex;gap:14px;flex-shrink:0;flex-wrap:wrap}

/* FOOTER */
footer{background:var(--charcoal);padding:64px 80px 32px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-brand-logos{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.footer-wrh-logo{height:42px;width:auto;filter:brightness(0) invert(0.80)}
.footer-divider{width:1px;height:36px;background:rgba(255,255,255,0.12)}
.footer-mag-logo{height:18px;width:auto;filter:brightness(0) invert(0.55)}
.footer-brand p{font-family:var(--font-accent);font-size:15px;color:rgba(255,255,255,0.40);line-height:1.7;max-width:260px}
.footer-col h4{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--tan-light);margin-bottom:18px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul a{font-size:14px;color:rgba(255,255,255,0.42);transition:color var(--transition)}
.footer-col ul a:hover{color:var(--tan-light)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:16px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.26)}
.footer-bottom a{color:rgba(255,255,255,0.26);transition:color var(--transition)}
.footer-bottom a:hover{color:var(--tan-light)}
.footer-social{display:flex;gap:12px}
.social-link{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;transition:border-color var(--transition),background var(--transition)}
.social-link:hover{border-color:var(--tan);background:rgba(201,169,110,0.14)}
.social-link svg{width:15px;height:15px;fill:rgba(255,255,255,0.48)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* RESPONSIVE */
@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:768px){
  .nav{padding:0 20px}
  .nav-divider,.nav-logo-mag,.nav-links{display:none}
  .nav-hamburger{display:flex}
  .page-hero-content{padding:0 24px 48px}
  .cta-strip{flex-direction:column;padding:48px 20px;text-align:center}
  footer{padding:48px 20px 24px}
  .footer-top{grid-template-columns:1fr}
}
