
:root{--green:#173f35;--deep:#0b2822;--off:#f5f4ef;--concrete:#e7e5df;--char:#171b19;--muted:#69706c;--lime:#d7ed55;--white:#fff;--line:rgba(23,63,53,.14);--max:1380px;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--off);color:var(--char);font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,textarea,select{font:inherit}::selection{background:var(--lime);color:var(--deep)}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;z-index:1000}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--green)}.muted{color:var(--muted)}.rule{border-top:1px solid var(--line)}
.site-header{position:fixed;z-index:100;inset:0 0 auto;transition:.25s ease;color:#fff}.site-header.scrolled,.site-header.light{background:rgba(245,244,239,.96);backdrop-filter:blur(14px);color:var(--char);border-bottom:1px solid var(--line)}.nav{height:86px;display:flex;align-items:center;gap:28px}.logo{font-weight:900;letter-spacing:-.05em;font-size:1.25rem;line-height:.9}.logo small{display:block;font-size:.53rem;letter-spacing:.18em;margin-top:5px;font-weight:700}.logo img{display:block;height:56px;width:auto;transition:filter .25s ease}.site-header:not(.scrolled):not(.light) .logo img,.mobile-drawer .logo img,.footer .logo img{filter:drop-shadow(0 4px 14px rgba(0,0,0,.28))}.nav-links{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:.9rem}.nav-links a{opacity:.9}.nav-links a:hover{opacity:1}.menu-group{position:relative}.mega{position:absolute;top:34px;right:-180px;width:760px;background:var(--off);color:var(--char);border:1px solid var(--line);padding:28px;display:none;grid-template-columns:repeat(3,1fr);gap:20px;box-shadow:0 20px 60px rgba(0,0,0,.12)}.menu-group:hover .mega,.menu-group:focus-within .mega{display:grid}.mega ::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:16px}strong{display:block;margin-bottom:10px}.mega a{display:block;padding:4px 0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:9px;padding:13px 18px;font-weight:800;font-size:.9rem;transition:.2s ease;cursor:pointer}.btn.primary{background:var(--green);color:#fff}.site-header:not(.scrolled):not(.light) .btn.primary{background:var(--off);color:var(--deep)}.btn.primary:hover{transform:translateY(-1px)}.btn.secondary{border-color:currentColor}.btn.lime{background:var(--lime);color:var(--deep)}.hamb{display:none;margin-left:auto;border:0;background:transparent;color:inherit;font-size:1.35rem}.mobile-drawer{display:none;position:fixed;inset:0;background:var(--deep);color:#fff;z-index:130;padding:28px}.mobile-drawer.open{display:block}.mobile-drawer .close{float:right;border:0;background:none;color:#fff;font-size:2rem}.mobile-links{display:grid;gap:18px;margin-top:80px;font-size:1.5rem;font-weight:800}.mobile-links small{font-size:.85rem;color:#b9c7c2;font-weight:500}
.hero{min-height:780px;background-position:center;background-size:cover;color:#fff;display:flex;align-items:flex-end;position:relative}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,40,34,.88),rgba(11,40,34,.45) 48%,rgba(11,40,34,.10)),linear-gradient(0deg,rgba(11,40,34,.62),transparent 55%)}.hero-inner{position:relative;z-index:1;padding:170px 0 84px;max-width:930px}.hero h1{font-size:clamp(3.1rem,7vw,6.4rem);line-height:.93;letter-spacing:-.065em;margin:.2em 0 .3em;max-width:1000px}.hero p{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:760px;color:#ecf2ef}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust{margin-top:34px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#d7e2de}
section{padding:120px 0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.split.reverse{grid-template-columns:.95fr 1.05fr}.media{min-height:560px;background-size:cover;background-position:center;border-radius:var(--radius)}h2{font-size:clamp(2.7rem,5.4vw,5.1rem);line-height:.97;letter-spacing:-.055em;margin:.18em 0 .35em}h3{font-size:clamp(1.55rem,2.5vw,2.35rem);line-height:1.05;letter-spacing:-.035em;margin:.2em 0}.lede{font-size:1.18rem;max-width:700px;color:var(--muted)}.audiences{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-weight:800}.audiences span{border-top:1px solid var(--line);padding-top:10px;min-width:150px}
.services-dark{background:var(--deep);color:#fff}.services-dark .eyebrow{color:var(--lime)}.service-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:30px;padding:34px 0;border-top:1px solid rgba(255,255,255,.18);align-items:start}.service-row .num{font-size:.8rem;color:#b7c5c0}.service-row p{color:#c9d3cf;margin-top:8px}.service-row a{color:var(--lime);font-weight:800}.service-row:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.cred{background:var(--green);color:#fff}.cred .eyebrow{color:var(--lime)}.cred-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.traits{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.2)}.trait{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2);font-weight:800}.trait:nth-child(even){padding-left:24px;border-left:1px solid rgba(255,255,255,.2)}
.property-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line)}.property-strip a{min-height:260px;padding:24px;background:var(--off);display:flex;flex-direction:column;justify-content:flex-end;font-weight:800;transition:.2s}.property-strip a:hover{background:var(--concrete)}
.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:310px;gap:12px}.gallery .g{background-size:cover;background-position:center;border-radius:var(--radius);position:relative;overflow:hidden}.gallery .g:first-child{grid-row:span 2}.gallery .g:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,40,34,.55),transparent 50%)}.gallery .label{position:absolute;left:18px;bottom:16px;color:#fff;z-index:1;font-weight:800;font-size:.86rem}.ba-placeholder{border:1px solid var(--line);padding:40px;border-radius:var(--radius);background:var(--concrete)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step{background:var(--off);padding:28px;min-height:260px}.step b{font-size:.8rem;color:var(--green)}.step p{color:var(--muted)}
.final-cta{background:var(--char);color:#fff;padding:100px 0}.final-cta h2{max-width:900px}.final-cta p{color:#c9d0cd}.footer{background:#081e19;color:#fff;padding:72px 0 32px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#a8bbb3}.footer a,.footer p{display:block;color:#d8e0dd;margin:7px 0}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.13);padding-top:24px;margin-top:48px;color:#9fb0aa;font-size:.85rem}
.page-hero{padding:190px 0 90px;background:var(--deep);color:#fff}.page-hero h1{font-size:clamp(3.2rem,7vw,6rem);line-height:.93;letter-spacing:-.06em;margin:.1em 0 .3em}.page-hero p{max-width:800px;color:#cbd6d1;font-size:1.2rem}.page-hero.image{min-height:620px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end}.page-hero.image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,40,34,.9),rgba(11,40,34,.3))}.page-hero.image .wrap{position:relative;z-index:1;padding-bottom:70px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:var(--off);padding:30px;min-height:280px}.service-card p{color:var(--muted)}.service-card a{font-weight:800;color:var(--green)}
.form-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{border:1px solid #cfd2cf;background:#fff;padding:14px;border-radius:8px}.field textarea{min-height:140px;resize:vertical}.contact-panel{background:var(--deep);color:#fff;padding:35px;border-radius:var(--radius);height:max-content}.contact-panel a{display:block;margin:8px 0 24px;color:#e7efeb}.notice{font-size:.86rem;color:var(--muted)}
.legal{max-width:920px}.legal h2{font-size:2rem;letter-spacing:-.03em}.legal li{margin:8px 0}
.legal.policy{max-width:760px}
.legal.policy h2{font-size:1.5rem;margin:48px 0 12px}
.legal.policy p,.legal.policy li{line-height:1.6}
.legal.policy a{text-decoration:underline;text-underline-offset:3px}
.legal .updated{font-size:.875rem;opacity:.7;margin-top:0}
.form-consent{font-size:.875rem;opacity:.75;margin:12px 0 0;line-height:1.5}
.form-consent a{text-decoration:underline;text-underline-offset:3px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted);max-width:850px}.mobile-bar{display:none}
@media(max-width:980px){.nav-links,.nav>.btn{display:none}.hamb{display:block}.split,.split.reverse,.cred-grid,.form-layout{grid-template-columns:1fr}.media{min-height:460px}.service-row{grid-template-columns:80px 1fr}.service-row p{grid-column:2}.property-strip{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery .g:first-child{grid-row:span 1;grid-column:span 2}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{font-size:16px}.wrap{width:min(calc(100% - 40px),var(--max))}.nav{height:72px}.hero{min-height:700px;background-position:58% center}.hero-inner{padding:145px 0 54px}.hero h1{font-size:3.45rem}.actions .btn{width:100%}.trust{line-height:1.7}section{padding:82px 0}.media{min-height:390px}.service-row{grid-template-columns:48px 1fr;gap:10px}.property-strip{grid-template-columns:1fr}.property-strip a{min-height:140px}.traits{grid-template-columns:1fr}.trait:nth-child(even){padding-left:0;border-left:0}.gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:270px}.gallery .g:first-child{grid-column:auto}.steps{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.mobile-bar{position:fixed;z-index:90;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;background:var(--off);border-top:1px solid var(--line);padding:10px;gap:8px}.mobile-bar a{padding:11px;text-align:center;font-weight:800;border-radius:8px}.mobile-bar a:last-child{background:var(--green);color:#fff}.page-hero{padding:145px 0 70px}.page-hero.image{min-height:520px}.page-hero h1{font-size:3.65rem}}
.hero-inner{max-width:1120px}
.hero h1{font-size:clamp(3.1rem,5.6vw,5.4rem);max-width:1120px}
@media(min-width:981px){.service-grid>.service-card:last-child:nth-child(3n+1){grid-column:1/-1;min-height:0}}
.trait p{margin:6px 0 0;font-weight:400;color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.5}
.testimonials{background:var(--concrete)}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;margin-top:38px;background:var(--line);border:1px solid var(--line)}
.testimonial{margin:0;background:var(--off);padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.testimonial blockquote{margin:0}
.testimonial blockquote p{margin:0;font-size:1.12rem;line-height:1.55;text-wrap:pretty}
.testimonial figcaption{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:16px}
.testimonial figcaption span{color:var(--muted);font-size:.9rem}
.testimonials .actions{margin-top:32px}
.testimonials .btn.secondary{color:var(--green);border-color:var(--green)}
.residential-group{background:var(--concrete);padding-top:90px}
.residential-grid{margin-top:38px;grid-template-columns:repeat(2,1fr)}
@media(max-width:640px){.residential-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
