.site-header{background:var(--color-navy);border-bottom-color:rgba(255,255,255,.16)}
.site-header .menu a,.site-header .mobile-menu a{color:var(--color-white)}
.site-header .menu a:hover,.site-header .menu a[aria-current="page"]{color:var(--color-white)}
.site-header .brand{display:flex;align-items:center;background:transparent;padding:0;border-radius:0}
.site-header .brand img{height:48px;width:auto;object-fit:contain}
.site-header .nav-toggle{background:transparent;border:1px solid rgba(255,255,255,.5)}
.mobile-menu{background:var(--color-navy);border-top-color:rgba(255,255,255,.15)}
.section.navy p,.section.navy li,.section.navy .lead,.footer p,.footer strong{color:var(--color-white)}
.hero-visual img,.service-panel img,.image-frame img,.product-row img,.gallery img{object-fit:contain;background:#eceef3}
.hero-visual img{background:var(--color-navy-dark)}
.hero-visual .frame{display:none}
.service-panel{background:#dfe2ea}
.image-frame img{height:auto;aspect-ratio:auto;max-height:620px}
.product-row img{height:auto;max-height:520px;aspect-ratio:1/1}
.gallery img{padding:.35rem}
.contact-grid{align-items:stretch}
.contact-grid>div{background:var(--color-white);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 16px 45px rgba(20,22,65,.08)}
.contact-choice{margin-top:1rem;border:1px solid var(--color-border);border-left:5px solid var(--color-yellow);transition:.2s}
.contact-choice:hover{transform:translateX(4px);border-color:var(--color-navy)}
.contact-choice strong{overflow-wrap:anywhere}
.map{height:100%;min-height:540px;box-shadow:0 16px 45px rgba(20,22,65,.08)}
.footer{background:var(--color-navy);padding:4.5rem 0 2rem}
.footer-grid{align-items:start}
.footer-grid>div:first-child{max-width:430px}
.footer-logo{display:block;width:min(100%,360px);height:auto;aspect-ratio:auto;object-fit:contain;background:transparent;padding:0;border-radius:0}
.footer nav{padding-left:clamp(0rem,2vw,2rem);border-left:1px solid rgba(255,255,255,.2)}
.footer nav strong,.footer-grid>div:last-child strong{color:var(--color-yellow);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.footer a{text-underline-offset:4px}
@media(min-width:760px){.image-frame{align-self:start;position:sticky;top:116px}.contact-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.5fr .75fr 1fr;gap:4rem}}
@media(max-width:759px){.site-header .brand img{height:38px}.site-header .brand{padding:0}.contact-grid>div{padding:1.5rem}.contact-choice strong{font-size:1.15rem}.map{min-height:360px}.footer-grid{gap:2.5rem}.footer nav{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem}}
