@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:#102d3a;--ink:#193b48;--teal:#5ed7c4;--muted:#526671;--paper:#f5f7f7;--line:#d9e1e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #07816e;outline-offset:6px}.skip{position:absolute;top:-100px;left:16px;padding:10px;background:white;z-index:9}.skip:focus{top:8px}header{max-width:1440px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand-mark{font-family:'Manrope',Arial,sans-serif;font-size:39px;font-weight:800;letter-spacing:-2px;line-height:1}.brand-mark span{display:block;font-size:11px;letter-spacing:3px;margin-top:7px}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--ink);padding:12px 20px}nav a:hover,.text-link:hover{color:#087968}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto;min-height:700px}.hero-copy{padding:65px 10% 40px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 25px}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;line-height:1.1;margin-top:0;font-weight:600}h1{font-size:clamp(45px,4.6vw,72px);letter-spacing:-3px;margin-bottom:30px}em{font-style:normal;color:#148d7c}.intro{max-width:475px;font-size:18px;color:var(--muted)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:34px}.button{display:inline-block;background:var(--navy);color:white;padding:15px 23px;font-size:14px;font-weight:600}.button:hover{background:#215363}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid;padding-bottom:5px}.hero-note{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:56px;font-size:10px;font-weight:700;letter-spacing:1px}.terrain-panel{background:var(--navy);position:relative;overflow:hidden;color:white;min-height:650px}.terrain-panel svg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.diagram-top,.diagram-bottom{position:absolute;left:7%;right:7%;z-index:1;display:flex;justify-content:space-between;gap:20px}.diagram-top{top:32px;font-size:10px;letter-spacing:1.6px}.diagram-bottom{bottom:36px;align-items:end}.diagram-bottom strong{font-size:25px;line-height:1.3;font-weight:500}.diagram-bottom span{font-size:10px;letter-spacing:1px;color:var(--teal)}.scope-strip{background:#ecf1f2;padding:24px 6%;display:flex;gap:35px;align-items:center;justify-content:space-between;font-size:14px}.scope-strip p{margin:0;font-weight:600}.scope-strip span{color:var(--muted)}.section{padding:95px 6%;max-width:1440px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10px 60px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:10px}h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-1.8px;margin-bottom:20px}.section-heading p:last-child{color:var(--muted);margin:0 0 20px;max-width:510px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}article{padding:30px 25px 10px 0}article+article{border-left:1px solid var(--line);padding-left:25px}.number{color:#158573;font-size:14px;display:block;margin-bottom:36px}h3{font-size:22px;line-height:1.35;letter-spacing:-.5px}article p{color:var(--muted);font-size:15px}.service-label{display:block;margin-top:35px;font-size:10px;letter-spacing:1px;font-weight:700}.survey{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;}.survey em{color:var(--teal)}.survey p:not(.eyebrow){color:#c8d7dd;font-size:16px}.survey .button{background:var(--teal);color:var(--navy);margin-top:20px}.deliverables{padding-top:5px}details{border-top:1px solid #43606b;padding:20px 0}summary{font-size:22px;font-family:'Manrope',Arial,sans-serif;cursor:pointer}details p{margin-bottom:0}small{display:block;font-size:13px;color:#a7c1c9;padding-top:20px}.workflow ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;gap:35px}.workflow li{border-top:2px solid #c3d3d8;padding-top:24px}.workflow li span{font-size:13px;color:#138574}.workflow h3{margin:20px 0 15px}.workflow li p{font-size:15px;color:var(--muted)}.about{background:var(--paper)}.about>div{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about p{color:var(--muted)}.about .large{font-size:22px;line-height:1.5;color:var(--ink);margin-top:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:85px;padding-bottom:85px}.contact-links{align-self:center}.contact-links a,.contact-links p{display:block;font-size:clamp(19px,2.3vw,28px);border-bottom:1px solid var(--line);padding:18px 0;margin:0}.contact-links span{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin-bottom:6px}.contact-links p{font-size:17px}footer{padding:35px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}footer .brand-mark{font-size:28px;color:var(--navy)}footer .brand-mark span{font-size:8px}@media(min-width:1441px){.scope-strip{max-width:1440px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding:50px 8%}h1{letter-spacing:-2px}.hero-note{margin-top:30px}.service-grid{grid-template-columns:1fr 1fr}article:nth-child(3){border-left:0;padding-left:0}article:nth-child(n+3){border-top:1px solid var(--line);margin-top:25px}.scope-strip{flex-wrap:wrap;gap:15px 30px}.survey{gap:6%}.workflow ol{gap:20px}.section{padding:70px 6%}}@media(max-width:700px){header{padding:22px 6%;align-items:start}nav{justify-content:end;flex-wrap:wrap;gap:10px 16px;font-size:12px;max-width:220px}.nav-contact{padding:7px 10px}.brand-mark{font-size:32px}.brand-mark span{font-size:9px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6%}h1{font-size:54px;letter-spacing:-2px}.intro{font-size:17px}.terrain-panel{min-height:430px}.terrain-panel svg{height:650px;top:-90px}.diagram-bottom strong{font-size:23px}.scope-strip p{width:100%}.section{padding:60px 6%}.section-heading,.survey,.about>div,.contact{grid-template-columns:1fr;gap:20px}.section-heading{margin-bottom:25px}h2{font-size:36px}.service-grid{gap:0 20px}article,article+article{padding:22px 0;border-left:0}h3{font-size:20px}.number{margin-bottom:22px}.service-label{margin-top:20px}.survey{gap:45px}.workflow ol{grid-template-columns:1fr 1fr;gap:25px}.about .large{font-size:20px}.contact-links a{font-size:22px}footer{flex-wrap:wrap}footer p{margin:0}.hero-note{font-size:9px;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.service-grid article:nth-child(n+5){border-top:1px solid var(--line);margin-top:24px}.service-grid article:nth-child(4n+1){border-left:0;padding-left:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.project-grid article{border-top:2px solid #148d7c;border-left:0;padding:30px 0}.team{background:var(--paper)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.team-grid article{border-left:0;padding:15px 0}.team-grid .role{font-size:14px;color:#087968}.experience{padding-bottom:35px}@media(max-width:1000px){.service-grid article:nth-child(odd){border-left:0;padding-left:0}.service-grid article:nth-child(even){border-left:1px solid var(--line);padding-left:25px}}@media(max-width:700px){.project-grid,.team-grid{grid-template-columns:1fr;gap:15px}.service-grid article:nth-child(even){border-left:0;padding-left:0}.service-grid article:nth-child(n+5){margin-top:0}.team-grid article{border-top:1px solid var(--line)}}

/* Persistent section navigation; reserve space rather than covering content. */
.floating-nav{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:20;width:172px;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px;background:#fff;border:1px solid #dedede;border-radius:12px;box-shadow:0 8px 30px #0002;font-size:14px}
.floating-nav a{padding:10px 12px;border-radius:6px;line-height:1.4}
.floating-nav a:hover{background:#f5eeee;color:#ac2026}
.floating-nav .floating-contact{background:#ac2026;color:#fff}
.floating-nav .floating-contact:hover{background:#85191e;color:#fff}
@media(min-width:1101px){body{padding-right:204px}}
@media(max-width:1100px){body{padding-bottom:100px}.floating-nav{top:auto;bottom:0;left:0;right:0;transform:none;width:auto;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-radius:0;border-width:1px 0 0;font-size:14px}.floating-nav a{padding:9px 10px}html{scroll-padding-bottom:100px}}
@media(max-width:420px){.floating-nav a{padding:7px 8px}.floating-nav .floating-contact{flex-basis:100%;text-align:center}body{padding-bottom:120px}}
