/**
 * Inner-page parity with homepage — type, motion, focus, reduced-motion.
 * Loaded on all non-front pages after main.css.
 */

/* —— Typography & spacing (match home tokens) —— */
.ip-hero__eyebrow {
	font-family: var(--wimira-font);
	font-size: 12px;
	font-weight: var(--wimira-weight-heading);
	letter-spacing: 0.14em;
}

.ip-hero__title {
	font-size: var(--wimira-text-hero);
	font-weight: var(--wimira-weight-heading);
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.ip-hero__lead {
	font-family: var(--wimira-font);
	font-size: var(--wimira-text-lead);
	line-height: 1.65;
}

.ip-body,
.ip-section {
	padding-top: var(--wimira-section-pad-sm);
	padding-bottom: var(--wimira-section-pad);
}

.ip-section h2,
.ip-cta__copy h2,
.co-values h2,
.co-life h2,
.co-offices h2,
.util-hero__title,
.rr-section h2 {
	font-family: var(--wimira-font-heading);
	font-weight: var(--wimira-weight-heading);
	letter-spacing: -0.03em;
	color: var(--wimira-ink-heading);
}

.ip-section h2,
.co-values h2,
.co-life h2,
.co-offices h2,
.rr-section h2 {
	font-size: var(--wimira-text-section);
	line-height: 1.15;
}

.ip-case__body h2,
.ip-benefit h3,
.ip-model h3,
.co-value h3,
.rr-card h3 {
	font-family: var(--wimira-font-heading);
	font-size: var(--wimira-text-card);
	font-weight: var(--wimira-weight-heading);
	color: var(--wimira-ink-heading);
}

/* —— Interactive motion (home ease + lift) —— */
.ip-hero__ghost,
.ip-filters__pill,
.ip-filters__clear,
.ip-case,
.ip-case__link,
.ip-load-more,
.ip-benefit,
.ip-model,
.ip-offering,
.co-value,
.co-office,
.rr-card,
.rr-topics__pill,
.util-faq-cats__btn,
.util-legal__toc a,
.util-sitemap a,
.capd-offer,
.aid-service {
	transition:
		background-color 0.3s var(--wimira-ease),
		border-color 0.3s var(--wimira-ease),
		color 0.3s var(--wimira-ease),
		box-shadow 0.35s var(--wimira-ease),
		transform 0.35s var(--wimira-ease),
		opacity 0.3s var(--wimira-ease);
}

.ip-hero__ghost:hover,
.ip-hero__ghost:focus-visible {
	background: var(--wimira-red);
	border-color: var(--wimira-red);
	color: #fff;
}

.ip-case:hover,
.ip-case:focus-within,
.ip-benefit:hover,
.ip-model:hover,
.co-value:hover,
.co-office:hover,
.rr-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(18, 21, 38, 0.1);
}

.ip-filters__pill:hover,
.ip-filters__pill:focus-visible,
.ip-filters__pill.is-active,
.rr-topics__pill:hover,
.rr-topics__pill:focus-visible,
.rr-topics__pill.is-active {
	border-color: var(--wimira-red);
	background: var(--wimira-red);
	color: #fff;
}

.util-faq-cats__btn:hover,
.util-faq-cats__btn:focus-visible,
.util-faq-cats__btn.is-active {
	background: var(--wimira-red-light);
	color: var(--wimira-red);
}

.ip-case__link:hover,
.ip-case__link:focus-visible,
.ip-filters__clear:hover,
.ip-filters__clear:focus-visible {
	color: var(--wimira-red-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ip-case__media img {
	transition: transform 0.55s var(--wimira-ease);
}

.ip-case:hover .ip-case__media img,
.ip-case:focus-within .ip-case__media img {
	transform: scale(1.04);
}

/* —— Focus-visible (keyboard parity with home) —— */
.ip-hero__ghost:focus-visible,
.ip-filters__pill:focus-visible,
.ip-filters__clear:focus-visible,
.ip-case__link:focus-visible,
.ip-load-more:focus-visible,
.ip-crumbs a:focus-visible,
.rr-topics__pill:focus-visible,
.rr-card a:focus-visible,
.util-faq-cats__btn:focus-visible,
.util-legal__toc a:focus-visible,
.util-sitemap a:focus-visible,
.co-office a:focus-visible,
.capd-crumbs a:focus-visible {
	outline: 2px solid var(--wimira-red);
	outline-offset: 3px;
}

.ip-hero .ip-hero__ghost:focus-visible,
.ip-hero .btn-n--red:focus-visible {
	outline-color: #fff;
	box-shadow: 0 0 0 5px rgba(226, 44, 40, 0.45);
}

.ip-filters__pill:focus-visible,
.rr-topics__pill:focus-visible,
.util-faq-cats__btn:focus-visible {
	outline-offset: 2px;
}

/* —— Section skip links (homepage pattern) —— */
.skip-the-section {
	opacity: 0;
	position: absolute;
	z-index: -1;
	margin-top: -24px;
	transition: opacity 0.1s var(--wimira-ease);
}

.ip-body:focus-within > .container-n > .skip-the-section:focus,
.ip-section:focus-within > .container-n > .skip-the-section:focus,
[data-ip-filters]:focus-within .skip-the-section:focus,
.util-legal:focus-within .skip-the-section:focus {
	opacity: 1;
	z-index: 2;
}

/* —— Reduced motion —— */
@media (prefers-reduced-motion: reduce) {
	.ip-hero__ghost,
	.ip-filters__pill,
	.ip-filters__clear,
	.ip-case,
	.ip-case__link,
	.ip-load-more,
	.ip-benefit,
	.ip-model,
	.ip-offering,
	.co-value,
	.co-office,
	.rr-card,
	.rr-topics__pill,
	.util-faq-cats__btn,
	.util-legal__toc a,
	.util-sitemap a,
	.capd-offer,
	.aid-service,
	.ip-case__media img {
		transition: none !important;
		transform: none !important;
	}

	.ip-case:hover,
	.ip-case:focus-within,
	.ip-benefit:hover,
	.ip-model:hover,
	.ip-offering:hover,
	.ip-offering:focus-within,
	.co-value:hover,
	.co-office:hover,
	.rr-card:hover {
		transform: none;
	}

	.ip-case:hover .ip-case__media img,
	.ip-case:focus-within .ip-case__media img {
		transform: none;
	}
}
