/* ============================================================
   RDS – Residential Development Services
   Responsive brand stylesheet (desktop → mobile).
   Single source of truth for colours, type, spacing, components.
   Swap the Google Fonts import for licensed fonts if preferred.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@0;1&family=Lato:wght@300;400;700&display=swap');

:root{
  --green:#2E453D; --green-deep:#26392F; --green-mid:#4E645C;
  --bronze:#CBBCA2; --bronze-dark:#968360;
  --ink:#262828; --grey:#787878; --cream-text:#E1DDD4;
  --warm-white:#FFFDFC; --off-white:#F8F6F2; --hairline:#E4E1DB;
  --serif:'Libre Baskerville',Georgia,'Times New Roman',serif;
  --sans:'Lato',-apple-system,Helvetica,Arial,sans-serif;
  --maxw:1240px; --pad:clamp(20px,5vw,90px); --track:.16em;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;color:var(--ink);background:var(--warm-white);font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.section{padding:72px 0;}
.center{text-align:center;}
.rule{height:1px;background:var(--hairline);border:0;margin:0;}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);margin:0;line-height:1.25;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--bronze-dark);margin:0 0 18px;}
.eyebrow--light{color:var(--bronze);}
.display{font-size:clamp(28px,3.4vw,40px);}
.h-serif{font-size:clamp(24px,2.6vw,34px);}
.lead{font-size:19px;color:var(--grey);line-height:1.55;}

/* Buttons */
.btn{display:inline-block;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:16px 38px;border:2px solid transparent;cursor:pointer;}
.btn--green{background:var(--green);color:#fff;} .btn--green:hover{background:var(--green-deep);}
.btn--bronze{background:var(--bronze);color:var(--green-deep);}
.btn--outline{background:transparent;border-color:var(--green);color:var(--green);} .btn--outline:hover{background:var(--green);color:#fff;}

/* Nav */
.nav{position:absolute;top:0;left:0;right:0;z-index:20;}
.nav .container{position:relative;display:flex;align-items:center;justify-content:space-between;height:96px;}
.nav__logo{height:54px;}
.nav__links{display:flex;gap:26px;font-size:15px;}
.nav--solid{position:static;background:#fff;border-bottom:1px solid var(--hairline);}
.nav--solid .nav__links a{color:var(--ink);}
.nav--over .nav__links a{color:#fff;}
.nav__toggle{display:none;background:none;border:0;color:inherit;font-size:26px;line-height:1;cursor:pointer;}

/* Hero */
.hero{position:relative;}
.hero__img{width:100%;height:560px;object-fit:cover;}
.hero__dots{position:absolute;left:0;right:0;bottom:24px;display:flex;gap:10px;justify-content:center;}
.hero__dots span{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.5;}
.hero__dots span.is-active{opacity:1;}
.hero--overlay .hero__img{filter:brightness(.62);}
.hero--overlay .hero__inner{position:absolute;inset:0;display:flex;align-items:center;color:#fff;}
.hero--overlay h1{color:#fff;max-width:820px;} .hero--overlay p{color:#EAE8E3;max-width:640px;}

/* Filmstrip */
.filmstrip{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;}
.filmstrip figure{margin:0;} .filmstrip img{width:100%;height:96px;object-fit:cover;}
.filmstrip .lowrise{border-top:3px solid var(--bronze-dark);}
.filmstrip figcaption{margin-top:10px;font-size:12px;color:var(--grey);text-align:center;}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.stats__cell{padding:46px 10px;text-align:center;} .stats__cell + .stats__cell{border-left:1px solid var(--hairline);}
.stats__num{font-family:var(--serif);font-size:clamp(34px,4vw,48px);color:var(--bronze);line-height:1;}
.stats__label{margin-top:16px;font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--grey);}

/* Cards */
.cards{display:grid;gap:28px;} .cards--3{grid-template-columns:repeat(3,1fr);} .cards--4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--hairline);border-top:3px solid var(--bronze);padding:26px 24px;}
.card h3{font-family:var(--sans);font-weight:700;font-size:18px;margin:0 0 12px;}
.card p{margin:0;font-size:15px;color:var(--grey);line-height:1.45;}

/* Testimonial */
.quote{max-width:1120px;margin:0 auto;text-align:center;}
.quote__text{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);color:var(--green);line-height:1.4;}
.quote__by{margin-top:16px;font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bronze-dark);}
.dots{display:flex;gap:10px;justify-content:center;margin-top:22px;}
.dots span{width:9px;height:9px;border-radius:50%;background:#E0DDD6;} .dots span.is-active{background:var(--bronze);}

/* Video grid + play button */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.video{position:relative;} .video__thumb{width:100%;aspect-ratio:16/9;object-fit:cover;background:#e0ddd7;}
.video__play{position:absolute;top:calc(50% - 26px);left:calc(50% - 26px);width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;}
.video__play::after{content:"";border-left:16px solid var(--green);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px;}
.video__cap{margin-top:12px;font-size:14px;color:var(--ink);}

/* Storeyview device */
.device{background:var(--green);border-radius:12px;padding:16px;}
.device__bar{background:var(--bronze);color:var(--green-deep);font-size:12px;font-weight:700;letter-spacing:.18em;padding:8px 14px;border-radius:4px;}
.device__grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:14px;}
.device__grid i{display:block;padding-top:70%;border-radius:3px;background:var(--green-mid);}
.device__grid i:nth-child(3n){background:var(--bronze);}

/* Logo wall */
.logowall{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:34px 52px;}
.logowall img{height:44px;width:auto;object-fit:contain;filter:grayscale(100%);opacity:.85;}
.logowall img.lg{height:60px;}
.roster{margin-top:26px;font-size:14px;color:var(--grey);}

/* Two-column section */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.split--rev{grid-template-columns:.9fr 1.1fr;}

/* Services groups */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.svc h4{font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bronze-dark);margin:0 0 14px;}
.svc ul{list-style:none;margin:0;padding:0;}
.svc li{position:relative;padding-left:18px;margin-bottom:14px;font-size:15px;line-height:1.3;}
.svc li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;background:var(--bronze-dark);}
.svc li small{display:block;color:var(--grey);font-size:13px;margin-top:2px;}

/* Projects grid */
.tags{display:flex;gap:12px;margin:18px 0 28px;}
.tag{border:2px solid var(--hairline);border-radius:18px;padding:8px 18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);cursor:pointer;}
.tag.is-active{background:var(--green);border-color:var(--green);color:#fff;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 20px;}
.proj img{width:100%;aspect-ratio:3/2;object-fit:cover;} .proj .lowrise{border-top:3px solid var(--bronze-dark);}
.proj h3{font-family:var(--sans);font-weight:700;font-size:16px;margin:10px 0 4px;}
.proj .dev{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-dark);}
.proj .res{font-size:13px;color:var(--green);margin-top:6px;line-height:1.3;}

/* Project detail */
.detail-hero{width:100%;height:470px;object-fit:cover;}
.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;margin:30px 0;}
.meta .k{font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bronze-dark);}
.meta .v{margin-top:6px;font-size:17px;}
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.chip{background:var(--off-white);border-top:3px solid var(--bronze);padding:24px;text-align:center;}
.chip b{display:block;font-family:var(--serif);font-size:26px;color:var(--green);} .chip span{font-size:14px;color:var(--grey);}

/* People */
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.leader{display:flex;gap:24px;border:1px solid var(--hairline);padding:26px;}
.avatar{flex:0 0 108px;width:108px;height:108px;border-radius:50%;background:var(--off-white);border:2px solid var(--bronze);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:30px;color:var(--bronze-dark);overflow:hidden;}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.leader h3{font-size:24px;} .leader .role{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-dark);margin:6px 0 12px;}
.leader p{font-size:14px;color:var(--grey);line-height:1.4;margin:0;}
.funcs{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.func{background:var(--off-white);border-top:3px solid var(--bronze);padding:18px 16px;}
.func h4{font-family:var(--sans);font-size:15px;margin:0 0 8px;} .func p{font-size:12px;color:var(--grey);margin:0;line-height:1.35;}

/* Honors */
.lead-award{background:var(--green);color:#fff;padding:30px 40px;}
.lead-award .yr{font-size:12px;letter-spacing:var(--track);color:var(--bronze);}
.lead-award h3{color:#fff;font-size:26px;margin:6px 0;} .lead-award .p{color:var(--cream-text);}
.awards{list-style:none;margin:0;padding:0;}
.awards li{display:grid;grid-template-columns:70px 1fr auto;gap:16px;align-items:baseline;border-top:1px solid var(--hairline);padding:16px 0;}
.awards .yr{font-family:var(--serif);font-size:22px;color:var(--bronze-dark);}
.awards .body{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-dark);}
.awards .name{font-weight:700;} .awards .proj{color:var(--grey);}

/* Forms */
.form{background:var(--off-white);padding:46px var(--pad);}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:var(--maxw);margin:0 auto;}
.field{display:flex;flex-direction:column;}
.field.full{grid-column:1/-1;}
.field label{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bronze-dark);margin-bottom:8px;}
.field input,.field textarea{border:2px solid var(--hairline);background:#fff;padding:14px;font-family:var(--sans);font-size:15px;}
.field textarea{min-height:110px;resize:vertical;}

/* CTA band */
.cta{background:var(--green);color:#fff;text-align:center;padding:44px 20px;}
.cta .k{font-size:14px;letter-spacing:var(--track);text-transform:uppercase;margin-bottom:22px;}

/* Steps (For Developers) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.note{font-style:italic;color:var(--grey);}

/* Reel (vertical video) */
.reel{width:210px;aspect-ratio:9/16;object-fit:cover;}

/* Footer */
.footer{background:var(--green);color:var(--cream-text);}
.footer .container{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:42px var(--pad);}
.footer__logo{height:46px;margin-bottom:10px;}
.footer__legal{font-size:13px;} .footer__social{font-size:13px;letter-spacing:.1em;}
.pp-nod__stats{display:flex;gap:48px;}
.pp-nod__num{font-family:var(--serif);font-size:40px;color:var(--bronze);line-height:1;}
.pp-nod__lab{font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--grey);margin-top:8px;}

/* ---------------- RESPONSIVE ---------------- */
@media(max-width:900px){
  .nav__links{display:none;} .nav__toggle{display:block;}
  .nav--over .nav__toggle{color:#fff;}
  .nav__links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;padding:6px var(--pad) 22px;box-shadow:0 16px 28px rgba(0,0,0,.14);}
  .nav__links.is-open a{color:var(--ink);padding:14px 0;border-top:1px solid var(--hairline);}
  .cards--3,.cards--4,.videos,.svc,.grid4,.leaders,.funcs,.steps,.chips,.meta{grid-template-columns:1fr;}
  .cards--4{grid-template-columns:1fr 1fr;}
  .split,.split--rev{grid-template-columns:1fr;}
  .filmstrip{grid-template-columns:repeat(4,1fr);}
  .form__grid{grid-template-columns:1fr;}
  .hero__img{height:480px;} .detail-hero{height:280px;}
  .hero--overlay .hero__inner{padding-top:96px;}
  .pp-nod__stats{gap:32px;}
  .reel{width:100%;max-width:280px;margin:0 auto;}
}
@media(max-width:560px){
  body{font-size:16px;}
  .section{padding:48px 0;}
  .stats{grid-template-columns:1fr;} .stats__cell + .stats__cell{border-left:0;border-top:1px solid var(--hairline);}
  .cards--4{grid-template-columns:1fr;}
  .filmstrip{grid-template-columns:repeat(2,1fr);}
  .meta{grid-template-columns:1fr 1fr;}
  .awards li{grid-template-columns:56px 1fr;} .awards .proj{grid-column:2;}
  .footer .container{flex-direction:column;align-items:flex-start;}
  .leader{flex-direction:column;align-items:flex-start;}
}
