/* Intelliguard site chrome (header + footer). Brand tokens inlined so it is
   self-contained regardless of load order. */
.ig-header,
.ig-footer {
	--ig-navy: hsl(225 70% 17%);
	--ig-navy-light: hsl(225 50% 30%);
	--ig-gold: hsl(38 91% 55%);
	--ig-gold-light: hsl(38 91% 70%);
	--ig-teal: hsl(174 60% 42%);
	--ig-ink: hsl(225 70% 17%);
	--ig-muted: hsl(220 10% 46%);
	--ig-border: hsl(220 20% 90%);
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	box-sizing: border-box;
}
.ig-header *,
.ig-footer * { box-sizing: border-box; }

.ig-container { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 1.5rem; }
.ig-icon { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; }

/* ---------- Header ---------- */
.ig-header {
	position: sticky; top: 0; z-index: 1000;
	background: rgba(255,255,255,0.95);
	backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--ig-border);
	box-shadow: 0 1px 3px rgba(13,28,77,0.06);
}
.ig-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 76px; }
.ig-logo-mark { font-weight: 800; font-size: 1.5rem; letter-spacing: -0.02em; color: var(--ig-navy); text-decoration: none; }
.ig-logo-mark span { color: var(--ig-gold); }
.ig-header__logo { text-decoration: none; flex-shrink: 0; display: flex; align-items: center; }
.ig-logo-img { height: 38px; width: auto; display: block; }
.ig-logo-img--footer { height: 40px; }

.ig-nav { display: flex; align-items: center; gap: 2rem; }
.ig-nav__item { position: relative; }
.ig-nav__link {
	display: inline-flex; align-items: center; gap: 0.25rem;
	font-size: 0.9rem; font-weight: 500; color: var(--ig-ink);
	background: none; border: 0; cursor: pointer; text-decoration: none;
	white-space: nowrap; transition: color 0.15s ease; font-family: inherit;
}
.ig-nav__link:hover, .ig-has-dropdown:hover .ig-nav__toggle { color: var(--ig-gold); }
.ig-nav__toggle .ig-icon { width: 0.9em; height: 0.9em; transition: transform 0.2s ease; }
.ig-has-dropdown:hover .ig-nav__toggle .ig-icon { transform: rotate(180deg); }

.ig-dropdown {
	position: absolute; top: calc(100% + 0.5rem); left: 0; min-width: 15rem;
	background: #fff; border: 1px solid var(--ig-border); border-radius: 0.75rem;
	box-shadow: 0 12px 32px rgba(13,28,77,0.12); padding: 0.5rem; z-index: 1001;
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: all 0.16s ease;
}
.ig-has-dropdown:hover .ig-dropdown, .ig-has-dropdown.ig-open .ig-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.ig-dropdown__all { display: block; padding: 0.5rem 0.75rem; font-size: 0.875rem; font-weight: 600; color: var(--ig-ink); text-decoration: none; border-radius: 0.5rem; }
.ig-dropdown__link { display: block; padding: 0.5rem 0.75rem; font-size: 0.875rem; color: var(--ig-muted); text-decoration: none; border-radius: 0.5rem; }
.ig-dropdown__all:hover, .ig-dropdown__link:hover { background: hsl(220 20% 96%); color: var(--ig-gold); }
.ig-dropdown__sep { display: block; height: 1px; background: var(--ig-border); margin: 0.4rem 0.5rem; }

.ig-header__ctas { display: flex; align-items: center; gap: 0.6rem; flex-shrink: 0; }
.ig-btn {
	display: inline-flex; align-items: center; gap: 0.35rem;
	padding: 0.6rem 1.25rem; border-radius: 999px; font-size: 0.875rem; font-weight: 600;
	text-decoration: none; white-space: nowrap; border: 0; cursor: pointer; transition: background 0.15s ease, transform 0.15s ease;
}
.ig-btn--gold { background: var(--ig-gold); color: var(--ig-navy); }
.ig-btn--gold:hover { background: var(--ig-gold-light); }
.ig-btn--block { display: flex; justify-content: center; width: 100%; margin-top: 0.5rem; }

.ig-header__burger { display: none; background: none; border: 0; cursor: pointer; color: var(--ig-navy); padding: 0.5rem; }
.ig-header__burger .ig-icon { width: 1.6rem; height: 1.6rem; }

/* ---------- Mobile ---------- */
.ig-mobile { border-top: 1px solid var(--ig-border); background: #fff; }
.ig-mobile .ig-container { padding-top: 1rem; padding-bottom: 1rem; display: flex; flex-direction: column; gap: 0.25rem; }
.ig-mobile__link, .ig-mobile__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0.6rem 0; font-size: 0.95rem; font-weight: 500; color: var(--ig-ink); background: none; border: 0; text-decoration: none; cursor: pointer; font-family: inherit; }
.ig-mobile__sub { display: flex; flex-direction: column; padding: 0 0 0.5rem 1rem; }
.ig-mobile__sub a { padding: 0.4rem 0; font-size: 0.9rem; color: var(--ig-muted); text-decoration: none; }
.ig-mobile__sub a:hover, .ig-mobile__link:hover { color: var(--ig-gold); }

/* Soft blur over the page while the mobile menu is open. Sits just below the
   sticky header (z-index 1000) so the menu itself stays sharp; tapping it
   closes the menu (handled in site-chrome.js). */
.ig-scrim {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: rgba(13, 28, 77, 0.15);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

@media (max-width: 1100px) {
	.ig-nav, .ig-header__ctas { display: none; }
	.ig-header__burger { display: inline-flex; }
}
@media (min-width: 1101px) { .ig-mobile, .ig-scrim { display: none; } }

/* ---------- Footer ---------- */
.ig-footer { background: var(--ig-navy); color: rgba(255,255,255,0.75); padding: 3rem 0 1.5rem; }
.ig-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 2rem; }
.ig-logo-mark--invert { color: #fff; }
.ig-logo-mark--invert span { color: var(--ig-gold); }
.ig-footer__logo { text-decoration: none; display: inline-block; margin-bottom: 1rem; }
.ig-footer__blurb { font-size: 0.875rem; line-height: 1.6; margin: 0 0 1.25rem; max-width: 22rem; }
.ig-footer__socials { display: flex; gap: 0.6rem; }
.ig-footer__socials a { width: 2.25rem; height: 2.25rem; border-radius: 999px; background: rgba(255,255,255,0.1); color: #fff; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: background 0.15s ease, color 0.15s ease; }
.ig-footer__socials a:hover { background: var(--ig-gold); color: var(--ig-navy); }
.ig-footer__col h4 { color: var(--ig-gold); font-size: 0.95rem; font-weight: 600; margin: 0 0 1rem; }
.ig-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.ig-footer__col a { color: rgba(255,255,255,0.75); font-size: 0.875rem; text-decoration: none; transition: color 0.15s ease; }
.ig-footer__col a:hover { color: var(--ig-gold); }
.ig-footer__contact li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; margin-bottom: 0.75rem; }
.ig-footer__contact .ig-icon { color: var(--ig-gold); width: 1rem; height: 1rem; margin-top: 0.15rem; flex-shrink: 0; }
.ig-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.2); font-size: 0.78rem; color: rgba(255,255,255,0.5); }
.ig-footer__legal { display: flex; flex-wrap: wrap; gap: 1rem; }
.ig-footer__legal a { color: rgba(255,255,255,0.5); text-decoration: none; }
.ig-footer__legal a:hover { color: var(--ig-gold); }

@media (max-width: 860px) {
	.ig-footer__grid { grid-template-columns: 1fr 1fr; }
	.ig-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.ig-footer__grid { grid-template-columns: 1fr; }
}
