/*
 * IAB Australia — component styles.
 * Values come from theme.json presets (--wp--preset--*) and custom tokens (--wp--custom--*).
 * Loaded on the front end and in the editor.
 */

:root {
	--iab-border: var(--wp--custom--border--default);
	--iab-ease: var(--wp--custom--ease);
	--iab-fast: var(--wp--custom--duration--fast);
	--iab-base: var(--wp--custom--duration--base);
}

/* Default font smoothing (the design does not force antialiasing) */

:where(.wp-site-blocks) > main {
	margin-block-start: 0;
}

/* Wide blocks stop on the header's line: the 1280 box less its gutters, where the homepage text and section
   content sit. Sections, heroes and bands are the box itself and pad their own content. */
main .alignwide:not(.iab-section, .iab-hero, .iab-band, .iab-featured-query) {
	max-width: calc(var(--wp--style--global--wide-size) - 2 * var(--wp--preset--spacing--gutter));
}

/* Accessible focus for everything interactive */
:focus-visible {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 2px;
}

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--white);
}

/* A hyphenated word in a page title ("round-up") stays on one line (span added in functions.php) */
.iab-nowrap {
	white-space: nowrap;
}

/* ── Headings: inline accent word (hero "em") ───────────────────────────────── */
:where(h1, h2, .wp-block-post-title) em {
	font-style: normal;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	text-decoration: none;
	transition: transform var(--iab-fast) var(--iab-ease), background-color var(--iab-fast) var(--iab-ease),
		color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
.wp-block-button__link:hover,
.wp-element-button:hover {
	transform: translateY(-1px);
	box-shadow: var(--wp--preset--shadow--md);
}
.wp-block-button__link:active {
	transform: none;
}

.wp-block-button.is-style-secondary .wp-block-button__link {
	background: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}


.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	color: var(--wp--preset--color--black);
}


.wp-block-button.is-style-on-red .wp-block-button__link {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--red-dark);
}
.wp-block-button.is-style-on-red-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-on-red-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--red-dark);
}


/* ── Text styles ─────────────────────────────────────────────────────────── */
.is-style-eyebrow {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--grey-500);
	margin-block-end: 0.5rem;
}
.is-style-lede {
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.55;
	max-width: 42ch;
}

ul.is-style-plain,
ol.is-style-plain {
	list-style: none;
	padding-left: 0;
}

/* ── Surfaces ────────────────────────────────────────────────────────────── */
.is-style-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	transition: transform var(--iab-base) var(--iab-ease), box-shadow var(--iab-base) var(--iab-ease);
}
.is-style-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp--preset--shadow--md);
}

.is-style-panel-dark {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
	padding: clamp(2rem, 5vw, 4rem);
}
.is-style-panel-dark :where(h1, h2, h3, h4, a:not(.wp-element-button)) {
	color: var(--wp--preset--color--white);
}
.is-style-panel-dark .is-style-eyebrow {
	color: rgba(255, 255, 255, 0.6);
}
.is-style-panel-dark .is-style-lede {
	color: rgba(255, 255, 255, 0.78);
}

/* Red panel (library "on red"): one per page, for the page's key call to action. Everything inside adapts:
   white text, underlined links, white buttons (button styles "On red panel" and "On red panel, outline"). */
.is-style-panel-red {
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
	padding: clamp(2rem, 5vw, 3rem);
}
.is-style-panel-red :where(h1, h2, h3, h4, p, a:not(.wp-element-button)) {
	color: var(--wp--preset--color--white);
}
.is-style-panel-red > * {
	margin-block: 0;
}
.is-style-panel-red :is(h1, h2) {
	margin-block-end: 1rem;
	font-size: clamp(var(--wp--preset--font-size--xxl), 6vw, var(--wp--preset--font-size--xxxl));
	line-height: 1;
	letter-spacing: -0.015em;
}
.is-style-panel-red .is-style-eyebrow {
	margin-block-end: 0.35rem;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 0.14em;
}
.is-style-panel-red .is-style-lede {
	margin-block-end: 1.5rem;
	opacity: 0.92;
}
.is-style-panel-red .wp-block-buttons + * {
	margin-block-start: 1.25rem;
}
.is-style-panel-red a:not(.wp-element-button) {
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
}
.is-style-panel-red a:not(.wp-element-button):hover {
	text-decoration-thickness: 2.5px;
}
.is-style-panel-red :focus-visible {
	outline-color: var(--wp--preset--color--white);
}

.is-style-section-soft {
	background: var(--wp--preset--color--soft);
}

/* Soft panel: a quiet aside (related links, notes). No hover: the panel itself is not a link. */
.is-style-panel-soft {
	background: var(--wp--preset--color--grey-100);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	padding: clamp(1.5rem, 4vw, 2.5rem);
}
.is-style-panel-soft > :is(h2, h3, h4) {
	font-size: var(--wp--preset--font-size--lg);
}

/* ── Header (library "Navigation bar" organism) ────────────────────────────── */
/* Borderless full-width white bar; its content sits on the 1280 grid: logo · centred links · CTAs. */
/* Sticky: the band stays pinned (below the admin bar when it's fixed) and hides the page scrolling under it.
   It's set on the template-part wrapper, which is exactly the header's height, so the header itself can't stick. */
html {
	scroll-padding-top: calc(7rem + var(--wp-admin--admin-bar--height, 0px));
}
.wp-block-template-part:has(> .iab-header) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
@media (max-width: 600px) {
	/* the admin bar scrolls away at this width */
	.wp-block-template-part:has(> .iab-header) {
		top: 0;
	}
}
.iab-header {
	/* Inline inset shared by the bar, the open search field and the mega panel: the 1280 box's edge plus the
	   gutter, so the logo lines up with the page content below. The % resolves against the full-width header. */
	--iab-header-pad: calc(max(0px, (100% - var(--wp--style--global--wide-size)) / 2) + var(--wp--preset--spacing--gutter));
	--iab-header-pad-y: 1.25rem;
	--iab-header-logo: 3.5rem; /* also the logo in the search overlay, so it doesn't jump when search opens */
	position: relative;
	z-index: 50;
	padding: 0;
	background: var(--wp--preset--color--white);
}
.iab-header__bar {
	position: relative;
	gap: 1rem !important;
	padding: var(--iab-header-pad-y) var(--iab-header-pad);
	background: var(--wp--preset--color--white);
}
/* No border at rest; a hairline appears under the pinned header once the page has scrolled (where supported) */
@supports (animation-timeline: scroll()) {
	.wp-block-template-part:has(> .iab-header) {
		animation: iab-header-pinned linear both;
		animation-timeline: scroll(root);
		animation-range: 0 4rem;
	}
	@keyframes iab-header-pinned {
		from {
			box-shadow: 0 1px 0 transparent;
		}
		to {
			box-shadow: 0 1px 0 var(--iab-border);
		}
	}
}
/* ── Announcement bar (block iab/announcement-bar, the first thing in the header) ──────────────────────── */
/* A black strip above the white bar: the next event and the newsletter line slide from right to left (the block's
   view.js clones the list so the loop has no gap, sets the speed and passes the strip's measured height down here).
   It scrolls away with the page: the pinned wrapper's top is pulled up by the strip's height, so only the bar stays.
   The strip's own height never reads that variable (it would feed back into itself). */
.wp-block-template-part:has(> .iab-header > .iab-ticker) {
	--iab-ticker-h: 2.5rem;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--iab-ticker-h));
}
@media (max-width: 600px) {
	.wp-block-template-part:has(> .iab-header > .iab-ticker) {
		top: calc(0px - var(--iab-ticker-h));
	}
}
.iab-ticker {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 2.5rem;
	padding: 0.45rem var(--iab-header-pad);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.3;
}
.iab-ticker__viewport {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}
.iab-ticker__track {
	display: flex;
	flex: none;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}
.iab-ticker__item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}
/* The red dot between lines (the library's marker) */
.iab-ticker__item::after {
	content: "";
	flex: none;
	width: 0.4rem;
	height: 0.4rem;
	margin: 0 1.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--red);
}
.iab-ticker a {
	color: inherit;
	text-decoration: none;
}
.iab-ticker a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.iab-ticker :focus-visible {
	outline-color: var(--wp--preset--color--white);
	outline-offset: 1px;
}
.iab-ticker__link,
.iab-ticker__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}
.iab-ticker__tag,
.iab-ticker__cta {
	font-weight: 700;
}
.iab-ticker__cta {
	margin-left: 1rem;
}
.iab-ticker__sep {
	opacity: 0.6;
}
.iab-ticker__icon {
	flex: none;
	width: 1rem;
	height: 1rem;
}
.iab-ticker__icon--arrow-right,
.iab-ticker__icon--arrow-up-right {
	width: 0.85rem;
	height: 0.85rem;
}
/* Moving: two copies of the list side by side, each sliding its own width, so the second takes over seamlessly */
.iab-ticker.is-moving .iab-ticker__viewport {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 1.5rem, #000 calc(100% - 1.5rem), transparent);
	mask-image: linear-gradient(90deg, transparent, #000 1.5rem, #000 calc(100% - 1.5rem), transparent);
}
.iab-ticker.is-moving .iab-ticker__track {
	animation: iab-ticker var(--iab-ticker-duration, 40s) linear infinite;
}
.iab-ticker.is-moving.is-paused .iab-ticker__track,
.iab-ticker.is-moving .iab-ticker__viewport:is(:hover, :focus-within) .iab-ticker__track {
	animation-play-state: paused;
}
.iab-ticker.is-focus .iab-ticker__track {
	animation: none;
}
.iab-ticker.is-focus .iab-ticker__viewport {
	-webkit-mask-image: none;
	mask-image: none;
}
@keyframes iab-ticker {
	to {
		transform: translateX(-100%);
	}
}
.iab-ticker__toggle {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
	transition: border-color var(--wp--custom--duration--fast) var(--wp--custom--ease);
}
.iab-ticker__toggle:hover {
	border-color: var(--wp--preset--color--white);
}
.iab-ticker__toggle .iab-ticker__icon {
	width: 0.75rem;
	height: 0.75rem;
}
.iab-ticker__toggle[aria-pressed="true"] .iab-ticker__icon--pause,
.iab-ticker__toggle[aria-pressed="false"] .iab-ticker__icon--play {
	display: none;
}
@media (prefers-reduced-motion: reduce) {
	.iab-ticker .iab-ticker__track {
		flex-wrap: wrap;
		row-gap: 0.25rem;
		white-space: normal;
		animation: none !important;
	}
	.iab-ticker__item:last-child::after,
	.iab-ticker__toggle {
		display: none;
	}
}

.iab-header .wp-block-site-logo {
	flex: none;
}
.iab-header .wp-block-site-logo img {
	width: auto;
	height: var(--iab-header-logo);
}
.iab-header__nav {
	flex: 0 1 auto;
}
.iab-header__nav .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 1.75rem;
}
.iab-header__nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	white-space: nowrap;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
	line-height: 1.55;
	text-decoration: none;
}
.iab-header__tools {
	flex: none;
	gap: 0.5rem;
}
.iab-header__cta {
	flex: none;
	gap: 0.5rem;
}
/* Bar CTAs read at the same weight as the menu labels (the block's "small" size is kept for narrow desktops) */
@media (min-width: 1280px) {
	.iab-header .iab-header__cta.wp-block-buttons .wp-block-button__link {
		padding: 0.65rem 1.15rem;
		font-size: var(--wp--preset--font-size--sm);
	}
}
/* The text link in the bar ("Sign in" / "My account") is set at the menu labels' size, at both desktop widths */
.iab-header .iab-header__cta.wp-block-buttons .is-style-ghost .wp-block-button__link {
	font-size: var(--wp--preset--font-size--base);
}
@media (min-width: 1280px) {
	.iab-header .iab-header__cta.wp-block-buttons .is-style-ghost .wp-block-button__link {
		font-size: var(--wp--preset--font-size--md);
	}
}

/* Dropdown items: red underline grows on hover/focus; chevron flips on open */
.iab-header__nav .iab-nav-mega > .wp-block-navigation-item__content {
	position: relative;
	padding: 0.35rem 0;
}
.iab-header__nav .iab-nav-mega > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background: var(--wp--preset--color--red-dark);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--iab-base) var(--iab-ease);
}
.iab-header__nav .iab-nav-mega:is(:hover, :focus-within) > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}
.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-icon {
	width: 0.6rem;
	height: 0.6rem;
	margin-left: 0.35rem;
}
.iab-header__nav .wp-block-navigation__submenu-icon svg {
	display: none;
}
.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-icon::before {
	content: "";
	display: block;
	width: 0.6rem;
	height: 0.6rem;
	box-sizing: border-box;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--iab-base) var(--iab-ease);
}
.iab-header__nav .iab-nav-mega:is(:hover, :focus-within) > .wp-block-navigation__submenu-icon::before,
.iab-header__nav .iab-nav-mega > [aria-expanded="true"]::before {
	transform: rotate(225deg) translateY(-1px);
}

/* Mega panel (IAB UK style): a full-width paper sheet flush under the header. Left to right: intro (the menu's
   name and description), link columns, then a red feature block that bleeds to the right edge of the window.
   The page behind dims while a panel is open. Panels hold 2 link columns; --wide panels hold 4. */
.iab-header__nav .iab-nav-intro {
	display: none; /* desktop panels only: in the mobile overlay the section row already names the menu */
}
@media (min-width: 1025px) {
	.iab-header__nav,
	.iab-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.iab-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) :is(.wp-block-navigation__responsive-close, .wp-block-navigation__responsive-dialog, .wp-block-navigation__responsive-container-content),
	.iab-header__nav .wp-block-navigation__container,
	.iab-header__nav .wp-block-navigation__container > .iab-nav-mega {
		position: static;
	}
	.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-container {
		--iab-mega-pad-y: 2.5rem;
		--iab-mega-gap: 2.5rem;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0;
		z-index: 60;
		display: grid !important;
		/* gutter · intro · link columns · feature · gutter */
		grid-template-columns: var(--iab-header-pad) minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.3fr) var(--iab-header-pad);
		gap: 0;
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		padding: 0 !important;
		overflow: visible !important;
		overflow-x: clip !important; /* the feature block's bleed stops at the window edge */
		background: var(--wp--preset--color--paper);
		border: 0 !important;
		border-radius: 0;
		box-shadow: none;
		opacity: 0;
		visibility: hidden;
		transition: opacity var(--iab-base) var(--iab-ease), visibility var(--iab-base);
	}
	/* Hover bridge across the bar's bottom padding so the panel stays open on the way down */
	.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-container::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: var(--iab-header-pad-y);
	}
	.iab-header__nav .iab-nav-mega:is(:hover, :focus-within) > .wp-block-navigation__submenu-container,
	.iab-header__nav .iab-nav-mega > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		opacity: 1;
		visibility: visible;
	}
	/* Page dims behind an open panel (sits under the header inside the pinned wrapper's stacking context) */
	.wp-block-template-part:has(> .iab-header)::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: -1;
		background: rgb(37 40 42 / 0.55);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity var(--iab-base) var(--iab-ease), visibility var(--iab-base);
	}
	.wp-block-template-part:has(> .iab-header .iab-nav-mega:is(:hover, :focus-within))::before,
	.wp-block-template-part:has(> .iab-header .iab-nav-mega > [aria-expanded="true"])::before {
		opacity: 1;
		visibility: visible;
	}
	.iab-header__nav .iab-nav-mega--wide > .wp-block-navigation__submenu-container {
		--iab-mega-gap: 1.5rem;
		grid-template-columns: var(--iab-header-pad) minmax(0, 1.15fr) repeat(4, minmax(0, 1fr)) minmax(0, 1.15fr) var(--iab-header-pad);
	}
	/* Intro: starts on the logo's left edge; a rule divides it from the links */
	.iab-header__nav .iab-nav-intro {
		display: block;
		grid-column: 2;
		padding: var(--iab-mega-pad-y) var(--iab-mega-gap) var(--iab-mega-pad-y) 0;
		border-right: 1px solid var(--iab-border);
	}
	.iab-header__nav .iab-nav-intro__title {
		display: block;
		margin: 0 0 0.6rem;
		color: var(--wp--preset--color--black);
		font-family: var(--wp--preset--font-family--display);
		font-size: var(--wp--preset--font-size--xl);
		font-weight: 700;
		line-height: 1.1;
		text-transform: lowercase;
	}
	/* Sentence case for the panel's title (project owner, 2026-10-03): the first letter stays capital. */
	.iab-header__nav .iab-nav-intro__title::first-letter {
		text-transform: uppercase;
	}
	.iab-header__nav .iab-nav-intro__text {
		max-width: 34ch;
		margin: 0;
		color: var(--wp--preset--color--grey-700);
		font-size: var(--wp--preset--font-size--sm);
		line-height: 1.6;
	}
	.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-container > .iab-nav-mega__col {
		padding: var(--iab-mega-pad-y) 0 var(--iab-mega-pad-y) var(--iab-mega-gap);
	}
	.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-container > .iab-nav-mega__col:first-child {
		grid-column: 2; /* a panel without an intro */
		padding-left: 0;
	}
	/* Feature block: the last column, full panel height, bleeding out through the right gutter */
	.iab-header__nav .iab-nav-mega > .wp-block-navigation__submenu-container > .iab-nav-feature {
		grid-column: -3 / -2;
		margin-left: var(--iab-mega-gap);
	}
	.iab-header__nav .iab-nav-mega .iab-nav-feature > .wp-block-navigation-item__content {
		position: relative;
		padding: var(--iab-mega-pad-y) 0 var(--iab-mega-pad-y) 2rem !important;
		border-radius: 0;
	}
	.iab-header__nav .iab-nav-mega .iab-nav-feature > .wp-block-navigation-item__content::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 100%;
		width: 100vw;
		background: inherit;
	}
}
/* Columns: heading + links, always laid out inside the panel */
.iab-header__nav .iab-nav-mega__col > .wp-block-navigation__submenu-container {
	position: static !important;
	display: flex !important;
	flex-direction: column;
	gap: 0.1rem;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	opacity: 1 !important;
	/* inherit, not visible: a visible child of the hidden panel stays hoverable and opens the menu from the page below */
	visibility: inherit !important;
	transform: none;
}
.iab-header__nav .iab-nav-mega__col {
	display: block;
}
.iab-header__nav .iab-nav-mega__col > .wp-block-navigation__submenu-icon {
	display: none;
}
.iab-header__nav .iab-nav-mega__col > .wp-block-navigation-item__content {
	display: block;
	margin: 0 0 0.75rem;
	padding: 0 !important;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	pointer-events: none;
}
.iab-header__nav .iab-nav-mega__col .wp-block-navigation-link > .wp-block-navigation-item__content {
	display: block;
	margin-left: -0.5rem;
	padding: 0.45rem 0.5rem !important;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--black);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
}
.iab-header__nav .iab-nav-mega__col .wp-block-navigation-link > .wp-block-navigation-item__content:is(:hover, :focus-visible) {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--red-dark);
}
/* Arrow slides in on hover, IAB UK style (decorative: empty alt text) */
.iab-header__nav .iab-nav-mega__col .wp-block-navigation-link > .wp-block-navigation-item__content::after {
	content: "→";
	content: "→" / "";
	display: inline-block;
	margin-left: 0.35rem;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity var(--iab-fast) var(--iab-ease), transform var(--iab-fast) var(--iab-ease);
}
.iab-header__nav .iab-nav-mega__col .wp-block-navigation-link > .wp-block-navigation-item__content:is(:hover, :focus-visible)::after {
	opacity: 1;
	transform: none;
}
/* Feature card (kicker from the link's title attribute) */
.iab-header__nav .iab-nav-feature > .wp-block-navigation-item__content {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	height: 100%;
	padding: 1.25rem 1.4rem !important;
	background: var(--wp--preset--color--red-dark);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--white) !important;
	text-decoration: none;
}
.iab-header__nav .iab-nav-feature > .wp-block-navigation-item__content::before {
	content: attr(title);
	margin: 0 0 -1.1rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.8;
}
.iab-header__nav .iab-nav-feature .wp-block-navigation-item__label {
	display: block; /* a block, so ::first-letter applies */
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.15;
	text-transform: lowercase;
}
/* Sentence case for the featured line ("Bring your perspective to the industry."), as for the panel title. */
.iab-header__nav .iab-nav-feature .wp-block-navigation-item__label::first-letter {
	text-transform: uppercase;
}
.iab-header__nav .iab-nav-feature .wp-block-navigation-item__description {
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
}
.iab-header__nav .iab-nav-feature > .wp-block-navigation-item__content:is(:hover, :focus-visible) .wp-block-navigation-item__description {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.iab-header__nav .iab-nav-feature > .wp-block-navigation-item__content:focus-visible {
	outline-color: var(--wp--preset--color--black);
}
/* Long titles (a report or media release) stop at four lines */
.iab-header__nav .iab-nav-feature .wp-block-navigation-item__label {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
/* Narrow desktop: tighter bar; a 4-column panel drops its intro and the feature becomes a full-width strip along the bottom */
@media (min-width: 1025px) and (max-width: 1279px) {
	.iab-header__nav .wp-block-navigation__container {
		gap: 1.1rem;
	}
	.iab-header__nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--base);
	}
	.iab-header__nav .iab-nav-mega--wide > .wp-block-navigation__submenu-container {
		grid-template-columns: var(--iab-header-pad) repeat(4, minmax(0, 1fr)) var(--iab-header-pad);
	}
	.iab-header__nav .iab-nav-mega--wide .iab-nav-intro {
		display: none;
	}
	.iab-header__nav .iab-nav-mega--wide > .wp-block-navigation__submenu-container > .iab-nav-intro + .iab-nav-mega__col {
		grid-column: 2;
		padding-left: 0;
	}
	.iab-header__nav .iab-nav-mega--wide > .wp-block-navigation__submenu-container > .iab-nav-feature {
		grid-column: 1 / -1;
		margin: 0;
	}
	.iab-header__nav .iab-nav-mega--wide .iab-nav-feature > .wp-block-navigation-item__content {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: flex-start;
		gap: 0.5rem 1.5rem;
		padding: 1.25rem var(--iab-header-pad) !important;
	}
	.iab-header__nav .iab-nav-mega--wide .iab-nav-feature > .wp-block-navigation-item__content::before {
		margin: 0;
	}
	.iab-header__nav .iab-nav-mega--wide .iab-nav-feature > .wp-block-navigation-item__content::after {
		content: none;
	}
	.iab-header__nav .iab-nav-mega--wide .iab-nav-feature .wp-block-navigation-item__label {
		flex: 1 1 20rem;
		-webkit-line-clamp: 2;
	}
}

/* Search: the icon in the bar opens a full-screen search (assets/js/search.js); without JS it links to the search page */
.iab-header__search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--black);
}
.iab-header__search:hover {
	background: var(--wp--preset--color--grey-100);
}
.iab-header__search svg {
	width: 1.75rem;
	height: 1.75rem;
	fill: currentColor;
}

/* Search overlay (IAB UK style): logo and close button where the header was, a large field, then matching titles as you type */
.iab-search {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	/* same inline inset as the header bar, so the logo does not move when the overlay opens */
	padding: 0 calc(max(0px, (100% - var(--wp--style--global--wide-size)) / 2) + var(--wp--preset--spacing--gutter)) var(--wp--preset--spacing--70);
	overflow-y: auto;
	background: var(--wp--preset--color--black);
	border: 0;
	color: var(--wp--preset--color--white);
}
.iab-search[open] {
	animation: iab-search-in var(--iab-base) var(--iab-ease);
}
@keyframes iab-search-in {
	from {
		opacity: 0;
	}
}
html:has(.iab-search[open]) {
	overflow: hidden;
}
.iab-search__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 1.25rem;
}
.iab-search__logo img {
	display: block;
	width: auto;
	height: 3.5rem; /* = --iab-header-logo */
}
.iab-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	color: inherit;
	cursor: pointer;
}
.iab-search__close:hover {
	background: rgb(255 255 255 / 0.12);
}
.iab-search__close svg {
	width: 1.75rem;
	height: 1.75rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}
.iab-search :focus-visible {
	outline-color: var(--wp--preset--color--white);
}
.iab-search__form {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: clamp(1rem, 4vh, 2.5rem);
	padding: 0 1.5rem;
	background: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--muted);
}
.iab-search__form:focus-within {
	box-shadow: 0 0 0 3px var(--wp--preset--color--red);
}
.iab-search__form svg {
	flex: none;
	width: 1.75rem;
	height: 1.75rem;
	fill: currentColor;
}
.iab-search .iab-search__input {
	flex: 1;
	min-width: 0;
	padding: 1.35rem 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none; /* the form carries the focus ring */
	outline: 0;
	color: var(--wp--preset--color--black);
	font: inherit;
	font-size: var(--wp--preset--font-size--lg);
}
.iab-search__panel {
	margin-top: 1rem;
	padding: 0.5rem 0.75rem;
	background: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--black);
}
.iab-search__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-search__item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1rem 0.75rem;
	border-bottom: 1px solid var(--iab-border);
	color: inherit;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.iab-search__item:is(:hover, :focus-visible) {
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--red-dark);
}
.iab-search__panel :focus-visible {
	outline-color: var(--wp--preset--color--red);
}
.iab-search__item mark {
	background: none;
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--red);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.iab-search__type {
	flex: none;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.iab-search__empty {
	padding: 1rem 0.75rem;
	border-bottom: 1px solid var(--iab-border);
	color: var(--wp--preset--color--grey-700);
}
.iab-search__all {
	display: block;
	padding: 1rem 0.75rem;
	color: var(--wp--preset--color--red-dark);
	font-weight: 700;
	text-decoration: none;
}
.iab-search__all:is(:hover, :focus-visible) {
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* The menu's own search field only shows in the mobile overlay */
.iab-header__nav .iab-nav__mobile-search {
	display: none;
}

/* CTAs inside the menu only show in the mobile overlay */
.iab-header__nav .iab-nav__mobile-cta {
	display: none;
}

/* ≤1024px: logo + burger; the overlay holds search, the menu and the CTAs */
@media (max-width: 1024px) {
	.iab-header {
		--iab-header-logo: 3rem;
	}
	.iab-search__logo img {
		height: 3rem;
	}
	.iab-header__tools {
		display: none !important;
	}
	.iab-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
	.iab-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}
}
.iab-header__nav .wp-block-navigation__responsive-container-open {
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	padding: 0;
}
.iab-header__nav .wp-block-navigation__responsive-container-open svg {
	display: none;
}
.iab-header__nav .wp-block-navigation__responsive-container-open::before {
	content: "";
	display: block;
	width: 1.3rem;
	height: 2px;
	background: currentColor;
	box-shadow: 0 7px 0 currentColor, 0 -7px 0 currentColor;
}
/* Overlay reads left-aligned (core centres it because the desktop bar is centred) */
.iab-header__nav .is-menu-open,
.iab-header__nav .is-menu-open .wp-block-navigation__container {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	text-align: left;
}
.iab-header__nav .is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container) {
	align-items: stretch !important;
	width: 100%;
}
.iab-header__nav .is-menu-open .wp-block-navigation__container {
	gap: 0;
}
.iab-header__nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	padding: 0.35rem 0;
	border-bottom: 1px solid var(--iab-border);
}
.iab-header__nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
}
.iab-header__nav .is-menu-open .iab-nav-mega > .wp-block-navigation-item__content::after {
	display: none;
}
/* Overlay accordion: the whole row opens its section (the section's first links cover the landing page) */
.iab-header__nav .is-menu-open .iab-nav-mega {
	position: relative;
	display: block;
}
.iab-header__nav .is-menu-open .iab-nav-mega > .wp-block-navigation-item__content {
	display: block;
	padding: 0.6rem 2.5rem 0.6rem 0;
}
.iab-header__nav .is-menu-open .iab-nav-mega > .wp-block-navigation__submenu-icon:not([aria-expanded="true"])::before {
	transform: rotate(45deg) translateY(-2px); /* the chevron follows the section, not hover or focus */
}
.iab-header__nav .is-menu-open .iab-nav-mega > .wp-block-navigation__submenu-icon {
	position: absolute;
	top: 0.35rem;
	left: 0;
	right: 0;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 2.9rem;
	margin: 0;
	padding: 0 0.4rem 0 0;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
}
/* A section closes a beat after it loses focus (core closes it on focusout): closing at once would move the
   row being tapped out from under the finger and the tap would be lost. */
.iab-header__nav .is-menu-open .iab-nav-mega > .wp-block-navigation__submenu-container {
	display: grid !important;
	gap: 1.25rem;
	max-height: 0;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
	transition: max-height 0s linear 0.3s, padding 0s linear 0.3s, visibility 0s linear 0.3s;
}
.iab-header__nav .is-menu-open .iab-nav-mega > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	max-height: 200rem;
	padding: 0.5rem 0 1.25rem !important;
	visibility: visible !important;
	transition: none;
}
.iab-header__nav .is-menu-open .iab-nav-mega__col {
	align-self: start;
}
@media (min-width: 600px) {
	.iab-header__nav .is-menu-open .iab-nav-mega > .wp-block-navigation__submenu-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.iab-header__nav .is-menu-open .iab-nav-feature {
		grid-column: 1 / -1;
	}
}
.iab-header__nav .is-menu-open .iab-nav__mobile-search {
	display: block;
	width: 100%;
	max-width: none;
	margin: 1.5rem 0 0;
}
.iab-header__nav .is-menu-open .iab-nav-mega__col > .wp-block-navigation-item__content {
	margin-bottom: 0.35rem;
}
.iab-header__nav .is-menu-open .iab-nav-mega__col .wp-block-navigation-link > .wp-block-navigation-item__content {
	margin-left: 0;
	padding: 0.45rem 0 !important;
}
.iab-header__nav .is-menu-open .iab-nav__mobile-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
	margin-top: 1.25rem;
}
/* The text link ("Sign in" / "My account") reads as a menu row — its size, weight and left edge — on a line of its own above the buttons */
.iab-header__nav .is-menu-open .iab-nav__mobile-cta .is-style-ghost {
	flex: 0 0 100%;
}
.iab-header__nav .is-menu-open .iab-nav__mobile-cta .is-style-ghost .wp-block-button__link {
	justify-content: flex-start;
	padding: 0.6rem 0;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
	text-align: left;
	background: transparent;
	border: 0;
}

/* ── Footer (home design: dark columns + white bottom bar with social icons) ── */
.iab-site-footer {
	padding-top: var(--wp--preset--spacing--70);
	padding-bottom: 40px;
}
.iab-site-footer > * + * {
	margin-block-start: var(--wp--preset--spacing--50);
}
.iab-footer {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--grey-300);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
}
.iab-footer__top {
	margin: 0 !important;
	padding: 2rem;
	gap: 1.5rem !important;
}
.iab-footer__top > .iab-footer__brand {
	flex: 1.4 1 0 !important;
}
.iab-footer__top > .wp-block-column:not(.iab-footer__brand) {
	flex: 1 1 0 !important;
}
.iab-footer__top :where(ul, li, p) {
	line-height: normal;
}
.iab-footer__brand img {
	width: 132px;
	margin-bottom: 0.9rem;
}
.iab-footer__brand p {
	max-width: 30ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.875rem;
}
.iab-footer :where(h2, h3, h4) {
	margin: 0 0 0.8rem;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: normal;
	letter-spacing: normal;
	text-transform: lowercase;
}
.iab-footer__top ul {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	font-size: 0.875rem;
}
.iab-footer a {
	color: var(--wp--preset--color--grey-300);
	text-decoration: none;
	transition: color var(--iab-fast) var(--iab-ease);
}
.iab-footer a:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--white);
}
.iab-footer__bottom {
	margin: 0 !important;
	padding: 1rem 2rem;
	gap: 1rem;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--grey-700);
	font-size: 0.875rem;
}
.iab-footer__bottom a {
	color: var(--wp--preset--color--grey-700);
}
.iab-footer__bottom a:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--black);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.iab-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1rem;
	margin: 0;
	color: var(--wp--preset--color--grey-500);
	line-height: normal;
}
.iab-footer__legal span {
	color: var(--wp--preset--color--grey-300);
}
/* "Managed by" + the Metrixa Digital logo: the last item of the bottom bar (no band); set off by a hairline while the bar is one row */
.iab-footer__credit {
	gap: 0.85rem;
}
.iab-footer__bottom > .iab-footer__credit {
	margin-left: auto; /* once the bar wraps, the credit stays at the right edge (beats the flex layout's margin reset) */
}
@media (min-width: 1100px) {
	.iab-footer__bottom > .iab-footer__credit {
		margin-left: 0; /* one row: space-between already puts it last, and the legal line stays centred */
		padding-left: 1.5rem;
		border-left: 1px solid var(--iab-border);
	}
}
.iab-footer__credit :where(p, figure) {
	margin: 0;
}
.iab-footer__credit a {
	display: block;
	transition: opacity var(--iab-fast) var(--iab-ease);
}
.iab-footer__credit a:is(:hover, :focus-visible) {
	opacity: 0.75;
}
.iab-footer__credit img {
	display: block;
	width: 104px;
	height: auto;
}
.iab-social {
	gap: 0.75rem !important;
	margin: 0;
}
.iab-social .wp-social-link {
	width: 40px;
	height: 40px;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--black) !important;
	color: var(--wp--preset--color--white) !important;
	transition: background var(--iab-fast) var(--iab-ease), transform var(--iab-fast) var(--iab-ease);
}
.iab-social .wp-social-link a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	color: var(--wp--preset--color--white) !important;
}
.iab-social .wp-social-link svg {
	width: 23px;
	height: 23px;
}
.iab-social .wp-social-link:is(:hover, :focus-within) {
	background: var(--wp--preset--color--red-dark) !important;
	transform: translateY(-2px);
}

/* ── Pagination ──────────────────────────────────────────────────────────── */
.wp-block-query-pagination {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.wp-block-query-pagination .page-numbers.current {
	color: var(--wp--preset--color--red-dark);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
	.is-style-card:hover,
	.wp-block-button__link:hover {
		transform: none;
	}
}

/* ── Listing pages: the introduction under the title keeps a reading measure ── */
main > .wp-block-term-description {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
}
main > .wp-block-term-description > * {
	max-width: 46rem;
	margin-inline: 0 !important; /* hand-coded wrappers centre themselves */
}
/* Hand-coded introductions (tables, statistic boxes, Arial): the site's type, and wide pieces scroll in place */
main > .wp-block-term-description * {
	font-family: inherit !important;
}
main > .wp-block-term-description :is(table, iframe, img) {
	max-width: 100%;
}
/* Phones: boxes laid out with a table (statistic rows) stack instead of running off the screen */
@media (max-width: 600px) {
	main > .wp-block-term-description :is(table, tbody, tr, td) {
		display: block;
		width: auto !important;
	}
	main > .wp-block-term-description td + td {
		margin-top: 0.5rem;
	}
}

/* ── Category eyebrow above titles ── */
.wp-block-post-terms a {
	text-decoration: none;
}
.wp-block-post-terms a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ── Breadcrumbs (iab/breadcrumbs) ───────────────────────────────────────── */
.iab-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--grey-500);
}
.iab-crumbs li + li::before {
	content: "/";
	margin-right: 0.35rem;
	color: var(--wp--preset--color--grey-300);
}
.iab-crumbs a {
	color: var(--wp--preset--color--grey-500);
	text-decoration: none;
	transition: color var(--iab-fast) var(--iab-ease);
}
.iab-crumbs a:hover {
	color: var(--wp--preset--color--black);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.iab-crumbs__current {
	color: var(--wp--preset--color--black);
	font-weight: 600;
}

/* ── Accordion: Group (is-style-accordion) wrapping core/details ─────────── */
.is-style-accordion {
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
	overflow: hidden;
	gap: 0 !important;
}
.is-style-accordion > .wp-block-details {
	border-bottom: 1px solid var(--iab-border);
	margin: 0;
}
.is-style-accordion > .wp-block-details:last-child {
	border-bottom: 0;
}
.is-style-accordion summary {
	list-style: none;
	cursor: pointer;
	padding: 1rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-weight: 600;
}
.is-style-accordion summary::-webkit-details-marker {
	display: none;
}
.is-style-accordion summary::after {
	content: "+";
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.4rem;
	line-height: 1;
}
.is-style-accordion details[open] > summary::after {
	content: "\2212";
}
.is-style-accordion summary:hover {
	background: var(--wp--preset--color--grey-100);
}
.is-style-accordion details > :not(summary) {
	padding: 0 1.25rem;
}
.is-style-accordion details > :last-child:not(summary) {
	padding-bottom: 1rem;
}

/* ── Form fields (site-wide: search, newsletter, MemberPress, comments) ──── */
:where(
	input[type="text"], input[type="email"], input[type="password"], input[type="search"],
	input[type="url"], input[type="tel"], input[type="number"], input[type="date"], select, textarea
) {
	appearance: none;
	width: 100%;
	padding: 0.7rem 0.9rem;
	font: inherit;
	color: var(--wp--preset--color--black);
	background: var(--wp--preset--color--white);
	border: 1.5px solid var(--wp--custom--border--input);
	border-radius: var(--wp--custom--radius--md);
	transition: border-color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
:where(input, select, textarea):hover {
	border-color: var(--wp--preset--color--black);
}
:where(input, select, textarea):focus {
	outline: none;
	border-color: var(--wp--preset--color--red-dark);
	box-shadow: 0 0 0 4px rgba(193, 0, 22, 0.18);
}
::placeholder {
	color: var(--wp--preset--color--grey-500);
}
:where(label) {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}

/* ── Search (core/search, button inside = library pill) ──────────────────── */
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	border: 1.5px solid var(--wp--custom--border--input);
	border-radius: var(--wp--custom--radius--pill);
	padding: 0.35rem 0.35rem 0.35rem 1rem;
	background: var(--wp--preset--color--white);
}
.wp-block-search__button-inside .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--red-dark);
	box-shadow: 0 0 0 4px rgba(193, 0, 22, 0.18);
}
.wp-block-search__button-inside .wp-block-search__input {
	border: 0;
	padding: 0.4rem 0;
	box-shadow: none;
	background: transparent;
}
.wp-block-search__button-inside .wp-block-search__button {
	margin: 0;
	padding: 0.55rem 1.1rem;
	font-size: var(--wp--preset--font-size--xs);
}
.wp-block-search {
	max-width: 560px;
}

/* ── Newsletter (iab/newsletter) ─────────────────────────────────────────── */
.iab-newsletter__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.6rem;
}
.iab-newsletter__form .iab-field {
	flex: 1 1 220px;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.iab-newsletter__form:not(.is-full) label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.iab-newsletter__form input {
	min-height: 3.2rem;
}
.iab-newsletter__submit {
	margin: 0;
}
.iab-newsletter__submit .wp-element-button {
	min-height: 3.2rem;
	padding-inline: 1.6rem;
}
/* A signed-in member is asked for nothing the site knows: where it will be sent, and one button */
.iab-newsletter__form.is-member {
	align-items: center;
	gap: 0.75rem 1.25rem;
}
@media (min-width: 782px) {
	.iab-newsletter__form.is-member {
		justify-content: flex-end; /* beside the copy: against the panel's right edge */
	}
}
.iab-newsletter__to {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	overflow-wrap: anywhere;
}
.iab-newsletter__to strong {
	color: var(--wp--preset--color--black);
}
/* A member who is already subscribed is not asked at all: the panel around the form goes (the side column's panel
   keeps its LinkedIn link, below) */
:is(.is-style-card, .is-style-panel-red):has(.iab-newsletter--subscribed) {
	display: none;
}
.iab-newsletter__msg {
	margin: 0.5rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.iab-newsletter__msg:empty {
	display: none;
}
.iab-newsletter__msg.is-ok {
	color: var(--wp--custom--state--success);
}
.iab-newsletter__msg.is-err {
	color: var(--wp--custom--state--danger);
}
.is-style-panel-red .iab-newsletter input {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.65);
	color: var(--wp--preset--color--white);
}
.is-style-panel-red .iab-newsletter ::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

/* "Follow us on LinkedIn" (iab_follow_linkedin): under the newsletter form, in the footer panel and the side column */
.iab-follow {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}
.iab-follow a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2rem;
	color: var(--wp--preset--color--black);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.iab-follow a:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-follow svg {
	flex: none;
	width: 1.25em;
	height: 1.25em;
	fill: currentColor;
}
/* Footer panel: under the form, on the right-hand side */
.iab-follow--panel {
	margin-block-start: 0.9rem;
}
/* A signed-in member's one-button form sits against the panel's right edge: the link lines up under it */
.iab-newsletter:has(.iab-newsletter__form.is-member) + .iab-follow--panel {
	text-align: right;
}

/* ── Side column: "join our newsletter" + "Follow us on LinkedIn" (pattern newsletter-aside) ───────────────── */
/* A white panel like the details panel above it: eyebrow, heading, one line, the form stacked (the column is
   narrow), then the LinkedIn link under a hairline, as the share links sit under the details. */
.iab-stay__newsletter > * {
	margin: 0;
}
.iab-stay .is-style-eyebrow {
	margin-block-end: 0.5rem;
}
.iab-stay__title {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.1;
	text-wrap: balance;
}
.iab-stay__text {
	margin-block-start: 0.5rem;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	text-wrap: pretty;
}
.iab-stay .iab-newsletter {
	margin-block-start: 1rem;
}
.iab-stay .iab-newsletter__form .iab-field,
.iab-stay .iab-newsletter__submit {
	flex: 1 1 100%;
}
.iab-stay .iab-newsletter__submit .wp-element-button {
	width: 100%;
}
.iab-stay .iab-newsletter__form.is-member {
	justify-content: flex-start;
}
.iab-stay > .iab-follow {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--iab-border);
}
/* A member who is already subscribed is not asked: the LinkedIn link stands alone */
.iab-stay:has(.iab-newsletter--subscribed) .iab-stay__newsletter {
	display: none;
}
.iab-stay:has(.iab-newsletter--subscribed) > .iab-follow {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}


/* ── Statistic tiles ─────────────────────────────────────────────────────── */
.is-style-kpi {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--preset--spacing--50);
}
.is-style-kpi > * {
	margin-block: 0 !important;
}
.is-style-kpi > * + * {
	margin-block-start: 0.4rem !important;
}
.is-style-kpi.has-black-background-color {
	border-color: var(--wp--preset--color--black);
}
.is-style-stat {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 1;
	letter-spacing: -0.015em;
}

/* ── Badge ───────────────────────────────────────────────────────────────── */
p.is-style-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.3rem 0.65rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.04em;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--black);
}
p.is-style-badge.has-red-background-color {
	color: var(--wp--preset--color--white);
}

/* ── Members: homepage logo row (iab/member-logos) and directory (iab/member-directory) ── */
.iab-member-logos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 560px) {
	.iab-member-logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (min-width: 820px) {
	.iab-member-logos {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
.iab-member-logos__item {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 2;
	padding: 1.1rem 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
}
.iab-member-logos__item.is-dark,
.iab-member__logo.is-dark {
	background: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--black);
}
.iab-member__logo.is-dark {
	border-radius: var(--wp--custom--radius--md);
}
.iab-member-logos__img,
.iab-member__img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 56px;
	object-fit: contain;
}
/* White logos (block setting, for the dark band): outlined tile, artwork sized by the block (--iab-logo-w) */
.iab-member-logos__item.is-white {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.28);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-member-logos__item.is-white .iab-member-logos__img {
	width: var(--iab-logo-w, 60%);
	max-height: none;
}

/* Directory */
.iab-member-dir {
	display: grid;
	gap: 1.25rem;
	scroll-margin-top: 6rem;
}
.iab-member-dir__filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-member-dir__filter a {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.4rem 0.9rem;
	border: 1.5px solid var(--wp--preset--color--black);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: none;
}
.iab-member-dir__filter a:hover {
	background: var(--wp--preset--color--grey-100);
}
.iab-member-dir__filter a[aria-current="page"] {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-member-dir__count {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-member-dir__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-member {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-member__logo {
	display: grid;
	place-items: center;
	height: 96px;
	margin-bottom: 0.5rem;
	padding: 0.75rem;
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--iab-border);
}
.iab-member__initials {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--grey-700);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
}
.iab-member__name {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
	text-transform: none; /* company names keep their own capitals */
}
.iab-member__info {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}
.iab-member__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.5rem;
	color: var(--wp--preset--color--red-dark);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: none;
}
.iab-member__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Directory on a dark band (block setting "White logos on a dark band"): brand black edge to edge,
   outlined tiles with large white logos as in the homepage row, the member's name underneath */
.iab-member-dir--dark {
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background: radial-gradient(ellipse 60% 28rem at 50% 0, rgba(255, 255, 255, 0.09), transparent 70%) var(--wp--preset--color--black);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--black);
	clip-path: inset(0 -100vmax);
	color: var(--wp--preset--color--white);
}
/* Careers page: "Is your company an IAB member? … contact us" under the companies, set off by a hairline */
.iab-careers-add {
	gap: 1rem 2rem;
	margin-block-start: var(--wp--preset--spacing--70) !important;
	padding-block-start: var(--wp--preset--spacing--60);
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.iab-careers-add > p {
	flex: 1 1 24rem;
	max-width: 62ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
}
.iab-careers-add > p strong {
	color: var(--wp--preset--color--white);
}
.iab-careers-add > .wp-block-buttons {
	margin: 0;
}
/* Inside a dark section (the careers page) the section is the band: no second band with its own edge */
.iab-section--dark .iab-member-dir--dark {
	margin-block-start: 0 !important;
	padding-block: 0;
	background: none;
	box-shadow: none;
	clip-path: none;
}
.iab-member-dir--dark :focus-visible {
	outline-color: var(--wp--preset--color--white);
}
.iab-member-dir--dark .iab-member-dir__filter a {
	border-color: rgba(255, 255, 255, 0.6);
	color: var(--wp--preset--color--white);
}
.iab-member-dir--dark .iab-member-dir__filter a:hover {
	background: rgba(255, 255, 255, 0.12);
}
.iab-member-dir--dark .iab-member-dir__filter a[aria-current="page"] {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
}
.iab-member-dir--dark .iab-member-dir__count,
.iab-member-dir--dark .iab-member__info {
	color: rgba(255, 255, 255, 0.78);
}
/* A column is added only once each card is about 218px wide, so a member's one-sentence description (≤ 110
   characters, data/member-info-*.csv) stays within four lines from tablet width up. */
.iab-member-dir--dark .iab-member-dir__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.75rem 1rem;
}
@media (min-width: 760px) {
	.iab-member-dir--dark .iab-member-dir__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (min-width: 1020px) {
	.iab-member-dir--dark .iab-member-dir__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2rem 1.25rem;
	}
}
@media (min-width: 1260px) {
	.iab-member-dir--dark .iab-member-dir__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
.iab-member-dir--dark .iab-member {
	gap: 0.35rem;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
}
.iab-member-dir--dark .iab-member__logo {
	height: auto;
	aspect-ratio: 3 / 2;
	margin-bottom: 0.4rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--wp--preset--color--white); /* a logo that keeps its own tile: white (or black, if marked dark) */
	border-radius: var(--wp--custom--radius--lg);
}
.iab-member-dir--dark .iab-member__logo:is(.is-white, .is-dark) {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.28);
}
.iab-member-dir--dark .iab-member__logo.is-white .iab-member__img {
	width: var(--iab-logo-w, 60%);
	max-height: none;
}
.iab-member-dir--dark .iab-member__initials {
	background: rgba(255, 255, 255, 0.12);
	color: var(--wp--preset--color--white);
}
.iab-member-dir--dark .iab-member__name {
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--md);
}
.iab-member-dir--dark .iab-member__link {
	color: var(--wp--preset--color--white);
}

/* ── Empty state (404 / no results) ──────────────────────────────────────── */
.iab-empty {
	text-align: center;
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
	border: 2px dashed var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
}
.iab-empty .wp-block-search {
	margin-inline: auto;
}

/* Badge: line up with the content column inside constrained layouts (inline-flex ignores auto margins) */
.is-layout-constrained > p.is-style-badge {
	display: flex;
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
}
.is-layout-constrained > p.is-style-badge.alignwide {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2 + var(--wp--preset--spacing--gutter))) !important;
}

/* Newsletter: input and button share one height and baseline */
.iab-newsletter__form > p {
	margin: 0 !important;
}
.iab-newsletter__form input,
.iab-newsletter__submit .wp-element-button {
	box-sizing: border-box;
	height: 3.25rem;
	min-height: 0;
}
.iab-newsletter__form input {
	padding-block: 0;
}

/* ══ Homepage (library: hero fold A, featured fold B, page sections) ══════════ */
/* Design boxes are max 1280 wide with their own inner padding and no outer page gutter. */
.iab-header,
.iab-site-footer,
.iab-front {
	--wp--style--root--padding-left: 0px;
	--wp--style--root--padding-right: 0px;
}
.iab-front > .wp-block-post-content > * + * {
	margin-block-start: 0;
}

/* Hero: headline 2fr / intro + actions 1fr (≥820px). The headline is lowercased like every heading (7 Oct). */
.iab-hero {
	box-sizing: border-box;
	padding: clamp(3rem, 7vw, 5.5rem) var(--wp--preset--spacing--gutter);
	background: var(--wp--preset--color--white);
}
.iab-hero__cols {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--60) !important;
	align-items: start;
	margin: 0 !important;
}
.iab-hero__cols > .wp-block-column {
	flex-basis: auto !important;
	min-width: 0;
}
@media (min-width: 820px) {
	.iab-hero__cols {
		grid-template-columns: 2fr 1fr;
		gap: var(--wp--preset--spacing--70) !important;
	}
}
.iab-hero__title {
	margin: 0;
	color: var(--wp--preset--color--black);
	font-size: clamp(2rem, 4.5vw, 3.4rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
}
.iab-hero__title em {
	text-underline-offset: 5px;
}
.iab-hero__aside {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	padding-top: 0.75rem;
}
.iab-hero__aside > * {
	margin: 0 !important;
}
.iab-hero__aside p {
	max-width: 38ch;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.55;
}
.iab-hero .wp-block-buttons {
	gap: 0.6rem;
}

/* Featured (fold B): dark panel, one item from the "iabFeatured" Query Loop */
.iab-featured-query {
	margin-top: var(--wp--preset--spacing--50) !important;
}
.iab-featured-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-featured {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--60);
	align-items: center;
	margin-inline: clamp(1rem, 4vw, 3rem);
	padding: clamp(2rem, 5vw, 4rem);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
}
@media (min-width: 760px) {
	.iab-featured {
		grid-template-columns: 1fr 1fr;
		gap: var(--wp--preset--spacing--70);
	}
}
.iab-featured > *,
.iab-featured__text > * {
	margin-block: 0 !important;
}
.iab-featured .iab-featured__eyebrow {
	display: block;
	margin: 0 0 0.9rem !important;
	color: rgba(255, 255, 255, 0.6);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.iab-featured__title {
	margin: 0 0 1rem !important;
	color: var(--wp--preset--color--white);
	font-size: clamp(2.2rem, 4.5vw, 3.5rem);
	line-height: 1;
	letter-spacing: -0.02em;
	text-transform: lowercase;
}
.iab-featured__title a {
	color: inherit;
	text-decoration: none;
}
.iab-featured .iab-featured__lede {
	max-width: 42ch;
	margin: 0 0 var(--wp--preset--spacing--50) !important;
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.55;
}
.iab-featured__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.65rem 1.1rem;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: transform var(--iab-fast) var(--iab-ease);
}
.iab-featured__cta:hover {
	transform: translateY(-1px);
}
/* Real covers carry their own title text, so they keep their shape (no crop) */
.iab-featured .iab-featured__visual {
	margin: 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
}
.iab-featured__visual img {
	display: block;
	width: 100%;
	height: auto;
}
.iab-featured__visual--art {
	aspect-ratio: 4 / 3;
}
/* Scroll: the rounded panel expands to the full container width (Chromium; others keep the card) */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.iab-featured {
			animation: iab-featured-expand linear both;
			animation-timeline: view();
			animation-range: entry 0% cover 40%;
		}
		@keyframes iab-featured-expand {
			from {
				margin-inline: clamp(1rem, 4vw, 3rem);
				border-radius: var(--wp--custom--radius--lg);
			}
			to {
				margin-inline: 0;
				border-radius: 0;
			}
		}
	}
}

/* Page sections (library section.page-section): 1280 box, hairline between sections */
.iab-section {
	box-sizing: border-box;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto !important;
	padding: clamp(3rem, 6vw, 5rem) var(--wp--preset--spacing--gutter);
	background: var(--wp--preset--color--white);
}
.iab-section + .iab-section {
	border-top: 1px solid var(--iab-border);
}
/* Soft band runs edge to edge; content stays in the 1280 box */
.iab-section--soft {
	background: var(--wp--preset--color--soft);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--soft);
	clip-path: inset(0 -100vmax);
}
/* Dark band (meet our members): brand black edge to edge, lifted a little behind the content */
.iab-section--dark {
	background: radial-gradient(ellipse 60% 75% at 50% 62%, rgba(255, 255, 255, 0.09), transparent 70%) var(--wp--preset--color--black);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--black);
	clip-path: inset(0 -100vmax);
	color: var(--wp--preset--color--white);
}
.iab-section--dark :where(h1, h2, h3, h4) {
	color: var(--wp--preset--color--white);
}
.iab-section--dark .iab-section__head .iab-section__intro {
	color: rgba(255, 255, 255, 0.78);
}
.iab-section--dark .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--white);
}
.iab-section--dark :focus-visible {
	outline-color: var(--wp--preset--color--white);
}
.iab-section--soft,
.iab-section--dark,
.iab-section + :is(.iab-section--soft, .iab-section--dark),
:is(.iab-section--soft, .iab-section--dark) + .iab-section {
	border-top: 0;
}
.iab-section__head {
	gap: 1rem 2rem;
	margin: 0 0 var(--wp--preset--spacing--60) !important;
}
.iab-section__titles > * {
	margin-block: 0 !important;
}
.iab-section__head h2 {
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 1;
	letter-spacing: -0.015em;
}
.iab-section__head .iab-section__intro {
	max-width: 65ch;
	margin-top: 0.75rem !important;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--md);
}

/* ── Event details (iab/event-meta) ──────────────────────────────────────── */
/* Shared: brand line icons (icons.jsx, 1.5 stroke) in ink, spaced with margin (never flex gap). */
.iab-event-meta__icon {
	flex: none;
	width: 1rem;
	height: 1rem;
	margin: 0.15em 0.55rem 0 0;
	color: var(--wp--preset--color--black);
}
/* Windows high contrast: icons follow the forced text colour (ink would vanish on a dark canvas) */
@media (forced-colors: active) {
	.iab-event-meta__icon {
		color: currentColor;
	}
}
.iab-event-meta__text {
	min-width: 0;
	overflow-wrap: anywhere;
}
/* Keep "8.30am–12pm" on one line; a trailing note ("+ drinks") may wrap. */
.iab-event-meta__range {
	white-space: nowrap;
}

/* Card: calendar tile (the date) beside the time and location rows */
.iab-event-meta__list {
	container-type: inline-size; /* narrow cards let a long time range wrap (below) */
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: start;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-event-meta__list:has(> .iab-event-meta__date) {
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	column-gap: 0.9rem;
}
.iab-event-meta__list > li {
	display: flex;
	align-items: flex-start;
	margin: 0;
}
.iab-event-meta__date {
	grid-column: 1;
	grid-row: 1 / -1;
}
.iab-event-meta__date ~ li {
	grid-column: 2;
}
.iab-event-meta__date + li {
	padding-top: 0.3rem; /* first row sits level with the tile's month */
}
/* Time and location always stack beside the tile (client, 2026-09-30). On narrow cards a long
   range may break after the dash rather than run past the text column. */
@container (max-width: 17rem) {
	.iab-event-meta__range {
		white-space: normal;
	}
}
/* The tile is the brand calendar icon drawn large: 1.5px ink frame, header rule, two binding rings. */
.iab-event-meta__cal {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 3.25rem;
	margin-top: 0.3rem;
	border: 1.5px solid currentColor;
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--black);
	line-height: 1;
	text-align: center;
	font-variant-numeric: lining-nums;
}
.iab-event-meta__cal::before,
.iab-event-meta__cal::after {
	content: "";
	position: absolute;
	top: -0.35rem;
	left: 28%;
	width: 1.5px;
	height: 0.6rem;
	border-radius: 1px;
	background: currentColor;
}
.iab-event-meta__cal::after {
	left: auto;
	right: 28%;
}
.iab-event-meta__cal-month {
	align-self: stretch;
	padding: 0.45rem 0 0.3rem;
	border-bottom: 1.5px solid currentColor;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-indent: 0.12em; /* optical centring of tracked caps */
	text-transform: uppercase;
}
.iab-event-meta__cal-day {
	padding-top: 0.35rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg); /* never larger than the card title */
	font-weight: 700;
	letter-spacing: -0.01em;
}
.iab-event-meta__cal-sub {
	padding: 0.2rem 0 0.45rem;
	color: var(--wp--preset--color--grey-700);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-indent: 0.12em;
	text-transform: uppercase;
}

/* Card actions: "Read more ›" left, "Get Tickets" (or "Past event") right, on the card's bottom rule */
.iab-event-meta__actions {
	position: relative;
	z-index: 2; /* above the title's whole-card link */
	container-type: inline-size;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--iab-border);
	pointer-events: none; /* blank space falls through to the card link… */
}
.iab-event-meta__actions > * {
	pointer-events: auto; /* …the links stay clickable */
}
.iab-event-meta__more {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	border-radius: var(--wp--custom--radius--sm); /* rounds the focus ring */
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: none;
}
.iab-event-meta__more .iab-event-meta__icon {
	margin: 0 0 0 0.2rem;
	color: currentColor;
	transition: transform var(--iab-fast) var(--iab-ease);
}
.iab-event-meta__more:hover {
	color: var(--wp--preset--color--red-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.iab-event-meta__more:hover .iab-event-meta__icon {
	transform: translateX(2px);
}
/* Get Tickets = the library button (.wp-element-button: red-dark pill, 600, lift + shadow on hover), 44px tall */
.iab-event-meta__tickets.wp-element-button {
	box-sizing: border-box;
	min-height: 2.75rem;
	gap: 0;
	white-space: nowrap;
}
.iab-event-meta__tickets .iab-event-meta__icon {
	width: 0.875rem;
	height: 0.875rem;
	margin: 0 0 0 0.45rem;
	color: currentColor;
}
/* Narrow cards: Get Tickets takes its own full-width line under Read more (Read more + gap + button ≈ 245px) */
@container (max-width: 16.5rem) {
	.iab-event-meta__actions > .iab-event-meta__tickets {
		flex: 1 0 100%;
	}
}
/* Status badges = library .iab-badge (xs 700, ink on grey-100); "Upcoming" (single event only) gets the brand dot */
.iab-event-meta__status.is-upcoming::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--red); /* brand dot: the one allowed use of #EE3831 here */
}

/* Full layout (event page): details panel — status badge, labelled facts, then Get Tickets.
   In the event page's side column the facts stack; across the page (narrow screens) they sit in a row. */
.iab-event-meta--full {
	container-type: inline-size;
	padding: 1.5rem;
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--black);
}
.iab-event-meta__head {
	display: flex;
	margin: 0 0 1.1rem;
}
.iab-event-meta--full .iab-event-meta__status {
	background: var(--wp--preset--color--white);
}
.iab-event-meta__facts {
	display: grid;
	gap: 1.1rem 2rem;
	margin: 0;
}
/* Date | Time side by side, the location on its own line; all three in a row on wide panels */
@container (min-width: 30rem) {
	.iab-event-meta__facts {
		grid-template-columns: max-content minmax(0, 1fr);
	}
	.iab-event-meta__facts > .iab-event-meta__location {
		grid-column: 1 / -1;
	}
}
@container (min-width: 44rem) {
	.iab-event-meta__facts {
		grid-template-columns: max-content max-content minmax(0, 1fr);
	}
	.iab-event-meta__facts > .iab-event-meta__location {
		grid-column: auto;
	}
}
.iab-event-meta__fact dt {
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-event-meta__fact dd {
	display: flex;
	align-items: flex-start;
	margin: 0;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	line-height: 1.4;
}
.iab-event-meta__fact .iab-event-meta__icon {
	width: 1.125rem;
	height: 1.125rem;
	margin: 0.05em 0.5rem 0 0;
}
/* "View map ↗" on its own line under the address */
.iab-event-meta__map {
	display: flex;
	align-items: center;
	width: fit-content;
	margin-top: 0.3rem;
	border-radius: var(--wp--custom--radius--sm); /* rounds the focus ring */
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.iab-event-meta__map:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-event-meta__map .iab-event-meta__icon {
	width: 0.875rem;
	height: 0.875rem;
	margin: 0 0 0 0.3rem;
	color: currentColor;
}
/* Ticket types of an event sold on Humanitix: name and price, a hairline between them */
.iab-event-meta__types {
	margin-top: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--iab-border);
}
.iab-event-meta__types-title {
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-tickets {
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-tickets__type {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 !important;
	padding: 0.55rem 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.35;
}
.iab-tickets__type + .iab-tickets__type {
	border-top: 1px solid var(--iab-border);
}
.iab-tickets__price {
	flex: none;
	font-weight: 700;
}
.iab-tickets__type.is-sold-out {
	color: var(--wp--preset--color--muted);
}
.iab-event-meta__foot {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--iab-border);
}
.iab-event-meta--full .iab-event-meta__tickets.wp-element-button {
	padding-inline: 1.5rem;
}
@container (width < 36rem) {
	.iab-event-meta--full .iab-event-meta__tickets.wp-element-button {
		flex: 1 0 100%;
	}
}
/* "Sponsor this event": the second action of an upcoming event, outlined, under (or beside) Get Tickets */
.iab-event-meta__foot:has(.iab-event-meta__sponsor) {
	flex-wrap: wrap;
	gap: 0.625rem;
}
.iab-event-meta__sponsor.wp-element-button {
	box-sizing: border-box;
	flex: 1 0 100%;
	min-height: 2.75rem;
	border-color: var(--wp--preset--color--black);
	background: transparent;
	color: var(--wp--preset--color--black);
	white-space: nowrap;
}
.iab-event-meta__sponsor.wp-element-button:hover {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-event-meta__foot:has(.iab-event-meta__sponsor) > .iab-event-meta__tickets.wp-element-button {
	flex: 1 0 100%;
}

/* Sponsorship enquiry (an event page with ?sponsor=1): the form takes the place of the description */
.iab-sponsor__back {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.iab-sponsor__back a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}
.iab-sponsor__back a:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-sponsor__title {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--xxl);
	line-height: 1.05;
}
.iab-sponsor__lede {
	max-width: 46rem;
	margin: 0 0 var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--grey-700);
}
@media (prefers-reduced-motion: reduce) {
	.iab-event-meta__more .iab-event-meta__icon,
	.iab-event-meta__tickets.wp-element-button {
		transition: none;
	}
	.iab-event-meta__more:hover .iab-event-meta__icon,
	.iab-event-meta__tickets.wp-element-button:hover {
		transform: none;
	}
}

/* ── Event page (single-event.html) ──────────────────────────────────────── */
/* One box inset like the header bar, so the title lines up with the logo: breadcrumbs, label and
   title, then the body beside a details column that stays in view while the page scrolls, then
   "more events". Below 1100px the details panel sits between the title and the body. */
.iab-event > :is(.iab-event__article, .iab-event__more) {
	max-width: calc(var(--wp--style--global--wide-size) - 2 * var(--wp--preset--spacing--gutter)); /* = wide blocks, see top of file */
}
.iab-event__head {
	margin-bottom: var(--wp--preset--spacing--60);
}
.iab-event__head .wp-block-post-title {
	max-width: 60rem;
	text-wrap: balance;
}
.iab-event__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60);
}
.iab-event__grid > * {
	min-width: 0;
	max-width: 50rem; /* reading measure when the body has the row to itself */
	margin-block: 0;
}
/* Nothing to show (an evergreen listing with no date, time or place): no side column */
.iab-event__aside:not(:has(.iab-event-meta)) {
	display: none;
}
@media (min-width: 1100px) {
	.iab-event__grid:has(.iab-event-meta) {
		grid-template-columns: minmax(0, 1fr) clamp(18rem, 26vw, 22rem);
		column-gap: clamp(2rem, 4vw, 4rem);
		align-items: start;
	}
	.iab-event__grid:has(.iab-event-meta) > .iab-event__main {
		grid-area: 1 / 1;
	}
	.iab-event__grid:has(.iab-event-meta) > .iab-event__aside {
		grid-area: 1 / 2;
		position: sticky;
		top: calc(7rem + var(--wp-admin--admin-bar--height, 0px)); /* clears the pinned header */
	}
}
/* Event artwork is a title card in many shapes (16:9, 2:1, square, banner): shown whole, never cropped */
.wp-block-post-featured-image.iab-event__image {
	margin: 0 0 var(--wp--preset--spacing--60);
}
.wp-block-post-featured-image.iab-event__image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 30rem;
	border-radius: var(--wp--custom--radius--lg);
}
/* A recording pasted into the body (YouTube / Vimeo at a fixed 500 x 281) fills the column */
.iab-event__body > :is(p, div:not([class])) > iframe:is([src*="youtube"], [src*="youtu.be"], [src*="vimeo"]):only-child,
.iab-event__body > iframe:is([src*="youtube"], [src*="youtu.be"], [src*="vimeo"]) {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: var(--wp--custom--radius--lg);
}
/* Phones: an agenda table too wide for the screen scrolls sideways in its own box, not the page */
@media (max-width: 480px) {
	.iab-event__body table:not([class*="tve"]) {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}
.iab-event__main > .iab-share {
	margin-block: var(--wp--preset--spacing--60) 0;
}
.iab-event__more {
	margin-top: var(--wp--preset--spacing--80);
	padding-top: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--iab-border);
}
/* A closing row, not a page section: one step down from the section heading size */
.iab-event__more .iab-section__head h2 {
	font-size: var(--wp--preset--font-size--xxl);
}

/* ── Article (single.html) ───────────────────────────────────────────────── */
.iab-article__label a,
.iab-primary-term a {
	color: var(--wp--preset--color--red-dark);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
}
.iab-article__meta {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-article__meta > * {
	margin: 0;
}
.iab-article__meta .wp-block-post-date {
	font-size: inherit;
	color: inherit;
}
.iab-article__tags {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}

/* Article body: long-form size and rhythm, in the same column as the title.
   Covers block content and hand-coded HTML (iab-core rewrites its inline styles to these
   tokens, includes/legacy-content.php). Headings that carry a component class keep their own size. */
.iab-article__body {
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
}
.iab-article__body :is(h2, h3, h4, h5):is(:not([class]), .wp-block-heading) {
	margin-block: 2.25rem 0.75rem;
	line-height: 1.15;
	text-wrap: balance;
}
.iab-article__body h2:is(:not([class]), .wp-block-heading) {
	font-size: var(--wp--preset--font-size--xl);
}
.iab-article__body h3:is(:not([class]), .wp-block-heading) {
	font-size: var(--wp--preset--font-size--lg);
}
.iab-article__body :is(h4, h5):is(:not([class]), .wp-block-heading) {
	font-size: var(--wp--preset--font-size--md);
}
.iab-article__body > :first-child,
.iab-article__body > div:not([class]) > :first-child {
	margin-block-start: 0;
}
.iab-article__body p:empty {
	display: none; /* wpautop wraps HTML comments in paragraphs */
}
.iab-article__body li + li {
	margin-block-start: 0.4rem;
}
.iab-article__body :is(img, video, iframe) {
	max-width: 100%;
}
.iab-article__body img {
	height: auto;
}

/* Pieces of hand-coded content, mapped to the library by iab-core */
.iab-lc-display {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.015em;
}
.iab-lc-display--lg {
	font-size: var(--wp--preset--font-size--xxl);
}
.iab-lc-eyebrow {
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
/* A list drawn by hand as a box of flex rows (iab-core turns it into a real list, includes/legacy-content.php).
   A column of lines, the reports' key findings, is numbered in the brand red, one finding per row with a
   rule between; a grid of names keeps its own columns and gets a dot per item. */
.iab-lc-list {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
}
.iab-lc-list > li {
	position: relative;
	padding-left: 1.4rem;
}
.iab-lc-list > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background: var(--wp--preset--color--red-dark);
}
.iab-article__body .iab-lc-list--numbered > li {
	counter-increment: iab-finding;
	display: grid;
	grid-template-columns: 2.4rem minmax(0, 1fr);
	column-gap: 0.75rem;
	align-items: baseline;
	margin: 0;
	padding: 0.85rem 0;
}
.iab-lc-list--numbered {
	counter-reset: iab-finding;
}
/* The first finding sits close under its label */
.iab-article__body .iab-lc-list--numbered > li:first-child {
	padding-top: 0.25rem;
}
.iab-lc-list--numbered > li + li {
	border-top: 1px solid var(--iab-border);
}
.iab-lc-list--numbered > li::before {
	content: counter(iab-finding, decimal-leading-zero);
	position: static;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--red-dark);
}
/* A box written with font-size:0 (white-space hack): its children read at the article size again */
.iab-lc-nogap > :not(h1, h2, h3, h4, h5, h6) {
	font-size: var(--wp--preset--font-size--md);
}
/* A heading that opens a hand-coded box sits at the top of the box's own padding */
.iab-article__body :is([style*="background"], [style*="padding"], [style*="border"]) > :is(h2, h3, h4, h5):first-child {
	margin-block-start: 0;
}
.iab-lc-button--outline.wp-element-button {
	background: transparent;
	border-color: currentColor;
	color: var(--wp--preset--color--black);
}
/* On a red or dark box the white button stays solid white (library "on red panel" button) */
.iab-lc-on-dark .iab-lc-button--outline.wp-element-button {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
}
/* Member download rows (.mpdl-btn, .mpdl-btn-3, …) carry their own !important button CSS inside
   the content; this turns them into the download button (red-dark pill with the arrow), hover included. */
.iab-article__body [class^="mpdl-btn"] a,
.iab-article__body [class^="mpdl-btn"] a:hover {
	display: inline-flex !important;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 1.1rem !important;
	border: 1.5px solid var(--wp--preset--color--red-dark) !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--red-dark) !important;
	color: var(--wp--preset--color--white) !important;
	font-size: var(--wp--preset--font-size--sm) !important;
	line-height: 1.25 !important;
	/* A long report title wraps inside the button instead of running past a phone's edge (the content's own
	   CSS sets nowrap with !important) */
	max-width: 100%;
	white-space: normal !important;
	text-align: left;
	transition: transform var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
.iab-article__body [class^="mpdl-btn"] a::before {
	flex: none;
	content: "";
	width: 0.9em;
	height: 0.9em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M4 20h16'/%3E%3C/svg%3E") center / contain no-repeat;
}
.iab-article__body [class^="mpdl-btn"] a:hover {
	transform: translateY(-1px);
	box-shadow: var(--wp--preset--shadow--md);
}

/* ── Spam protection (IAB Core includes/turnstile.php) ────────────────────────
   Cloudflare Turnstile sits just above a form's send button. It stays out of sight unless a visitor has to
   click it; its note says when sending waits for the check. */
.iab-turnstile:empty {
	display: none;
}
.iab-turnstile {
	margin-block: 0.75rem;
	max-width: 400px;
}
.iab-turnstile__note {
	margin: 0.5rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--grey-700);
}

/* ── Download button (iab/download-button) ───────────────────────────────────
   The first file of the Documents field as one button in the body (Research report template), with its
   format and size beside it; wraps under the button on phones. */
.iab-download-button {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1rem;
	margin-block: var(--wp--preset--spacing--50);
}
.iab-download-button__meta {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-download-button__locked {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
}

/* ── Downloads & links (iab/downloads) ───────────────────────────────────────
   A panel per section ("downloads", "external links"); each item is a row that is one link:
   format tile · name with format and size · Download / Open button. */
.iab-downloads {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	margin-block: var(--wp--preset--spacing--60);
}
.iab-downloads__section {
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--grey-100);
}
.iab-downloads__title {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--lg);
	text-transform: lowercase;
}
.iab-downloads__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.6rem;
}
.iab-dl {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	margin: 0;
	padding: 0.85rem 1rem;
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	text-decoration: none;
	transition: transform var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease), border-color var(--iab-fast) var(--iab-ease);
}
a.iab-dl:hover {
	border-color: var(--wp--preset--color--black);
	box-shadow: var(--wp--preset--shadow--md);
	transform: translateY(-1px);
	color: var(--wp--preset--color--black);
}
a.iab-dl:focus-visible {
	outline: 2px solid var(--wp--preset--color--black);
	outline-offset: 3px;
}
/* The format tile: a document with a folded corner */
.iab-dl__type {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	clip-path: polygon(0 0, 68% 0, 100% 32%, 100% 100%, 0 100%);
}
.iab-dl--link .iab-dl__type,
.iab-dl--locked .iab-dl__type {
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--black);
	clip-path: none;
}
.iab-dl__type .iab-dl__icon {
	width: 1.25rem;
	height: 1.25rem;
}
.iab-dl__text {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}
.iab-dl__name {
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.iab-dl__meta {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.3;
	color: var(--wp--preset--color--muted);
}
/* The button: the library button (red-dark pill, 600), with the arrow; "Open" is its outline form */
.iab-dl__action {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.6rem 1.1rem;
	border: 1.5px solid var(--wp--preset--color--red-dark);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	white-space: nowrap;
	transition: background-color var(--iab-fast) var(--iab-ease), color var(--iab-fast) var(--iab-ease);
}
.iab-dl__action--outline {
	border-color: var(--wp--preset--color--black);
	background: transparent;
	color: var(--wp--preset--color--black);
}
a.iab-dl:hover .iab-dl__action--outline {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-dl__action .iab-dl__icon {
	width: 0.9rem;
	height: 0.9rem;
}
/* Members-only / registered-only note, in the same row shape (not a link) */
.iab-dl--locked {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	margin-top: 0.6rem;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}
.iab-dl--locked .iab-dl__text {
	display: block;
}
.iab-dl--locked strong {
	display: block;
	margin-bottom: 0.1rem;
	font-size: var(--wp--preset--font-size--base);
}
.iab-dl--locked br {
	display: none; /* the bold line is already its own line */
}
/* Phones: the button moves under the name */
@media (max-width: 600px) {
	.iab-dl {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0.6rem 0.85rem;
		padding: 0.85rem;
	}
	a.iab-dl .iab-dl__action {
		grid-column: 2;
		justify-self: start;
	}
}

/* ── Locked content (MemberPress unauthorized view) ─────────────────────── */
/* The item's public summary, then the gate: a card with who it is for and the ways in, beside what
   membership includes (under them where the gate is narrower than 48rem). */
.iab-locked {
	margin-block: var(--wp--preset--spacing--60);
	container-type: inline-size; /* the gate splits by its own width (it also sits beside a side column) */
}
.iab-resource__body > .iab-locked {
	margin-block: 0;
}
.iab-locked__summary {
	max-width: 44rem;
	margin: 0 0 var(--wp--preset--spacing--60);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
}
.iab-gate {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--md);
	overflow: hidden;
}
.iab-gate__main,
.iab-gate__aside {
	padding: clamp(1.5rem, 4vw, 2rem);
}
/* The three ways in: one row where they fit; when they wrap, the rows keep a gap */
.iab-gate .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.iab-gate__main > *,
.iab-gate__aside > * {
	margin-block: 0;
}
.iab-gate__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-block-end: 1.1rem;
	padding: 0.35rem 0.8rem 0.35rem 0.6rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}
.iab-gate__badge svg {
	flex: none;
}
.iab-locked__title {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--xl);
	text-wrap: balance;
}
.iab-locked__lede {
	max-width: 52ch;
	margin: 0 0 1.5rem;
	color: var(--wp--preset--color--grey-700);
}
.iab-gate__note {
	margin-block-start: 1rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-gate__aside {
	border-top: 1px solid var(--iab-border);
	background: var(--wp--preset--color--grey-100);
}
.iab-gate__aside .is-style-eyebrow {
	margin-block-end: 1rem;
	color: var(--wp--preset--color--muted);
}
.iab-gate__list {
	display: grid;
	gap: 0.8rem;
	padding: 0;
	list-style: none;
	font-weight: 600;
	line-height: 1.35;
}
.iab-gate__list li {
	display: flex;
	gap: 0.6rem;
	margin: 0;
}
/* Brand icon set "check" (24 grid, 1.5 stroke), drawn as a mask so it takes the brand red */
.iab-gate__list li::before {
	content: "";
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.1em;
	background: var(--wp--preset--color--red-dark);
	-webkit-mask: var(--iab-icon) center / contain no-repeat;
	mask: var(--iab-icon) center / contain no-repeat;
	--iab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
}
.iab-gate__small {
	margin-block-start: 1.25rem;
	padding-block-start: 1rem;
	border-top: 1px solid var(--iab-border);
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}
/* Side by side only where the gate is wide enough for the three buttons on one row beside the list */
@container (min-width: 48rem) {
	.iab-gate {
		grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
	}
	.iab-gate__aside {
		border-top: 0;
		border-left: 1px solid var(--iab-border);
	}
}
@media (forced-colors: active) {
	.iab-gate__list li::before {
		forced-color-adjust: none;
		background: CanvasText; /* mask icons are drawn with a background, which forced colours would drop */
	}
}


/* Share links */
.iab-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-block: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-share__label {
	font-weight: 700;
}
.iab-share ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-share a {
	display: inline-flex;
	padding: 0.35rem 0.8rem;
	border: 1.5px solid var(--wp--preset--color--grey-300);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--black);
	text-decoration: none;
	font-weight: 600;
}
.iab-share a:hover {
	border-color: var(--wp--preset--color--black);
}
/* Where the 760 column leaves a gutter wide enough, the links leave the article flow and float as a rail on
   the right, pinned mid-viewport while the page scrolls. Narrower than that — and on every page built on the
   side-column layout (main.iab-resource: resources, blog articles, news, guidelines, events), where the side
   column takes that space — they stay inline. The panel is solid because the rail passes over wide images, the recommended cards and the footer. */
@media (min-width: 1100px) {
	body:not(:has(.iab-resource)) .iab-share {
		position: fixed;
		top: 50%;
		right: clamp(0.75rem, 2vw, 2rem);
		z-index: 40; /* under the sticky header */
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
		margin-block: 0;
		padding: 0.75rem;
		border: 1px solid var(--iab-border);
		border-radius: var(--wp--custom--radius--lg);
		background: var(--wp--preset--color--white);
		box-shadow: var(--wp--preset--shadow--md);
		text-align: center;
		transform: translateY(-50%);
	}
	body:not(:has(.iab-resource)) .iab-share ul {
		flex-direction: column;
	}
}
.iab-related {
	margin-top: var(--wp--preset--spacing--70);
}

/* ── Resource, blog article, news and guideline pages (single-resource.html, single-post.html,
      single-news.html, single-guideline.html); single-event.html builds on the same classes ─ */
/* A soft band under the header carries the breadcrumbs, the title and the cover. Below it the body reads
   beside a side column (details, share, "become a member") that stays in view while the page scrolls, then
   the red membership band and "recommended". Below 1100px the side column follows the body. */
.iab-resource > :is(.iab-resource__article, .iab-member-cta, .iab-resource__more) {
	max-width: calc(var(--wp--style--global--wide-size) - 2 * var(--wp--preset--spacing--gutter)); /* = wide blocks, see top of file */
}
.iab-resource__hero {
	padding-block: var(--wp--preset--spacing--60) clamp(2.5rem, 5vw, 4rem);
	background: var(--wp--preset--color--soft);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--soft);
	clip-path: inset(0 -100vmax);
}
.iab-resource__hero > .wp-block-iab-breadcrumbs {
	margin: 0 0 var(--wp--preset--spacing--60);
}
/* On the soft band the trail needs the darker greys to stay readable */
.iab-resource__hero .iab-crumbs,
.iab-resource__hero .iab-crumbs a {
	color: var(--wp--preset--color--muted);
}
.iab-resource__hero .iab-crumbs a:hover {
	color: var(--wp--preset--color--black);
}
.iab-resource__hero .iab-crumbs li + li::before {
	color: var(--wp--preset--color--grey-500);
}
.iab-resource__hero .iab-crumbs .iab-crumbs__current {
	color: var(--wp--preset--color--black);
}
.iab-resource__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60);
	align-items: center;
}
.iab-resource__hero-grid > * {
	min-width: 0;
	margin-block: 0;
}
.iab-resource__intro > * {
	margin-block: 0;
}
.iab-resource__intro .wp-block-post-title {
	max-width: 60rem;
	margin-block: 0.75rem 1.25rem;
	text-wrap: balance;
}
/* Covers come in many shapes (16:9, 4:3, square, banner) and carry their own title text: shown whole, never cropped */
.wp-block-post-featured-image.iab-resource__cover {
	margin: 0;
}
.wp-block-post-featured-image.iab-resource__cover img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 24rem;
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--lg);
}
@media (min-width: 900px) {
	.iab-resource__hero-grid:has(.iab-resource__cover) {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		column-gap: clamp(2rem, 5vw, 5rem);
	}
	/* Beside a cover the title takes one step down, so a long report name stays within a few lines */
	.iab-resource__hero-grid:has(.iab-resource__cover) .wp-block-post-title {
		font-size: clamp(2rem, 3.6vw, 3rem);
	}
	.iab-resource__hero-grid > .iab-resource__cover {
		justify-self: end;
	}
}
/* News headlines are whole sentences: one more step down, so the band stays a band */
.single-news .iab-resource__intro .wp-block-post-title {
	font-size: clamp(1.75rem, 4vw, 3rem);
	line-height: 1.1;
}
@media (min-width: 900px) {
	.single-news .iab-resource__hero-grid:has(.iab-resource__cover) .wp-block-post-title {
		font-size: clamp(1.75rem, 3vw, 2.5rem);
	}
}
.iab-resource__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--70);
	padding-top: clamp(2.5rem, 5vw, 4rem);
}
.iab-resource__grid > * {
	min-width: 0;
	margin-block: 0;
}
.iab-resource__main {
	max-width: 50rem; /* reading measure when the body has the row to itself */
}
.iab-resource__main > :last-child {
	margin-block-end: 0;
}
/* A table in an article sits in its own box that scrolls sideways (iab_core_tidy_article_body), so a wide table
   never pushes the page past a phone's edge; long web addresses typed as link text break instead of overflowing */
.iab-resource__body .iab-table-scroll {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
}
.iab-resource__body .iab-table-scroll > table {
	margin-block: 0;
}
.iab-resource__body a {
	overflow-wrap: anywhere;
}
/* Phones: a hand-coded layout table (boxes side by side, role="presentation") stacks its boxes */
@media (max-width: 600px) {
	.iab-resource__body table[role="presentation"],
	.iab-resource__body table[role="presentation"] > tbody,
	.iab-resource__body table[role="presentation"] > tbody > tr,
	.iab-resource__body table[role="presentation"] > tbody > tr > td {
		display: block;
		width: auto !important;
		margin-inline: 0 !important;
	}
	.iab-resource__body table[role="presentation"] > tbody > tr > td + td {
		margin-top: 0.6rem;
	}
}
.iab-resource__aside {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--50);
}
.iab-resource__aside > * {
	margin: 0;
}
.iab-resource__panel {
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
}
.iab-resource__panel > * {
	margin: 0;
}
.iab-resource__panel > .iab-share {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--iab-border);
}
/* Nothing above the share links (an event with no topics): no rule over them */
.iab-resource__panel > .iab-share:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
@media (min-width: 1100px) {
	.iab-resource__grid {
		grid-template-columns: minmax(0, 1fr) clamp(17rem, 24vw, 20rem);
		column-gap: clamp(2.5rem, 5vw, 5rem);
		align-items: start;
	}
}
/* Pinned while the page scrolls. A column shorter than the window sits under the header; a taller one (the event
   panel, the newsletter panel and the member card together are) scrolls with the page until its last box reaches
   the bottom of the window, then stays: assets/js/aside.js measures it and sets --iab-aside-top (negative when
   tall). Without the script the column pins under the header as before. */
@media (min-width: 1100px) {
	.iab-resource__aside {
		position: sticky;
		top: var(--iab-aside-top, calc(7rem + var(--wp-admin--admin-bar--height, 0px))); /* clears the pinned header */
	}
}
/* One column: the red band follows straight after, so the card is not repeated */
@media (max-width: 1099.98px) {
	.iab-resource__aside > .iab-member-cta--card {
		display: none;
	}
}
/* Event and training pages (single-event.html): the event panel (date, time, place, Get Tickets) leads the
   side column. In one column it comes before the description and the rest of the side column after it. */
@media (max-width: 1099.98px) {
	.iab-resource--event .iab-resource__aside {
		display: contents;
	}
	.iab-resource--event .iab-resource__aside > .iab-event-meta {
		order: -1;
	}
}
/* Dates of an event series (iab/event-series, full layout): one row per date, as many columns as fit */
.iab-event-meta--series .iab-event-meta__facts {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}
/* The band keeps the article's line: its edges sit on the same line as the body, the side column and the cards */
.iab-resource > .iab-member-cta--band {
	margin-block-start: var(--wp--preset--spacing--80);
}
.iab-resource__more {
	margin-top: var(--wp--preset--spacing--80);
}
/* No band above (members): a hairline closes the article instead */
.iab-resource__article + .iab-resource__more {
	padding-top: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--iab-border);
}
/* A closing row, not a page section: one step down from the section heading size */
.iab-resource__more .iab-section__head h2 {
	font-size: var(--wp--preset--font-size--xxl);
}
/* Nothing related to recommend: no heading over an empty row */
.iab-resource__more:not(:has(.wp-block-post)) {
	display: none;
}

/* ── Details (iab/post-details): label over value, hairline between rows ──── */
.iab-details {
	margin: 0;
}
.iab-details__row + .iab-details__row {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--iab-border);
}
.iab-details dt {
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-details dd {
	margin: 0;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	line-height: 1.4;
}
.iab-details__terms {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}
.iab-details__terms a {
	padding: 0.3rem 0.7rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color var(--iab-fast) var(--iab-ease), color var(--iab-fast) var(--iab-ease);
}
.iab-details__terms a:hover {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

/* ── Pages built from blocks (page.html): the same soft band under the header carries the breadcrumbs and title ── */
.iab-page > .iab-page__hero {
	margin-block: 0 var(--wp--preset--spacing--70);
	padding-block: var(--wp--preset--spacing--60) clamp(2rem, 4vw, 3rem);
	background: var(--wp--preset--color--soft);
}
.iab-page__hero > .wp-block-iab-breadcrumbs {
	margin-block: 0 var(--wp--preset--spacing--60);
}
.iab-page__hero > .wp-block-post-title {
	margin-block: 0;
	text-wrap: balance;
}
/* A label above the title (a member company's register page: "Member login") */
.iab-page__hero > .iab-page__eyebrow {
	margin-block: 0 0.5rem;
	color: var(--wp--preset--color--red-dark);
}
.iab-page__hero .iab-crumbs,
.iab-page__hero .iab-crumbs a {
	color: var(--wp--preset--color--muted);
}
.iab-page__hero .iab-crumbs a:hover,
.iab-page__hero .iab-crumbs .iab-crumbs__current {
	color: var(--wp--preset--color--black);
}
.iab-page__hero .iab-crumbs li + li::before {
	color: var(--wp--preset--color--grey-500);
}

/* Breadcrumbs and title start in line with the logo (as on resource pages), keeping their reading width:
 * the page hero, and pages marked .iab-start (the members directory: crumbs, title, lede). The edge is that of
 * wide blocks (the header's line, see the top of this file). */
.iab-page__hero.is-layout-constrained > :not(.alignwide):not(.alignfull),
.iab-start.is-layout-constrained > :not(.alignwide):not(.alignfull),
.iab-start > .wp-block-post-content.is-layout-constrained > :not(.alignwide):not(.alignfull) {
	margin-inline: max(0px, calc((100% - var(--wp--style--global--wide-size) + 2 * var(--wp--preset--spacing--gutter)) / 2)) auto !important;
}

/* ── Classic pages (page-classic.html): the article layout for pages written without blocks ── */
/* In this section (iab/page-nav): the pages that sit with this one */
.iab-page-nav {
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
}
.iab-page-nav__title {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-page-nav__title a {
	color: inherit;
	text-decoration: none;
}
.iab-page-nav__title a:hover {
	color: var(--wp--preset--color--black);
}
.iab-page-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-page-nav li + li {
	border-top: 1px solid var(--iab-border);
}
.iab-page-nav :is(li > a, li > span) {
	display: block;
	padding: 0.55rem 0;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}
.iab-page-nav li > a:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-page-nav [aria-current="page"] {
	padding-left: 0.75rem;
	border-left: 3px solid var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--red-dark);
}
/* The councils' list: each name sits beside a dot in its council's colour (IAB red for the working groups),
   as on the listing page's cards; the page being read is marked with a bar in that colour */
.iab-page-nav--groups :is(li > a, li > span) {
	position: relative;
	padding-left: 1.25rem;
}
.iab-page-nav--groups :is(li > a, li > span)::before {
	content: "";
	position: absolute;
	top: calc(0.55rem + 0.675em - 0.3125rem); /* centred on the first line */
	left: 0;
	width: 0.625rem;
	height: 0.625rem;
	border-radius: 50%;
	background: var(--accent, var(--wp--preset--color--red-dark));
}
.iab-page-nav--groups [aria-current="page"] {
	padding-left: 1.25rem;
	border-left: 0;
	color: var(--wp--preset--color--black);
	font-weight: 700;
}
.iab-page-nav--groups [aria-current="page"]::before {
	top: 0.45rem;
	bottom: 0.45rem;
	width: 0.25rem;
	height: auto;
	border-radius: 2px;
}
/* A council's or working group's own page wears its colour (--page-accent from iab-core; IAB red for a working
   group): the title band, links, list markers and the rule over the closing note (how to ask or join). On the three
   light council colours the band's text is ink, and links stay ink over an underline in the colour (the colour alone
   is too pale to read) */
.iab-resource--group {
	--page-accent: var(--wp--preset--color--red-dark);
	--page-ink: var(--wp--preset--color--white);
	--page-link: var(--page-accent);
}
.iab-resource--group:is([data-council="audio"], [data-council="data"], [data-council="video"]) {
	--page-ink: var(--wp--preset--color--black);
	--page-link: var(--wp--preset--color--black);
}
.iab-resource--group .iab-resource__hero {
	background: var(--page-accent);
	box-shadow: 0 0 0 100vmax var(--page-accent);
}
.iab-resource--group .iab-resource__hero :is(.wp-block-post-title, .iab-crumbs, .iab-crumbs a, .iab-crumbs .iab-crumbs__current) {
	color: var(--page-ink);
}
.iab-resource--group .iab-resource__hero .iab-crumbs a:hover {
	color: var(--page-ink);
	text-decoration: underline;
}
.iab-resource--group .iab-resource__hero .iab-crumbs li + li::before {
	color: var(--page-ink);
	opacity: 0.6;
}
.iab-resource--group .iab-resource__body a:not(.btn) {
	color: var(--page-link);
	text-decoration-color: var(--page-accent);
	text-decoration-thickness: 2px;
}
.iab-resource--group .iab-resource__body a:not(.btn):hover {
	color: var(--wp--preset--color--black);
}
.iab-resource--group .iab-resource__body li::marker {
	color: var(--page-accent);
}
/* The closing note (questions about the group's work, how to join): set off from the lists above by a rule in the colour */
.iab-resource--group .iab-resource__body .iab-group-enquiry {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 2px solid var(--page-accent);
}
/* A long "in this section" list (the councils) is taller than a laptop screen: not pinned */
.iab-resource--page .iab-resource__aside:has(.iab-page-nav li:nth-child(7)) {
	position: static;
}
/* One column: the page list follows the body; it stays useful there */
/* Images in a classic page body never run past the column */
.iab-resource--page .iab-resource__body :is(img, iframe, table, video) {
	max-width: 100%;
}
.iab-resource--page .iab-resource__body img {
	height: auto;
}
/* A second "title" typed into the body (old thank-you pages) reads as a section heading: the page has one title */
.iab-resource--page .iab-resource__body h1 {
	font-size: var(--wp--preset--font-size--xl);
}
/* A long list of names (council members: a dozen or more short lines) reads in two columns */
@media (min-width: 700px) {
	.iab-resource--page .iab-resource__body ul:has(> li:nth-child(12)):not(:has(li ul, li p, a)) {
		columns: 2;
		column-gap: var(--wp--preset--spacing--60);
	}
	.iab-resource--page .iab-resource__body ul:has(> li:nth-child(12)):not(:has(li ul, li p, a)) > li {
		break-inside: avoid;
	}
}
/* Pages that are a grid of people, of presentations or of councils use the full width: no side column */
.iab-resource--page .iab-resource__grid:has(.iab-team, .iab-media-tiles, .iab-groups) {
	grid-template-columns: minmax(0, 1fr);
}
.iab-resource--page .iab-resource__grid:has(.iab-team, .iab-media-tiles, .iab-groups) > .iab-resource__main {
	max-width: none;
}
.iab-resource--page .iab-resource__grid:has(.iab-team, .iab-media-tiles, .iab-groups) > .iab-resource__aside {
	display: none;
}
.iab-resource--page .iab-resource__grid:has(.iab-team, .iab-media-tiles, .iab-groups) .iab-resource__body > :not(.iab-legacy-page) {
	max-width: 50rem;
}
/* The introduction's lede (Our Team, Our Board) reads a size up from the paragraphs under it */
.iab-resource--page .iab-resource__grid:has(.iab-team--cards) .iab-resource__body > .is-style-lede {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.5;
}
.iab-legacy-page > :is(p, ul:not([class]), ol, h3, h4, dl) {
	max-width: 50rem;
}
.iab-legacy-page > :first-child {
	margin-top: 0;
}
/* Pages are often short: beside the side column's card the red band would say the same thing twice.
   The band shows where the card does not: on narrow screens and on full-width pages. */
@media (min-width: 1100px) {
	.iab-resource--page:has(.iab-resource__aside > .iab-member-cta--card):not(:has(.iab-team, .iab-media-tiles, .iab-groups)) > .iab-member-cta--band {
		display: none;
	}
}
.iab-resource__body > * + .iab-legacy-page {
	margin-top: var(--wp--preset--spacing--60);
}
.iab-legacy-page > h2 {
	margin-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--xxl);
}

/* Councils and working groups (legacy "listing" page). The introduction is a lead-in: the opening paragraph
   large and, from 900px, the rest beside it, ending with how to take part. Then a section of cards per kind.
   A card carries its council's colour as the dot of that council's logo, cut off by the card's corner; the
   working groups have no colour of their own and take IAB red, as their logos do. */
.iab-listing-intro p {
	color: var(--wp--preset--color--grey-700);
}
.iab-listing-intro p:first-of-type {
	color: var(--wp--preset--color--black);
	font-size: clamp(1.25rem, 1.9vw, 1.5rem);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.01em;
}
.iab-listing-intro p strong {
	color: var(--wp--preset--color--black);
}
.iab-listing-intro__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block: var(--wp--preset--spacing--50);
}
/* Thrive Architect's wrapper adds its own space above the first paragraph */
.iab-listing-intro .thrv_wrapper {
	margin-block: 0;
}
@media (min-width: 900px) {
	.iab-resource--page .iab-resource__grid:has(.iab-groups) .iab-resource__body > .iab-listing-intro {
		max-width: none;
		columns: 2;
		column-gap: clamp(2.5rem, 6vw, 5.5rem);
	}
	.iab-listing-intro :is(p, .iab-listing-intro__actions) {
		break-inside: avoid;
	}
	/* The first column ends after the opening paragraph and the buttons under it */
	.iab-listing-intro p:first-of-type {
		margin-top: 0;
	}
	.iab-listing-intro__actions,
	.iab-listing-intro p:first-of-type:not(:has(+ .iab-listing-intro__actions)) {
		margin-bottom: 0;
		break-after: column;
	}
	.iab-listing-intro :is(p:first-of-type, .iab-listing-intro__actions) + p {
		margin-top: 0;
	}
}
.iab-resource__body > .iab-listing-intro + .iab-legacy-page {
	margin-top: var(--wp--preset--spacing--70);
}
.iab-groups + .iab-groups {
	margin-top: var(--wp--preset--spacing--80);
}
.iab-groups__title {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0 0 var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--xxl);
	line-height: 1.05;
}
.iab-groups__count {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
}
.iab-groups__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-group {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	padding: 1.5rem;
	overflow: hidden;
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
	transition: border-color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-base) var(--iab-ease);
}
/* The dot: centred just inside the corner, so a quarter of it shows */
.iab-group::before {
	content: "";
	position: absolute;
	top: -3.5rem;
	right: -3.5rem;
	width: 8.5rem;
	height: 8.5rem;
	border-radius: 50%;
	background: var(--accent, var(--wp--preset--color--red-dark));
	transition: transform var(--iab-base) var(--iab-ease);
}
.iab-group__arrow {
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	color: var(--accent-ink, var(--wp--preset--color--white));
	pointer-events: none; /* it lies over the card's link */
	transition: transform var(--iab-base) var(--iab-ease);
}
/* On the three light council colours the arrow is drawn in ink */
.iab-group:is([data-council="audio"], [data-council="data"], [data-council="video"]) {
	--accent-ink: var(--wp--preset--color--black);
}
/* Two lines' room for the name, so the text under it starts below the dot and on one line across a row */
.iab-group__name {
	min-height: 2.2em;
	margin: 0 4rem 0.75rem 0;
	font-size: 1.5rem;
	line-height: 1.1;
}
.iab-group__name a {
	color: inherit;
	text-decoration: none;
}
/* The whole card is the link */
.iab-group__name a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--wp--custom--radius--lg);
}
.iab-group__name a:focus-visible {
	outline: 0;
}
.iab-group__name a:focus-visible::after {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: -3px;
}
.iab-group__text {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: 0.9375rem;
	line-height: 1.5;
}
.iab-group:is(:hover, :focus-within) {
	border-color: var(--wp--preset--color--black);
	box-shadow: var(--wp--preset--shadow--md);
}
.iab-group:hover::before {
	transform: scale(1.14);
}
.iab-group:hover .iab-group__arrow {
	transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
	.iab-group,
	.iab-group::before,
	.iab-group__arrow {
		transition: none;
	}
	.iab-group:hover::before,
	.iab-group:hover .iab-group__arrow {
		transform: none;
	}
}
@media (forced-colors: active) {
	.iab-group__arrow {
		color: LinkText; /* the dot is a background, which forced colours drop */
	}
}

/* People (legacy "team" fields: Our Board, Our Team, event speakers): photo, name, role, "Read bio", "Connect on LinkedIn".
   Speakers (no biographies) are a grid of portraits. With biographies (.iab-team--cards: Our Team, Our Board) they are
   white cards two across on a soft band edge to edge: the photo beside the name and role, the actions under a hairline,
   the bio opening across the whole card. Cards keep their own height, so an open bio doesn't stretch its neighbour,
   and the photo is small enough for the 260px files some rows still have. */
.iab-team {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
	gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-person {
	margin: 0 !important;
}
.iab-person__photo {
	aspect-ratio: 1;
	margin-bottom: 1rem;
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--grey-100);
	overflow: hidden;
}
.iab-person__photo img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: 50% 20%;
}
.iab-person .iab-person__name {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.15;
	text-transform: none;
}
.iab-person__role {
	margin: 0.3rem 0 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
}
/* "Read bio" and "Connect on LinkedIn" on one row; an open bio takes the row and the link follows under it */
.iab-person__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.25rem 1.5rem;
	margin-top: 0.75rem;
}
.iab-person__bio {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}
.iab-person__bio[open] {
	flex-basis: 100%;
}
.iab-person__bio summary {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 2rem;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--black);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.iab-person__bio summary::-webkit-details-marker {
	display: none;
}
.iab-person__bio summary::after {
	content: "+";
	font-weight: 700;
	text-decoration: none;
}
.iab-person__bio[open] summary::after {
	content: "\2013";
}
.iab-person__bio summary:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-person__bio > div > :first-child {
	margin-top: 0.5rem;
}
.iab-person__bio > div > :last-child {
	margin-bottom: 0;
}
.iab-person__link {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}
.iab-person__link a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 2rem;
	color: var(--wp--preset--color--black);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.iab-person__link a:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-person__link svg {
	flex: none;
	width: 1em;
	height: 1em;
	fill: currentColor;
}
/* Cards on the soft band (the band's technique is .iab-section--soft's) */
.iab-team--cards {
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--40);
	padding-block: clamp(2rem, 4vw, 3rem);
	background: var(--wp--preset--color--soft);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--soft);
	clip-path: inset(0 -100vmax);
}
@media (min-width: 820px) {
	.iab-team--cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--50);
	}
}
.iab-team--cards .iab-person {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		"photo head"
		"actions actions";
	align-items: center;
	gap: 0 1.25rem;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
}
.iab-team--cards .iab-person__photo {
	grid-area: photo;
	width: clamp(5.5rem, 11vw, 8rem);
	margin: 0;
	border-radius: var(--wp--custom--radius--md);
}
.iab-team--cards .iab-person__head {
	grid-area: head;
}
.iab-team--cards .iab-person .iab-person__name {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-team--cards .iab-person__role {
	margin-top: 0.4rem;
	font-size: var(--wp--preset--font-size--base);
}
.iab-team--cards .iab-person__actions {
	grid-area: actions;
	margin-top: 1.25rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--iab-border);
}
.iab-team--cards .iab-person__bio {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.65;
}
.iab-team--cards .iab-person__bio > div {
	max-width: 62ch;
}
.iab-team--cards .iab-person__bio > div > :first-child {
	margin-top: 0.75rem;
}
.iab-team--cards .iab-person__link {
	font-size: var(--wp--preset--font-size--base);
}

/* Presentations and videos (legacy event pages): cover, title, download button, "Watch the video" */
.iab-media-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
	gap: var(--wp--preset--spacing--50);
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-media-tile {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
}
.iab-media-tile__image {
	aspect-ratio: 16 / 9;
	margin-bottom: 1rem;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--grey-100);
	overflow: hidden;
}
.iab-media-tile__image img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}
.iab-media-tile .iab-media-tile__title {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.25;
}
.iab-media-tile__title small {
	display: block;
	margin-top: 0.3rem;
	color: var(--wp--preset--color--grey-700);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
}
.iab-media-tile__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1rem;
	margin: auto 0 0;
	font-size: var(--wp--preset--font-size--sm);
}
.iab-media-tile__watch {
	color: var(--wp--preset--color--black);
	font-weight: 600;
	text-underline-offset: 3px;
}

/* Council meeting dates (a typed list "Council – date", iab_core_meeting_list()): a row per meeting — the date
   as a tile, the council's name beside the dot of its colour (IAB red for a working group, grey for a name
   with no page), and an arrow where the row links to the council's page */
.iab-meetings {
	margin-block: 0 var(--wp--preset--spacing--60);
}
.iab-meetings__title {
	margin: 0 0 var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-meetings__list {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--black);
	list-style: none;
}
.iab-meeting {
	position: relative;
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 1.25rem;
	margin: 0 !important;
	padding: 0.875rem 0;
	border-bottom: 1px solid var(--iab-border);
}
.iab-meeting__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 4rem;
	height: 4rem;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--soft);
	line-height: 1;
}
.iab-meeting__month {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.iab-meeting__day {
	margin-top: 0.25rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.75rem;
	font-weight: 700;
}
.iab-meeting--unconfirmed .iab-meeting__date {
	border: 1px dashed var(--wp--preset--color--grey-300);
	background: none;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
}
.iab-meeting__name {
	position: relative;
	margin: 0;
	padding-left: 1.375rem;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
}
.iab-meeting__name::before {
	content: "";
	position: absolute;
	top: calc(0.6em - 0.375rem); /* centred on the first line */
	left: 0;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background: var(--accent, var(--wp--preset--color--red-dark));
}
.iab-meeting--unlisted .iab-meeting__name::before {
	background: var(--wp--preset--color--grey-300);
}
.iab-meeting__name a {
	color: inherit;
	text-decoration: none;
}
/* The whole row is the link */
.iab-meeting__name a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.iab-meeting__name a:focus-visible {
	outline: 0;
}
.iab-meeting__name a:focus-visible::after {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: -2px;
}
.iab-meeting__note {
	margin: 0.2rem 0 0;
	padding-left: 1.375rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
}
.iab-meeting__arrow {
	color: var(--wp--preset--color--grey-500);
	pointer-events: none; /* it lies over the row's link */
	transition: transform var(--iab-base) var(--iab-ease), color var(--iab-fast) var(--iab-ease);
}
.iab-meeting:hover .iab-meeting__name a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}
.iab-meeting:hover .iab-meeting__arrow {
	color: var(--wp--preset--color--red-dark);
	transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
	.iab-meeting__arrow {
		transition: none;
	}
	.iab-meeting:hover .iab-meeting__arrow {
		transform: none;
	}
}

/* Agenda (legacy event pages): time beside what happens */
.iab-agenda {
	margin: 0 0 var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--black);
}
.iab-agenda__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.25rem 1.5rem;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--iab-border);
}
.iab-agenda dt {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.iab-agenda dd {
	margin: 0;
}
.iab-agenda dd > :first-child {
	margin-top: 0;
}
.iab-agenda dd > :last-child {
	margin-bottom: 0;
}
@media (min-width: 600px) {
	.iab-agenda__row {
		grid-template-columns: 7rem minmax(0, 1fr);
	}
}

/* Sponsor and partner logos in a row */
.iab-logo-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-logo-row li {
	margin: 0 !important;
}
.iab-logo-row img {
	display: block;
	width: auto;
	max-width: 11rem;
	height: auto;
	max-height: 4.5rem;
	object-fit: contain;
}

/* ── Thrive Architect content inside the theme ───────────────────────────── */
/* Pages and articles built in Thrive carry their own stylesheet (fonts, colours, square buttons), written
   with !important and an ID in every selector. Until they are converted to blocks, this layer gives them
   the site's type, link colour, buttons and tabs. The two :not(#…) parts outrank Thrive's selectors.
   Boxes with their own background keep their text colours. */
main:not(#_):not(#__) :is(.thrv_wrapper, .thrv_wrapper *):not(.tcb-icon, .tcb-icon *, [class*="fa-"]) {
	font-family: var(--wp--preset--font-family--body) !important;
}
main:not(#_):not(#__) .thrv_wrapper :is(h1, h2, h3, h4, h5, h6),
main:not(#_):not(#__) .thrv_wrapper :is(h1, h2, h3, h4, h5, h6) * {
	font-family: var(--wp--preset--font-family--display) !important;
	letter-spacing: -0.01em !important;
}
main:not(#_):not(#__) .thrv_text_element :is(p, li) {
	font-size: var(--wp--preset--font-size--base) !important;
	line-height: 1.65 !important;
}
/* Text outside coloured boxes: ink, whatever colour it was given (lilac, blue, old red) */
main:not(#_):not(#__) .thrv_text_element:not(.thrv_contentbox_shortcode *) :is(p, li, h1, h2, h3, h4, h5, h6, span, strong, em):not(a, a *) {
	color: var(--wp--preset--color--black) !important;
}
main:not(#_):not(#__) .thrv_wrapper :is(p, li) > a:not(.tcb-button-link),
main:not(#_):not(#__) .thrv_wrapper :is(p, li) a:not(.tcb-button-link) :is(span, strong, u) {
	color: var(--wp--preset--color--red-dark) !important;
	text-decoration-color: currentColor !important;
}
/* Linked headings (post lists, case-study grids) stay ink */
main:not(#_):not(#__) .thrv_wrapper :is(h2, h3, h4, h5) a,
main:not(#_):not(#__) .thrv_wrapper :is(h2, h3, h4, h5) a * {
	color: var(--wp--preset--color--black) !important;
	text-decoration: none !important;
}
/* Buttons: the library pill */
main:not(#_):not(#__) .thrv_wrapper .tcb-button-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	box-sizing: border-box;
	padding: 0.7rem 1.25rem !important;
	border: 0 !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--red-dark) !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: transform var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
main:not(#_):not(#__) .thrv_wrapper .tcb-button-link:hover {
	transform: translateY(-1px);
	box-shadow: var(--wp--preset--shadow--md) !important;
}
main:not(#_):not(#__) .thrv_wrapper .tcb-button-link :is(.tcb-button-texts, .tcb-button-text, .tcb-button-text *) {
	color: var(--wp--preset--color--white) !important;
	font-size: var(--wp--preset--font-size--sm) !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
}
/* Tabs: ink on soft grey; the open tab is solid ink */
main:not(#_):not(#__) .thrv_tabs_shortcode .tve_tab_title_item {
	border: 0 !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--grey-100) !important;
	box-shadow: none !important;
}
main:not(#_):not(#__) .thrv_tabs_shortcode .tve_tab_title_item .tve-tab-text {
	color: var(--wp--preset--color--black) !important;
	font-size: var(--wp--preset--font-size--sm) !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
main:not(#_):not(#__) .thrv_tabs_shortcode .tve_tab_title_item.tve_tS {
	background: var(--wp--preset--color--black) !important;
}
main:not(#_):not(#__) .thrv_tabs_shortcode .tve_tab_title_item.tve_tS .tve-tab-text {
	color: var(--wp--preset--color--white) !important;
}
main:not(#_):not(#__) .thrv_tabs_shortcode .tve_scT > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0;
	border: 0 !important;
}
/* Post lists (hub pages): titles at card size, images with the site's corner radius */
main:not(#_):not(#__) .tcb-post-list .tve-default-heading :is(h2, h3) {
	font-size: var(--wp--preset--font-size--md) !important;
	line-height: 1.25 !important;
}
main:not(#_):not(#__) .tcb-post-list .tcb-post-thumbnail img {
	border-radius: var(--wp--custom--radius--md);
}
/* Images and tables never run past the column */
main .thrv_wrapper :is(img, table, iframe) {
	max-width: 100%;
}
main .thrv_wrapper.tve_image_caption img {
	height: auto;
}
@media (max-width: 600px) {
	main .thrv_wrapper.thrv_table,
	main .thrv_wrapper .tve_table {
		display: block;
		overflow-x: auto;
	}
}

/* ── Become a member (iab/member-cta) ────────────────────────────────────── */
.iab-member-cta__arrow {
	flex: none;
	transition: transform var(--iab-fast) var(--iab-ease);
}
.iab-member-cta a:hover .iab-member-cta__arrow {
	transform: translateX(3px);
}
/* Card (side column): brand black, centred — eyebrow, heading, one line, one button */
.iab-member-cta--card {
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	text-align: center;
}
.iab-member-cta--card > * {
	margin: 0;
}
.iab-member-cta--card .iab-member-cta__eyebrow {
	margin-block-end: 0.6rem;
	color: rgba(255, 255, 255, 0.6);
}
.iab-member-cta--card .iab-member-cta__title {
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
	text-wrap: balance;
}
.iab-member-cta--card .iab-member-cta__text {
	margin-block-start: 0.75rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	text-wrap: pretty;
}
.iab-member-cta--card .wp-block-buttons {
	display: flex;
	justify-content: center;
	margin-block-start: 1.25rem;
}
.iab-member-cta--card :focus-visible {
	outline-color: var(--wp--preset--color--white);
}
/* Band: the page's red panel (surface from .is-style-panel-red) — copy on the left, actions on the right */
.iab-member-cta--band {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70);
	align-items: center;
	padding: clamp(2rem, 5vw, 4rem);
}
.iab-member-cta--band .iab-member-cta__copy > * {
	margin-block-start: 0;
}
.iab-member-cta--band .iab-member-cta__text {
	max-width: 54ch;
	margin-block-end: 0;
	text-wrap: pretty;
}
.iab-member-cta--band .iab-member-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
@media (min-width: 900px) {
	.iab-member-cta--band {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

/* ══ Component library: buttons (sizes, ghost, hover = lift only) ═══════════ */
.wp-block-buttons.is-style-small .wp-block-button__link,
.wp-element-button.is-size-sm {
	padding: 0.45rem 0.9rem;
	font-size: var(--wp--preset--font-size--xs);
}
.wp-block-buttons.is-style-large .wp-block-button__link,
.wp-element-button.is-size-lg {
	padding: 0.95rem 1.6rem;
	font-size: var(--wp--preset--font-size--md);
}
.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent;
	border-color: transparent;
	color: var(--wp--preset--color--black);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover {
	background: var(--wp--preset--color--grey-100);
	box-shadow: none;
	transform: none;
}
.wp-block-button__link:active {
	transform: translateY(0);
}

/* ══ Component library: post cards (.iab-post) ══════════════════════════════
   One card for every listing: illustrated / photographic / no-image / list view. */
.iab-post {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	transition: transform var(--wp--custom--duration--base) var(--wp--custom--ease), box-shadow var(--wp--custom--duration--base) var(--wp--custom--ease);
}
.iab-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp--preset--shadow--md);
}
.iab-post > *,
.iab-post__body > * {
	margin-block: 0 !important;
}
.iab-post:has(.iab-post__title a:focus-visible) {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 2px;
}
.iab-post__media {
	position: relative;
	aspect-ratio: 16 / 9;
	min-height: 0; /* square / 4:3 uploads must not stretch the 16:9 box */
	overflow: hidden;
	background: var(--wp--preset--color--grey-100);
}
.iab-post__media .wp-block-post-featured-image {
	height: 100%;
	margin: 0;
}
.iab-post__media .wp-block-post-featured-image :is(a, img) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* Logo cards (training providers): the logo is shown whole on white, never cropped; no corner stripe */
.iab-post--logo .iab-post__media {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--iab-border);
}
.iab-post--logo .iab-post__media .wp-block-post-featured-image img {
	box-sizing: border-box;
	padding: 1.5rem 2rem;
	object-fit: contain !important; /* the block prints object-fit: cover inline */
}
.iab-post.iab-post--logo .iab-post__media::after {
	content: none;
}
.iab-post__media-tag {
	position: absolute;
	top: 0.9rem;
	left: 0.9rem;
	z-index: 1;
	padding: 0.3rem 0.6rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.iab-post__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.25rem 1.4rem 1.5rem;
}
.iab-post__eyebrow {
	color: var(--wp--preset--color--grey-500); /* library value; darker #6F6E73 (AA) pending client decision */
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-post__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-transform: lowercase;
}
.iab-post__title a {
	color: inherit;
	text-decoration: none;
}
.iab-post__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.iab-post__excerpt {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.55;
}
.iab-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.85rem;
	margin-top: auto !important;
	padding-top: 0.9rem;
	border-top: 1px solid var(--iab-border);
	color: var(--wp--preset--color--grey-500);
	font-size: var(--wp--preset--font-size--xs);
}
.iab-post__meta strong {
	color: var(--wp--preset--color--black);
	font-weight: 600;
}
/* Library atom: .iab-badge (pill); --brand = red */
.iab-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.3rem 0.65rem;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
.iab-badge--brand {
	background: var(--wp--preset--color--red);
	color: var(--wp--preset--color--white);
}
.iab-badge--outline {
	border-color: var(--wp--preset--color--black);
	background: transparent;
}
.iab-post__meta .iab-badge {
	padding: 0.1rem 0.55rem;
	color: var(--wp--preset--color--black);
}
.iab-post .iab-access-badge {
	position: relative;
	z-index: 1;
	align-self: flex-start;
	margin: 0;
}
/* Photographic: council corner badge */
.iab-post--photo .iab-post__media-tag {
	left: 1.5rem;
}
.iab-post--photo .iab-post__media::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 14px;
	height: 50px;
	background: var(--accent, var(--wp--preset--color--red-dark));
}
/* No image (IAB- Home.html "posts — without images", client 2026-10-01): no box — a 4px top stripe in the
   council colour, plain sentence-case eyebrow, 28px title, 16px excerpt, and the date alone in red on a hairline. */
.iab-post--no-image {
	padding-top: 4px;
	border: 0;
	border-top: 4px solid var(--accent, var(--wp--preset--color--red-dark));
	border-radius: 0;
	background: var(--wp--preset--color--white);
}
.iab-post--no-image:hover {
	box-shadow: none;
}
.iab-post--no-image .iab-post__media {
	display: none;
}
.iab-post--no-image .iab-post__body {
	gap: 9px;
	padding: 23px 20px 20px;
}
.iab-post--no-image .iab-post__eyebrow {
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}
.iab-post--no-image .iab-post__title {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.02em;
}
.iab-post--no-image .iab-post__excerpt {
	margin-top: 16px !important; /* the reference keeps the paragraph's default top margin */
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.45;
}
.iab-post--no-image .iab-post__meta {
	margin-top: auto !important;
	padding-top: 14px;
	border-top: 1px solid var(--iab-border);
	color: var(--wp--preset--color--red);
	font-size: 12px;
	font-weight: 500;
}
/* Only the date (and the Members badge on locked items): no source line, no read time */
.iab-post--no-image .iab-post__meta > span:not(:has(time)):not(.iab-badge) {
	display: none;
}
.iab-post--no-image .iab-post__meta strong {
	color: inherit;
	font-weight: inherit;
}
/* List view: image left, content right */
.iab-posts--list .wp-block-post-template {
	display: grid;
	gap: 1rem;
}
@media (min-width: 720px) {
	.iab-post--row {
		flex-direction: row;
	}
	.iab-post--row .iab-post__media {
		flex: 0 0 220px;
		aspect-ratio: auto;
	}
}
/* Event cards (iab/event-meta, layout "card"): the details fill the body and the actions sit on its bottom rule */
.iab-post .iab-event-meta--card {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding-top: 0.55rem; /* + the body's 0.55rem gap = 1.1rem under the title */
}
.iab-post .iab-event-meta--card > .iab-event-meta__list {
	margin: 0 0 1.25rem;
}
.iab-post .iab-event-meta--card > .iab-event-meta__actions {
	margin-top: auto;
}
/* The corner stripe is the council badge: no stripe on events without a council (the red-dark fallback vanished on red artwork) */
.iab-post--photo:not([data-council]):has(.iab-event-meta--card) .iab-post__media::after {
	content: none;
}
@supports (grid-template-rows: subgrid) {
	/* Event grids line up across each row: every card is a subgrid over five shared rows
	   (image · eyebrow · title · details · actions), so the tiles, the rule and the buttons sit
	   level whatever the title, time or location length. A grid row gap would also open up between
	   a card's own rows, so the row spacing moves to each item's bottom padding and the grid's
	   negative bottom margin takes the last row's padding back. */
	.iab-cards-grid:has(> li > .iab-post .iab-event-meta--card) {
		row-gap: 0 !important; /* beats "Grids" below (gap: 1.5rem !important) */
		margin-block-end: -1.5rem;
	}
	.iab-cards-grid:has(> li > .iab-post .iab-event-meta--card) > li {
		grid-row: span 5; /* every item, so a mixed grid keeps its rows */
		padding-bottom: 1.5rem;
	}
	.iab-cards-grid > li:has(> .iab-post .iab-event-meta--card) {
		display: grid;
		grid-template-rows: subgrid;
		row-gap: 0;
	}
	.iab-cards-grid > li > .iab-post:has(.iab-event-meta--card) {
		grid-row: 1 / -1;
		display: grid;
		grid-template-rows: subgrid;
		row-gap: 0;
	}
	.iab-cards-grid > li > .iab-post--photo > .iab-post__body:has(> .iab-event-meta--card) {
		grid-row: 2 / -1;
		display: grid;
		grid-template-rows: subgrid;
		row-gap: 0;
	}
	.iab-cards-grid > li > .iab-post--photo > .iab-post__body:has(> .iab-event-meta--card) > .iab-post__eyebrow {
		grid-row: 1;
		align-self: end;
		padding-bottom: 0.55rem;
	}
	.iab-cards-grid > li > .iab-post--photo > .iab-post__body:has(> .iab-event-meta--card) > .iab-post__title {
		grid-row: 2;
		align-self: start;
	}
	.iab-cards-grid > li > .iab-post--photo > .iab-post__body > .iab-event-meta--card {
		grid-row: 3 / span 2;
		display: grid;
		grid-template-rows: subgrid;
		row-gap: 0;
		padding-top: 1.1rem; /* no body gap in the subgrid */
	}
	.iab-cards-grid > li > .iab-post--photo > .iab-post__body > .iab-event-meta--card > .iab-event-meta__list {
		grid-row: 1;
		align-self: start;
	}
	.iab-cards-grid > li > .iab-post--photo > .iab-post__body > .iab-event-meta--card > .iab-event-meta__actions {
		grid-row: 2;
		align-self: start; /* the rule lines up even when a narrow card stacks its buttons */
		margin-top: 0;
	}
	/* No image: the text card's body spans the whole card; its details follow the title and its actions stay on the shared bottom row */
	.iab-cards-grid > li > .iab-post--no-image:has(.iab-event-meta--card) > .iab-post__body {
		grid-row: 1 / -1;
	}
}
/* Grids */
.iab-cards-grid {
	gap: 1.5rem !important;
}
/* A card never widens its column: an oversized image would otherwise stretch a one-column (phone) grid past the screen */
.iab-cards-grid > li {
	min-width: 0;
}
@media (prefers-reduced-motion: reduce) {
	.iab-post,
	.iab-post:hover {
		transform: none;
		transition: none;
	}
}

/* ── Directory: Group (is-style-directory) of headings, each followed by a List (is-style-links) ──
 * Pattern iab-australia/international-iabs. A hairline opens each section; from 820px the heading
 * sits in a left column beside its links. Editors add a section with a heading and a list.
 */
.wp-block-group.is-style-directory {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
.wp-block-group.is-style-directory > * {
	max-width: none;
	margin: 0;
}
.wp-block-group.is-style-directory > :is(h2, h3, h4) {
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
}
.wp-block-group.is-style-directory > :not(h2, h3, h4) {
	padding-bottom: var(--wp--preset--spacing--60);
}
.wp-block-group.is-style-directory > :is(ul, ol) {
	padding-top: 0.75rem;
}
@media (min-width: 820px) {
	.wp-block-group.is-style-directory {
		grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr);
	}
	.wp-block-group.is-style-directory > :is(h2, h3, h4) {
		grid-column: 1;
		padding-right: var(--wp--preset--spacing--60);
		padding-bottom: var(--wp--preset--spacing--60);
		font-size: var(--wp--preset--font-size--xl);
		line-height: 1.15;
	}
	.wp-block-group.is-style-directory > :not(h2, h3, h4) {
		grid-column: 2;
	}
	/* The section's hairline runs across both columns; the first row of links lines up with the heading */
	.wp-block-group.is-style-directory > :is(h2, h3, h4) + * {
		padding-top: var(--wp--preset--spacing--50);
		border-top: 1px solid var(--wp--preset--color--black);
	}
}

/* Link grid: each link is a tile: its label, then the address of the site it goes to (added on the
   front end by iab_link_tile_hosts()); ↗ marks links that open in a new tab */
:is(ul, ol).is-style-links {
	--iab-links-min: 9rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--iab-links-min)), 1fr));
	gap: 0.625rem;
	padding-left: 0;
	list-style: none;
}
@media (min-width: 600px) {
	:is(ul, ol).is-style-links {
		--iab-links-min: 12.5rem;
	}
}
.is-style-links > li {
	margin: 0;
}
.is-style-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	box-sizing: border-box;
	height: 100%;
	min-height: 3.75rem;
	padding: 0.7rem 0.9rem 0.7rem 1rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--black);
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: border-color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
.is-style-links .iab-link__host {
	display: block;
	margin-top: 0.2rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	overflow-wrap: anywhere;
}
.is-style-links a[target="_blank"]::after {
	content: "";
	flex: none;
	width: 0.875rem;
	height: 0.875rem;
	background: var(--wp--preset--color--grey-500);
	-webkit-mask: var(--iab-icon) center / contain no-repeat;
	mask: var(--iab-icon) center / contain no-repeat;
	--iab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
	transition: transform var(--iab-fast) var(--iab-ease), background-color var(--iab-fast) var(--iab-ease);
}
.is-style-links a:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--black);
	box-shadow: var(--wp--preset--shadow--md);
}
.is-style-links a:is(:hover, :focus-visible)::after {
	background: var(--wp--preset--color--red-dark);
	transform: translate(2px, -2px);
}
@media (prefers-reduced-motion: reduce) {
	.is-style-links a,
	.is-style-links a::after {
		transition: none;
	}
	.is-style-links a:is(:hover, :focus-visible)::after {
		transform: none;
	}
}
@media (forced-colors: active) {
	.is-style-links a[target="_blank"]::after {
		forced-color-adjust: none;
		background: LinkText; /* mask icons are drawn with a background, which forced colours would drop */
	}
}

/* ── Section pages: "Page — no title" template (main.iab-front) built from the homepage's hero and
 * page sections. Pattern iab-australia/international-iabs.
 */
/* Hero that carries the breadcrumbs and the page title */
.iab-hero--page {
	padding-block: var(--wp--preset--spacing--70) clamp(2rem, 5vw, 3.5rem);
}
.iab-hero--page > .wp-block-iab-breadcrumbs {
	margin: 0 0 var(--wp--preset--spacing--60);
}
.iab-hero--page .is-style-eyebrow {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--red-dark);
}
.iab-hero--page .iab-hero__title {
	font-size: clamp(2.5rem, 6vw, 4.25rem);
	line-height: 1;
}
/* Band: one panel in the 1280 box, between sections */
.iab-band {
	box-sizing: border-box;
	padding-inline: var(--wp--preset--spacing--gutter);
}
/* A closing band (the page's red panel) keeps clear of the section above and the footer below */
.iab-band--end {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80);
}
/* Benefits: short statements in a grid, each under a red tick (pattern iab-australia/member-benefits) */
.iab-benefits {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
	gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.iab-benefit {
	position: relative;
	margin: 0 !important;
	padding-top: 1.5rem;
}
.iab-benefit::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 2.5rem;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--red);
}
.iab-benefit > * {
	margin: 0 !important;
}
.iab-benefit > h3 {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-benefit > p {
	max-width: 36ch;
	margin-top: 0.6rem !important;
	color: var(--wp--preset--color--grey-700);
}
/* Four of a kind sit two by two, then four across: never three and one */
@media (min-width: 600px) {
	:is(.iab-benefits, .iab-stats.is-style-panel-dark):has(> :nth-child(4):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1100px) {
	:is(.iab-benefits, .iab-stats.is-style-panel-dark):has(> :nth-child(4):last-child) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: var(--wp--preset--spacing--60);
	}
}
/* Membership tiers: one card each — name, annual fee, who it is for. Not links, so no hover lift. */
.iab-tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: var(--wp--preset--spacing--50);
	align-items: stretch;
}
.iab-tier.is-style-card {
	margin: 0 !important;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}
.iab-tier.is-style-card:hover {
	transform: none;
	box-shadow: none;
}
.iab-tier > * {
	margin-block: 0 !important;
}
.iab-tier > h3 {
	min-height: 2.3em; /* two-line names keep the fees level */
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.15;
}
.iab-tier > .is-style-stat {
	margin-top: 1rem !important;
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 1;
}
.iab-tier__note {
	margin-top: 0.35rem !important;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--iab-border);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
/* No published fee: the note takes the figure's place so the cards' rules stay level */
.iab-tier > h3 + .iab-tier__note {
	margin-top: 1rem !important;
	padding-top: 1.1rem;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.3;
}
.iab-tier__note ~ p {
	margin-top: 1rem !important;
	color: var(--wp--preset--color--grey-700);
}
/* Headline numbers on the dark panel: a red tick, the figure, its label and a note */
.iab-stats.is-style-panel-dark {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
	padding: clamp(2rem, 4.5vw, 3.5rem) clamp(1.5rem, 4.5vw, 3.5rem);
}
.iab-stats__item {
	position: relative;
	margin: 0 !important;
	padding-top: 1.5rem;
}
.iab-stats__item::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 2.5rem;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--red);
}
.iab-stats__item > * {
	max-width: none;
	margin: 0 !important;
}
.iab-stats .is-style-stat {
	font-size: var(--wp--preset--font-size--display);
}
.iab-stats .is-style-eyebrow {
	margin-top: 1rem !important;
}
.iab-stats__item > p:last-child {
	margin-top: 0.35rem !important;
	color: rgba(255, 255, 255, 0.78);
}
/* Split section: a heading in the left column beside its text, on the directory's columns */
.iab-split {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50) 0 !important;
	margin: 0 !important;
}
.iab-split > .wp-block-column {
	flex-basis: auto !important;
	min-width: 0;
}
.iab-split > .wp-block-column > * {
	max-width: 44rem;
}
.iab-split > .wp-block-column > :first-child {
	margin-top: 0;
}
.iab-split > .wp-block-column > :last-child {
	margin-bottom: 0;
}
@media (min-width: 820px) {
	.iab-split {
		grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr);
	}
	.iab-split > .wp-block-column:first-child {
		padding-right: var(--wp--preset--spacing--60);
	}
}
/* Our mission (About IAB): the statement is the section's headline, the "everything we do" lede beside it; the 2018
   purpose diagram's two rows become two cards, each "what?" (as tags) over its "how?"; links to the councils and the
   annual report as buttons at the foot. One column on a phone. */
.iab-mission > * + * {
	margin-top: var(--wp--preset--spacing--70) !important;
}
.iab-mission__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--80);
	align-items: end;
}
.iab-mission__head > *,
.iab-mission__title > * {
	margin: 0 !important;
}
.iab-mission__title .is-style-eyebrow {
	margin-bottom: 0.9rem !important;
	color: var(--wp--preset--color--red-dark);
}
.iab-mission__statement {
	max-width: 18ch;
	font-size: clamp(2.25rem, 1.4rem + 3.2vw, 3.75rem);
	line-height: 1.02;
	text-wrap: balance;
}
.iab-mission__lede {
	max-width: 46ch;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.55;
}
@media (min-width: 900px) {
	.iab-mission__head {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
}
/* Two cards: what (tags) over how */
.iab-mission__pillars {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
}
.iab-mission__pillars > * {
	margin: 0 !important; /* the grid's gap spaces the cards, not the block gap */
}
@media (min-width: 820px) {
	.iab-mission__pillars {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.iab-mission__pillar {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: clamp(1.5rem, 3.5vw, 2.25rem);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-top: 4px solid var(--wp--preset--color--red);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-mission__pillar > * {
	max-width: none;
	margin: 0 !important;
}
.iab-mission__label {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1;
}
/* "how?" opens the card's second half, under a hairline */
.iab-mission__pillar > .iab-mission__label:not(:first-child) {
	margin-top: 0.75rem !important;
	padding-top: 1.35rem;
	border-top: 1px solid var(--iab-border);
}
.iab-mission__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}
.iab-mission__tags li {
	margin: 0;
	padding: 0.45rem 0.85rem;
	background: var(--wp--preset--color--soft);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.3;
}
.iab-mission__note {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.iab-mission__checks {
	display: grid;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}
.iab-mission__checks li {
	position: relative;
	margin: 0;
	padding-left: 1.6rem;
}
.iab-mission__checks li::before {
	content: "";
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1rem;
	height: 1rem;
	background: var(--wp--preset--color--red-dark);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (forced-colors: active) {
	.iab-mission__checks li::before {
		background: CanvasText;
	}
}
/* Foot: the councils and annual report sentence beside its two buttons */
.iab-mission__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2.5rem;
	padding-top: var(--wp--preset--spacing--60);
	border-top: 1px solid rgba(37, 40, 42, 0.16);
}
.iab-mission__foot > p {
	flex: 1 1 28rem;
	max-width: 64ch;
	margin: 0;
	color: var(--wp--preset--color--grey-700);
}
.iab-mission__foot > .wp-block-buttons {
	margin: 0;
}
/* Jump links in a section head sit close together when they wrap */
.iab-section__head > .wp-block-buttons.is-style-small {
	gap: 0.5rem;
}
/* Small print under a section head */
.iab-section__note {
	max-width: 65ch;
	margin: 0 !important;
	color: var(--wp--preset--color--grey-700);
}

/* ── Our trainers (pattern iab-australia/trainers-page) ──
   Head trainers: white cards on the soft band, two across from 820px. The card's head is a square (initials with the
   logo's red dot, or an Image block in their place) beside the name and role; the first paragraphs show, the rest
   open under "More about…". Cards keep their own height, so opening one doesn't stretch its neighbour. */
.iab-trainers {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--50);
}
@media (min-width: 820px) {
	.iab-trainers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.iab-trainer {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0 !important;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
}
.iab-trainer > * {
	margin: 0 !important;
}
.iab-trainer > p {
	line-height: 1.65;
}
.iab-trainer__head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 0.3rem 1.25rem;
	margin-bottom: 0.5rem !important;
}
.iab-trainer__head > * {
	margin: 0 !important;
}
.iab-trainer__head > :first-child {
	grid-row: span 2;
}
.iab-trainer__head > .iab-trainer__name {
	align-self: end;
}
.iab-trainer__head > .iab-trainer__role {
	align-self: start;
}
.iab-trainer__mark,
.iab-trainer__head > .wp-block-image img {
	display: block;
	box-sizing: border-box;
	width: clamp(4.5rem, 9vw, 5.5rem);
	height: clamp(4.5rem, 9vw, 5.5rem) !important;
	border-radius: var(--wp--custom--radius--md);
	object-fit: cover;
}
.iab-trainer__mark {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: clamp(4.5rem, 9vw, 5.5rem);
	text-align: center;
}
.iab-trainer__mark::after {
	content: "";
	display: inline-block;
	width: 0.3em;
	height: 0.3em;
	margin-left: 0.06em;
	border-radius: 50%;
	background: var(--wp--preset--color--red);
}
.iab-trainer .iab-trainer__name {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
	text-transform: none;
}
.iab-trainer__role {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-trainer__bio > summary {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 2rem;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--black);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.iab-trainer__bio > summary::-webkit-details-marker {
	display: none;
}
.iab-trainer__bio > summary::after {
	content: "+";
	font-weight: 700;
}
.iab-trainer__bio[open] > summary::after {
	content: "\2013";
}
.iab-trainer__bio > summary:hover {
	color: var(--wp--preset--color--red-dark);
}
.iab-trainer__bio > p {
	margin: 1rem 0 0;
	line-height: 1.65;
}
/* Guest speakers: name over role, each under a hairline, on the dark band; at most three across (nine make a square) */
.iab-speakers {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 var(--wp--preset--spacing--60);
	margin: 0 !important;
	padding: 0;
	list-style: none;
}
@media (min-width: 600px) {
	.iab-speakers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1020px) {
	.iab-speakers {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.iab-speakers > li {
	margin: 0;
	padding: 1.1rem 0 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-speakers strong {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
}
.iab-speakers br {
	display: none;
}
@media (forced-colors: active) {
	.iab-trainer__mark::after {
		background: CanvasText;
	}
}

/* ── A–Z list (iab/az-list): search, a row of letter links that stays in view, names in columns ──
 * /global-iab-network-member-organisations/ (3,800 names). The letter row pins under the header and,
 * from 820px, each section's letter stays beside its names while they scroll.
 */
.iab-az {
	--iab-az-head: 6rem; /* the pinned header: logo + 2 × 1.25rem (see "Header") */
	--iab-az-bar: calc(3.5rem + 1px); /* the letter row: 2.5rem letters + 2 × 0.5rem + its rule */
	/* 1px under the header's edge, so nothing shows between them */
	--iab-az-top: calc(var(--iab-az-head) + var(--wp-admin--admin-bar--height, 0px) - 1px);
}
@media (max-width: 1024px) {
	.iab-az {
		--iab-az-head: 5.5rem;
	}
}
@media (max-width: 600px) {
	/* the admin bar scrolls away at this width */
	.iab-az {
		--iab-az-top: calc(var(--iab-az-head) - 1px);
	}
}
@media (min-width: 820px) {
	.iab-az {
		--iab-az-bar: calc(3.25rem + 1px);
	}
}
.iab-az [hidden] {
	display: none;
}
.iab-az__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.5rem;
	margin-bottom: 0.75rem;
}
.iab-az__search {
	flex: 1 1 18rem;
	max-width: 26rem;
}
.iab-az__status {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-az__letters {
	position: sticky;
	top: var(--iab-az-top);
	z-index: 5;
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--black);
}
/* One row: spread across the width where it fits, swiped sideways where it doesn't */
.iab-az__letters ul {
	display: flex;
	justify-content: space-between;
	gap: 0.125rem;
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.iab-az__letters li {
	flex: none;
}
.iab-az__letters :is(a, span) {
	display: grid;
	place-items: center;
	min-width: 2.75rem; /* 44px tap target on touch screens */
	height: 2.5rem;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-decoration: none;
	outline-offset: -3px; /* the row clips anything drawn outside it */
}
.iab-az__letters a:hover {
	background: var(--wp--preset--color--grey-100);
}
/* The letter being read (set by view.js while scrolling) */
.iab-az__letters a[aria-current] {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-az__letters :is(span, a[aria-disabled="true"]) {
	background: none;
	color: var(--wp--preset--color--grey-300);
	cursor: default;
}
.iab-az__group {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
	border-bottom: 1px solid var(--iab-border);
	/* A letter link lands its section flush under the letter row (the page itself already allows 7rem for the header) */
	scroll-margin-top: calc(var(--iab-az-head) + var(--iab-az-bar) - 7rem - 2px);
}
.iab-az__letter {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--xxl);
	line-height: 1;
	text-transform: none;
}
.iab-az__n {
	color: var(--wp--preset--color--grey-700);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	letter-spacing: 0;
}
.iab-az__list {
	columns: 2;
	column-gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
}
.iab-az__list li {
	padding: 0.25rem 0;
	line-height: 1.35;
	break-inside: avoid;
	overflow-wrap: anywhere;
}
@media (min-width: 600px) {
	.iab-az__list {
		columns: 13rem 4;
		column-gap: 2rem;
		font-size: var(--wp--preset--font-size--base);
	}
}
@media (min-width: 820px) {
	.iab-az__letters :is(a, span) {
		min-width: 2rem;
		height: 2.25rem;
	}
	.iab-az__group {
		display: grid;
		grid-template-columns: 6rem minmax(0, 1fr);
	}
	.iab-az__letter {
		position: sticky;
		top: calc(var(--iab-az-top) + var(--iab-az-bar) + 1.5rem);
		display: block;
		align-self: start;
		margin: 0;
	}
	.iab-az__n {
		display: block;
		margin-top: 0.5rem;
	}
}

/* ── Contact page (pattern iab-australia/contact-page + block iab/contact-form) ──
 * One form, several topics. Topic switching is CSS (:has) so it works without JavaScript;
 * view.js only adds native required/disabled. Without :has() every field shows, labelled for who needs it.
 */

/* Page wrapper: a plain (flow) group inside the constrained content, so the lede lines up with the h1 */
.iab-contact-page > * {
	margin-block: 0;
}
.iab-contact-page > * + * {
	margin-block-start: var(--wp--preset--spacing--60);
}
.iab-contact-page > .iab-contact-more {
	margin-block-start: var(--wp--preset--spacing--80);
}
.iab-contact-page:has(> .iab-contact.is-sent) > .is-style-lede {
	display: none; /* "choose a topic…" no longer applies once the thank-you replaces the form */
}

/* Block */
.iab-contact {
	--iab-c-red: var(--wp--preset--color--red-dark);
	--iab-c-muted: var(--wp--preset--color--muted); /* #6F6E73: 5:1 on white. On the soft panel use grey-700. */
	container: iab-contact / inline-size;
	position: relative;
}
.iab-contact,
.iab-contact *,
.iab-contact *::before,
.iab-contact *::after {
	box-sizing: border-box; /* the theme has no global reset; without it inputs overrun their panel */
}
.iab-contact__anchor {
	position: absolute;
	top: -6rem; /* land below the sticky header when coming back from the handler */
}
.iab-contact__form {
	margin: 0;
}
.iab-contact fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.iab-contact legend {
	padding: 0;
}
.iab-contact__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Step headings: "1 what's it about?", "2 your message" */
.iab-contact__legend {
	margin-bottom: 1rem;
}
.iab-contact__step-title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-contact__step {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	border: 1px solid transparent; /* stays visible as an outline in forced colours */
	font: 700 0.875rem/1 var(--wp--preset--font-family--body);
	letter-spacing: 0;
}

/* ── Step 1: topic cards (real radios; library radio atom + pricing--featured selected border) ── */
.iab-topics {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
}
.iab-topic {
	display: grid;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	transition: border-color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
.iab-topic__main {
	position: relative; /* the label's ::after covers this part only, never the phone link */
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 1rem 1.15rem 1.1rem 3rem;
}
.iab-topic__input,
.iab-topic__radio {
	position: absolute;
	top: 1.15rem;
	left: 1.1rem;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
}
.iab-topic__input {
	opacity: 0; /* the real radio sits exactly under the drawn one, so screen reader focus lines up */
}
.iab-topic__radio {
	display: grid;
	place-items: center;
	border: 1.5px solid var(--wp--preset--color--black);
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	transition: background var(--iab-fast) var(--iab-ease), border-color var(--iab-fast) var(--iab-ease);
}
.iab-topic__radio::after {
	content: "";
	width: 55%;
	height: 55%;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	transform: scale(0);
	transition: transform var(--iab-fast) var(--iab-ease);
}
.iab-topic__input:checked + .iab-topic__label .iab-topic__radio {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-topic__input:checked + .iab-topic__label .iab-topic__radio::after {
	transform: scale(1);
}
.iab-topic__label {
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: lowercase;
	cursor: pointer;
}
.iab-topic__label::after {
	content: "";
	position: absolute;
	inset: 0; /* the whole card body selects the topic */
}
.iab-topic__desc {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-topic__main:hover .iab-topic__radio {
	border-color: var(--iab-c-red);
}
.iab-topic:has(.iab-topic__main:hover) {
	border-color: var(--wp--preset--color--black);
}
.iab-topic:has(.iab-topic__input:checked) {
	border-color: var(--iab-c-red);
	box-shadow: inset 0 0 0 1px var(--iab-c-red);
}
.iab-topic:has(.iab-topic__input:focus-visible) {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 2px;
}
@supports not selector(:has(*)) {
	.iab-topic__input:focus-visible + .iab-topic__label .iab-topic__radio {
		outline: 3px solid var(--wp--preset--color--red);
		outline-offset: 2px;
	}
}
@media (forced-colors: active) {
	.iab-topic:has(.iab-topic__input:checked) {
		outline: 3px solid Highlight;
		outline-offset: -1px;
	}
	.iab-topic__input:checked + .iab-topic__label .iab-topic__radio {
		forced-color-adjust: none;
		border-color: Highlight;
		background: Canvas;
	}
	.iab-topic__input:checked + .iab-topic__label .iab-topic__radio::after {
		forced-color-adjust: none;
		background: Highlight;
	}
}

/* A topic with a phone number (Media): the number sits outside the clickable card body */
.iab-topic__aside {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 0.75rem;
	margin: 0;
	padding: 0.25rem 1.15rem 0.35rem 3rem;
	border-top: 1px solid var(--iab-border);
}
.iab-topic__aside-label {
	color: var(--iab-c-muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
}
.iab-topic__tel {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 2.75rem; /* 44px tap target */
	color: var(--iab-c-red);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.iab-topic__tel:hover {
	color: var(--wp--preset--color--black);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.iab-topic__tel svg {
	flex: none;
}

@container iab-contact (min-width: 44rem) {
	.iab-topics {
		grid-template-columns: repeat(var(--iab-topic-cols, 3), minmax(0, 1fr));
	}
	.iab-topic--wide {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.iab-topic--wide .iab-topic__aside {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 0;
		padding: 0.75rem 1.5rem;
		border-top: 0;
		border-left: 1px solid var(--iab-border);
	}
	.iab-topic--wide .iab-topic__tel {
		min-height: 2.75rem;
		font-size: var(--wp--preset--font-size--md);
	}
}

/* ── Step 2: your message ── */
.iab-contact__compose {
	margin-top: var(--wp--preset--spacing--70);
}
.iab-contact__compose > .iab-contact__step-title {
	margin-bottom: 1rem;
}
.iab-contact__panel {
	padding: clamp(1.25rem, 3.5vw, 2rem);
	background: var(--wp--preset--color--soft);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-contact.is-single .iab-contact__panel > .iab-contact__fields + .iab-contact__fields {
	margin-top: 1.1rem;
}

/* Who it goes to (like an email's "To" line). Shown by :has(); hidden where :has() is missing. */
.iab-contact__to {
	display: none;
	margin: 0 0 1.5rem;
}
.iab-contact__to-item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.75rem 1rem 0.75rem 0.75rem;
	background: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-contact__avatar {
	display: flex; /* not grid: "iab" and the red "." must stay on one line */
	align-items: center;
	justify-content: center;
	flex: none;
	white-space: nowrap;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font: 700 0.95rem/1 var(--wp--preset--font-family--display);
	letter-spacing: 0.02em;
}
.iab-contact__avatar.is-brand {
	font-size: 0.9rem;
	letter-spacing: -0.02em;
}
.iab-contact__avatar.is-brand span {
	color: var(--wp--preset--color--red);
}
.iab-contact__to-text {
	display: flex;
	flex-direction: column;
	margin: 0;
	line-height: 1.3;
}
.iab-contact__to-label {
	margin-bottom: 0.1rem;
	color: var(--iab-c-muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.iab-contact__to-text strong {
	color: var(--wp--preset--color--black);
	font-weight: 700;
}
.iab-contact__to-org {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}

/* Media-only fields: right after the topic choice, first thing in the panel */
.iab-contact .iab-contact__media {
	margin: 0 0 1.5rem;
	padding: 0 0 1.5rem;
	border-bottom: 1px solid rgba(37, 40, 42, 0.16);
}
.iab-contact__media-legend {
	float: left; /* lets the legend sit inside the fieldset's box like any other element */
	width: 100%;
	margin: 0 0 0.85rem;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.iab-contact__media > :not(legend) {
	clear: both; /* sit below the floated legend (the hint may be hidden) */
}
.iab-contact__media-hint {
	margin: 0 0 0.85rem;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
}

/* Which words show: default = no :has() and no JS (every field visible, spelled out) */
.iab-contact .iab-if-has {
	display: none;
}
@supports selector(:has(*)) {
	.iab-contact .iab-if-has {
		display: inline;
	}
	.iab-contact .iab-if-no-has {
		display: none;
	}
	.iab-contact__to {
		display: block;
	}
	.iab-contact__to-item {
		display: none;
	}
	/* Cards and "goes to" lines share one order (up to 6 topics). */
	.iab-contact__form:has(.iab-topic:nth-child(1) .iab-topic__input:checked) .iab-contact__to-item:nth-child(1),
	.iab-contact__form:has(.iab-topic:nth-child(2) .iab-topic__input:checked) .iab-contact__to-item:nth-child(2),
	.iab-contact__form:has(.iab-topic:nth-child(3) .iab-topic__input:checked) .iab-contact__to-item:nth-child(3),
	.iab-contact__form:has(.iab-topic:nth-child(4) .iab-topic__input:checked) .iab-contact__to-item:nth-child(4),
	.iab-contact__form:has(.iab-topic:nth-child(5) .iab-topic__input:checked) .iab-contact__to-item:nth-child(5),
	.iab-contact__form:has(.iab-topic:nth-child(6) .iab-topic__input:checked) .iab-contact__to-item:nth-child(6) {
		display: flex;
	}
	.iab-contact__form:not(:has(.iab-topic__input[data-variant="media"]:checked)) .iab-contact__media {
		display: none;
	}
}
.iab-contact.is-enhanced .iab-if-has {
	display: inline;
}
.iab-contact.is-enhanced .iab-if-no-has,
.iab-contact.is-enhanced .iab-req-text {
	display: none; /* JS sets native `required`, which screen readers announce */
}
.iab-contact [hidden] {
	display: none !important;
}

/* Fields (library form group: label, control, hint, error) */
.iab-contact__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.1rem 1rem;
}
@container iab-contact (min-width: 34rem) {
	.iab-contact__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.iab-contact .iab-field--message,
	.iab-contact .iab-field--choices,
	.iab-contact .iab-field--checkbox {
		grid-column: 1 / -1;
	}
}
.iab-contact .iab-field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
	margin: 0;
}
.iab-contact .iab-field label {
	color: var(--wp--preset--color--black);
}
.iab-contact .iab-field__req {
	color: var(--iab-c-red);
}
.iab-contact .iab-field__optional {
	color: var(--wp--preset--color--grey-700); /* grey-500 and muted both fail AA on the soft panel */
	font-weight: 400;
}
.iab-contact .iab-field__hint {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
}
.iab-contact .iab-field__error {
	display: flex;
	align-items: flex-start;
	gap: 0.35rem;
	margin: 0;
	color: var(--iab-c-red);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.35;
}
.iab-contact .iab-field__error svg {
	flex: none;
	width: 1rem;
	height: 1rem;
	margin-top: 0.1em;
}
.iab-contact [aria-invalid="true"] {
	border-color: var(--iab-c-red);
	box-shadow: inset 0 0 0 1px var(--iab-c-red);
}
.iab-contact [aria-invalid="true"]:focus {
	box-shadow: inset 0 0 0 1px var(--iab-c-red), 0 0 0 4px rgba(193, 0, 22, 0.18);
}
.iab-contact textarea {
	min-height: 9rem;
	resize: vertical;
}

/* Tick boxes (membership enquiry): a group under its question, or one box on its own. The whole row is the target. */
.iab-contact .iab-field__legend {
	margin-bottom: 0.4rem;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.iab-contact .iab-checks {
	display: grid;
	gap: 0.15rem;
	margin-top: 0.35rem;
}
.iab-contact .iab-check {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	min-height: 2.75rem; /* 44px tap target */
	padding: 0.6rem 0;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 400;
	line-height: 1.4;
	cursor: pointer;
}
.iab-contact .iab-check input {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.08em 0 0;
	accent-color: var(--iab-c-red);
	cursor: pointer;
}
.iab-contact .iab-check input:focus {
	box-shadow: none; /* the site-wide field glow suits a text box, not a tick box */
}
.iab-contact .iab-check input:focus-visible {
	outline: 2px solid var(--wp--preset--color--black);
	outline-offset: 2px;
}
.iab-contact .iab-field--choices > .iab-field__error {
	margin-top: 0.4rem;
}
.iab-topics__error {
	margin-top: 0.75rem !important;
}

/* Send */
.iab-contact__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-top: 1.5rem;
}
.iab-contact__note {
	flex: 1 1 16rem;
	max-width: 46ch;
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
}
.iab-contact__note a {
	color: inherit;
}
.iab-contact__send.wp-element-button {
	min-height: 2.75rem;
	padding-inline: 1.75rem;
	font-size: var(--wp--preset--font-size--base);
}
@container iab-contact (max-width: 30rem) {
	.iab-contact__send.wp-element-button {
		flex: 1 1 100%;
	}
}

/* Problem summary (after a failed send; focused on load) */
.iab-contact__summary {
	margin: 0 0 var(--wp--preset--spacing--60);
	padding: 1rem 1.25rem 1.1rem;
	border: 2px solid var(--iab-c-red);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--white);
}
.iab-contact__summary:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(193, 0, 22, 0.18);
}
.iab-contact__summary-title {
	margin: 0 0 0.4rem;
	font-size: var(--wp--preset--font-size--lg);
}
.iab-contact__summary ul,
.iab-contact__summary p {
	margin: 0;
}
.iab-contact__summary ul {
	padding-left: 1.1rem;
}
.iab-contact__summary a {
	color: var(--iab-c-red);
	font-weight: 600;
}

/* Sent: the thank-you replaces the form */
.iab-contact__done {
	display: grid;
	justify-items: start;
	gap: 0.6rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-contact__done:focus {
	outline: none;
}
.iab-contact__done-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: rgba(46, 125, 50, 0.12);
	color: var(--wp--custom--state--success);
}
.iab-contact__done-icon svg {
	width: 1.4rem;
	height: 1.4rem;
}
.iab-contact__done-title {
	margin: 0.25rem 0 0;
	font-size: var(--wp--preset--font-size--xl);
}
.iab-contact__done p {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
}
.iab-contact__done a {
	color: var(--iab-c-red);
	font-weight: 600;
}
.iab-contact__done .iab-contact__done-again {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem; /* 44px tap target; the phone link sits inside a sentence */
}

/* ── Find us + Follow us: quiet, text links with red-dark icons (Send stays the only solid red button) ── */
.iab-contact-more {
	display: grid;
	gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--iab-border);
}
@media (min-width: 40rem) {
	.iab-contact-more {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.iab-contact-more > *,
.iab-contact-more__col > * {
	margin-block: 0;
}
.iab-contact-more__col > * + * {
	margin-block-start: 0.6rem;
}
.iab-contact-more h2 {
	font-size: var(--wp--preset--font-size--xl);
}
.iab-contact-more__address {
	color: var(--wp--preset--color--black);
	line-height: 1.5;
}
.iab-contact-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.5rem;
	padding: 0;
	list-style: none;
}
.iab-contact-links a,
.iab-contact-more .iab-contact-social.wp-block-social-links .wp-social-link .wp-block-social-link-anchor {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 2.75rem; /* 44px tap target */
	padding: 0;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.2;
}
.iab-contact-links a {
	text-decoration: underline;
	text-decoration-color: rgba(37, 40, 42, 0.35);
	text-underline-offset: 0.2em;
}
.iab-contact-links a::before {
	content: "";
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	background: var(--wp--preset--color--red-dark);
	-webkit-mask: var(--iab-icon) center / contain no-repeat;
	mask: var(--iab-icon) center / contain no-repeat;
	--iab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.iab-contact-links a[href*="/maps/dir/"]::before {
	--iab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 22 2l-9 19-2-8-8-2z'/%3E%3C/svg%3E");
}
.iab-contact-links a:hover,
.iab-contact-more .iab-contact-social.wp-block-social-links .wp-social-link .wp-block-social-link-anchor:hover {
	color: var(--wp--preset--color--red-dark);
	text-decoration-color: currentColor;
}
.iab-contact-more .iab-contact-social {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 0 2rem;
	margin: 0;
	padding: 0;
	font-size: 1rem;
}
.iab-contact-more .iab-contact-social .wp-social-link {
	background: none;
	color: var(--wp--preset--color--black);
	border-radius: 0;
	transform: none;
}
.iab-contact-more .iab-contact-social.wp-block-social-links .wp-social-link .wp-block-social-link-anchor svg {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--wp--preset--color--red-dark);
	fill: currentColor;
}
.iab-contact-more .iab-contact-social .wp-social-link .wp-block-social-link-label {
	margin: 0;
	font-size: inherit;
	text-decoration: underline;
	text-decoration-color: rgba(37, 40, 42, 0.35);
	text-underline-offset: 0.2em;
}
.iab-contact-more .iab-contact-social.wp-block-social-links .wp-social-link .wp-block-social-link-anchor:hover .wp-block-social-link-label {
	text-decoration-color: currentColor;
}
@media (forced-colors: active) {
	.iab-contact-links a::before {
		forced-color-adjust: none;
		background: LinkText; /* mask icons are drawn with a background, which forced colours would drop */
	}
}

/* Lede paragraphs placed straight into a page's content line up with the title instead of centring */
.is-layout-constrained > .is-style-lede:not(.has-text-align-center) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
}


/* ── Podcast page: pattern iab-australia/podcast-page, block iab/podcast (IAB Core) ──────────────────
 * The latest episode as a dark panel with its player, the earlier episodes as rows under their year, and
 * the series kept on Omny as two cards. Players are the host's own frames (Omny): only their box is styled.
 */
.iab-pod-latest {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
	padding: clamp(1.25rem, 3.5vw, 2.5rem);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-pod-latest__art {
	display: block;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
}
/* Episode artwork carries its own title and faces: shown whole, never cropped */
.iab-pod-latest__art img {
	display: block;
	width: 100%;
	height: auto;
}
.iab-pod-latest__text > * {
	margin-block: 0;
}
.iab-pod-latest__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.iab-pod-latest__eyebrow::before {
	content: "";
	flex: none;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--red);
}
.iab-pod-latest .iab-pod-latest__title {
	margin-top: 0.9rem;
	color: var(--wp--preset--color--white);
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	line-height: 1.05;
	letter-spacing: -0.015em;
	text-wrap: balance;
}
.iab-pod-latest__title a {
	color: inherit;
	text-decoration: none;
}
.iab-pod-latest__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}
.iab-pod-latest__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1rem;
	margin-top: 0.9rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.iab-pod-latest__meta .iab-badge {
	border-color: rgba(255, 255, 255, 0.6);
	color: var(--wp--preset--color--white);
}
.iab-pod-latest__summary {
	max-width: 62ch;
	margin-top: 1rem;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.6;
}
.iab-pod-latest .iab-pod-latest__more {
	display: inline-block;
	margin-top: 1.1rem;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.45);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.25em;
}
.iab-pod-latest .iab-pod-latest__more:hover {
	text-decoration-color: currentColor;
}
.iab-pod-latest :focus-visible {
	outline-color: var(--wp--preset--color--white);
}
@media (min-width: 860px) {
	.iab-pod-latest {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		align-items: center;
		column-gap: clamp(2rem, 4vw, 3.5rem);
	}
	.iab-pod-latest--no-art {
		grid-template-columns: minmax(0, 1fr);
	}
	.iab-pod-latest__player {
		grid-column: 1 / -1;
	}
}
/* A player frame: the host draws everything inside it */
:is(.iab-pod-latest__player, .iab-pod__player) iframe {
	display: block;
	width: 100%;
	border: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--grey-100);
}
.iab-pod-latest__player iframe {
	background: rgba(255, 255, 255, 0.08);
}

/* Episodes by year: the year beside its rows (above them on a narrow screen) */
.iab-pod-year {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border-top: 1px solid var(--wp--preset--color--black);
}
.iab-pod-year + .iab-pod-year {
	margin-top: var(--wp--preset--spacing--60);
}
.iab-pod-year__label {
	margin: 0;
	padding-top: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-pod-year__count {
	display: block;
	margin-top: 0.35rem;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
.iab-pod-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 900px) {
	.iab-pod-year {
		grid-template-columns: 10rem minmax(0, 1fr);
	}
	.iab-pod-year__label {
		position: sticky;
		top: calc(7rem + var(--wp-admin--admin-bar--height, 0px)); /* clears the pinned header */
		align-self: start;
		padding-top: var(--wp--preset--spacing--50);
	}
}

/* One episode: artwork, then date, council, title and description, then Listen. An episode without artwork
   is text only (no stand-in picture). The player opens under the row (view.js). */
.iab-pod {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	align-items: start;
	column-gap: 0.875rem;
	margin: 0;
	padding: 1.125rem 0;
	border-bottom: 1px solid var(--iab-border);
}
/* Narrow screens: the artwork sits beside the date and title; the description and Listen take the full width */
.iab-pod__art {
	grid-row: 1 / span 2;
}
.iab-pod__text {
	display: contents;
}
.iab-pod__meta,
.iab-pod .iab-pod__title {
	grid-column: 2;
}
.iab-pod--no-art :is(.iab-pod__meta, .iab-pod__title),
.iab-pod__summary,
.iab-pod .iab-pod__play,
.iab-pod__player {
	grid-column: 1 / -1;
}
.iab-pod__art {
	display: block;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--grey-100);
}
.iab-pod__art img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform var(--wp--custom--duration--slow) var(--iab-ease);
}
.iab-pod:hover .iab-pod__art img {
	transform: scale(1.03);
}
.iab-pod__text > * {
	margin-block: 0;
}
.iab-pod__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.9rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	line-height: 1.3;
}
.iab-pod__meta .iab-badge {
	padding: 0.1rem 0.55rem;
}
/* The council, beside the dot of its colour */
.iab-pod__council {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}
.iab-pod__council::before {
	content: "";
	flex: none;
	width: 0.625rem;
	height: 0.625rem;
	border-radius: 50%;
	background: var(--accent, var(--wp--preset--color--red-dark));
}
.iab-pod .iab-pod__title {
	margin-top: 0.3rem;
	font-size: 1.0625rem;
	line-height: 1.2;
}
.iab-pod__title a {
	color: inherit;
	text-decoration: none;
}
.iab-pod__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}
.iab-pod__summary {
	display: -webkit-box;
	max-width: 68ch;
	margin-top: 0.7rem;
	overflow: hidden;
	color: var(--wp--preset--color--grey-700);
	font-size: 0.9375rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* the opening words are often the same; three lines reach the guests' names */
	line-clamp: 3;
}
/* Listen: outlined at rest so thirty of them do not outweigh the titles; solid while its player is open */
.iab-pod .iab-pod__play {
	justify-self: start;
	display: inline-flex;
	margin-top: 0.8rem;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-sizing: border-box;
	min-width: 6.75rem;
	min-height: 2.75rem;
	padding: 0.5rem 1.1rem;
	border: 1.5px solid var(--wp--preset--color--black);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	transition: background-color var(--iab-fast) var(--iab-ease), color var(--iab-fast) var(--iab-ease);
}
.iab-pod .iab-pod__play:is(:hover, [aria-expanded="true"]) {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-pod__play[aria-expanded="true"] svg {
	display: none;
}
.iab-pod > .iab-pod__player {
	margin-top: 0.9rem;
}
@media (min-width: 600px) {
	.iab-pod {
		grid-template-columns: 11rem minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 1.5rem;
		padding: 1.25rem 0;
	}
	.iab-pod__art {
		grid-row: auto;
	}
	.iab-pod__text {
		display: block;
		grid-column: 2;
	}
	.iab-pod--no-art .iab-pod__text {
		grid-column: 1 / 3;
	}
	.iab-pod .iab-pod__title {
		font-size: var(--wp--preset--font-size--lg);
		text-wrap: balance;
	}
	.iab-pod__summary {
		margin-top: 0.4rem;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.iab-pod .iab-pod__play {
		grid-column: 3;
		justify-self: end;
		margin-top: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.iab-pod__art img,
	.iab-pod .iab-pod__play {
		transition: none;
	}
	.iab-pod:hover .iab-pod__art img {
		transform: none;
	}
}

/* More to hear: series kept on Omny, one card each; its button opens the playlist's player in the card */
.iab-pod-series {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--50);
}
@media (min-width: 820px) {
	.iab-pod-series {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.iab-pod-series__item {
	box-sizing: border-box;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
}
.iab-pod-series__item > * {
	margin-block: 0;
}
.iab-pod-series__item > h3 {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-pod-series__item > p {
	max-width: 52ch;
	margin-top: 0.75rem;
	color: var(--wp--preset--color--grey-700);
}
.iab-pod-series__item > .wp-block-buttons {
	margin-top: 1.25rem;
}
.iab-pod-series__item > .iab-pod__player {
	margin-top: 1.25rem;
}

/* Episode page (templates/single-post-podcast.html): the player under the title in the band, "Listen now"
   at the end of the notes, series and platform rows in the details panel */
.iab-resource__intro > .iab-pod-episode {
	max-width: 46rem;
	margin-top: var(--wp--preset--spacing--50);
}
.iab-pod-episode iframe {
	display: block;
	width: 100%;
	border: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--grey-100);
	box-shadow: var(--wp--preset--shadow--md);
}
.iab-resource__main > .iab-pod-episode__listen {
	margin: var(--wp--preset--spacing--50) 0 0;
}
.iab-pod-episode__listen .wp-element-button {
	gap: 0.6rem;
}
.iab-details + .iab-details {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--iab-border);
}
.iab-details--podcast dd a:not(.iab-details__terms a) {
	color: var(--wp--preset--color--black);
	text-decoration: underline;
	text-decoration-color: rgba(37, 40, 42, 0.35);
	text-underline-offset: 0.2em;
}
.iab-details--podcast dd a:not(.iab-details__terms a):hover {
	text-decoration-color: currentColor;
}

/* ── Sponsorship checkout (an event page with ?sponsor=1 that offers packages; iab-core sponsorship-checkout.php) ──
   Step 1: the packages as tick-box tiles (title, price ex GST, what is included); an add-on sits indented under
   its package and unlocks with it. Step 2: the billing fields on the contact form's soft panel. Beside them a dark
   order summary (the portal's ticket card) with the running total and the one red button. ── */
.iab-sponsor-checkout__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}
@media (min-width: 62rem) {
	.iab-sponsor-checkout__grid {
		grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 1fr);
		gap: var(--wp--preset--spacing--70);
	}
	.iab-sponsor-checkout .iab-order-summary {
		position: sticky;
		top: 6rem;
	}
}
.iab-sponsor-checkout .iab-contact__legend {
	width: 100%;
	float: left; /* the step title sits inside the fieldset like any element */
	margin-bottom: 1rem;
}
.iab-sponsor-checkout__packages > :not(legend) {
	clear: both;
}
.iab-sponsor-checkout__packages.is-invalid .iab-packs {
	outline: 2px solid var(--wp--preset--color--red-dark);
	outline-offset: 6px;
	border-radius: var(--wp--custom--radius--lg);
}
.iab-packs {
	display: grid;
	gap: 0.75rem;
}
.iab-pack {
	position: relative;
	display: grid;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	transition: border-color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
.iab-pack.is-addon {
	margin-left: 1.75rem;
}
.iab-pack.is-addon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -1.75rem;
	width: 1.25rem;
	height: 1px;
	background: var(--iab-border);
}
.iab-pack__input {
	position: absolute;
	top: 1.3rem;
	left: 1.15rem;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	opacity: 0; /* the drawn box sits exactly over it */
}
.iab-pack__label {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 1rem;
	align-items: start;
	padding: 1.1rem 1.15rem 0.35rem 3.1rem;
	cursor: pointer;
}
.iab-pack__label::after {
	content: "";
	position: absolute;
	inset: 0; /* the whole tile ticks the box */
	border-radius: inherit;
}
.iab-pack__box {
	position: absolute;
	top: 1.3rem;
	left: 1.15rem;
	display: grid;
	place-items: center;
	width: 1.25rem;
	height: 1.25rem;
	border: 1.5px solid var(--wp--preset--color--black);
	border-radius: 0.3rem;
	background: var(--wp--preset--color--white);
	transition: background var(--iab-fast) var(--iab-ease), border-color var(--iab-fast) var(--iab-ease);
}
.iab-pack__box::after {
	content: "";
	width: 0.4rem;
	height: 0.7rem;
	margin-top: -0.15rem;
	border: solid var(--wp--preset--color--white);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(0);
	transition: transform var(--iab-fast) var(--iab-ease);
}
.iab-pack__input:checked + .iab-pack__label .iab-pack__box {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-pack__input:checked + .iab-pack__label .iab-pack__box::after {
	transform: rotate(45deg) scale(1);
}
.iab-pack__title {
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: lowercase;
}
.iab-pack__price {
	color: var(--wp--preset--color--black);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
	white-space: nowrap;
}
.iab-pack__price small {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
}
.iab-pack__body {
	padding: 0 1.15rem 1rem 3.1rem;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-pack__body p,
.iab-pack__body ul {
	margin: 0.35rem 0 0;
}
.iab-pack__body ul {
	padding-left: 1.1rem;
}
.iab-pack__body li {
	margin: 0.15rem 0;
}
.iab-pack__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0 !important;
}
.iab-pack__badge.iab-badge {
	font-size: 0.65rem;
}
.iab-pack__badge.is-taken {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
.iab-pack__tickets {
	font-weight: 600;
	color: var(--wp--preset--color--black);
}
.iab-pack__addon,
.iab-pack__span {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
}
.iab-pack:has(.iab-pack__label:hover) {
	border-color: var(--wp--preset--color--black);
}
.iab-pack:has(.iab-pack__input:checked) {
	border-color: var(--wp--preset--color--red-dark);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--red-dark);
}
.iab-pack:has(.iab-pack__input:focus-visible) {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 2px;
}
.iab-pack.is-taken,
.iab-pack.is-locked {
	background: var(--wp--preset--color--soft);
}
.iab-pack.is-taken .iab-pack__label,
.iab-pack.is-locked .iab-pack__label {
	cursor: not-allowed;
}
.iab-pack.is-taken .iab-pack__title,
.iab-pack.is-taken .iab-pack__price,
.iab-pack.is-locked .iab-pack__title,
.iab-pack.is-locked .iab-pack__price {
	color: var(--wp--preset--color--grey-700);
}
.iab-pack.is-taken .iab-pack__box,
.iab-pack.is-locked .iab-pack__box {
	border-color: var(--wp--preset--color--grey-500, #888B8D);
	background: var(--wp--preset--color--soft);
}

/* Order summary: dark card, totals, the button */
.iab-order-summary {
	padding: 1.5rem;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-order-summary__eyebrow {
	margin: 0 0 1rem;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-order-summary__empty {
	margin: 0 0 1rem;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-order-summary__items {
	display: grid;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
}
.iab-order-summary__items li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
}
.iab-order-summary__items li span:last-child {
	flex: none;
	font-weight: 700;
}
.iab-order-summary__totals {
	margin: 0;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.iab-order-summary__totals > div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.25rem 0;
	font-size: var(--wp--preset--font-size--sm);
}
.iab-order-summary__totals dt,
.iab-order-summary__totals dd {
	margin: 0;
}
.iab-order-summary__totals .is-grand {
	margin-top: 0.4rem;
	padding-top: 0.65rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 800;
}
.iab-order-summary__note {
	margin: 1rem 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
}
.iab-order-summary__send.wp-element-button {
	display: block;
	width: 100%;
	min-height: 3rem;
	border-color: var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
}
.iab-order-summary__send.wp-element-button:hover {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-order-summary__privacy {
	margin: 0.9rem 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
}
.iab-order-summary__privacy a {
	color: var(--wp--preset--color--white);
}
.iab-sponsor-checkout .iab-contact__compose {
	margin-top: var(--wp--preset--spacing--60);
}

/* Done: the invoice is on its way */
.iab-sponsor-done {
	max-width: 46rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-sponsor-done__icon {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--red);
	color: var(--wp--preset--color--white);
}
.iab-sponsor-done__title {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-sponsor-done p {
	margin: 0 0 0.85rem;
}
.iab-sponsor-done__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.25rem 0 !important;
}
.iab-sponsor-done__actions .wp-element-button.is-ghost {
	background: transparent;
	color: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--black);
}

/* Event details panel: what sponsorship starts at, under the button */
.iab-event-meta__sponsor-note {
	flex: 1 0 100%;
	margin-top: -0.2rem;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
	text-align: center;
}

/* ── Join IAB Australia (block iab/join on /join-iab-australia/; iab-core membership-join.php) ──
   The checkout layout above (packages column, dark summary) with the tiers as radio cards, the council seats
   and working group under them, then the company and billing fields. ── */
.iab-tierpick {
	position: relative;
	display: grid;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	transition: border-color var(--iab-fast) var(--iab-ease), box-shadow var(--iab-fast) var(--iab-ease);
}
.iab-tierpick__input {
	position: absolute;
	top: 1.3rem;
	left: 1.15rem;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	opacity: 0;
}
.iab-tierpick__label {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 1rem;
	align-items: start;
	padding: 1.1rem 1.15rem 0.35rem 3.1rem;
	cursor: pointer;
}
.iab-tierpick--board .iab-tierpick__label {
	padding-left: 1.15rem;
	cursor: default;
}
.iab-tierpick__label::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}
.iab-tierpick--board .iab-tierpick__label::after {
	content: none;
}
.iab-tierpick__radio {
	position: absolute;
	top: 1.3rem;
	left: 1.15rem;
	display: grid;
	place-items: center;
	width: 1.25rem;
	height: 1.25rem;
	border: 1.5px solid var(--wp--preset--color--black);
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	transition: background var(--iab-fast) var(--iab-ease), border-color var(--iab-fast) var(--iab-ease);
}
.iab-tierpick__radio::after {
	content: "";
	width: 55%;
	height: 55%;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	transform: scale(0);
	transition: transform var(--iab-fast) var(--iab-ease);
}
.iab-tierpick__input:checked + .iab-tierpick__label .iab-tierpick__radio {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-tierpick__input:checked + .iab-tierpick__label .iab-tierpick__radio::after {
	transform: scale(1);
}
.iab-tierpick__title {
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: lowercase;
}
.iab-tierpick__fee {
	color: var(--wp--preset--color--black);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.2;
	white-space: nowrap;
	text-align: right;
}
.iab-tierpick__fee small {
	display: block;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
}
.iab-tierpick__body {
	padding: 0 1.15rem 1rem 3.1rem;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-tierpick--board .iab-tierpick__body {
	padding-left: 1.15rem;
}
.iab-tierpick__body p {
	margin: 0.35rem 0 0;
}
.iab-tierpick__seats {
	color: var(--wp--preset--color--black);
	font-weight: 600;
}
.iab-tierpick__more {
	position: relative;
	z-index: 1; /* above the label's cover, so the summary toggles without ticking */
	margin-top: 0.5rem;
}
.iab-tierpick__more summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--wp--preset--color--red-dark);
}
.iab-tierpick__more ul {
	margin: 0.4rem 0 0;
	padding-left: 1.1rem;
}
.iab-tierpick__more li {
	margin: 0.15rem 0;
}
.iab-tierpick:has(.iab-tierpick__label:hover) {
	border-color: var(--wp--preset--color--black);
}
.iab-tierpick:has(.iab-tierpick__input:checked) {
	border-color: var(--wp--preset--color--red-dark);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--red-dark);
}
.iab-tierpick:has(.iab-tierpick__input:focus-visible) {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 2px;
}
.iab-tierpick--board {
	background: var(--wp--preset--color--soft);
}
.iab-join .iab-join__councils,
.iab-join .iab-join__groups {
	margin-top: 1.5rem;
}
.iab-join .iab-join__councils[hidden] {
	display: none;
}
.iab-join .iab-checks--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
	gap: 0 1rem;
}
.iab-join .iab-check.is-disabled {
	color: var(--wp--preset--color--muted);
	cursor: not-allowed;
}
.iab-order-summary__items small {
	color: rgba(255, 255, 255, 0.65);
	font-weight: 600;
}
.iab-join__done {
	margin: 0 auto;
}

/* Membership page: tier cards from the Membership levels data (block iab/membership-tiers) */
.iab-tiers--live .iab-tier__benefits {
	margin: 1rem 0 0 !important;
	padding-left: 1.1rem;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-tiers--live .iab-tier__benefits li {
	margin: 0.25rem 0;
}
.iab-tiers--live .iab-tier {
	display: flex;
	flex-direction: column;
}
.iab-tiers--live .iab-tier__action {
	margin-top: auto !important;
	padding-top: 1.5rem;
}
.iab-tiers--live .iab-tier__join.wp-element-button {
	display: inline-flex;
	line-height: 1.25; /* "Apply for Executive Technology membership" takes two lines in a narrow card */
	text-wrap: balance;
	border-color: var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
}
.iab-tiers--live .iab-tier__join.wp-element-button:hover {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-tiers--live .iab-tier__join.is-outline.wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--black);
}
.iab-tiers--live .iab-tier__join.is-outline.wp-element-button:hover {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

/* Join form, step 2: two groups under small headings, fields full or half width, the Join button at the foot */
.iab-join__subhead {
	margin: 0 0 0.85rem;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.iab-join__fields + .iab-join__subhead {
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(37, 40, 42, 0.16);
}
@container iab-contact (min-width: 34rem) {
	.iab-join .iab-field--full {
		grid-column: 1 / -1;
	}
}
.iab-join .iab-field--address textarea {
	min-height: 5.5rem;
}
.iab-join .iab-field--notes textarea {
	min-height: 6.5rem;
}
.iab-join__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(37, 40, 42, 0.16);
}
.iab-join__foot .iab-contact__note {
	flex: 1 1 22rem;
	margin: 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
}
.iab-join__send.wp-element-button {
	flex: none;
	min-height: 3rem;
	padding-inline: 2rem;
	border-color: var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
}
.iab-join__send.wp-element-button:hover {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
/* "Enquire about membership" under the Join button (project owner, 2026-10-14), the same width */
.iab-join__actions {
	display: flex;
	flex: none;
	flex-direction: column;
	gap: 0.6rem;
}
.iab-join__actions .wp-element-button {
	justify-content: center;
	text-align: center;
}
.iab-join__enquire.wp-element-button {
	min-height: 3rem;
	padding-inline: 2rem;
	border-color: var(--wp--preset--color--black);
	background: transparent;
	color: var(--wp--preset--color--black);
}
.iab-join__enquire.wp-element-button:hover {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}
@container iab-contact (max-width: 30rem) {
	.iab-join__actions {
		flex: 1 1 100%;
	}
}

/* A tier by application (Council, Executive Technology): a small tag on its card */
.iab-tierpick__body .iab-tierpick__apply {
	display: inline-block;
	margin: 0.1rem 0 0.15rem;
	padding: 0.05rem 0.6rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: var(--wp--preset--color--red-dark);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
}

/* The summary beside the form: what the chosen tier includes (copied from its card by join.js) */
.iab-order-summary__included {
	margin: 1.25rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.iab-order-summary__included[hidden] {
	display: none;
}
.iab-order-summary__subhead {
	margin: 0 0 0.5rem;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-order-summary__included ul {
	margin: 0;
	padding-left: 1.1rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.45;
}
.iab-order-summary__included li {
	margin: 0.3rem 0;
}
@media (min-width: 62rem) {
	/* Kept within the window while it stays pinned, so the note under a long list can still be read */
	.iab-join .iab-order-summary {
		max-height: calc(100vh - 7rem);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

/* Join page: "Already a member? Create your login" above step 1 — the company email finds the company's register page */
.iab-join-member {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem var(--wp--preset--spacing--70);
	align-items: center;
	margin: 0 0 var(--wp--preset--spacing--70);
	padding: clamp(1.25rem, 3.5vw, 2rem);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
}
@media (min-width: 62rem) {
	.iab-join-member {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	}
}
.iab-join-member__title {
	margin: 0 0 0.6rem;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-join-member__text p:last-child {
	margin: 0;
	color: var(--wp--preset--color--grey-700);
}
.iab-join-member__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.iab-join-member__row input {
	flex: 1 1 14rem;
	min-width: 0;
}
.iab-join-member__send.wp-element-button {
	flex: none;
	min-height: 3rem;
	padding-inline: 1.75rem;
	border-color: var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
}
.iab-join-member__send.wp-element-button:hover {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-join-member__alt {
	margin: 0.9rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
}
.iab-join-member__alt a {
	color: var(--wp--preset--color--black);
	font-weight: 600;
}

/* Join page: "Join IAB Australia" and "Already a member" as two tabs (iab_core_join_tabs_html, join-tabs.js;
   project owner, 2026-10-14) */
.iab-jointabs__list {
	display: flex;
	gap: 0.5rem;
	margin: 0 0 var(--wp--preset--spacing--60);
	border-bottom: 1px solid var(--iab-border);
}
.iab-jointabs__tab {
	margin: 0 0 -1px;
	padding: 0.85rem 1.25rem;
	border: 0;
	border-bottom: 3px solid transparent;
	background: none;
	color: var(--wp--preset--color--grey-700);
	font: inherit;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}
.iab-jointabs__tab:hover {
	color: var(--wp--preset--color--black);
}
.iab-jointabs__tab[aria-selected="true"] {
	border-bottom-color: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--black);
}
.iab-jointabs__panel > .iab-join-member {
	margin: 0;
}
@media (max-width: 30rem) {
	.iab-jointabs__list {
		gap: 0;
	}
	.iab-jointabs__tab {
		flex: 1 1 0;
		padding-inline: 0.5rem;
		font-size: var(--wp--preset--font-size--base);
	}
}

/* "Having trouble setting up your login? Contact us…" (iab_core_member_login_help_html): join panel, register pages */
.iab-login-help {
	margin: 0.6rem 0 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-login-help a {
	color: var(--wp--preset--color--red-dark);
	font-weight: 600;
}
.single-memberpressproduct .iab-login-help {
	margin-top: 1.5rem;
	text-align: center;
}

/* A company's register page: verify the email by code before the sign-up form (iab-core signup-verify.php;
   project owner, 2026-10-14). A white panel like the join page's login panel. */
.iab-sv:not(.iab-sv--verified) {
	max-width: 44rem;
	margin: 0 auto;
	padding: clamp(1.25rem, 3.5vw, 2.25rem);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-sv__step {
	margin: 0 0 0.4rem;
	color: var(--wp--preset--color--red-dark);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-sv__title {
	margin: 0 0 0.6rem;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.1;
}
.iab-sv__lede {
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--grey-700);
}
.iab-sv__form .iab-field {
	margin: 0;
}
.iab-sv__form > .iab-field--email,
.iab-sv__form > .iab-sv__fixed {
	margin-bottom: 0.75rem;
}
.iab-sv__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.iab-sv__row input {
	flex: 1 1 10rem;
	min-width: 0;
}
.iab-sv__code {
	max-width: 12rem;
	font-size: var(--wp--preset--font-size--lg) !important;
	font-weight: 700;
	letter-spacing: 0.3em;
	font-variant-numeric: tabular-nums;
}
.iab-sv__send.wp-element-button {
	min-height: 3rem;
	padding-inline: 1.75rem;
	border-color: var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
}
.iab-sv__send.wp-element-button:hover {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-sv .iab-field__error {
	margin-top: 0.5rem;
}
.iab-sv__notice {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-left: 3px solid var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--soft);
	font-weight: 600;
}
.iab-sv__alt {
	margin: 1.1rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
}
div.iab-sv__alt {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem;
}
.iab-sv__alt a,
.iab-sv__link {
	color: var(--wp--preset--color--black);
	font-weight: 600;
}
.iab-sv__inline {
	display: inline;
	margin: 0;
}
.iab-sv__link {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: var(--wp--preset--font-size--sm);
	text-decoration: underline;
	cursor: pointer;
}
.iab-sv .iab-login-help {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--iab-border);
	text-align: left;
}
/* Step 3: the verified address above MemberPress's form, which keeps it fixed */
.iab-sv--verified {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0 0 1.5rem;
	padding: 0.85rem 1.1rem;
	border-radius: var(--wp--custom--radius--md);
	background: #e3f5ec;
	color: #0c5c43;
}
.iab-sv__done {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
}
.iab-sv__tick {
	display: grid;
	flex: none;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: #0c7c59;
	color: var(--wp--preset--color--white);
}
.iab-sv--verified .iab-sv__link {
	color: #0c5c43;
}
.mepr-signup-form input.is-verified {
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--grey-700);
}

/* The page after a member sign-up (block iab/member-welcome): the dark card of the old page, now with the person's
   name and company and a working portal button; then the portal's screens as links */
.iab-welcome {
	max-width: 52rem;
	margin: 0 auto;
}
.iab-welcome__card {
	padding: clamp(1.5rem, 5vw, 3rem);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
	text-align: center;
}
.iab-welcome__icon {
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: #0c7c59;
	color: var(--wp--preset--color--white);
}
.iab-welcome__eyebrow {
	margin: 0 0 0.5rem;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.iab-welcome__title {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xxl, var(--wp--preset--font-size--xl));
	line-height: 1.05;
}
.iab-welcome__card p {
	max-width: 36rem;
	margin-inline: auto;
	color: rgba(255, 255, 255, 0.85);
}
.iab-welcome__card a:not(.wp-element-button) {
	color: var(--wp--preset--color--white);
}
.iab-welcome__card strong {
	color: var(--wp--preset--color--white);
}
.iab-welcome__actions {
	margin: 1.5rem auto 0 !important;
}
.iab-welcome__actions .wp-element-button {
	min-height: 3rem;
	padding-inline: 2rem;
	border-color: var(--wp--preset--color--red-dark);
	background: var(--wp--preset--color--red-dark);
	color: var(--wp--preset--color--white);
}
.iab-welcome__actions .wp-element-button:hover {
	border-color: var(--wp--preset--color--red);
	background: var(--wp--preset--color--red);
}
.iab-welcome__start {
	margin-top: var(--wp--preset--spacing--70);
}
.iab-welcome__subhead {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--lg);
}
.iab-welcome__links {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-welcome__links li {
	display: flex;
	margin: 0;
}
.iab-welcome__link {
	display: flex;
	flex: 1;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	text-decoration: none;
}
.iab-welcome__link:hover {
	border-color: var(--wp--preset--color--black);
}
.iab-welcome__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 2px;
}
.iab-welcome__link-icon {
	flex: none;
	color: var(--wp--preset--color--red-dark);
}
.iab-welcome__link-text {
	display: grid;
	gap: 0.15rem;
}
.iab-welcome__link-text span {
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-welcome__guide,
.iab-welcome__help {
	margin: 1.25rem 0 0;
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--sm);
}
.iab-welcome__guide a,
.iab-welcome__help a {
	color: var(--wp--preset--color--red-dark);
	font-weight: 600;
}

/* ── What our members say (iab/member-quotes, membership page): logo, the quote, who said it ── */
.iab-quotes__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
	gap: var(--wp--preset--spacing--50);
	margin-top: var(--wp--preset--spacing--50);
}
.iab-quote {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
}
.iab-quote__mark {
	display: flex;
	align-items: center;
	height: 4rem; /* logos a step larger (project owner, 2026-10-03) */
	margin-bottom: 1.5rem;
}
.iab-quote__logo {
	max-width: 14rem;
	max-height: 4rem;
	width: auto;
	height: auto;
	object-fit: contain;
}
/* Cropped to the artwork: a wordmark runs the width, a compact mark the height */
.iab-quote__logo.is-trimmed {
	max-width: 13rem;
	max-height: 3.5rem;
	height: 3.5rem;
}
.iab-quote__logo.is-dark {
	padding: 0.35rem 0.5rem;
	background: var(--wp--preset--color--black);
	border-radius: var(--wp--custom--radius--sm);
}
.iab-quote__text {
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
}
.iab-quote__text p {
	margin: 0;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -0.01em;
}
.iab-quote__text p::before {
	content: "“";
	color: var(--wp--preset--color--red);
}
.iab-quote__text p::after {
	content: "”";
	color: var(--wp--preset--color--red);
}
.iab-quote__who {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-top: auto;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
}
.iab-quote__by {
	font-weight: 700;
	color: var(--wp--preset--color--black);
}
.iab-quote__org {
	color: var(--wp--preset--color--grey-700);
}
.iab-quote__type {
	color: var(--wp--preset--color--muted);
}
.iab-quote__source {
	margin-top: 0.4rem;
	font-weight: 600;
	color: var(--wp--preset--color--red-dark);
}

/* Join form: the "on application" tier (Board) is a card like the others; the summary hides its totals */
.iab-tierpick--board .iab-tierpick__label {
	padding-left: 3.1rem;
	cursor: pointer;
}
.iab-tierpick--board .iab-tierpick__label::after {
	content: "";
}
.iab-tierpick--board .iab-tierpick__body {
	padding-left: 3.1rem;
}
.iab-tierpick--board .iab-tierpick__fee small {
	font-size: var(--wp--preset--font-size--sm);
}
.iab-order-summary__totals[hidden],
.iab-order-summary__note[hidden] {
	display: none;
}

/* Homepage: the latest podcast episode (pattern iab-australia/podcast-latest) — the podcast page's dark panel under a section head */
.iab-section--podcast > .iab-pod-latest {
	margin-top: var(--wp--preset--spacing--50);
}

/* Homepage: a word from the CEO (pattern iab-australia/ceo-quote) — portrait beside the quote on the soft band;
   stacked on a phone with the photo cropped wide so the words arrive quickly */
.iab-ceo-quote {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60);
	align-items: center;
}
.iab-ceo-quote > *,
.iab-ceo-quote__body > *,
.iab-ceo-quote__who > * {
	margin-block: 0 !important;
}
.iab-ceo-quote__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: 52% 22%;
	border-radius: var(--wp--custom--radius--lg);
}
.iab-ceo-quote__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.iab-ceo-quote__body .is-style-eyebrow {
	margin-bottom: var(--wp--preset--spacing--40) !important;
}
.iab-ceo-quote__quote.wp-block-quote {
	margin: 0;
	padding: 0;
	border: 0;
}
.iab-ceo-quote__quote p {
	max-width: 24ch;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3.6vw, 3rem);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-wrap: pretty;
}
/* Red curly quotes, as on the member quotes; the opening one hangs so the words line up with the eyebrow */
.iab-ceo-quote__quote p::before {
	content: "“";
	margin-left: -0.42em;
	color: var(--wp--preset--color--red);
}
.iab-ceo-quote__quote p::after {
	content: "”";
	color: var(--wp--preset--color--red);
}
.iab-ceo-quote__who {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-left: var(--wp--preset--spacing--40);
	border-left: 3px solid var(--wp--preset--color--red);
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.4;
}
.iab-ceo-quote__by {
	font-weight: 700;
	color: var(--wp--preset--color--black);
}
.iab-ceo-quote__role {
	color: var(--wp--preset--color--grey-700);
}
.iab-ceo-quote__source {
	margin-top: var(--wp--preset--spacing--50) !important;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.iab-ceo-quote__source a {
	color: var(--wp--preset--color--red-dark);
	text-decoration: none;
}
.iab-ceo-quote__source a:hover,
.iab-ceo-quote__source a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (max-width: 819px) {
	/* No room to hang the opening quote at the gutter on a phone */
	.iab-ceo-quote__quote p::before {
		margin-left: 0;
	}
}
@media (min-width: 820px) {
	.iab-ceo-quote {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: var(--wp--preset--spacing--80);
	}
	.iab-ceo-quote__photo img {
		aspect-ratio: 4 / 5;
		object-position: 52% 30%;
	}
}

/* Homepage: "peak trade association" promotion (pattern iab-australia/promotion) — the live site's banner carried over,
   last on the page so it meets the footer's newsletter panel: the red paint photo edge to edge, the sentence on a
   translucent dark-red panel, "Become a member". Lowercased like every heading (7 Oct); the stored sentence keeps its capitals. */
.iab-promo.wp-block-cover {
	min-height: 0;
	padding: clamp(3rem, 7vw, 5.5rem) var(--wp--preset--spacing--gutter);
}
.iab-promo .wp-block-cover__inner-container {
	width: 100%;
}
.iab-promo__box {
	box-sizing: border-box;
	max-width: 58rem;
	margin-inline: auto !important;
	padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3.5rem);
	background: rgba(134, 15, 30, 0.58);
	border-radius: var(--wp--custom--radius--lg);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	text-align: center;
}
.iab-promo__box > * {
	margin-block: 0 !important;
}
.iab-promo__title {
	color: var(--wp--preset--color--white);
	font-size: clamp(1.75rem, 3.8vw, 3rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-wrap: balance;
}
.iab-promo__box .wp-block-buttons {
	margin-top: clamp(1.25rem, 3vw, 2rem) !important;
}
.iab-promo :focus-visible {
	outline-color: var(--wp--preset--color--white);
}

/* ── Sponsor view of an event (?sponsor=1, body.iab-sponsor-view): a focused checkout — the side column, the red band
   and "more events" step aside; the packages, the order summary and the billing form take the width ── */
.iab-sponsor-view .iab-resource__aside,
.iab-sponsor-view .iab-resource__more,
.iab-sponsor-view .iab-member-cta--band {
	display: none;
}
.iab-sponsor-view .iab-resource__grid {
	grid-template-columns: minmax(0, 1fr);
}
.iab-sponsor-view .iab-resource__main {
	max-width: none;
}
.iab-sponsor__facts {
	margin: -0.25rem 0 0.75rem;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
@media (min-width: 62rem) {
	.iab-sponsor-view .iab-sponsor-checkout__grid {
		grid-template-columns: minmax(0, 1.8fr) minmax(18rem, 22rem);
	}
}

/* ── Online courses (iab/courses; IAB Core includes/courses.php) ─────────────────────────────────
   /online-courses/: a card for every course on Thinkific (photographic cards: picture, eyebrow, name, a line about
   it, then price · lessons · video on the card's rule). /online-courses/<course>/ (template online-course.html): the
   event page's layout — the soft band with the name and picture, then the description and the chapters beside a
   panel like an event's (facts, prices, the way in), "become a member", and three more courses. */
.iab-courses__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(max(min(260px, 100%), calc((100% - 3rem) / 3)), 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.iab-courses__grid > li {
	margin: 0;
}
/* Thinkific's course-card pictures are 760 × 420 and carry the IAB logo bottom left: the box takes that shape, an
   odd one is trimmed on the right, and the card's corner stripe (which would sit on the logo) is left off */
.iab-course-card .iab-post__media {
	aspect-ratio: 760 / 420;
}
.iab-course-card .iab-post__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
}
.iab-post.iab-course-card .iab-post__media::after {
	content: none;
}
.iab-course-card .iab-post__excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.iab-course-card .iab-post__meta span + span::before,
.iab-course-card .iab-post__meta strong + span::before {
	content: "·";
	margin-right: 0.85rem;
	color: var(--wp--preset--color--grey-300, #c9c8cc);
}
.iab-courses__empty {
	color: var(--wp--preset--color--muted);
}
/* The heading of "more courses" with its link to the list, on one line where they fit */
.iab-courses__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
}
.iab-courses__head > * {
	margin: 0;
}
.iab-courses__head a {
	color: var(--wp--preset--color--black);
	font-weight: 600;
}
/* The section hides itself when it has no post cards; course cards are not posts */
.iab-resource__more:has(.iab-course-card) {
	display: block;
}

/* A course's page */
.iab-course__counts {
	margin-top: 0 !important;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--md);
}
.iab-course__section + .iab-course__section {
	margin-top: var(--wp--preset--spacing--70);
}
.iab-course__section > h2 {
	margin: 0 0 1.25rem;
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.15;
}
.iab-course__about {
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
}
.iab-course__about > p {
	margin: 0;
}
.iab-course__about > p + p {
	margin-top: 1rem;
}
/* Chapters: the site's accordion; each row numbered, its lessons and running time under the name */
.iab-course__chapters summary {
	justify-content: flex-start;
	align-items: flex-start;
}
.iab-course__chapters summary::after {
	margin-left: auto;
}
.iab-course__chapter-number {
	flex: none;
	min-width: 1.75rem;
	padding-top: 0.1em;
	color: var(--wp--preset--color--red-dark);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.iab-course__chapter {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}
.iab-course__chapter-about {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
}
.is-style-accordion details > .iab-course__lessons {
	margin: 0;
	padding: 0 1.25rem 0.75rem calc(1.25rem + 1.75rem + 1rem);
	list-style: none;
}
.iab-course__lessons > li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.75rem;
	padding: 0.6rem 0;
	border-top: 1px solid var(--iab-border);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
}
.iab-course__lesson {
	flex: 1 1 12rem;
	min-width: 0;
}
.iab-course__free {
	padding: 0.1rem 0.5rem;
}
.iab-course__kind {
	flex: none;
	margin-left: auto;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
@media (max-width: 600px) {
	.is-style-accordion details > .iab-course__lessons {
		padding-left: 1.25rem;
	}
}
/* The panel: the event panel's facts; a note under a fact (a bundle's name, days of access) in small grey */
.iab-course-panel__note {
	display: block;
	margin-top: 0.2rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
}
.iab-course-panel .iab-event-meta__foot {
	flex-wrap: wrap;
}
.iab-course-panel .iab-event-meta__tickets.wp-element-button {
	flex: 1 0 100%;
	justify-content: center;
}
.iab-course-panel .iab-event-meta__tickets .iab-event-meta__icon {
	width: 1rem;
	height: 1rem;
	margin: 0 0 0 0.4rem;
	color: currentColor;
}
.iab-course-panel__where {
	margin: 0.75rem 0 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.45;
}
.iab-course-panel__mine {
	display: inline-block;
	margin-top: 0.75rem;
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
/* One column: the panel comes before the description, the rest of the side column after it (as on event pages) */
@media (max-width: 1099.98px) {
	.iab-resource--course .iab-resource__aside {
		display: contents;
	}
	.iab-resource--course .iab-resource__aside > .iab-course-panel {
		order: -1;
	}
}
@media (min-width: 1100px) and (max-height: 999.98px) {
	.iab-resource__aside:has(.iab-course-panel) {
		position: static;
	}
}

/* Card button kept from a Thrive post list whose button had its own wording ("Login here"; wp iab thrive convert) */
.iab-post__more {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--20, 0.5rem);
	font-weight: 600;
	color: var(--wp--preset--color--red-dark);
}
.iab-post__more::after {
	content: " →";
}

/* ── Quiz (iab/quiz) ─────────────────────────────────────────────────────── */
/* One question at a time once view.js runs (.is-live); without it the questions read as a list. */
.iab-quiz [hidden] {
	display: none !important; /* the theme's button and flex rules would otherwise show hidden parts */
}
.iab-quiz {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--lg);
	padding: clamp(1.25rem, 4vw, 2rem);
	margin-block: var(--wp--preset--spacing--50);
}
.iab-quiz__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.iab-quiz:not(.is-live) .iab-quiz__q + .iab-quiz__q {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--iab-border);
}
.iab-quiz__head {
	display: flex;
	justify-content: flex-end;
}
.iab-quiz__score,
.iab-quiz__count {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}
.iab-quiz__score {
	font-weight: 700;
	color: var(--wp--preset--color--red-dark);
}
.iab-quiz.is-live .iab-quiz__count {
	margin-top: -1.4rem; /* level with the score */
}
.iab-quiz__question {
	margin: 0.75rem 0 1rem;
	font-size: var(--wp--preset--font-size--lg);
}
.iab-quiz__options {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.6rem;
}
.iab-quiz__option {
	width: 100%;
	text-align: left;
	font: inherit;
	color: var(--wp--preset--color--black);
	background: var(--wp--preset--color--grey-50);
	border: 1px solid var(--iab-border);
	border-radius: var(--wp--custom--radius--md);
	padding: 0.75rem 1rem;
	cursor: pointer;
	transition: border-color var(--iab-base) var(--iab-ease), background var(--iab-base) var(--iab-ease);
}
.iab-quiz__option:hover:not(:disabled),
.iab-quiz__option:focus-visible {
	border-color: var(--wp--preset--color--black);
}
.iab-quiz__option:disabled {
	cursor: default;
}
.iab-quiz:not(.is-live) .iab-quiz__option:disabled {
	color: inherit;
}
.iab-quiz__option.is-right {
	background: var(--wp--preset--color--mint);
	border-color: var(--wp--preset--color--mint);
	font-weight: 700;
}
.iab-quiz__option.is-wrong {
	border-color: var(--wp--preset--color--red);
	color: var(--wp--preset--color--red-dark);
}
.iab-quiz__feedback {
	margin: 1rem 0 0;
	font-weight: 600;
}
.iab-quiz__feedback:empty {
	display: none;
}
.iab-quiz__feedback.is-wrong {
	color: var(--wp--preset--color--red-dark);
}
.iab-quiz__next,
.iab-quiz__again {
	margin-top: 1rem;
}
.iab-quiz__result {
	text-align: center;
}
.iab-quiz__result:focus {
	outline: none;
}
.iab-quiz__done {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--muted);
}
.iab-quiz__band {
	margin: 0.5rem 0;
}
.iab-quiz__total {
	margin: 0.25rem 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xxl);
	font-weight: 700;
	color: var(--wp--preset--color--red-dark);
}
.iab-quiz__message {
	margin: 0 0 0.5rem;
}
/* Editor */
.iab-quiz-edit__q {
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 12px;
	display: grid;
	gap: 8px;
}
.iab-quiz-edit__n,
.iab-quiz-edit__title {
	margin: 0;
	font-weight: 600;
}
.iab-quiz-edit__tools {
	display: flex;
	gap: 8px;
}
.iab-quiz-edit__band {
	border-top: 1px solid #ddd;
	padding-top: 8px;
	margin-bottom: 8px;
}
