@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:#082b3a;--ink:#153a41;--lime:#d0ed75;--cream:#f7f8f2;--line:#dce1d9;--muted:#5d706d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #319bbb;outline-offset:6px}a:hover{text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.08}em{font-style:normal;color:var(--lime)}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:30}.skip:focus{top:0}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:30px;background:var(--cream)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{border-radius:50%;width:53px;height:53px}.brand>span{font-size:30px;font-weight:800;line-height:1.1;letter-spacing:-1px}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1.2px;margin-top:5px}.header nav{display:flex;gap:30px;font-size:13px}.header nav a:hover{box-shadow:0 1px var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:white;border:0;padding:17px 25px;border-radius:4px;font-weight:600;font-size:14px;line-height:1.4;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:#194955}.button span{font-size:22px;line-height:1}.button.small{font-size:12px;padding:14px 18px}.button.lime{background:var(--lime);color:var(--navy)}.button.lime:hover{background:#e0fa95}.hero{margin:0 22px;display:grid;grid-template-columns:1.1fr 1fr;background:var(--navy);border-radius:8px;overflow:hidden;min-height:630px;color:white}.hero-copy{padding:66px 8% 28px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;line-height:1.6;margin-bottom:26px;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);flex-shrink:0}.hero .eyebrow{color:#c0d4d1;letter-spacing:1.4px}h1{font-size:clamp(44px,4.8vw,76px);margin:12px 0 28px;line-height:1.1}.intro{font-size:15px;line-height:1.8;color:#c5d5d8;max-width:420px}.hero-actions{display:flex;align-items:center;gap:26px;margin:35px 0 50px;flex-wrap:wrap}.text-link{font-size:13px;display:inline-flex;gap:20px;align-items:center;padding-bottom:5px;border-bottom:1px solid #7e999f}.text-link span{font-size:21px}.text-link:hover{border-color:var(--lime)}.hero-foot{display:flex;align-items:center;gap:22px;border-top:1px solid #34515a;width:100%;padding-top:22px;margin-top:auto;font-size:9px;letter-spacing:1.4px;color:#b3c9cd}.hero-foot .plus{font-size:18px;color:var(--lime)}.hero-visual{position:relative;min-height:580px;overflow:hidden}.hero-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:58% center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,43,58,.15),transparent 40%,rgba(8,43,58,.75))}.image-label{position:absolute;z-index:1;top:30px;left:30px;background:#082b3acf;backdrop-filter:blur(8px);padding:10px 14px;border-radius:3px;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.4px}.image-note{position:absolute;bottom:35px;left:32px;right:32px;display:flex;align-items:flex-end;justify-content:space-between;z-index:1;font-size:24px;line-height:1.2;letter-spacing:-.5px}.image-note>span:last-child{border:1px solid #ffffff70;border-radius:50%;width:48px;height:48px;display:grid;place-items:center}.service-strip{display:flex;justify-content:space-around;align-items:center;padding:28px 6%;font-size:12px;border-bottom:1px solid var(--line);gap:20px}.service-strip>span:nth-child(even){color:#759153;font-size:20px}.section{padding:95px 7%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-head>.text-link{margin-bottom:8px}.section-head>p{max-width:310px;color:var(--muted);font-size:14px;line-height:1.8;padding-bottom:6px}h2{font-size:clamp(34px,3.5vw,54px)}.section .eyebrow{color:var(--muted);margin-bottom:20px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{padding:35px 38px;border-radius:6px}.green{background:#e6eddf}.blue{background:#e2ebee}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.card-top>span{font-size:11px;color:var(--muted);border:1px solid #b1c3b3;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.card-top svg{width:44px;height:44px}.service-card h3{font-size:36px;line-height:1.15;margin-bottom:22px}.service-card p{max-width:360px;font-size:14px;color:#536762;line-height:1.8}.service-card ul{padding:0;list-style:none;font-size:13px;margin:26px 0 34px}.service-card li{padding:9px 0;border-bottom:1px solid #b7c8bc80}.service-card li:before{content:'↗';margin-right:12px;color:#4c7265}.card-link{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;gap:12px}.card-link span{font-size:24px}.work{padding-top:0}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.project{margin:0}.project img{width:100%;height:370px;object-fit:cover;border-radius:5px}.project:not(.wide) img{object-position:center 70%}.project figcaption{display:flex;justify-content:space-between;align-items:center;padding:21px 0;border-bottom:1px solid var(--line)}.project small{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.project h3{font-size:23px;letter-spacing:-.8px;margin-top:9px}.project figcaption>span{font-size:25px}.territory{padding-top:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.territory-art{position:relative;background:#e5eadf;height:380px;overflow:hidden;border-radius:6px}.rings{position:absolute;border:1px solid #96ab8770;width:390px;height:390px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-25deg);border-radius:40% 60% 48% 52%}.rings:before,.rings:after{content:'';position:absolute;inset:35px;border:1px solid #96ab8770;border-radius:inherit}.rings:after{inset:-40px}.map-dot{position:absolute;left:43%;top:46%;width:16px;height:16px;background:#537d43;border:4px solid #f4f6f0;border-radius:50%;box-shadow:0 0 0 14px #91aa7f30}.map-label{position:absolute;left:53%;top:44%;font-size:20px;font-weight:700;line-height:1.5}.map-label small{font-size:8px;letter-spacing:1.7px}.map-bottom{position:absolute;left:26px;bottom:25px;font-size:9px;letter-spacing:1.8px;color:#5d7056}.territory-copy p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8;margin-top:22px}.territory-copy a{margin-top:28px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:12%;padding-top:70px;padding-bottom:75px}.questions details{border-bottom:1px solid var(--line);padding:20px 0}.questions summary{cursor:pointer;list-style:none;font-size:15px;padding-right:25px;position:relative}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';position:absolute;right:0;font-size:23px;top:-4px}.questions details[open] summary:after{content:'−'}.questions p{font-size:13px;line-height:1.9;color:var(--muted);padding:16px 15px 2px 0}.contact{background:var(--navy);color:white;margin:0 22px;border-radius:8px;display:grid;grid-template-columns:1.15fr 1fr;gap:9%;padding:70px 6%}.contact .eyebrow{color:#b6cbce}.contact h2{font-size:clamp(34px,3.7vw,56px);line-height:1.15}.contact-copy>p:not(.eyebrow){color:#bed0d3;font-size:14px;max-width:350px;margin-top:24px;line-height:1.8}.phone{display:flex;justify-content:space-between;max-width:340px;font-size:31px;letter-spacing:-1px;line-height:1.4;border-bottom:1px solid #567079;padding:12px 0;margin-top:34px}.email{display:inline-block;font-size:15px;color:#d4e0e2;margin-top:15px;overflow-wrap:anywhere}.contact-area{display:block;font-size:9px;letter-spacing:1.8px;color:#b6cbce;margin-top:35px}form{background:#ffffff08;border:1px solid #ffffff20;padding:30px;border-radius:6px}form h3{font-size:23px;letter-spacing:-.7px}.form-note{font-size:11px;color:#b8cdd0;line-height:1.7;margin:12px 0 20px}form label{display:block;font-size:11px;margin:16px 0 7px;color:#e1e9e9}form input,form select,form textarea{display:block;width:100%;background:#153c49;border:1px solid #52717a;border-radius:3px;color:#fff;padding:11px;font-size:12px;outline-offset:3px}form textarea{resize:vertical}form input::placeholder,form textarea::placeholder{color:#a9bec4}form .button{width:100%;margin-top:22px}form select option{background:#153c49}.status{margin-bottom:0}#email-fallback{font-size:12px;text-decoration:underline}footer{padding:45px 7% 30px;display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-wordmark{font-size:33px;font-weight:800;letter-spacing:-1px;line-height:1}.footer-wordmark span{display:block;font-size:7px;letter-spacing:1.2px;margin-top:10px}footer p{font-size:11px;color:var(--muted)}footer>a:not(.footer-wordmark){font-size:12px}footer small{font-size:10px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:1000px){.header nav{gap:16px}.header>.button{display:none}.hero-copy{padding:45px 8% 25px}.hero{min-height:570px;grid-template-columns:1.2fr 1fr}.hero-visual{min-height:540px}h1{font-size:46px}.hero-actions{gap:20px;margin:28px 0}.hero-foot{gap:10px;font-size:8px}.image-note{font-size:20px}.section{padding:70px 6%}.work,.territory{padding-top:0}.contact{padding:55px 5%;gap:6%}.contact h2{font-size:38px}form{padding:22px}.project img{height:300px}}@media(max-width:680px){html{scroll-padding-top:25px}.header{padding:16px 6%;gap:12px}.brand img{width:43px;height:43px}.brand>span{font-size:26px}.brand small{font-size:6px}.header nav{gap:16px;font-size:11px}.header nav a:nth-child(3){display:none}.hero{margin:0 10px;grid-template-columns:1fr}.hero-copy{padding:35px 7% 24px}.hero .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:17px}h1{font-size:47px;margin:4px 0 22px}.intro{font-size:14px;max-width:100%}.hero-actions{margin:27px 0;gap:18px}.hero-actions .button{font-size:12px;padding:16px 17px}.text-link{font-size:12px}.hero-foot{padding-top:18px;gap:20px}.hero-visual{min-height:330px;max-height:350px}.hero-visual>img{object-position:center 53%}.image-label{top:20px;left:22px;font-size:7px}.image-note{left:22px;right:22px;bottom:22px;font-size:21px}.image-note>span:last-child{width:40px;height:40px}.service-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:12px 5px;padding:22px 6%;font-size:10px}.service-strip>span:nth-child(even){display:none}.section{padding:55px 7%}.section-head{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section-head>p{max-width:none;font-size:13px}.section .eyebrow{font-size:8px;margin-bottom:16px}h2{font-size:36px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:28px}.card-top{margin-bottom:25px}.service-card h3{font-size:33px}.work,.territory{padding-top:0}.project-grid{grid-template-columns:1fr;gap:27px}.project img{height:280px}.project:not(.wide) img{height:270px;object-position:center 65%}.project h3{font-size:21px}.project figcaption{padding:15px 0}.territory{grid-template-columns:1fr;gap:30px}.territory-art{height:280px;order:2}.territory-copy{order:1}.faq{grid-template-columns:1fr;gap:22px}.questions details{padding:18px 0}.questions summary{font-size:14px}.contact{grid-template-columns:1fr;gap:35px;margin:0 10px;padding:40px 7%}.contact h2{font-size:36px}.phone{font-size:29px;max-width:100%;margin-top:24px}.contact-area{margin-top:24px}form{padding:23px}.contact .eyebrow{font-size:8px}footer{padding:35px 7%;gap:25px;display:grid;grid-template-columns:1fr 1fr}footer p{font-size:10px}footer>a:not(.footer-wordmark){font-size:10px}footer small{justify-self:end}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
