/* Steel, light and warm metal: enhancement of the existing visual identity. */
:root{--fx-navy:#0d2639;--fx-ink:#142c3e;--fx-amber:#eea24b;--fx-ease:cubic-bezier(.16,1,.3,1)}
::selection{background:#eea24b;color:#0d2639}
html{scrollbar-color:#738592 #edf2f5}
body .hero{background-color:#0d2639;background-image:radial-gradient(ellipse at 88% 18%,#244c60 0%,transparent 56%),radial-gradient(ellipse at 90% 95%,#594333 0%,transparent 42%),linear-gradient(125deg,#091c2b,#0d2639 62%,#193d4f)}
body .contact{background-color:#0d2639;background-image:radial-gradient(ellipse at 95% 0%,#344c56,transparent 60%),linear-gradient(135deg,#091f30,#18394a)}
body .site-header{background:linear-gradient(110deg,#fff 25%,#f0f5f8);box-shadow:0 6px 20px rgb(13 38 57 / .06)}
body .section-services{background:linear-gradient(150deg,#fff 35%,#f2f6f8 80%,#faf4eb)}
body main .portfolio{background:linear-gradient(155deg,#e8f0f5 0%,#f5f8fa 46%,#faf3e9 100%)}
body .about{background:linear-gradient(110deg,#edf3f7,#fff 72%)}
body .engineering{position:relative;background:radial-gradient(ellipse at var(--fx-x,60%) var(--fx-y,45%),rgb(166 208 229 / .11),transparent 65%)}
.engineering::after{content:"";position:absolute;inset:13% 0 22%;pointer-events:none;background:linear-gradient(110deg,transparent 37%,rgb(255 220 174 / .15) 49%,rgb(196 230 249 / .2) 50%,transparent 63%);background-size:300% 100%;background-position:100% 0;opacity:0}
.engineering.is-light-sweep::after{animation:steel-light-pass 1800ms var(--fx-ease) 1}
@keyframes steel-light-pass{0%{background-position:100% 0;opacity:0}15%{opacity:1}85%{opacity:1}100%{background-position:0% 0;opacity:0}}
body .button{background-image:linear-gradient(120deg,#f5b963,#eea24b 60%,#f9c780);background-size:180% 100%;box-shadow:0 6px 16px rgb(0 0 0 / .14);transition:background-position 250ms var(--fx-ease),box-shadow 250ms var(--fx-ease),transform 200ms var(--fx-ease)}
body .button:hover{background-position:100% 0;box-shadow:0 10px 22px rgb(0 0 0 / .2);transform:translateY(-2px)}
body .button:active{transform:translateY(0);box-shadow:0 2px 8px rgb(0 0 0 / .16)}
body #primary-nav a:not(.nav-contact){background-image:linear-gradient(90deg,#a65310,#eea24b);background-repeat:no-repeat;background-position:left bottom;background-size:0 2px;transition:background-size 220ms var(--fx-ease),color 180ms}
body #primary-nav a:hover,body #primary-nav a:focus-visible{background-size:100% 2px}
body .portfolio-card{transition:transform 240ms var(--fx-ease),box-shadow 240ms var(--fx-ease),border-color 180ms;box-shadow:0 5px 18px rgb(13 38 57 / .04)}
body .portfolio-card-copy{background:linear-gradient(125deg,#fff 35%,#f0f5f8)}
body .portfolio-card span{display:inline-block;transition:transform 220ms var(--fx-ease)}
@media(hover:hover) and (pointer:fine){body .portfolio-card:hover{transform:translateY(-4px);border-color:#b7814d;box-shadow:0 16px 30px rgb(13 38 57 / .12)}body .portfolio-card:hover span{transform:translateX(5px)}}
body .portfolio-card:focus-within{border-color:#a65310;box-shadow:0 10px 24px rgb(13 38 57 / .1)}
body .view-switch button{transition:background-color 180ms,color 180ms}
body .faq details[open]{background:linear-gradient(110deg,#f5f8fa,#fff)}
/* Standalone portfolio gallery: keep the photographs/models unfiltered and uncropped. */
body.portfolio-gallery{background:linear-gradient(145deg,#edf3f7,#f7f9fa 50%,#faf3e9)}
.portfolio-gallery header{background:radial-gradient(ellipse at 92% 20%,#254b5e,transparent 65%),linear-gradient(120deg,#091c2b,#153749)}
.portfolio-gallery nav a{background:linear-gradient(120deg,#fff,#f0f5f8);transition:border-color 180ms,box-shadow 220ms}
.portfolio-gallery nav a:hover{box-shadow:0 6px 18px rgb(13 38 57 / .1)}
.portfolio-gallery figure{box-shadow:0 6px 22px rgb(13 38 57 / .07)}
.portfolio-gallery figcaption{background:linear-gradient(100deg,#fff,#edf3f7)}
@media(prefers-reduced-motion:reduce){.engineering.is-light-sweep::after{animation:none}body .button,body .portfolio-card,body .portfolio-card span,body #primary-nav a,body .view-switch button,.portfolio-gallery nav a{transition:none}body .button:hover,body .portfolio-card:hover,body .portfolio-card:hover span{transform:none}}
