/* residential-projects overrides (auto-generated) */
:root{--navy:#16315c;--navy-deep:#101f3a;--red:#c8202f;--charcoal:#1d1d1f;--ink:#2a2f37;--muted:#6a7280;
  --line:#e7e6e1;--paper:#ffffff;--sand:#f2f2f2;--sand-2:#efede7;--gold:#e8a93b;
  --shadow:0 18px 50px -24px rgba(16,31,58,.35);--shadow-sm:0 8px 26px -16px rgba(16,31,58,.30);
  --radius:18px;--maxw:1180px;--ease:cubic-bezier(.2,.7,.2,1);}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;color:var(--charcoal);line-height:1.12;font-weight:500;letter-spacing:-.01em}
.section{padding:96px 0}
.section-head{max-width:720px;margin:0 auto 54px;text-align:center}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:14px 0 16px}
.section-head p{color:var(--muted);font-size:1.05rem}
.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
@media(min-width:901px){.nav{display:flex;align-items:center;gap:30px}}
.hero{position:relative;color:#fff;overflow:hidden}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(16,31,58,.92) 0%,rgba(16,31,58,.78) 45%,rgba(16,31,58,.4) 100%)}
.hero .wrap{position:relative;z-index:1;padding:54px 24px 78px}
.crumb{display:flex;gap:8px;align-items:center;font-size:.82rem;color:#aebbd2;margin-bottom:30px;flex-wrap:wrap}
.crumb a:hover{color:#fff}
.crumb svg{width:13px;height:13px;stroke:#7f93b3;fill:none;stroke-width:2}
.crumb .here{color:#fff;font-weight:500}
.hero-inner{max-width:720px}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.3vw,3.4rem);margin:16px 0 18px}
.hero p.sup{font-size:1.1rem;color:#d8e0ee;max-width:620px;margin-bottom:30px;line-height:1.55}
.intro{background:#fff;text-align:center}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.pcard:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.pcard-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.pcard-body h3{font-size:1.2rem;margin-bottom:9px}
.matter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.mcard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px 20px;transition:.3s var(--ease)}
.mcard h3{color:#fff;font-size:1rem;margin-bottom:5px}
.mcard p{font-size:.84rem;color:#aebbd2}
.gallery{background:#fff}
.benefits{background:var(--sand)}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rel-card{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:26px 24px;border-radius:14px;background:var(--sand);border:1px solid transparent;transition:.3s var(--ease)}
.rel-card:hover{background:#fff;box-shadow:var(--shadow-sm);border-color:var(--line);transform:translateY(-4px)}
.rel-card .ic{width:46px;height:46px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center}
.rel-card .ic svg{width:23px;height:23px;stroke:#fff;fill:none;stroke-width:1.7}
.rel-card h3{font-size:1.05rem}
.rel-card .go{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.84rem;color:var(--red);margin-top:auto}
.finalcta .wrap{position:relative;text-align:center;padding:92px 24px}
.finalcta h2{color:#fff;font-size:clamp(2rem,4vw,3rem);margin:18px auto 18px;max-width:760px}
.finalcta p{color:#c6d1e6;font-size:1.08rem;max-width:640px;margin:0 auto 34px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer h5{color:#fff;font-family:'Inter';font-weight:600;font-size:.95rem;margin-bottom:18px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.nav{gap:22px}

@media(max-width:1024px){
  .proj-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:680px){
  .section{padding:62px 0}
}
