/*
 * MIC Site Style — section density + header CTA style.
 * Values come from mic-pages (option `mic_pages_style`) as body classes.
 */

/* ---- Section density (scales the page rhythm) ---- */
body.mic-density-compact { --mic-page-gap: clamp(3rem, 6vw, 6rem);     --mic-cta-pad: clamp(3rem, 7vw, 6rem); }
body.mic-density-normal  { --mic-page-gap: clamp(4.5rem, 9vw, 9rem);   --mic-cta-pad: clamp(5rem, 11vw, 10rem); }
body.mic-density-airy    { --mic-page-gap: clamp(6rem, 13vw, 13rem);   --mic-cta-pad: clamp(6.5rem, 14vw, 12rem); }

body[class*="mic-density-"] .mic-page { --page-gap: var(--mic-page-gap); }
body[class*="mic-density-"] :is(.page-next, .about-cta, .pricing-investment, .readiness-cta, .services-cta) {
	padding-block: var(--mic-cta-pad);
}

/* ---- Header CTA style: link (instead of the gold button) ---- */
body.mic-cta-link .mic-nav > li > a[href$="/contact/"] {
	background: transparent !important;
	color: var(--mic-color-ink) !important;
	text-transform: none;
	letter-spacing: 0;
	height: auto;
	padding: 12px 10px;
	font-size: var(--mic-header-nav);
	border-radius: 0;
}
body.mic-cta-link .mic-nav > li > a[href$="/contact/"]::after {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 6px;
	height: 2px;
	background: var(--mic-color-evidence);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.18s ease;
}
body.mic-cta-link .mic-nav > li > a[href$="/contact/"]:hover::after { transform: scaleX(1); }

/* ---- Header CTA style: hidden ---- */
body.mic-cta-hidden .mic-nav > li:has(> a[href$="/contact/"]) { display: none; }

/* Engagement route badges off (Site Style → Page Style). */
body.mic-badges-off .mic-route-badge { display: none; }

/* ------------------------------------------------------------------
   Motion rules (see docs/DESIGN-SYSTEM.md)
   · Interactions use the design-language durations/easing tokens.
   · Everything honours prefers-reduced-motion.
   ------------------------------------------------------------------ */
.mic-route-badge,
.mic-btn,
.mic-nav a,
.mic-footer-nav a {
	transition-duration: var(--mic-duration-fast, 120ms);
	transition-timing-function: var(--mic-ease-standard, ease);
}
@media (prefers-reduced-motion: reduce) {
	.mic-route-badge,
	.mic-btn,
	.mic-nav a,
	.mic-footer-nav a {
		transition: none !important;
	}
}

/* ------------------------------------------------------------------
   Accessibility — visible keyboard focus (P1 quality gate)
   ------------------------------------------------------------------ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--mic-color-focus, var(--mic-color-evidence, #c9a24a));
	outline-offset: 2px;
}
