/* =============================================================
   Astra Child — global design system, header & footer
   Digibit-style palette: gold + near-black navy + white/grey
   ============================================================= */

:root {
	/* brand */
	--ic-gold: #f7b500;
	--ic-gold-600: #e0a400;
	--ic-gold-700: #b98200;
	--ic-gold-soft: #fef3d0;

	/* dark */
	--ic-navy: #16182f;      /* dark section background */
	--ic-navy-deep: #0e0f22; /* hero / footer */
	--ic-navy-700: #23264a;

	/* neutrals */
	--ic-ink: #1c1e2b;
	--ic-body: #4a4f5e;
	--ic-muted: #757c8c;
	--ic-line: #e6e8ef;
	--ic-bg: #ffffff;
	--ic-bg-soft: #f6f6f9;
	--ic-bg-muted: #eef0f5;

	--ic-radius: 14px;
	--ic-radius-sm: 9px;
	--ic-shadow-sm: 0 1px 2px rgba(20, 22, 40, .06), 0 6px 16px rgba(20, 22, 40, .07);
	--ic-shadow-md: 0 14px 38px rgba(20, 22, 40, .12);

	--ic-container: 1160px;
	--ic-gap: clamp(1rem, 3vw, 2rem);

	--ic-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ic-font-display: "Fraunces", Georgia, "Times New Roman", serif;

	--ic-header-h: 76px;
}

body {
	font-family: var(--ic-font-sans);
	color: var(--ic-body);
	background: var(--ic-bg);
}

h1, h2, h3, h4 {
	color: var(--ic-ink);
	line-height: 1.15;
	letter-spacing: -0.01em;
}

a {
	color: var(--ic-gold-700);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

img { max-width: 100%; height: auto; }

.ic-container {
	width: 100%;
	max-width: var(--ic-container);
	margin-inline: auto;
	padding-inline: clamp(1rem, 5vw, 2.25rem);
}

.ic-eyebrow {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ic-gold-700);
	margin: 0 0 .6rem;
}

/* ---------------------- buttons ---------------------- */
.ic-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .85rem 1.5rem;
	border-radius: 4px;
	font-weight: 700;
	font-size: .9rem;
	letter-spacing: .02em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform .12s ease, background-color .15s ease, box-shadow .15s ease, color .15s ease;
	cursor: pointer;
	border: 2px solid transparent;
}
.ic-btn:hover { transform: translateY(-1px); }

.ic-btn--solid {
	background: var(--ic-gold);
	color: var(--ic-navy);
	box-shadow: 0 8px 20px rgba(247, 181, 0, .35);
}
.ic-btn--solid:hover { background: var(--ic-gold-600); color: var(--ic-navy); }

.ic-btn--ghost {
	background: transparent;
	color: var(--ic-ink);
	border-color: var(--ic-line);
}
.ic-btn--ghost:hover { border-color: var(--ic-navy); }

.ic-btn--light { background: #fff; color: var(--ic-navy); }
.ic-btn--light:hover { background: var(--ic-gold); color: var(--ic-navy); }

/* on a gold background */
.ic-section--brand .ic-btn--solid,
.ic-section--cta .ic-btn--solid {
	background: var(--ic-navy);
	color: #fff;
	box-shadow: 0 8px 20px rgba(14, 15, 34, .25);
}
.ic-section--brand .ic-btn--solid:hover,
.ic-section--cta .ic-btn--solid:hover { background: var(--ic-navy-deep); }

/* =============================================================
   HEADER
   ============================================================= */
.ic-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: #fff;
	border-top: 4px solid var(--ic-gold);
	border-bottom: 1px solid var(--ic-line);
}

.ic-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--ic-header-h);
}

.ic-brand { display: flex; align-items: center; }
.ic-brand img { max-height: 44px; width: auto; }
.ic-brand__text {
	font-family: var(--ic-font-display);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--ic-navy);
	text-decoration: none;
}

.ic-nav { display: flex; align-items: center; gap: 1.75rem; }

.ic-nav__list {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ic-nav__list a {
	color: var(--ic-ink);
	text-decoration: none;
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: .4rem 0;
}
.ic-nav__list a:hover,
.ic-nav__list .current-menu-item > a { color: var(--ic-gold-700); }

.ic-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #fff;
	border: 1px solid var(--ic-line);
	border-top: 3px solid var(--ic-gold);
	border-radius: 0 0 var(--ic-radius-sm) var(--ic-radius-sm);
	box-shadow: var(--ic-shadow-md);
	padding: .4rem;
	list-style: none;
	margin: .6rem 0 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all .15s ease;
}
.ic-nav__list .menu-item-has-children { position: relative; }
.ic-nav__list .menu-item-has-children:hover > .sub-menu,
.ic-nav__list .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.ic-nav__list .sub-menu a { display: block; padding: .55rem .7rem; border-radius: 6px; font-size: .78rem; }
.ic-nav__list .sub-menu a:hover { background: var(--ic-gold-soft); }

.ic-nav__placeholder { margin: 0; font-size: .85rem; color: var(--ic-muted); }

/* mobile toggle */
.ic-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: transparent;
	border: 1px solid var(--ic-line);
	border-radius: 8px;
	cursor: pointer;
}
.ic-nav-toggle__box { position: relative; width: 20px; height: 12px; }
.ic-nav-toggle__bar,
.ic-nav-toggle__bar::before,
.ic-nav-toggle__bar::after {
	position: absolute;
	left: 0;
	width: 20px;
	height: 2px;
	background: var(--ic-navy);
	border-radius: 2px;
	transition: transform .18s ease, opacity .18s ease;
}
.ic-nav-toggle__bar { top: 5px; }
.ic-nav-toggle__bar::before { content: ""; top: -6px; }
.ic-nav-toggle__bar::after  { content: ""; top: 6px; }
.ic-nav-toggle[aria-expanded="true"] .ic-nav-toggle__bar { background: transparent; }
.ic-nav-toggle[aria-expanded="true"] .ic-nav-toggle__bar::before { transform: translateY(6px) rotate(45deg); }
.ic-nav-toggle[aria-expanded="true"] .ic-nav-toggle__bar::after  { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 900px) {
	.ic-nav-toggle { display: inline-flex; }
	.ic-nav {
		position: fixed;
		inset: calc(var(--ic-header-h) + 4px) 0 auto 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #fff;
		border-bottom: 1px solid var(--ic-line);
		box-shadow: var(--ic-shadow-md);
		padding: .5rem 1.25rem 1.25rem;
		max-height: calc(100dvh - var(--ic-header-h));
		overflow-y: auto;
		transform: translateY(-8px);
		opacity: 0;
		visibility: hidden;
		transition: all .18s ease;
	}
	.ic-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
	.ic-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.ic-nav__list > li { border-bottom: 1px solid var(--ic-line); }
	.ic-nav__list a { display: block; padding: .9rem .2rem; }
	.ic-nav__list .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		margin: 0 0 .4rem;
		padding: 0 0 0 .8rem;
	}
	.ic-header__cta { margin-top: 1rem; align-self: flex-start; }
}

/* =============================================================
   FOOTER
   ============================================================= */
.ic-footer {
	background: var(--ic-navy-deep);
	color: #a9adc4;
	margin-top: 0;
	padding: clamp(2.5rem, 6vw, 4rem) 0 2rem;
	border-top: 4px solid var(--ic-gold);
}
.ic-footer a { color: #d5d8e8; }
.ic-footer a:hover { color: var(--ic-gold); }

.ic-footer__top {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 2fr;
	gap: clamp(2rem, 6vw, 4rem);
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, .10);
}
.ic-footer__brand .ic-brand__text { color: #fff; }
.ic-footer__brand img { filter: brightness(0) invert(1); max-height: 40px; }
.ic-footer__tagline { margin: .8rem 0 0; font-size: .92rem; color: #8b90aa; max-width: 32ch; }

.ic-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.ic-footer__widget-title {
	color: var(--ic-gold);
	font-size: .82rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 .9rem;
}
.ic-footer__widget ul { list-style: none; margin: 0; padding: 0; }
.ic-footer__widget li { margin: 0 0 .5rem; font-size: .93rem; }
.ic-footer__hint { font-size: .85rem; color: #7a80a0; }

.ic-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.75rem;
}
.ic-footer__copy { margin: 0; font-size: .88rem; color: #8b90aa; }
.ic-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: .88rem;
}
.ic-footer__disclaimer {
	margin: 1.75rem 0 0;
	font-size: .78rem;
	line-height: 1.6;
	color: #6b7091;
}

@media (max-width: 860px) {
	.ic-footer__top { grid-template-columns: 1fr; gap: 2rem; }
	.ic-footer__cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) { .ic-footer__cols { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
