:root{--ink:#173d48;--green:#117b8d;--accent:#bcecf3;--paper:#f0f8fa;--muted:#526970;--line:#cddfe3;--radius:3px;--error:#b42b26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:white;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;line-height:.98;letter-spacing:-.025em}h1{font-size:clamp(60px,7.3vw,112px)}h2{font-size:clamp(40px,4.4vw,68px)}h3{font-size:21px;line-height:1.3;letter-spacing:-.03em}p{margin:18px 0;color:var(--muted)}.skip{position:absolute;top:-80px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.topbar{background:var(--ink);color:white;display:flex;justify-content:space-between;padding:8px 5%;font-size:12px;letter-spacing:.03em}.topbar a{color:#d2edf2}header{height:102px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:20}.brand{width:168px;flex-shrink:0}.brand img{height:84px;object-fit:contain}nav{display:flex;gap:27px;align-items:center;font-size:14px;font-weight:600}nav>a:not(.button):hover,.textlink:hover{color:#117b8d;text-decoration:underline;text-underline-offset:5px}.navphone{margin-left:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:white;padding:17px 24px;border:1px solid var(--green);font-weight:600;font-size:15px;border-radius:var(--radius);transition:background .2s,transform .2s;line-height:1.4}.button:hover{background:var(--ink);transform:translateY(-2px)}.button.small{padding:13px 18px;font-size:13px}.button span{font-size:20px}.button.light{background:var(--accent);color:var(--ink);border-color:var(--accent)}.textlink{font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.menu{display:none}.eyebrow{font-family:'DM Sans',Arial,sans-serif;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.17em;line-height:1.5;color:var(--green);margin:0 0 24px}.hero{display:grid;grid-template-columns:48% 52%;min-height:650px}.herocopy{background:var(--paper);padding:64px 8% 44px 10.4%}.herocopy h1 em{font-style:normal;color:var(--green)}.herocopy>p:not(.eyebrow){max-width:420px;font-size:16px;margin:26px 0 30px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.actions .textlink{font-size:12px}.heronote{font-size:11px;margin-top:40px;color:var(--muted);display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green)}.heroimage{position:relative;overflow:hidden;background:#d7edf2}.heroimage>img{height:100%;position:absolute;inset:0;object-position:center}.heroimage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,42,54,.7),transparent 65%)}.imagecaption{position:absolute;bottom:24px;left:30px;right:30px;display:flex;justify-content:space-between;color:white;font-size:11px;z-index:1}.imageoverlay{position:absolute;bottom:92px;left:30px;color:white;z-index:1;font-family:'Barlow Condensed',Arial,sans-serif;font-size:34px;line-height:1.08}.truststrip{padding:22px 5%;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;background:var(--ink);color:white;font-size:12px}.truststrip span:before{content:'↗';margin-right:12px;color:var(--accent)}.section{padding:95px 5%}.section.compact{padding-top:20px}.sectionhead{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:42px}.sectionhead>p{max-width:390px;margin:0 0 5px}.sectionhead .eyebrow{margin-bottom:18px}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.servicecard{display:block;overflow:hidden}.servicecard>img{height:245px;transition:transform .4s}.servicecard:hover>img{transform:scale(1.025)}.servicecard>div{padding:22px 0 10px;border-bottom:1px solid var(--line)}.servicecard .number{font-size:10px;letter-spacing:.1em;color:var(--green)}.servicecard h3{display:flex;justify-content:space-between;margin-top:8px;font-weight:600}.servicecard p{font-size:14px;margin:12px 0}.splitband{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.splitband>div:first-child{height:680px}.splitband img{height:100%}.splitcopy{padding:85px 10%}.splitcopy>p:not(.eyebrow){max-width:470px}.checklist{list-style:none;padding:0;margin:30px 0}.checklist li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.checklist li:before{content:'✓';margin-right:12px;color:var(--green)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:42px}.steps article{border-top:1px solid var(--line);padding-top:18px}.steps article>span{font-family:'Barlow Condensed',sans-serif;font-size:40px;color:var(--green)}.steps h3{margin-top:25px}.steps p{font-size:14px}.projects{background:var(--paper)}.projectgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.projectgrid img{height:370px}.projectgrid h3{margin-top:20px;display:flex;justify-content:space-between}.projectgrid p{font-size:13px;margin-top:8px}.cta{background:var(--green);padding:70px 8%;display:flex;justify-content:space-between;align-items:center;color:white}.cta .eyebrow{color:var(--accent)}.cta>div:last-child{display:flex;flex-direction:column;gap:20px}.cta .call{text-align:center;font-size:23px;font-weight:500}footer{padding:70px 5% 25px;background:var(--ink);color:white;display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:50px;font-size:13px}footer a{display:block;margin:10px 0;color:#d2edf2}footer h3{font-size:13px;color:var(--accent);margin-bottom:20px}.footbrand{font-weight:700;font-size:35px;line-height:1}.footbrand>span{font-weight:400;display:block;font-size:18px;margin-top:5px}.footbrand p{font-size:13px;font-weight:400;line-height:1.7;color:#bdd5dc}.copyright{border-top:1px solid #43636d;padding-top:25px;grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;color:#bdd5dc}.copyright a{margin:0}.mobilebar{display:none}.pageintro{background:var(--paper);padding:68px 5% 58px;margin-bottom:45px}.pageintro h1{max-width:950px;font-size:clamp(60px,6.7vw,100px)}.lead{max-width:620px;font-size:18px;margin-top:28px}.servicefeature{padding:0 5% 85px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.servicefeature>div:first-child{height:590px}.servicefeature img{height:100%}.servicefeature h2{font-size:48px}.servicefeature p{font-size:15px}.servicefeature .button{margin-top:10px}.pale{background:var(--paper)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.gallery figure{margin:0;scroll-margin-top:110px}.gallery figure:first-child{grid-column:1/-1}.gallery figure img{height:470px}.gallery figure:first-child img{height:520px}.zoom{padding:0;border:0;background:none;width:100%;display:block;overflow:hidden}.zoom img{transition:transform .3s}.zoom:hover img{transform:scale(1.02)}figcaption{display:flex;gap:20px;align-items:baseline;margin-top:15px}figcaption>span{font-size:11px}figcaption h2{font-family:'DM Sans',Arial,sans-serif;font-size:20px;line-height:1.4}dialog{border:0;padding:15px;max-width:94vw;max-height:94vh;background:var(--paper)}dialog::backdrop{background:#103542e8}dialog img{max-height:75vh;width:auto;max-width:88vw;object-fit:contain}.close{background:none;border:0;display:block;margin-left:auto;padding:10px}.pricingnote{padding:23px;background:var(--paper);font-size:14px;margin-bottom:25px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;min-width:680px;width:100%;text-align:left;font-size:15px}caption{text-align:left;font-size:25px;font-weight:600;margin-bottom:24px}th,td{padding:23px 18px;border-bottom:1px solid var(--line)}thead{background:var(--green);color:white}tbody th{font-weight:500}tbody tr:nth-child(even){background:var(--paper)}td:last-child{font-weight:700}.pricingbottom{display:flex;gap:50px;align-items:center;justify-content:space-between;margin-top:55px}.pricingbottom>div{max-width:650px}.pricingbottom h2{font-size:43px}.pricingbottom .button{flex-shrink:0}.fine{font-size:12px}.fine a{text-decoration:underline}.contactlayout{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;padding:10px 5% 90px}.contactlayout h2{font-size:45px}.contactlayout aside{padding-top:15px}.contactlayout aside p{font-size:14px;max-width:360px}.contactphone{display:block;font-size:26px;font-weight:600;margin:28px 0 12px}.email{font-size:14px;overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--line);margin:35px 0}.photonote{background:var(--paper);padding:25px;margin-top:35px}.photonote h3{font-size:17px}.formpanel{border:1px solid var(--line);padding:38px;background:white}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{min-width:0}.field.wide{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input,select,textarea{border:1px solid #a5c1c8;border-radius:var(--radius);width:100%;padding:12px 13px;background:#fff;color:var(--ink);font-size:14px;min-height:47px}textarea{height:130px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--green)}.error{color:var(--error);font-size:12px;margin:4px 0 0}.error:empty{display:none}[aria-invalid=true]{border-color:var(--error)}.formsubmit{width:100%;margin-top:25px}.formsubmit:disabled{opacity:.6;cursor:wait}.success{padding:35px;background:var(--paper);border-left:4px solid var(--green);margin:20px 0}.success h3{font-size:25px}.prose{max-width:900px}.prose h2{font-size:36px;margin-top:25px}.prose a{text-decoration:underline}
@media(min-width:1600px){.hero{min-height:770px}.herocopy{padding-top:90px}.heroimage>img{object-position:center}.section{padding-top:115px;padding-bottom:115px}}
@media(max-width:1100px){nav{gap:16px}.navphone{display:none}header{padding:0 4%;height:90px}.hero{min-height:610px}.herocopy{padding:52px 8%}.hero h1{font-size:84px}.actions{gap:14px}.servicecard>img{height:210px}.splitcopy{padding:60px 8%}.steps{gap:20px}.contactlayout{gap:4%}.formpanel{padding:25px}}
@media(max-width:760px){.topbar{padding:7px 5%;font-size:10px}.topbar a{display:none}header{height:78px;padding:0 5%}.brand{width:135px}.brand img{height:70px}.menu{display:flex;gap:15px;align-items:center;background:none;border:0;font-size:13px;font-weight:600;padding:12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:25px 6%;box-shadow:0 12px 15px #0001;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:18px}nav .navphone{display:block;margin:0}.hero{display:flex;flex-direction:column}.herocopy{padding:42px 6% 35px}.hero h1{font-size:82px}.herocopy>p:not(.eyebrow){max-width:450px;font-size:14px;margin:22px 0}.eyebrow{font-size:10px;margin-bottom:19px}.heronote{margin-top:25px;font-size:10px}.heroimage{height:330px}.heroimage>img{object-position:center}.imageoverlay{font-size:28px;bottom:65px;left:6%}.imagecaption{left:6%;right:6%;font-size:10px;bottom:18px}.truststrip{grid-template-columns:1fr 1fr;gap:15px;padding:22px 6%;font-size:10px}.section{padding:60px 6%}.sectionhead{display:block;margin-bottom:28px}.sectionhead>p{margin-top:22px;font-size:14px}.sectionhead>.textlink{display:inline-block;margin-top:22px}h2{font-size:46px}.servicegrid{grid-template-columns:1fr;gap:25px}.servicecard>img{height:290px}.servicecard>div{padding-top:15px}.servicecard h3{font-size:23px}.servicecard p{max-width:400px}.splitband{grid-template-columns:1fr}.splitband>div:first-child{height:390px}.splitcopy{padding:45px 6%}.steps{grid-template-columns:1fr 1fr;gap:25px 22px}.steps h3{font-size:18px;margin-top:12px}.steps p{font-size:12px}.projectgrid{grid-template-columns:1fr;gap:30px}.projectgrid img{height:370px}.cta{padding:50px 6%;display:block}.cta h2{font-size:54px}.cta>div:last-child{align-items:flex-start;margin-top:30px}.cta .call{font-size:20px}footer{padding:50px 6% 90px;grid-template-columns:1fr;gap:30px}footer>div:nth-child(2){display:none}.copyright{font-size:10px;gap:15px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;height:56px;box-shadow:0 -2px 12px #0002}.mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;background:white;font-size:13px;font-weight:700}.mobilebar a:last-child{background:var(--green);color:white}.pageintro{padding:45px 6% 30px;margin-bottom:30px}.pageintro h1{font-size:65px}.lead{font-size:15px}.servicefeature{padding:0 6% 55px;grid-template-columns:1fr;gap:35px}.servicefeature>div:first-child{height:390px}.servicefeature h2{font-size:43px}.gallery{grid-template-columns:1fr;gap:30px}.gallery figure:first-child{grid-column:auto}.gallery figure img,.gallery figure:first-child img{height:370px}.gallery figure:first-child img{height:240px}figcaption h2{font-size:17px}.pricingbottom{display:block;margin-top:35px}.pricingbottom .button{margin-top:15px}.contactlayout{grid-template-columns:1fr;gap:35px;padding:0 6% 60px}.contactlayout aside{padding:0}.formpanel{padding:25px 20px}.formgrid{grid-template-columns:1fr}.field.wide{grid-column:auto}.contactphone{font-size:25px}.contactlayout h2{font-size:43px}.photonote{margin-top:25px}.section.compact{padding-top:0}th,td{padding:17px 12px}.prose h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.social-links{display:flex;align-items:center;gap:12px;margin:10px 0 22px}.social-links .social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;color:#d2edf2;transition:color .2s,transform .2s}.social-link svg{width:25px;height:25px;display:block}.social-links .social-link:hover{color:white;transform:translateY(-2px)}.social-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.hero-photo-controls{position:absolute;top:22px;right:22px;z-index:3;display:flex;gap:8px}.hero-photo-controls button{border:1px solid white;background:#173d48d9;color:white;padding:8px 14px;border-radius:3px;font-size:12px}.hero-photo-controls button[aria-pressed="true"]{background:#bcecf3;color:#173d48}.heroimage>#hero-project-image{object-position:45% center}.gallery figure img{object-fit:contain;background:#f0f8fa}

#hero-project-image{transition:opacity .25s ease}#hero-project-image.hero-fading{opacity:0}@media(prefers-reduced-motion:reduce){#hero-project-image{transition:none}}

/* Phone readability and touch controls */
@media(max-width:760px){.hero h1{font-size:clamp(52px,15vw,68px)}.pageintro h1{font-size:clamp(46px,13vw,62px)}input,select,textarea{font-size:16px}.hero-photo-controls{top:14px;right:14px;left:14px;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hero-photo-controls button{min-height:44px;padding:8px 10px}.imagecaption{flex-wrap:wrap;gap:4px}.contactlayout,.formpanel,.gallery figure{min-width:0}.formpanel h2{font-size:clamp(32px,10vw,43px)}footer a{overflow-wrap:anywhere}}
