:root{--navy:#143062;--navy-deep:#061835;--green:#5ba858;--green-deep:#45903f;--ink:#141414;--muted:#5f6673;--line:#e3e7ee;--bg:#fff;--bg-soft:#f1f4f5;--head:"Montserrat", system-ui, sans-serif;--body:"Roboto", system-ui, sans-serif;--wrap:1160px;--r:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}img{max-width:100%;display:block}a{color:var(--navy)}h1,h2,h3,h4{font-family:var(--head);color:var(--navy);margin:0 0 .5em;font-weight:700;line-height:1.15}h1{font-size:clamp(2.3rem,5.5vw,4rem);font-weight:800}h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}h3{font-size:1.3rem}p{margin:0 0 1em}.center{text-align:center}.wrap{width:min(var(--wrap), 100% - 40px);margin-inline:auto}.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin:0 0 .5rem;font-size:.85rem;font-weight:700}.eyebrow.light{color:var(--green)}.lede{max-width:58ch;font-size:1.2rem}.skip{z-index:100;background:#fff;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.btn{font-family:var(--head);cursor:pointer;border:2px solid #0000;border-radius:8px;padding:13px 28px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s,color .15s;display:inline-block}.btn:hover{transform:translateY(-1px)}.btn-green{background:var(--green);color:#fff;border-color:var(--green)}.btn-green:hover{background:var(--green-deep);border-color:var(--green-deep)}.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-navy:hover{background:var(--navy-deep);border-color:var(--navy-deep)}.btn-ghost{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border-color:#fff9}.btn-ghost:hover{color:var(--navy);background:#fff}.ctas{flex-wrap:wrap;gap:12px;margin-top:1.5rem;display:flex}header.site{z-index:50;color:#fff;background:#141414;position:sticky;top:0}header.site .wrap{align-items:center;gap:28px;height:84px;display:flex}.brand img{width:180px;height:auto}nav.primary{gap:28px;margin-left:auto;display:flex}nav.primary a{color:#fff;font-family:var(--head);border-bottom:2px solid #0000;padding:6px 0;font-size:.95rem;font-weight:600;text-decoration:none}nav.primary a:hover{border-color:var(--green);color:var(--green)}.hdr-cta{padding:10px 20px;font-size:.85rem}.menu-btn{color:#fff;cursor:pointer;background:0 0;border:0;padding:6px;display:none}.menu-backdrop{z-index:40;background:#0000008c;position:fixed;inset:0}.menu-panel{display:none}@media (width<=860px){nav.primary,.hdr-cta{display:none}.menu-btn{display:inline-flex}header.site .wrap{gap:14px;height:70px}.brand img{width:140px}.menu-panel{z-index:45;background:#141414;flex-direction:column;gap:4px;width:min(320px,85vw);padding:86px 24px 24px;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.menu-panel.is-open{transform:none}.menu-panel a{color:#fff;font-family:var(--head);border-bottom:1px solid #ffffff1f;padding:12px 0;font-size:1.25rem;font-weight:700;text-decoration:none}.menu-panel .btn{text-align:center;border:0;margin-top:20px}}.hero{color:#fff;background:#000;align-items:center;min-height:80vh;display:grid;position:relative;overflow:hidden}.hero-bg{object-fit:cover;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(90deg,#061835d9,#06183559);position:absolute;inset:0}.hero-inner{z-index:1;max-width:720px;padding:100px 0;position:relative}.hero h1{color:#fff}.hero .lede{color:#e3e8f0}.about{padding:96px 0}.two-col{grid-template-columns:1fr 1.1fr;align-items:center;gap:64px;display:grid}.photo{margin:0}.photo img{border-radius:var(--r);box-shadow:0 24px 60px #0618352e}.about p{color:var(--muted);font-size:1.1rem}.services{background:var(--navy-deep);color:#fff;padding:96px 0}.services h2{color:#fff}.svc-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin:40px 0 0;padding:0;list-style:none;display:grid}.svc-grid li{color:var(--ink);border-radius:var(--r);background:#fff;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000040}.svc-grid img{aspect-ratio:16/10;object-fit:cover;width:100%}.svc-grid li>div{flex-direction:column;flex:1;gap:10px;padding:26px 26px 28px;display:flex}.svc-grid p{color:var(--muted);flex:1;margin:0}.svc-grid .btn{align-self:flex-start}.testimonials{background:var(--bg-soft);padding:96px 0}.quotes{grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 40px;padding:0;list-style:none;display:grid}.quotes li{border-radius:var(--r);border-top:4px solid var(--green);background:#fff;flex-direction:column;padding:30px;display:flex;box-shadow:0 12px 36px #06183512}.quotes blockquote{flex:1;margin:0 0 14px;font-style:italic}.quotes footer{font-family:var(--head);color:var(--navy);font-weight:700}.faqs{background:var(--navy-deep);color:#fff;padding:96px 0}.faqs h2{color:#fff}.faq-list{gap:12px;max-width:900px;margin:24px 0 0;padding:0;list-style:none;display:grid}.faq{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;overflow:hidden}.faq-q{text-align:left;width:100%;font:inherit;font-family:var(--head);color:#fff;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:1.02rem;font-weight:700;display:flex}.faq-q svg{color:var(--green);flex:none;transition:transform .2s}.faq.is-open .faq-q svg{transform:rotate(180deg)}.faq-a{color:#cfd6e2;padding:0 22px 20px}.faq-a p{margin:0}.team{background:var(--bg-soft);padding:96px 0}.people{text-align:center;grid-template-columns:repeat(3,1fr);gap:28px;margin:32px 0 0;padding:0;list-style:none;display:grid}.people img{aspect-ratio:1;object-fit:cover;object-position:top;border-radius:var(--r);width:100%;margin-bottom:14px;box-shadow:0 12px 30px #0618351f}.people h3{text-transform:uppercase;letter-spacing:.04em;margin:0 0 .2em;font-size:1.1rem}.people a{color:var(--green-deep);font-weight:500;text-decoration:none}.contact{padding:96px 0}.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:56px;display:grid}.info{grid-template-columns:max-content 1fr;gap:10px 20px;margin:0 0 24px;display:grid}.info dt{font-family:var(--head);color:var(--navy);font-weight:700}.info dd{color:var(--muted);margin:0}.info dd a{color:var(--ink);font-weight:500;text-decoration:none}.map{border-radius:var(--r);border:1px solid var(--line);display:block;overflow:hidden}.cf{border:1px solid var(--line);border-radius:var(--r);background:#fff;flex-direction:column;gap:16px;padding:32px;display:flex;box-shadow:0 16px 40px #0618351a}.cf label{color:var(--navy);flex-direction:column;gap:6px;font-size:.95rem;font-weight:500;display:flex}.cf input,.cf select,.cf textarea{font:inherit;color:var(--ink);background:#fbfcfe;border:1px solid #cfd5df;border-radius:8px;padding:12px 14px}.cf input:focus,.cf select:focus,.cf textarea:focus{outline:2px solid var(--green);border-color:var(--green)}.cf-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cf-hp{position:absolute;left:-9999px}.cf-err{color:#b42318;margin:0}.cf .btn{border:0;align-self:flex-start}.cf-done{text-align:center;padding:48px 32px}.cf-done strong{font-family:var(--head);color:var(--navy);font-size:1.8rem}.site-foot{color:#c9cdd4;background:#141414;padding:64px 0 0}.foot-grid{grid-template-columns:1.4fr 1fr 1.3fr;gap:48px;display:grid}.foot-logo{width:200px;height:auto;margin-bottom:14px}.site-foot h4{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:1rem}.site-foot ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-foot a{color:var(--green);text-decoration:none}.site-foot a:hover{text-decoration:underline}.foot-base{text-align:center;border-top:1px solid #ffffff1a;margin-top:48px;padding:16px 0;font-size:.85rem}@media (width<=900px){.two-col,.contact-grid{grid-template-columns:1fr;gap:36px}.svc-grid,.quotes,.people{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr;gap:28px}.about,.services,.testimonials,.faqs,.team,.contact{padding:64px 0}.hero{min-height:68vh}}@media (width<=560px){.cf-row{grid-template-columns:1fr}.cf{padding:22px}.info{grid-template-columns:1fr;gap:4px 0}.info dt{margin-top:10px}}
