/**
 * Berke 0.10.3 — Iconography & visual-accent pilot
 * berke-logical-layout: strict
 *
 * Header stays restrained; footer carries a wider semantic accent range.
 * No font icons, third-party requests or continuous motion.
 */

:root {
	--berke-icon-aqua: #167f9f;
	--berke-icon-aqua-bg: #eaf7fb;
	--berke-icon-aqua-border: rgba(22, 127, 159, 0.22);
	--berke-icon-teal: #23756f;
	--berke-icon-teal-bg: #edf8f6;
	--berke-icon-teal-border: rgba(35, 117, 111, 0.22);
	--berke-icon-green: #39785a;
	--berke-icon-green-bg: #eef7f1;
	--berke-icon-green-border: rgba(57, 120, 90, 0.22);
	--berke-icon-amber: #a86a16;
	--berke-icon-amber-bg: #fff6e8;
	--berke-icon-amber-border: rgba(168, 106, 22, 0.24);
	--berke-icon-navy: #355678;
	--berke-icon-navy-bg: #eef3f8;
	--berke-icon-navy-border: rgba(53, 86, 120, 0.2);
}

/* Semantic tone variables can live on the icon itself or its parent. */
.berke-icon-tone--aqua {
	--berke-icon-fg: var(--berke-icon-aqua);
	--berke-icon-bg: var(--berke-icon-aqua-bg);
	--berke-icon-border: var(--berke-icon-aqua-border);
}
.berke-icon-tone--teal {
	--berke-icon-fg: var(--berke-icon-teal);
	--berke-icon-bg: var(--berke-icon-teal-bg);
	--berke-icon-border: var(--berke-icon-teal-border);
}
.berke-icon-tone--green {
	--berke-icon-fg: var(--berke-icon-green);
	--berke-icon-bg: var(--berke-icon-green-bg);
	--berke-icon-border: var(--berke-icon-green-border);
}
.berke-icon-tone--amber {
	--berke-icon-fg: var(--berke-icon-amber);
	--berke-icon-bg: var(--berke-icon-amber-bg);
	--berke-icon-border: var(--berke-icon-amber-border);
}
.berke-icon-tone--navy {
	--berke-icon-fg: var(--berke-icon-navy);
	--berke-icon-bg: var(--berke-icon-navy-bg);
	--berke-icon-border: var(--berke-icon-navy-border);
}

/* -------------------------------------------------------------------------
 * Header: restrained semantic accents.
 * ---------------------------------------------------------------------- */
body.berke-iconography-pilot-v0103 .berke-navigation-item--services {
	--berke-icon-fg: var(--berke-icon-aqua);
	--berke-icon-bg: var(--berke-icon-aqua-bg);
	--berke-icon-border: var(--berke-icon-aqua-border);
}
body.berke-iconography-pilot-v0103 .berke-navigation-item--cooperation {
	--berke-icon-fg: var(--berke-icon-amber);
	--berke-icon-bg: var(--berke-icon-amber-bg);
	--berke-icon-border: var(--berke-icon-amber-border);
}
body.berke-iconography-pilot-v0103 .berke-navigation-item--about {
	--berke-icon-fg: var(--berke-icon-teal);
	--berke-icon-bg: var(--berke-icon-teal-bg);
	--berke-icon-border: var(--berke-icon-teal-border);
}
body.berke-iconography-pilot-v0103 .berke-navigation-item--contact {
	--berke-icon-fg: var(--berke-icon-green);
	--berke-icon-bg: var(--berke-icon-green-bg);
	--berke-icon-border: var(--berke-icon-green-border);
}
body.berke-iconography-pilot-v0103 .berke-navigation-item--projects {
	--berke-icon-fg: var(--berke-icon-navy);
	--berke-icon-bg: var(--berke-icon-navy-bg);
	--berke-icon-border: var(--berke-icon-navy-border);
}

body.berke-iconography-pilot-v0103 .berke-site-header .berke-nav-icon {
	color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	background: var(--berke-icon-bg, var(--berke-icon-navy-bg)) !important;
	border-color: var(--berke-icon-border, var(--berke-icon-navy-border)) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28) !important;
	transition:
		transform 180ms ease,
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease !important;
}

/* Service-family meaning in the mega menu. */
body.berke-iconography-pilot-v0103 .berke-mega-menu__column--sky {
	--berke-icon-fg: var(--berke-icon-aqua);
	--berke-icon-bg: var(--berke-icon-aqua-bg);
	--berke-icon-border: var(--berke-icon-aqua-border);
}
body.berke-iconography-pilot-v0103 .berke-mega-menu__column--aqua {
	--berke-icon-fg: var(--berke-icon-teal);
	--berke-icon-bg: var(--berke-icon-teal-bg);
	--berke-icon-border: var(--berke-icon-teal-border);
}
body.berke-iconography-pilot-v0103 .berke-mega-menu__column--indigo {
	--berke-icon-fg: var(--berke-icon-amber);
	--berke-icon-bg: var(--berke-icon-amber-bg);
	--berke-icon-border: var(--berke-icon-amber-border);
}
body.berke-iconography-pilot-v0103 .berke-mega-menu__column .berke-nav-icon {
	color: var(--berke-icon-fg) !important;
	background: var(--berke-icon-bg) !important;
	border-color: var(--berke-icon-border) !important;
}

body.berke-iconography-pilot-v0103 .berke-menu > li > a:hover .berke-nav-icon,
body.berke-iconography-pilot-v0103 .berke-menu > li > a:focus-visible .berke-nav-icon,
body.berke-iconography-pilot-v0103 .berke-mega-menu__trigger:hover .berke-nav-icon,
body.berke-iconography-pilot-v0103 .berke-mega-menu__trigger:focus-visible .berke-nav-icon,
body.berke-iconography-pilot-v0103 .berke-mega-menu__trigger[aria-expanded="true"] .berke-nav-icon,
body.berke-iconography-pilot-v0103 .berke-mega-menu__list a:hover .berke-nav-icon,
body.berke-iconography-pilot-v0103 .berke-mega-menu__list a:focus-visible .berke-nav-icon {
	transform: translateY(-1px);
}

body.berke-iconography-pilot-v0103 .berke-header-tool,
body.berke-iconography-pilot-v0103 .berke-mobile-tool__icon {
	color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	background: var(--berke-icon-bg, var(--berke-icon-navy-bg)) !important;
	border-color: var(--berke-icon-border, var(--berke-icon-navy-border)) !important;
}
body.berke-iconography-pilot-v0103 .berke-header-tool:hover,
body.berke-iconography-pilot-v0103 .berke-header-tool:focus-visible {
	color: #ffffff !important;
	background: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
	border-color: var(--berke-icon-fg, var(--berke-icon-navy)) !important;
}

body.berke-iconography-pilot-v0103 .berke-header-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.85rem;
	height: 1.85rem;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 0.58rem;
	transition: transform 180ms ease, background-color 180ms ease;
}
body.berke-iconography-pilot-v0103 .berke-header-cta__icon svg {
	width: 0.98rem;
	height: 0.98rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.berke-iconography-pilot-v0103 .berke-header-cta:hover .berke-header-cta__icon,
body.berke-iconography-pilot-v0103 .berke-header-cta:focus-visible .berke-header-cta__icon,
body.berke-iconography-pilot-v0103 .berke-mobile-cta:hover .berke-header-cta__icon,
body.berke-iconography-pilot-v0103 .berke-mobile-cta:focus-visible .berke-header-cta__icon {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.18);
}

/* -------------------------------------------------------------------------
 * Footer: wider but still semantic accent range.
 * ---------------------------------------------------------------------- */
body.berke-iconography-pilot-v0103 .berke-footer-principle__icon,
body.berke-iconography-pilot-v0103 .berke-footer-contact__icon,
body.berke-iconography-pilot-v0103 .berke-footer-brand__promise > span,
body.berke-iconography-pilot-v0103 .berke-footer-scope-list li > span {
	color: var(--berke-icon-fg, #a8e4f4) !important;
	border-color: var(--berke-icon-border, rgba(75, 184, 221, 0.18)) !important;
	transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease !important;
}

/* Dark-footer versions use translucent surfaces while keeping each accent hue. */
body.berke-iconography-pilot-v0103 .berke-icon-tone--aqua .berke-footer-principle__icon,
body.berke-iconography-pilot-v0103 .berke-footer-contact__icon.berke-icon-tone--aqua,
body.berke-iconography-pilot-v0103 .berke-footer-scope-list .berke-icon-tone--aqua > span {
	background: rgba(75, 184, 221, 0.11) !important;
}
body.berke-iconography-pilot-v0103 .berke-icon-tone--teal .berke-footer-principle__icon,
body.berke-iconography-pilot-v0103 .berke-footer-contact__icon.berke-icon-tone--teal,
body.berke-iconography-pilot-v0103 .berke-footer-scope-list .berke-icon-tone--teal > span {
	background: rgba(72, 190, 170, 0.11) !important;
}
body.berke-iconography-pilot-v0103 .berke-icon-tone--green .berke-footer-principle__icon,
body.berke-iconography-pilot-v0103 .berke-footer-contact__icon.berke-icon-tone--green,
body.berke-iconography-pilot-v0103 .berke-footer-brand__promise.berke-icon-tone--green > span {
	background: rgba(93, 190, 135, 0.11) !important;
}
body.berke-iconography-pilot-v0103 .berke-icon-tone--amber .berke-footer-principle__icon,
body.berke-iconography-pilot-v0103 .berke-footer-contact__icon.berke-icon-tone--amber,
body.berke-iconography-pilot-v0103 .berke-footer-scope-list .berke-icon-tone--amber > span {
	background: rgba(224, 166, 67, 0.11) !important;
}
body.berke-iconography-pilot-v0103 .berke-footer-contact__icon.berke-icon-tone--navy {
	background: rgba(133, 172, 211, 0.11) !important;
}

/* On the dark footer, foregrounds need a lighter tint than their light-surface token. */
body.berke-iconography-pilot-v0103 .berke-site-footer .berke-icon-tone--aqua { --berke-icon-fg: #75d0e7; --berke-icon-border: rgba(117, 208, 231, 0.22); }
body.berke-iconography-pilot-v0103 .berke-site-footer .berke-icon-tone--teal { --berke-icon-fg: #79d4c5; --berke-icon-border: rgba(121, 212, 197, 0.22); }
body.berke-iconography-pilot-v0103 .berke-site-footer .berke-icon-tone--green { --berke-icon-fg: #91d6ac; --berke-icon-border: rgba(145, 214, 172, 0.22); }
body.berke-iconography-pilot-v0103 .berke-site-footer .berke-icon-tone--amber { --berke-icon-fg: #f0c47a; --berke-icon-border: rgba(240, 196, 122, 0.22); }
body.berke-iconography-pilot-v0103 .berke-site-footer .berke-icon-tone--navy { --berke-icon-fg: #9fc0df; --berke-icon-border: rgba(159, 192, 223, 0.22); }

body.berke-iconography-pilot-v0103 .berke-footer-principle:hover .berke-footer-principle__icon,
body.berke-iconography-pilot-v0103 .berke-footer-contact li:hover .berke-footer-contact__icon,
body.berke-iconography-pilot-v0103 .berke-footer-guides a:hover .berke-footer-link-arrow,
body.berke-iconography-pilot-v0103 .berke-footer-guides a:focus-visible .berke-footer-link-arrow {
	transform: translateY(-1px);
}

@media (max-width: 63.999rem) {
	body.berke-iconography-pilot-v0103 .berke-header-cta__icon {
		width: 1.75rem;
		height: 1.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.berke-iconography-pilot-v0103 .berke-site-header .berke-nav-icon,
	body.berke-iconography-pilot-v0103 .berke-header-tool,
	body.berke-iconography-pilot-v0103 .berke-header-cta__icon,
	body.berke-iconography-pilot-v0103 .berke-footer-principle__icon,
	body.berke-iconography-pilot-v0103 .berke-footer-contact__icon,
	body.berke-iconography-pilot-v0103 .berke-footer-brand__promise > span,
	body.berke-iconography-pilot-v0103 .berke-footer-scope-list li > span,
	body.berke-iconography-pilot-v0103 .berke-footer-link-arrow {
		transition: none !important;
		transform: none !important;
	}
}

/* Pilot surfaces must still obey the canonical shell type floor. */
body.berke-iconography-pilot-v0103 .berke-mobile-tool {
	font-size: var(--berke-type-control) !important;
	font-weight: 700 !important;
}
body.berke-iconography-pilot-v0103 .berke-footer-principle strong {
	font-size: var(--berke-type-small) !important;
	line-height: var(--berke-leading-compact) !important;
}
body.berke-iconography-pilot-v0103 .berke-footer-principle > div > span {
	font-size: var(--berke-type-caption) !important;
	line-height: var(--berke-leading-compact) !important;
}
