:root{--navy:#062744;--navy2:#031a2f;--orange:#f36c16;--ink:#0d2032;--muted:#677786;--line:#dfe5e9;--bg:#f6f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8edf0}.brand img{width:245px;display:block}.site-header nav{display:flex;gap:30px}.site-header nav a{font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;text-transform:uppercase}.site-header nav a:hover{color:var(--orange)}.menu{display:none;border:0;background:none;font-size:28px}.hero{height:650px;background:url('../images/hero.jpg') center 53%/cover no-repeat;position:relative;display:flex;align-items:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,22,40,.93) 0%,rgba(2,22,40,.77) 37%,rgba(2,22,40,.2) 70%,rgba(2,22,40,.06) 100%)}.hero-inner{position:relative;z-index:2;width:min(620px,90%);margin-left:7vw;color:#fff}.kicker,.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--orange);margin-bottom:14px}.hero h1{font-size:62px;line-height:.98;margin:0 0 22px;font-weight:900;letter-spacing:-2px}.hero h1 span{color:var(--orange)}.lead{font-size:20px;line-height:1.45;max-width:590px;color:#eaf1f6}.btn{display:inline-flex;align-items:center;gap:28px;margin-top:18px;background:var(--orange);color:#fff;text-decoration:none;padding:15px 21px;border-radius:4px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.stats{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:24px 6vw}.stats div{padding:5px 28px;border-right:1px solid rgba(255,255,255,.2)}.stats div:last-child{border-right:0}.stats strong{display:block;font-size:25px}.stats span{display:block;font-size:11px;text-transform:uppercase;margin-top:4px;color:#c7d6e3}.section{padding:80px 7vw}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:start}.section h2,.spread h2{font-size:42px;line-height:1.08;margin:0 0 20px;color:var(--navy);letter-spacing:-1px}.section p,.spread p{font-size:16px;line-height:1.65;color:#526473}.services{background:var(--bg)}.services>h2{margin-bottom:36px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards article{background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 7px 28px rgba(8,33,55,.08)}.cards img{width:100%;height:180px;object-fit:cover}.cards article div{padding:22px}.cards b{font-size:11px;color:var(--orange)}.cards h3{font-size:18px;line-height:1.2;margin:10px 0;color:var(--navy)}.cards p{font-size:13px;line-height:1.55;margin:0}.spread{display:grid;grid-template-columns:1.1fr .9fr;background:var(--navy2);color:#fff}.spread-photo img{width:100%;height:100%;min-height:570px;object-fit:cover}.spread-copy{padding:80px 7vw 70px 6vw}.spread-copy h2{color:#fff}.spread-copy p{color:#d3dee6}.light{color:#ff8a3d}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:27px 0}.ticks span{font-size:13px;font-weight:700}.ticks span:before{content:'✓';color:var(--orange);margin-right:8px}.team{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.team img{width:100%;height:460px;object-fit:cover;border-radius:8px}.experience{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;background:var(--bg)}.experience img{width:100%;height:430px;object-fit:cover;border-radius:8px}.text-link{color:var(--orange);font-weight:800;text-decoration:none}.locations{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:25px;background:#fff}.locations h3{font-size:27px;color:var(--navy);margin:0 0 12px}.locations p{font-size:14px}.small{font-size:12px!important}.contactbox{background:var(--navy);padding:35px;border-radius:8px;color:#fff}.contactbox h2{color:#fff;font-size:34px}footer{background:#031a2f;color:#c8d5df;display:flex;align-items:center;gap:28px;padding:30px 7vw;font-size:11px}footer img{width:190px;filter:brightness(0) invert(1)}footer span:last-child{margin-left:auto}@media(max-width:980px){.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px 5vw;flex-direction:column}.site-header nav.open{display:flex}.menu{display:block}.hero{height:600px}.hero h1{font-size:48px}.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.intro-grid,.spread,.team,.experience,.locations{grid-template-columns:1fr}.spread-photo img{min-height:380px}.team img,.experience img{height:360px}}@media(max-width:600px){.brand img{width:190px}.hero{height:560px}.hero-inner{margin-left:6vw}.hero h1{font-size:40px}.lead{font-size:17px}.stats{grid-template-columns:1fr 1fr;padding:18px 4vw}.stats div{padding:12px}.stats strong{font-size:20px}.section{padding:60px 6vw}.section h2,.spread h2{font-size:34px}.cards{grid-template-columns:1fr}.spread-copy{padding:60px 6vw}.ticks{grid-template-columns:1fr}footer{flex-wrap:wrap}footer span:last-child{margin-left:0}}
.location-photo{width:100%;margin-top:18px;border-radius:2px;display:block;aspect-ratio:16/10;object-fit:cover}
.field-tech{padding-top:84px;padding-bottom:92px}.tech-head{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin:18px 0 38px}.tech-head h2{margin:0}.tech-head p{margin:0;max-width:620px}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tech-grid figure{margin:0;background:#111;overflow:hidden}.tech-grid img{width:100%;height:250px;object-fit:cover;display:block}.tech-grid figcaption{padding:17px 18px 19px;color:#fff;display:flex;flex-direction:column;gap:5px}.tech-grid figcaption b{font-size:16px}.tech-grid figcaption span{font-size:12px;opacity:.65}@media(max-width:900px){.tech-head{grid-template-columns:1fr;gap:18px}.tech-grid{grid-template-columns:1fr 1fr}.tech-grid img{height:220px}}@media(max-width:560px){.tech-grid{grid-template-columns:1fr}.tech-grid img{height:240px}}
.position-collage{height:230px;display:grid;grid-template-columns:1fr 1fr 1fr;background:#f4f4f4;overflow:hidden}
.position-collage img{width:100%;height:100%;object-fit:contain;background:#fff;padding:10px;box-sizing:border-box}
.experience-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}
.experience-tags span{border:1px solid #ddd;padding:7px 10px;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:760px){.position-collage{height:180px}.position-collage img{padding:5px}}
/* V5 service-card visual refinement */
.service-visual{position:relative;height:205px;overflow:hidden;background:#071f35}
.cards .service-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.service-visual:after{content:"";position:absolute;left:-40%;right:-40%;top:-45%;height:2px;background:linear-gradient(90deg,transparent,rgba(243,108,22,.95),transparent);opacity:0;transform:rotate(-7deg);pointer-events:none}
.service-symbol{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(3,26,47,.88);border:1px solid rgba(255,255,255,.4);color:#ff7b2b;font-size:25px;font-weight:700;backdrop-filter:blur(5px);transition:transform .35s ease,background .35s ease}
.service-card:hover .service-visual img{transform:scale(1.045);filter:saturate(1.08) contrast(1.03)}
.service-card:hover .service-symbol{transform:translateY(-4px) rotate(5deg);background:rgba(243,108,22,.94);color:#fff}
.service-card:hover .service-visual:after{opacity:1;animation:serviceScan 1.35s ease-out}
@keyframes serviceScan{0%{top:-10%;opacity:0}18%{opacity:.9}100%{top:115%;opacity:0}}
@media (prefers-reduced-motion:reduce){.cards .service-visual img,.service-symbol{transition:none}.service-card:hover .service-visual:after{animation:none;display:none}}
/* V7.1 fix: service image wrapper must not inherit card body padding */
.cards article .service-visual{padding:0}
