@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102c3b;--ink:#173641;--muted:#536971;--cream:#f5f3ec;--white:#fff;--lime:#c6dd85;--line:#d9e0dd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(3.4rem,7vw,6.8rem);font-weight:700}h2{font-size:clamp(2.3rem,4vw,4.2rem);font-weight:700}h3{font-size:1.3rem}a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-1000px;top:10px;background:#fff;padding:10px;z-index:10}.skip:focus{left:10px}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font:800 1.05rem Manrope,Arial,sans-serif;letter-spacing:.07em;text-decoration:none;display:flex;align-items:center;gap:12px;white-space:nowrap}.brand b{font-weight:500}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--navy);color:var(--lime);font-size:1.45rem;letter-spacing:-.12em;padding-right:4px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:.85rem;font-weight:700}.site-header nav a{text-decoration:none}.site-header nav a:hover,.text-link:hover{text-decoration:underline}.nav-cta{border:1px solid var(--navy);padding:10px 17px}.eyebrow{font:800 .73rem Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#487268;margin-bottom:22px}.hero{background:var(--cream);padding:100px 0 105px}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:70px}.hero h1{max-width:790px;margin-bottom:26px}.lead{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.5;max-width:680px;color:#3d5960}.actions{display:flex;align-items:center;gap:34px;margin-top:36px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:16px 22px;min-width:210px}.button:hover{background:#285266}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-card{background:var(--navy);color:#fff;padding:32px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between}.hero-card p{font:600 clamp(1.35rem,2.1vw,2rem)/1.35 Manrope,Arial,sans-serif;letter-spacing:-.035em}.card-index,.card-bottom{font:700 .7rem Manrope,Arial,sans-serif;letter-spacing:.13em;color:var(--lime)}.card-bottom{display:flex;gap:16px;justify-content:space-between;border-top:1px solid #53717b;padding-top:20px;text-transform:uppercase}.section{padding:100px 0}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.prose{font-size:1.1rem;color:#475f66}.prose p{margin-bottom:22px}.project-section{background:#e9eee9}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.status{display:inline-block;background:#d3e4a6;color:#23493d;font:800 .71rem Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:10px 14px;white-space:nowrap}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:stretch}.project-copy{font-size:1.08rem;padding:25px 0 15px}.project-copy .text-link{display:inline-block;margin-top:17px}.location{font:800 .85rem Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#507267}.project-visual{min-height:360px;background:#173945;position:relative;overflow:hidden;display:grid;place-items:center}.project-visual:before,.project-visual:after{content:'';position:absolute;border:1px solid #7eaaa0;inset:30px 50px;transform:rotate(-18deg)}.project-visual:after{inset:70px 10px;transform:rotate(24deg)}.project-visual span{color:var(--lime);font:800 clamp(2.3rem,4vw,4rem)/1.05 Manrope,Arial,sans-serif;letter-spacing:-.07em;z-index:1;text-align:center}.parcel{position:absolute;background:#bcd68c;opacity:.32;transform:rotate(-18deg)}.p1{width:90px;height:100px;left:9%;top:12%}.p2{width:145px;height:100px;right:10%;top:20%}.p3{width:130px;height:70px;left:20%;bottom:8%}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px}.steps article{border-top:2px solid var(--navy);padding-top:20px}.steps span{color:#719073;font:800 .78rem Manrope,Arial,sans-serif}.steps h3{margin:22px 0 12px}.steps p{color:var(--muted);font-size:.95rem}.contact{background:var(--navy);color:#fff;padding:75px 0}.contact-grid{display:flex;justify-content:space-between;gap:60px;align-items:center}.contact .eyebrow{color:var(--lime)}.contact h2{margin-bottom:12px}.contact p:last-child{color:#cad8d9;max-width:590px}.button.light{background:var(--lime);color:var(--navy);flex-shrink:0}.button.light:hover{background:#e0efb7}footer{background:#0b2430;color:#b7c9ca;padding:30px 0;font-size:.75rem}.footer-inner{display:flex;justify-content:space-between;gap:24px}.detail-hero{background:var(--cream);padding:65px 0 90px}.detail-hero h1{font-size:clamp(3.3rem,6.4vw,6.2rem);margin-bottom:22px}.detail-hero .status{margin-top:14px}.back{display:inline-block;margin-bottom:70px;text-decoration:none;font-weight:700;font-size:.85rem}.back:hover{text-decoration:underline}.narrow{max-width:790px;font-size:1.1rem;color:var(--muted)}.plan{margin:36px 0 0}.plan img{width:100%;height:auto;display:block;border:1px solid #cbd7cf}.plan figcaption{font-size:.85rem;color:var(--muted);margin-top:12px}
@media(max-width:800px){.header-inner{flex-wrap:wrap;padding:18px 0}.site-header nav{width:100%;overflow:auto;gap:20px;white-space:nowrap;padding-bottom:3px}.hero{padding:72px 0}.hero-grid,.section-grid,.project-grid{grid-template-columns:1fr;gap:35px}.hero-card{min-height:260px}.section{padding:70px 0}.steps{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start;flex-direction:column}.contact-grid{align-items:start;flex-direction:column;gap:20px}.footer-inner{flex-direction:column}.detail-hero{padding:45px 0 70px}.back{margin-bottom:50px}}
@media(max-width:520px){.wrap{width:min(100% - 32px,1180px)}.hero h1{font-size:3.25rem}.steps{grid-template-columns:1fr}.card-bottom{font-size:.57rem}.site-header nav{font-size:.78rem}.site-header nav a{flex-shrink:0}}
.community-footer {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  padding: 12px 0;
  color: inherit;
  text-decoration: none;
}

.community-footer img {
  flex-shrink: 0;
  object-fit: contain;
}

.community-footer strong {
  display: block;
  font-size: 14px;
  line-height: 1.4;
}

.community-footer-description {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
}

.community-footer:hover strong {
  text-decoration: underline;
}

.community-footer:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
  border-radius: 4px;
}
/* Corrections: accessible responsive menu and resilient narrow layouts. */
.menu-toggle{display:none;min-height:44px;padding:10px 16px;border:1px solid var(--navy);background:transparent;color:var(--navy);font:700 1rem Manrope,Arial,sans-serif;cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid #487268;outline-offset:4px}
.hero-grid>*,.section-grid>*,.project-grid>*,.contact-grid>*{min-width:0}
.community-footer>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){
 .header-inner{gap:14px}
 .js .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
 .site-header nav{flex-wrap:wrap;overflow:visible;white-space:normal;gap:8px 16px}
 .site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}
 .site-header nav .nav-cta{padding:8px 16px}
 .js .site-header nav{display:none}
 .js .site-header nav.is-open{display:flex}
}
@media(max-width:520px){
 .hero h1{font-size:clamp(2.35rem,12vw,3.25rem)}
 .detail-hero h1{font-size:clamp(2.35rem,11.5vw,3.25rem)}
 h1,h2{overflow-wrap:break-word}
 .brand{font-size:.95rem;gap:9px}
 .card-bottom{flex-wrap:wrap}
 .status{white-space:normal;max-width:100%}
 .button{max-width:100%;min-height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
