/* Corrected Concept A brand kit, November 2, 2026. */
:root {
	--navy-950: #0B1F44;
	--navy-800: #12386B;
	--cyan: #00D4FF;
	--electric-blue: #0099FF;
	--ink: #333333;
	--gray: #596579;
	--fog: #F3F6F9;
	--white: #FFFFFF;
	--font-display: 'Montserrat', 'Segoe UI', sans-serif;
	--font-body: 'Segoe UI', sans-serif;
}
.btn, .primary-menu, .eyebrow { font-family: 'Exo 2', 'Segoe UI', sans-serif; }
.brand-wordmark { display: block; width: 178px; height: auto; flex-shrink: 0; }
.site-logo { flex-shrink: 0; }
.header-inner { gap: 20px; min-height: 84px; height: auto; padding-top: 10px; padding-bottom: 10px; }
.primary-menu { flex-wrap: wrap; gap: 12px 22px; }
.hero-art .brand-hero-logo { width: 100%; max-width: 520px; height: auto; margin: auto; }
.home .hero { position: relative; isolation: isolate; background: var(--navy-950); }
.home .hero::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: min(500px, 100%);
	z-index: -1;
	pointer-events: none;
	background-image: linear-gradient(180deg, rgba(11,31,68,0.05) 0%, rgba(11,31,68,0.18) 25%, rgba(11,31,68,0.9) 80%, #0B1F44 100%), url('../brand/mountain-hero.png');
	background-size: 100% 100%, max(100%, 1440px) auto;
	background-position: center top, center -65px;
	background-repeat: no-repeat;
}
.brand-service-icon { display: block; width: 46px; height: 46px; object-fit: contain; }
.brand-trust-icon { display: block; width: 30px; height: 30px; object-fit: contain; }
.eyebrow { color: #006A85; }
.hero .eyebrow, .page-hero .eyebrow, .positioning-band .eyebrow { color: var(--cyan); }
.service-card { border: 1px solid #dce4ef; }
.footer-brand .brand-wordmark { width: 210px; }
.btn:focus-visible, .primary-menu a:focus-visible, .site-logo:focus-visible, .nav-toggle:focus-visible { outline: 3px solid var(--electric-blue); outline-offset: 4px; }
@media (max-width: 1100px) {
	.header-actions .btn { display: none; }
	.primary-menu { gap: 10px 14px; }
}
@media (max-width: 960px) {
	.hero-art { display: block; }
	.hero-art .brand-hero-logo { max-width: 390px; }
	.hero-inner { gap: 20px; padding-top: 48px; padding-bottom: 32px; }
	.primary-menu { font-size: 0.85rem; }
}
@media (max-width: 800px) {
	.home .hero::before { height: 380px; background-size: 100% 100%, 1200px auto; background-position: center top, center -40px; }
	.home .hero-inner { padding-top: 120px; }
	.header-inner { min-height: 76px; }
	.brand-wordmark { width: 150px; }
	.primary-nav { position: fixed; inset: 76px 0 0; background: var(--navy-950); padding: 20px 24px; transform: translateX(100%); transition: transform 0.2s ease; visibility: hidden; overflow-y: auto; }
	.primary-nav.is-open { transform: translateX(0); visibility: visible; }
	.primary-menu { flex-direction: column; gap: 4px; }
	.primary-menu a { display: block; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
	.nav-toggle { display: block; }
	.hero-art .brand-hero-logo { max-width: 320px; }
}
@media (prefers-reduced-motion: reduce) {
	.nav-toggle, .primary-nav, .btn, .service-card { transition: none; }
}
