/* ==========================================================================
   trust-center.css — the Trust Center's own components.

   Loads AFTER wm-brand.css and is scoped under the same .wm-trust root, so it
   composes with the design system rather than restating it. Nothing here
   redeclares a brand class, and no value is hard-coded that has a token.

   What lives here is only what the design system has no component for: the
   section sub-navigation, the document header, the table of contents, the
   long-form document type, the register tables, the update timeline and the
   sub-processor controls.
   ========================================================================== */

.wm-trust {
	/* The sticky sub-navigation is this page's chrome, so anchor targets clear
	   it rather than the theme header, which does not stick on this site. */
	--wm-nav-h: 57px;
	--wmtc-rail: var(--wm-ui-gray-200);
}

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

/* The design system caps every paragraph at the 720px measure. Correct for
   running text, wrong inside a component whose own width is the constraint. */
.wm-trust .wmtc-card p,
.wm-trust .wmtc-panel p,
.wm-trust .wmtc-banner p,
.wm-trust .wmtc-region p,
.wm-trust .wmtc-defs p,
.wm-trust .wmtc-timeline p,
.wm-trust .wmtc-index p,
.wm-trust .wmtc-table p,
.wm-trust .wmtc-empty p { max-width: none; }

.wm-trust .wmtc-tabular { font-variant-numeric: tabular-nums; }

/* ==========================================================================
   Section sub-navigation
   The Trust Center is five pages that belong together, so the way between
   them is present on all of them. Sticky because the register pages are long.
   ========================================================================== */

.wm-trust .wmtc-subnav {
	position: sticky;
	top: 0;
	z-index: var(--wm-z-sticky);
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--wm-ui-gray-200);
}
.wm-trust .wmtc-subnav__inner {
	display: flex;
	align-items: center;
	gap: var(--wm-space-3xl);
	min-height: 56px;
}
.wm-trust .wmtc-subnav__list {
	display: flex;
	align-items: center;
	gap: var(--wm-space-xxs);
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.wm-trust .wmtc-subnav__list::-webkit-scrollbar { display: none; }
.wm-trust .wmtc-subnav__item { flex: none; }
.wm-trust .wmtc-subnav__item--end { margin-inline-start: auto; }
.wm-trust .wmtc-subnav__link {
	display: block;
	padding: 18px var(--wm-space-lg);
	font: var(--wm-weight-semibold) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-grey);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color var(--wm-duration-fast) var(--wm-ease),
	            border-color var(--wm-duration-fast) var(--wm-ease);
}
.wm-trust .wmtc-subnav__link:hover { color: var(--wm-night); text-decoration: none; }
.wm-trust .wmtc-subnav__item.is-active .wmtc-subnav__link {
	color: var(--wm-dusk);
	border-bottom-color: var(--wm-sky);
}

/* ==========================================================================
   Heroes
   Two: the gradient opener on the overview, and a Sky 50 band on every other
   page. Only --wm-gradient-dark may carry text, so the overview uses that one.
   ========================================================================== */

.wm-trust .wmtc-hero { position: relative; }
.wm-trust .wmtc-hero__body { display: flex; flex-direction: column; }

.wm-trust .wmtc-hero--dark {
	background: var(--wm-gradient-dark);
	padding-block: var(--wm-section-y-lg) 0;
}
.wm-trust .wmtc-hero--dark .wmtc-hero__body { max-width: 900px; }

.wm-trust .wmtc-hero--tint {
	background: var(--wm-sky-50);
	border-bottom: 1px solid var(--wm-sky-100);
	padding-block: var(--wm-space-8xl) var(--wm-section-y);
}
.wm-trust .wmtc-hero--tint .wmtc-hero__body { max-width: 860px; }

.wm-trust .wmtc-hero__eyebrow { margin: 0 0 var(--wm-stack-eyebrow); }
.wm-trust .wmtc-hero__title { margin: 0; }
.wm-trust .wmtc-hero__lead { margin: var(--wm-stack-heading) 0 0; }

/* One Sun per section. Where the headline carries the accent, the eyebrow
   steps back to the body colour — the same rule the design system enforces on
   its own dark section headers. */
.wm-trust .wmtc-hero--dark:has(.wm-accent) .wmtc-hero__eyebrow { color: var(--wm-text-body-on-dark); }

.wm-trust .wmtc-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wm-space-md);
	margin-top: var(--wm-space-4xl);
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.wm-trust .wmtc-crumbs { margin-bottom: var(--wm-space-xl); }
.wm-trust .wmtc-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-md);
	margin: 0;
	padding: 0;
	list-style: none;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
}
.wm-trust .wmtc-crumbs li { display: inline-flex; align-items: center; gap: var(--wm-space-md); }
.wm-trust .wmtc-crumbs a { color: var(--wm-text-link); text-decoration: none; }
.wm-trust .wmtc-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.wm-trust .wmtc-crumbs svg { width: 14px; height: 14px; color: var(--wm-ui-gray-400); }
.wm-trust .wmtc-crumbs [aria-current] { color: var(--wm-text-descriptor); font-weight: var(--wm-weight-semibold); }

/* ==========================================================================
   Statistics strip — overview hero only. Figures on dark are Sky light.
   ========================================================================== */

.wm-trust .wmtc-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wm-gap-cards);
	margin-top: var(--wm-space-7xl);
	padding-top: var(--wm-space-4xl);
	border-top: 1px solid var(--wm-border-on-dark);
	max-width: 760px;
}
.wm-trust .wmtc-stat { display: flex; flex-direction: column; gap: var(--wm-space-xs); min-width: 0; }
.wm-trust .wmtc-stat__num {
	font: var(--wm-weight-bold) var(--wm-numbers-xl)/var(--wm-numbers-xl-lh) var(--wm-font);
	letter-spacing: var(--wm-track-display);
	color: var(--wm-text-stat-on-dark);
	font-variant-numeric: tabular-nums;
}
.wm-trust .wmtc-stat__label {
	margin: 0;
	font: var(--wm-weight-semibold) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body-on-dark);
	max-width: none;
}
.wm-trust .wmtc-hero__note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-lg);
	margin: var(--wm-space-3xl) 0 0;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body-on-dark);
	max-width: none;
}

/* ==========================================================================
   Section header — thin wrapper giving the design system's type the stack
   rhythm the layout spec asks for.
   ========================================================================== */

.wm-trust .wmtc-head { margin-bottom: var(--wm-section-header-gap); max-width: 900px; }
.wm-trust .wmtc-head__eyebrow { margin: 0 0 var(--wm-stack-eyebrow); }
.wm-trust .wmtc-head__title { margin: 0; }
.wm-trust .wmtc-head__sub {
	margin: var(--wm-stack-heading) 0 0;
	color: var(--wm-text-descriptor);
	max-width: var(--wm-paragraph-max);
}

/* ==========================================================================
   Pillar card — one per Trust Center section on the overview.
   ========================================================================== */

.wm-trust .wmtc-pillar { position: relative; gap: var(--wm-space-xl); }
.wm-trust .wmtc-pillar__title { margin: 0; }
.wm-trust .wmtc-pillar__title a { color: var(--wm-text-heading); text-decoration: none; }
.wm-trust .wmtc-pillar__title a::after { content: ""; position: absolute; inset: 0; }
.wm-trust .wmtc-pillar:hover .wmtc-pillar__title a { color: var(--wm-sky-700); }
.wm-trust .wmtc-pillar__text { margin: 0; color: var(--wm-text-body); }
.wm-trust .wmtc-pillar__list {
	display: grid;
	gap: var(--wm-space-md);
	margin: 0;
	padding: var(--wm-space-xl) 0 0;
	border-top: 1px solid var(--wm-ui-gray-200);
	list-style: none;
	width: 100%;
}
.wm-trust .wmtc-pillar__list li {
	display: flex;
	align-items: flex-start;
	gap: var(--wm-space-md);
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
}
.wm-trust .wmtc-pillar__list svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--wm-sky); }
.wm-trust .wmtc-pillar__more { padding-left: calc(16px + var(--wm-space-md)); color: var(--wm-text-descriptor); }
.wm-trust .wmtc-pillar__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wm-space-lg);
	width: 100%;
	margin-top: auto;
	padding-top: var(--wm-space-xl);
}
.wm-trust .wmtc-pillar__count {
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
}

/* ==========================================================================
   Document register — a row list, not a card grid. A register answers
   "what exists and when did it change", and rows compare where cards do not.
   ========================================================================== */

.wm-trust .wmtc-index {
	border: 1px solid var(--wm-ui-gray-200);
	border-radius: var(--wm-radius-card-lg);
	background: var(--wm-white);
	overflow: hidden;
}
.wm-trust .wmtc-index__group {
	display: flex;
	align-items: baseline;
	gap: var(--wm-space-lg);
	padding: var(--wm-space-lg) var(--wm-space-3xl);
	background: var(--wm-sky-50);
	border-bottom: 1px solid var(--wm-sky-100);
}
.wm-trust .wmtc-index__group + .wmtc-index__row { border-top: 0; }
.wm-trust .wmtc-index__group-title {
	margin: 0;
	font: var(--wm-weight-bold) var(--wm-eyebrow-xs)/var(--wm-eyebrow-xs-lh) var(--wm-font);
	letter-spacing: var(--wm-track-eyebrow);
	text-transform: uppercase;
	color: var(--wm-dusk);
}
.wm-trust .wmtc-index__group-note {
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
}
.wm-trust .wmtc-index__row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 160px 132px;
	align-items: center;
	gap: var(--wm-space-3xl);
	padding: var(--wm-space-xl) var(--wm-space-3xl);
	border-top: 1px solid var(--wm-ui-gray-200);
	transition: background var(--wm-duration-fast) var(--wm-ease);
}
.wm-trust .wmtc-index__row:first-child { border-top: 0; }
.wm-trust .wmtc-index__row:hover { background: var(--wm-sky-25); }
.wm-trust .wmtc-index__title {
	margin: 0;
	font: var(--wm-weight-bold) var(--wm-text-lg)/var(--wm-text-lg-lh) var(--wm-font);
	letter-spacing: var(--wm-track-mid);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-index__title a { color: inherit; text-decoration: none; }
.wm-trust .wmtc-index__title a::after { content: ""; position: absolute; inset: 0; }
.wm-trust .wmtc-index__row:hover .wmtc-index__title a { color: var(--wm-sky-700); }
.wm-trust .wmtc-index__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-md) var(--wm-space-lg);
	margin: var(--wm-space-sm) 0 0;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
	max-width: none;
}
.wm-trust .wmtc-index__date {
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
	font-variant-numeric: tabular-nums;
}
.wm-trust .wmtc-index__date span {
	display: block;
	font-size: var(--wm-text-xs);
	line-height: var(--wm-text-xs-lh);
	color: var(--wm-text-descriptor);
}
.wm-trust .wmtc-index__action { position: relative; z-index: 1; justify-self: end; display: flex; gap: var(--wm-space-md); }

/* ==========================================================================
   Document header
   ========================================================================== */

.wm-trust .wmtc-docmeta {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wm-space-4xl);
	margin-top: var(--wm-space-5xl);
	padding-top: var(--wm-space-3xl);
	border-top: 1px solid var(--wm-sky-200);
}
.wm-trust .wmtc-facts { display: flex; flex-wrap: wrap; gap: var(--wm-space-lg) var(--wm-space-7xl); }
.wm-trust .wmtc-facts > div { display: flex; flex-direction: column; gap: var(--wm-space-xs); }
.wm-trust .wmtc-facts dt {
	font: var(--wm-weight-bold) var(--wm-eyebrow-2xs)/var(--wm-eyebrow-2xs-lh) var(--wm-font);
	letter-spacing: var(--wm-track-eyebrow);
	text-transform: uppercase;
	color: var(--wm-text-descriptor);
}
.wm-trust .wmtc-facts dd {
	margin: 0;
	font: var(--wm-weight-semibold) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
	color: var(--wm-text-body);
	font-variant-numeric: tabular-nums;
}
.wm-trust .wmtc-facts dd a { color: var(--wm-text-link); text-decoration: none; }
.wm-trust .wmtc-facts dd a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   Status banners
   ========================================================================== */

.wm-trust .wmtc-banner {
	display: flex;
	align-items: flex-start;
	gap: var(--wm-space-lg);
	padding: var(--wm-space-xl) var(--wm-space-3xl);
	border: 1px solid;
	border-radius: var(--wm-radius-card);
	font: var(--wm-weight-medium) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
	color: var(--wm-text-body);
}
.wm-trust .wmtc-banner + .wmtc-banner { margin-top: var(--wm-space-lg); }
.wm-trust .wmtc-banner + .wmtc-doc,
.wm-trust .wmtc-banner + .wmtc-pdfpanel,
.wm-trust .wmtc-banner + .wmtc-empty,
.wm-trust .wmtc-banner + .wmtc-prose { margin-top: var(--wm-space-7xl); }
.wm-trust .wmtc-banner p { margin: 0; max-width: none; }
.wm-trust .wmtc-banner strong { font-weight: var(--wm-weight-bold); color: var(--wm-night); }
.wm-trust .wmtc-banner a { color: inherit; text-decoration: underline; text-underline-offset: 3px; font-weight: var(--wm-weight-semibold); }
.wm-trust .wmtc-banner svg { width: 20px; height: 20px; flex: none; margin-top: 2px; }
.wm-trust .wmtc-banner--scheduled { background: var(--wm-status-warning-25); border-color: var(--wm-status-warning-100); }
.wm-trust .wmtc-banner--scheduled svg { color: var(--wm-status-warning-700); }
.wm-trust .wmtc-banner--superseded { background: var(--wm-ui-gray-25); border-color: var(--wm-ui-gray-200); }
.wm-trust .wmtc-banner--superseded svg { color: var(--wm-grey); }
.wm-trust .wmtc-banner--info { background: var(--wm-sky-50); border-color: var(--wm-sky-200); }
.wm-trust .wmtc-banner--info svg { color: var(--wm-sky-700); }

.wm-trust .wmtc-empty {
	display: flex;
	align-items: flex-start;
	gap: var(--wm-space-lg);
	padding: var(--wm-space-5xl) var(--wm-space-4xl);
	border: 1px dashed var(--wm-ui-gray-300);
	border-radius: var(--wm-radius-card-lg);
	color: var(--wm-text-descriptor);
	font: var(--wm-weight-medium) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
}
.wm-trust .wmtc-empty svg { width: 22px; height: 22px; flex: none; color: var(--wm-ui-gray-400); }

/* ==========================================================================
   Document body — contents rail beside the text
   ========================================================================== */

.wm-trust .wmtc-doc {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wm-space-7xl);
	align-items: start;
}
.wm-trust .wmtc-doc--toc { grid-template-columns: 248px minmax(0, 1fr); }
.wm-trust .wmtc-doc__aside { position: sticky; top: calc(var(--wm-nav-h) + var(--wm-space-4xl)); }
.wm-trust .wmtc-doc__main { min-width: 0; }

.wm-trust .wmtc-toc__title {
	margin: 0 0 var(--wm-space-lg);
	padding-inline: var(--wm-space-lg);
	font: var(--wm-weight-bold) var(--wm-eyebrow-2xs)/var(--wm-eyebrow-2xs-lh) var(--wm-font);
	letter-spacing: var(--wm-track-eyebrow);
	text-transform: uppercase;
	color: var(--wm-text-descriptor);
}
.wm-trust .wmtc-toc__list { margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--wm-ui-gray-200); }
.wm-trust .wmtc-toc__item a {
	display: block;
	margin-left: -2px;
	padding: var(--wm-space-sm) var(--wm-space-lg);
	border-left: 2px solid transparent;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-grey);
	text-decoration: none;
	transition: color var(--wm-duration-fast) var(--wm-ease),
	            border-color var(--wm-duration-fast) var(--wm-ease);
}
.wm-trust .wmtc-toc__item a:hover { color: var(--wm-night); }
.wm-trust .wmtc-toc__item--l3 a { padding-left: var(--wm-space-3xl); }
.wm-trust .wmtc-toc__item.is-active a {
	color: var(--wm-dusk);
	font-weight: var(--wm-weight-semibold);
	border-left-color: var(--wm-sky);
}

/* ==========================================================================
   Long-form document type.
   A policy runs to sixteen headings, so the section headline size is Display
   sm rather than lg, and each h2 opens on a hairline so the structure is
   visible while scrolling.
   ========================================================================== */

.wm-trust .wmtc-prose {
	font: var(--wm-weight-regular) var(--wm-text-lg)/var(--wm-text-lg-lh) var(--wm-font);
	color: var(--wm-text-body);
}
.wm-trust .wmtc-prose > * + * { margin-top: 1.1em; }
/* The reading measure caps the text, not the block: an embedded register
   needs the column, and a block-level cap would hold it to 720px too. */
.wm-trust .wmtc-prose > :is(p, ul, ol, h3, h4, blockquote, figcaption, dl) { max-width: var(--wm-paragraph-max); }
.wm-trust .wmtc-doc__main .wmtc-prose > h2 { max-width: var(--wm-paragraph-max); }
.wm-trust .wmtc-prose > h2 {
	margin: 2.2em 0 0;
	font: var(--wm-weight-bold) var(--wm-display-sm)/var(--wm-display-sm-lh) var(--wm-font);
	letter-spacing: var(--wm-track-display);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-doc__main .wmtc-prose > h2 {
	padding-top: var(--wm-space-3xl);
	border-top: 1px solid var(--wm-ui-gray-200);
}
.wm-trust .wmtc-prose > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.wm-trust .wmtc-prose > h2 + * { margin-top: var(--wm-space-xl); }
.wm-trust .wmtc-prose h3 {
	margin: 1.9em 0 0;
	font: var(--wm-weight-semibold) var(--wm-text-xl)/var(--wm-text-xl-lh) var(--wm-font);
	letter-spacing: var(--wm-track-mid);
	color: var(--wm-dusk);
}
.wm-trust .wmtc-prose h3 + * { margin-top: var(--wm-space-md); }
.wm-trust .wmtc-prose h4 {
	margin: 1.6em 0 0;
	font: var(--wm-weight-bold) var(--wm-text-lg)/var(--wm-text-lg-lh) var(--wm-font);
	color: var(--wm-night);
}
.wm-trust .wmtc-prose p { margin-bottom: 0; }
.wm-trust .wmtc-prose :where(p, li, dd, dt, td, th, blockquote, figcaption) a {
	color: var(--wm-text-link);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wm-trust .wmtc-prose :where(p, li, dd, dt, td, th, blockquote, figcaption) a:hover { color: var(--wm-text-link-hover); }
.wm-trust .wmtc-prose ul,
.wm-trust .wmtc-prose ol { display: grid; gap: var(--wm-space-md); padding-left: 1.35em; }
.wm-trust .wmtc-prose ul { list-style: disc; }
.wm-trust .wmtc-prose ol { list-style: decimal; }
.wm-trust .wmtc-prose li::marker { color: var(--wm-sky); font-weight: var(--wm-weight-bold); }
.wm-trust .wmtc-prose li > ul,
.wm-trust .wmtc-prose li > ol { margin-top: var(--wm-space-md); }
.wm-trust .wmtc-prose strong { font-weight: var(--wm-weight-bold); color: var(--wm-text-heading); }
.wm-trust .wmtc-prose blockquote {
	padding-left: var(--wm-space-3xl);
	border-left: 3px solid var(--wm-sky);
	color: var(--wm-text-descriptor);
}
.wm-trust .wmtc-prose img { max-width: 100%; height: auto; border-radius: var(--wm-radius-media); }
.wm-trust .wmtc-prose figcaption {
	margin-top: var(--wm-space-md);
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-muted);
}
.wm-trust .wmtc-prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--wm-space-lg); }
.wm-trust .wmtc-prose .wp-block-button__link {
	display: inline-flex;
	padding: 11px 18px;
	border-radius: var(--wm-radius-btn);
	background: var(--wm-sun);
	color: var(--wm-night);
	font: var(--wm-weight-semibold) 16px/22px var(--wm-font);
	text-decoration: none;
}
.wm-trust .wmtc-prose .wp-block-button__link:hover { background: var(--wm-btn-sun-hover); color: var(--wm-night); }
.wm-trust .wmtc-prose .wp-block-separator { border: 0; border-top: 1px solid var(--wm-ui-gray-200); margin-block: var(--wm-space-6xl); }
.wm-trust .wmtc-prose .wp-block-columns { display: flex; flex-wrap: wrap; gap: var(--wm-space-6xl); }
.wm-trust .wmtc-prose .wp-block-column { flex: 1 1 260px; min-width: 0; }
.wm-trust .wmtc-prose .wp-block-column > * + * { margin-top: var(--wm-space-xl); }

/* A shortcode block inside a document breaks out of the reading measure: a
   register table needs the column, not the 780px text width. */
.wm-trust .wmtc-prose .wmtc-break { max-width: none; width: 100%; margin-block: var(--wm-space-7xl); }
.wm-trust .wmtc-prose > .wmtc-break:first-child { margin-top: 0; }
.wm-trust .wmtc-prose > h2 + .wmtc-break { margin-top: var(--wm-space-4xl); }

/* A section page: prose, then its document register. */
.wm-trust .wmtc-section-body + .wmtc-section-body { margin-top: var(--wm-space-8xl); }

/* Revision history column widths: the dates and labels are what the reader
   scans down, so they get fixed tracks and the summary takes the rest. */
.wm-trust .wmtc-table--history { table-layout: fixed; min-width: 860px; }
.wm-trust .wmtc-table--history th:nth-child(1) { width: 17%; }
.wm-trust .wmtc-table--history th:nth-child(2) { width: 16%; }
.wm-trust .wmtc-table--history th:nth-child(3) { width: 14%; }
.wm-trust .wmtc-table--history th:nth-child(5) { width: 17%; }
.wm-trust .wmtc-table--history td { overflow-wrap: anywhere; }

/* ==========================================================================
   Tables — revision history, sub-processors, hosting, and anything a policy
   author writes in the editor. One treatment for all of them.
   ========================================================================== */

.wm-trust .wmtc-tablewrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--wm-ui-gray-200);
	border-radius: var(--wm-radius-card-lg);
	background: var(--wm-white);
}
.wm-trust .wmtc-table {
	width: 100%;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}
.wm-trust .wmtc-table thead th {
	padding: var(--wm-space-lg) var(--wm-space-xl);
	background: var(--wm-ui-gray-25);
	border-bottom: 1px solid var(--wm-ui-gray-200);
	font: var(--wm-weight-bold) var(--wm-text-xs)/var(--wm-text-xs-lh) var(--wm-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wm-text-descriptor);
	text-align: left;
	white-space: nowrap;
}
.wm-trust .wmtc-table td {
	padding: var(--wm-space-xl);
	border-bottom: 1px solid var(--wm-ui-gray-200);
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
	vertical-align: top;
}
.wm-trust .wmtc-table tbody tr:last-child td { border-bottom: 0; }
.wm-trust .wmtc-table a { font-weight: var(--wm-weight-semibold); text-decoration: none; }
.wm-trust .wmtc-table a:hover { text-decoration: underline; text-underline-offset: 3px; }
.wm-trust .wmtc-table__link { display: inline-flex; align-items: center; gap: var(--wm-space-sm); }
.wm-trust .wmtc-table__link svg { width: 16px; height: 16px; }
.wm-trust .wmtc-table__muted { color: var(--wm-text-descriptor); }

.wm-trust .wmtc-history__row--current td { background: var(--wm-sky-25); }
.wm-trust .wmtc-history__row--scheduled td { background: var(--wm-status-warning-25); }
.wm-trust .wmtc-history__label {
	font: var(--wm-weight-bold) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
	color: var(--wm-text-heading);
	white-space: nowrap;
}
.wm-trust .wmtc-history__cell { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wm-space-md); }

/* Tables written in the editor get the same treatment without any class. */
.wm-trust .wmtc-prose table { width: 100%; border-collapse: collapse; font-size: var(--wm-text-sm); }
.wm-trust .wmtc-prose :where(th, td) {
	padding: var(--wm-space-lg) var(--wm-space-xl);
	border: 1px solid var(--wm-ui-gray-200);
	text-align: left;
	vertical-align: top;
}
.wm-trust .wmtc-prose th { background: var(--wm-ui-gray-25); font-weight: var(--wm-weight-bold); color: var(--wm-dusk); }
.wm-trust .wmtc-prose figure.wp-block-table { overflow-x: auto; }

/* ==========================================================================
   Update timeline
   ========================================================================== */

.wm-trust .wmtc-timeline { margin: 0; padding: 0; list-style: none; }
.wm-trust .wmtc-timeline__item {
	display: grid;
	grid-template-columns: 132px 24px minmax(0, 1fr);
	gap: 0 var(--wm-space-xl);
	padding-bottom: var(--wm-space-6xl);
}
.wm-trust .wmtc-timeline__item:last-child { padding-bottom: 0; }
.wm-trust .wmtc-timeline__date {
	padding-top: 1px;
	font: var(--wm-weight-semibold) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
	font-variant-numeric: tabular-nums;
	text-align: right;
}
.wm-trust .wmtc-timeline__rail { position: relative; display: flex; justify-content: center; }
.wm-trust .wmtc-timeline__rail::before {
	content: "";
	position: absolute;
	top: var(--wm-space-lg);
	bottom: calc(var(--wm-space-6xl) * -1);
	width: 2px;
	background: var(--wm-ui-gray-200);
}
.wm-trust .wmtc-timeline__item:last-child .wmtc-timeline__rail::before { display: none; }
.wm-trust .wmtc-timeline__dot {
	position: relative;
	z-index: 1;
	width: 12px;
	height: 12px;
	margin-top: 5px;
	border-radius: var(--wm-radius-pill);
	background: var(--wm-sky);
	box-shadow: 0 0 0 4px var(--wm-white);
}
.wm-trust .wmtc-timeline--upcoming .wmtc-timeline__dot { background: var(--wm-sun); }
.wm-trust .wmtc-timeline__body { padding-bottom: var(--wm-space-xs); }
.wm-trust .wmtc-timeline__title {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--wm-space-md);
	font: var(--wm-weight-bold) var(--wm-text-lg)/var(--wm-text-lg-lh) var(--wm-font);
	letter-spacing: var(--wm-track-mid);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-timeline__title a { color: inherit; text-decoration: none; }
.wm-trust .wmtc-timeline__title a:hover { color: var(--wm-sky-700); }
.wm-trust .wmtc-timeline__summary {
	margin: var(--wm-space-md) 0 0;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
	max-width: var(--wm-paragraph-max);
}
.wm-trust .wmtc-timeline__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-md) var(--wm-space-lg);
	margin-top: var(--wm-space-lg);
}
.wm-trust .wmtc-year {
	margin: 0 0 var(--wm-space-4xl);
	font: var(--wm-weight-bold) var(--wm-display-xs)/var(--wm-display-xs-lh) var(--wm-font);
	color: var(--wm-text-heading);
	font-variant-numeric: tabular-nums;
}
.wm-trust .wmtc-yeargroup + .wmtc-yeargroup { margin-top: var(--wm-space-8xl); }

/* ==========================================================================
   Panels — contact, notice, PDF
   ========================================================================== */

.wm-trust .wmtc-panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-3xl);
	padding: var(--wm-pad-card-lg);
	background: var(--wm-sky-50);
	border: 1px solid var(--wm-sky-100);
	border-radius: var(--wm-radius-card-lg);
}
.wm-trust .wmtc-panel__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: var(--wm-radius-pill);
	background: var(--wm-white);
	color: var(--wm-sky-700);
}
.wm-trust .wmtc-panel__icon svg { width: 22px; height: 22px; }
.wm-trust .wmtc-panel__body { flex: 1 1 320px; min-width: 0; }
.wm-trust .wmtc-panel__title {
	margin: 0 0 var(--wm-space-xs);
	font: var(--wm-weight-bold) var(--wm-text-lg)/var(--wm-text-lg-lh) var(--wm-font);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-panel__text {
	margin: 0;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
}
.wm-trust .wmtc-panel__action { flex: none; }

.wm-trust .wmtc-pdfpanel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-4xl);
	padding: var(--wm-space-6xl);
	background: var(--wm-ui-gray-25);
	border: 1px solid var(--wm-ui-gray-200);
	border-radius: var(--wm-radius-24);
}
.wm-trust .wmtc-pdfpanel__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: var(--wm-radius-card-lg);
	background: var(--wm-white);
	border: 1px solid var(--wm-ui-gray-200);
	color: var(--wm-sky-700);
}
.wm-trust .wmtc-pdfpanel__icon svg { width: 28px; height: 28px; }
.wm-trust .wmtc-pdfpanel__body { flex: 1 1 320px; min-width: 0; }
.wm-trust .wmtc-pdfpanel__title { margin: 0 0 var(--wm-space-md); }
.wm-trust .wmtc-pdfpanel__text { margin: 0 0 var(--wm-space-3xl); color: var(--wm-text-descriptor); }

/* ==========================================================================
   Hosting regions and definitions
   ========================================================================== */

.wm-trust .wmtc-region {
	display: flex;
	flex-direction: column;
	gap: var(--wm-space-xs);
	padding: var(--wm-pad-card);
	background: var(--wm-white);
	border: 1px solid var(--wm-ui-gray-200);
	border-radius: var(--wm-radius-card);
}
.wm-trust .wmtc-region__group {
	font: var(--wm-weight-bold) var(--wm-eyebrow-2xs)/var(--wm-eyebrow-2xs-lh) var(--wm-font);
	letter-spacing: var(--wm-track-eyebrow);
	text-transform: uppercase;
	color: var(--wm-text-eyebrow);
}
.wm-trust .wmtc-region__title {
	margin: var(--wm-space-xs) 0 0;
	display: flex;
	align-items: center;
	gap: var(--wm-space-md);
	font: var(--wm-weight-bold) var(--wm-text-lg)/var(--wm-text-lg-lh) var(--wm-font);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-region__host {
	margin: 0;
	font: var(--wm-weight-semibold) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
}
.wm-trust .wmtc-region__note {
	margin: 0;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
}
.wm-trust .wmtc-flag { font-size: 1.1em; line-height: 1; }

.wm-trust .wmtc-defs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wm-gap-cards); margin: 0; }
.wm-trust .wmtc-defs > div {
	padding: var(--wm-pad-card);
	background: var(--wm-white);
	border: 1px solid var(--wm-ui-gray-200);
	border-radius: var(--wm-radius-card);
}
.wm-trust .wmtc-defs dt {
	display: flex;
	align-items: center;
	gap: var(--wm-space-md);
	margin-bottom: var(--wm-space-md);
	font: var(--wm-weight-bold) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-defs dd {
	margin: 0;
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-body);
}

/* ==========================================================================
   Sub-processor register controls
   ========================================================================== */

.wm-trust .wmtc-sp__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wm-space-lg);
	margin-bottom: var(--wm-space-3xl);
}
.wm-trust .wmtc-search { position: relative; flex: 1 1 320px; max-width: 420px; }
.wm-trust .wmtc-search svg {
	position: absolute;
	left: var(--wm-space-lg);
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	color: var(--wm-ui-gray-400);
	pointer-events: none;
}
.wm-trust .wmtc-search input {
	width: 100%;
	padding: 10px var(--wm-space-lg) 10px 42px;
	border: 1px solid var(--wm-border-strong);
	border-radius: var(--wm-radius-btn);
	background: var(--wm-white);
	font: var(--wm-weight-medium) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
	color: var(--wm-text-body);
	outline: none;
}
.wm-trust .wmtc-search input::placeholder { color: var(--wm-ui-gray-400); }
.wm-trust .wmtc-search input:focus-visible { border-color: var(--wm-sky); box-shadow: var(--wm-focus-ring); }
.wm-trust .wmtc-chips { display: flex; flex-wrap: wrap; gap: var(--wm-space-md); }
.wm-trust .wmtc-sp__count {
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
	margin-inline-start: auto;
}

.wm-trust .wmtc-table--sp { table-layout: fixed; min-width: 900px; }
.wm-trust .wmtc-table--sp th:nth-child(1) { width: 19%; }
.wm-trust .wmtc-table--sp th:nth-child(2) { width: 13%; }
.wm-trust .wmtc-table--sp th:nth-child(3) { width: 14%; }
.wm-trust .wmtc-table--sp th:nth-child(5) { width: 12%; }
.wm-trust .wmtc-table--sp td { overflow-wrap: anywhere; }
.wm-trust .wmtc-sp__group th {
	padding: var(--wm-space-lg) var(--wm-space-xl);
	background: var(--wm-sky-50);
	border-bottom: 1px solid var(--wm-sky-100);
	font: var(--wm-weight-bold) var(--wm-eyebrow-xs)/var(--wm-eyebrow-xs-lh) var(--wm-font);
	letter-spacing: var(--wm-track-eyebrow);
	text-transform: uppercase;
	color: var(--wm-dusk);
	text-align: left;
}
.wm-trust .wmtc-sp__name {
	font: var(--wm-weight-bold) var(--wm-text-md)/var(--wm-text-md-lh) var(--wm-font);
	color: var(--wm-text-heading);
}
.wm-trust .wmtc-sp__site {
	display: inline-flex;
	align-items: center;
	gap: var(--wm-space-xs);
	margin-top: var(--wm-space-xs);
	font: var(--wm-weight-medium) var(--wm-text-xs)/var(--wm-text-xs-lh) var(--wm-font);
	color: var(--wm-text-descriptor);
	text-decoration: none;
}
.wm-trust .wmtc-sp__site svg { width: 12px; height: 12px; }
.wm-trust .wmtc-sp__service p { margin: 0 0 var(--wm-space-md); }
.wm-trust .wmtc-sp__service p:last-child { margin-bottom: 0; }
.wm-trust .wmtc-sp__tags { display: flex; flex-wrap: wrap; gap: var(--wm-space-xs); }
.wm-trust .wmtc-sp__empty td { padding: var(--wm-space-8xl) var(--wm-space-xl); text-align: center; color: var(--wm-text-descriptor); }

.wm-trust .wmtc-changelog { margin: 0; padding: 0; list-style: none; border: 1px solid var(--wm-ui-gray-200); border-radius: var(--wm-radius-card-lg); overflow: hidden; }
.wm-trust .wmtc-changelog li {
	display: grid;
	grid-template-columns: 132px 128px minmax(0, 1fr);
	gap: var(--wm-space-xl);
	align-items: center;
	padding: var(--wm-space-lg) var(--wm-space-xl);
	border-bottom: 1px solid var(--wm-ui-gray-200);
	background: var(--wm-white);
	font: var(--wm-weight-medium) var(--wm-text-sm)/var(--wm-text-sm-lh) var(--wm-font);
}
.wm-trust .wmtc-changelog li:last-child { border-bottom: 0; }
.wm-trust .wmtc-changelog time { color: var(--wm-text-descriptor); font-variant-numeric: tabular-nums; }
.wm-trust .wmtc-changelog b { font-weight: var(--wm-weight-semibold); color: var(--wm-text-heading); }

/* ==========================================================================
   Utility: card grids that the design system's .wm-grid does not cover
   ========================================================================== */

.wm-trust .wmtc-grid-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wm-gap-cards); }
.wm-trust .wmtc-grid-regions > * { min-width: 0; }
.wm-trust .wmtc-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wm-space-7xl); align-items: start; }
.wm-trust .wmtc-columns > * { min-width: 0; }
.wm-trust .wmtc-stack { display: flex; flex-direction: column; gap: var(--wm-space-3xl); align-items: flex-start; }
.wm-trust .wmtc-divider-rule { border: 0; border-top: 1px solid var(--wm-ui-gray-200); margin-block: var(--wm-space-7xl); }

/* Scroll reveal is opt-in and must never hide content when JavaScript does
   not run, so the hidden state is gated on a class the script adds. */
.wm-trust .wm-reveal { opacity: 1; transform: none; }
html.wmtc-js .wm-trust .wm-reveal { opacity: 0; transform: translateY(var(--wm-reveal-shift, 16px)); }
html.wmtc-js .wm-trust .wm-reveal.is-in { opacity: 1; transform: none; }

/* ==========================================================================
   Print — a policy has to survive being printed for an audit file
   ========================================================================== */

@media print {
	.wm-trust .wmtc-subnav,
	.wm-trust .wmtc-crumbs,
	.wm-trust .wmtc-doc__aside,
	.wm-trust .wmtc-actions,
	.wm-trust .wm-cta,
	.wm-trust .wmtc-panel,
	.wm-trust .wmtc-related { display: none !important; }
	.wm-trust .wmtc-doc--toc { grid-template-columns: minmax(0, 1fr); }
	.wm-trust .wmtc-hero--tint { background: none; border: 0; padding-block: 0 var(--wm-space-4xl); }
	.wm-trust .wmtc-prose { max-width: none; }
}

/* ==========================================================================
   Responsive. The fixed set: 1024, then 768. 620 changes the gutter only.
   ========================================================================== */

@media (max-width: 1024px) {
	.wm-trust .wmtc-doc--toc { grid-template-columns: minmax(0, 1fr); gap: var(--wm-space-4xl); }
	.wm-trust .wmtc-doc__aside { position: static; }
	.wm-trust .wmtc-toc {
		padding: var(--wm-space-lg) var(--wm-space-xl);
		border: 1px solid var(--wm-ui-gray-200);
		border-radius: var(--wm-radius-card);
		background: var(--wm-ui-gray-25);
	}
	.wm-trust .wmtc-toc__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; }
	.wm-trust .wmtc-toc__item a { border-left: 0; margin-left: 0; padding-inline: 0; }
	.wm-trust .wmtc-toc__item--l3 { display: none; }
	.wm-trust .wmtc-grid-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wm-trust .wmtc-columns { grid-template-columns: minmax(0, 1fr); gap: var(--wm-space-8xl); }
	.wm-trust .wmtc-defs { grid-template-columns: minmax(0, 1fr); }
	.wm-trust .wmtc-index__row { grid-template-columns: minmax(0, 1fr) auto; gap: var(--wm-space-xl); }
	.wm-trust .wmtc-index__date { grid-column: 1; }
	.wm-trust .wmtc-index__action { grid-row: 1 / span 2; grid-column: 2; align-self: center; }
}

@media (max-width: 768px) {
	.wm-trust .wmtc-hero--dark { padding-block: var(--wm-section-y) 0; }
	.wm-trust .wmtc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wm-space-4xl) var(--wm-space-3xl); }
	.wm-trust .wmtc-stat__num { font-size: var(--wm-display-sm); line-height: var(--wm-display-sm-lh); }
	.wm-trust .wmtc-grid-regions { grid-template-columns: minmax(0, 1fr); }
	.wm-trust .wmtc-toc__list { grid-template-columns: minmax(0, 1fr); }
	/* In a scrolling strip, pushing the last item to the far end puts it off
	   screen. It joins the row instead. */
	.wm-trust .wmtc-subnav__item--end { margin-inline-start: 0; }
	.wm-trust .wmtc-docmeta { flex-direction: column; align-items: stretch; gap: var(--wm-space-3xl); }
	.wm-trust .wmtc-facts { gap: var(--wm-space-xl) var(--wm-space-4xl); }
	.wm-trust .wmtc-index__row { grid-template-columns: minmax(0, 1fr); gap: var(--wm-space-lg); padding: var(--wm-space-xl); }
	.wm-trust .wmtc-index__action { grid-row: auto; grid-column: 1; justify-self: start; }
	.wm-trust .wmtc-index__group { padding-inline: var(--wm-space-xl); }
	.wm-trust .wmtc-timeline__item { grid-template-columns: 16px minmax(0, 1fr); gap: 0 var(--wm-space-lg); }
	.wm-trust .wmtc-timeline__date { grid-column: 2; text-align: left; margin-bottom: var(--wm-space-xs); }
	.wm-trust .wmtc-timeline__rail { grid-row: 1 / span 2; grid-column: 1; }
	.wm-trust .wmtc-timeline__body { grid-column: 2; }
	.wm-trust .wmtc-changelog li { grid-template-columns: minmax(0, 1fr); gap: var(--wm-space-xs); }
	.wm-trust .wmtc-pdfpanel { padding: var(--wm-space-4xl); }
	.wm-trust .wmtc-prose > h2 { margin-top: 1.8em; }

	/* Register tables become stacked records. A horizontal scroll on a phone
	   hides the column that carries the answer. */
	.wm-trust .wmtc-table--stack,
	.wm-trust .wmtc-table--stack tbody,
	.wm-trust .wmtc-table--stack tr,
	.wm-trust .wmtc-table--stack td { display: block; }
	.wm-trust .wmtc-table--stack thead { display: none; }
	.wm-trust .wmtc-table--stack tbody tr { padding: var(--wm-space-md) 0; border-bottom: 1px solid var(--wm-ui-gray-200); }
	.wm-trust .wmtc-table--stack tbody tr:last-child { border-bottom: 0; }
	.wm-trust .wmtc-table--stack td { border: 0; padding: var(--wm-space-sm) var(--wm-space-xl); }
	.wm-trust .wmtc-table--stack td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: var(--wm-space-xxs);
		font: var(--wm-weight-bold) var(--wm-eyebrow-2xs)/var(--wm-eyebrow-2xs-lh) var(--wm-font);
		letter-spacing: var(--wm-track-eyebrow);
		text-transform: uppercase;
		color: var(--wm-text-descriptor);
	}
	.wm-trust .wmtc-table--stack td:first-child { padding-top: var(--wm-space-lg); }
	.wm-trust .wmtc-table--stack td:first-child::before { display: none; }
	.wm-trust .wmtc-table--stack .wmtc-sp__group th { display: block; }
	.wm-trust .wmtc-table--history,
	.wm-trust .wmtc-table--sp { table-layout: auto; min-width: 0; }
	/* The percentage column widths are for the table layout. Once the rows are
	   stacked records there are no columns, and a 19% width on the category
	   header shrinks its background to a ninety-pixel patch. */
	.wm-trust .wmtc-table--history th,
	.wm-trust .wmtc-table--sp th { width: auto; }
	.wm-trust .wmtc-tablewrap { overflow-x: visible; }
}
