/* Maxway's requested dark theme with blue and white accents. */
:root{color-scheme:dark;--blue:#489aff;--ink:#f4f7fc;--paper:#090e16;--soft:#121c2a;--muted:#b2bfd0;--accent:#489aff;--orange:#489aff;--line:#293446}
body{background:#090e16;color:#f4f7fc}
.header{background:rgba(9,14,22,.96);border-color:#273345}
.brand,.wordmark,.header nav a,.header-quote{color:#f4f7fc}
.wordmark>span{color:#b2bfd0}
.logo-lockup{display:block;position:relative;overflow:hidden;width:clamp(220px,22vw,280px);aspect-ratio:4.2;flex-shrink:0}
.logo-lockup .brand-logo{position:absolute;left:50%;top:50%;width:117.5%;max-width:none;height:auto;transform:translate(-50%,-50%);object-fit:contain}
.footer-grid>div:first-child>.brand{width:min(100%,310px)}
.footer-grid .logo-lockup{width:100%}
@media(max-width:760px){.header .logo-lockup{width:min(230px,calc(100vw - 112px))}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:first-child>.brand{width:min(100%,280px)}}
.header nav a:hover,.header nav a[aria-current="page"],.header-quote:hover{color:#68afff}
.menu-toggle span{background:#f4f7fc}
.eyebrow,.breadcrumb,.card-index,.feature-list>div>span,.contact-info>div>span{color:#78b8ff}
.eyebrow i{background:#489aff}
.section-top .eyebrow,.page-head .eyebrow,.values-grid .eyebrow,.contact-info .eyebrow{color:#78b8ff}
.skip{background:#f4f7fc;color:#090e16}
h1,h2,h3,.card-copy{color:#f4f7fc}
h1 em{color:#67aeff}
p,.section-top>p,.section-top>div>p,.service-card>p,.product-card span,.footer-bottom{color:#b2bfd0}
.primary,.header-quote{background:#2369d5;color:#fff;border-color:#2369d5}
.primary:hover,.header-quote:hover{background:#337ce8;color:#fff;border-color:#337ce8}
.button.dark-outline{color:#f4f7fc;border-color:#52647d;background:transparent}
.button.dark-outline:hover{background:#182d49;border-color:#489aff}
.text-button,.map-link{color:#78b8ff}
.capability-strip,.products-section,.pale{background:#101925;color:#f4f7fc;border-color:#293446}
.capability-strip span{color:#e1eaf7;border-color:#344056}
.service-card{background:transparent;color:#f4f7fc;border-color:#293446}
.service-card:hover h3,.service-card:hover .card-copy svg{color:#78b8ff}
.product-card,.product-photo{background:#1c2634;border-color:#344056;color:#f4f7fc}
.product-card>div{background:#141e2c}
.product-card h3{color:#f4f7fc}
.feature-list>div,.contact-info>div{border-color:#344056}
.about-photo>span{background:#2262b9;color:#fff}
.cta{background:#112746;color:#fff;border-color:#254975}
.cta p{color:#c3d4ec}
.cta .eyebrow{color:#82bdff}
footer{background:#070b11;color:#f4f7fc;border-color:#273345}
footer a,footer p{color:#b2bfd0}
footer a:hover{color:#78b8ff}
.footer-bottom{border-color:#273345}
.contact-info a,.contact-info p{color:#e0e8f4}
.contact-info>div>a:hover{color:#78b8ff}
.inquiry-form{background:#121c2a;border-color:#293446;color:#f4f7fc}
.inquiry-form p,.form-note{color:#b2bfd0}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:#090f19;color:#f4f7fc;border-color:#455773}
input::placeholder,textarea::placeholder{color:#97a8c0;opacity:1}
input:focus,select:focus,textarea:focus{border-color:#67aeff;outline-color:#67aeff}
a:focus-visible,button:focus-visible{outline:2px solid #82bdff;outline-offset:5px}
::selection{background:#2262b9;color:#fff}
@media(max-width:800px){.header nav{background:#0c1420;border-color:#293446}}

/* Quiet diamond-plate texture; opaque cards and photos stay easy to read. */
body{
  background-color:#090e16;
  background-image:linear-gradient(rgba(9,14,22,.82),rgba(9,14,22,.82)),url('/assets/diamond-plate-subtle-768.webp');
  background-size:auto,768px 768px;
  background-repeat:repeat;
}
.products-section,.pale{
  background-color:#101925;
  background-image:linear-gradient(rgba(16,25,37,.88),rgba(16,25,37,.88)),url('/assets/diamond-plate-subtle-768.webp');
  background-size:auto,768px 768px;
}
.cta{
  background-color:#112746;
  background-image:linear-gradient(rgba(17,39,70,.91),rgba(17,39,70,.91)),url('/assets/diamond-plate-subtle-768.webp');
  background-size:auto,768px 768px;
}
footer{
  background-color:#070b11;
  background-image:linear-gradient(rgba(7,11,17,.9),rgba(7,11,17,.9)),url('/assets/diamond-plate-subtle-768.webp');
  background-size:auto,768px 768px;
}

/* Restrained movement and consistent interaction timing. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.header{transition:background .45s ease,border-color .45s ease,box-shadow .45s ease}
.header.is-scrolled{background:rgba(9,14,22,.97);border-bottom-color:rgba(72,154,255,.18);box-shadow:0 8px 28px rgba(0,0,0,.24);backdrop-filter:blur(14px)}
.button,.header-quote{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .4s ease,transform .45s var(--motion-ease)}
.button svg,.header-quote svg,.map-link svg,.card-copy svg{transition:transform .45s var(--motion-ease),color .3s ease}
.header nav a,.card-copy h3,footer a{transition:color .3s ease}
.header nav a:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--motion-ease)}
.header nav a[aria-current]:after{transform:scaleX(1)}
.card-image{transition:box-shadow .5s ease}
.card-image img,.about-photo img{transition:transform 1.1s var(--motion-ease)}
.service-card{transition:transform .65s var(--motion-ease)}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{box-shadow:0 0 0 3px rgba(72,154,255,.1)}
.motion-pending{opacity:0}
@media(hover:hover) and (pointer:fine){
  .primary:hover,.header-quote:hover{box-shadow:0 8px 26px rgba(35,105,213,.23);transform:translateY(-2px)}
  .button:hover svg,.header-quote:hover svg,.map-link:hover svg,.service-card:hover .card-copy svg{transform:translateX(4px)}
  .header nav a:hover:after{transform:scaleX(1)}
  .service-card:hover{transform:translateY(-4px)}
  .service-card:hover .card-image{box-shadow:0 10px 30px rgba(0,0,0,.22),0 0 0 1px rgba(72,154,255,.2)}
  .service-card:hover .card-image img{transform:scale(1.035)}
  .about-photo:hover img{transform:scale(1.025)}
}
.button:active,.header-quote:active{transform:translateY(0);box-shadow:none}
@media(prefers-reduced-motion:no-preference){
  .hero-image{animation:photo-in 2.2s var(--motion-ease) both}
  .hero-content>.eyebrow,.hero-content>h1,.hero-content>p,.hero-actions{animation:premium-enter .85s var(--motion-ease) both}
  .hero-content>h1{animation-delay:.06s}
  .hero-content>p{animation-delay:.13s}
  .hero-actions{animation-delay:.2s}
  .page-head>h1,.detail-hero h1,.contact-info>h1{animation:premium-enter .8s var(--motion-ease) both}
}
@keyframes premium-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
  .header nav{display:flex;flex-direction:column;align-items:stretch;gap:0;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .35s var(--motion-ease),visibility 0s linear .35s}
  .header nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto;transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .motion-pending{opacity:1}
  .service-card:hover,.service-card:hover .card-image img,.about-photo:hover img,.button:hover,.header-quote:hover,.button:hover svg,.header-quote:hover svg,.map-link:hover svg,.service-card:hover .card-copy svg{transform:none}
  .header nav{transform:none}
}

/* Readable supporting text and service heading hierarchy. */
.card-copy h2{font-family:var(--body);font-size:1.15rem;font-weight:600;line-height:1.3;letter-spacing:0;transition:color .3s ease}
.service-card:hover h2{color:#78b8ff}
.service-card>p{font-size:.9375rem}
.header nav a,.header-quote,.inquiry-form label,.footer-grid>div>a:not(.brand){font-size:.875rem}
.breadcrumb a{color:#b2bfd0;text-underline-offset:4px}
.breadcrumb a:hover{color:#78b8ff;text-decoration:underline}
.breadcrumb [aria-hidden]{padding-inline:6px;color:#72849e}
.capability-strip a{transition:color .3s ease}
.capability-strip a:hover{color:#78b8ff}
@media(max-width:760px){.card-copy h2{font-size:1rem}.header nav a{font-size:1rem}}
@media print{.motion-pending{opacity:1!important}}
@media(max-width:760px){.hero h1{font-size:clamp(3.375rem,12.5vw,6.2rem)}}
@media(max-width:380px){.page-head h1,.detail-hero h1,.contact-info h1{font-size:3.2rem}}
.footer-grid h2{font-family:var(--body);font-size:.875rem;font-weight:600;line-height:1.3;letter-spacing:0;margin-bottom:25px}
