/*
 * Atuka Next
 *
 * Tokens come from theme.json as --wp--preset--* and --wp--custom--*.
 * Breakpoints, used consistently:
 *   40rem (640px)   small  -> medium
 *   64rem (1024px)  medium -> large
 * Components respond to their container where they can.
 */

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

:root {
	--atuka-ink: var(--wp--preset--color--ink);
	--atuka-purple: var(--wp--preset--color--purple);
	--atuka-orange: var(--wp--preset--color--orange);
	--atuka-card: var(--wp--preset--color--card);
	--atuka-radius: var(--wp--custom--radius);
	--atuka-header-h: var(--wp--custom--header-height);
	--atuka-display: var(--wp--preset--font-family--display);
	--atuka-text: var(--wp--preset--font-family--text);
}

html {
	scroll-padding-top: calc(var(--atuka-header-h) + 1rem);
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3 {
	text-wrap: balance;
}

p,
li {
	text-wrap: pretty;
}

:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--atuka-purple);
	outline-offset: 2px;
}

img {
	height: auto;
	max-width: 100%;
}

/* Template parts sit flush; sections own their spacing. */
.wp-site-blocks > * {
	margin-block-start: 0;
}

/* Line heights by size, so large type sets tight wherever the size is used. */
.has-display-font-size {
	line-height: 1.04;
	letter-spacing: var(--wp--custom--tracking--display);
}

.has-xx-large-font-size {
	line-height: 1.12;
}

.has-x-large-font-size {
	line-height: 1.2;
}

.has-large-font-size {
	line-height: 1.34;
}

.has-small-font-size,
.has-extra-small-font-size {
	line-height: 1.5;
}

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

header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}

.wp-block-atuka-atuka-nav .atuka-header__bar {
	box-sizing: border-box;
	height: var(--atuka-header-h);
	padding-inline: max(var(--wp--style--root--padding-left, 1rem), calc((100% - 80rem) / 2));
	align-items: center;
	background-color: var(--wp--preset--color--white);
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease;
}

.wp-block-atuka-atuka-nav .is-scrolled .atuka-header__bar {
	border-bottom-color: var(--atuka-card);
}

/* The logo keeps a fixed box. The homepage enlargement is a transform, so nothing below it moves. */
.wp-block-atuka-atuka-nav .atuka-logo {
	margin: 0;
	line-height: 0;
}

.wp-block-atuka-atuka-nav .atuka-logo img {
	display: block;
	width: auto;
	height: 2.75rem;
	aspect-ratio: 288.1 / 141.1;
	transform-origin: left center;
	transition: transform 0.25s ease;
}

@media (min-width: 64rem) {
	.home .wp-block-atuka-atuka-nav :not(.is-scrolled) > .atuka-header__bar .atuka-logo img {
		transform: scale(1.25);
	}
}

.wp-block-atuka-atuka-nav .atuka-logo {
	flex-shrink: 0;
}

/* The menu collapses to the menu button below the large breakpoint (core switches at 600px, too late for six items). */
@media (max-width: 63.99rem) {
	.atuka-header__bar .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.atuka-header__bar .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}


@media (prefers-reduced-motion: reduce) {
	.wp-block-atuka-atuka-nav * {
		transition: none !important;
	}
}

/* ---------- Sections ---------- */

/* .atuka-section is a full-width band with a 1280px content area. .atuka-page is a single reading column. */
.atuka-section,
.atuka-page {
	padding-block: var(--wp--preset--spacing--40);
}

.wp-block-group.is-style-section-tint {
	background-color: var(--wp--preset--color--jacarta-5);
}

.wp-block-group.is-style-section-dark,
.wp-block-cover.atuka-hero {
	background-color: var(--atuka-ink);
	color: var(--wp--preset--color--white);
}

:is(.is-style-section-dark, .atuka-hero) :is(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--white);
}

:is(.is-style-section-dark, .atuka-hero) a:not(.wp-element-button) {
	color: var(--wp--preset--color--white);
}

:is(.is-style-section-dark, .atuka-hero) .wp-element-button {
	background-color: var(--atuka-orange);
	color: var(--atuka-ink);
}

:is(.is-style-section-dark, .atuka-hero) .wp-element-button:hover {
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
}

/* ---------- Hero ---------- */

.wp-block-cover.atuka-hero {
	min-height: min(44rem, 88svh);
	padding-block: var(--wp--preset--spacing--50);
	align-items: flex-end;
}

.atuka-hero .wp-block-cover__inner-container {
	max-width: 80rem;
	margin-inline: auto;
}

.atuka-hero .wp-block-cover__inner-container > * {
	max-width: 52rem;
	margin-inline-start: 0 !important;
	margin-inline-end: auto !important;
}

/* ---------- Eyebrow ---------- */

.is-style-eyebrow {
	margin-block-end: 1.5rem;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.is-style-eyebrow::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-block-start: 0.75rem;
	border-radius: 2px;
	background-color: var(--atuka-orange);
}

.has-text-align-center.is-style-eyebrow::after {
	margin-inline: auto;
}

:is(.is-style-section-dark, .atuka-hero) .is-style-eyebrow {
	color: var(--atuka-orange);
}

/* ---------- Card ---------- */

.wp-block-group.is-style-card {
	container-type: inline-size;
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
	color: var(--atuka-ink);
}

.is-style-card > :first-child {
	margin-block-start: 0;
}

.is-style-card > :last-child {
	margin-block-end: 0;
}

.is-style-card .wp-block-post-featured-image img,
.is-style-card > .wp-block-image img {
	border-radius: calc(var(--atuka-radius) / 2);
}

.is-style-card :is(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
}

.is-style-card :is(h2, h3, h4) a:hover {
	color: var(--atuka-purple);
}

/* ---------- Stat ---------- */

.is-style-stat-number,
.is-style-stat-number-orange {
	margin-block: 0 0.25rem;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: clamp(2.5rem, 1.9rem + 2.6vw, 3.75rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.022em;
	white-space: nowrap;
}

.is-style-stat-number-orange {
	/* Brand orange darkened for text: 3.3:1 on the card tint, 3.9:1 on white. */
	color: #d0601e;
}

:is(.is-style-stat-number, .is-style-stat-number-orange) + p {
	margin-block-start: 0;
}

/* ---------- Quote ---------- */

.wp-block-quote {
	margin-inline: 0;
	padding: clamp(1.5rem, 1rem + 2.5vw, 3.5rem);
	border: 0;
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
	color: var(--atuka-ink);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.4;
}

.wp-block-quote::before {
	content: "\201C";
	display: block;
	height: 0.55em;
	margin-block-end: 0.15em;
	color: var(--atuka-orange);
	font-family: var(--atuka-text);
	font-size: clamp(4rem, 3rem + 4vw, 7rem);
	line-height: 1;
}

.wp-block-quote cite {
	display: block;
	margin-block-start: 1.5rem;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	line-height: 1.4;
}

/* ---------- Numbered steps ---------- */

ol.is-style-steps {
	--step-size: 2.75rem;
	position: relative;
	padding: 0;
	list-style: none;
	counter-reset: atuka-step;
}

ol.is-style-steps > li {
	position: relative;
	min-height: var(--step-size);
	padding-inline-start: calc(var(--step-size) + 1.25rem);
	padding-block-end: 1.75rem;
	counter-increment: atuka-step;
}

ol.is-style-steps > li:last-child {
	padding-block-end: 0;
}

ol.is-style-steps > li::before {
	content: counter(atuka-step);
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	z-index: 1;
	display: grid;
	place-items: center;
	width: var(--step-size);
	height: var(--step-size);
	border-radius: 50%;
	background-color: var(--atuka-purple);
	color: var(--wp--preset--color--white);
	font-family: var(--atuka-display);
	font-weight: 800;
	line-height: 1;
}

ol.is-style-steps > li:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-inline-start: calc(var(--step-size) / 2 - 1px);
	top: var(--step-size);
	bottom: 0;
	width: 2px;
	background-color: color-mix(in srgb, currentColor 25%, transparent);
}

ol.is-style-steps > li:nth-child(4n + 2)::before {
	background-color: #6e2b62;
}

ol.is-style-steps > li:nth-child(4n + 3)::before {
	background-color: #d57559;
}

ol.is-style-steps > li:nth-child(4n + 4)::before {
	background-color: var(--atuka-orange);
	color: var(--atuka-ink);
}

ol.is-style-steps > li > strong:first-child {
	display: block;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	line-height: 1.25;
}

ol.is-style-steps > li > strong:first-child + br {
	display: none;
}

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

.atuka-footer {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
	padding-inline: max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - 80rem) / 2));
	background-color: var(--atuka-ink);
	color: rgb(255 255 255 / 0.82);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.atuka-footer a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
	transition: color 0.2s ease;
}

.atuka-footer a:is(:hover, :focus-visible) {
	color: var(--atuka-orange);
}

.atuka-footer__main {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

@media (min-width: 48rem) {
	.atuka-footer__main {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	}
}

.atuka-footer__main > * {
	margin-block: 0;
	min-width: 0;
}

.atuka-footer__logo {
	margin: 0 0 1.25rem;
	line-height: 0;
}

.atuka-footer__logo img {
	display: block;
	width: auto;
	height: 3.5rem;
}

.atuka-footer .wp-block-site-tagline {
	max-width: 26rem;
	margin: 0;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: var(--wp--custom--tracking--display);
	text-wrap: balance;
}

.atuka-footer__badge {
	display: inline-block;
	margin: 1.75rem 0 0;
	padding: 0.625rem 0.75rem;
	border-radius: var(--atuka-radius);
	background-color: var(--wp--preset--color--white);
	line-height: 0;
}

.atuka-footer__badge img {
	display: block;
	height: auto;
	aspect-ratio: 300 / 208;
	border-radius: 0 !important;
}

.atuka-footer__label {
	margin: 0 0 1rem;
	color: var(--atuka-orange);
	font-size: var(--wp--preset--font-size--extra-small);
	font-weight: 800;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.atuka-footer__column p:not(.atuka-footer__label) {
	margin-block: 0 0.875rem;
}

.atuka-footer .wp-block-navigation {
	font-size: var(--wp--preset--font-size--small);
}

.atuka-footer .wp-block-navigation .wp-block-navigation__container {
	gap: 0.5rem;
}

.atuka-footer .wp-block-navigation .wp-block-navigation-item__content {
	padding: 0;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.02em;
}

.atuka-footer .wp-block-navigation .wp-block-navigation-item__content:is(:hover, :focus-visible) {
	color: var(--atuka-orange);
}

.atuka-footer__follow a::after {
	content: "\00a0\2197";
	color: var(--atuka-orange);
}

.atuka-footer__base {
	margin-block-start: var(--wp--preset--spacing--50);
	padding-block-start: var(--wp--preset--spacing--20);
	border-top: 1px solid rgb(255 255 255 / 0.16);
	color: rgb(255 255 255 / 0.6);
	font-size: var(--wp--preset--font-size--extra-small);
}

.atuka-footer__base p {
	margin: 0;
}

/* ---------- Styles carried over from the previous theme ---------- */

.is-style-balanced-wrap {
	text-wrap: balance;
}

ul.is-style-plus-list {
	list-style-type: "\002B";
}

ul.is-style-plus-list li {
	padding-inline-start: 1ch;
	margin-block-end: 1ch;
}

ul.is-style-dash-list {
	margin-inline-start: 0;
	padding-inline-start: 0;
	list-style-type: "\2013\00a0";
	list-style-position: inside;
}

ul.is-style-dash-list li {
	margin-block-end: 1ch;
	padding-inline-start: 0.25em;
}

ul.is-style-checkmark-list {
	list-style-type: "\2713";
}

ul.is-style-checkmark-list li {
	padding-inline-start: 1ch;
}

.is-style-pill a,
.is-style-pill span:not([class], [data-rich-text-placeholder]) {
	display: inline-block;
	padding: 0.375rem 0.875rem;
	border-radius: 999px;
	background-color: var(--atuka-card);
	text-decoration: none;
}

.is-style-pill a:hover {
	background-color: var(--wp--preset--color--jacarta-20);
}

.is-style-arrow-link .wp-block-navigation-item__label::after {
	content: "\2197";
	display: inline-block;
	padding-inline-start: 0.25rem;
	vertical-align: middle;
}

.is-style-arrow-icon-details {
	padding-block: var(--wp--preset--spacing--10);
}

.is-style-arrow-icon-details summary {
	list-style-type: "\2193\00a0\00a0\00a0";
}

.is-style-arrow-icon-details[open] > summary {
	list-style-type: "\2192\00a0\00a0\00a0";
}

.wp-block-media-text.is-style-block-behind-text .wp-block-media-text__content {
	background-color: var(--wp--preset--color--white);
}

@media (min-width: 64rem) {
	.wp-block-media-text.has-media-on-the-right.is-style-overlap-text .wp-block-media-text__media {
		z-index: 1;
		margin-inline-start: -12.5rem;
	}

	.wp-block-media-text.has-media-on-the-right.is-style-overlap-text .wp-block-media-text__content {
		z-index: 2;
	}

	.wp-block-media-text.is-style-block-behind-text {
		margin-inline-start: 25%;
		padding-inline-end: 5%;
	}

	.wp-block-media-text.is-style-block-behind-text .wp-block-media-text__content {
		z-index: 1;
		padding-inline-end: 6.25rem;
	}

	.wp-block-media-text.is-style-block-behind-text .wp-block-media-text__media {
		z-index: 2;
		margin-inline-start: -3.125rem;
	}
}

/* ---------- Page layout ---------- */

.atuka-main > * {
	margin-block: 0;
}

/* A section's content area is 1280px, centered by the section's own padding, so everything inside shares one left edge at any viewport width. */
section.atuka-section {
	padding-inline: max(var(--wp--style--root--padding-left, 1rem), calc((100% - 80rem) / 2));
}

/* Text set directly in a section keeps a readable measure and stays on that left edge. */
section.atuka-section > :is(p, h1, h2, h3, h4, ul, ol):not(.is-style-eyebrow):not(.is-style-directory) {
	max-width: 46rem;
	margin-inline-start: 0 !important;
	margin-inline-end: auto !important;
}

/* Two-up layout: side by side when each side has room, stacked otherwise. */
.wp-block-group.atuka-split {
	grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--40);
	align-items: start;
}

.wp-block-group.atuka-stats {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.atuka-split > .wp-block-image img,
.atuka-columns-2-1 img:not(.wp-block-cover__image-background) {
	width: 100%;
	border-radius: var(--atuka-radius);
}

.atuka-stack > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.atuka-columns-1-2,
.atuka-columns-2-1 {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	align-items: start;
}

:is(.atuka-columns-1-2, .atuka-columns-2-1) > * {
	margin-block: 0;
	min-width: 0;
}

@media (min-width: 64rem) {
	.atuka-columns-1-2 {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	}

	.atuka-columns-2-1 {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		align-items: stretch;
	}
}

.atuka-list-columns {
	columns: 16rem 2;
	column-gap: var(--wp--preset--spacing--40);
}

.atuka-list-columns li {
	break-inside: avoid;
}

/* ---------- Dark panel ---------- */

.wp-block-cover.atuka-panel {
	min-height: 22rem;
	padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
	align-items: flex-end;
	justify-content: flex-start;
	border-radius: var(--atuka-radius);
	overflow: hidden;
	color: var(--wp--preset--color--white);
}

.atuka-panel :is(h1, h2, h3, h4) {
	color: var(--wp--preset--color--white);
}

.atuka-panel .is-style-eyebrow {
	color: var(--atuka-orange);
}

.atuka-panel .wp-element-button {
	background-color: var(--atuka-orange);
	color: var(--atuka-ink);
}

.atuka-panel .wp-element-button:hover {
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
}

/* ---------- Post grids ---------- */

.atuka-section .wp-block-post-template {
	gap: var(--wp--preset--spacing--30);
}

/* Post grids that stretch to fill the row, so a short set of posts leaves no empty column. */
.wp-block-post-template.atuka-fit {
	grid-template-columns: repeat(auto-fit, minmax(min(var(--atuka-fit-min, 14rem), 100%), 1fr));
}

.wp-block-post-template.atuka-fit--wide {
	--atuka-fit-min: 16rem;
}

.atuka-section .wp-block-post-template .wp-block-post-featured-image img {
	border-radius: var(--atuka-radius);
}

.atuka-section .wp-block-post-template .wp-block-post-title {
	margin-block: 1rem 0.5rem;
}

.atuka-section .wp-block-post-template .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.atuka-section .wp-block-post-template .wp-block-post-title a:hover {
	color: var(--atuka-purple);
}

/* ---------- Linked card ---------- */

/* The heading's link covers the whole card, so the card is one target with one hover state. */
.wp-block-group.is-style-card-link {
	position: relative;
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
	color: var(--atuka-ink);
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease;
}

.is-style-card-link > :first-child {
	margin-block-start: 0;
}

.is-style-card-link > :last-child {
	margin-block-end: 0;
}

.is-style-card-link :is(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.is-style-card-link :is(h2, h3, h4) a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.is-style-card-link .wp-block-image {
	overflow: hidden;
	border-radius: calc(var(--atuka-radius) / 2);
}

.is-style-card-link .wp-block-image img {
	display: block;
	width: 100%;
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.is-style-card-link:is(:hover, :focus-within) {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgb(30 18 51 / 0.12);
}

.is-style-card-link:is(:hover, :focus-within) :is(h2, h3, h4) a {
	color: var(--atuka-purple);
}

.is-style-card-link:is(:hover, :focus-within) .wp-block-image img {
	transform: scale(1.025);
}

/* ---------- Post cards in grids ---------- */

.atuka-section .wp-block-post-template > .wp-block-post {
	position: relative;
}

.atuka-section .wp-block-post-template .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.atuka-section .wp-block-post-template .wp-block-post-featured-image {
	overflow: hidden;
	border-radius: var(--atuka-radius);
}

.atuka-section .wp-block-post-template .wp-block-post-featured-image img {
	display: block;
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.atuka-section .wp-block-post-template .wp-block-post-title a {
	transition: color 0.2s ease;
}

.atuka-section .wp-block-post:is(:hover, :focus-within) .wp-block-post-featured-image img {
	transform: scale(1.025);
}

.atuka-section .wp-block-post:is(:hover, :focus-within) .wp-block-post-title a {
	color: var(--atuka-purple);
}

/* ---------- Dark panel hover ---------- */

/* Hovering the button warms the whole panel: the photo eases in and the overlay lifts slightly. */
.atuka-panel .wp-block-cover__image-background {
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.atuka-panel .wp-block-cover__background {
	transition: opacity 0.6s ease;
}

.atuka-panel:has(.wp-element-button:is(:hover, :focus-visible)) .wp-block-cover__image-background {
	transform: scale(1.04);
}

.atuka-panel:has(.wp-element-button:is(:hover, :focus-visible)) .wp-block-cover__background {
	opacity: 0.58;
}

.atuka-panel .wp-element-button {
	transition: background-color 0.25s ease, color 0.25s ease;
}

/* ---------- Hero headline ---------- */

@media (prefers-reduced-motion: no-preference) {
	.atuka-hero h1 .atuka-word {
		display: inline-block;
		opacity: 0;
		transform: translateY(0.35em);
		animation: atuka-rise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
		animation-delay: calc(var(--i) * 45ms + 120ms);
	}

	.atuka-hero h1 ~ p {
		opacity: 0;
		animation: atuka-fade 0.9s ease forwards;
		animation-delay: 1s;
	}
}

@keyframes atuka-rise {
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes atuka-fade {
	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.is-style-card-link,
	.is-style-card-link *,
	.atuka-panel *,
	.wp-block-post-featured-image img {
		transition: none !important;
		transform: none !important;
	}
}

/* ---------- Directory list ---------- */

/* A ruled index of names. Linked names show an arrow on hover. */
ul.is-style-directory {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(13rem, 100%), 1fr));
	column-gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.3;
}

ul.is-style-directory > li {
	margin: 0;
	padding-block: 0.9rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

ul.is-style-directory a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

ul.is-style-directory a::after {
	content: "\2197";
	flex-shrink: 0;
	color: var(--atuka-orange);
	opacity: 0;
	transform: translate(-4px, 4px);
	transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

ul.is-style-directory a:is(:hover, :focus-visible) {
	color: var(--atuka-purple);
}

ul.is-style-directory a:is(:hover, :focus-visible)::after {
	opacity: 1;
	transform: none;
}

/* ---------- Resource card ---------- */

.atuka-resource-card .wp-block-heading {
	margin-block-end: 0.5rem;
}

.atuka-resource-card__subtitle {
	margin-block: 0 1rem;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.35;
}

/* ---------- Navigation ---------- */

.atuka-header__bar .wp-block-navigation {
	font-family: var(--atuka-display);
	font-size: 0.9375rem;
	letter-spacing: 0;
	text-transform: none;
}

.atuka-header__bar .wp-block-navigation__responsive-container-open,
.atuka-header__bar .wp-block-navigation__responsive-container-close {
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
}

.atuka-header__bar .wp-block-navigation__responsive-container-open {
	margin-inline-end: -0.625rem;
	color: var(--atuka-ink);
}

/* Desktop: quiet links with the orange rule drawing in under the hovered and current item; Contact is the one button. */
@media (min-width: 64rem) {
	.atuka-header__bar .wp-block-navigation .wp-block-navigation__container {
		gap: clamp(1.25rem, 2.2vw, 2.25rem);
		align-items: center;
	}

	.atuka-header__bar .wp-block-navigation-item__content {
		position: relative;
		padding-block: 0.5rem;
		color: var(--atuka-ink);
		text-decoration: none;
	}

	.atuka-header__bar .wp-block-navigation-item__content::after {
		content: "";
		position: absolute;
		inset-inline: 0;
		bottom: 0.125rem;
		height: 2px;
		border-radius: 1px;
		background-color: var(--atuka-orange);
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	.atuka-header__bar .wp-block-navigation-item__content:is(:hover, :focus-visible)::after,
	.atuka-header__bar .current-menu-item > .wp-block-navigation-item__content::after {
		transform: scaleX(1);
	}

	.atuka-header__bar .wp-block-navigation-item__content[href$="/contact/"] {
		padding: 0.55rem 1.15rem;
		border-radius: 999px;
		background-color: var(--atuka-ink);
		color: var(--wp--preset--color--white);
		transition: background-color 0.25s ease;
	}

	.atuka-header__bar .wp-block-navigation-item__content[href$="/contact/"]::after {
		content: none;
	}

	.atuka-header__bar .wp-block-navigation-item__content[href$="/contact/"]:is(:hover, :focus-visible) {
		background-color: var(--atuka-purple);
	}
}

/* Mobile: a full-screen ink panel with large, ruled links that rise in, and Contact as the closing action. */
@media (max-width: 63.99rem) {
	.atuka-header__bar .wp-block-navigation__responsive-container.is-menu-open {
		padding: 0;
		background-color: var(--atuka-ink);
		color: var(--wp--preset--color--white);
		animation: atuka-fade 0.25s ease both;
	}

	.atuka-header__bar .is-menu-open .wp-block-navigation__responsive-dialog {
		min-height: 100%;
	}

	.atuka-header__bar .is-menu-open .wp-block-navigation__responsive-container-close {
		top: calc((var(--atuka-header-h) - 2.75rem) / 2);
		right: calc(var(--wp--style--root--padding-right, 1rem) - 0.625rem);
		display: flex;
		color: var(--wp--preset--color--white);
	}

	.atuka-header__bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: stretch;
		padding: calc(var(--atuka-header-h) + 1.5rem) var(--wp--style--root--padding-right, 1rem) 2.5rem;
	}

	.atuka-header__bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.atuka-header__bar .is-menu-open .wp-block-navigation-item {
		width: 100%;
		border-bottom: 1px solid rgb(255 255 255 / 0.14);
		animation: atuka-rise 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
		opacity: 0;
		transform: translateY(0.5rem);
	}

	.atuka-header__bar .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 0.06s; }
	.atuka-header__bar .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.1s; }
	.atuka-header__bar .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.14s; }
	.atuka-header__bar .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.18s; }
	.atuka-header__bar .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.22s; }
	.atuka-header__bar .is-menu-open .wp-block-navigation-item:nth-child(n + 6) { animation-delay: 0.26s; }

	.atuka-header__bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 1rem 0;
		color: var(--wp--preset--color--white);
		font-size: clamp(1.75rem, 6.5vw, 2.5rem);
		font-weight: 300;
		line-height: 1.1;
		letter-spacing: var(--wp--custom--tracking--display);
		text-decoration: none;
	}

	.atuka-header__bar .is-menu-open .current-menu-item > .wp-block-navigation-item__content {
		color: var(--atuka-orange);
	}

	.atuka-header__bar .is-menu-open .wp-block-navigation-item:has(> [href$="/contact/"]) {
		margin-block-start: 2rem;
		border-bottom: 0;
	}

	.atuka-header__bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[href$="/contact/"] {
		display: inline-block;
		width: auto;
		padding: 0.85rem 1.5rem;
		border-radius: 999px;
		background-color: var(--atuka-orange);
		color: var(--atuka-ink);
		font-size: 1.125rem;
		font-weight: 400;
		letter-spacing: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.atuka-header__bar .is-menu-open .wp-block-navigation-item {
		animation: none;
		opacity: 1;
		transform: none;
	}
}

/* Menu items keep one size, whatever size was set on an individual link. */
.atuka-header__bar .wp-block-navigation-item[class*="-font-size"] {
	font-size: inherit !important;
}

@media (max-width: 63.99rem) {
	.atuka-header__bar .is-menu-open .wp-block-navigation-item:has(> [href$="/contact/"]) {
		display: flex;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}

	.atuka-header__bar .is-menu-open .wp-block-navigation-item__content[href$="/contact/"] {
		margin-inline: 0 auto;
	}

	.atuka-header__bar .is-menu-open :focus-visible {
		outline-color: var(--atuka-orange);
	}

	.atuka-header__bar .is-menu-open .weglot-container,
	.atuka-header__bar .is-menu-open .weglot-container * {
		color: var(--wp--preset--color--white) !important;
	}

	.atuka-header__bar .is-menu-open .weglot-container {
		margin-block-start: 1.5rem;
	}
}

/* ---------- Header surface ---------- */

/* Desktop only: a blurred, slightly translucent bar. The mobile menu is a fixed panel inside the bar, and a backdrop filter here would trap it, so small screens keep the solid bar. */
@media (min-width: 64rem) {
	.wp-block-atuka-atuka-nav .atuka-header__bar {
		background-color: rgb(255 255 255 / 0.82);
		-webkit-backdrop-filter: saturate(1.6) blur(16px);
		backdrop-filter: saturate(1.6) blur(16px);
	}

	.wp-block-atuka-atuka-nav .is-scrolled .atuka-header__bar {
		border-bottom-color: rgb(30 18 51 / 0.08);
	}
}

/* ---------- Menu button ---------- */

/* Two drawn lines in place of the stock icon; the close button is the same two lines crossed. */
.atuka-header__bar .wp-block-navigation__responsive-container-open svg,
.atuka-header__bar .wp-block-navigation__responsive-container-close svg {
	display: none;
}

.atuka-header__bar .wp-block-navigation__responsive-container-open,
.atuka-header__bar .wp-block-navigation__responsive-container-close {
	position: relative;
	width: 3rem;
	height: 3rem;
}

.atuka-header__bar .wp-block-navigation__responsive-container-open {
	margin-inline-end: -0.5rem;
}

.atuka-header__bar .wp-block-navigation__responsive-container-open::before,
.atuka-header__bar .wp-block-navigation__responsive-container-open::after,
.atuka-header__bar .wp-block-navigation__responsive-container-close::before,
.atuka-header__bar .wp-block-navigation__responsive-container-close::after {
	content: "";
	position: absolute;
	left: 0.5rem;
	width: 2rem;
	height: 2px;
	border-radius: 1px;
	background-color: currentColor;
	transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), width 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.atuka-header__bar .wp-block-navigation__responsive-container-open::before {
	top: calc(50% - 5px);
}

.atuka-header__bar .wp-block-navigation__responsive-container-open::after {
	top: calc(50% + 4px);
	width: 1.375rem;
}

.atuka-header__bar .wp-block-navigation__responsive-container-open:is(:hover, :focus-visible)::after {
	width: 2rem;
}

.atuka-header__bar .wp-block-navigation__responsive-container-close::before,
.atuka-header__bar .wp-block-navigation__responsive-container-close::after {
	top: calc(50% - 1px);
}

.atuka-header__bar .wp-block-navigation__responsive-container-close::before {
	transform: rotate(45deg);
}

.atuka-header__bar .wp-block-navigation__responsive-container-close::after {
	transform: rotate(-45deg);
}

@media (max-width: 63.99rem) {
	.atuka-header__bar .is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: calc((var(--atuka-header-h) - 3rem) / 2);
		right: calc(var(--wp--style--root--padding-right, 1rem) - 0.5rem);
		left: auto;
	}

	/* The white logo sits where the header logo was. */
	.atuka-header__bar .is-menu-open .wp-block-navigation__responsive-dialog::before {
		content: "";
		position: absolute;
		top: calc((var(--atuka-header-h) - 2.75rem) / 2);
		left: var(--wp--style--root--padding-left, 1rem);
		width: calc(2.75rem * 288.1 / 141.1);
		height: 2.75rem;
		background: url("../images/atuka-logo-white.svg") left center / contain no-repeat;
	}
}

/* ---------- Model pages ---------- */

.atuka-model-header {
	padding-block-end: var(--wp--preset--spacing--20);
}

.is-style-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.is-style-eyebrow a:hover {
	color: var(--atuka-ink);
}

/*
 * Model content: the summary card sits left under the title with the overview text beside it;
 * the detail boxes that follow are centered in a reading column.
 */
.wp-block-post-content.atuka-model-content {
	padding-block-end: var(--wp--preset--spacing--40);
	padding-inline: max(var(--wp--style--root--padding-left, 1rem), calc((100% - 80rem) / 2));
}

.atuka-model-content > * {
	max-width: 50rem;
}

@media (min-width: 64rem) {
	.atuka-model-content {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		column-gap: var(--wp--preset--spacing--40);
		align-items: start;
	}

	.atuka-model-content > * {
		grid-column: 2;
		max-width: none;
		margin-inline: 0 !important;
	}

	.atuka-model-content > :first-child {
		grid-column: 1;
		grid-row: 1 / span 12;
		margin-block-start: 0;
	}

	.atuka-model-content > :first-child + * {
		margin-block-start: 0;
	}

	.atuka-model-content > .wp-block-group:not(:first-child),
	.atuka-model-content > .wp-block-group:not(:first-child) ~ * {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 50rem;
		margin-inline: auto !important;
	}

	.atuka-model-content > .wp-block-group:not(:first-child) {
		margin-block-start: var(--wp--preset--spacing--30);
	}
}

/* The summary card stacks its text and its list. */
.atuka-model-content > :first-child.atuka-columns-2-1 {
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--20);
}

/* The related-papers band only shows when the model has papers. */
.atuka-model-papers:not(:has(h2)) {
	display: none;
}

.atuka-columns-1-2 > .wp-block-group > .wp-block-image img {
	width: 100%;
	border-radius: var(--atuka-radius);
}

/* ---------- Published papers ---------- */

.atuka-papers > .is-style-eyebrow {
	margin-block-end: var(--wp--preset--spacing--20);
}

.atuka-papers__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(26rem, 100%), 1fr));
	column-gap: var(--wp--preset--spacing--40);
}

.atuka-paper {
	padding-block: 1.25rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-paper__title {
	margin: 0 0 0.5rem;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: var(--wp--custom--tracking--display);
	text-wrap: balance;
}

.atuka-paper__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.atuka-paper__title a::after {
	content: "\00a0\2197";
	color: var(--atuka-orange);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.atuka-paper__title a:is(:hover, :focus-visible) {
	color: var(--atuka-purple);
}

.atuka-paper__title a:is(:hover, :focus-visible)::after {
	opacity: 1;
}

.atuka-paper__authors {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.atuka-paper__meta {
	margin: 0;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.atuka-paper__journal {
	font-style: italic;
}

.atuka-paper__doi {
	overflow-wrap: anywhere;
}

/* Paired figures inside a model's detail boxes stay side by side in the reading column. */
.atuka-model-content .wp-block-group.atuka-split {
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--20);
}

/* ---------- Articles and features ---------- */

.atuka-article-header {
	padding-block-end: var(--wp--preset--spacing--20);
}

.atuka-article-header .wp-block-post-title,
.atuka-feature-header .wp-block-post-title {
	margin-block: 0 1rem;
}

.atuka-article-header .wp-block-post-featured-image {
	margin-block-start: var(--wp--preset--spacing--30);
}

.atuka-article-header .wp-block-post-featured-image img,
.atuka-feature-header .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	border-radius: var(--atuka-radius);
}

.atuka-feature-header .atuka-split {
	align-items: center;
}

.atuka-feature-header + .atuka-article-content {
	padding-block-start: var(--wp--preset--spacing--40);
}

.atuka-article-content {
	padding-block-end: var(--wp--preset--spacing--30);
}

.atuka-article-footer {
	padding-block: 0 var(--wp--preset--spacing--40);
}

.atuka-article-footer:not(:has(a)) {
	display: none;
}

.atuka-feature-header .linkedin svg {
	width: 2rem;
	height: 2rem;
	fill: var(--atuka-purple);
}

/* Feature headers give the image two-fifths of the row, so portraits don't tower over the title. */
@media (min-width: 64rem) {
	.atuka-feature-header .wp-block-group.atuka-split {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}
}

/* ---------- Timeline ---------- */

/*
 * A group of entries, each a heading (the year) and its text.
 * Wide screens: years in a left column, a rail with a dot per entry, text on the right.
 * Narrow screens: the rail runs down the left edge with year and text stacked beside it.
 */
.atuka-timeline {
	--rail: color-mix(in srgb, var(--atuka-purple) 22%, transparent);
	--year-col: 15.5rem;
	--gutter: 3.5rem;
	box-sizing: border-box;
	max-width: 66rem;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--30) var(--wp--style--root--padding-left, 1rem) var(--wp--preset--spacing--40);
}

.atuka-timeline > .atuka-timeline__item {
	position: relative;
	margin-block: 0;
	padding: 0 0 2.25rem 2rem;
}

.atuka-timeline__item > * {
	margin-block: 0;
}

.atuka-timeline__item > * + * {
	margin-block-start: 0.5rem;
}

.atuka-timeline__item > :is(h2, h3, h4) {
	color: var(--atuka-purple);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

/* Rail */
.atuka-timeline__item::after {
	content: "";
	position: absolute;
	top: 0.75rem;
	bottom: -0.75rem;
	left: 5px;
	width: 2px;
	background-color: var(--rail);
}

.atuka-timeline__item:last-child::after {
	content: none;
}

/* Dot */
.atuka-timeline__item::before {
	content: "";
	position: absolute;
	top: 0.75rem;
	left: 0;
	z-index: 1;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: var(--atuka-purple);
	box-shadow: 0 0 0 5px var(--wp--preset--color--white);
	transform: translateY(-50%);
}

/* The most recent entry carries the orange. */
.atuka-timeline__item:last-child::before {
	background-color: var(--atuka-orange);
}

.atuka-timeline__item:last-child > :is(h2, h3, h4) {
	color: var(--atuka-ink);
}

@media (min-width: 48rem) {
	.atuka-timeline > .atuka-timeline__item {
		display: grid;
		grid-template-columns: var(--year-col) minmax(0, 1fr);
		column-gap: var(--gutter);
		align-items: start;
		padding: 0 0 2.75rem;
	}

	.atuka-timeline__item > :is(h2, h3, h4) {
		grid-column: 1;
		grid-row: 1 / span 6;
		text-align: right;
		white-space: nowrap;
	}

	.atuka-timeline__item > :not(h2, h3, h4) {
		grid-column: 2;
		margin-block-start: 0.35rem;
	}

	.atuka-timeline__item > :not(h2, h3, h4) + :not(h2, h3, h4) {
		margin-block-start: 0.75rem;
	}

	.atuka-timeline__item::after {
		left: calc(var(--year-col) + var(--gutter) / 2 - 1px);
	}

	.atuka-timeline__item::before {
		left: calc(var(--year-col) + var(--gutter) / 2 - 6px);
	}
}

/* ---------- Converted layouts on pages ---------- */

/* A two-up layout placed directly in a page gets the same content edge and breathing room as a section. */
.atuka-main > .wp-block-post-content:not(.atuka-model-content) > :is(.atuka-split, .atuka-columns-2-1, .atuka-columns-1-2):not(.alignfull) {
	box-sizing: border-box;
	max-width: none;
	margin-inline: 0;
	padding: var(--wp--preset--spacing--40) max(var(--wp--style--root--padding-left, 1rem), calc((100% - 80rem) / 2));
}

/* A two-up layout nested inside a reading column pairs up at a narrower width than one that spans the page. */
.wp-block-post-content .wp-block-group:not(.atuka-section) > .wp-block-group.atuka-split {
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--20);
}

/* ---------- Page intro ---------- */

.atuka-page-intro {
	padding-block-end: var(--wp--preset--spacing--30);
}

.atuka-page-intro > h1 {
	max-width: 52rem !important;
}

.atuka-page-intro > .has-large-font-size {
	max-width: 52rem !important;
}

/* ---------- Cards in post grids ---------- */

.is-style-card-link .wp-block-post-featured-image {
	overflow: hidden;
	margin-block-end: 1rem;
	border-radius: calc(var(--atuka-radius) / 2);
}

.is-style-card-link .wp-block-post-title {
	margin-block: 0 0.5rem;
	font-size: var(--wp--preset--font-size--large);
}

.is-style-card-link .wp-block-post-excerpt {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-post-template > .wp-block-post > .is-style-card-link {
	height: 100%;
	box-sizing: border-box;
}

/* ---------- Published papers list ---------- */

.atuka-published .wp-block-post-template.atuka-published__list {
	gap: 0 var(--wp--preset--spacing--40);
	grid-template-columns: repeat(auto-fit, minmax(min(26rem, 100%), 1fr));
}

.atuka-published .wp-block-post-title a::after {
	content: none;
}

.wp-block-query-pagination {
	margin-block-start: var(--wp--preset--spacing--30);
	padding-block-start: 1.25rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--medium);
}

.wp-block-query-pagination a {
	color: inherit;
	text-decoration: none;
}

.wp-block-query-pagination a:hover {
	color: var(--atuka-purple);
}

.wp-block-query-pagination .page-numbers {
	padding-inline: 0.35rem;
}

.wp-block-query-pagination .page-numbers.current {
	color: var(--atuka-purple);
	border-bottom: 2px solid var(--atuka-orange);
}

/* ---------- Stat tile that links onward ---------- */

.is-style-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.atuka-page-intro .atuka-columns-2-1 {
	align-items: end;
}

.atuka-stat-link h3 {
	margin-block: 1rem 0;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0;
}

.atuka-stat-link h3::after {
	content: "\00a0\2193";
	color: var(--atuka-orange);
}

.atuka-published__more {
	margin-block-start: var(--wp--preset--spacing--30);
}

/* ---------- Papers explorer ---------- */

.atuka-explorer [hidden] {
	display: none !important;
}

.atuka-explorer__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--30);
	margin: 0 0 var(--wp--preset--spacing--40);
}

.atuka-explorer__stats > div {
	display: flex;
	flex-direction: column;
}

.atuka-explorer__stats > div::before {
	content: "";
	width: 3rem;
	height: 4px;
	margin-block-end: 0.875rem;
	border-radius: 2px;
	background-color: var(--atuka-orange);
}

.atuka-explorer__stats dt {
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: -0.022em;
	white-space: nowrap;
}

.atuka-explorer__stats dd {
	margin: 0.25rem 0 0;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
}

.atuka-explorer__controls {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	padding: clamp(1rem, 0.75rem + 1vw, 1.5rem);
	border-radius: var(--atuka-radius);
	background-color: var(--wp--preset--color--white);
}

.atuka-explorer__field {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

.atuka-explorer__field--search,
.atuka-explorer__field--journal {
	grid-column: 1 / -1;
}

.atuka-explorer__field:last-child {
	grid-column: 1 / -1;
}

@media (min-width: 64rem) {
	.atuka-explorer__controls {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1.6fr) 6.5rem 6.5rem 10rem;
	}

	.atuka-explorer__field--search,
	.atuka-explorer__field--journal,
	.atuka-explorer__field:last-child {
		grid-column: auto;
	}
}

.atuka-explorer__field > span {
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--extra-small);
	font-weight: 800;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.atuka-explorer__field :is(input, select) {
	box-sizing: border-box;
	width: 100%;
	height: 2.75rem;
	padding: 0 0.875rem;
	border: 1px solid color-mix(in srgb, var(--atuka-ink) 24%, transparent);
	border-radius: var(--atuka-radius);
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
	font-family: var(--atuka-display);
	font-size: 1rem;
	line-height: 1.2;
	transition: border-color 0.2s ease;
}

.atuka-explorer__field select {
	padding-inline-end: 2.25rem;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231E1233' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.875rem center;
	background-size: 0.75rem;
	text-overflow: ellipsis;
}

.atuka-explorer__field :is(input, select):hover {
	border-color: var(--atuka-purple);
}

.atuka-explorer__field :is(input, select):focus-visible {
	outline: 2px solid var(--atuka-purple);
	outline-offset: 1px;
}

/* Papers per year. The pale bar is every paper; the solid bar is what the search and journal leave. */
.atuka-explorer__years {
	display: flex;
	align-items: stretch;
	gap: 2px;
	height: 6.5rem;
	margin-block-start: var(--wp--preset--spacing--30);
}

.atuka-explorer__year {
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	padding: 0 0 1.5rem;
	border: 0;
	background: none;
	color: var(--atuka-ink);
	cursor: pointer;
}

.atuka-explorer__bar {
	position: relative;
	display: block;
	height: calc(var(--total) / var(--peak) * 100%);
	min-height: 2px;
	border-radius: 2px 2px 0 0;
	background-color: color-mix(in srgb, var(--atuka-purple) 16%, transparent);
}

.atuka-explorer__bar::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: calc(var(--n) / max(var(--total), 1) * 100%);
	border-radius: inherit;
	background-color: var(--atuka-purple);
	transition: height 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), background-color 0.2s ease, opacity 0.2s ease;
}

.atuka-explorer__year.is-out .atuka-explorer__bar::after {
	opacity: 0.28;
}

.atuka-explorer__year:is(:hover, :focus-visible, [aria-pressed="true"]) .atuka-explorer__bar::after {
	background-color: var(--atuka-orange);
	opacity: 1;
}

.atuka-explorer__year:focus-visible {
	outline: 2px solid var(--atuka-purple);
	outline-offset: 2px;
}

.atuka-explorer__tick {
	position: absolute;
	inset: auto auto 0 50%;
	transform: translateX(-50%);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--extra-small);
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
}

.atuka-explorer__tick.is-labelled,
.atuka-explorer__year:is(:hover, :focus-visible, [aria-pressed="true"]) .atuka-explorer__tick {
	opacity: 1;
}

.atuka-explorer__years:has(.atuka-explorer__year:is(:hover, :focus-visible)) .atuka-explorer__year:not(:hover, :focus-visible) .atuka-explorer__tick {
	opacity: 0;
}

.atuka-explorer__status {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	margin-block: var(--wp--preset--spacing--30) 0.75rem;
	font-family: var(--atuka-display);
}

.atuka-explorer__count {
	margin: 0;
	color: var(--atuka-purple);
	font-weight: 800;
}

.atuka-explorer__clear {
	padding: 0;
	border: 0;
	background: none;
	color: var(--atuka-ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.atuka-explorer__clear:hover {
	color: var(--atuka-purple);
}

.atuka-explorer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.atuka-explorer__empty {
	margin: 0;
	padding-block: var(--wp--preset--spacing--30);
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	font-family: var(--atuka-display);
}

.atuka-explorer__more {
	display: block;
	margin: var(--wp--preset--spacing--30) auto 0;
	cursor: pointer;
}

.atuka-explorer__note {
	margin-block: 1rem 0;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- PDF reader ---------- */

.atuka-reader {
	overflow: hidden;
	margin-block: var(--wp--preset--spacing--40);
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
}

.atuka-article-content > .atuka-reader {
	max-width: 64rem;
}

.atuka-reader__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding: 1rem clamp(1rem, 0.75rem + 1vw, 1.5rem);
	background-color: var(--atuka-ink);
	color: var(--wp--preset--color--white);
	font-family: var(--atuka-display);
}

.atuka-reader__heading {
	min-width: 0;
}

.atuka-reader__label {
	margin: 0 0 0.25rem;
	color: var(--atuka-orange);
	font-size: var(--wp--preset--font-size--extra-small);
	font-weight: 800;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.atuka-reader__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.3;
	text-wrap: balance;
}

.atuka-reader__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.atuka-reader__action {
	padding: 0.5rem 0.875rem;
	border: 1px solid rgb(255 255 255 / 0.4);
	border-radius: var(--atuka-radius);
	color: inherit;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.atuka-reader__action:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
}

.atuka-reader__action--primary {
	border-color: var(--atuka-orange);
	background-color: var(--atuka-orange);
	color: var(--atuka-ink);
}

.atuka-reader__stage {
	display: grid;
	place-items: center;
	padding: clamp(1.5rem, 1rem + 3vw, 3.5rem);
}

.atuka-reader__cover {
	position: relative;
	display: block;
	width: min(22rem, 100%);
	border-radius: 4px;
	box-shadow: 0 14px 34px rgb(30 18 51 / 0.16);
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease;
}

.atuka-reader__cover img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: inherit;
}

.atuka-reader__cover:is(:hover, :focus-visible) {
	transform: translateY(-3px);
	box-shadow: 0 20px 44px rgb(30 18 51 / 0.2);
}

.atuka-reader__read {
	position: absolute;
	inset: auto auto 1.25rem 50%;
	transform: translateX(-50%);
	padding: 0.625rem 1rem;
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-ink);
	color: var(--wp--preset--color--white);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.2;
	white-space: nowrap;
}

.atuka-reader.is-inline .atuka-reader__stage {
	padding: 0;
}

.atuka-reader__frame {
	display: block;
	width: 100%;
	height: min(88vh, 62rem);
	border: 0;
	background-color: var(--wp--preset--color--white);
}

/* ---------- Newsletter signup ---------- */

.wp-block-group.is-style-card.atuka-newsletter__card {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	padding: clamp(1.5rem, 1rem + 3vw, 3.5rem);
}

.atuka-newsletter__card > * {
	margin-block: 0;
	min-width: 0;
}

.atuka-newsletter__card h2 {
	margin-block-start: 0;
}

@media (prefers-reduced-motion: reduce) {
	.atuka-explorer__bar::after,
	.atuka-reader__cover {
		transition: none;
	}
}

/* ---------- Interior page hero ---------- */

.wp-block-cover.atuka-hero.atuka-hero--page {
	min-height: min(30rem, 70svh);
}

/* ---------- Signpost cards ---------- */

.wp-block-group.atuka-signposts {
	grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--20);
}

.wp-block-group.atuka-signpost {
	display: flex;
	align-items: flex-end;
	min-height: 7.5rem;
}

.atuka-signpost h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
	text-wrap: balance;
}

.atuka-signpost h3::after {
	content: "\00a0\2192";
	color: var(--atuka-orange);
}

.atuka-badge {
	margin-block-start: var(--wp--preset--spacing--30);
}

/* ---------- Promise cards ---------- */

.wp-block-group.atuka-promise {
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--20);
	margin-block-start: var(--wp--preset--spacing--30);
}

.atuka-promise > .is-style-card::before {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-block-end: 1.25rem;
	border-radius: 2px;
	background-color: var(--atuka-orange);
}

.atuka-promise > .is-style-card > p {
	margin: 0;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.4;
}

/* ---------- Fact sheet list ---------- */

.wp-block-post-template.atuka-factsheets {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--medium);
}

.atuka-factsheets > li {
	margin: 0;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-factsheets > li:last-child {
	border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-factsheets p {
	margin: 0;
}

.atuka-factsheets a {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.9rem;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.atuka-factsheets a::after {
	content: "PDF\00a0\2197";
	flex-shrink: 0;
	color: var(--atuka-purple);
	font-size: var(--wp--preset--font-size--small);
}

.atuka-factsheets a:is(:hover, :focus-visible) {
	color: var(--atuka-purple);
}

/* ---------- Models band ---------- */

.atuka-models-band .atuka-columns-2-1 {
	align-items: end;
}

.atuka-models-band h2 {
	margin-block-start: 0;
	text-wrap: balance;
}

.atuka-models-band ul.is-style-directory {
	grid-template-columns: minmax(0, 1fr);
	margin-block-start: var(--wp--preset--spacing--30);
}

.atuka-models-band ul.is-style-directory > li:last-child {
	border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.is-style-section-dark ul.is-style-directory a:is(:hover, :focus-visible) {
	color: var(--atuka-orange);
}

.is-style-section-dark ul.is-style-directory a::after {
	opacity: 1;
	transform: none;
}

/* ---------- Models index ---------- */

.atuka-jump ul.is-style-directory {
	grid-template-columns: minmax(0, 1fr);
	margin-block-start: 1.25rem;
}

.atuka-jump ul.is-style-directory a::after {
	content: "\2193";
	opacity: 1;
	transform: none;
}

.wp-block-group.atuka-model-groups {
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
	gap: var(--wp--preset--spacing--20);
	align-items: stretch;
	margin-block-start: var(--wp--preset--spacing--30);
}

.is-style-section-tint .wp-block-group.is-style-card.atuka-model-group {
	background-color: var(--wp--preset--color--white);
}

.atuka-model-group h3 {
	margin-block: 0 0.75rem;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

ul.atuka-model-list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--atuka-display);
	font-size: 1rem;
	line-height: 1.35;
}

ul.atuka-model-list > li {
	margin: 0;
	padding-block: 0.7rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

ul.atuka-model-list a {
	color: var(--atuka-purple);
	text-decoration: none;
	transition: color 0.2s ease;
}

ul.atuka-model-list a::after {
	content: "\00a0\2192";
	color: var(--atuka-orange);
}

ul.atuka-model-list a:is(:hover, :focus-visible) {
	color: var(--atuka-ink);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* ---------- Resource card, wide: cover beside the text ---------- */

@media (min-width: 40rem) {
	.atuka-resource-card.atuka-resource-card--wide {
		display: grid;
		grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
		grid-template-rows: auto auto auto 1fr;
		column-gap: var(--wp--preset--spacing--30);
		align-content: start;
	}

	.atuka-resource-card--wide > * {
		grid-column: 2;
	}

	.atuka-resource-card--wide > .wp-block-image {
		grid-column: 1;
		grid-row: 1 / -1;
		align-self: start;
		margin: 0;
	}

	.atuka-resource-card--wide > :last-child {
		margin-block-end: 0;
	}
}

/* ---------- Models filter ---------- */

.atuka-model-filter-section {
	position: sticky;
	top: var(--atuka-header-h);
	z-index: 5;
	padding-block: 0.875rem;
	border-block: 1px solid color-mix(in srgb, var(--atuka-ink) 12%, transparent);
	background-color: rgb(255 255 255 / 0.92);
	backdrop-filter: blur(10px);
}

.atuka-model-filter-section:not(:has(.is-ready)) {
	display: none;
}

.wp-block-group.atuka-model-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.25rem;
}

.atuka-model-filter__label {
	margin: 0;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--extra-small);
	font-weight: 800;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.atuka-model-filter__options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.atuka-model-filter__option {
	padding: 0.4375rem 0.9375rem;
	border: 1px solid color-mix(in srgb, var(--atuka-ink) 24%, transparent);
	border-radius: 999px;
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.atuka-model-filter__option:hover {
	border-color: var(--atuka-purple);
	color: var(--atuka-purple);
}

.atuka-model-filter__option[aria-pressed="true"] {
	border-color: var(--atuka-ink);
	background-color: var(--atuka-ink);
	color: var(--wp--preset--color--white);
}

.atuka-model-filter__option:focus-visible {
	outline: 2px solid var(--atuka-purple);
	outline-offset: 2px;
}

.atuka-model-family[hidden],
.atuka-model-group[hidden] {
	display: none !important;
}

.atuka-model-family {
	scroll-margin-top: calc(var(--atuka-header-h) + 4rem);
}

.atuka-model-family h2 {
	scroll-margin-top: calc(var(--atuka-header-h) + 5rem);
}

/* ---------- Team ---------- */

.atuka-team {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(13rem, 100%), 1fr));
	gap: 0 var(--wp--preset--spacing--30);
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
	list-style: none;
}

section.atuka-section > ul.atuka-team {
	max-width: none !important;
}

/* Each card shares its row's tracks, so names line up under photos of different heights. */
.atuka-team__card {
	position: relative;
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	row-gap: 0;
	margin: 0;
}

.atuka-team__card > .atuka-team__photo {
	align-self: end;
}

.atuka-team__card > .atuka-team__links {
	align-self: start;
	margin-block-end: var(--wp--preset--spacing--40);
}

.atuka-team__photo {
	overflow: hidden;
	margin: 0 0 1rem;
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
	aspect-ratio: 3 / 4;
}

.atuka-team__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.atuka-team__name {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
	transition: color 0.2s ease;
}

.atuka-team__role {
	margin: 0.25rem 0 0;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
}

.atuka-team__links {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 1.5rem;
	margin-block-start: 0.75rem;
}

.atuka-team__more {
	padding: 0;
	border: 0;
	background: none;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.2;
	cursor: pointer;
}

.atuka-team__more[hidden] {
	display: none;
}

/* The button covers the whole card, so the photo and name open the panel too. */
.atuka-team__more::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--atuka-radius);
}

.atuka-team__more::after {
	content: "\00a0+";
	color: var(--atuka-orange);
}

.atuka-team__more:focus-visible {
	outline: none;
}

.atuka-team__more:focus-visible::before {
	outline: 2px solid var(--atuka-purple);
	outline-offset: 4px;
}

.atuka-team__card.has-more:has(.atuka-team__more:is(:hover, :focus-visible)) .atuka-team__name {
	color: var(--atuka-purple);
}

.atuka-team__card.has-more:has(.atuka-team__more:is(:hover, :focus-visible)) .atuka-team__photo img {
	transform: scale(1.03);
}

.atuka-team__linkedin {
	position: relative;
	z-index: 1;
	display: inline-flex;
	margin-inline-start: auto;
	color: var(--atuka-purple);
	transition: color 0.2s ease;
}

.atuka-team__linkedin:is(:hover, :focus-visible) {
	color: var(--atuka-orange);
}

/* ---------- Person panel ---------- */

html.atuka-dialog-open {
	overflow: hidden;
}

dialog.atuka-person {
	width: min(58rem, calc(100vw - 2rem));
	max-height: min(44rem, calc(100svh - 2rem));
	padding: 0;
	overflow: auto;
	border: 0;
	border-radius: var(--atuka-radius);
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
	box-shadow: 0 30px 80px rgb(30 18 51 / 0.35);
	overscroll-behavior: contain;
}

dialog.atuka-person::backdrop {
	background-color: rgb(30 18 51 / 0.62);
	backdrop-filter: blur(6px);
}

dialog.atuka-person[open] {
	animation: atuka-person-in 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

dialog.atuka-person[open]::backdrop {
	animation: atuka-backdrop-in 0.3s ease;
}

@keyframes atuka-person-in {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.985);
	}
}

@keyframes atuka-backdrop-in {
	from {
		opacity: 0;
	}
}

.atuka-person__dismiss {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	height: 0;
	margin: 0;
}

.atuka-person__close {
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0.75rem;
	border: 0;
	border-radius: 50%;
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
	box-shadow: 0 2px 10px rgb(30 18 51 / 0.14);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.atuka-person__close span::before,
.atuka-person__close span::after {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	width: 1.125rem;
	height: 2px;
	border-radius: 1px;
	background-color: currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}

.atuka-person__close span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.atuka-person__close:is(:hover, :focus-visible) {
	background-color: var(--atuka-ink);
	color: var(--wp--preset--color--white);
}

.atuka-person__layout {
	display: grid;
}

.atuka-person__photo {
	margin: 0;
	background-color: var(--atuka-card);
}

.atuka-person__photo img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 22rem;
	object-fit: cover;
	object-position: center 20%;
}

.atuka-person__body {
	padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
}

@media (min-width: 48rem) {
	.atuka-person__layout {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}

	.atuka-person__photo {
		position: sticky;
		top: 0;
		align-self: stretch;
		min-height: 26rem;
		max-height: min(44rem, calc(100svh - 2rem));
	}

	/* The photo fills its column without setting the panel's height. */
	.atuka-person__photo img {
		position: absolute;
		inset: 0;
		max-height: none;
	}
}

.atuka-person__body > .is-style-eyebrow {
	margin-block: 0 1.25rem;
	padding-inline-end: 3rem;
}

.atuka-person__name {
	margin: 0 0 1.5rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
}

.atuka-person__bio {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
}

.atuka-person__bio > :first-child {
	margin-block-start: 0;
}

.atuka-person__label {
	display: block;
	margin: 0 0 0.375rem;
	color: var(--atuka-purple);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--extra-small);
	font-weight: 800;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.atuka-person__story {
	display: block;
	margin-block-start: 1.5rem;
	padding: 1.125rem 1.25rem;
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
	color: var(--atuka-ink);
	text-decoration: none;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease;
}

.atuka-person__story:is(:hover, :focus-visible) {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgb(30 18 51 / 0.12);
}

.atuka-person__story-title {
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.25;
}

.atuka-person__story-title::after {
	content: "\00a0\2192";
	color: var(--atuka-orange);
}

p.atuka-person__label {
	margin-block-start: 1.75rem;
}

.atuka-person__posts {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--atuka-display);
}

.atuka-person__posts li {
	padding-block: 0.7rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-person__posts a {
	color: inherit;
	text-decoration: none;
}

.atuka-person__posts a:is(:hover, :focus-visible) {
	color: var(--atuka-purple);
}

.atuka-person__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 1.75rem 0 0;
	padding-block-start: 1.25rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
}

.atuka-person__links a::after {
	content: "\00a0\2197";
	color: var(--atuka-orange);
}

@media (prefers-reduced-motion: reduce) {
	dialog.atuka-person[open],
	dialog.atuka-person[open]::backdrop {
		animation: none;
	}

	.atuka-team__photo img,
	.atuka-person__story {
		transition: none;
	}
}

/* ---------- Staff voices ---------- */

.atuka-voice .wp-block-group.atuka-split {
	align-items: center;
}

.atuka-voice + .atuka-voice {
	padding-block-start: 0;
}

.atuka-portrait {
	max-width: 22rem;
	margin-inline: auto;
}

.atuka-portrait img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--atuka-radius);
}

/* ---------- Partner organisations ---------- */

.atuka-partner__logo {
	margin-block: 0 1rem;
}

.atuka-partner__logo img {
	width: auto !important;
	max-width: min(15rem, 100%);
	max-height: 3.5rem;
	border-radius: 0 !important;
}

.atuka-partner > p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

/* A full-width panel on its own. */
section.atuka-section > .wp-block-cover.atuka-panel {
	min-height: 20rem;
}

/* ---------- Careers ---------- */

.wp-block-group.is-style-card.atuka-careers-card {
	height: 100%;
	box-sizing: border-box;
	background-color: var(--wp--preset--color--white);
}

.atuka-careers-card > .wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.atuka-careers-card > .is-style-eyebrow {
	margin-block-start: 1.5rem;
}

.wp-block-group.atuka-careers-card--book {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 11rem);
	gap: var(--wp--preset--spacing--30);
	align-items: center;
}

.atuka-careers-card--book > * {
	margin-block: 0;
}

.atuka-careers-card--book .is-style-eyebrow {
	margin-block-start: 0;
}

.atuka-careers-card__cover img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px !important;
	box-shadow: 0 14px 34px rgb(30 18 51 / 0.16);
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.atuka-careers-card__cover a:is(:hover, :focus-visible) img {
	transform: translateY(-3px);
}

.wp-block-post-template.atuka-jobs {
	margin: 0;
	padding: 0;
	list-style: none;
}

.atuka-jobs > li {
	position: relative;
	margin: 0;
	padding-block: 0.9rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-jobs > li:last-child {
	border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-jobs .wp-block-post-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.25;
}

.atuka-jobs .wp-block-post-title a {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.atuka-section .wp-block-post-template.atuka-jobs .wp-block-post-title a::after {
	content: "\2192";
	position: static;
	inset: auto;
	flex-shrink: 0;
	color: var(--atuka-orange);
}

.atuka-jobs .wp-block-post-title a:is(:hover, :focus-visible) {
	color: var(--atuka-purple);
}

.atuka-why > h2 {
	max-width: 52rem !important;
}

.atuka-careers-contact {
	margin-block-start: var(--wp--preset--spacing--40);
	padding-block-start: var(--wp--preset--spacing--30);
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-careers-contact > p {
	margin-block: 0 0.5rem;
}

.atuka-careers-card > .atuka-careers-card__cover img {
	aspect-ratio: auto;
	object-fit: contain;
}

.atuka-why .wp-block-group.atuka-promise {
	grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
}

/* ---------- Collaborations ---------- */

.atuka-impact-section > .has-large-font-size {
	margin-block-end: var(--wp--preset--spacing--30);
}

.atuka-impact-section .wp-block-group.atuka-split {
	align-items: stretch;
}

.wp-block-group.is-style-card.atuka-impact {
	height: 100%;
	box-sizing: border-box;
}

.atuka-impact > .is-style-stat-number + p {
	margin-block-end: 1.25rem;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
}

.atuka-impact ul.atuka-model-list {
	margin-block-start: 1.25rem;
}

.atuka-impact ul.atuka-model-list a::after {
	content: "\00a0\2197";
}

.is-style-section-dark .wp-block-group.atuka-split > h2 {
	margin: 0;
	text-wrap: balance;
}

.is-style-section-dark .wp-block-group.atuka-split p {
	margin-block-start: 0;
}

.atuka-prose > :is(p, ul) {
	max-width: 44rem;
}

.atuka-collab-article .atuka-resource-card {
	position: sticky;
	top: calc(var(--atuka-header-h) + 1.5rem);
}

.atuka-collab-article .atuka-columns-2-1 {
	align-items: start;
}

/* A plus-list set in two columns keeps its markers inside each column. */
ul.is-style-plus-list.atuka-list-columns {
	margin-block-start: var(--wp--preset--spacing--30);
	padding-inline-start: 1.25rem;
}

.is-style-section-tint .atuka-resource-card {
	background-color: var(--wp--preset--color--white);
}

/* ---------- News and insights ---------- */

.atuka-lead-section {
	padding-block-start: 0;
}

.wp-block-post-template.atuka-lead-story {
	margin: 0;
	padding: 0;
	list-style: none;
}

.atuka-lead-story .wp-block-group.atuka-split {
	align-items: center;
}

.atuka-lead-story .wp-block-post-title {
	margin-block: 0 1rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
	text-wrap: balance;
}

.atuka-lead-story .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.atuka-lead-story .wp-block-post-terms.is-style-eyebrow a {
	position: relative;
	z-index: 1;
	color: inherit;
	text-decoration: none;
}

.atuka-lead-story .wp-block-post-excerpt__more-text {
	display: none;
}

.atuka-latest {
	padding-block-start: 0;
}

.wp-block-group.atuka-latest-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem 2rem;
	margin-block-end: var(--wp--preset--spacing--30);
	padding-block-start: var(--wp--preset--spacing--40);
	border-top: 1px solid color-mix(in srgb, var(--atuka-ink) 14%, transparent);
}

.atuka-latest-head > * {
	margin-block: 0;
}

ul.atuka-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
}

ul.atuka-topics a {
	display: inline-block;
	padding: 0.4375rem 0.9375rem;
	border: 1px solid color-mix(in srgb, var(--atuka-ink) 24%, transparent);
	border-radius: 999px;
	color: var(--atuka-ink);
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

ul.atuka-topics a:is(:hover, :focus-visible) {
	border-color: var(--atuka-ink);
	background-color: var(--atuka-ink);
	color: var(--wp--preset--color--white);
}

/* ---------- Leadership bios ---------- */

.atuka-leadership > p {
	max-width: 52rem !important;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.45;
}

.atuka-bios {
	margin-block-start: var(--wp--preset--spacing--40);
}

.atuka-bio {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	padding-block: var(--wp--preset--spacing--40);
	border-top: 1px solid color-mix(in srgb, var(--atuka-ink) 14%, transparent);
	scroll-margin-top: calc(var(--atuka-header-h) + 1rem);
}

@media (min-width: 48rem) {
	.atuka-bio {
		grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
		gap: var(--wp--preset--spacing--50);
	}
}

.atuka-bio__photo {
	overflow: hidden;
	max-width: 16rem;
	margin: 0;
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-card);
	aspect-ratio: 3 / 4;
}

.atuka-bio__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.atuka-bio__body > .is-style-eyebrow {
	margin-block: 0 1.25rem;
}

.atuka-bio__name {
	margin: 0 0 1.25rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
}

.atuka-bio__text {
	max-width: 46rem;
}

.atuka-bio__text > :first-child {
	margin-block-start: 0;
}

.atuka-bio__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 1.5rem 0 0;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
}

.atuka-bio__links a::after {
	content: "\00a0\2197";
	color: var(--atuka-orange);
}

/* ---------- Archive titles ---------- */

.atuka-page-intro > .wp-block-query-title {
	max-width: 52rem !important;
	margin-inline-start: 0 !important;
}

/* ---------- Aside card beside long text ---------- */

.atuka-collab-article .atuka-aside {
	position: sticky;
	top: calc(var(--atuka-header-h) + 1.5rem);
}

.atuka-aside > .is-style-eyebrow {
	margin-block-end: 0;
}

.atuka-aside ul.is-style-directory a::after {
	content: "\2192";
}

.atuka-aside ul.is-style-directory a[target="_blank"]::after {
	content: "\2197";
}

/* ---------- Contact ---------- */

.atuka-contact .wp-block-group.atuka-split {
	gap: var(--wp--preset--spacing--50);
}

.atuka-contact-intro > h1 {
	margin-block-start: 0;
}

.atuka-contact-intro .wp-block-buttons {
	margin-block: var(--wp--preset--spacing--30);
}

ul.atuka-contact-details {
	max-width: 24rem;
	font-size: var(--wp--preset--font-size--medium);
}

ul.atuka-contact-details > li:last-child {
	border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

ul.atuka-contact-details a[target="_blank"]::after {
	content: "\00a0\2197";
}

ul.atuka-contact-details a[href^="mailto:"]::after {
	content: none;
}

.atuka-contact-address {
	margin-block-start: var(--wp--preset--spacing--30);
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.wp-block-group.is-style-card.atuka-contact-form {
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}

/* ---------- Small-screen and layout refinements from the sitewide check ---------- */

.atuka-paper__title a,
.atuka-paper__authors {
	overflow-wrap: anywhere;
}

@media (max-width: 39.99rem) {
	.atuka-team {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--wp--preset--spacing--20);
	}

	.atuka-team__name {
		font-size: var(--wp--preset--font-size--medium);
	}

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

	.atuka-explorer__stats dt {
		white-space: normal;
	}
}

/* The filter bar only pins where there is room for it. */
@media (max-width: 47.99rem) {
	.atuka-model-filter-section {
		position: static;
	}
}

/* Five cards read better as three and two than four and one. */
@media (min-width: 64rem) {
	.wp-block-group.atuka-model-groups:has(> :nth-child(5):last-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- Second button on dark panels ---------- */

:is(.atuka-panel, .is-style-section-dark) .wp-block-button.is-style-outline .wp-element-button {
	border: 1px solid rgb(255 255 255 / 0.55);
	background-color: transparent;
	color: var(--wp--preset--color--white);
}

:is(.atuka-panel, .is-style-section-dark) .wp-block-button.is-style-outline .wp-element-button:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--white);
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
}

/* ---------- Footer newsletter column ---------- */

@media (min-width: 64rem) {
	.atuka-footer__main {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.25fr);
	}
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
	.atuka-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.atuka-footer__subscribe a {
	display: inline-block;
	padding: 0.625rem 1.125rem;
	border-radius: var(--atuka-radius);
	background-color: var(--atuka-orange);
	color: var(--atuka-ink);
	transition: background-color 0.2s ease;
}

.atuka-footer__subscribe a:is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--white);
	color: var(--atuka-ink);
}

/* ---------- Forms (Formidable) ---------- */

/* Formidable reads its look from these variables; setting them here restyles every form at once. */
.frm_forms.with_frm_style[class*="frm_style_"] {
	--font: var(--atuka-display);
	--font-size: 0.8125rem;
	--label-color: var(--atuka-ink);
	--weight: 400;
	--label-padding: 0 0 0.375rem 0;
	--field-font-size: 1rem;
	--field-height: 2.75rem;
	--field-pad: 0 0.875rem;
	--field-margin: 1.125rem;
	--text-color: var(--atuka-ink);
	--border-color: color-mix(in srgb, var(--atuka-ink) 24%, transparent);
	--border-color-active: var(--atuka-purple);
	--bg-color: var(--wp--preset--color--white);
	--bg-color-active: var(--wp--preset--color--white);
	--border-radius: var(--atuka-radius);
	--description-color: color-mix(in srgb, var(--atuka-ink) 70%, transparent);
	--submit-bg-color: var(--atuka-ink);
	--submit-border-color: var(--atuka-ink);
	--submit-text-color: var(--wp--preset--color--white);
	--submit-hover-bg-color: var(--atuka-purple);
	--submit-hover-border-color: var(--atuka-purple);
	--submit-hover-color: var(--wp--preset--color--white);
	--submit-active-bg-color: var(--atuka-purple);
	--submit-active-border-color: var(--atuka-purple);
	--submit-active-color: var(--wp--preset--color--white);
	--submit-border-radius: var(--atuka-radius);
	--submit-font-size: 0.9375rem;
	--submit-padding: 0.75rem 1.375rem;
	--submit-weight: 400;
	font-family: var(--atuka-display);
}

.frm_forms.with_frm_style[class*="frm_style_"] :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
	box-sizing: border-box;
	font-family: var(--atuka-display);
	box-shadow: none;
	transition: border-color 0.2s ease;
}

.frm_forms.with_frm_style[class*="frm_style_"] textarea {
	min-height: 9rem;
	padding-block: 0.75rem;
	line-height: 1.5;
}

.frm_forms.with_frm_style[class*="frm_style_"] :is(input, select, textarea):focus-visible {
	outline: 2px solid var(--atuka-purple);
	outline-offset: 1px;
	box-shadow: none;
}

.frm_forms.with_frm_style[class*="frm_style_"] .frm_primary_label {
	font-family: var(--atuka-display);
	letter-spacing: 0.01em;
}

.frm_forms.with_frm_style[class*="frm_style_"] .frm_required {
	color: var(--atuka-orange);
}

.frm_forms.with_frm_style[class*="frm_style_"] .frm_submit button {
	font-family: var(--atuka-display);
	line-height: 1.2;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.frm_forms.with_frm_style[class*="frm_style_"] :is(.frm_message, .frm_error_style) {
	border-radius: var(--atuka-radius);
	font-family: var(--atuka-display);
}

.frm_forms.with_frm_style[class*="frm_style_"] .frm_description {
	font-family: var(--atuka-display);
}

/* Formidable sets the submit button's colours directly, so these are stated outright. */
.frm_forms.with_frm_style[class*="frm_style_"] .frm_submit button {
	padding: 0.75rem 1.375rem !important;
	border: 1px solid var(--atuka-ink) !important;
	border-radius: var(--atuka-radius) !important;
	background: var(--atuka-ink) !important;
	color: var(--wp--preset--color--white) !important;
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
}

.frm_forms.with_frm_style[class*="frm_style_"] .frm_submit button:is(:hover, :focus-visible) {
	border-color: var(--atuka-purple) !important;
	background: var(--atuka-purple) !important;
}

/* Labels that sit inside a field (the newsletter form) rest on the field's centre line until they float above it. */
.frm_forms.with_frm_style[class*="frm_style_"] .frm_inside_container:not(.frm_label_float_top) > label {
	top: calc(0.5 * var(--field-height) + (var(--field-height) - 1.3 * var(--field-font-size)) / 2);
	left: 0;
	color: color-mix(in srgb, var(--atuka-ink) 65%, transparent);
	pointer-events: none;
}

.frm_forms.with_frm_style[class*="frm_style_"] .frm_inside_container.frm_label_float_top > label {
	color: var(--atuka-ink);
}

.atuka-footer__logo img {
	aspect-ratio: 288 / 141;
}

/* In the editor the header pattern sits outside the navigation block, so the logo is sized here too. */
.atuka-header__bar .atuka-logo img {
	width: auto;
	height: 2.75rem;
}

/* ---------- Editor canvas ---------- */

/* The page editor caps every top-level block at the reading width. Sections, heroes and synced
   patterns run the full width of the canvas, as they do on the site. (.is-root-container exists only in the editor.) */
.is-root-container.is-root-container.is-root-container > :is(.atuka-section, .atuka-hero, .atuka-timeline, .wp-block-block, [data-type="core/block"]) {
	max-width: none;
	margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1) !important;
	margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1) !important;
}

.is-root-container.is-root-container.is-root-container > .atuka-timeline.atuka-timeline {
	max-width: 66rem;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* The editor zeroes block margins, which lets the eyebrow's rule touch the heading below it. */
.is-root-container p.is-style-eyebrow.is-style-eyebrow {
	margin-block-end: 1.5rem;
}

/* In the editor a list item's text sits inside an editable wrapper, so the step name is matched there too. */
ol.is-style-steps > li > [contenteditable] > strong:first-child {
	display: block;
	font-family: var(--atuka-display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	line-height: 1.25;
}

ol.is-style-steps > li > [contenteditable] > strong:first-child + br {
	display: none;
}

/* ---------- Text for screen readers only ---------- */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

/* ---------- Staff profile page ---------- */

.atuka-profile__intro {
	padding-block-start: var(--wp--preset--spacing--30);
	border-top: 0;
}

.atuka-profile__intro .atuka-bio__name {
	font-size: var(--wp--preset--font-size--xx-large);
}

.atuka-profile__section {
	padding-block: var(--wp--preset--spacing--40);
	border-top: 1px solid color-mix(in srgb, var(--atuka-ink) 14%, transparent);
}

@media (min-width: 48rem) {
	.atuka-profile__section {
		display: grid;
		grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
		gap: var(--wp--preset--spacing--50);
	}

	.atuka-profile__section > :not(.atuka-profile__heading) {
		grid-column: 2;
	}
}

.atuka-profile__heading {
	margin: 0 0 1.25rem;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.15;
}

.atuka-profile__list {
	max-width: 46rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--atuka-display);
}

.atuka-profile__list li {
	padding-block: 0.8rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.atuka-profile__list li:first-child {
	padding-block-start: 0;
	border-top: 0;
}

.atuka-profile__list a {
	color: inherit;
	text-decoration: none;
}

.atuka-profile__list a:is(:hover, :focus-visible) {
	color: var(--atuka-purple);
}

.atuka-profile__label {
	margin-inline-end: 0.5rem;
	color: var(--atuka-purple);
	font-size: var(--wp--preset--font-size--extra-small);
	font-weight: 800;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.atuka-profile__papers {
	max-width: 46rem;
}

.atuka-profile__papers > .atuka-paper:first-child {
	padding-block-start: 0;
	border-top: 0;
}

.atuka-profile__all,
.atuka-person__full {
	margin: 1.5rem 0 0;
	font-family: var(--atuka-display);
	font-weight: 800;
}

.atuka-profile__all a,
.atuka-person__full a {
	color: var(--atuka-purple);
	text-decoration: none;
}

.atuka-profile__all a::after,
.atuka-person__full a::after {
	content: "\00a0\2192";
	color: var(--atuka-orange);
}

.atuka-profile__all a:is(:hover, :focus-visible),
.atuka-person__full a:is(:hover, :focus-visible) {
	text-decoration: underline;
}

/* ---------- Language switcher: hold its place in the menu ---------- */

/* Weglot adds its switcher to the menu with a script after the page loads.
   Until it arrives, an empty item of the same width keeps the menu still. */
.atuka-header__bar .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content:not(:has(.weglot-container))::after {
	content: "";
	flex: none;
	width: 3.75rem;
}

/* Weglot first adds an empty container, then fills it a moment later.
   A minimum width holds the same space through both steps. */
.atuka-header__bar .wp-block-navigation__responsive-container:not(.is-menu-open) .weglot-container {
	min-width: 3.75rem;
}

/* Menu items never wrap or squeeze, whatever the switcher does. */
.atuka-header__bar .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
	flex-shrink: 0;
}

.atuka-header__bar .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content {
	white-space: nowrap;
}

/* ---------- Page-to-page transitions ---------- */

@view-transition {
	navigation: auto;
}

header.wp-block-template-part {
	view-transition-name: atuka-header;
}

::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 180ms;
}

::view-transition-group(atuka-header) {
	animation: none;
}

@media (prefers-reduced-motion: reduce) {
	@view-transition {
		navigation: none;
	}
}
