/* VISAN brand refresh: approved navy/charcoal logo, October 2026 */
:root{--ink:#17283a;--dark:#071b33;--dark2:#102a47;--pine:#0b3b6b;--lime:#cfdfef;--cream:#f5f7fa;--pale:#eaf0f6;--line:#d7e1ec;--white:#fff;--muted:#5b6b7b;--gold:#b8c8d9}
body{background:var(--cream);color:var(--ink)}
.site-header{background:linear-gradient(180deg,rgba(4,21,41,.28),rgba(4,21,41,0));border-bottom:1px solid #ffffff31}
.site-header .brand,.footer .brand{max-width:none;display:inline-flex;align-items:center;gap:0;flex:0 0 auto;line-height:1}
.brand-logo-actual{display:block;width:290px;height:auto;max-height:72px;aspect-ratio:1555/372;object-fit:contain;background:#fff;border:1px solid rgba(214,225,236,.8);padding:5px 8px;border-radius:5px;box-shadow:0 6px 18px rgba(2,14,29,.20)}
.brand-logo-actual:hover{box-shadow:0 6px 22px rgba(2,14,29,.27)}
.footer .brand-logo-actual{width:290px;border-color:#d8e4f1}
.header-cta{border-color:#b6c9e3;color:#fff}
.header-cta:hover{background:#fff;color:#082a50}
.nav-links a{color:#fff}
.nav-links a.active{color:#e5f2ff;text-decoration:underline;text-decoration-color:#95bbde;text-underline-offset:7px}
.btn-primary{background:#e3edf7;color:#092e54}
.btn-primary:hover{background:#fff;color:#0b3159}
.btn-dark{background:#0a3766;color:#fff}
.btn-dark:hover{background:#174b80}
.btn-sand{background:#e3edf7;color:#0b3159}
.btn-sand:hover{background:#fff;color:#073768}
.hero{background:#081e36}
.hero:after{background:linear-gradient(90deg,rgba(3,21,42,.94) 0%,rgba(5,29,55,.84) 45%,rgba(5,30,58,.33) 100%),linear-gradient(0deg,rgba(5,25,47,.50),transparent 34%)}
.hero.home-hero:after{background:linear-gradient(90deg,rgba(3,21,42,.93) 0%,rgba(5,29,55,.77) 46%,rgba(7,36,67,.20) 100%),linear-gradient(0deg,rgba(5,23,45,.5),transparent 34%)}
.hero .eyebrow{color:#c8dbf0}
.hero h1 em{color:#d7e8f8}
.hero .lead{color:#e1eaf3}
.hero-bottom{color:#d4e0ee}
.section-tint{background:#edf2f8}
.section-dark{background:#071b33}
.banner{background:linear-gradient(120deg,#07325f,#0b4579)}
.banner .eyebrow{color:#c6daed}
.footer{background:#081b30;color:#e7eff8}
.footer .intro,.footer .foot-menu p,.footer .foot-bottom{color:#c0cfdd}
.feature,.service-card,.info-box{border-color:#d7e2ef}
.feature:hover,.service-card:hover{box-shadow:0 14px 38px rgba(10,45,86,.12)}
.feature .serial,.service-card .eyebrow,.info-box .eyebrow{color:#0b457e}
.text-link,.contact-email-direct a{color:#0b457e}
.project-panel{border-color:#d3dfec}
.project-panel .photobg{background:#0d2d50}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#165287;box-shadow:0 0 0 3px #d3e7fa}
::selection{background:#c0d7f0;color:#071b33}
.site-header a:focus-visible,.footer a:focus-visible,.btn:focus-visible,.header-cta:focus-visible,.menu-btn:focus-visible{outline:3px solid #a6c8ec;outline-offset:3px}
@media(max-width:1000px){.brand-logo-actual{width:242px}}
@media(max-width:800px){.brand-logo-actual{width:238px;max-height:65px}.nav-links{background:#071b33}}
@media(max-width:430px){.brand-logo-actual{width:min(225px,66vw);padding:4px 6px}}

/* VISAN second-pass: consistent internal hero identity across main pages. */
.inner-hero:not(.photo)::before{background-image:linear-gradient(124deg,#143b65 0%,#0c284a 48%,#071b33 100%);background-blend-mode:normal;filter:none}
.inner-hero:not(.photo)::after{background:linear-gradient(90deg,rgba(3,18,39,.22),rgba(3,17,36,.08))}
.inner-hero:not(.photo){background-color:#071b33}
.inner-hero:not(.photo) .lead{color:#e1eaf5}
/* Preserve the same blue family and heading treatments on all inner pages. */
@media(max-width:540px){.inner-hero:not(.photo) .hero-content{padding-top:150px}}
