@charset "UTF-8";
@import url('/assets/fonts.css');
:root{--navy:#0f2a44;--deep:#071d31;--steel:#8a98a8;--silver:#d9dee4;--paper:#f7f9fb;--ink:#0f2a44;--muted:#516274;--line:#d9dee4;font-family:'Source Sans 3',Arial,sans-serif;font-size:18px;font-synthesis:none;line-height:1.6;color:var(--ink);background:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}p+p{margin-top:1.2rem}a:focus-visible{outline:3px solid #6d94b8;outline-offset:6px}a,button{-webkit-tap-highlight-color:transparent}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;left:1rem;top:-5rem;z-index:10;background:white;padding:1rem}.skip:focus{top:1rem}
h1,h2,h3,.eyebrow,.header nav,.button,.hero-principles,.footer-position{font-family:Montserrat,Arial,sans-serif}
.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:2rem}.brand-lockup{display:block;flex-shrink:0;width:210px;line-height:0}.brand-lockup img{display:block;width:100%;height:auto}.header nav{display:flex;align-items:center;gap:2rem;font-size:.78rem;font-weight:500}.header nav a{padding:.65rem 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--navy)}.header nav .nav-contact{display:flex;align-items:center;gap:1.1rem;border:1px solid var(--navy);border-radius:30px;background:var(--navy);color:#fff;padding:.8rem 1.5rem;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.header nav .nav-contact:hover{background:#20435f}
.eyebrow{text-transform:uppercase;font-size:.74rem;font-weight:600;letter-spacing:.2em;line-height:1.8;color:#587087}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:white}.hero-photo{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(7,29,49,.98) 0%,rgba(10,34,55,.89) 37%,rgba(15,42,68,.37) 74%,rgba(7,29,49,.62) 100%),url('/assets/engineering-hero.jpg');background-position:center;background-size:cover}.hero-content{position:relative;padding-top:4.8rem}.hero .eyebrow{color:#e3e9ef}.hero h1{position:relative;max-width:940px;font-size:clamp(2.3rem,4.3vw,3.45rem);font-weight:600;line-height:1.2;letter-spacing:-.045em;margin-top:1.1rem}.hero h1 span{font-weight:400;color:#e8edf2}.hero-intro{max-width:560px;font-size:1.12rem;line-height:1.65;color:#e1e9ef;margin-top:1.3rem}.hero-actions{display:flex;gap:1rem;align-items:center;margin-top:1.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.25rem;padding:.8rem 1.3rem;border-radius:30px;border:1px solid #edf3f7;font-size:.74rem;letter-spacing:.06em;font-weight:600;text-transform:uppercase;transition:background .15s,color .15s}.button-light{background:white;color:var(--navy)}.button-light:hover{background:var(--silver)}.button-outline{color:white;background:transparent}.button-outline:hover{background:rgba(255,255,255,.12)}.button span{font-size:1rem;line-height:1}.hero-motif{position:absolute;width:min(40vw,580px);height:auto;right:5%;top:2rem;opacity:.16;filter:brightness(1.45);pointer-events:none;z-index:-1}.hero-principles{display:flex;flex-direction:column;position:absolute;right:0;bottom:6.3rem;gap:.4rem;font-size:.7rem;letter-spacing:.23em;text-transform:uppercase;color:#e4ebf2}.hero-principles:after{content:'';height:1px;width:35px;background:#b0c0cd;margin-top:.4rem}.hero-foot{display:flex;justify-content:space-between;gap:2rem;margin-top:4.5rem;padding:1.3rem 0;border-top:1px solid #69809266;font-size:.78rem;letter-spacing:.015em;color:#d7e1e9}
h2{font-size:clamp(1.9rem,3.1vw,2.65rem);letter-spacing:-.045em;line-height:1.25;font-weight:500}h3{font-size:1.25rem;line-height:1.4;letter-spacing:-.025em;font-weight:500}.intro-section{padding-block:5.2rem}.intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;margin-top:1.15rem}.intro-grid h2{max-width:27rem}.prose{color:var(--muted);font-size:1.02rem}.services-section{background:var(--paper);padding-block:5rem;border-top:1px solid #e7ebef;border-bottom:1px solid #e7ebef}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:3rem}.section-heading h2{margin-top:.8rem}.section-heading>p{color:var(--muted);font-size:.97rem;max-width:25rem}.service{display:grid;grid-template-columns:3rem 1fr 1.3fr;gap:1.6rem;padding:2.2rem 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.index{font-family:Montserrat,Arial,sans-serif;font-size:.78rem;color:#60788e;letter-spacing:.1em;padding-top:.25rem}.service p{color:var(--muted);max-width:36rem}.service ul{list-style:none;padding:0;margin:1rem 0 0;font-size:.94rem}.service li{position:relative;padding:.2rem 0 .2rem 1rem}.service li:before{content:'';position:absolute;left:0;top:.95rem;width:.32rem;height:1px;background:var(--steel)}.experience-section{padding-block:5.2rem}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 2rem}.experience{border-top:1px solid var(--line);padding-top:1.7rem}.experience .eyebrow{font-size:.68rem;letter-spacing:.12em}.experience h3{margin:.9rem 0 1.2rem;min-height:3.6rem}.experience p{font-size:.97rem;color:var(--muted)}.sector-list{list-style:none;padding:0;margin:1.3rem 0 0;font-size:.91rem}.sector-list li{padding:.4rem 0;border-top:1px solid #e7ebef}
.about-section{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;padding-block:5rem}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;position:relative;z-index:1}.about-section .eyebrow{color:#becbd8}.about-section h2{margin-top:1rem}.about-section .prose{color:#d7e1ea}.about-motif{position:absolute;width:570px;height:auto;left:-130px;bottom:-205px;opacity:.09;filter:brightness(1.8);z-index:-1;pointer-events:none}.nameplate{border-left:1px solid #a3b4c5;padding-left:1.2rem;margin-top:2.5rem;display:flex;flex-direction:column}.nameplate strong{font-weight:500;font-size:1.03rem}.nameplate span{font-size:.91rem;color:#b9c9d8}.contact-section{padding-block:5.3rem;display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:center}.contact-section h2{margin-top:.8rem}.contact-section p{margin-top:1.4rem;color:var(--muted)}.contact-details{min-width:0}.email-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:clamp(1.1rem,2vw,1.5rem);overflow-wrap:anywhere;letter-spacing:-.02em;padding:1rem 0;border-bottom:1px solid var(--steel)}.email-link:hover,.contact-details p a:hover{color:#496c8c}.contact-details p a{text-decoration:underline;text-underline-offset:.2rem}.location{display:block;margin-top:1.8rem;color:var(--muted);font-size:.94rem}
footer{position:relative;overflow:hidden;isolation:isolate;background:var(--deep);color:white;padding:2.4rem 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:1}.footer-inner .brand-lockup{width:168px;filter:grayscale(1) brightness(0) invert(1);opacity:.95}.footer-position{border-left:1px solid #698092;padding-left:2rem;display:flex;flex-direction:column;gap:.7rem;letter-spacing:.16em;text-transform:uppercase}.footer-position span:first-child{font-size:.72rem}.footer-position span:last-child{font-size:.65rem;color:#afc0ce;letter-spacing:.13em}.footer-inner>a:last-child{font-size:.8rem;white-space:nowrap;color:#d9e3ec}.footer-motif{position:absolute;width:310px;height:auto;right:-105px;top:-90px;opacity:.08;filter:brightness(2);pointer-events:none;z-index:-1}
@media(min-width:1650px){.hero-content{padding-top:5.5rem}.hero-foot{margin-top:5rem}.hero-motif{right:calc((100vw - 1280px)/2 - 80px)}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:1.3rem}.brand-lockup{width:184px}.hero h1{max-width:760px}.hero-intro{max-width:520px}.hero-principles{display:none}.hero-motif{right:-3%;top:4rem;width:460px;opacity:.13}.intro-grid,.about-grid,.contact-section{gap:3rem}.service{grid-template-columns:2rem 1fr 1.35fr;gap:1rem}.experience-grid{gap:2rem 1.5rem}.experience h3{font-size:1.15rem}.footer-position{padding-left:1.5rem}.footer-position span:last-child{max-width:24rem}}
@media(max-width:760px){:root{font-size:17px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:0;padding-block:1rem;flex-wrap:wrap;gap:.8rem}.brand-lockup{width:172px}.header nav{width:100%;justify-content:space-between;gap:.7rem;font-size:.78rem}.header nav .nav-contact{font-size:.67rem;padding:.65rem .95rem;gap:.5rem}.hero-content{padding-top:3rem}.hero h1{font-size:clamp(2.1rem,7.7vw,3.1rem);line-height:1.22;letter-spacing:-.045em}.hero-intro{font-size:1.04rem;max-width:30rem;margin-top:1.2rem}.hero-photo{background-image:linear-gradient(90deg,rgba(7,29,49,.95),rgba(15,42,68,.79)),url('/assets/engineering-hero.jpg');background-position:65% center}.hero-motif{width:390px;right:-135px;top:2rem;opacity:.085}.hero-actions{gap:.8rem}.button{font-size:.7rem;padding:.8rem 1.1rem}.hero-foot{flex-direction:column;gap:.45rem;margin-top:3rem;font-size:.76rem}.intro-section,.experience-section,.contact-section{padding-block:3.5rem}.intro-grid,.about-grid,.contact-section{grid-template-columns:1fr;gap:1.8rem}.intro-grid h2{max-width:24rem}h2{font-size:2rem}.services-section,.about-section{padding-block:3.5rem}.section-heading{display:block;margin-bottom:2.3rem}.section-heading>p{margin-top:1.2rem}.desktop-break{display:none}.service{grid-template-columns:1.8rem 1fr;padding-block:1.8rem;gap:.75rem}.service h3{font-size:1.2rem}.service h3 br{display:none}.service>div{grid-column:2}.experience-grid{grid-template-columns:1fr;gap:1.8rem}.experience{padding-top:1.5rem}.experience h3{font-size:1.3rem;min-height:0;margin:.75rem 0 1rem}.experience h3 br{display:none}.about-motif{width:480px;left:-175px;bottom:-115px}.nameplate{margin-top:1.6rem}.contact-details{margin-top:.5rem}.email-link{font-size:1.2rem}.footer-inner{flex-wrap:wrap;gap:1.5rem}.footer-inner .brand-lockup{width:150px}.footer-position{order:3;width:100%;border:0;border-top:1px solid #69809266;padding:1.3rem 0 0}.footer-position span:last-child{max-width:none;font-size:.62rem;line-height:1.8}.footer-inner>a:last-child{margin-left:auto}}
@media(max-width:380px){.header nav{gap:.5rem;font-size:.72rem}.header nav .nav-contact{padding:.6rem .75rem}.header nav .nav-contact span{display:none}.hero h1{font-size:2rem}.eyebrow{letter-spacing:.16em}.hero-actions{align-items:stretch;flex-direction:column}.button{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Legal information: additions only; existing brand layout retained. */
.legal-footer{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding-block:1.4rem;border-top:1px solid #69809266;font-size:.76rem;line-height:1.7;color:#d7e1e9}.legal-footer p{margin:0}.legal-footer a{white-space:nowrap;text-decoration:underline}.privacy-link{font-size:.88rem}.privacy-link a,.privacy-page a{text-decoration:underline;text-underline-offset:.2em}.privacy-page{max-width:850px;padding-block:3rem 4rem}.privacy-page h1{font-size:clamp(2rem,5vw,3rem);line-height:1.2;margin:1rem 0}.privacy-page h2{font-size:1.35rem;line-height:1.4;margin:2rem 0 .75rem}.privacy-page p{margin:.8rem 0;line-height:1.8}.notice-date{color:#587087;font-size:.9rem}@media(max-width:600px){.legal-footer{flex-direction:column;gap:.75rem}.legal-footer a{white-space:normal}}
