:root{--ink:#14211d;--muted:#62716a;--paper:#f7f7f2;--line:#d9e0d8;--green:#1f5c45;--lime:#c8e670;--sand:#ece7dc;--radius:1rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.55}.shell{width:min(100% - 2.5rem,74rem);margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem;z-index:9}.site-header{position:sticky;top:0;z-index:5;background:#f7f7f2ee;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{min-height:4.8rem;display:flex;align-items:center;justify-content:space-between}.brand{color:var(--ink);font-size:1rem;font-weight:800;line-height:1.1;text-decoration:none}.brand span,.eyebrow,.service-card>span{color:var(--green)}.brand small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.menu-button{display:grid;gap:4px;padding:.7rem;border:0;background:none}.menu-button span:not(.sr-only){width:1.5rem;height:2px;background:var(--ink)}.main-nav{display:none;position:absolute;top:4.8rem;left:0;right:0;padding:1rem 1.25rem;background:var(--paper);border-bottom:1px solid var(--line)}.main-nav.open{display:grid;gap:.5rem}.main-nav>a{padding:.6rem 0;color:var(--ink);font-weight:700;text-decoration:none}.main-nav>a.active{color:var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.15rem;border:1px solid var(--green);border-radius:.25rem;background:var(--green);color:#fff;font-weight:800;text-decoration:none}.button-light{background:var(--lime);border-color:var(--lime);color:var(--ink)}.button-small{min-height:2.5rem;padding:.5rem .8rem}.hero{padding:4.5rem 0 3rem;background:linear-gradient(130deg,#e5ebdc,transparent 55%),var(--paper)}.hero-grid,.split-layout{display:grid;gap:2.5rem}.eyebrow{margin:0 0:.8rem;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:12ch;font-size:clamp(2.55rem,9vw,5.7rem);letter-spacing:-.06em;line-height:.95}h1 em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(2rem,5vw,3.35rem);letter-spacing:-.045em;line-height:1.02}.lead{max-width:38rem;color:#3d4943;font-size:1.13rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1.8rem 0 2.5rem}.text-link{color:var(--ink);font-weight:800;text-decoration:none}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0}.trust-strip div{border-left:1px solid #b6c1b4;padding-left:.65rem}.trust-strip dt{font-size:1.15rem;font-weight:800}.trust-strip dd{margin:0;color:var(--muted);font-size:.77rem;line-height:1.25}.hero-card{align-self:end;padding:1.75rem;background:var(--green);border-radius:var(--radius);color:#fff}.hero-card h2{font-size:1.75rem}.hero-card a{display:block;margin:1.5rem 0 .3rem;color:var(--lime);font-size:1.5rem;font-weight:800;text-decoration:none}.section{padding:4.5rem 0}.section-intro{max-width:42rem;margin-bottom:2rem}.section-intro>p:last-child,.service-card p,.check-list p{color:var(--muted)}.service-grid,.project-grid{display:grid;gap:1rem}.service-card{display:flex;flex-direction:column;min-height:15rem;padding:1.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}.service-card h3{margin:.9rem 0 .5rem;font-size:1.45rem;line-height:1.1}.service-card b{margin-top:auto}.section-dark{background:var(--ink);color:#fff}.section-dark .eyebrow{color:var(--lime)}.section-dark h2{max-width:10ch}.project-teaser,.content-card{padding:1.5rem;border-radius:var(--radius)}.project-teaser{background:#23342d;border:1px solid #3d5048}.project-teaser a{color:var(--lime);font-weight:800;text-decoration:none}.check-list{display:grid;gap:1.2rem}.check-list p{margin:0;padding-left:1.2rem;border-left:3px solid var(--lime)}.check-list strong{color:var(--ink);font-size:1.1rem}.cta-band{padding:4rem 0;background:var(--sand)}.site-footer{padding-top:3.5rem;background:#102019;color:#dbe5dd}.site-footer .brand,.site-footer a{color:#fff}.site-footer .brand span{color:var(--lime)}.site-footer h2{margin-bottom:.8rem;font-size:1rem;letter-spacing:0}.site-footer a{display:block;margin:.25rem 0;text-decoration:none}.site-footer p{color:#b8c6bd}.footer-grid{display:grid;gap:2rem}.footer-bottom{margin-top:2rem;padding:1rem 0;border-top:1px solid #304139;color:#a8b8ae;font-size:.85rem}.page-hero{padding:3.5rem 0 2.5rem;background:var(--sand)}.page-hero h1{max-width:15ch;font-size:clamp(2.5rem,8vw,4.5rem)}.page-hero p:last-child{max-width:40rem;font-size:1.12rem}.content-grid{display:grid;gap:1rem}.content-card{background:#fff;border:1px solid var(--line)}.content-card h2,.project-card h2{font-size:1.65rem}.content-card p,.project-card p{color:var(--muted)}.project-card{padding:1.5rem;background:#fff;border-top:4px solid var(--lime)}.project-card dl{display:grid;grid-template-columns:7rem 1fr;gap:.5rem;margin:1.2rem 0 0}.project-card dt{font-weight:800}.project-card dd{margin:0}.contact-grid{display:grid;gap:1.5rem}.contact-panel{padding:1.5rem;background:var(--green);border-radius:var(--radius);color:#fff}.contact-panel a{color:var(--lime);font-weight:800;text-decoration:none}.form-grid{display:grid;gap:1rem}.form-grid label{font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:.35rem;padding:.8rem;border:1px solid #aeb9ae;border-radius:.25rem;background:#fff;font:inherit}.form-grid textarea{min-height:9rem}.notice{padding:1rem;background:#e7f3e7;border-left:3px solid var(--green);color:#254630}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:46rem){.menu-button{display:none}.main-nav{position:static;display:flex;align-items:center;gap:1.15rem;padding:0;border:0;background:transparent}.main-nav>a{padding:0;font-size:.9rem}.main-nav .button{padding:.55rem .85rem;color:#fff}.hero{padding:7.5rem 0 5rem}.hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);align-items:end}.service-grid{grid-template-columns:repeat(2,1fr)}.split-layout{grid-template-columns:repeat(2,1fr);align-items:start}.footer-grid{grid-template-columns:1.25fr 1fr 1fr}.content-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:.8fr 1.2fr}}@media(min-width:70rem){.service-grid{grid-template-columns:repeat(4,1fr)}.service-card{min-height:19rem}.content-grid{grid-template-columns:repeat(3,1fr)}}
