
:root{--navy:#0b2535;--teal:#007d85;--ink:#213746;--muted:#5f717c;--paper:#f3f6f5;--line:#dce5e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #e3ac46;outline-offset:5px}.wrap{max-width:1180px;margin:auto;padding:0 30px}.preview{background:#e8f2f1;color:#24565b;text-align:center;font-size:12px;padding:7px 20px}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav{height:88px;display:flex;align-items:center;gap:32px;justify-content:space-between}.brand{font-size:24px;font-weight:800;letter-spacing:1.5px;line-height:1.15}.brand span{display:block;font-size:9px;letter-spacing:3px;font-weight:400;margin-top:8px}.links{display:flex;gap:25px;align-items:center;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;background:var(--teal);color:#fff;font-weight:700;font-size:14px;border:1px solid var(--teal);border-radius:3px;transition:background .2s}.btn:hover{background:#00636b}.btn.secondary{background:transparent;border-color:#7c939c;color:white}.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;padding-top:85px;padding-bottom:90px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:bold;color:#71d1c9;margin:0 0 23px}h1{font-size:clamp(38px,4.6vw,62px);line-height:1.06;letter-spacing:-2px;margin:0 0 25px;font-weight:700}h1 em{font-style:normal;color:#71d1c9}.hero p.lead{max-width:570px;color:#c5d4db;font-size:18px;line-height:1.65}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.hero-foot{font-size:12px;color:#99b1ba;border-top:1px solid #304b59;padding-top:22px}.technical{position:relative;background:#103545;border:1px solid #41616c;border-radius:4px;padding:24px;box-shadow:20px 20px 0 #102e3e}.technical svg{display:block;width:100%;height:auto}.drawing-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#a9c6ca}.drawing-bottom{border-top:1px solid #41616c;padding-top:16px;font-size:11px;color:#a9c6ca;display:flex;justify-content:space-between}.band{background:#e8f1ef}.sectors{display:flex;gap:25px;justify-content:space-between;align-items:center;padding-top:23px;padding-bottom:23px;font-size:13px}.sectors strong{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--teal)}section{padding:85px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:40px}h2{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:0 0 16px}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--teal);font-weight:700;margin:0 0 14px}.section-head p{max-width:410px;color:var(--muted);font-size:15px}.services{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.number{font-size:12px;color:var(--teal);letter-spacing:2px}.service h3{font-size:23px;margin:12px 0}.service p{color:var(--muted);font-size:15px}.tags{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--teal);margin-top:22px}.about{background:var(--paper)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px}.about p{color:var(--muted)}.details{border-top:1px solid var(--line)}.detail{border-bottom:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:40px 1fr;gap:10px}.detail span{color:var(--teal);font-size:13px}.detail h3{margin:0 0 5px;font-size:18px}.detail p{font-size:14px;margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px}.step{border-top:2px solid var(--teal);padding-top:22px}.step strong{color:var(--teal);font-size:12px}.step h3{font-size:18px}.step p{font-size:14px;color:var(--muted)}.contact{background:var(--navy);color:white}.contact .kicker{color:#71d1c9}.contact p{color:#c5d4db}.contact-box{background:#153b4a;padding:30px;border:1px solid #385763}.contact-box a.email{display:block;font-size:clamp(15px,2vw,21px);overflow-wrap:anywhere;margin:15px 0}.contact-box .btn{width:100%}.contact-box small{display:block;margin-top:20px;color:#adc0c9;font-size:12px}footer{background:#071c28;color:#adc0c9;font-size:12px;padding:25px 0}.footer-row{display:flex;justify-content:space-between;gap:20px}details.review{background:#f8faf9;border-top:1px solid var(--line);font-size:13px;padding:20px 30px}summary{cursor:pointer;font-weight:bold}.review ul{max-width:1100px;margin:20px auto}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 12px;color:var(--navy);font-size:14px;cursor:pointer}@media(max-width:850px){.links{gap:14px;font-size:12px}.links .btn{padding:10px}.hero-grid{gap:30px}.two-col{gap:35px}.steps{grid-template-columns:1fr 1fr}.sectors{flex-wrap:wrap;justify-content:center}}@media(max-width:640px){.wrap{padding:0 22px}.nav{height:75px}.brand{font-size:21px}.menu{display:block}.links{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;background:white;padding:22px;border-bottom:1px solid var(--line)}.links.open{display:flex}.hero-grid{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px}.hero p.lead{font-size:16px}.technical{max-width:410px;box-shadow:10px 10px 0 #102e3e}.sectors{gap:13px;font-size:12px}.section-head{display:block}.services,.two-col{grid-template-columns:1fr}.service{padding:25px}.two-col{gap:30px}section{padding:55px 0}h2{font-size:30px}.steps{gap:20px}.footer-row{flex-direction:column}.contact-box{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.technical.sketch{padding:0;background:#fff;border-color:#dce5e5;overflow:hidden;box-shadow:14px 14px 0 #102e3e}.sketch img{display:block;width:100%;height:auto}.sketch-caption{padding:12px 16px;color:#526571;font-size:11px;background:#fff}.hero-grid{grid-template-columns:1fr 1.15fr;gap:45px}@media(max-width:640px){.hero-grid{grid-template-columns:1fr}.technical.sketch{max-width:none}}
.location{margin-top:55px}.location-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px}.location-heading h3{font-size:24px;margin:0}.location-heading p{font-size:14px}.location iframe{display:block;width:100%;height:340px;border:0;border-radius:4px;background:#e8efed}.map-fallback{font-size:12px}@media(max-width:640px){.location-heading{align-items:flex-start;flex-direction:column}.location iframe{height:280px}}
.social{margin-top:50px;padding-top:32px;padding-bottom:32px;border-top:1px solid #385763;border-bottom:1px solid #385763;display:flex;align-items:center;justify-content:space-between;gap:25px}.social h3{font-size:25px;margin:0}.social p{font-size:14px;margin-bottom:0}.instagram-link{display:flex;align-items:center;gap:18px;background:#153b4a;border:1px solid #567983;padding:18px 24px;border-radius:4px;min-width:245px}.instagram-link:hover{background:#205262}.instagram-link small{display:block;font-size:10px;letter-spacing:2px;color:#71d1c9}.instagram-link strong{font-size:20px}.instagram-link>span:last-child{margin-left:auto}.location{margin-top:35px}@media(max-width:640px){.social{align-items:stretch;flex-direction:column}.instagram-link{width:100%}}

.inner-hero{background:var(--navy);color:#fff;padding:68px 0 64px}
.inner-hero h1{max-width:880px;font-size:clamp(36px,5vw,58px);line-height:1.12}
.inner-hero p{max-width:760px;color:#c5d4db;font-size:18px}
.crumb{display:block;font-size:12px;color:#9cb9c5;margin-bottom:25px}
.info-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.info-card,.blog-card{padding:26px;border:1px solid var(--line);border-radius:4px;background:white}
.info-card h3,.blog-card h3{line-height:1.3;font-size:23px;margin:12px 0}
.info-card p,.blog-card p{color:var(--muted);font-size:15px}
.text-link{display:inline-block;color:var(--teal);font-weight:bold;border-bottom:1px solid;margin-top:15px}
.plain-list{padding-left:20px}.plain-list li{margin-bottom:13px}
.callout{background:var(--paper);padding:28px;border-left:4px solid var(--teal)}
.blog-card time{font-size:12px;color:var(--muted)}
.blog-card.featured{grid-column:span 2;background:var(--paper)}
.article-category{font-size:11px;letter-spacing:1.5px;color:var(--teal);text-transform:uppercase}
.form-shell{max-width:900px;margin:auto}
.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.quote-form .wide{grid-column:1/-1}
.quote-form label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #a9bdc4;border-radius:3px;padding:13px 12px;font:inherit;background:white;color:var(--ink)}
.quote-form textarea{min-height:140px;resize:vertical}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.quote-form [aria-invalid=true]{border-color:#a92f2f}
.field-error{color:#a92f2f;font-size:13px;margin:5px 0 0;min-height:0}
.form-note{color:var(--muted);font-size:14px}
.form-alert{padding:15px;background:#fff2ef;color:#823728;border-radius:3px}
.form-success{padding:30px;background:#e7f4ee;border-left:4px solid var(--teal)}
.form-button{cursor:pointer;font-family:inherit}.form-button:disabled{opacity:.65;cursor:wait}
.contact .form-note{color:#c5d4db}
.quick-contact{padding:38px;background:var(--navy);color:white;border-radius:4px}
.quick-contact p{color:#c5d4db}
@media(max-width:800px){.info-grid,.blog-grid{grid-template-columns:1fr}.blog-card.featured{grid-column:auto}.links{gap:14px;font-size:13px}.inner-hero{padding:45px 0}}
@media(max-width:640px){.quote-form{grid-template-columns:1fr}.quote-form .wide{grid-column:auto}.inner-hero h1{letter-spacing:-1px}.info-card,.blog-card{padding:22px}}

.article-body{max-width:780px;margin:auto;font-size:18px;line-height:1.85}.article-body h2{font-size:29px;line-height:1.3;letter-spacing:-.5px;margin:44px 0 16px}.article-body p{margin:0 0 22px}.article-meta{font-size:14px!important;color:#c5d4db}.article-cta{margin:48px 0;padding:30px;background:var(--paper);border-left:4px solid var(--teal)}.article-cta h2{margin-top:0}.article-cta .btn{font-size:16px;line-height:1.4}.article-refs{font-size:14px;overflow-wrap:anywhere}.article-refs a{color:var(--teal);text-decoration:underline}.article-related{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:35px 0}.article-related a{padding:20px;border:1px solid var(--line);color:var(--teal)}.blog-card{display:flex;flex-direction:column}.blog-card .text-link{margin-top:auto;align-self:flex-start}.blog-card p{margin-bottom:25px}@media(max-width:640px){.article-body{font-size:17px}.article-body h2{font-size:25px}.article-related{grid-template-columns:1fr}.article-cta{padding:22px}}
