/**
 * InsureTech Kit — Design Tokens
 *
 * Source file. Concatenated into assets/css/frontend.css at packaging time
 * (see inc/enqueue.php and the MS-1 report for the concatenation method).
 *
 * These custom properties mirror theme.json (the single source of truth for
 * color, font-family and font-size presets, which WordPress already exposes
 * as --wp--preset--* variables on the front end). This file supplies the
 * tokens theme.json cannot express: a responsive gutter, shell/article
 * layout widths, and a plain-CSS spacing scale for use in template markup
 * that is not itself a block.
 *
 * Font fallback strategy (Secondary #9, 14-PHASE-1-RULINGS.md):
 * Newsreader and Manrope WOFF2 files have not been supplied yet. No
 * @font-face rule exists in this build, so no font file is requested from
 * any external or local source that does not exist. The font-family stacks
 * below name Newsreader/Manrope first for forward compatibility; because no
 * matching @font-face is registered, browsers silently fall through to the
 * system serif/sans-serif fallback. When local WOFF2 files are supplied in
 * a later milestone, an @font-face block will be added and no other file
 * needs to change.
 */

:root {
	/* ---- Font fallback stacks (mirrors theme.json font families) ---- */
	--itk-font-heading: Newsreader, Georgia, "Times New Roman", serif;
	--itk-font-body: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	/* ---- Color aliases (values match theme.json / 01-BRAND-AND-DESIGN-SYSTEM.md) ----
	   Prefer the WordPress-generated --wp--preset--color--* variables in new
	   block-editor-authored styles. These aliases exist for plain-HTML
	   template markup (header, footer, forms) that is not itself a block. */
	--itk-color-warm-ivory: #F7F3EA;
	--itk-color-white: #FFFFFF;
	--itk-color-deep-plum: #4B2D52;
	--itk-color-charcoal-ink: #20242A;
	--itk-color-burnished-copper: #9F4F32;
	--itk-color-soft-sage: #E3EADF;
	--itk-color-muted-blue: #526FA3; /* large text, borders, icons, diagrams only — Secondary #14 */
	--itk-color-muted-blue-body: #455E8C; /* accessible darker blue for body-size text — Secondary #14 */

	/* ---- Spacing scale (06-GLOBAL-UI-SYSTEM.md) ---- */
	--itk-space-4: 4px;
	--itk-space-8: 8px;
	--itk-space-12: 12px;
	--itk-space-16: 16px;
	--itk-space-24: 24px;
	--itk-space-32: 32px;
	--itk-space-48: 48px;
	--itk-space-64: 64px;
	--itk-space-80: 80px;
	--itk-space-96: 96px;
	--itk-space-120: 120px;

	/* ---- Shell widths (R-02) ---- */
	--itk-shell-global: 1280px;
	--itk-shell-wide-editorial: 1200px;
	--itk-shell-article: 1160px;
	--itk-shell-legal: 780px;

	/* ---- Article two-column layout (R-02) ---- */
	--itk-article-main: 760px;
	--itk-article-gap: 48px;
	--itk-article-sidebar: 312px;
	--itk-article-reading: 800px;

	/* ---- Single responsive gutter token (R-03) — mobile default ---- */
	--itk-gutter: 20px;
}

/* R-03: one gutter token, used by every shell — no template defines its own
   horizontal padding. Breakpoints match the locked ranges exactly. */
@media (min-width: 480px) {
	:root {
		--itk-gutter: 24px;
	}
}

@media (min-width: 768px) {
	:root {
		--itk-gutter: 32px;
	}
}

@media (min-width: 1024px) {
	:root {
		--itk-gutter: 40px;
	}
}
/**
 * InsureTech Kit — Base Styles
 *
 * Source file. Concatenated into assets/css/frontend.css at packaging time.
 * Foundational rules only: reset, base typography, focus visibility and
 * reduced-motion support. Component styles (header, footer, cards, buttons,
 * navigation, accordions) are added in later milestones (src/components.css,
 * src/layout.css) and are out of scope for MS-1.
 */

/* ---------------------------------------------------------------------
 * Reset
 * ------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

img,
picture,
svg {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ---------------------------------------------------------------------
 * Base typography
 * ------------------------------------------------------------------- */

body {
	font-family: var(--itk-font-body);
	font-size: var(--wp--preset--font-size--body); /* fluid 18–19px, defined once in theme.json */
	line-height: 1.65;
	color: var(--itk-color-charcoal-ink);
	background-color: var(--itk-color-warm-ivory);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--itk-font-heading);
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 var(--itk-space-16) 0;
	/* Safe wrapping on narrow screens: long headings never force horizontal
	   overflow or clip. No fixed height, no white-space:nowrap. */
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

p {
	margin: 0 0 1.25em 0; /* corrected MS-1 review — approximately 1.25em, not the spacing-scale token */
}

/* Ordinary content links: underline by default so color is never the sole
   indicator (Section 13.9 of the architecture plan — "color is never the
   sole carrier of meaning"). Component-specific links (nav, buttons, cards)
   are styled separately once those components exist (MS-3/MS-4) and may
   override this base rule deliberately. */
a {
	color: var(--itk-color-burnished-copper);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

a:hover,
a:focus {
	text-decoration: underline;
}

/* ---------------------------------------------------------------------
 * Skip link (09-ACCESSIBILITY, Section 13.2 of the architecture plan)
 * Visually hidden until focused; full drawer/keyboard behavior for the
 * rest of the site chrome is built in MS-3.
 * ------------------------------------------------------------------- */

.itk-skip-link {
	position: absolute;
	top: -999px;
	left: 0;
	z-index: 10000;
	padding: var(--itk-space-12) var(--itk-space-24);
	background: var(--itk-color-deep-plum);
	color: var(--itk-color-white);
	text-decoration: none;
	font-family: var(--itk-font-body);
}

.itk-skip-link:focus {
	top: 0;
	left: 0;
}

/* ---------------------------------------------------------------------
 * Focus visibility (Section 13.2)
 * ------------------------------------------------------------------- */

:focus {
	outline: 2px solid var(--itk-color-deep-plum);
	outline-offset: 2px;
}

:focus:not(:focus-visible) {
	outline: none;
}

:focus-visible {
	outline: 2px solid var(--itk-color-deep-plum);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------
 * Reduced motion (01-BRAND-AND-DESIGN-SYSTEM.md, Section 13.10)
 * No motion rules exist yet in MS-1 (cards, drawers, accordions arrive in
 * later milestones); this rule is declared now so every later addition
 * inherits it automatically.
 * ------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* Visual Sprint 1 — smooth editorial rendering and sensible generic content. */
body {
	text-rendering: optimizeLegibility;
}

#main:focus {
	outline: none;
}

.itk-content-shell {
	width: min(100%, calc(var(--itk-shell-wide-editorial) + (2 * var(--itk-gutter))));
	margin-inline: auto;
	padding: var(--itk-space-80) var(--itk-gutter);
}
/**
 * InsureTech Kit — Global UI Shell Components (MS-3)
 *
 * Source file. Concatenated into assets/css/frontend.css at packaging time,
 * after tokens.css and base.css (see inc/enqueue.php and the MS-3 report for
 * the exact concatenation method). src/layout.css does not exist yet and is
 * not invented for this milestone — no rule below depends on it, and the
 * article two-column layout tokens already declared in tokens.css are not
 * consumed by anything in this file.
 *
 * Mobile-first throughout: base (unprefixed) rules describe widths below
 * the 960px navigation breakpoint (R-09); `@media (min-width: 960px)`
 * blocks describe the horizontal-navigation desktop presentation. A
 * separate `@media (min-width: 768px)` step exists only for the footer
 * menu grid, which is not tied to the navigation breakpoint.
 *
 * No gradients. No external font or asset requests. No site-wide
 * `overflow-x: hidden`. No fixed heights that clip content — every height
 * below is `min-height`, so real content can always grow it.
 *
 * @package InsureTechKit
 */

/* -----------------------------------------------------------------------
 * Shared utility
 * ------------------------------------------------------------------- */

/*
 * Standard WordPress-convention visually-hidden text: used for real
 * accessible names on icon-only controls throughout this file. Does not
 * exist yet in base.css, so it is declared here where it is first needed.
 */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* -----------------------------------------------------------------------
 * Header shell
 * ------------------------------------------------------------------- */

.itk-site-header {
	background-color: var(--itk-color-warm-ivory);
	width: 100%;
}

.itk-site-header--sticky {
	position: sticky;
	top: 0;
	z-index: 500;
}

.itk-site-header__inner {
	max-width: var(--itk-shell-global);
	margin-inline: auto;
	padding-inline: var(--itk-gutter);
	min-height: 78px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--itk-space-12) var(--itk-space-16);
}

.itk-site-header--compact-enabled .itk-site-header__inner {
	transition: min-height 200ms ease, padding-block 200ms ease;
}

.itk-site-header--is-compact .itk-site-header__inner {
	min-height: 66px;
	padding-block: var(--itk-space-8);
}

@media (prefers-reduced-motion: reduce) {
	.itk-site-header--compact-enabled .itk-site-header__inner {
		transition: none;
	}
}

/* -----------------------------------------------------------------------
 * Site branding (header + footer)
 * ------------------------------------------------------------------- */

.itk-site-branding {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	order: 1;
}

.itk-site-branding img {
	max-height: 48px;
	width: auto;
	height: auto;
	transition: max-height 200ms ease;
}

.itk-site-header--is-compact .itk-site-branding img {
	max-height: 36px;
}

@media (prefers-reduced-motion: reduce) {
	.itk-site-branding img {
		transition: none;
	}
}

.itk-site-title {
	margin: 0;
	font-family: var(--itk-font-heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
}

.itk-site-title a {
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
}

.itk-site-title a:hover {
	text-decoration: underline;
}

/* -----------------------------------------------------------------------
 * Primary navigation — mobile-first base (R-18: in-flow, always usable)
 * ------------------------------------------------------------------- */

.itk-nav-primary {
	order: 3;
	flex: 1 1 100%;
	width: 100%;
}

.itk-nav-primary__list {
	list-style: none;
	margin: 0;
	padding: var(--itk-space-8) 0 var(--itk-space-16);
	display: flex;
	flex-direction: column;
	gap: var(--itk-space-4);
}

.itk-nav-primary__list li {
	margin: 0;
}

.itk-nav-primary .menu-item > a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: var(--itk-space-8) var(--itk-space-4);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
	font-family: var(--itk-font-body);
	font-weight: 500;
}

.itk-nav-primary .menu-item > a:hover {
	text-decoration: underline;
}

/* Submenus: plain nested lists, always present in the flow, no JS required. */
.itk-nav-primary .sub-menu {
	list-style: none;
	margin: 0 0 var(--itk-space-8);
	padding-left: var(--itk-space-16);
}

.itk-nav-primary .sub-menu a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: var(--itk-space-4);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
}

.itk-nav-primary .sub-menu a:hover {
	text-decoration: underline;
}

/* JS-enhanced mobile drawer accordion state only — see assets/js/navigation.js.
   Absent this class, submenus above render fully expanded and static. */
.itk-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	margin-left: auto;
	background: transparent;
	border: none;
	border-radius: 8px;
	color: var(--itk-color-charcoal-ink);
	cursor: pointer;
}

.itk-submenu-toggle__chevron {
	transition: transform 200ms ease;
}

.itk-submenu-toggle[aria-expanded="true"] .itk-submenu-toggle__chevron {
	transform: rotate(180deg);
}

.itk-submenu--collapsible {
	max-height: 0;
	overflow: hidden;
	transition: max-height 200ms ease;
}

.itk-submenu--collapsible.is-open {
	max-height: 1000px;
}

@media (prefers-reduced-motion: reduce) {
	.itk-submenu-toggle__chevron,
	.itk-submenu--collapsible {
		transition: none;
	}
}

/* -----------------------------------------------------------------------
 * Mobile Secondary Navigation — in-flow, hidden only at desktop widths
 * ------------------------------------------------------------------- */

.itk-nav-secondary {
	order: 4;
	flex: 1 1 100%;
	width: 100%;
	border-top: 1px solid var(--itk-color-soft-sage);
	padding-top: var(--itk-space-8);
}

.itk-nav-secondary__list {
	list-style: none;
	margin: 0;
	padding: 0 0 var(--itk-space-16);
	display: flex;
	flex-direction: column;
	gap: var(--itk-space-4);
}

.itk-nav-secondary__list a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: var(--itk-space-4);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
}

.itk-nav-secondary__list a:hover {
	text-decoration: underline;
}

/* -----------------------------------------------------------------------
 * Header controls (search, Tools & Checklists, drawer trigger)
 * ------------------------------------------------------------------- */

.itk-site-header__controls {
	order: 2;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: var(--itk-space-8);
}

.itk-nav-drawer-trigger-slot {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
}

.itk-nav-drawer-trigger,
.itk-nav-drawer-trigger-placeholder {
	display: none;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: var(--itk-space-8);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--itk-color-charcoal-ink);
	font: inherit;
	line-height: 1;
}

.itk-nav-drawer-trigger {
	cursor: pointer;
}

.itk-nav-drawer-trigger-placeholder {
	pointer-events: none;
}

/* -----------------------------------------------------------------------
 * Search
 * ------------------------------------------------------------------- */

.itk-search {
	position: relative;
}

.itk-search-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--itk-space-8);
	min-height: 44px;
	padding: var(--itk-space-8) var(--itk-space-12);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
	border-radius: 8px;
}

.itk-search-toggle:hover {
	background-color: var(--itk-color-soft-sage);
	text-decoration: none;
}

.itk-search-panel {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: var(--itk-space-8);
	width: min(360px, 90vw);
	background: var(--itk-color-white);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(32, 36, 42, 0.16);
	padding: var(--itk-space-16);
	z-index: 800;
}

.itk-search-panel__inner {
	display: flex;
	align-items: flex-start;
	gap: var(--itk-space-8);
}

.itk-search-panel__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	flex-shrink: 0;
	background: transparent;
	border: none;
	border-radius: 8px;
	color: var(--itk-color-charcoal-ink);
	cursor: pointer;
	margin-top: var(--itk-space-24);
}

.itk-search-form {
	flex: 1 1 auto;
}

.itk-search-form__label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--itk-space-8);
}

.itk-search-form__row {
	display: flex;
	gap: var(--itk-space-8);
}

.itk-search-form__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 48px;
	padding: 0 var(--itk-space-16);
	border: 1px solid var(--itk-color-charcoal-ink);
	border-radius: 8px;
	font-family: var(--itk-font-body);
	font-size: var(--wp--preset--font-size--body);
	background: var(--itk-color-white);
	color: var(--itk-color-charcoal-ink);
}

.itk-search-form__submit {
	flex-shrink: 0;
	min-width: 48px;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--itk-color-deep-plum);
	color: var(--itk-color-white);
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

.itk-search-form__submit:focus-visible {
	outline-color: var(--itk-color-warm-ivory);
	outline-offset: 2px;
}

@media (max-width: 959.98px) {
	.itk-search-panel {
		position: fixed;
		inset: 0;
		width: 100%;
		margin: 0;
		border-radius: 0;
		z-index: 1100;
		overflow-y: auto;
	}

	.itk-search-panel__close {
		margin-top: 0;
	}
}

/* -----------------------------------------------------------------------
 * Tools & Checklists control
 * ------------------------------------------------------------------- */

.itk-tools-control {
	display: inline-flex;
	align-items: center;
	gap: var(--itk-space-8);
	min-height: 44px;
	padding: var(--itk-space-8) var(--itk-space-12);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
	border-radius: 8px;
	white-space: nowrap;
}

.itk-tools-control:hover {
	background-color: var(--itk-color-soft-sage);
	text-decoration: none;
}

/* -----------------------------------------------------------------------
 * Mobile drawer
 * ------------------------------------------------------------------- */

/*
 * MS-3 v1.1 correction: v1.0 shown/hidden this drawer with only the native
 * `hidden` attribute and no visible motion. That was an unauthorized
 * simplification — drawer slide is explicitly named in
 * 15-PHASE-2-ARCHITECTURE-PLAN-v1.1.md, Section 13.10, as one of the
 * animations `prefers-reduced-motion: reduce` must disable, which only
 * makes sense if the animation exists to begin with. The native `hidden`
 * starting state is unchanged (assets/js/navigation.js still removes it
 * before applying the open state, and restores it only once the closing
 * transition finishes or its defensive timeout fires) — only the *visible*
 * motion between hidden and shown is new: a ~200ms translateX slide plus a
 * fading backdrop, both disabled under reduced motion below.
 */
.itk-nav-drawer {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	width: 90%;
	max-width: 420px;
	background: var(--itk-color-warm-ivory);
	box-shadow: -8px 0 24px rgba(32, 36, 42, 0.2);
	z-index: 1000;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform 200ms ease;
}

.itk-nav-drawer.itk-nav-drawer--open {
	transform: translateX(0);
}

.itk-nav-drawer__header {
	display: flex;
	justify-content: flex-end;
	padding: var(--itk-space-16);
}

.itk-nav-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	background: transparent;
	border: none;
	border-radius: 8px;
	color: var(--itk-color-charcoal-ink);
	cursor: pointer;
}

.itk-nav-drawer__content {
	padding: 0 var(--itk-space-24) var(--itk-space-32);
}

.itk-nav-drawer__content .itk-nav-primary,
.itk-nav-drawer__content .itk-nav-secondary {
	width: 100%;
}

.itk-nav-drawer__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(32, 36, 42, 0.4);
	z-index: 900;
	opacity: 0;
	transition: opacity 200ms ease;
}

.itk-nav-drawer__backdrop.itk-nav-drawer__backdrop--open {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.itk-nav-drawer,
	.itk-nav-drawer__backdrop {
		transition: none;
	}
}

/* Scroll lock while the drawer or the mobile search panel is open. */
html.itk-scroll-locked,
html.itk-scroll-locked body {
	overflow: hidden;
}

/* -----------------------------------------------------------------------
 * Desktop navigation (>= 960px, R-09)
 * ------------------------------------------------------------------- */

@media (min-width: 960px) {
	.itk-site-header__inner {
		flex-wrap: nowrap;
	}

	.itk-nav-primary {
		order: 2;
		flex: 1 1 auto;
		width: auto;
		display: flex;
		justify-content: center;
	}

	.itk-nav-primary__list {
		flex-direction: row;
		align-items: center;
		gap: var(--itk-space-24);
		padding: 0;
	}

	.itk-nav-primary .menu-item {
		position: relative;
	}

	.itk-nav-primary .menu-item > a {
		min-height: auto;
		padding: var(--itk-space-8) var(--itk-space-4);
	}

	/* Submenus become CSS-only dropdowns: no JavaScript involved, reachable
	   identically by mouse hover and by keyboard Tab (:focus-within fires
	   as soon as any descendant link receives focus, before the browser
	   moves focus into it — so nothing is ever focused while invisible). */
	.itk-nav-primary .sub-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 220px;
		margin: 0;
		padding: var(--itk-space-8);
		background: var(--itk-color-white);
		border-radius: 8px;
		box-shadow: 0 8px 24px rgba(32, 36, 42, 0.16);
		z-index: 600;
	}

	.itk-nav-primary .menu-item-has-children:hover > .sub-menu,
	.itk-nav-primary .menu-item-has-children:focus-within > .sub-menu {
		display: block;
	}

	.itk-nav-primary .sub-menu a {
		min-height: 40px;
	}

	/* The mobile-only accordion toggle button never exists at this width
	   in practice (navigation.js only injects it while enhanced for
	   mobile), but this rule keeps the desktop dropdown clean even if a
	   breakpoint change briefly leaves one present before teardown runs. */
	.itk-submenu-toggle {
		display: none;
	}

	.itk-submenu--collapsible {
		max-height: none;
		overflow: visible;
	}

	.itk-nav-secondary {
		display: none;
	}

	.itk-site-header__controls {
		order: 3;
	}

	.itk-nav-drawer-trigger-slot,
	.itk-nav-drawer-trigger,
	.itk-nav-drawer-trigger-placeholder {
		display: none !important;
	}
}

@media (max-width: 959.98px) {
	html.js .itk-nav-drawer-trigger-slot,
	html.js .itk-nav-drawer-trigger,
	html.js .itk-nav-drawer-trigger-placeholder {
		display: inline-flex;
	}
}

/* -----------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------- */

.itk-site-footer {
	background-color: var(--itk-color-deep-plum);
	color: var(--itk-color-warm-ivory);
}

.itk-site-footer a {
	color: var(--itk-color-warm-ivory);
}

.itk-site-footer a:hover,
.itk-site-footer a:focus {
	color: var(--itk-color-white);
}

/* The base :focus-visible outline (base.css) is deep-plum, invisible
   against this footer's plum background. Every focusable element inside
   the footer gets a light outline instead. */
.itk-site-footer :focus-visible {
	outline-color: var(--itk-color-warm-ivory);
	outline-offset: 2px;
}

.itk-site-footer__inner {
	max-width: var(--itk-shell-global);
	margin-inline: auto;
	padding-inline: var(--itk-gutter);
	padding-block: var(--itk-space-64) var(--itk-space-32);
}

.itk-footer-brand {
	margin-bottom: var(--itk-space-32);
}

.itk-footer-brand__title {
	margin: 0 0 var(--itk-space-16);
	font-family: var(--itk-font-heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 600;
}

.itk-footer-brand__title a {
	text-decoration: none;
}

.itk-footer-brand__tagline {
	margin: 0 0 var(--itk-space-8);
	font-family: var(--itk-font-heading);
	font-size: var(--wp--preset--font-size--large);
}

.itk-footer-brand__description {
	margin: 0 0 var(--itk-space-16);
	max-width: 60ch;
}

.itk-footer-brand__trust {
	margin: 0 0 var(--itk-space-16);
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.itk-footer-social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--itk-space-8) var(--itk-space-16);
}

.itk-footer-social a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	text-decoration: underline;
}

/* Footer menu groups — mobile-first: stacked, collapsible via JS only. */
.itk-footer-menus {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--itk-space-8);
	margin-bottom: var(--itk-space-32);
	border-top: 1px solid rgba(247, 243, 234, 0.2);
}

.itk-footer-menu-group {
	border-bottom: 1px solid rgba(247, 243, 234, 0.2);
}

.itk-footer-menu-group__heading {
	margin: 0;
	font-size: var(--wp--preset--font-size--body);
}

.itk-footer-menu-group__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 44px;
	padding: var(--itk-space-12) 0;
	background: transparent;
	border: none;
	color: inherit;
	font-family: var(--itk-font-heading);
	font-size: inherit;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}

.itk-footer-menu-group__chevron {
	flex-shrink: 0;
	margin-left: var(--itk-space-8);
	transition: transform 200ms ease;
}

.itk-footer-menu-group__toggle[aria-expanded="false"] .itk-footer-menu-group__chevron {
	transform: rotate(-90deg);
}

.itk-footer-menu-group__list {
	list-style: none;
}

.itk-footer-menu-group__menu {
	list-style: none;
	margin: 0;
	padding: 0 0 var(--itk-space-16);
}

.itk-footer-menu-group__menu a {
	display: flex;
	align-items: center;
	min-height: 44px;
	text-decoration: none;
}

.itk-footer-menu-group__menu a:hover {
	text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
	.itk-footer-menu-group__chevron {
		transition: none;
	}
}

@media (min-width: 768px) {
	.itk-footer-menus {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--itk-space-32);
		border-top: none;
	}

	.itk-footer-menu-group {
		border-bottom: none;
	}

	.itk-footer-menu-group__toggle {
		cursor: default;
	}

	.itk-footer-menu-group__chevron {
		display: none;
	}
}

/* Footer bottom row: Footer Legal menu (Section 3.6 — distinct from the
   three column/accordion groups above) plus the disclaimer. */
.itk-footer-bottom {
	padding-top: var(--itk-space-24);
	border-top: 1px solid rgba(247, 243, 234, 0.2);
	display: flex;
	flex-direction: column;
	gap: var(--itk-space-16);
}

.itk-footer-legal__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--itk-space-8) var(--itk-space-24);
	font-size: var(--wp--preset--font-size--small);
}

.itk-footer-legal__list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	text-decoration: underline;
}

.itk-footer-disclaimer {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.85;
	max-width: 70ch;
}

@media (min-width: 768px) {
	.itk-footer-bottom {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		gap: var(--itk-space-32);
	}
}

/* -----------------------------------------------------------------------
 * Visual Sprint 1 — premium global-shell polish
 * ------------------------------------------------------------------- */

.itk-site-header {
	border-bottom: 1px solid rgba(32, 36, 42, 0.10);
	backdrop-filter: saturate(120%) blur(10px);
}

.itk-site-header--sticky {
	background-color: rgba(247, 243, 234, 0.96);
}

.itk-site-header__inner {
	position: relative;
}

.itk-site-title {
	font-size: clamp(1.45rem, 2vw, 1.85rem);
	letter-spacing: -0.025em;
}

.itk-site-title a {
	display: inline-flex;
	align-items: center;
	gap: 11px;
}

.itk-site-title a::before {
	content: "IK";
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1.5px solid var(--itk-color-deep-plum);
	border-radius: 9px 9px 3px 9px;
	font-family: var(--itk-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--itk-color-deep-plum);
	background: var(--itk-color-white);
}

.itk-nav-primary .menu-item > a {
	position: relative;
	font-size: 0.92rem;
}

@media (min-width: 960px) {
	.itk-nav-primary .menu-item > a::after {
		content: "";
		position: absolute;
		left: 4px;
		right: 4px;
		bottom: 1px;
		height: 2px;
		background: var(--itk-color-burnished-copper);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 180ms ease;
	}

	.itk-nav-primary .menu-item > a:hover::after,
	.itk-nav-primary .menu-item > a:focus-visible::after,
	.itk-nav-primary .current-menu-item > a::after {
		transform: scaleX(1);
	}
}

.itk-search-toggle,
.itk-tools-control,
.itk-nav-drawer-trigger {
	border: 1px solid transparent;
}

.itk-search-toggle:hover,
.itk-tools-control:hover,
.itk-nav-drawer-trigger:hover {
	border-color: rgba(75, 45, 82, 0.18);
}

.itk-tools-control {
	border-color: rgba(75, 45, 82, 0.25);
}

.itk-search-panel,
.itk-nav-primary .sub-menu {
	border: 1px solid rgba(32, 36, 42, 0.10);
	box-shadow: 0 16px 44px rgba(32, 36, 42, 0.12);
}

.itk-nav-drawer__header {
	border-bottom: 1px solid rgba(32, 36, 42, 0.10);
}

.itk-nav-drawer__content {
	padding-top: var(--itk-space-16);
}

.itk-site-footer {
	position: relative;
}

.itk-site-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: min(190px, 38vw);
	height: 4px;
	background: var(--itk-color-burnished-copper);
}

.itk-footer-brand__title {
	font-size: clamp(1.7rem, 3vw, 2.25rem);
	letter-spacing: -0.02em;
}

.itk-footer-brand__tagline {
	max-width: 20ch;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	line-height: 1.35;
}

@media (min-width: 900px) {
	.itk-site-footer__inner {
		display: grid;
		grid-template-columns: minmax(280px, 0.9fr) minmax(520px, 1.45fr);
		column-gap: clamp(48px, 8vw, 110px);
		align-items: start;
		padding-block-start: var(--itk-space-80);
	}

	.itk-footer-brand {
		margin-bottom: 0;
	}

	.itk-footer-menus {
		margin-bottom: 0;
	}

	.itk-footer-bottom {
		grid-column: 1 / -1;
		margin-top: var(--itk-space-48);
	}
}
/**
 * InsureTech Kit — Homepage Visual Sprint 1
 */

.itk-home {
	overflow: clip;
}

.itk-home-shell {
	width: min(100%, calc(var(--itk-shell-wide-editorial) + (2 * var(--itk-gutter))));
	margin-inline: auto;
	padding-inline: var(--itk-gutter);
}

.itk-home-section {
	padding-block: clamp(72px, 9vw, 120px);
}

.itk-eyebrow {
	margin: 0 0 14px;
	font-family: var(--itk-font-body);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--itk-color-burnished-copper);
}

.itk-eyebrow--light {
	color: #E9C6B9;
}

.itk-section-heading {
	margin-bottom: clamp(36px, 5vw, 58px);
}

.itk-section-heading h2 {
	max-width: 18ch;
	margin: 0;
	font-size: clamp(2rem, 4.2vw, 3.25rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.itk-section-heading--split {
	display: grid;
	gap: 18px;
}

.itk-section-heading--split > p {
	max-width: 48ch;
	margin: 0;
	align-self: end;
	color: rgba(32, 36, 42, 0.72);
}

.itk-section-link {
	align-self: end;
	font-weight: 650;
	color: var(--itk-color-deep-plum);
	text-decoration-color: var(--itk-color-burnished-copper);
}

.itk-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border-radius: 11px;
	font-family: var(--itk-font-body);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.itk-button:hover,
.itk-button:focus-visible {
	transform: translateY(-2px);
	text-decoration: none;
}

.itk-button--primary {
	background: var(--itk-color-deep-plum);
	color: var(--itk-color-warm-ivory);
	border: 1px solid var(--itk-color-deep-plum);
}

.itk-button--primary:hover,
.itk-button--primary:focus-visible {
	background: #3E2445;
	color: #fff;
}

.itk-button--text {
	padding-inline: 3px;
	border-radius: 0;
	color: var(--itk-color-deep-plum);
	text-decoration: underline;
	text-decoration-color: var(--itk-color-burnished-copper);
	text-underline-offset: 7px;
}

/* Hero */
.itk-home-hero {
	position: relative;
	background: var(--itk-color-warm-ivory);
	border-bottom: 1px solid rgba(32, 36, 42, 0.08);
}

.itk-home-hero::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: 54px;
	width: 190px;
	height: 190px;
	border: 1px solid rgba(159, 79, 50, 0.28);
	border-radius: 50%;
	pointer-events: none;
}

.itk-home-hero__grid {
	display: grid;
	gap: 38px;
	align-items: center;
	min-height: min(780px, calc(100svh - 78px));
	padding-block: clamp(64px, 9vw, 112px);
}

.itk-home-hero__content {
	position: relative;
	z-index: 1;
}

.itk-home-hero h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(2.8rem, 7.3vw, 5.55rem);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.055em;
}

.itk-home-hero__support {
	max-width: 55ch;
	margin: 28px 0 0;
	font-size: clamp(1.06rem, 1.6vw, 1.28rem);
	line-height: 1.65;
	color: rgba(32, 36, 42, 0.76);
}

.itk-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 32px;
}

.itk-home-hero__assurance {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 42px;
	padding-top: 20px;
	border-top: 1px solid rgba(32, 36, 42, 0.13);
	font-size: 0.77rem;
	font-weight: 650;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: rgba(32, 36, 42, 0.65);
}

.itk-home-hero__assurance span {
	position: relative;
}

.itk-home-hero__assurance span:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 50%;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--itk-color-burnished-copper);
}

.itk-home-hero__visual {
	position: relative;
	width: min(100%, 620px);
	margin-inline: auto;
}

.itk-home-hero__visual::before {
	content: "";
	position: absolute;
	inset: 12% 5% 7% 14%;
	border: 1px solid rgba(75, 45, 82, 0.14);
	border-radius: 50%;
}

.itk-home-hero__visual img {
	position: relative;
	width: 100%;
}

/* Intent navigator */
.itk-home-intents {
	background: #fff;
}

.itk-intent-grid {
	display: grid;
	gap: 16px;
}

.itk-intent-card {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas:
		"icon title arrow"
		"number desc arrow";
	gap: 12px 18px;
	align-items: center;
	min-height: 180px;
	padding: 24px;
	border: 1px solid rgba(32, 36, 42, 0.12);
	border-radius: 18px;
	color: var(--itk-color-charcoal-ink);
	background: var(--itk-color-warm-ivory);
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.itk-intent-card:hover,
.itk-intent-card:focus-visible {
	transform: translateY(-3px);
	border-color: currentColor;
	text-decoration: none;
}

.itk-intent-card--copper { background: #FBF1EC; }
.itk-intent-card--blue { background: #EEF2F8; }
.itk-intent-card--sage { background: #EFF3EC; }
.itk-intent-card--charcoal { background: #F0F0EE; }
.itk-intent-card--blue-plum { background: #F2EEF4; }

.itk-intent-card__icon {
	grid-area: icon;
	width: 44px;
	height: 44px;
}

.itk-intent-card__number {
	grid-area: number;
	align-self: end;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	color: var(--itk-color-burnished-copper);
}

.itk-intent-card h3 {
	grid-area: title;
	margin: 0;
	font-size: clamp(1.3rem, 2vw, 1.65rem);
	line-height: 1.14;
}

.itk-intent-card p {
	grid-area: desc;
	margin: 0;
	font-size: 0.91rem;
	line-height: 1.55;
	color: rgba(32, 36, 42, 0.72);
}

.itk-intent-card__arrow {
	grid-area: arrow;
	font-size: 1.45rem;
	transition: transform 180ms ease;
}

.itk-intent-card:hover .itk-intent-card__arrow,
.itk-intent-card:focus-visible .itk-intent-card__arrow {
	transform: translateX(4px);
}

/* Guide cards and featured */
.itk-featured-guides {
	background: var(--itk-color-warm-ivory);
}

.itk-featured-layout {
	display: grid;
	gap: 20px;
}

.itk-featured-layout__support {
	display: grid;
	gap: 20px;
}

.itk-guide-card {
	min-width: 0;
}

.itk-guide-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid rgba(32, 36, 42, 0.12);
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease;
}

.itk-guide-card__link:hover,
.itk-guide-card__link:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(75, 45, 82, 0.55);
	text-decoration: none;
}

.itk-guide-card__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--itk-color-soft-sage);
}

.itk-guide-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.itk-guide-card__link:hover .itk-guide-card__media img,
.itk-guide-card__link:focus-visible .itk-guide-card__media img {
	transform: scale(1.025);
}

.itk-guide-card__media--motif img {
	object-fit: cover;
}

.itk-guide-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 24px;
}

.itk-guide-card__category {
	margin: 0 0 10px;
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--itk-color-burnished-copper);
}

.itk-guide-card h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.itk-guide-card__excerpt {
	margin: 18px 0 0;
	font-size: 0.94rem;
	color: rgba(32, 36, 42, 0.72);
}

.itk-guide-card__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 24px;
	font-size: 0.78rem;
	font-weight: 650;
	color: rgba(32, 36, 42, 0.62);
}

.itk-guide-card__read {
	color: var(--itk-color-deep-plum);
}

.itk-guide-card--compact .itk-guide-card__link {
	flex-direction: row;
}

.itk-guide-card--compact .itk-guide-card__media {
	flex: 0 0 34%;
	aspect-ratio: auto;
}

.itk-guide-card--compact .itk-guide-card__body {
	padding: 20px;
}

.itk-guide-card--compact h3 {
	font-size: clamp(1.15rem, 1.8vw, 1.45rem);
}

.itk-guide-card--compact .itk-guide-card__meta {
	padding-top: 16px;
}

/* Claims toolkit */
.itk-claims-toolkit {
	background: var(--itk-color-soft-sage);
}

.itk-claims-toolkit__shell {
	display: grid;
	gap: 40px;
}

.itk-claims-toolkit__intro h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.2rem, 4.8vw, 4rem);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.itk-claims-steps {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.itk-claims-steps a {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	align-items: center;
	gap: 16px;
	min-height: 88px;
	padding: 16px 18px;
	border: 1px solid rgba(32, 36, 42, 0.13);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.62);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
}

.itk-claims-steps a:hover,
.itk-claims-steps a:focus-visible {
	background: #fff;
	text-decoration: none;
}

.itk-claims-step__number {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--itk-color-deep-plum);
	color: var(--itk-color-warm-ivory);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.itk-claims-step__label {
	font-family: var(--itk-font-heading);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 600;
}

.itk-claims-step__arrow {
	font-size: 1.35rem;
}

/* Topic hubs */
.itk-topic-hubs {
	background: #fff;
}

.itk-topic-mosaic {
	display: grid;
	gap: 16px;
}

.itk-topic-card {
	display: flex;
	flex-direction: column;
	min-height: 250px;
	padding: 26px;
	border: 1px solid rgba(32, 36, 42, 0.12);
	border-radius: 18px;
	background: var(--itk-color-warm-ivory);
	color: var(--itk-color-charcoal-ink);
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease;
}

.itk-topic-card:hover,
.itk-topic-card:focus-visible {
	transform: translateY(-3px);
	border-color: currentColor;
	text-decoration: none;
}

.itk-topic-card--copper { background: #FBF1EC; }
.itk-topic-card--blue { background: #EEF2F8; }
.itk-topic-card--sage { background: #EFF3EC; }
.itk-topic-card--charcoal { background: #F0F0EE; }
.itk-topic-card--blue-plum { background: #F2EEF4; }

.itk-topic-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.itk-topic-card__top img {
	width: 50px;
	height: 50px;
}

.itk-topic-card__top span {
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(32, 36, 42, 0.58);
}

.itk-topic-card h3 {
	max-width: 18ch;
	margin: auto 0 12px;
	font-size: clamp(1.45rem, 2.8vw, 2.2rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.itk-topic-card p {
	max-width: 40ch;
	margin: 0 0 22px;
	font-size: 0.91rem;
	color: rgba(32, 36, 42, 0.72);
}

.itk-topic-card__link {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--itk-color-deep-plum);
}

/* Digital spotlight */
.itk-digital-spotlight {
	position: relative;
	padding-block: clamp(76px, 9vw, 116px);
	background: var(--itk-color-deep-plum);
	color: var(--itk-color-warm-ivory);
}

.itk-digital-spotlight::after {
	content: "";
	position: absolute;
	right: 6vw;
	top: 56px;
	width: 110px;
	height: 110px;
	border: 1px solid rgba(247, 243, 234, 0.18);
	border-radius: 50%;
}

.itk-digital-spotlight__heading {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 18px;
	margin-bottom: 48px;
}

.itk-digital-spotlight__heading h2 {
	max-width: 23ch;
	margin: 0;
	font-size: clamp(2.1rem, 5vw, 4.25rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.itk-digital-grid {
	display: grid;
	gap: 14px;
}

.itk-digital-card a {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 24px;
	align-items: center;
	min-height: 150px;
	padding: 24px;
	border: 1px solid rgba(247, 243, 234, 0.22);
	border-radius: 16px;
	color: var(--itk-color-warm-ivory);
	text-decoration: none;
	transition: background-color 180ms ease, transform 180ms ease;
}

.itk-digital-card a:hover,
.itk-digital-card a:focus-visible {
	background: rgba(247, 243, 234, 0.08);
	transform: translateY(-2px);
	text-decoration: none;
}

.itk-digital-card__label {
	grid-column: 1;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #E9C6B9;
}

.itk-digital-card h3 {
	grid-column: 1;
	margin: 0;
	font-size: clamp(1.3rem, 2.4vw, 1.9rem);
	line-height: 1.12;
}

.itk-digital-card__arrow {
	grid-column: 2;
	grid-row: 1 / 3;
	font-size: 1.6rem;
}

/* Latest */
.itk-latest-guides {
	background: var(--itk-color-warm-ivory);
}

.itk-latest-grid {
	display: grid;
	gap: 20px;
}

/* Editorial trust */
.itk-editorial-trust {
	background: #fff;
}

.itk-editorial-trust__grid {
	display: grid;
	gap: 42px;
	align-items: start;
}

.itk-editorial-trust__intro {
	padding: clamp(30px, 5vw, 56px);
	border-radius: 20px;
	background: var(--itk-color-soft-sage);
}

.itk-editorial-trust__intro h2 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(2rem, 4.7vw, 3.75rem);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.itk-trust-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 22px;
	margin-top: 32px;
}

.itk-trust-links a {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--itk-color-deep-plum);
	text-decoration-color: var(--itk-color-burnished-copper);
}

.itk-trust-points {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(32, 36, 42, 0.15);
}

.itk-trust-points li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	align-items: center;
	min-height: 92px;
	border-bottom: 1px solid rgba(32, 36, 42, 0.15);
	font-family: var(--itk-font-heading);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 600;
}

.itk-trust-points span {
	font-family: var(--itk-font-body);
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--itk-color-burnished-copper);
}

@media (min-width: 640px) {
	.itk-intent-grid,
	.itk-latest-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.itk-topic-mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.itk-digital-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 840px) {
	.itk-section-heading--split {
		grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
		align-items: end;
	}

	.itk-home-hero__grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
		gap: clamp(34px, 5vw, 76px);
	}

	.itk-home-hero__visual {
		order: 2;
	}

	.itk-featured-layout {
		grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
		align-items: stretch;
	}

	.itk-featured-layout--single {
		grid-template-columns: minmax(0, 1fr);
		max-width: 820px;
	}

	.itk-guide-card--featured h3 {
		font-size: clamp(2rem, 4vw, 3.25rem);
	}

	.itk-claims-toolkit__shell {
		grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
		gap: clamp(48px, 8vw, 110px);
	}

	.itk-topic-mosaic {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.itk-topic-card--position-1 { grid-column: span 7; min-height: 330px; }
	.itk-topic-card--position-2 { grid-column: span 5; min-height: 330px; }
	.itk-topic-card--position-3 { grid-column: span 4; }
	.itk-topic-card--position-4 { grid-column: span 4; }
	.itk-topic-card--position-5 { grid-column: span 4; }
	.itk-topic-card--position-6 { grid-column: span 12; min-height: 240px; }

	.itk-digital-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.itk-latest-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.itk-editorial-trust__grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
		gap: clamp(48px, 7vw, 96px);
	}
}

@media (max-width: 639.98px) {
	.itk-home-hero__grid {
		min-height: auto;
	}

	.itk-home-hero h1 {
		font-size: clamp(2.75rem, 13vw, 4rem);
	}

	.itk-home-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.itk-button--text {
		align-self: flex-start;
	}

	.itk-home-hero__assurance {
		flex-direction: column;
		gap: 8px;
	}

	.itk-home-hero__assurance span::after {
		display: none;
	}

	.itk-guide-card--compact .itk-guide-card__link {
		flex-direction: column;
	}

	.itk-guide-card--compact .itk-guide-card__media {
		flex-basis: auto;
		aspect-ratio: 16 / 9;
	}
}

@media (prefers-reduced-motion: reduce) {
	.itk-button,
	.itk-intent-card,
	.itk-intent-card__arrow,
	.itk-guide-card__link,
	.itk-guide-card__media img,
	.itk-topic-card,
	.itk-digital-card a {
		transition: none;
	}
}
/** Automation Build 1 — article, archive and premium interaction styles. */

/* Appearance toggle */
.itk-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 44px;
	min-height: 44px;
	padding: 8px 11px;
	border: 1px solid color-mix(in srgb, var(--itk-color-charcoal-ink) 18%, transparent);
	border-radius: 999px;
	background: transparent;
	color: var(--itk-color-charcoal-ink);
	font: 600 0.75rem/1 var(--itk-font-body);
	letter-spacing: 0.04em;
	cursor: pointer;
}
.itk-theme-toggle:hover { background: var(--itk-color-soft-sage); }
.itk-theme-toggle__icon--sun { display: none; }
[data-theme="dark"] .itk-theme-toggle__icon--moon { display: none; }
[data-theme="dark"] .itk-theme-toggle__icon--sun { display: block; }
.itk-theme-toggle--drawer { border-color: rgba(32,36,42,.16); }
@media (max-width: 639.98px) {
	.itk-theme-toggle--header .itk-theme-toggle__text { display: none; }
	.itk-theme-toggle--header { padding-inline: 8px; border-color: transparent; }
}

/* Premium newspaper drawer: header and close remain visible while links scroll. */
.itk-nav-drawer {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr) auto;
	height: 100dvh;
	width: min(92vw, 390px);
	overflow: hidden;
	border-left: 1px solid rgba(32,36,42,.12);
	box-shadow: -18px 0 50px rgba(24,20,25,.24);
}
.itk-nav-drawer__header {
	position: sticky;
	top: 0;
	z-index: 3;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	background: color-mix(in srgb, var(--itk-color-warm-ivory) 94%, transparent);
	border-bottom: 1px solid rgba(32,36,42,.12);
	backdrop-filter: blur(12px);
}
.itk-nav-drawer__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	color: var(--itk-color-charcoal-ink);
	font: 600 1rem/1.15 var(--itk-font-heading);
	text-decoration: none;
}
.itk-nav-drawer__brand > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.itk-nav-drawer__monogram {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--itk-color-deep-plum);
	border-radius: 9px;
	font: 600 .67rem/1 var(--itk-font-body);
	letter-spacing: .08em;
}
.itk-nav-drawer__header-actions { display: flex; align-items: center; gap: 5px; }
.itk-nav-drawer__header-actions .itk-theme-toggle__text { display: none; }
.itk-nav-drawer__header-actions .itk-theme-toggle { border: 0; padding: 8px; }
.itk-nav-drawer__close { border: 1px solid rgba(32,36,42,.12); border-radius: 999px; }
.itk-nav-drawer__intro { padding: 20px 22px 15px; border-bottom: 1px solid rgba(32,36,42,.1); }
.itk-nav-drawer__intro .itk-eyebrow { margin-bottom: 6px; }
.itk-nav-drawer__intro p:last-child { margin: 0; color: color-mix(in srgb, var(--itk-color-charcoal-ink) 72%, transparent); font-size: .86rem; line-height: 1.5; }
.itk-nav-drawer__content { overflow-y: auto; overscroll-behavior: contain; padding: 7px 18px 18px; }
.itk-nav-drawer__content .itk-nav-primary__list { counter-reset: menuitem; gap: 0; padding: 0; }
.itk-nav-drawer__content .itk-nav-primary__list > li { counter-increment: menuitem; border-bottom: 1px solid rgba(32,36,42,.11); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.itk-nav-drawer__content .itk-nav-primary__list > li > a { padding: 14px 4px; min-height: 50px; font-family: var(--itk-font-heading); font-size: 1.12rem; font-weight: 600; }
.itk-nav-drawer__content .itk-nav-primary__list > li > a::before { content: "0" counter(menuitem); margin-right: 13px; color: var(--itk-color-burnished-copper); font: 600 .66rem/1 var(--itk-font-body); letter-spacing: .08em; }
.itk-nav-drawer__content .itk-nav-primary .sub-menu { grid-column: 1 / -1; padding: 0 0 10px 35px; margin: 0; }
.itk-nav-drawer__content .itk-nav-primary .sub-menu a { min-height: 38px; font-size: .88rem; }
.itk-nav-drawer__content .itk-nav-secondary { margin-top: 15px; padding-top: 15px; }
.itk-nav-drawer__content .itk-nav-secondary__list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 0; }
.itk-nav-drawer__content .itk-nav-secondary__list a { min-height: 42px; padding: 8px 10px; border: 1px solid rgba(32,36,42,.12); border-radius: 8px; background: rgba(255,255,255,.36); font-size: .76rem; }
.itk-nav-drawer__footer { position: sticky; bottom: 0; z-index: 3; padding: 10px 18px 14px; background: color-mix(in srgb, var(--itk-color-warm-ivory) 95%, transparent); border-top: 1px solid rgba(32,36,42,.12); }
.itk-nav-drawer__close-text { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--itk-color-deep-plum); border-radius: 999px; background: transparent; color: var(--itk-color-deep-plum); font: 600 .82rem/1 var(--itk-font-body); cursor: pointer; }

/* Cards now use separate semantic links and premium actions. */
.itk-guide-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--itk-color-white);
	border: 1px solid rgba(32,36,42,.11);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 180ms ease, border-color 180ms ease;
}
.itk-guide-card:hover { transform: translateY(-3px); border-color: rgba(159,79,50,.42); }
.itk-guide-card__media-link { display: block; color: inherit; text-decoration: none; }
.itk-guide-card__media { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--itk-color-soft-sage); }
.itk-guide-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 220ms ease; }
.itk-guide-card:hover .itk-guide-card__media img { transform: scale(1.025); }
.itk-guide-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.itk-guide-card__category { margin: 0 0 10px; font: 600 .67rem/1.2 var(--itk-font-body); letter-spacing: .11em; text-transform: uppercase; }
.itk-guide-card__category a { color: var(--itk-color-burnished-copper); text-decoration: none; }
.itk-guide-card h3 { margin: 0 0 11px; font-size: clamp(1.35rem,2.2vw,1.8rem); line-height: 1.16; }
.itk-guide-card h3 a { color: var(--itk-color-charcoal-ink); text-decoration: none; }
.itk-guide-card__excerpt { color: color-mix(in srgb, var(--itk-color-charcoal-ink) 76%, transparent); font-size: .94rem; line-height: 1.58; }
.itk-guide-card__footer { margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(32,36,42,.1); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.itk-guide-card__footer time { color: color-mix(in srgb, var(--itk-color-charcoal-ink) 62%, transparent); font-size: .72rem; }
.itk-guide-card__read-more { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 14px; border: 1px solid var(--itk-color-deep-plum); border-radius: 999px; color: var(--itk-color-deep-plum); font: 600 .75rem/1 var(--itk-font-body); text-decoration: none; transition: background 160ms ease,color 160ms ease,transform 160ms ease; }
.itk-guide-card__read-more:hover,.itk-guide-card__read-more:focus-visible { background: var(--itk-color-deep-plum); color: var(--itk-color-white); transform: translateX(2px); text-decoration: none; }
.itk-guide-card--compact { display: grid; grid-template-columns: 150px minmax(0,1fr); }
.itk-guide-card--compact .itk-guide-card__media { height: 100%; aspect-ratio: auto; }

/* Load more */
.itk-load-more-wrap { display: flex; flex-direction: column; align-items: center; margin-top: clamp(32px,5vw,56px); }
.itk-load-more { min-height: 50px; padding: 12px 24px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--itk-color-deep-plum); border-radius: 999px; background: var(--itk-color-deep-plum); color: var(--itk-color-white); font: 600 .82rem/1 var(--itk-font-body); letter-spacing: .04em; cursor: pointer; box-shadow: 0 8px 24px rgba(75,45,82,.16); }
.itk-load-more:hover { transform: translateY(-2px); }
.itk-load-more:disabled { opacity: .68; cursor: wait; transform: none; }
.itk-load-more__spinner { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: itk-spin .7s linear infinite; }
.itk-load-more.is-loading .itk-load-more__spinner { display: block; }
@keyframes itk-spin { to { transform: rotate(360deg); } }
.itk-guide-card--newly-loaded { animation: itk-card-in 240ms ease both; }
@keyframes itk-card-in { from { opacity:0; transform:translateY(10px); } }

/* Article and archive newspaper system */
.itk-home-shell,.itk-article-shell { width:min(100%,calc(var(--itk-shell-wide-editorial) + 2*var(--itk-gutter))); margin-inline:auto; padding-inline:var(--itk-gutter); }
.itk-legal-shell { width:min(100%,calc(var(--itk-shell-legal) + 2*var(--itk-gutter))); margin-inline:auto; padding-inline:var(--itk-gutter); }
.itk-breadcrumbs { margin-bottom: 26px; font-size:.72rem; }
.itk-breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.itk-breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:6px; opacity:.45; }
.itk-breadcrumbs a { color:inherit; }
.itk-article-hero,.itk-archive-hero,.itk-page-hero { padding:clamp(54px,8vw,104px) 0; background:var(--itk-color-warm-ivory); border-bottom:1px solid rgba(32,36,42,.1); }
.itk-article-hero h1,.itk-archive-hero h1,.itk-page-hero h1 { max-width:920px; font-size:clamp(2.6rem,7vw,5.4rem); line-height:.98; letter-spacing:-.035em; }
.itk-article-summary,.itk-archive-intro { max-width:760px; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.58; color:color-mix(in srgb,var(--itk-color-charcoal-ink) 76%,transparent); }
.itk-article-meta { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:28px; padding-top:18px; border-top:1px solid rgba(32,36,42,.12); font-size:.75rem; }
.itk-article-featured { width:min(100%,1200px); margin:0 auto; padding:clamp(28px,5vw,54px) var(--itk-gutter) 0; }
.itk-article-featured img { width:100%; max-height:680px; object-fit:cover; border-radius:16px; }
.itk-article-layout { padding-top:clamp(48px,7vw,88px); padding-bottom:30px; }
.itk-article-content { max-width:800px; margin-inline:auto; font-size:clamp(1rem,1.4vw,1.16rem); }
.itk-article-content > * { max-width:100%; }
.itk-article-content h2 { margin-top:2em; font-size:clamp(1.9rem,4vw,3rem); }
.itk-article-content h3 { margin-top:1.7em; font-size:clamp(1.45rem,3vw,2rem); }
.itk-article-content blockquote { margin:2rem 0; padding:24px 28px; border-left:4px solid var(--itk-color-burnished-copper); background:var(--itk-color-soft-sage); }
.itk-author-card { max-width:800px; margin:38px auto clamp(70px,9vw,120px); padding:26px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:22px; align-items:start; border:1px solid rgba(32,36,42,.12); border-radius:16px; background:var(--itk-color-white); }
.itk-author-card__avatar img { border-radius:50%; }
.itk-author-card h2 { font-size:1.6rem; margin-bottom:8px; }
.itk-author-card h2 a,.itk-text-link { color:var(--itk-color-charcoal-ink); }
.itk-archive-body { padding-top:clamp(48px,7vw,80px); padding-bottom:clamp(80px,10vw,130px); }
.itk-archive-count { margin-top:20px; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.itk-archive-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:24px; }
.navigation.pagination { margin-top:50px; }
.nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.page-numbers { min-width:42px; min-height:42px; display:grid; place-items:center; border:1px solid rgba(32,36,42,.14); border-radius:999px; color:var(--itk-color-charcoal-ink); text-decoration:none; }
.page-numbers.current { background:var(--itk-color-deep-plum); color:#fff; }
.itk-page-content { padding-top:clamp(48px,7vw,80px); padding-bottom:clamp(80px,10vw,130px); }
.itk-empty-state,.itk-not-found__inner { padding:clamp(50px,8vw,100px) 0; }
.itk-not-found { min-height:65vh; }

@media (min-width:680px) { .itk-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1024px) { .itk-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:639.98px) {
	.itk-guide-card--compact { display:flex; }
	.itk-guide-card__footer { align-items:flex-end; }
	.itk-author-card { grid-template-columns:1fr; }
	.itk-author-card__avatar img { width:80px; height:80px; }
}
@media (prefers-reduced-motion:reduce) { .itk-guide-card--newly-loaded { animation:none; } }

.itk-site-branding .custom-logo-link { display:block; line-height:0; }
.itk-site-branding .custom-logo { max-width:260px; object-fit:contain; }
@media (max-width:639.98px) {
	.itk-site-header__inner { gap:6px; }
	.itk-site-branding .custom-logo { max-width:150px; max-height:38px; }
	.itk-site-header__controls { gap:2px; }
	.itk-search-toggle { padding-inline:8px; }
}
@media (min-width:960px) and (max-width:1119.98px) {
	.itk-theme-toggle--header .itk-theme-toggle__text { display:none; }
	.itk-theme-toggle--header { padding-inline:8px; }
	.itk-nav-primary__list { gap:12px; }
	.itk-nav-primary .menu-item > a { font-size:.82rem; }
	.itk-site-branding .custom-logo { max-width:190px; }
	.itk-site-header__controls { gap:4px; }
}

.itk-resource-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:22px; }
.itk-resource-card { padding:26px; border:1px solid rgba(32,36,42,.12); border-radius:16px; background:var(--itk-color-white); }
.itk-resource-card h2 { font-size:clamp(1.5rem,3vw,2.15rem); }
.itk-resource-card h2 a { color:var(--itk-color-charcoal-ink); text-decoration:none; }
.itk-resource-card .itk-guide-card__read-more { margin-top:8px; }
.itk-glossary-list { margin:42px 0 0; }
.itk-glossary-term { padding:24px 0; border-top:1px solid rgba(32,36,42,.12); }
.itk-glossary-term dt { font:600 clamp(1.35rem,3vw,1.9rem)/1.2 var(--itk-font-heading); }
.itk-glossary-term dd { margin:10px 0 0; }
.itk-contact-card { margin-top:36px; padding:24px; background:var(--itk-color-soft-sage); border-radius:14px; }
@media (min-width:720px) { .itk-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media print {
	.itk-site-header,.itk-site-footer,.itk-breadcrumbs,.itk-resource-single .itk-button { display:none!important; }
	body { background:#fff!important; color:#000!important; font-size:12pt; }
	.itk-page-hero,.itk-page-content { padding:20px 0!important; }
}
.itk-article-related { padding:clamp(50px,7vw,84px) 0; background:var(--itk-color-soft-sage); }
.itk-article-related h2 { font-size:clamp(2rem,4vw,3.1rem); }
.itk-key-takeaways { margin:0 0 42px; padding:26px 28px; border:1px solid rgba(32,36,42,.12); border-radius:16px; background:var(--itk-color-soft-sage); }
.itk-key-takeaways h2 { margin-top:0; font-size:clamp(1.65rem,3vw,2.25rem); }
.itk-key-takeaways ul { margin:18px 0 0; padding-left:1.2em; }
.itk-key-takeaways li + li { margin-top:10px; }
.itk-article-note { margin:0 0 30px; padding:20px 22px; border-left:4px solid var(--itk-color-muted-blue); background:color-mix(in srgb,var(--itk-color-muted-blue) 9%,var(--itk-color-white)); }
.itk-article-note p { margin:7px 0 0; }
.itk-article-note--disclaimer { margin-top:42px; border-left-color:var(--itk-color-burnished-copper); background:color-mix(in srgb,var(--itk-color-burnished-copper) 8%,var(--itk-color-white)); }
[data-theme="dark"] .itk-key-takeaways,[data-theme="dark"] .itk-article-note { border-color:rgba(255,255,255,.11); background:#252A26; }
[data-theme="dark"] .itk-article-note--disclaimer { background:#2D2422; }
/** Visitor-selectable dark edition. */
:root[data-theme="dark"] {
	--itk-color-warm-ivory:#17151A;
	--itk-color-white:#FFFFFF;
	--itk-color-deep-plum:#C7A8CD;
	--itk-color-charcoal-ink:#F2EDE4;
	--itk-color-burnished-copper:#E09A78;
	--itk-color-soft-sage:#2C332D;
	--itk-color-muted-blue:#9DB6E8;
	--itk-color-muted-blue-body:#AFC2EA;
}
[data-theme="dark"] body { background:#17151A; color:#F2EDE4; }
[data-theme="dark"] .itk-site-header { background:#17151A; border-bottom-color:rgba(255,255,255,.1); }
[data-theme="dark"] .itk-home-hero,[data-theme="dark"] .itk-article-hero,[data-theme="dark"] .itk-archive-hero,[data-theme="dark"] .itk-page-hero { background:#17151A; }
[data-theme="dark"] .itk-site-footer { background:#2E1D33; }
[data-theme="dark"] .itk-nav-drawer { background:#19171B; border-left-color:rgba(255,255,255,.1); }
[data-theme="dark"] .itk-nav-drawer__header,[data-theme="dark"] .itk-nav-drawer__footer { background:rgba(25,23,27,.94); border-color:rgba(255,255,255,.11); }
[data-theme="dark"] .itk-nav-drawer__intro,[data-theme="dark"] .itk-nav-drawer__content .itk-nav-primary__list > li,[data-theme="dark"] .itk-nav-drawer__content .itk-nav-secondary,[data-theme="dark"] .itk-guide-card__footer { border-color:rgba(255,255,255,.11); }
[data-theme="dark"] .itk-nav-drawer__content .itk-nav-secondary__list a { background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.12); }
[data-theme="dark"] .itk-guide-card,[data-theme="dark"] .itk-author-card,[data-theme="dark"] .itk-search-panel { background:#211E24; border-color:rgba(255,255,255,.11); }
[data-theme="dark"] .itk-intent-card--copper,[data-theme="dark"] .itk-topic-card--copper { background:#33231F; }
[data-theme="dark"] .itk-intent-card--blue,[data-theme="dark"] .itk-topic-card--blue { background:#202936; }
[data-theme="dark"] .itk-intent-card--sage,[data-theme="dark"] .itk-topic-card--sage { background:#273029; }
[data-theme="dark"] .itk-intent-card--charcoal,[data-theme="dark"] .itk-topic-card--charcoal { background:#252428; }
[data-theme="dark"] .itk-intent-card--blue-plum,[data-theme="dark"] .itk-topic-card--blue-plum { background:#2B2430; }
[data-theme="dark"] .itk-editorial-trust__statement,[data-theme="dark"] .itk-article-content blockquote { background:#283029; }
[data-theme="dark"] img { filter:saturate(.92) brightness(.92); }
[data-theme="dark"] .itk-home-hero__visual img,[data-theme="dark"] .itk-guide-card__media--motif img { filter:invert(.88) sepia(.08) saturate(.7); }
[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select { color:#F2EDE4; background:#211E24; border-color:rgba(255,255,255,.2); }
[data-theme="dark"] .itk-site-branding .custom-logo { filter: invert(.9) sepia(.08) saturate(.7) brightness(1.15); }

[data-theme="dark"] .itk-digital-spotlight { background:#2E1D33; }
[data-theme="dark"] .itk-button--primary,
[data-theme="dark"] .itk-load-more,
[data-theme="dark"] .page-numbers.current { background:#C7A8CD; border-color:#C7A8CD; color:#17151A; }
[data-theme="dark"] .itk-guide-card__read-more { border-color:#C7A8CD; color:#C7A8CD; }
[data-theme="dark"] .itk-guide-card__read-more:hover,
[data-theme="dark"] .itk-guide-card__read-more:focus-visible { background:#C7A8CD; color:#17151A; }
[data-theme="dark"] .itk-nav-drawer__close-text { border-color:#C7A8CD; color:#C7A8CD; }
[data-theme="dark"] .itk-home-intents,
[data-theme="dark"] .itk-topic-hubs,
[data-theme="dark"] .itk-editorial-trust { background:#17151A; }
[data-theme="dark"] .itk-claims-steps a { background:rgba(33,30,36,.88); border-color:rgba(255,255,255,.12); }
[data-theme="dark"] .itk-claims-steps a:hover,
[data-theme="dark"] .itk-claims-steps a:focus-visible { background:#28242B; }
[data-theme="dark"] .itk-claims-step__number { background:#C7A8CD; color:#17151A; }
[data-theme="dark"] .itk-resource-card,
[data-theme="dark"] .itk-contact-card { background:#211E24; border-color:rgba(255,255,255,.11); }

/* -----------------------------------------------------------------------
 * Automation Build 1.1 — staging corrections
 * Dark-edition contrast, compact mobile header, and mobile search sheet.
 * ------------------------------------------------------------------- */

/* Keep the mobile masthead on one clean newspaper-style row. */
@media (max-width: 959.98px) {
	.itk-site-header__inner {
		min-height: 68px;
		padding-block: 8px;
		flex-wrap: nowrap;
		gap: 8px;
	}

	.itk-site-branding {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
	}

	.itk-site-branding .custom-logo-link {
		display: block;
		width: 100%;
		max-width: 240px;
		min-width: 0;
	}

	.itk-site-branding .custom-logo {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 44px;
		object-fit: contain;
		object-position: left center;
	}

	.itk-site-title {
		min-width: 0;
		font-size: clamp(1.05rem, 5vw, 1.45rem);
		line-height: 1.05;
	}

	.itk-site-title a {
		min-width: 0;
		max-width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.itk-site-title a::before {
		flex: 0 0 auto;
		width: 34px;
		height: 34px;
	}

	.itk-site-header__controls {
		flex: 0 0 auto;
		margin-left: auto;
		gap: 0;
	}

	.itk-theme-toggle--header,
	.itk-search-toggle,
	.itk-nav-drawer-trigger {
		width: 44px;
		min-width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 8px;
	}

	/* Compact mobile search card instead of a full-width oversized panel. */
	.itk-search-panel {
		position: fixed;
		top: max(12px, env(safe-area-inset-top));
		left: 12px;
		right: 12px;
		bottom: auto;
		width: auto;
		max-width: 520px;
		max-height: calc(100svh - 24px);
		margin: 0 auto;
		padding: 18px;
		border-radius: 18px;
		overflow: hidden;
		box-shadow: 0 20px 60px rgba(24, 20, 25, 0.24);
	}

	.itk-search-panel__inner {
		position: relative;
		display: block;
		width: 100%;
	}

	.itk-search-panel__close {
		position: absolute;
		top: -7px;
		right: -7px;
		z-index: 2;
		margin: 0;
		border: 1px solid rgba(32, 36, 42, 0.12);
		background: var(--itk-color-warm-ivory);
		border-radius: 999px;
	}

	.itk-search-form {
		width: 100%;
		min-width: 0;
	}

	.itk-search-form__label {
		padding-right: 48px;
		font-weight: 650;
	}

	.itk-search-form__row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 52px;
		gap: 10px;
		width: 100%;
	}

	.itk-search-form__input {
		width: 100%;
		min-width: 0;
		min-height: 52px;
		font-size: 1rem;
	}

	.itk-search-form__submit {
		width: 52px;
		min-width: 52px;
		min-height: 52px;
	}
}

@media (max-width: 420px) {
	.itk-site-branding .custom-logo-link {
		max-width: 185px;
	}

	.itk-site-header__inner {
		padding-inline: 16px;
	}
}

/* Complete dark-edition contrast map. The light palette aliases are used by
 * several legacy components for both surfaces and text, so dark mode sets
 * explicit readable foregrounds rather than relying on those dual-use aliases.
 */
[data-theme="dark"] body,
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-site-title a,
[data-theme="dark"] .itk-nav-primary .menu-item > a,
[data-theme="dark"] .itk-nav-primary .sub-menu a,
[data-theme="dark"] .itk-nav-secondary__list a,
[data-theme="dark"] .itk-search-toggle,
[data-theme="dark"] .itk-nav-drawer-trigger,
[data-theme="dark"] .itk-theme-toggle,
[data-theme="dark"] .itk-nav-drawer__brand,
[data-theme="dark"] .itk-submenu-toggle {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-home-hero__support,
[data-theme="dark"] .itk-home-hero__assurance,
[data-theme="dark"] .itk-section-heading--split > p,
[data-theme="dark"] .itk-intent-card p,
[data-theme="dark"] .itk-guide-card__excerpt,
[data-theme="dark"] .itk-guide-card__meta,
[data-theme="dark"] .itk-guide-card__footer time,
[data-theme="dark"] .itk-topic-card p,
[data-theme="dark"] .itk-topic-card__top span,
[data-theme="dark"] .itk-article-summary,
[data-theme="dark"] .itk-archive-intro,
[data-theme="dark"] .itk-article-meta,
[data-theme="dark"] .itk-nav-drawer__intro p:last-child,
[data-theme="dark"] .itk-footer-brand__description,
[data-theme="dark"] .itk-footer-disclaimer {
	color: #CFC8D2;
}

[data-theme="dark"] .itk-home-hero,
[data-theme="dark"] .itk-home-hero__assurance,
[data-theme="dark"] .itk-trust-points,
[data-theme="dark"] .itk-trust-points li,
[data-theme="dark"] .itk-guide-card,
[data-theme="dark"] .itk-guide-card__link,
[data-theme="dark"] .itk-guide-card__footer,
[data-theme="dark"] .itk-author-card,
[data-theme="dark"] .itk-resource-card,
[data-theme="dark"] .itk-search-panel {
	border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .itk-guide-card,
[data-theme="dark"] .itk-guide-card__link,
[data-theme="dark"] .itk-author-card,
[data-theme="dark"] .itk-resource-card,
[data-theme="dark"] .itk-contact-card,
[data-theme="dark"] .itk-search-panel,
[data-theme="dark"] .itk-nav-primary .sub-menu {
	background: #211E24;
	color: #F2EDE4;
}

[data-theme="dark"] .itk-intent-card,
[data-theme="dark"] .itk-topic-card,
[data-theme="dark"] .itk-editorial-trust__intro,
[data-theme="dark"] .itk-claims-steps a {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-home-hero__assurance {
	border-top-color: rgba(255, 255, 255, 0.14);
}

[data-theme="dark"] .itk-trust-points,
[data-theme="dark"] .itk-trust-points li {
	border-color: rgba(255, 255, 255, 0.14);
}

[data-theme="dark"] .itk-search-form__label {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-search-panel__close {
	color: #F2EDE4;
	background: #2B2730;
	border-color: rgba(255, 255, 255, 0.14);
}

[data-theme="dark"] .itk-site-footer {
	background: #2E1D33;
	color: #F2EDE4;
}

[data-theme="dark"] .itk-site-footer a,
[data-theme="dark"] .itk-footer-menu-group__toggle,
[data-theme="dark"] .itk-footer-brand__title,
[data-theme="dark"] .itk-footer-brand__tagline,
[data-theme="dark"] .itk-footer-brand__trust {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-site-footer a:hover,
[data-theme="dark"] .itk-site-footer a:focus {
	color: #FFFFFF;
}

[data-theme="dark"] .itk-footer-menus,
[data-theme="dark"] .itk-footer-menu-group,
[data-theme="dark"] .itk-footer-bottom {
	border-color: rgba(242, 237, 228, 0.18);
}

[data-theme="dark"] .itk-digital-spotlight,
[data-theme="dark"] .itk-digital-card a {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-guide-card h3 a,
[data-theme="dark"] .itk-resource-card h2 a,
[data-theme="dark"] .itk-author-card h2 a,
[data-theme="dark"] .itk-text-link,
[data-theme="dark"] .page-numbers {
	color: #F2EDE4;
}

[data-theme="dark"] .itk-home-hero::after,
[data-theme="dark"] .itk-home-hero__visual::before {
	border-color: rgba(224, 154, 120, 0.24);
}

[data-theme="dark"] .itk-site-header--sticky {
	background-color: rgba(23, 21, 26, 0.96);
}

/* Automation Build 1.2 — defensive responsive content containment.
 * Long official-source URLs, wide tables and third-party embeds must never
 * enlarge the page viewport on phones. Tables remain horizontally scrollable
 * inside their own box rather than forcing the complete page to scroll. */
.itk-article-shell,
.itk-article-layout,
.itk-article-content,
.itk-article-content.entry-content,
.itk-article-content.entry-content > *,
.itk-article-content.entry-content li,
.itk-page-content,
.itk-legal-shell {
	min-width: 0;
}

.itk-article-content.entry-content p,
.itk-article-content.entry-content li,
.itk-article-content.entry-content dd,
.itk-article-content.entry-content figcaption,
.itk-article-content.entry-content a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.itk-article-content.entry-content a[href^="http"],
.itk-article-content.entry-content a[href^="mailto:"],
.itk-article-content.entry-content a[href^="tel:"] {
	max-width: 100%;
}

.itk-article-content.entry-content img,
.itk-article-content.entry-content picture,
.itk-article-content.entry-content svg,
.itk-article-content.entry-content video,
.itk-article-content.entry-content canvas,
.itk-article-content.entry-content iframe,
.itk-article-content.entry-content embed,
.itk-article-content.entry-content object,
.itk-page-content img,
.itk-page-content picture,
.itk-page-content video,
.itk-page-content iframe {
	max-width: 100%;
	height: auto;
}

.itk-article-content.entry-content figure,
.itk-page-content figure,
.itk-article-featured {
	max-width: 100%;
	min-width: 0;
}

.itk-article-content.entry-content table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	border-collapse: collapse;
}

.itk-article-content.entry-content th,
.itk-article-content.entry-content td {
	min-width: 9rem;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.itk-article-content.entry-content pre {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	white-space: pre;
}

.itk-article-content.entry-content :not(pre) > code {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.itk-article-content.entry-content ul,
.itk-article-content.entry-content ol {
	max-width: 100%;
	padding-left: clamp(1.2rem, 5vw, 2rem);
}

@media (max-width: 639.98px) {
	html,
	body {
		max-width: 100%;
		overflow-x: clip;
	}

	.itk-article-shell,
	.itk-legal-shell {
		width: 100%;
		max-width: 100%;
	}

	.itk-article-content.entry-content {
		width: 100%;
		font-size: 1rem;
	}

	.itk-article-content.entry-content blockquote,
	.itk-key-takeaways,
	.itk-article-note {
		max-width: 100%;
		padding: 20px 18px;
	}

	.itk-article-content.entry-content th,
	.itk-article-content.entry-content td {
		min-width: 8rem;
	}
}


/* Foundation Update 2 — balanced four-group footer and native contact form. */
@media (min-width: 1100px) {
	.itk-footer-menus {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.itk-contact-form {
	margin-top: clamp(1.75rem, 4vw, 3rem);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	border: 1px solid rgba(32, 36, 42, 0.14);
	border-radius: 24px;
	background: var(--wp--preset--color--white, #fffdf8);
	box-shadow: 0 18px 48px rgba(32, 36, 42, 0.07);
}

.itk-contact-form__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 700px) {
	.itk-contact-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.itk-contact-form__field { margin: 0 0 1rem; }
.itk-contact-form__field label { display: block; margin-bottom: 0.45rem; font-weight: 700; }
.itk-contact-form input[type="text"],
.itk-contact-form input[type="email"],
.itk-contact-form textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(32, 36, 42, 0.28);
	border-radius: 12px;
	background: #fff;
	color: #20242a;
	font: inherit;
}
.itk-contact-form textarea { resize: vertical; min-height: 11rem; }
.itk-contact-form input:focus,
.itk-contact-form textarea:focus { outline: 3px solid rgba(79, 45, 85, 0.2); border-color: #4f2d55; }
.itk-contact-form__consent { font-size: 0.94rem; }
.itk-contact-form__consent label { display: flex; align-items: flex-start; gap: 0.65rem; }
.itk-contact-form__consent input { margin-top: 0.28rem; flex: 0 0 auto; }
.itk-contact-form__actions { margin: 1.25rem 0 0.75rem; }
.itk-contact-form__note { margin: 0; font-size: 0.9rem; color: #5e5c62; }
.itk-contact-form__honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.itk-form-notice { margin: 1rem 0; padding: 1rem 1.1rem; border-radius: 12px; }
.itk-form-notice--success { background: #e4efe3; border-left: 4px solid #6f856f; }
.itk-form-notice--error { background: #f7e7e1; border-left: 4px solid #a65d3b; }

[data-theme="dark"] .itk-contact-form {
	background: #211e24;
	border-color: rgba(255,255,255,0.14);
	color: #f2ede4;
}
[data-theme="dark"] .itk-contact-form input[type="text"],
[data-theme="dark"] .itk-contact-form input[type="email"],
[data-theme="dark"] .itk-contact-form textarea {
	background: #17151a;
	border-color: rgba(255,255,255,0.22);
	color: #f2ede4;
}
[data-theme="dark"] .itk-contact-form__note { color: #cfc8d2; }


/* -----------------------------------------------------------------------
 * Homepage Polish 0.3.4 — balanced featured editorial grid.
 * Prevents supporting guides from becoming narrow, tall text columns at
 * tablet/small-desktop widths while preserving the one-main/two-support
 * newspaper hierarchy on genuinely wide screens.
 * ------------------------------------------------------------------- */
.itk-featured-layout {
	gap: clamp(22px, 2.4vw, 32px);
}

.itk-featured-layout__support {
	gap: clamp(18px, 2vw, 24px);
}

.itk-featured-layout .itk-guide-card {
	isolation: isolate;
}

.itk-featured-layout .itk-guide-card h3 {
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.itk-featured-layout__support .itk-guide-card__category {
	font-size: 0.64rem;
	line-height: 1.35;
}

.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__body {
	padding: clamp(18px, 1.7vw, 24px);
}

.itk-featured-layout__support .itk-guide-card--compact h3 {
	font-size: clamp(1.12rem, 1.48vw, 1.38rem);
	line-height: 1.13;
}

.itk-featured-layout__support .itk-guide-card__footer {
	justify-content: flex-end;
	padding-top: 14px;
}

.itk-featured-layout__support .itk-guide-card__footer time {
	display: none;
}

.itk-featured-layout__support .itk-guide-card__read-more {
	min-height: 36px;
	padding: 7px 12px;
	white-space: nowrap;
}

.itk-guide-card--featured .itk-guide-card__excerpt {
	max-width: 64ch;
}

/* Mobile: supporting guides become clean vertical cards, never squeezed rows. */
@media (max-width: 639.98px) {
	.itk-featured-layout__support .itk-guide-card--compact {
		display: flex;
		flex-direction: column;
	}

	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media-link {
		width: 100%;
	}

	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media {
		height: auto;
		aspect-ratio: 16 / 9;
	}
}

/* Small tablet: full-width horizontal newspaper teasers. */
@media (min-width: 640px) and (max-width: 839.98px) {
	.itk-featured-layout__support .itk-guide-card--compact {
		grid-template-columns: minmax(180px, 38%) minmax(0, 1fr);
	}

	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media-link,
	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media {
		height: 100%;
	}
}

/* Tablet / small desktop: main story first, two balanced support cards below. */
@media (min-width: 840px) and (max-width: 1179.98px) {
	.itk-featured-layout {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.itk-featured-layout__support {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.itk-featured-layout__support .itk-guide-card--compact {
		display: flex;
		flex-direction: column;
	}

	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media-link {
		width: 100%;
	}

	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.itk-featured-layout__support .itk-guide-card--compact h3 {
		font-size: clamp(1.28rem, 2.2vw, 1.7rem);
	}
}

/* Wide desktop: preserve the premium one-main/two-support editorial hierarchy. */
@media (min-width: 1180px) {
	.itk-featured-layout {
		grid-template-columns: minmax(0, 1.32fr) minmax(430px, 0.82fr);
		align-items: stretch;
	}

	.itk-featured-layout__support .itk-guide-card--compact {
		grid-template-columns: minmax(168px, 42%) minmax(0, 1fr);
	}

	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media-link,
	.itk-featured-layout__support .itk-guide-card--compact .itk-guide-card__media {
		height: 100%;
	}

	.itk-guide-card--featured h3 {
		font-size: clamp(2rem, 3.2vw, 2.75rem);
	}
}

/* -----------------------------------------------------------------------
 * v0.3.5 — Mobile navigation first-paint stability
 * -----------------------------------------------------------------------
 * The server-rendered navigation remains available to true no-JS visitors.
 * During the short JavaScript enhancement window, the in-header mobile
 * menus are suppressed and the future hamburger slot is reserved at its
 * final size. This prevents the menu flash and header-width jump visible on
 * cold page loads while keeping the drawer markup and desktop navigation
 * unchanged.
 */

[hidden] {
	display: none !important;
}

@media (max-width: 959.98px) {
	html.itk-nav-pending .itk-site-header__inner > .itk-nav-primary,
	html.itk-nav-pending .itk-site-header > .itk-nav-secondary {
		display: none;
	}

	html.itk-nav-pending .itk-nav-drawer-trigger-slot {
		display: inline-flex;
	}
}



/* -----------------------------------------------------------------------
 * v0.3.6 — Pixel-stable hamburger hydration
 * -----------------------------------------------------------------------
 * The server-rendered placeholder and the enhanced button deliberately use
 * identical 44×44 geometry and the same SVG. JavaScript replaces one node
 * with the other in place, so the first cold visit no longer shows the icon
 * settling into position even though the functional control remains gated on
 * successful navigation enhancement.
 */
