:root{--navy: #005585;--navy-2: #003c5f;--navy-3: #002a44;--cyan: #00a3e0;--cyan-2: #0089bf;--ice: #e8f5fc;--soft: #f3f6f9;--ink: #1d2733;--muted: #5a6675;--border: #dde5ec;--font-body: "Open Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--max: 1200px;--radius: 10px;--hex: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:1.03rem;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy-2);line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(2rem,4.5vw,3.2rem);margin:0 0 1rem;font-weight:800}h2{font-size:clamp(1.55rem,3vw,2.2rem);margin:0 0 1rem;font-weight:800}h3{font-size:1.25rem;margin:0 0 .5rem;font-weight:700}h4{font-size:1.05rem;margin:1.25rem 0 .35rem;color:var(--navy)}a{color:var(--navy);text-underline-offset:3px}a:hover{color:var(--cyan-2)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:1.25rem}.center{text-align:center}.kicker{font-family:var(--font-head);font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-2);margin:0 0 .6rem}.lede{font-size:1.12rem;color:var(--muted)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.5rem 1rem}.btn{display:inline-block;background:var(--cyan);color:#fff;border:2px solid var(--cyan);padding:.7rem 1.4rem;border-radius:999px;font:700 .95rem/1.2 var(--font-head);text-decoration:none;letter-spacing:.02em;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}.btn-sm{padding:.45rem 1rem;font-size:.85rem}.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}.btn-ghost{background:transparent;border-color:#ffffffbf;color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}.btn-row,.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0}.text-link{font-weight:700;text-decoration:none;color:var(--cyan-2)}.topbar{background:var(--navy-3);color:#b9cfe0;font-size:.82rem}.topbar-inner{display:flex;justify-content:space-between;gap:1rem;padding-block:.35rem}.topbar a{color:#fff;font-weight:700;text-decoration:none}.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 10px #002a440d}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}.brand img{width:230px;height:auto}.nav-check,.nav-toggle-btn{display:none}.nav{list-style:none;display:flex;align-items:center;gap:.25rem;margin:0;padding:0}.nav-item{position:relative}.nav-item>a{display:block;padding:.6rem .8rem;font:700 .9rem/1 var(--font-head);color:var(--navy-2);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;border-radius:6px}.nav-item>a:hover,.nav-item>a[aria-current=page]{color:var(--cyan-2)}.has-menu>a:after{content:" ▾";font-size:.7em}.submenu{list-style:none;margin:0;padding:.5rem 0;position:absolute;left:0;top:100%;min-width:280px;background:#fff;border:1px solid var(--border);border-top:3px solid var(--cyan);border-radius:0 0 8px 8px;box-shadow:0 14px 30px #002a441f;opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s}.has-menu:hover .submenu,.has-menu:focus-within .submenu{opacity:1;visibility:visible;transform:none}.submenu a{display:block;padding:.45rem 1rem;color:var(--ink);text-decoration:none;font-size:.92rem}.submenu a:hover{background:var(--ice);color:var(--navy)}.submenu .sub a{padding-left:2rem;font-size:.86rem;color:var(--muted)}.nav-cta{margin-left:.5rem}.hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(120deg,var(--navy-2),var(--navy) 55%,var(--cyan-2))}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:not(.no-img):before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#002a44eb,#005585c7 45%,#00558540)}.hero-inner{padding-block:clamp(3.5rem,8vw,6rem);max-width:var(--max)}.hero h1{color:#fff;max-width:20ch}.hero .kicker{color:#8fd8f7}.hero-sub{font-size:1.15rem;max-width:56ch;color:#dceefa}.hero.small .hero-inner{padding-block:2.75rem}.hero.small h1{font-size:clamp(1.7rem,3.6vw,2.5rem);max-width:30ch}.home-hero .hero-inner{padding-block:clamp(5rem,12vw,9rem)}.home-hero h1{font-size:clamp(2.4rem,5.5vw,4rem)}.hero-icon{width:84px;height:84px;margin-bottom:1rem;background:#ffffff1f;border-radius:18px;padding:10px}.hex{position:absolute;z-index:-1;background:#ffffff1f;clip-path:var(--hex)}.hex-a{width:220px;height:190px;right:6%;top:-40px}.hex-b{width:140px;height:121px;right:18%;bottom:-30px;background:#00a3e059}.band{padding-block:clamp(3rem,7vw,5rem);position:relative;isolation:isolate;overflow:hidden}.band-soft{background:var(--soft)}.band-blue{background:linear-gradient(135deg,var(--cyan-2),var(--navy));color:#fff}.band-blue h2{color:#fff}.band-dark{background:var(--navy-3);color:#d3e3ef}.band-dark h2,.band-dark h3{color:#fff}.band-dark .kicker{color:#8fd8f7}.band-dark .lede{color:#c2d6e4}.feature-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.28}.section-head{max-width:760px;margin:0 auto 2.5rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,3.5rem);align-items:center}.split-img{width:100%;border-radius:var(--radius);box-shadow:0 16px 40px #002a4426;aspect-ratio:4 / 3;object-fit:cover}.two-col{columns:2;column-gap:2rem;padding-left:1.1rem}.two-col li{margin-bottom:.35rem;break-inside:avoid}.video{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 40px #002a442e;background:#000;margin:1.5rem 0}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.tiles a{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:1.5rem 1rem;height:100%;border-radius:var(--radius);background:#fff;border:1px solid var(--border);text-decoration:none;color:var(--navy-2);font:700 .98rem/1.3 var(--font-head);transition:transform .15s,box-shadow .15s,border-color .15s}.tiles a:hover{transform:translateY(-3px);box-shadow:0 14px 28px #002a441f;border-color:var(--cyan);color:var(--navy)}.tiles img{width:88px;height:88px;object-fit:contain}.band-blue .tiles a{border-color:transparent;box-shadow:0 8px 22px #002a442e}.feature-inner{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;max-width:900px}.feature-icon{width:110px;border-radius:50%;background:#fff;padding:6px}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.pill-row span{background:#00a3e038;border:1px solid rgba(143,216,247,.5);color:#fff;padding:.35rem .9rem;border-radius:999px;font-weight:700;font-size:.9rem}.value-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.value-grid li{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:1.5rem}.value-grid p{font-size:.95rem;margin:0}.value-n{display:inline-grid;place-items:center;width:52px;height:46px;clip-path:var(--hex);background:var(--cyan);color:#fff;font:800 1rem var(--font-head);margin-bottom:.75rem}.cta-panels{display:grid;grid-template-columns:1fr 1fr}.cta-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:240px;padding:2.5rem 1.5rem;color:#fff;text-decoration:none}.cta-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}.cta-panel:before{content:"";position:absolute;inset:0;z-index:-1}.cta-panel.engineer:before{background:#00a3e0e0}.cta-panel.quote:before{background:#003c5fe0}.cta-panel:hover img{transform:scale(1.05)}.cta-label{font-size:.95rem;opacity:.9}.cta-title{font:800 clamp(1.5rem,3vw,2.1rem)/1.2 var(--font-head);margin-top:.35rem;border:2px solid rgba(255,255,255,.85);border-radius:999px;padding:.5rem 1.6rem}.cta-panel:hover{color:#fff}.page-content{padding-bottom:1rem}.page-content>p,.page-content>ul,.page-content>ol,.page-content>h3,.md-section>:not(.md-grid):not(.md-stack):not(.md-media):not(.md-body){max-width:var(--max);margin-inline:auto;padding-inline:1.25rem}.page-content>p:first-child{margin-top:2.5rem}.md-section{padding-block:clamp(2.5rem,6vw,4rem)}.md-section:nth-of-type(2n){background:var(--soft)}.md-section>h2{margin-bottom:1.25rem}.md-section>p,.md-section>ul,.md-section>ol{max-width:calc(76ch + 2.5rem)!important;margin-left:max(1.25rem,calc((100% - var(--max)) / 2 + 1.25rem))!important;padding-inline:0 1.25rem!important}.md-section img:not([data-bg]){border-radius:var(--radius);margin:1rem 0}.md-section ul li,.page-content ul li{margin-bottom:.35rem}.md-section.has-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,3.5rem);align-items:center;max-width:var(--max);margin-inline:auto;padding-inline:1.25rem}.md-section.has-media:nth-of-type(2n){box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}.md-section.has-media:nth-of-type(2n) .md-media{order:2}.md-section.has-media>*{max-width:none!important;margin:0!important;padding:0!important}.md-media{margin:0}.md-media img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);box-shadow:0 16px 40px #002a4426}.md-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:var(--max);margin:1.5rem auto 0;padding-inline:1.25rem}.md-grid .md-item{background:#fff;border:1px solid var(--border);border-top:4px solid var(--cyan);border-radius:var(--radius);padding:1.5rem}.md-grid .md-item h3{color:var(--navy)}.md-grid .md-item img{margin:.5rem 0 1rem;border-radius:8px}.md-grid .md-item.has-media{display:block}.md-grid .md-item.has-media .md-media img{aspect-ratio:16 / 10}.md-grid .md-item .md-body>:first-child{margin-top:.75rem}.md-stack{display:grid;gap:2rem;max-width:var(--max);margin:1.5rem auto 0;padding-inline:1.25rem}.md-stack .md-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(1.25rem,4vw,3rem);align-items:center;background:#fff;border-radius:var(--radius);padding:1.25rem;box-shadow:0 2px 14px #002a440f}.md-stack .md-item:nth-child(2n) .md-media{order:2}.md-stack .md-item h3{font-size:1.4rem}.md-stack .md-body>h3:first-child{margin-top:0}.cta-row .btn+.btn{background:transparent;color:var(--navy);border-color:var(--navy)}.page-content.compact .md-section{padding-block:0 1.5rem;background:none!important}.page-content.compact>p:first-child{margin-top:0}.page-content.compact .md-section>*,.page-content.compact>*{margin-left:0!important;padding-inline:0!important;max-width:none!important}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s,transform .15s}.post-card:hover{box-shadow:0 14px 30px #002a441a;transform:translateY(-2px)}.post-card-img img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.post-card-body{padding:1.25rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}.post-card h3{font-size:1.15rem}.post-card h3 a{color:var(--navy-2);text-decoration:none}.post-card h3 a:hover{color:var(--cyan-2)}.post-card p:not(.post-meta){font-size:.94rem;color:var(--muted);flex:1}.post-meta{font-size:.82rem;color:var(--muted);margin:0 0 .5rem}.post-meta a{color:var(--cyan-2);text-decoration:none;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.chip{padding:.35rem .85rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--navy-2);text-decoration:none;font-size:.88rem;font-weight:600}.chip:hover,.chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.cs-head{max-width:760px;margin-bottom:2rem}.post{max-width:820px;padding-block:2.5rem 3rem}.post-hero{width:100%;border-radius:var(--radius);margin:1rem 0 2rem;max-height:480px;object-fit:cover}.prose{font-size:1.06rem}.prose h2{font-size:1.6rem;margin-top:2.25rem}.prose h3{margin-top:1.75rem}.prose img{border-radius:var(--radius);margin:1.5rem auto}.prose iframe{width:100%;aspect-ratio:16 / 9;height:auto;border:0;border-radius:var(--radius)}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{border:1px solid var(--border);padding:.5rem .7rem}.prose blockquote{border-left:4px solid var(--cyan);margin:1.5rem 0;padding:.5rem 1.25rem;background:var(--soft)}.form-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,3.5rem);align-items:start}.form{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:0 2px 14px #002a440f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;margin-bottom:1.5rem}.form label{display:grid;gap:.35rem;font-weight:700;font-size:.9rem;color:var(--navy-2)}.form .full{grid-column:1 / -1}.form input:not([type=radio]):not([type=checkbox]),.form select,.form textarea{font:inherit;font-weight:400;padding:.65rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--soft);width:100%}.form :focus{outline:2px solid var(--cyan);outline-offset:1px}.form fieldset{border:0;padding:0;margin:0}.form legend{font-weight:700;font-size:.9rem;color:var(--navy-2);margin-bottom:.35rem}.form .choice{display:inline-flex;align-items:center;gap:.4rem;font-weight:400;margin-right:1.25rem}.req{color:#c0392b}.form-fallback,.contact-card{background:var(--soft);border-radius:var(--radius);padding:2rem;border-top:4px solid var(--cyan)}.big{font:800 1.6rem var(--font-head);margin:.5rem 0}.big a{text-decoration:none}.contact-card h2{font-size:1.35rem}.map{margin-top:1rem;border-radius:8px;overflow:hidden}.map iframe{display:block;width:100%;height:260px;border:0}.site-footer{background:var(--navy-3);color:#b9cfe0;font-size:.95rem}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{color:#8fd8f7}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-block:3.5rem 2.5rem}.footer-logo{width:220px;background:#fff;padding:10px 14px;border-radius:8px;margin-bottom:1rem}.footer-h{font:700 .8rem var(--font-head);color:#8fd8f7;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .9rem}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin-bottom:.4rem}.footer-grid p{margin:0 0 .55rem}.social{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.88rem}.copyright{border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.copy-inner{display:flex;justify-content:space-between;gap:1rem;padding-block:1rem}@media(max-width:1080px){.nav-toggle-btn{display:inline-block;cursor:pointer;font:700 .9rem var(--font-head);color:#fff;background:var(--navy);padding:.55rem 1rem;border-radius:999px}.nav-check:checked+.nav-toggle-btn{background:var(--cyan)}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 14px 30px #002a441f;max-height:75vh;overflow:auto}.nav-check:checked~.primary-nav{display:block}.nav{flex-direction:column;align-items:stretch;padding:.5rem 1.25rem 1.25rem}.has-menu>a:after{content:""}.submenu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 .5rem .5rem;min-width:0}.nav-cta{margin:.75rem 0 0}.value-grid,.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){.split,.form-layout,.feature-inner,.md-section.has-media,.md-stack .md-item,.cta-panels{grid-template-columns:1fr}.md-section.has-media .md-media,.md-stack .md-item .md-media{order:0!important}.two-col{columns:1}.topbar span,.hex{display:none}}@media(max-width:560px){.value-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.brand img{width:180px}.copy-inner{flex-direction:column}.form{padding:1.25rem}}
