/* Engineering landing page: the homepage's paper, navy, blue and orange. */
.engineering-page .engineering-main { background:#f3f6fa; padding-top:150px; }
.engineering-wrap { width:calc(100% - 13vw); max-width:1440px; margin:auto; }
.engineering-intro { padding:40px 0 64px; background:radial-gradient(ellipse at 90% 30%,#e3edf7,transparent 65%); }
.intro-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:7%; align-items:center; }
.engineering-kicker { display:flex; align-items:center; gap:12px; color:#536678!important; font-size:10px; font-weight:600; letter-spacing:1.8px; margin:0 0 24px; }
.engineering-kicker::before { content:''; width:24px; height:2px; flex-shrink:0; background:#ec8d4c; }
.engineering-intro h1 { font-size:clamp(36px,4vw,62px); line-height:1.08; letter-spacing:-.045em; font-weight:600; color:#132b40; margin:0 0 26px; }
.engineering-intro h1 span { color:#536678; }
.engineering-lead { color:#536678!important; font-size:16px; line-height:1.85; max-width:550px; margin-bottom:28px; }
.engineering-button { display:inline-flex; align-items:center; gap:30px; padding:14px 22px; border-radius:5px; background:#006dde; color:white!important; font-size:14px; font-weight:500; transition:background .2s; }
.engineering-button:hover { background:#005bbd; }
.engineering-button:focus-visible,.engineering-text-link:focus-visible,.engineering-panel li a:focus-visible { outline:3px solid #ec8d4c; outline-offset:5px; }
.engineering-visual { margin:0; position:relative; border-radius:20px; overflow:hidden; background:#0b1622; min-height:390px; }
.engineering-visual img { width:100%; height:440px; object-fit:cover; opacity:.85; }
.engineering-visual::after { content:''; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,#0b1622); }
.engineering-visual figcaption { position:absolute; z-index:1; left:30px; right:30px; bottom:30px; color:white; }
.engineering-visual figcaption span { display:block; font-size:9px; letter-spacing:1.8px; color:#ec8d4c!important; margin-bottom:12px; }
.engineering-visual strong { font-size:24px; font-weight:500; }
.engineering-paths { padding:40px 0 70px; border-top:1px solid #dbe4ed; }
.engineering-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:30px; }
.engineering-section-heading h2,.engineering-close h2 { color:#132b40; font-size:clamp(28px,2.5vw,38px); font-weight:600; letter-spacing:-.035em; margin:0; }
.engineering-section-heading p:last-child { max-width:360px; color:#536678; font-size:14px; line-height:1.8; }
.engineering-panels { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.engineering-panel { background:#fff; border:1px solid #dbe4ed; border-radius:18px; overflow:hidden; box-shadow:0 20px 40px -35px #132b4066; }
.engineering-panel-image { position:relative; height:240px; background:#e3edf7; overflow:hidden; }
.engineering-panel-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.engineering-panel:hover img { transform:scale(1.025); }
.engineering-panel-image span { position:absolute; left:22px; bottom:20px; color:#fff!important; background:#132b40; border-left:3px solid #ec8d4c; padding:8px 12px; font-size:10px; letter-spacing:1.4px; }
.engineering-panel-copy { padding:30px; }
.engineering-panel h3 { font-size:26px; font-weight:600; color:#132b40; letter-spacing:-.025em; }
.engineering-panel p { color:#536678!important; font-size:14px; line-height:1.8; min-height:76px; }
.engineering-panel ul { padding:0; margin:20px 0 24px; list-style:none; }
.engineering-panel li { border-top:1px solid #e3eaf1; }
.engineering-panel li a { display:flex; justify-content:space-between; gap:12px; color:#31516e; font-size:13px; padding:12px 0; }
.engineering-panel li a span { color:#ec8d4c!important; }
.engineering-panel li a:hover,.engineering-text-link:hover { color:#005bbd; }
.engineering-text-link { display:flex; justify-content:space-between; gap:12px; color:#006dde; font-size:14px; font-weight:600; }
.engineering-close { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:38px 0 64px; border-top:1px solid #dbe4ed; }
.engineering-close p:last-child { color:#536678; margin:16px 0 0; font-size:14px; }
.engineering-close .engineering-button { flex-shrink:0; }
@media(max-width:900px) { .engineering-main .intro-grid { grid-template-columns:1fr; gap:30px; }.engineering-visual img { height:330px; }.engineering-visual { min-height:0; }.engineering-section-heading { display:block; }.engineering-panels { gap:18px; }.engineering-panel-copy { padding:22px; }.engineering-close { align-items:start; flex-direction:column; } }
@media(max-width:600px) { .engineering-page .engineering-main { padding-top:120px; }.engineering-wrap { width:calc(100% - 40px); }.engineering-intro { padding:24px 0 36px; }.engineering-intro h1 { font-size:38px; }.engineering-visual img { height:260px; }.engineering-panels { grid-template-columns:1fr; }.engineering-panel-image { height:210px; }.engineering-panel p { min-height:0; }.engineering-paths { padding:30px 0 40px; }.engineering-kicker { font-size:9px; letter-spacing:1.1px; }.engineering-visual strong { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .engineering-panel img { transition:none; }.engineering-panel:hover img { transform:none; } }

/* Scroll choreography and a connected technology journey. */
.engineering-intro { position:relative; isolation:isolate; }
.engineering-intro::before { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:linear-gradient(#b9cfdf20 1px,transparent 1px),linear-gradient(90deg,#b9cfdf20 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,transparent,#000); }
.engineering-visual { box-shadow:0 26px 60px -30px #132b4066; border:1px solid #c4d3df; }
.engineering-visual img { transform:scale(1.08) translateY(var(--engineering-parallax,0px)); }
.engineering-visual::before { content:''; position:absolute; z-index:2; top:24px; right:24px; width:32px; height:32px; border-top:1px solid #ec8d4c; border-right:1px solid #ec8d4c; }
.engineering-panel { transition:box-shadow .4s,border-color .4s; }
.engineering-panel:hover,.engineering-panel:focus-within { border-color:#a8bfd3; box-shadow:0 24px 48px -24px #132b4050; }
.engineering-panel-image::after { content:''; position:absolute; bottom:0; left:0; height:3px; width:100%; background:linear-gradient(90deg,#ec8d4c,#006dde); transform:scaleX(.18); transform-origin:left; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.engineering-panel:hover .engineering-panel-image::after,.engineering-panel:focus-within .engineering-panel-image::after { transform:scaleX(1); }
.engineering-panel li a { transition:padding .25s,color .25s,background .25s; }
.engineering-panel li a:hover { padding-left:10px; padding-right:10px; background:#f3f6fa; }
.engineering-button span,.engineering-text-link span { display:inline-block; transition:transform .25s; }
.engineering-button:hover span,.engineering-text-link:hover span { transform:translate(3px,-3px); }
#engineering-paths { scroll-margin-top:125px; }

/* Motion stays within the existing hero, service panels, and closing CTA. */
.engineering-panel-image { height:clamp(230px,22vw,320px); }
.engineering-panel-image img { transform:scale(var(--image-scale,1.04)) translateY(var(--image-depth,0px)); }
.engineering-panel:hover img { transform:scale(1.085) translateY(var(--image-depth,0px)); }
.engineering-panel-image img { transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.engineering-panel-copy { padding:32px; }
.engineering-panel h3 { font-size:clamp(26px,2.3vw,34px); letter-spacing:-.035em; }
.engineering-panel { border-radius:16px; }
.engineering-intro::before { opacity:.5; }
.engineering-visual { border-radius:12px 12px 52px 12px; }
.engineering-main .engineering-close { position:relative; padding:40px!important; margin-bottom:56px; background:#132b40; border:1px solid #344f65; border-radius:16px; overflow:hidden; }
.engineering-close h2 { color:#f3f6fa!important; }
.engineering-close .engineering-kicker,.engineering-close p:last-child { color:#b6c9d9!important; }
.engineering-close .engineering-button { background:#ec8d4c; color:#132b40!important; }
.engineering-close .engineering-button span { color:inherit!important; }
.engineering-close .engineering-button:hover { background:#f2a36e; }
.engineering-paths .engineering-section-heading { padding-bottom:12px; }
@media(max-width:600px) { .engineering-panel-image { height:230px; }.engineering-panel-copy { padding:24px; }.engineering-main .engineering-close { padding:28px 24px!important; }.engineering-visual { border-radius:12px 12px 36px 12px; } }
@media(prefers-reduced-motion:reduce) { .engineering-main *, .engineering-main *::before, .engineering-main *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }.engineering-panel-image img,.engineering-panel:hover img,.engineering-visual img { transform:none!important; } }
