@layer reset, base, components, utilities;

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

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

	body,
	h1,
	h2,
	h3,
	p {
		margin-block-start: 0;
	}

	img,
	svg,
	video,
	iframe {
		display: block;
		max-width: 100%;
	}

	button,
	input,
	select,
	textarea {
		font: inherit;
	}
}

@layer base {
	:root {
		--aima-color-background: var(--wp--preset--color--background);
		--aima-color-surface: var(--wp--preset--color--surface);
		--aima-color-border: var(--wp--preset--color--border);
		--aima-color-border-strong: var(--wp--preset--color--border-strong);
		--aima-color-text: var(--wp--preset--color--text);
		--aima-color-text-muted: var(--wp--preset--color--text-muted);
		--aima-color-primary: var(--wp--preset--color--primary);
		--aima-color-primary-hover: var(--wp--preset--color--primary-hover);
		--aima-color-ink: #13251f;
		--aima-color-forest: #183d31;
		--aima-color-brass: #b99862;
		--aima-color-mist: #e8eeeb;
		--aima-font-sans: var(--wp--preset--font-family--system-sans);
		--aima-font-serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
		--aima-content-width: 40rem;
		--aima-wide-width: 75rem;
		--aima-radius-sm: 4px;
		--aima-radius-md: 8px;
		--aima-radius-lg: 12px;
		--aima-focus-ring: 2px solid var(--aima-color-primary);
		--aima-header-height: 4.5rem;
		--aima-member-sidebar-width: 16rem;
		--aima-member-mobile-nav-height: 4.5rem;
		--aima-shadow-sm: 0 1px 2px rgb(42 39 36 / 8%);
		--aima-shadow-md: 0 12px 32px rgb(42 39 36 / 14%);
		--aima-shadow-mobile-nav: 0 -4px 16px color-mix(in srgb, var(--aima-color-text) 8%, transparent);
	}

	html {
		scroll-behavior: smooth;
	}

	body {
		min-height: 100vh;
		margin: 0;
		background: var(--aima-color-background);
		color: var(--aima-color-text);
		font-family: var(--aima-font-sans);
		letter-spacing: 0.02em;
	}

	body.aima-nav-open {
		overflow: hidden;
	}

	.aima-site-main[tabindex="-1"]:focus {
		outline: none;
	}

	h1,
	h2,
	h3 {
		color: var(--aima-color-text);
		font-weight: 700;
		line-height: 1.4;
		text-wrap: balance;
	}

	h1 {
		font-size: clamp(1.75rem, 4vw, 2rem);
	}

	h2 {
		font-size: clamp(1.375rem, 3vw, 1.5rem);
	}

	h3 {
		font-size: clamp(1.125rem, 2.5vw, 1.25rem);
	}

	p {
		margin-block-end: 1.5rem;
	}

	a {
		color: var(--aima-color-primary);
		text-underline-offset: 0.2em;
	}

	a:hover {
		color: var(--aima-color-primary-hover);
	}

	:where(a, button, input, select, textarea, summary):focus-visible {
		outline: var(--aima-focus-ring);
		outline-offset: 2px;
	}

	:where([id], a, button, input, select, textarea):focus {
		scroll-margin-block-start: calc(var(--aima-header-height) + 1rem);
	}

	::selection {
		background: var(--aima-color-primary);
		color: var(--aima-color-surface);
	}
}

@layer components {
	.aima-skip-link {
		position: fixed;
		z-index: 100000;
		inset-block-start: 0.5rem;
		inset-inline-start: 0.5rem;
		padding: 0.75rem 1rem;
		border-radius: var(--aima-radius-sm);
		background: var(--aima-color-primary);
		color: var(--aima-color-surface);
		font-weight: 700;
		transform: translateY(-200%);
	}

	.aima-skip-link:focus {
		color: var(--aima-color-surface);
		transform: translateY(0);
	}

	.aima-screen-reader-text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.aima-site-shell {
		min-height: 100vh;
	}

	.aima-site-frame {
		display: flex;
		min-width: 0;
		min-height: 100vh;
		flex-direction: column;
	}

	.aima-site-shell--member .aima-site-frame {
		padding-block-end: calc(var(--aima-member-mobile-nav-height) + env(safe-area-inset-bottom, 0px));
	}

	.aima-site-header {
		position: sticky;
		z-index: 100;
		inset-block-start: 0;
		min-height: var(--aima-header-height);
		border-block-end: 1px solid var(--aima-color-border);
		background: var(--aima-color-background);
		background: color-mix(in srgb, var(--aima-color-background) 96%, transparent);
		backdrop-filter: blur(12px);
	}

	body.admin-bar .aima-site-header {
		position: static;
	}

	.aima-site-header__inner {
		display: flex;
		width: min(calc(100% - 2rem), var(--aima-wide-width));
		min-height: var(--aima-header-height);
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin-inline: auto;
		padding-inline-start: env(safe-area-inset-left, 0px);
		padding-inline-end: env(safe-area-inset-right, 0px);
	}

	.aima-brand {
		display: inline-flex;
		flex-direction: column;
		flex-shrink: 0;
		color: var(--aima-color-text);
		line-height: 1.2;
		text-decoration: none;
	}

	.aima-brand:hover {
		color: var(--aima-color-primary);
	}

	.aima-brand__name {
		font-size: 1.0625rem;
		font-weight: 750;
		letter-spacing: 0.01em;
	}

	.aima-brand__context {
		margin-block-start: 0.2rem;
		color: var(--aima-color-text-muted);
		font-size: 0.6875rem;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.aima-global-nav--desktop,
	.aima-auth-actions {
		display: none;
	}

	.aima-global-nav__list,
	.aima-member-nav__list,
	.aima-footer-nav ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-global-nav__link {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
		color: var(--aima-color-text);
		font-size: 0.9375rem;
		font-weight: 600;
		text-decoration: none;
	}

	.aima-global-nav__link:hover,
	.aima-global-nav__link.is-current {
		color: var(--aima-color-primary);
	}

	.aima-button {
		display: inline-flex;
		min-height: 2.75rem;
		align-items: center;
		justify-content: center;
		padding: 0.625rem 1rem;
		border: 1px solid transparent;
		border-radius: var(--aima-radius-md);
		font-weight: 700;
		line-height: 1.2;
		text-decoration: none;
	}

	.aima-button--primary {
		background: var(--aima-color-primary);
		color: var(--aima-color-surface);
	}

	.aima-button--primary:hover {
		background: var(--aima-color-primary-hover);
		color: var(--aima-color-surface);
	}

	.aima-mobile-menu__toggle,
	.aima-mobile-menu__close,
	.aima-mobile-menu__backdrop {
		display: none;
	}

	.aima-mobile-menu__panel {
		padding-block: 0.5rem 1rem;
	}

	.aima-mobile-menu__panel-header {
		display: none;
	}

	.aima-global-nav--drawer .aima-global-nav__link {
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-mobile-menu__auth {
		display: grid;
		gap: 0.75rem;
		margin-block-start: 1rem;
		text-align: center;
	}

	.aima-mobile-menu__auth > a:not(.aima-button) {
		display: inline-flex;
		min-height: 2.75rem;
		align-items: center;
		justify-content: center;
		padding-inline: 1rem;
		border: 1px solid var(--aima-color-primary);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
		color: var(--aima-color-primary);
		font-weight: 700;
		text-decoration: none;
	}

	.aima-mobile-menu__auth > a:not(.aima-button):hover,
	.aima-mobile-menu__auth > a:not(.aima-button):focus-visible {
		background: var(--aima-color-mist);
		color: var(--aima-color-primary-hover);
	}

	.aima-has-js .aima-mobile-menu__toggle {
		display: inline-flex;
		min-width: 3.5rem;
		min-height: 2.75rem;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		padding: 0.5rem 0.75rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
		color: var(--aima-color-text);
		font-size: 0.875rem;
		font-weight: 700;
		cursor: pointer;
	}

	.aima-mobile-menu__toggle-lines,
	.aima-mobile-menu__toggle-lines::before,
	.aima-mobile-menu__toggle-lines::after {
		display: block;
		width: 1.125rem;
		height: 2px;
		background: currentcolor;
		content: "";
	}

	.aima-mobile-menu__toggle-lines {
		position: relative;
	}

	.aima-mobile-menu__toggle-lines::before {
		position: absolute;
		inset-block-start: -0.35rem;
	}

	.aima-mobile-menu__toggle-lines::after {
		position: absolute;
		inset-block-start: 0.35rem;
	}

	.aima-has-js .aima-mobile-menu__backdrop {
		position: fixed;
		z-index: 199;
		inset: 0;
		display: block;
		border: 0;
		background: var(--aima-color-text);
		opacity: 0;
		pointer-events: none;
		transition: opacity 180ms ease;
	}

	.aima-has-js .aima-mobile-menu__panel {
		position: fixed;
		z-index: 200;
		inset-block: 0;
		inset-inline-end: 0;
		width: min(88vw, 22rem);
		padding-block: 1.25rem;
		padding-inline-start: calc(1.25rem + env(safe-area-inset-left, 0px));
		padding-inline-end: calc(1.25rem + env(safe-area-inset-right, 0px));
		overflow-y: auto;
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-md);
		visibility: hidden;
		transform: translateX(100%);
		transition:
			transform 180ms ease,
			visibility 180ms;
	}

	.aima-has-js .aima-mobile-menu.is-open .aima-mobile-menu__backdrop {
		opacity: 0.48;
		pointer-events: auto;
	}

	.aima-has-js .aima-mobile-menu.is-open .aima-mobile-menu__panel {
		visibility: visible;
		transform: translateX(0);
	}

	@media (max-width: 959px) {
		/*
		 * A backdrop-filter creates a containing block for fixed descendants.
		 * Disable it while the drawer is in use so the panel fills the viewport
		 * instead of being clipped to the 4.5rem header.
		 */
		.aima-public-shell .aima-site-header {
			backdrop-filter: none;
		}
	}

	.aima-has-js .aima-mobile-menu__panel-header {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin-block-end: 1rem;
	}

	.aima-has-js .aima-mobile-menu__close {
		display: inline-flex;
		width: 2.75rem;
		height: 2.75rem;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--aima-color-border);
		border-radius: 50%;
		background: var(--aima-color-surface);
		color: var(--aima-color-text);
		font-size: 1.75rem;
		line-height: 1;
		cursor: pointer;
	}

	.aima-member-sidebar {
		display: none;
	}

	.aima-account-nav {
		display: flex;
		align-items: center;
		gap: 1rem;
		font-size: 0.875rem;
		font-weight: 600;
	}

	.aima-account-nav a {
		display: inline-flex;
		min-height: 2.75rem;
		align-items: center;
		text-decoration: none;
	}

	.aima-account-nav--with-feedback a.aima-account-nav__public-link {
		display: none;
	}

	.aima-member-nav--mobile {
		position: fixed;
		z-index: 150;
		inset-block-end: 0;
		inset-inline: 0;
		display: block;
		padding-block-end: env(safe-area-inset-bottom, 0px);
		border-block-start: 1px solid var(--aima-color-border);
		background: var(--aima-color-surface);
		background: color-mix(in srgb, var(--aima-color-surface) 98%, transparent);
		box-shadow: var(--aima-shadow-mobile-nav);
	}

	.aima-member-nav--mobile .aima-member-nav__list {
		display: flex;
		min-height: var(--aima-member-mobile-nav-height);
		align-items: stretch;
		padding-inline-start: env(safe-area-inset-left, 0px);
		padding-inline-end: env(safe-area-inset-right, 0px);
	}

	.aima-member-nav--mobile .aima-member-nav__item {
		display: flex;
		min-width: 0;
		flex: 1;
	}

	.aima-member-nav--mobile .aima-member-nav__link {
		display: flex;
		width: 100%;
		min-height: 2.75rem;
		align-items: center;
		justify-content: center;
		padding: 0.5rem 0.2rem;
		border-block-start: 3px solid transparent;
		color: var(--aima-color-text-muted);
		font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
		font-weight: 700;
		line-height: 1.25;
		text-align: center;
		text-decoration: none;
	}

	.aima-member-nav--mobile .aima-member-nav__link:hover,
	.aima-member-nav--mobile .aima-member-nav__link.is-current {
		border-block-start-color: var(--aima-color-primary);
		color: var(--aima-color-primary);
	}

	.aima-site-footer {
		margin-block-start: auto;
		border-block-start: 1px solid var(--aima-color-border);
		background: var(--aima-color-surface-muted);
	}

	.aima-site-footer__inner {
		display: grid;
		width: min(calc(100% - 2rem), var(--aima-wide-width));
		gap: 1.5rem;
		margin-inline: auto;
		padding-block: 2.5rem;
		padding-inline-start: env(safe-area-inset-left, 0px);
		padding-inline-end: env(safe-area-inset-right, 0px);
	}

	.aima-site-footer__brand p {
		max-width: 36rem;
		margin-block: 0.75rem 0;
		color: var(--aima-color-text-muted);
		font-size: 0.875rem;
	}

	.aima-footer-nav ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem 1.25rem;
	}

	.aima-footer-nav a {
		display: inline-flex;
		min-height: 2.75rem;
		align-items: center;
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
		text-decoration: none;
	}

	.aima-footer-nav a:hover {
		color: var(--aima-color-primary);
	}

	.aima-site-footer__copyright {
		margin: 0;
		color: var(--aima-color-text-muted);
	}

	.aima-site-main {
		width: min(calc(100% - 2rem), var(--aima-wide-width));
		flex: 1;
		margin-inline: auto;
		padding-inline-start: env(safe-area-inset-left, 0px);
		padding-inline-end: env(safe-area-inset-right, 0px);
		padding-block: 3rem;
	}

	.aima-page-header {
		width: min(100%, var(--aima-content-width));
		margin-inline: auto;
		margin-block-end: 1.5rem;
	}

	.aima-page-title {
		margin-block-end: 0;
	}

	.aima-entry,
	.aima-empty-state {
		width: min(100%, var(--aima-content-width));
		margin-inline: auto;
		padding: clamp(1.25rem, 4vw, 2rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
		box-shadow: 0 1px 2px rgb(0 0 0 / 4%);
	}

	.aima-entry + .aima-entry {
		margin-block-start: 1.5rem;
	}

	.aima-entry__header {
		margin-block-end: 1.5rem;
	}

	.aima-entry__title {
		margin-block-end: 0;
		overflow-wrap: anywhere;
	}

	.aima-entry__title a {
		color: inherit;
		text-decoration: none;
	}

	.aima-entry__content {
		overflow-wrap: anywhere;
	}

	.aima-entry__content > :last-child,
	.aima-empty-state > :last-child {
		margin-block-end: 0;
	}

	.aima-entry__meta,
	.aima-eyebrow,
	.aima-product-card__type,
	.aima-content-card__type {
		margin-block-end: 0.75rem;
		color: var(--aima-color-primary);
		font-size: 0.6875rem;
		font-weight: 800;
		letter-spacing: 0.18em;
		line-height: 1.4;
		text-transform: uppercase;
	}

	.aima-text-link {
		display: inline-flex;
		align-items: center;
		gap: 0.65rem;
		color: var(--aima-color-primary);
		font-size: 0.875rem;
		font-weight: 800;
		text-decoration: none;
	}

	.aima-text-link span {
		transition: transform 180ms ease;
	}

	.aima-text-link:hover span {
		transform: translateX(0.2rem);
	}

	.aima-text-link--light {
		color: #fff;
	}

	.aima-text-link--light:hover {
		color: #f4e4c7;
	}

	.aima-site-main.aima-home {
		width: 100%;
		max-width: none;
		padding: 0;
	}

	.aima-home-hero {
		position: relative;
		display: grid;
		min-height: clamp(34rem, 72vh, 48rem);
		place-items: center;
		overflow: hidden;
		background-color: var(--aima-color-ink);
		background-image: var(--aima-hero-image);
		background-position: center;
		background-size: cover;
		isolation: isolate;
	}

	.aima-home-hero__shade {
		position: absolute;
		z-index: -1;
		inset: 0;
		background:
			linear-gradient(90deg, rgb(4 16 13 / 78%), rgb(4 16 13 / 40%) 54%, rgb(4 16 13 / 62%)),
			linear-gradient(0deg, rgb(4 16 13 / 58%), transparent 46%);
	}

	.aima-home-hero__inner {
		width: min(calc(100% - 2.5rem), 64rem);
		padding-block: clamp(5rem, 10vw, 8rem);
		color: #fff;
		text-align: center;
	}

	.aima-eyebrow--light {
		color: #d9bf91;
	}

	.aima-home-hero h1 {
		max-width: 15em;
		margin-inline: auto;
		margin-block-end: 1.5rem;
		color: #fff;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.25rem, 5.2vw, 4.75rem);
		font-weight: 600;
		letter-spacing: 0.04em;
		line-height: 1.35;
		text-shadow: 0 4px 28px rgb(0 0 0 / 38%);
	}

	.aima-home-hero__lead {
		max-width: 42rem;
		margin-inline: auto;
		margin-block-end: 2rem;
		color: rgb(255 255 255 / 94%);
		font-size: clamp(0.9375rem, 1.7vw, 1.0625rem);
		line-height: 2;
	}

	.aima-home-hero__actions {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 1rem 1.5rem;
	}

	.aima-home-hero__facts {
		display: grid;
		max-width: 56rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		padding: 1px;
		margin: 2.5rem auto 0;
		background: rgb(255 255 255 / 22%);
	}

	.aima-home-hero__facts div {
		padding: 0.9rem 1rem;
		background: rgb(4 16 13 / 66%);
	}

	.aima-home-hero__facts dt {
		margin-block-end: 0.25rem;
		color: #d9bf91;
		font-size: 0.625rem;
		font-weight: 800;
		letter-spacing: 0.12em;
	}

	.aima-home-hero__facts dd {
		margin: 0;
		color: #fff;
		font-size: 0.8125rem;
		font-weight: 700;
		line-height: 1.5;
	}

	.aima-button--hero {
		min-width: 12rem;
		min-height: 3.25rem;
		padding-inline: 1.75rem;
		border-color: var(--aima-color-brass);
		border-radius: 999px;
		background: var(--aima-color-brass);
		color: var(--aima-color-ink);
	}

	.aima-button--hero:hover {
		border-color: #d4b985;
		background: #d4b985;
		color: var(--aima-color-ink);
	}

	.aima-home-hero__scroll {
		position: absolute;
		inset-block-end: 1.5rem;
		inset-inline-end: 1.5rem;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		color: rgb(255 255 255 / 88%);
		font-size: 0.625rem;
		font-weight: 800;
		letter-spacing: 0.18em;
		text-decoration: none;
		writing-mode: vertical-rl;
	}

	.aima-home-section {
		padding: clamp(4.5rem, 9vw, 8rem) max(1.25rem, calc((100% - var(--aima-wide-width)) / 2));
	}

	.aima-home-section__heading {
		max-width: 48rem;
		margin-inline: auto;
		margin-block-end: clamp(2.5rem, 6vw, 4.5rem);
		text-align: center;
	}

	.aima-home-section__heading--left {
		margin-inline: 0;
		text-align: left;
	}

	.aima-home-section__heading h2,
	.aima-latest__header h2,
	.aima-home-cta h2 {
		margin-block-end: 1.25rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(2rem, 4vw, 3.25rem);
		font-weight: 600;
		letter-spacing: 0.04em;
	}

	.aima-home-section__heading > p:last-child {
		margin-block-end: 0;
		color: var(--aima-color-text-muted);
		line-height: 2;
	}

	.aima-cycle {
		background:
			radial-gradient(circle at 50% 0, rgb(185 152 98 / 10%), transparent 36%),
			var(--aima-color-background);
	}

	.aima-cycle__grid {
		display: grid;
		max-width: var(--aima-wide-width);
		gap: 1px;
		margin-inline: auto;
		overflow: hidden;
		border: 1px solid var(--aima-color-border);
		background: var(--aima-color-border);
	}

	.aima-cycle-card {
		position: relative;
		min-height: 19rem;
		padding: clamp(1.75rem, 4vw, 3rem);
		overflow: hidden;
		background: var(--aima-color-surface);
	}

	.aima-cycle-card::after {
		position: absolute;
		inset-block-end: 0;
		inset-inline: 0;
		height: 3px;
		background: var(--aima-color-primary);
		content: "";
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 220ms ease;
	}

	.aima-cycle-card:hover::after {
		transform: scaleX(1);
	}

	.aima-cycle-card__number {
		position: absolute;
		inset-block-start: 1rem;
		inset-inline-end: 1.25rem;
		color: rgb(47 107 84 / 11%);
		font-family: var(--aima-font-serif);
		font-size: clamp(4rem, 8vw, 7rem);
		line-height: 1;
	}

	.aima-cycle-card__en {
		margin-block-end: 3.5rem;
		color: var(--aima-color-primary);
		font-size: 0.6875rem;
		font-weight: 800;
		letter-spacing: 0.18em;
	}

	.aima-cycle-card h3 {
		margin-block-end: 1rem;
		font-family: var(--aima-font-serif);
		font-size: 1.75rem;
	}

	.aima-cycle-card > p:last-child {
		margin-block-end: 0;
		color: var(--aima-color-text-muted);
		line-height: 1.9;
	}

	.aima-products {
		background: var(--aima-color-mist);
	}

	.aima-products__grid {
		display: grid;
		max-width: var(--aima-wide-width);
		gap: 1.5rem;
		margin-inline: auto;
	}

	.aima-product-card {
		position: relative;
		min-height: 30rem;
		padding: clamp(2rem, 5vw, 4rem);
		overflow: hidden;
		border-radius: 0.25rem;
		background: var(--aima-color-surface);
	}

	.aima-product-card--compact {
		min-height: 0;
	}

	.aima-product-card::before {
		position: absolute;
		inset-block-start: 0;
		inset-inline: 0;
		height: 0.4rem;
		background: var(--aima-color-primary);
		content: "";
	}

	.aima-product-card--village {
		background: var(--aima-color-ink);
		color: rgb(255 255 255 / 88%);
	}

	.aima-product-card--village::before {
		background: var(--aima-color-brass);
	}

	.aima-product-card--village h3,
	.aima-product-card--village .aima-text-link {
		color: #fff;
	}

	.aima-product-card__type {
		margin-block-end: 2.75rem;
	}

	.aima-product-card--village .aima-product-card__type {
		color: #d9bf91;
	}

	.aima-product-card h3 {
		margin-block-end: 1.5rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(2rem, 4vw, 3rem);
	}

	.aima-product-card > p:not(.aima-product-card__type) {
		max-width: 34rem;
		line-height: 2;
	}

	.aima-product-card ul {
		display: grid;
		gap: 0.75rem;
		padding: 1.5rem 0;
		margin-block: 1.5rem 2rem;
		border-block: 1px solid var(--aima-color-border);
		list-style: none;
	}

	.aima-product-card--village ul {
		border-color: rgb(255 255 255 / 14%);
	}

	.aima-product-card li {
		position: relative;
		padding-inline-start: 1.25rem;
	}

	.aima-product-card li::before {
		position: absolute;
		inset-block-start: 0.75em;
		inset-inline-start: 0;
		width: 0.35rem;
		height: 0.35rem;
		border-radius: 50%;
		background: var(--aima-color-primary);
		content: "";
	}

	.aima-product-card--village li::before {
		background: var(--aima-color-brass);
	}

	.aima-village-engine {
		position: relative;
		overflow: hidden;
		background:
			radial-gradient(circle at 12% 8%, rgb(185 152 98 / 14%), transparent 28rem),
			radial-gradient(circle at 92% 66%, rgb(47 107 84 / 24%), transparent 34rem),
			var(--aima-color-ink);
		color: rgb(255 255 255 / 86%);
	}

	.aima-village-engine::before {
		position: absolute;
		inset: 0;
		background-image:
			linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
			linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
		background-size: 4rem 4rem;
		content: "";
		mask-image: linear-gradient(to bottom, black, transparent 72%);
		pointer-events: none;
	}

	.aima-village-engine > * {
		position: relative;
	}

	.aima-village-engine .aima-home-section__heading > p:last-child {
		color: rgb(255 255 255 / 84%);
	}

	.aima-industry-flow {
		display: grid;
		max-width: var(--aima-wide-width);
		gap: 0;
		padding: 0;
		margin-inline: auto;
		margin-block: 0;
		border-block: 1px solid rgb(255 255 255 / 15%);
		list-style: none;
	}

	.aima-industry-flow li {
		position: relative;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0.25rem 1rem;
		padding: 1.5rem 0;
		border-block-end: 1px solid rgb(255 255 255 / 10%);
	}

	.aima-industry-flow li:last-child {
		border-block-end: 0;
	}

	.aima-industry-flow__number {
		grid-row: 1 / 4;
		align-self: start;
		color: rgb(217 191 145 / 78%);
		font-family: var(--aima-font-serif);
		font-size: 2.5rem;
		line-height: 1;
	}

	.aima-industry-flow small {
		color: var(--aima-color-brass);
		font-size: 0.625rem;
		font-weight: 800;
		letter-spacing: 0.16em;
	}

	.aima-industry-flow strong {
		color: #fff;
		font-family: var(--aima-font-serif);
		font-size: 1.5rem;
		font-weight: 600;
	}

	.aima-industry-flow p {
		margin-block: 0;
		color: rgb(255 255 255 / 80%);
		font-size: 0.8125rem;
		line-height: 1.75;
	}

	.aima-village-engine__privacy {
		max-width: 54rem;
		padding: clamp(1.5rem, 4vw, 2.5rem);
		margin: clamp(2rem, 5vw, 4rem) auto 0;
		border: 1px solid rgb(217 191 145 / 32%);
		background: rgb(255 255 255 / 6%);
		text-align: center;
	}

	.aima-village-engine__privacy h3 {
		margin-block: 0 0.75rem;
		color: #fff;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.25rem, 3vw, 1.75rem);
		line-height: 1.6;
	}

	.aima-village-engine__privacy p {
		margin: 0;
		color: rgb(255 255 255 / 86%);
		line-height: 1.9;
	}

	.aima-home-lessons {
		background: var(--aima-color-background);
	}

	.aima-home-lessons__grid {
		display: grid;
		max-width: var(--aima-wide-width);
		gap: 1rem;
		margin-inline: auto;
	}

	.aima-home-lesson-card {
		position: relative;
		min-height: 15rem;
		padding: clamp(1.5rem, 4vw, 2.25rem);
		border: 1px solid var(--aima-color-border);
		background: var(--aima-color-surface);
	}

	.aima-home-lesson-card > span {
		display: block;
		margin-block-end: 2rem;
		color: var(--aima-color-primary);
		font-family: var(--aima-font-serif);
		font-size: 2.25rem;
		line-height: 1;
		opacity: 0.46;
	}

	.aima-home-lesson-card h3 {
		margin-block: 0 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: 1.25rem;
		line-height: 1.55;
	}

	.aima-home-lesson-card p {
		margin: 0;
		color: var(--aima-color-text-muted);
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.aima-home-section__actions {
		display: flex;
		justify-content: center;
		margin-block-start: 2.5rem;
	}

	.aima-village-projects {
		max-width: var(--aima-wide-width);
		margin-inline: auto;
		margin-block-start: clamp(4rem, 8vw, 7rem);
	}

	.aima-village-projects__header {
		display: flex;
		align-items: end;
		justify-content: space-between;
		gap: 1.5rem;
		margin-block-end: 2rem;
	}

	.aima-village-projects__header h3 {
		margin-block-end: 0;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.75rem, 3.5vw, 2.5rem);
		font-weight: 600;
	}

	.aima-village-projects__header > p {
		max-width: 24rem;
		margin-block-end: 0;
		color: rgb(255 255 255 / 52%);
		font-size: 0.75rem;
		line-height: 1.7;
		text-align: right;
	}

	.aima-village-projects__grid {
		display: grid;
		gap: 1px;
		margin-block-end: 2rem;
		overflow: hidden;
		border: 1px solid rgb(255 255 255 / 14%);
		background: rgb(255 255 255 / 14%);
	}

	.aima-village-project {
		display: flex;
		min-height: 20rem;
		flex-direction: column;
		padding: clamp(1.5rem, 4vw, 2.25rem);
		background: rgb(255 255 255 / 5%);
		transition: background-color 180ms ease;
	}

	.aima-village-project:hover {
		background: rgb(255 255 255 / 9%);
	}

	.aima-village-project__meta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin-block-end: 3rem;
		color: rgb(255 255 255 / 46%);
		font-size: 0.5625rem;
		font-weight: 800;
		letter-spacing: 0.12em;
	}

	.aima-village-project__meta strong {
		padding: 0.35rem 0.65rem;
		border: 1px solid rgb(185 152 98 / 50%);
		border-radius: 999px;
		color: #e1c89c;
		font-size: 0.625rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}

	.aima-village-project h4 {
		margin-block: 0 1rem;
		color: #fff;
		font-family: var(--aima-font-serif);
		font-size: 1.375rem;
		font-weight: 600;
		line-height: 1.55;
	}

	.aima-village-project > p {
		margin-block-end: 2rem;
		color: rgb(255 255 255 / 65%);
		font-size: 0.875rem;
		line-height: 1.85;
	}

	.aima-village-project > small {
		padding-block-start: 1rem;
		margin-block-start: auto;
		border-block-start: 1px solid rgb(255 255 255 / 12%);
		color: rgb(255 255 255 / 48%);
		font-size: 0.6875rem;
	}

	.aima-button--outline-light {
		min-height: 3.25rem;
		padding-inline: 1.5rem;
		border-color: rgb(255 255 255 / 42%);
		border-radius: 999px;
		color: #fff;
	}

	.aima-button--outline-light:hover {
		border-color: #fff;
		background: #fff;
		color: var(--aima-color-ink);
	}

	.aima-latest {
		background: var(--aima-color-background);
	}

	.aima-latest__header {
		display: flex;
		max-width: var(--aima-wide-width);
		align-items: end;
		justify-content: space-between;
		gap: 2rem;
		margin-inline: auto;
		margin-block-end: clamp(2.5rem, 5vw, 4rem);
	}

	.aima-latest__header h2 {
		margin-block-end: 0;
	}

	.aima-content-grid {
		display: grid;
		max-width: var(--aima-wide-width);
		gap: 1.5rem;
		margin-inline: auto;
	}

	.aima-content-card {
		min-width: 0;
		border: 1px solid var(--aima-color-border);
		background: var(--aima-color-surface);
		transition:
			box-shadow 180ms ease,
			transform 180ms ease;
	}

	.aima-content-card:hover {
		box-shadow: var(--aima-shadow-md);
		transform: translateY(-0.35rem);
	}

	.aima-content-card__link {
		display: flex;
		height: 100%;
		flex-direction: column;
		color: inherit;
		text-decoration: none;
	}

	.aima-content-card__visual {
		position: relative;
		display: flex;
		min-height: 12rem;
		flex-direction: column;
		justify-content: space-between;
		padding: 1.25rem;
		overflow: hidden;
		background: var(--aima-color-ink);
		color: #fff;
	}

	.aima-content-card__visual::before,
	.aima-content-card__visual::after {
		position: absolute;
		border: 1px solid rgb(255 255 255 / 18%);
		border-radius: 50%;
		content: "";
	}

	.aima-content-card__visual::before {
		width: 14rem;
		height: 14rem;
		inset-block-end: -8rem;
		inset-inline-end: -3rem;
	}

	.aima-content-card__visual::after {
		width: 8rem;
		height: 8rem;
		inset-block-start: -3rem;
		inset-inline-start: -2rem;
	}

	.aima-content-card__visual--2 {
		background: #5c685d;
	}

	.aima-content-card__visual--3 {
		background: #765f47;
	}

	.aima-content-card__visual > span {
		position: relative;
		z-index: 1;
		align-self: flex-end;
		font-family: var(--aima-font-serif);
		font-size: 3.5rem;
		line-height: 1;
		opacity: 0.62;
	}

	.aima-content-card__visual small {
		position: relative;
		z-index: 1;
		font-size: 0.625rem;
		font-weight: 800;
		letter-spacing: 0.18em;
	}

	.aima-content-card__body {
		display: flex;
		flex: 1;
		flex-direction: column;
		padding: 1.5rem;
	}

	.aima-content-card__body h3 {
		margin-block-end: 1rem;
		font-family: var(--aima-font-serif);
		font-size: 1.25rem;
	}

	.aima-content-card__body > p:not(.aima-content-card__type) {
		margin-block-end: 1.5rem;
		color: var(--aima-color-text-muted);
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.aima-content-card__more {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-block-start: 1rem;
		margin-block-start: auto;
		border-block-start: 1px solid var(--aima-color-border);
		color: var(--aima-color-primary);
		font-size: 0.8125rem;
		font-weight: 800;
	}

	.aima-home-cta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 2.5rem;
		padding: clamp(3.5rem, 7vw, 6rem) max(1.25rem, calc((100% - var(--aima-wide-width)) / 2));
		background:
			radial-gradient(circle at 82% 18%, rgb(185 152 98 / 18%), transparent 26rem),
			linear-gradient(110deg, var(--aima-color-ink), var(--aima-color-forest));
		color: rgb(255 255 255 / 90%);
	}

	.aima-home-cta > div {
		max-width: 46rem;
	}

	.aima-home-cta h2 {
		margin-block-end: 1rem;
		color: #fff;
	}

	.aima-home-cta p:last-child {
		margin-block-end: 0;
	}

	.aima-button--light {
		flex-shrink: 0;
		min-width: 12rem;
		min-height: 3.25rem;
		padding-inline: 1.75rem;
		border-radius: 999px;
		background: #fff;
		color: var(--aima-color-ink);
	}

	.aima-button--light:hover {
		background: #f4e4c7;
		color: var(--aima-color-ink);
	}
}

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

@media (min-width: 600px) {
	.aima-site-main {
		width: min(calc(100% - 3rem), var(--aima-wide-width));
		padding-block: 4rem;
	}

	.aima-site-header__inner,
	.aima-site-footer__inner {
		width: min(calc(100% - 3rem), var(--aima-wide-width));
	}

	.aima-cycle__grid,
	.aima-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-home-lessons__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-cycle-card:last-child {
		grid-column: 1 / -1;
	}

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

	.aima-content-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.aima-village-projects__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-village-project:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@media (min-width: 960px) {
	.aima-site-shell--member {
		display: grid;
		grid-template-columns: var(--aima-member-sidebar-width) minmax(0, 1fr);
	}

	.aima-site-shell--member .aima-site-frame {
		padding-block-end: 0;
	}

	.aima-site-shell--member .aima-site-header__inner,
	.aima-site-shell--member .aima-site-footer__inner {
		width: min(calc(100% - 4rem), var(--aima-wide-width));
	}

	.aima-member-sidebar {
		position: sticky;
		inset-block-start: 0;
		display: flex;
		height: 100vh;
		flex-direction: column;
		align-self: start;
		padding-block: 1.5rem;
		padding-inline-start: calc(1.5rem + env(safe-area-inset-left, 0px));
		padding-inline-end: 1.5rem;
		border-inline-end: 1px solid var(--aima-color-border);
		background: var(--aima-color-surface);
	}

	body.admin-bar .aima-member-sidebar {
		position: static;
		height: auto;
		min-height: 100vh;
	}

	.aima-brand--sidebar {
		padding: 0.75rem;
		margin-block-end: 1.5rem;
	}

	.aima-brand--member-header {
		visibility: hidden;
	}

	.aima-member-nav--desktop {
		display: block;
	}

	.aima-member-nav--desktop .aima-member-nav__list {
		display: grid;
		gap: 0.25rem;
	}

	.aima-member-nav--desktop .aima-member-nav__link {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
		padding: 0.625rem 0.75rem;
		border-radius: var(--aima-radius-md);
		color: var(--aima-color-text);
		font-size: 0.9375rem;
		font-weight: 600;
		text-decoration: none;
	}

	.aima-member-nav--desktop .aima-member-nav__link:hover {
		background: var(--wp--preset--color--surface-muted);
		color: var(--aima-color-primary);
	}

	.aima-member-nav--desktop .aima-member-nav__link.is-current {
		background: var(--aima-color-primary);
		color: var(--aima-color-surface);
	}

	.aima-member-sidebar__utility {
		display: grid;
		gap: 0.25rem;
		margin-block-start: auto;
		padding-block-start: 1.5rem;
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-member-sidebar__utility a {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
		padding-inline: 0.75rem;
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
		font-weight: 600;
		text-decoration: none;
	}

	.aima-member-sidebar__utility a:hover {
		color: var(--aima-color-primary);
	}

	.aima-member-nav--mobile {
		display: none;
	}

	.aima-account-nav--with-feedback a.aima-account-nav__public-link {
		display: inline-flex;
	}

	.aima-global-nav--desktop {
		display: block;
		margin-inline-start: auto;
	}

	.aima-global-nav--desktop .aima-global-nav__list {
		display: flex;
		align-items: center;
		gap: clamp(1rem, 2vw, 1.75rem);
	}

	.aima-global-nav--desktop .aima-global-nav__link {
		position: relative;
	}

	.aima-global-nav--desktop .aima-global-nav__link::after {
		position: absolute;
		inset-block-end: 0.35rem;
		inset-inline: 0;
		height: 2px;
		background: var(--aima-color-primary);
		content: "";
		opacity: 0;
		transform: scaleX(0.5);
		transition:
			opacity 160ms ease,
			transform 160ms ease;
	}

	.aima-global-nav--desktop .aima-global-nav__link:hover::after,
	.aima-global-nav--desktop .aima-global-nav__link.is-current::after {
		opacity: 1;
		transform: scaleX(1);
	}

	.aima-auth-actions {
		display: flex;
		align-items: center;
		gap: 1rem;
	}

	.aima-auth-actions__login {
		display: inline-flex;
		min-height: 2.75rem;
		align-items: center;
		padding-inline: 0.875rem;
		border: 1px solid var(--aima-color-primary);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
		color: var(--aima-color-primary);
		font-size: 0.875rem;
		font-weight: 700;
		text-decoration: none;
	}

	.aima-auth-actions__login:hover,
	.aima-auth-actions__login:focus-visible {
		background: var(--aima-color-mist);
		color: var(--aima-color-primary-hover);
	}

	.aima-mobile-menu {
		display: none;
	}

	.aima-site-footer__inner {
		grid-template-columns: minmax(15rem, 1fr) minmax(18rem, auto);
		align-items: start;
	}

	.aima-site-footer__copyright {
		grid-column: 1 / -1;
	}

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

	.aima-home-hero__facts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.aima-home-lessons__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.aima-cycle-card:last-child {
		grid-column: auto;
	}

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

	.aima-content-card:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.aima-industry-flow {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.aima-industry-flow--four {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.aima-industry-flow li {
		display: block;
		min-height: 18rem;
		padding: 2rem 1.25rem;
		border-block-end: 0;
		border-inline-end: 1px solid rgb(255 255 255 / 12%);
	}

	.aima-industry-flow li:last-child {
		border-inline-end: 0;
	}

	.aima-industry-flow li:not(:last-child)::after {
		position: absolute;
		z-index: 1;
		inset-block-start: 2.5rem;
		inset-inline-end: -0.55rem;
		display: grid;
		width: 1.1rem;
		height: 1.1rem;
		place-items: center;
		border: 1px solid rgb(185 152 98 / 50%);
		border-radius: 50%;
		background: var(--aima-color-ink);
		color: var(--aima-color-brass);
		content: "›";
		font-size: 0.75rem;
	}

	.aima-industry-flow__number {
		display: block;
		margin-block-end: 3.5rem;
	}

	.aima-industry-flow small,
	.aima-industry-flow strong {
		display: block;
	}

	.aima-industry-flow strong {
		margin-block: 0.4rem 1rem;
	}

	.aima-village-projects__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.aima-village-project:last-child:nth-child(odd) {
		grid-column: auto;
	}
}

@media (max-width: 599px) {
	.aima-home-hero {
		min-height: 38rem;
		background-position: 62% center;
	}

	.aima-home-hero__inner {
		padding-block: 5rem 7rem;
		text-align: left;
	}

	.aima-home-hero h1,
	.aima-home-hero__lead {
		margin-inline: 0;
	}

	.aima-home-hero h1 {
		font-size: clamp(2.15rem, 10vw, 3rem);
	}

	.aima-home-hero__actions {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.aima-home-hero__scroll {
		inset-inline-end: 0.75rem;
	}

	.aima-home-section__heading {
		text-align: left;
	}

	.aima-latest__header,
	.aima-home-cta,
	.aima-village-projects__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.aima-village-projects__header > p {
		text-align: left;
	}

	.aima-latest__all {
		align-self: flex-end;
	}

	.aima-button--light {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aima-has-js .aima-mobile-menu__backdrop,
	.aima-has-js .aima-mobile-menu__panel,
	.aima-global-nav--desktop .aima-global-nav__link::after {
		transition: none;
	}
}

/*
 * WordPress emits global styles outside CSS layers. Keep these homepage
 * presentation rules unlayered so the intended full-bleed and dark-section
 * contrast remain stable regardless of generated global-style order.
 */
.aima-site-main.aima-home {
	width: 100%;
	max-width: none;
	padding: 0;
}

.aima-home-hero h1,
.aima-home-cta h2,
.aima-product-card--village h3,
.aima-village-engine h2,
.aima-village-engine__privacy h3,
.aima-village-projects__header h3,
.aima-village-project h4 {
	color: #fff;
}

.aima-home .aima-button--primary,
.aima-home .aima-button--primary:visited,
.aima-home .aima-button--primary:hover {
	color: #fff;
}

.aima-home-hero .aima-text-link--light,
.aima-product-card--village .aima-text-link {
	color: #fff;
}

.aima-home-hero .aima-text-link--light:hover,
.aima-product-card--village .aima-text-link:hover {
	color: #f4e4c7;
}

.aima-home-hero .aima-button--hero {
	color: var(--aima-color-ink);
}

.aima-village-engine .aima-button--outline-light {
	color: #fff;
}

.aima-village-engine .aima-button--outline-light:hover {
	color: var(--aima-color-ink);
}

.aima-home-hero__scroll {
	right: 1.5rem;
	bottom: 1.5rem;
	inset-block-end: auto;
	inset-inline-end: auto;
}

@media (max-width: 599px) {
	.aima-home-hero__scroll {
		right: 0.75rem;
	}
}

/*
 * Journal articles intentionally live outside the member application shell.
 * These unlayered rules also take precedence over WordPress generated global
 * styles, keeping the article experience consistent with the homepage.
 */
.aima-site-main.aima-journal-single {
	width: 100%;
	max-width: none;
	padding: 0;
	background: var(--aima-color-background);
}

.aima-auth-actions .aima-button--primary,
.aima-mobile-menu__auth .aima-button--primary {
	color: #fff;
}

.aima-auth-actions .aima-auth-actions__login,
.aima-auth-actions .aima-auth-actions__login:visited,
.aima-mobile-menu__auth > a:not(.aima-button),
.aima-mobile-menu__auth > a:not(.aima-button):visited {
	color: var(--aima-color-primary);
}

.aima-auth-actions .aima-button--primary:hover,
.aima-mobile-menu__auth .aima-button--primary:hover {
	color: #fff;
}

.aima-auth-actions .aima-auth-actions__login:hover,
.aima-auth-actions .aima-auth-actions__login:focus-visible,
.aima-mobile-menu__auth > a:not(.aima-button):hover,
.aima-mobile-menu__auth > a:not(.aima-button):focus-visible {
	color: var(--aima-color-primary-hover);
}

.aima-journal-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 22%, rgb(185 152 98 / 18%), transparent 25rem),
		linear-gradient(118deg, #10251e 0%, #183d31 62%, #234d3e 100%);
	color: rgb(255 255 255 / 78%);
}

.aima-journal-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
	background-size: 4rem 4rem;
	content: "";
	mask-image: linear-gradient(to right, transparent, #000 50%, #000);
}

.aima-journal-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(calc(100% - 2rem), var(--aima-wide-width));
	min-height: clamp(31rem, 66vh, 43rem);
	align-items: center;
	gap: clamp(2rem, 7vw, 7rem);
	margin-inline: auto;
	padding-block: clamp(4.5rem, 9vw, 8rem);
}

.aima-journal-hero__copy {
	max-width: 51rem;
}

.aima-journal-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-block-end: clamp(3rem, 8vw, 6rem);
	color: rgb(255 255 255 / 54%);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.aima-journal-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.aima-journal-breadcrumb a:hover {
	color: #fff;
}

.aima-journal-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin-block-end: 1.5rem;
	color: #f0d5aa;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.aima-journal-hero__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
}

.aima-journal-hero__meta span::before {
	width: 1.75rem;
	height: 1px;
	background: currentcolor;
	content: "";
}

.aima-journal-hero h1 {
	max-width: 52rem;
	margin-block-end: 1.5rem;
	color: #fff;
	font-family: var(--aima-font-serif);
	font-size: clamp(2.35rem, 6vw, 4.75rem);
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.25;
}

.aima-journal-hero__copy > p {
	max-width: 43rem;
	margin-block-end: 0;
	color: rgb(255 255 255 / 74%);
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 2;
}

.aima-journal-hero__visual {
	position: relative;
	display: none;
	min-height: 24rem;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 2rem;
	border: 1px solid rgb(255 255 255 / 14%);
}

.aima-journal-hero__visual::before {
	position: absolute;
	inset: 1rem;
	border: 1px solid rgb(255 255 255 / 8%);
	content: "";
}

.aima-journal-hero__visual-label {
	position: absolute;
	inset-block-start: 2rem;
	inset-inline-start: 2rem;
	color: #f0d5aa;
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-journal-hero__visual > p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #fff;
	font-family: var(--aima-font-serif);
	font-size: clamp(2.5rem, 4vw, 4rem);
	letter-spacing: 0.08em;
	line-height: 0.9;
	text-align: end;
}

.aima-journal-hero__rings,
.aima-journal-hero__rings i {
	position: absolute;
	border: 1px solid rgb(240 213 170 / 26%);
	border-radius: 50%;
}

.aima-journal-hero__rings {
	width: 15rem;
	height: 15rem;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
}

.aima-journal-hero__rings i {
	inset: 1.8rem;
}

.aima-journal-hero__rings i:nth-child(2) {
	inset: 3.6rem;
}

.aima-journal-hero__rings i:nth-child(3) {
	inset: 5.4rem;
	background: rgb(185 152 98 / 28%);
}

.aima-journal-layout {
	display: grid;
	width: min(calc(100% - 2rem), 68rem);
	gap: clamp(2rem, 6vw, 5rem);
	margin-inline: auto;
	padding-block: clamp(4rem, 9vw, 8rem);
}

.aima-journal-article {
	min-width: 0;
}

.aima-journal-content {
	counter-reset: aima-journal-section;
	color: #352f2a;
	font-size: clamp(1rem, 1.6vw, 1.0625rem);
	line-height: 2;
}

.aima-journal-content > p:first-child {
	margin-block-end: clamp(3rem, 6vw, 5rem);
	color: var(--aima-color-text);
	font-family: var(--aima-font-serif);
	font-size: clamp(1.25rem, 3vw, 1.625rem);
	font-weight: 600;
	line-height: 1.9;
}

.aima-journal-content > h2 {
	position: relative;
	padding-block-start: 4rem;
	margin-block: clamp(4rem, 8vw, 6rem) 1.75rem;
	border-block-start: 1px solid var(--aima-color-border-strong);
	counter-increment: aima-journal-section;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.75rem, 4vw, 2.35rem);
	font-weight: 600;
	line-height: 1.45;
}

.aima-journal-content > h2::before {
	position: absolute;
	inset-block-start: 1.25rem;
	inset-inline-start: 0;
	color: var(--aima-color-primary);
	content: "0" counter(aima-journal-section);
	font-family: var(--aima-font-sans);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-journal-content > p {
	margin-block-end: 1.75rem;
}

.aima-journal-content > ul,
.aima-journal-content > ol {
	display: grid;
	gap: 0.9rem;
	padding: clamp(1.5rem, 4vw, 2.25rem) clamp(1.5rem, 4vw, 2.5rem);
	margin-block: 2.5rem 3.5rem;
	border-inline-start: 3px solid var(--aima-color-primary);
	background: var(--aima-color-mist);
	list-style-position: outside;
}

.aima-journal-content > ul li::marker,
.aima-journal-content > ol li::marker {
	color: var(--aima-color-primary);
	font-weight: 800;
}

.aima-journal-content small {
	display: block;
	padding-block-start: 1.5rem;
	margin-block-start: 4rem;
	border-block-start: 1px solid var(--aima-color-border);
	color: var(--aima-color-text-muted);
	font-size: 0.75rem;
	line-height: 1.8;
}

.aima-journal-article__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block-start: 2rem;
	margin-block-start: 4rem;
	border-block-start: 1px solid var(--aima-color-border);
}

.aima-journal-article__footer p {
	margin: 0;
	font-family: var(--aima-font-serif);
	font-size: 1.125rem;
	font-weight: 600;
}

.aima-journal-guide {
	align-self: start;
	padding: 2rem;
	border: 1px solid var(--aima-color-border);
	background: var(--aima-color-surface);
	box-shadow: var(--aima-shadow-sm);
}

.aima-journal-guide h2 {
	margin-block-end: 1.5rem;
	font-family: var(--aima-font-serif);
	font-size: 1.35rem;
}

.aima-journal-guide ol {
	padding: 0;
	margin: 0 0 1.75rem;
	list-style: none;
}

.aima-journal-guide li {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-block: 0.8rem;
	border-block-end: 1px solid var(--aima-color-border);
	font-weight: 700;
}

.aima-journal-guide li span {
	color: var(--aima-color-primary);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
}

.aima-journal-guide > p:last-child {
	margin: 0;
	color: var(--aima-color-text-muted);
	font-size: 0.8125rem;
	line-height: 1.8;
}

.aima-journal-cta {
	padding: clamp(4rem, 8vw, 7rem) max(1rem, calc((100% - var(--aima-wide-width)) / 2));
	background: #e9eeeb;
}

.aima-journal-cta__heading {
	max-width: var(--aima-wide-width);
	margin-inline: auto;
	margin-block-end: 2.5rem;
}

.aima-journal-cta__heading h2 {
	margin: 0;
	font-family: var(--aima-font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
}

.aima-journal-cta__grid {
	display: grid;
	max-width: var(--aima-wide-width);
	gap: 1rem;
	margin-inline: auto;
}

.aima-journal-cta__grid article {
	display: flex;
	min-height: 21rem;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(2rem, 5vw, 3.5rem);
	border: 1px solid var(--aima-color-border);
	background: var(--aima-color-surface);
}

.aima-journal-cta__grid small {
	margin-block-end: 3rem;
	color: var(--aima-color-primary);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-journal-cta__grid h3 {
	margin-block-end: 1rem;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.aima-journal-cta__grid p {
	max-width: 30rem;
	color: var(--aima-color-text-muted);
	line-height: 1.8;
}

.aima-journal-cta__grid .aima-text-link {
	margin-block-start: auto;
}

.aima-journal-cta__grid .aima-journal-cta__village {
	border-color: transparent;
	background:
		radial-gradient(circle at 85% 15%, rgb(185 152 98 / 24%), transparent 13rem),
		var(--aima-color-ink);
	color: rgb(255 255 255 / 76%);
}

.aima-journal-cta__village h3 {
	color: #fff;
}

.aima-journal-cta__village p {
	color: rgb(255 255 255 / 70%);
}

.aima-journal-cta__village small,
.aima-journal-cta__village .aima-text-link {
	color: #f0d5aa;
}

.aima-journal-related {
	padding: clamp(4rem, 8vw, 7rem) max(1rem, calc((100% - var(--aima-wide-width)) / 2));
	background: var(--aima-color-background);
}

.aima-journal-related__heading {
	max-width: var(--aima-wide-width);
	margin-inline: auto;
	margin-block-end: 2.5rem;
}

.aima-journal-related__heading h2 {
	margin: 0;
	font-family: var(--aima-font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
}

.aima-journal-related__grid {
	display: grid;
	max-width: var(--aima-wide-width);
	gap: 1rem;
	margin-inline: auto;
}

.aima-journal-related-card {
	border: 1px solid var(--aima-color-border);
	background: var(--aima-color-surface);
	transition:
		box-shadow 180ms ease,
		transform 180ms ease;
}

.aima-journal-related-card:hover {
	box-shadow: var(--aima-shadow-md);
	transform: translateY(-0.25rem);
}

.aima-journal-related-card > a {
	display: grid;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.aima-journal-related-card__number {
	display: flex;
	min-height: 10rem;
	align-items: flex-end;
	justify-content: space-between;
	padding: 1.5rem;
	overflow: hidden;
	background:
		radial-gradient(circle at 80% 20%, rgb(185 152 98 / 22%), transparent 10rem),
		var(--aima-color-forest);
	color: #fff;
}

.aima-journal-related-card__number span {
	font-family: var(--aima-font-serif);
	font-size: 3.5rem;
	line-height: 1;
	opacity: 0.65;
}

.aima-journal-related-card__number small {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-journal-related-card > a > div:last-child {
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
}

.aima-journal-related-card h3 {
	margin-block-end: 1rem;
	font-family: var(--aima-font-serif);
	font-size: 1.35rem;
}

.aima-journal-related-card p {
	color: var(--aima-color-text-muted);
	font-size: 0.875rem;
	line-height: 1.8;
}

.aima-journal-related-card strong {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block-start: 1rem;
	margin-block-start: auto;
	border-block-start: 1px solid var(--aima-color-border);
	color: var(--aima-color-primary);
	font-size: 0.8125rem;
}

@media (min-width: 700px) {
	.aima-journal-hero__inner {
		width: min(calc(100% - 3rem), var(--aima-wide-width));
	}

	.aima-journal-cta__grid,
	.aima-journal-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-journal-related-card > a {
		grid-template-columns: minmax(10rem, 0.72fr) minmax(0, 1.28fr);
	}
}

@media (min-width: 960px) {
	.aima-journal-hero__inner {
		grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.5fr);
	}

	.aima-journal-hero__visual {
		display: flex;
	}

	.aima-journal-layout {
		grid-template-columns: minmax(0, 46rem) minmax(15rem, 18rem);
	}

	.aima-journal-guide {
		position: sticky;
		inset-block-start: calc(var(--aima-header-height) + 2rem);
	}
}

@media (max-width: 699px) {
	.aima-journal-breadcrumb {
		margin-block-end: 3.5rem;
	}

	.aima-journal-hero__inner {
		min-height: 34rem;
	}

	.aima-journal-content > h2 {
		padding-block-start: 3.5rem;
	}

	.aima-journal-article__footer {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* V-3: member learning journey. */
@layer components {
	.aima-learning-hub,
	.aima-course-single {
		padding-block: clamp(2.5rem, 6vw, 5rem);
	}

	.aima-learning-hero,
	.aima-course-hero,
	.aima-next-lesson,
	.aima-learning-courses,
	.aima-lesson-list {
		width: min(100%, 64rem);
		margin-inline: auto;
	}

	.aima-learning-hero {
		position: relative;
		padding: clamp(2rem, 6vw, 4.5rem);
		overflow: hidden;
		border-radius: var(--aima-radius-lg);
		background:
			radial-gradient(circle at 87% 18%, rgb(185 152 98 / 30%) 0 0.25rem, transparent 0.3rem),
			radial-gradient(circle at 88% 20%, transparent 0 4rem, rgb(255 255 255 / 14%) 4.05rem 4.1rem, transparent 4.15rem),
			radial-gradient(circle at 88% 20%, transparent 0 7rem, rgb(255 255 255 / 9%) 7.05rem 7.1rem, transparent 7.15rem),
			linear-gradient(135deg, var(--aima-color-ink), var(--aima-color-forest));
		color: rgb(255 255 255 / 75%);
		box-shadow: var(--aima-shadow-md);
	}

	.aima-learning-hero::after {
		position: absolute;
		inset-block-end: -3.5rem;
		inset-inline-end: -1.25rem;
		width: 12rem;
		height: 12rem;
		border: 1px solid rgb(255 255 255 / 14%);
		border-radius: 50%;
		content: "";
	}

	.aima-learning-hero h1,
	.aima-course-hero h1,
	.aima-lesson-hero h1 {
		font-family: var(--aima-font-serif);
	}

	.aima-learning-hero h1 {
		position: relative;
		z-index: 1;
		margin-block-end: 1rem;
		color: #fff;
		font-size: clamp(2.5rem, 7vw, 4.75rem);
		font-weight: 600;
	}

	.aima-learning-hero > p:last-child {
		position: relative;
		z-index: 1;
		max-width: 37rem;
		margin: 0;
		font-size: clamp(0.9375rem, 2vw, 1.0625rem);
		line-height: 2;
	}

	.aima-learning-hero .aima-eyebrow,
	.aima-next-lesson .aima-eyebrow {
		color: #e8cda2;
	}

	.aima-next-lesson {
		display: grid;
		gap: 1.5rem;
		margin-block-start: 1rem;
		padding: clamp(1.5rem, 4vw, 2.25rem);
		border: 1px solid color-mix(in srgb, var(--aima-color-brass) 45%, var(--aima-color-border));
		border-radius: var(--aima-radius-lg);
		background: #f9f6f0;
	}

	.aima-next-lesson h2 {
		margin-block-end: 0.5rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.4rem, 3vw, 2rem);
	}

	.aima-next-lesson p:not(.aima-eyebrow) {
		margin: 0;
		color: var(--aima-color-text-muted);
		line-height: 1.8;
	}

	.aima-next-lesson .aima-button {
		align-self: center;
		justify-self: start;
	}

	.aima-learning-courses,
	.aima-lesson-list {
		padding-block-start: clamp(3.5rem, 8vw, 6rem);
	}

	.aima-learning-section-heading {
		margin-block-end: 2rem;
	}

	.aima-learning-section-heading h2 {
		margin: 0;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.75rem, 4vw, 2.75rem);
	}

	.aima-course-grid {
		display: grid;
		gap: 1rem;
	}

	.aima-course-card {
		display: grid;
		grid-template-columns: 3.25rem minmax(0, 1fr);
		gap: clamp(1rem, 3vw, 2rem);
		padding: clamp(1.5rem, 4vw, 2.5rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-sm);
	}

	.aima-course-card__number {
		color: var(--aima-color-brass);
		font-family: var(--aima-font-serif);
		font-size: 1.5rem;
	}

	.aima-course-card h3 {
		margin-block: 1.25rem 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.35rem, 3vw, 1.75rem);
	}

	.aima-course-card p:not(.aima-course-card__progress-label) {
		color: var(--aima-color-text-muted);
		line-height: 1.8;
	}

	.aima-course-card__progress-label {
		margin-block-end: 0.4rem;
		color: var(--aima-color-primary);
		font-size: 0.75rem;
		font-weight: 800;
	}

	.aima-course-card progress,
	.aima-progress-panel progress {
		width: 100%;
		height: 0.4rem;
		border: 0;
		border-radius: 999px;
		overflow: hidden;
		background: var(--aima-color-mist);
	}

	.aima-course-card progress::-webkit-progress-bar,
	.aima-progress-panel progress::-webkit-progress-bar {
		background: var(--aima-color-mist);
	}

	.aima-course-card progress::-webkit-progress-value,
	.aima-progress-panel progress::-webkit-progress-value {
		background: var(--aima-color-primary);
	}

	.aima-course-card progress::-moz-progress-bar,
	.aima-progress-panel progress::-moz-progress-bar {
		background: var(--aima-color-primary);
	}

	.aima-learning-empty {
		width: min(100%, var(--aima-content-width));
		padding: clamp(1.5rem, 4vw, 2.25rem);
		border: 1px dashed var(--aima-color-border-strong);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
	}

	.aima-learning-empty > :last-child {
		margin-block-end: 0;
	}

	.aima-learning-breadcrumb {
		display: flex;
		width: min(100%, 64rem);
		flex-wrap: wrap;
		gap: 0.5rem;
		margin-inline: auto;
		margin-block-end: 2rem;
		color: var(--aima-color-text-muted);
		font-size: 0.75rem;
	}

	.aima-learning-breadcrumb a {
		color: inherit;
	}

	.aima-course-hero {
		display: grid;
		gap: 2rem;
		padding: clamp(1.5rem, 5vw, 3.5rem);
		border-radius: var(--aima-radius-lg);
		background:
			linear-gradient(120deg, rgb(24 61 49 / 96%), rgb(19 37 31 / 96%)),
			var(--aima-color-ink);
		color: rgb(255 255 255 / 74%);
	}

	.aima-course-hero h1 {
		margin-block-end: 1.25rem;
		color: #fff;
		font-size: clamp(2rem, 5vw, 3.5rem);
	}

	.aima-course-hero__content {
		max-width: 42rem;
		line-height: 1.9;
	}

	.aima-course-hero__content > :last-child {
		margin-block-end: 0;
	}

	.aima-progress-panel {
		display: grid;
		align-self: end;
		gap: 0.65rem;
		padding: 1.25rem;
		border: 1px solid rgb(255 255 255 / 16%);
		border-radius: var(--aima-radius-md);
		background: rgb(255 255 255 / 7%);
	}

	.aima-progress-panel strong {
		color: #fff;
		font-size: 1.25rem;
	}

	.aima-progress-panel span {
		font-size: 0.75rem;
	}

	.aima-progress-panel__help {
		padding-block-start: 0.75rem;
		border-block-start: 1px solid rgb(255 255 255 / 14%);
		color: rgb(255 255 255 / 72%);
		font-size: 0.75rem;
		line-height: 1.7;
	}

	.aima-lesson-list ol,
	.aima-lesson-list ul {
		display: grid;
		gap: 0.75rem;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-bonus-list {
		margin-block-start: clamp(3rem, 7vw, 5rem);
	}

	.aima-bonus-list .aima-lesson-list__number {
		font-family: inherit;
		font-size: 0.75rem;
		font-weight: 800;
	}

	.aima-lesson-list li {
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
	}

	.aima-lesson-list li a {
		display: grid;
		grid-template-columns: 2.5rem minmax(0, 1fr) auto;
		align-items: center;
		gap: 1rem;
		min-height: 5.5rem;
		padding: 1rem 1.25rem;
		color: var(--aima-color-text);
		text-decoration: none;
	}

	.aima-lesson-list li a:hover {
		border-radius: inherit;
		background: #f6f8f6;
		color: var(--aima-color-primary);
	}

	.aima-lesson-list__number {
		color: var(--aima-color-brass);
		font-family: var(--aima-font-serif);
	}

	.aima-lesson-list__copy {
		display: grid;
		gap: 0.35rem;
		min-width: 0;
	}

	.aima-lesson-list__copy strong,
	.aima-lesson-list__copy small {
		overflow-wrap: anywhere;
	}

	.aima-lesson-list__copy small {
		color: var(--aima-color-text-muted);
		line-height: 1.6;
	}

	.aima-lesson-list__status {
		padding: 0.35rem 0.65rem;
		border-radius: 999px;
		background: var(--aima-color-mist);
		color: var(--aima-color-primary);
		font-size: 0.6875rem;
		font-weight: 800;
	}

	.aima-lesson-single {
		width: min(calc(100% - 2rem), 64rem);
		padding-block: clamp(2.5rem, 6vw, 5rem);
	}

	.aima-lesson-article {
		width: min(100%, var(--aima-content-width));
		margin-inline: auto;
	}

	.aima-lesson-hero {
		padding-block-end: clamp(2rem, 5vw, 3.5rem);
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-lesson-hero h1 {
		margin-block-end: 1rem;
		font-size: clamp(2rem, 6vw, 3.5rem);
	}

	.aima-lesson-hero__title-part {
		display: inline-block;
		white-space: nowrap;
	}

	.aima-lesson-hero > p:last-child {
		margin: 0;
		color: var(--aima-color-text-muted);
		line-height: 1.9;
	}

	.aima-lesson-content {
		padding-block: clamp(2.5rem, 6vw, 4.5rem);
		font-size: 1.0625rem;
		line-height: 2;
	}

	.aima-lesson-content h2 {
		padding-block-start: 1.75rem;
		margin-block-end: 1rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.5rem, 4vw, 2rem);
	}

	.aima-lesson-content blockquote {
		padding: 1.25rem 1.5rem;
		margin-inline: 0;
		border-inline-start: 4px solid var(--aima-color-brass);
		background: #f8f5ef;
	}

	.aima-lesson-content > :last-child {
		margin-block-end: 0;
	}

	.aima-form-notice {
		padding: 1rem 1.25rem;
		margin-block-end: 1rem;
		border-radius: var(--aima-radius-md);
		font-weight: 700;
	}

	.aima-form-notice--success {
		border: 1px solid #8ab5a2;
		background: #edf7f2;
		color: #174a36;
	}

	.aima-form-notice--error {
		border: 1px solid #c99b91;
		background: #fff3f0;
		color: #783126;
	}

	.aima-practice-record {
		padding: clamp(1.5rem, 5vw, 2.75rem);
		border: 1px solid color-mix(in srgb, var(--aima-color-brass) 45%, var(--aima-color-border));
		border-radius: var(--aima-radius-lg);
		background:
			linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(249 246 240 / 96%)),
			#f9f6f0;
	}

	.aima-practice-record h2 {
		margin-block-end: 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.6rem, 4vw, 2.25rem);
	}

	.aima-practice-record > p:not(.aima-eyebrow) {
		color: var(--aima-color-text-muted);
		line-height: 1.8;
	}

	.aima-practice-record__form {
		display: grid;
		gap: 0.75rem;
		padding-block-start: 0.5rem;
	}

	.aima-practice-record__form label {
		font-weight: 800;
	}

	.aima-practice-record__form textarea {
		width: 100%;
		min-height: 8.5rem;
		padding: 0.875rem 1rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
		color: var(--aima-color-text);
		line-height: 1.7;
		resize: vertical;
	}

	.aima-practice-record__form textarea:focus {
		border-color: var(--aima-color-primary);
	}

	.aima-practice-record__sharing {
		display: grid;
		gap: 0.75rem;
		padding: 1rem;
		margin: 0.5rem 0 0;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: color-mix(in srgb, var(--aima-color-mist) 55%, white);
	}

	.aima-practice-record__sharing legend {
		padding-inline: 0.25rem;
		font-weight: 800;
	}

	.aima-practice-record__sharing label {
		display: flex;
		align-items: start;
		gap: 0.65rem;
		font-weight: 700;
		line-height: 1.6;
		cursor: pointer;
	}

	.aima-practice-record__sharing input[type="radio"] {
		flex: 0 0 auto;
		inline-size: 1.1rem;
		block-size: 1.1rem;
		margin-block-start: 0.2rem;
		accent-color: var(--aima-color-primary);
	}

	.aima-form-help {
		margin: 0;
		color: var(--aima-color-text-muted);
		font-size: 0.75rem;
		line-height: 1.7;
	}

	.aima-practice-record__form .aima-button {
		justify-self: start;
		margin-block-start: 0.5rem;
		cursor: pointer;
	}

	.aima-lesson-navigation {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		align-items: start;
		gap: 1rem;
		padding-block-start: clamp(1.5rem, 4vw, 2.5rem);
		margin-block-start: clamp(1.5rem, 4vw, 2.5rem);
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-lesson-navigation__previous,
	.aima-lesson-navigation__next {
		display: grid;
		gap: 0.3rem;
		min-width: 0;
	}

	.aima-lesson-navigation__next {
		text-align: end;
	}

	.aima-lesson-navigation__previous span,
	.aima-lesson-navigation__next span {
		color: var(--aima-color-text-muted);
		font-size: 0.75rem;
		font-weight: 800;
	}

	.aima-lesson-navigation__previous a,
	.aima-lesson-navigation__next a {
		overflow-wrap: anywhere;
		font-weight: 800;
	}

	.aima-lesson-navigation__course {
		padding: 0.7rem 0.9rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: var(--aima-radius-md);
		color: var(--aima-color-text);
		font-size: 0.8125rem;
		font-weight: 800;
		text-align: center;
		text-decoration: none;
	}
}

@media (min-width: 700px) {
	.aima-next-lesson {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

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

	.aima-course-hero {
		grid-template-columns: minmax(0, 1fr) minmax(12rem, 16rem);
	}
}

@media (max-width: 699px) {
	.aima-course-card {
		grid-template-columns: 2rem minmax(0, 1fr);
	}

	.aima-lesson-list li a {
		grid-template-columns: 2rem minmax(0, 1fr);
	}

	.aima-lesson-list__status {
		grid-column: 2;
		justify-self: start;
	}

	.aima-learning-breadcrumb {
		overflow-wrap: anywhere;
	}

	.aima-lesson-navigation {
		grid-template-columns: 1fr 1fr;
	}

	.aima-lesson-navigation__course {
		grid-column: 1 / -1;
		grid-row: 1;
	}
}

/*
 * About, Core and Village share one editorial page system. These rules remain
 * unlayered to win over WordPress generated global styles, just as the journal
 * and homepage presentation rules do.
 */
.aima-site-main.aima-feature-page {
	width: 100%;
	max-width: none;
	padding: 0;
	background: var(--aima-color-background);
}

body.aima-public-shell {
	overflow-x: clip;
}

html {
	overflow-x: clip;
}

.aima-feature-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 26%, rgb(185 152 98 / 24%), transparent 25rem),
		linear-gradient(120deg, #10251e 0%, #183d31 62%, #234d3e 100%);
	color: rgb(255 255 255 / 76%);
}

.aima-feature-page--core .aima-feature-hero {
	background:
		radial-gradient(circle at 78% 28%, rgb(199 215 205 / 24%), transparent 25rem),
		linear-gradient(120deg, #132720 0%, #204539 62%, #2b5748 100%);
}

.aima-feature-page--village .aima-feature-hero {
	background:
		radial-gradient(circle at 78% 25%, rgb(185 152 98 / 30%), transparent 25rem),
		linear-gradient(120deg, #0d211a 0%, #14382d 56%, #214638 100%);
}

.aima-feature-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
	background-size: 4rem 4rem;
	content: "";
	mask-image: linear-gradient(to right, transparent, #000 48%, #000);
}

.aima-feature-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(calc(100% - 2rem), var(--aima-wide-width));
	min-height: clamp(33rem, 70vh, 46rem);
	align-items: center;
	gap: clamp(2rem, 7vw, 7rem);
	margin-inline: auto;
	padding-block: clamp(4.5rem, 9vw, 8rem);
}

.aima-feature-hero__copy {
	max-width: 48rem;
}

.aima-feature-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-block-end: clamp(3rem, 8vw, 6rem);
	color: rgb(255 255 255 / 50%);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.aima-feature-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.aima-feature-breadcrumb a:hover {
	color: #fff;
}

.aima-feature-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-block-end: 1.5rem;
	color: #f0d5aa;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-feature-hero__eyebrow::before {
	width: 2rem;
	height: 1px;
	background: currentcolor;
	content: "";
}

.aima-feature-hero h1 {
	max-width: 50rem;
	margin-block-end: 1.5rem;
	color: #fff;
	font-family: var(--aima-font-serif);
	font-size: clamp(3rem, 7vw, 5.5rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.18;
}

.aima-feature-hero__summary {
	max-width: 40rem;
	margin: 0;
	color: rgb(255 255 255 / 76%);
	font-family: var(--aima-font-serif);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	font-weight: 600;
	line-height: 2;
}

.aima-feature-hero__visual {
	position: relative;
	display: none;
	min-height: 27rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(255 255 255 / 14%);
}

.aima-feature-hero__visual::before {
	position: absolute;
	inset: 1rem;
	border: 1px solid rgb(255 255 255 / 7%);
	content: "";
}

.aima-feature-hero__visual-label,
.aima-feature-hero__stamp {
	position: absolute;
	z-index: 3;
	margin: 0;
	color: #f0d5aa;
	font-size: 0.5625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.aima-feature-hero__visual-label {
	inset-block-start: 2rem;
	inset-inline-start: 2rem;
}

.aima-feature-hero__stamp {
	inset-block-end: 2rem;
	inset-inline-end: 2rem;
	color: rgb(255 255 255 / 42%);
}

.aima-feature-orbit {
	position: relative;
	display: grid;
	width: min(20rem, 76%);
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid rgb(240 213 170 / 25%);
	border-radius: 50%;
}

.aima-feature-orbit::before,
.aima-feature-orbit::after,
.aima-feature-orbit > i {
	position: absolute;
	border: 1px solid rgb(240 213 170 / 18%);
	border-radius: 50%;
	content: "";
}

.aima-feature-orbit::before {
	inset: 2.25rem;
}

.aima-feature-orbit::after {
	inset: 4.5rem;
	background: rgb(185 152 98 / 12%);
}

.aima-feature-orbit > i:nth-of-type(1) {
	width: 0.55rem;
	height: 0.55rem;
	inset-block-start: 10%;
	inset-inline-start: 23%;
	background: #f0d5aa;
}

.aima-feature-orbit > i:nth-of-type(2) {
	width: 0.85rem;
	height: 0.85rem;
	inset-block-end: 16%;
	inset-inline-end: 13%;
	background: rgb(255 255 255 / 60%);
}

.aima-feature-orbit > i:nth-of-type(3) {
	width: 0.4rem;
	height: 0.4rem;
	inset-block-start: 38%;
	inset-inline-end: -0.2rem;
	background: #b99862;
}

.aima-feature-orbit strong {
	position: relative;
	z-index: 2;
	max-width: 9rem;
	color: #fff;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.6rem, 3vw, 2.6rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
}

.aima-feature-orbit__term {
	position: absolute;
	z-index: 3;
	padding: 0.4rem 0.65rem;
	border: 1px solid rgb(255 255 255 / 16%);
	background: #183d31;
	color: rgb(255 255 255 / 72%);
	font-size: 0.5rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.aima-feature-orbit__term--1 {
	inset-block-start: 15%;
	inset-inline-end: -4%;
}

.aima-feature-orbit__term--2 {
	inset-block-end: 13%;
	inset-inline-start: -4%;
}

.aima-feature-orbit__term--3 {
	inset-block-end: 2%;
	inset-inline-end: 8%;
}

.aima-feature-principles {
	position: relative;
	z-index: 2;
	margin-block-start: -1px;
	background: var(--aima-color-ink);
}

.aima-feature-principles__inner {
	display: grid;
	width: min(100%, var(--aima-wide-width));
	margin-inline: auto;
}

.aima-feature-principles article {
	min-height: 15rem;
	padding: clamp(2rem, 4vw, 3rem);
	border-block-end: 1px solid rgb(255 255 255 / 10%);
	color: rgb(255 255 255 / 68%);
}

.aima-feature-principles article:last-child {
	border-block-end: 0;
}

.aima-feature-principles__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-block-end: 3.25rem;
	color: #f0d5aa;
}

.aima-feature-principles__meta span {
	font-family: var(--aima-font-serif);
	font-size: 1.75rem;
	opacity: 0.62;
}

.aima-feature-principles__meta small {
	font-size: 0.5625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.aima-feature-principles h2 {
	margin-block-end: 0.75rem;
	color: #fff;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
}

.aima-feature-principles p {
	max-width: 22rem;
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.85;
}

.aima-feature-accent {
	position: absolute;
	z-index: 3;
	margin: 0;
	pointer-events: none;
	user-select: none;
}

.aima-feature-accent::before {
	position: absolute;
	inset: 14%;
	border-radius: 47% 53% 50% 50%;
	background: rgb(248 244 236 / 90%);
	box-shadow: 0 1rem 3rem rgb(5 25 19 / 12%);
	content: "";
	transform: rotate(-7deg);
}

.aima-feature-accent img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 0.75rem 0.9rem rgb(5 25 19 / 16%));
}

.aima-feature-accent--hero {
	inset-block-end: -1.5rem;
	inset-inline-end: clamp(0.5rem, 3vw, 2.5rem);
	width: clamp(7.5rem, 12vw, 10.5rem);
	transform: rotate(2.5deg);
}

.aima-feature-accent--guide {
	inset-block-end: -1.25rem;
	inset-inline-end: -0.6rem;
	width: 9.5rem;
	transform: rotate(-2deg);
}

.aima-feature-accent--cta {
	inset-block-start: clamp(1.5rem, 4vw, 3.5rem);
	inset-inline-end: max(1rem, calc((100% - var(--aima-wide-width)) / 2));
	width: clamp(7.5rem, 12vw, 10.5rem);
	transform: rotate(2deg);
}

.aima-feature-body {
	padding: clamp(4.5rem, 9vw, 8rem) max(1rem, calc((100% - 68rem) / 2));
	background: var(--aima-color-background);
}

.aima-feature-body__label {
	max-width: 68rem;
	margin-inline: auto;
	margin-block-end: clamp(2.5rem, 6vw, 4rem);
}

.aima-feature-layout {
	display: grid;
	max-width: 68rem;
	gap: clamp(3rem, 7vw, 6rem);
	margin-inline: auto;
}

.aima-feature-content {
	min-width: 0;
	counter-reset: aima-feature-section;
	color: #352f2a;
	font-size: clamp(1rem, 1.6vw, 1.0625rem);
	line-height: 2;
}

.aima-feature-content > p:first-child {
	margin-block-end: clamp(3.5rem, 7vw, 5.5rem);
	color: var(--aima-color-text);
	font-family: var(--aima-font-serif);
	font-size: clamp(1.3rem, 3vw, 1.7rem);
	font-weight: 600;
	line-height: 1.9;
}

.aima-feature-content > h2 {
	position: relative;
	padding-block-start: 4rem;
	margin-block: clamp(4rem, 8vw, 6rem) 1.75rem;
	border-block-start: 1px solid var(--aima-color-border-strong);
	counter-increment: aima-feature-section;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.75rem, 4vw, 2.4rem);
	font-weight: 600;
	line-height: 1.45;
}

.aima-feature-content > h2:first-of-type {
	margin-block-start: 0;
}

.aima-feature-content > h2::before {
	position: absolute;
	inset-block-start: 1.25rem;
	inset-inline-start: 0;
	color: var(--aima-color-primary);
	content: "0" counter(aima-feature-section);
	font-family: var(--aima-font-sans);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-feature-content > h3 {
	margin-block: 2.75rem 1rem;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.3rem, 3vw, 1.6rem);
}

.aima-feature-content > p {
	margin-block-end: 1.75rem;
}

.aima-feature-content > ul,
.aima-feature-content > ol {
	display: grid;
	gap: 0.9rem;
	padding: clamp(1.5rem, 4vw, 2.25rem) clamp(1.5rem, 4vw, 2.5rem);
	margin-block: 2.5rem 3.5rem;
	border-inline-start: 3px solid var(--aima-color-primary);
	background: var(--aima-color-mist);
	list-style-position: outside;
}

.aima-feature-content > ul li::marker,
.aima-feature-content > ol li::marker {
	color: var(--aima-color-primary);
	font-weight: 800;
}

.aima-feature-content .wp-block-columns {
	display: grid;
	gap: 1rem;
	margin-block: 2.5rem 3.5rem;
}

.aima-feature-content .wp-block-column {
	min-width: 0;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid var(--aima-color-border);
	background: var(--aima-color-surface);
	box-shadow: var(--aima-shadow-sm);
}

.aima-feature-content .wp-block-column h3 {
	margin-block-end: 1rem;
	font-family: var(--aima-font-serif);
	font-size: 1.45rem;
}

.aima-feature-content .wp-block-column p:last-child {
	margin-block-end: 0;
}

.aima-feature-content small {
	display: block;
	padding-block-start: 1.5rem;
	margin-block-start: 4rem;
	border-block-start: 1px solid var(--aima-color-border);
	color: var(--aima-color-text-muted);
	font-size: 0.75rem;
	line-height: 1.8;
}

.aima-feature-guide {
	position: relative;
	align-self: start;
	padding: 2rem;
	border: 1px solid var(--aima-color-border);
	background: var(--aima-color-surface);
	box-shadow: var(--aima-shadow-sm);
}

.aima-feature-guide--with-accent {
	overflow: hidden;
	padding-block-end: 10rem;
}

.aima-feature-guide h2 {
	margin-block-end: 1.5rem;
	font-family: var(--aima-font-serif);
	font-size: 1.35rem;
}

.aima-feature-guide ol {
	padding: 0;
	margin: 0 0 1.75rem;
	list-style: none;
}

.aima-feature-guide li {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-block: 0.8rem;
	border-block-end: 1px solid var(--aima-color-border);
	font-weight: 700;
}

.aima-feature-guide li span {
	color: var(--aima-color-primary);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
}

.aima-feature-guide > p:last-of-type {
	margin: 0;
	color: var(--aima-color-text-muted);
	font-size: 0.8125rem;
	line-height: 1.8;
}

.aima-feature-cta {
	position: relative;
	overflow: hidden;
	padding: clamp(4.5rem, 9vw, 8rem) max(1rem, calc((100% - var(--aima-wide-width)) / 2));
	background: #e9eeeb;
}

.aima-feature-cta__heading {
	max-width: var(--aima-wide-width);
	margin-inline: auto;
	margin-block-end: 2.75rem;
}

.aima-feature-cta__heading h2 {
	margin: 0;
	font-family: var(--aima-font-serif);
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 600;
}

.aima-feature-cta--with-accent .aima-feature-cta__heading {
	padding-inline-end: clamp(7rem, 14vw, 12rem);
}

.aima-feature-cta__grid {
	display: grid;
	max-width: var(--aima-wide-width);
	gap: 1rem;
	margin-inline: auto;
}

.aima-feature-cta__card {
	display: flex;
	min-height: 22rem;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(2rem, 5vw, 3.5rem);
	border: 1px solid var(--aima-color-border);
	background: var(--aima-color-surface);
}

.aima-feature-cta__card > small {
	margin-block-end: 3.5rem;
	color: var(--aima-color-primary);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.aima-feature-cta__card h3 {
	margin-block-end: 1rem;
	font-family: var(--aima-font-serif);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.aima-feature-cta__card p {
	max-width: 31rem;
	color: var(--aima-color-text-muted);
	line-height: 1.85;
}

.aima-feature-cta__card .aima-text-link {
	margin-block-start: auto;
}

.aima-feature-cta__card--dark {
	border-color: transparent;
	background:
		radial-gradient(circle at 85% 15%, rgb(185 152 98 / 24%), transparent 14rem),
		var(--aima-color-ink);
	color: rgb(255 255 255 / 76%);
}

.aima-feature-cta__card--dark h3 {
	color: #fff;
}

.aima-feature-cta__card--dark p {
	color: rgb(255 255 255 / 70%);
}

.aima-feature-cta__card--dark > small,
.aima-feature-cta__card--dark .aima-text-link {
	color: #f0d5aa;
}

@media (min-width: 700px) {
	.aima-feature-hero__inner {
		width: min(calc(100% - 3rem), var(--aima-wide-width));
	}

	.aima-feature-principles__inner,
	.aima-feature-cta__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.aima-feature-principles article {
		border-block-end: 0;
		border-inline-end: 1px solid rgb(255 255 255 / 10%);
	}

	.aima-feature-principles article:last-child {
		border-inline-end: 0;
	}

	.aima-feature-cta__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-feature-content .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (min-width: 960px) {
	.aima-feature-hero__inner {
		grid-template-columns: minmax(0, 1.45fr) minmax(22rem, 0.55fr);
	}

	.aima-feature-hero__visual {
		display: flex;
	}

	.aima-feature-layout {
		grid-template-columns: minmax(0, 46rem) minmax(15rem, 18rem);
	}

	.aima-feature-guide {
		position: sticky;
		inset-block-start: calc(var(--aima-header-height) + 2rem);
	}
}

@media (max-width: 699px) {
	.aima-feature-breadcrumb {
		margin-block-end: 3.5rem;
	}

	.aima-feature-hero__inner {
		min-height: 35rem;
	}

	.aima-feature-hero h1 {
		font-size: clamp(2.7rem, 14vw, 4.25rem);
	}

	.aima-feature-content > h2 {
		padding-block-start: 3.5rem;
	}

	.aima-feature-accent--hero {
		inset-block-end: -0.75rem;
		inset-inline-end: -0.25rem;
		width: 6.75rem;
	}

	.aima-feature-guide--with-accent {
		padding-block-end: 8rem;
	}

	.aima-feature-accent--guide {
		width: 7.25rem;
	}

	.aima-feature-cta--with-accent .aima-feature-cta__heading {
		padding-inline-end: 5.5rem;
	}

	.aima-feature-accent--cta {
		inset-block-start: 2.75rem;
		inset-inline-end: 0.25rem;
		width: 5.5rem;
	}
}

/*
 * WordPress global styles are unlayered. Keep the learning experience's
 * contrast-critical colors unlayered as well.
 */
.aima-learning-hero h1,
.aima-course-hero h1 {
	color: #fff;
}

.aima-course-hero__content h2,
.aima-course-hero__content h3 {
	color: #fff;
}

.aima-learning-hero > p:last-child,
.aima-course-hero__content,
.aima-course-hero__content p {
	color: rgb(255 255 255 / 76%);
}

.aima-learning-hero .aima-eyebrow,
.aima-course-hero .aima-eyebrow,
.aima-next-lesson .aima-eyebrow {
	color: #e8cda2;
}

.aima-learning-hub .aima-button--primary,
.aima-course-single .aima-button--primary,
.aima-lesson-single .aima-button--primary {
	color: #fff;
}

.aima-learning-hub .aima-button--primary:hover,
.aima-course-single .aima-button--primary:hover,
.aima-lesson-single .aima-button--primary:hover {
	color: #fff;
}

/* V-4: Village experiment cycle. */
@layer components {
	.aima-button--secondary {
		border-color: var(--aima-color-border-strong);
		background: transparent;
		color: var(--aima-color-primary);
	}

	.aima-button--secondary:hover {
		border-color: var(--aima-color-primary);
		background: var(--aima-color-mist);
		color: var(--aima-color-primary-hover);
	}

	.aima-experiment-hub,
	.aima-experiment-form-page,
	.aima-experiment-single {
		width: min(calc(100% - 2rem), 64rem);
		padding-block: clamp(2.5rem, 6vw, 5rem);
	}

	.aima-experiment-hero {
		position: relative;
		padding: clamp(2rem, 6vw, 4.5rem);
		overflow: hidden;
		border-radius: var(--aima-radius-lg);
		background:
			linear-gradient(125deg, rgb(19 37 31 / 97%), rgb(34 77 61 / 92%)),
			var(--aima-color-ink);
		box-shadow: var(--aima-shadow-md);
	}

	.aima-experiment-hero::after {
		position: absolute;
		inset-block-start: -4rem;
		inset-inline-end: -3rem;
		width: 16rem;
		height: 16rem;
		border: 1px solid rgb(240 213 170 / 24%);
		border-radius: 50%;
		box-shadow:
			0 0 0 2.5rem rgb(255 255 255 / 3%),
			0 0 0 5rem rgb(255 255 255 / 2%);
		content: "";
	}

	.aima-experiment-hero h1,
	.aima-experiment-form-hero h1,
	.aima-experiment-single__hero h1 {
		font-family: var(--aima-font-serif);
		font-weight: 600;
	}

	.aima-experiment-hero h1 {
		position: relative;
		z-index: 1;
		margin-block-end: 1rem;
		font-size: clamp(2.5rem, 7vw, 4.75rem);
	}

	.aima-experiment-hero > p:last-child {
		position: relative;
		z-index: 1;
		max-width: 42rem;
		margin: 0;
		font-size: clamp(0.9375rem, 2vw, 1.0625rem);
		line-height: 2;
	}

	.aima-experiment-filters {
		display: grid;
		gap: 1.25rem;
		padding: clamp(1.25rem, 4vw, 2rem);
		margin-block-start: 1.5rem;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-sm);
	}

	.aima-experiment-filter-group {
		display: grid;
		gap: 0.75rem;
	}

	.aima-experiment-filter-group > strong {
		color: var(--aima-color-text-muted);
		font-size: 0.75rem;
		letter-spacing: 0.08em;
	}

	.aima-experiment-filter-options,
	.aima-experiment-topics {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.aima-experiment-filter,
	.aima-experiment-topic {
		display: inline-flex;
		min-height: 2rem;
		align-items: center;
		padding: 0.35rem 0.75rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: 999px;
		background: var(--aima-color-background);
		color: var(--aima-color-primary);
		font-size: 0.75rem;
		font-weight: 700;
		line-height: 1.35;
		text-decoration: none;
	}

	.aima-experiment-filter:hover,
	.aima-experiment-filter:focus-visible,
	.aima-experiment-filter.is-active,
	a.aima-experiment-topic:hover,
	a.aima-experiment-topic:focus-visible {
		border-color: var(--aima-color-primary);
		background: var(--aima-color-mist);
		color: var(--aima-color-primary-hover);
	}

	.aima-experiment-filter.is-active {
		box-shadow: inset 0 0 0 1px var(--aima-color-primary);
	}

	.aima-experiment-topic--category {
		border-color: color-mix(in srgb, var(--aima-color-brass) 65%, var(--aima-color-border));
		background: #f8f2e7;
		color: var(--aima-color-ink);
	}

	.aima-experiment-section {
		padding-block-start: clamp(3.5rem, 8vw, 6rem);
	}

	.aima-experiment-drafts {
		padding-block-end: clamp(2.5rem, 5vw, 4rem);
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-experiment-grid {
		display: grid;
		gap: 1rem;
	}

	.aima-experiment-card {
		display: flex;
		min-width: 0;
		flex-direction: column;
		padding: clamp(1.5rem, 4vw, 2.25rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-sm);
	}

	.aima-experiment-card--draft {
		border-style: dashed;
		background: #faf8f4;
	}

	.aima-experiment-card__meta {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 0.5rem 1rem;
		margin-block-end: 1.5rem;
		color: var(--aima-color-text-muted);
		font-size: 0.6875rem;
		font-weight: 800;
		letter-spacing: 0.08em;
	}

	.aima-experiment-card .aima-experiment-topics {
		margin-block: -0.5rem 1rem;
	}

	.aima-experiment-card h3 {
		margin-block-end: 0.85rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.35rem, 3vw, 1.75rem);
		line-height: 1.5;
		overflow-wrap: anywhere;
	}

	.aima-experiment-card h3 a {
		color: inherit;
		text-decoration: none;
	}

	.aima-experiment-card h3 a:hover {
		color: var(--aima-color-primary);
	}

	.aima-experiment-card > p:not(.aima-experiment-card__meta, .aima-experiment-card__author) {
		flex-grow: 1;
		color: var(--aima-color-text-muted);
		line-height: 1.8;
		overflow-wrap: anywhere;
	}

	.aima-experiment-card__author {
		padding-block-start: 1rem;
		margin-block-start: 1.25rem;
		border-block-start: 1px solid var(--aima-color-border);
		color: var(--aima-color-text-muted);
		font-size: 0.75rem;
	}

	.aima-experiment-form-hero,
	.aima-experiment-single__hero {
		width: min(100%, var(--aima-content-width));
		margin-inline: auto;
		padding-block-end: clamp(2rem, 5vw, 3.5rem);
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-experiment-form-hero h1,
	.aima-experiment-single__hero h1 {
		margin-block-end: 1rem;
		font-size: clamp(2rem, 6vw, 3.5rem);
		overflow-wrap: anywhere;
	}

	.aima-experiment-form-hero > p:last-child,
	.aima-experiment-single__meta {
		margin: 0;
		color: var(--aima-color-text-muted);
		line-height: 1.9;
	}

	.aima-experiment-form-page > .aima-form-notice,
	.aima-experiment-form-card,
	.aima-experiment-article,
	.aima-village-comments {
		width: min(100%, var(--aima-content-width));
		margin-inline: auto;
	}

	.aima-experiment-form-page > .aima-form-notice {
		margin-block-start: 2rem;
	}

	.aima-experiment-form-card {
		padding: clamp(1.5rem, 5vw, 2.75rem);
		margin-block-start: 2rem;
		border: 1px solid color-mix(in srgb, var(--aima-color-brass) 45%, var(--aima-color-border));
		border-radius: var(--aima-radius-lg);
		background: #f9f6f0;
	}

	.aima-experiment-form-card__source {
		padding-block-end: 1.5rem;
		margin-block-end: 2rem;
		border-block-end: 1px solid var(--aima-color-border);
		overflow-wrap: anywhere;
	}

	.aima-experiment-form-card h2 {
		margin-block-end: 1.5rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.6rem, 4vw, 2.25rem);
	}

	.aima-experiment-form {
		display: grid;
		gap: 0.75rem;
		min-width: 0;
	}

	.aima-experiment-form label,
	.comment-form-comment label {
		font-weight: 800;
	}

	.aima-experiment-form input[type="text"],
	.aima-experiment-form select,
	.aima-experiment-form textarea,
	.comment-form-comment textarea {
		width: 100%;
		min-width: 0;
		padding: 0.875rem 1rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
		color: var(--aima-color-text);
		line-height: 1.75;
	}

	.aima-experiment-form textarea,
	.comment-form-comment textarea {
		resize: vertical;
	}

	.aima-experiment-form input[type="text"]:focus,
	.aima-experiment-form select:focus,
	.aima-experiment-form textarea:focus,
	.comment-form-comment textarea:focus {
		border-color: var(--aima-color-primary);
	}

	.aima-experiment-taxonomy-fields {
		display: grid;
		gap: 1.5rem;
		padding-block: 0.75rem 1rem;
	}

	.aima-experiment-taxonomy-field {
		display: grid;
		gap: 0.75rem;
	}

	.aima-experiment-tag-field {
		padding: 0;
		margin: 0;
		border: 0;
	}

	.aima-experiment-tag-field legend {
		padding: 0;
		margin-block-end: 0.75rem;
		font-weight: 800;
	}

	.aima-experiment-tag-options {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.aima-experiment-tag-options label {
		display: inline-flex;
		min-height: 2.5rem;
		align-items: center;
		gap: 0.5rem;
		padding: 0.45rem 0.75rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: 999px;
		background: var(--aima-color-surface);
		font-size: 0.8125rem;
		cursor: pointer;
	}

	.aima-experiment-tag-options label:has(input:checked) {
		border-color: var(--aima-color-primary);
		background: var(--aima-color-mist);
		color: var(--aima-color-primary-hover);
	}

	.aima-experiment-tag-options input {
		accent-color: var(--aima-color-primary);
	}

	.aima-experiment-form__actions {
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem;
		margin-block-start: 1rem;
	}

	.aima-experiment-form__actions .aima-button {
		cursor: pointer;
	}

	.aima-experiment-article {
		min-width: 0;
	}

	.aima-experiment-source {
		display: grid;
		gap: 0.35rem;
		padding: 1rem 1.25rem;
		margin-block: 2rem 0;
		border-inline-start: 4px solid var(--aima-color-brass);
		background: #f8f5ef;
		overflow-wrap: anywhere;
	}

	.aima-experiment-source span {
		color: var(--aima-color-text-muted);
		font-size: 0.6875rem;
		font-weight: 800;
		letter-spacing: 0.08em;
	}

	.aima-experiment-eyecatch {
		margin: clamp(2rem, 5vw, 3.5rem) 0 0;
		overflow: hidden;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
	}

	.aima-experiment-eyecatch__image {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}

	.aima-experiment-content {
		padding-block: clamp(2.5rem, 6vw, 4.5rem);
		font-size: 1.0625rem;
		line-height: 2;
		overflow-wrap: anywhere;
	}

	.aima-experiment-content h2 {
		padding-block-start: clamp(1.5rem, 4vw, 2.5rem);
		margin-block: clamp(3rem, 7vw, 5rem) 1.25rem;
		border-block-start: 1px solid var(--aima-color-border);
		font-family: var(--aima-font-serif);
		font-size: clamp(1.65rem, 4.5vw, 2.5rem);
		line-height: 1.5;
	}

	.aima-experiment-content h3 {
		margin-block: 2.5rem 1rem;
		color: var(--aima-color-forest);
		font-family: var(--aima-font-serif);
		font-size: clamp(1.25rem, 3.5vw, 1.65rem);
		line-height: 1.55;
	}

	.aima-experiment-content blockquote {
		padding: 1.25rem 1.5rem;
		margin-inline: 0;
		border-inline-start: 4px solid var(--aima-color-brass);
		background: #f8f5ef;
	}

	.aima-experiment-content .aima-experiment-summary {
		padding: clamp(1.5rem, 4vw, 2rem);
		margin-block: clamp(2.5rem, 6vw, 4rem);
		border: 1px solid var(--aima-color-border);
		border-inline-start: 6px solid var(--aima-color-brass);
		border-radius: var(--aima-radius-md);
	}

	.aima-experiment-summary > p:first-child {
		margin-block-start: 0;
		color: var(--aima-color-forest);
		font-size: 0.8rem;
		font-weight: 800;
		letter-spacing: 0.1em;
	}

	.aima-experiment-summary > p:nth-child(2) {
		font-family: var(--aima-font-serif);
		font-size: clamp(1.25rem, 3.5vw, 1.75rem);
		font-weight: 700;
		line-height: 1.7;
	}

	.aima-data-chart,
	.aima-data-table,
	.aima-share-meter {
		margin-block: clamp(2rem, 5vw, 3.5rem);
	}

	.aima-data-chart figcaption,
	.aima-data-table figcaption,
	.aima-share-meter figcaption {
		margin-block-end: 1.25rem;
		color: var(--aima-color-text-muted);
		font-size: 0.9rem;
		line-height: 1.7;
	}

	.aima-data-chart figcaption strong,
	.aima-data-table figcaption strong,
	.aima-share-meter figcaption strong {
		display: block;
		color: var(--aima-color-ink);
		font-family: var(--aima-font-serif);
		font-size: 1.2rem;
	}

	.aima-data-chart ol {
		display: grid;
		gap: 1.25rem;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-data-chart__item {
		--aima-chart-width: 100%;
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.5rem 1rem;
		padding-block-end: 1rem;
		font-size: 0.95rem;
		line-height: 1.5;
	}

	.aima-data-chart__item::before,
	.aima-data-chart__item::after {
		position: absolute;
		inset-block-end: 0;
		inset-inline-start: 0;
		height: 0.6rem;
		border-radius: 999px;
		content: "";
	}

	.aima-data-chart__item::before {
		width: 100%;
		background: var(--aima-color-mist);
	}

	.aima-data-chart__item::after {
		width: var(--aima-chart-width);
		background: var(--aima-color-forest);
	}

	.aima-data-chart__item--79 {
		--aima-chart-width: 79%;
	}

	.aima-data-chart__item--65 {
		--aima-chart-width: 65%;
	}

	.aima-data-chart__item--47 {
		--aima-chart-width: 47%;
	}

	.aima-data-chart__item--35 {
		--aima-chart-width: 35%;
	}

	.aima-data-chart__item strong {
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
	}

	.aima-data-table {
		overflow-x: auto;
	}

	.aima-data-table table,
	.aima-experiment-content table.aima-data-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.95rem;
		line-height: 1.65;
	}

	.aima-data-table th,
	.aima-data-table td,
	.aima-experiment-content table.aima-data-table th,
	.aima-experiment-content table.aima-data-table td {
		padding: 0.8rem 0.65rem;
		border-block-end: 1px solid var(--aima-color-border);
		text-align: start;
		vertical-align: top;
	}

	.aima-data-table th,
	.aima-experiment-content table.aima-data-table th {
		color: var(--aima-color-forest);
		font-size: 0.78rem;
		letter-spacing: 0.06em;
	}

	.aima-data-table td:last-child,
	.aima-experiment-content table.aima-data-table td:last-child {
		font-variant-numeric: tabular-nums;
	}

	.aima-share-meter {
		padding: clamp(1.25rem, 4vw, 1.75rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
	}

	.aima-share-meter > p:not(.aima-share-meter__bar) {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 1rem;
		margin-block: 0 0.75rem;
	}

	.aima-share-meter > p strong {
		color: var(--aima-color-forest);
		font-family: var(--aima-font-serif);
		font-size: clamp(2rem, 7vw, 3.25rem);
		font-variant-numeric: tabular-nums;
	}

	.aima-share-meter__bar {
		height: 0.75rem;
		margin: 0;
		border-radius: 999px;
		background: linear-gradient(
			to right,
			var(--aima-color-brass) 0%,
			var(--aima-color-brass) 70%,
			var(--aima-color-mist) 70%,
			var(--aima-color-mist) 100%
		);
	}

	.aima-experiment-content code {
		padding: 0.15em 0.35em;
		border-radius: 0.25rem;
		background: var(--aima-color-mist);
		font-size: 0.9em;
		overflow-wrap: anywhere;
	}

	.aima-experiment-content > :last-child {
		margin-block-end: 0;
	}

	@media (max-width: 32rem) {
		.aima-data-chart__item {
			grid-template-columns: 1fr;
			gap: 0.15rem;
		}

		.aima-data-chart__item strong {
			white-space: normal;
		}

		.aima-share-meter > p:not(.aima-share-meter__bar) {
			align-items: flex-start;
			flex-direction: column;
			gap: 0.25rem;
		}

		.aima-data-table th,
		.aima-data-table td,
		.aima-experiment-content table.aima-data-table th,
		.aima-experiment-content table.aima-data-table td {
			padding-inline: 0.45rem;
		}
	}

	.aima-experiment-owner-actions {
		padding-block-end: clamp(2.5rem, 6vw, 4.5rem);
	}

	.aima-experiment-single__hero .aima-experiment-topics {
		margin-block-start: 1rem;
	}

	.aima-experiment-related {
		width: min(100%, 56rem);
		padding-block: clamp(3rem, 7vw, 5rem);
		margin-inline: auto;
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-experiment-related .aima-learning-section-heading {
		margin-block-end: 1.5rem;
	}

	.aima-village-comments {
		padding-block-start: clamp(3rem, 7vw, 5rem);
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-village-comments__heading h2 {
		margin-block-end: 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.6rem, 4vw, 2.25rem);
	}

	.aima-village-comments__heading > p:last-child {
		color: var(--aima-color-text-muted);
		line-height: 1.8;
	}

	.aima-comment-list {
		display: grid;
		gap: 1rem;
		padding: 0;
		margin-block: 2rem 3rem;
		list-style: none;
	}

	.aima-comment {
		min-width: 0;
		padding: 1.25rem 1.5rem;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
	}

	.aima-comment__meta {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 0.5rem 1rem;
		padding-block-end: 0.75rem;
		border-block-end: 1px solid var(--aima-color-border);
		font-size: 0.75rem;
	}

	.aima-comment__meta time {
		color: var(--aima-color-text-muted);
	}

	.aima-comment__content {
		padding-block-start: 1rem;
		line-height: 1.85;
		overflow-wrap: anywhere;
	}

	.aima-comment__content > :last-child {
		margin-block-end: 0;
	}

	.aima-village-comments .comment-respond {
		padding: clamp(1.5rem, 5vw, 2.5rem);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-mist);
	}

	.aima-village-comments .comment-reply-title {
		font-family: var(--aima-font-serif);
		font-size: clamp(1.35rem, 3vw, 1.75rem);
	}

	.aima-village-comments .form-submit {
		margin-block-end: 0;
	}

	.aima-village-comments .submit {
		cursor: pointer;
	}

	.aima-practice-record__experiment {
		display: grid;
		justify-items: start;
		gap: 1rem;
		padding-block-start: 1.5rem;
		margin-block-start: 2rem;
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-practice-record__experiment p {
		margin: 0;
		color: var(--aima-color-text-muted);
		line-height: 1.8;
	}
}

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

@media (max-width: 420px) {
	.aima-experiment-form__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.aima-experiment-form__actions .aima-button {
		width: 100%;
	}
}

/*
 * WordPress global styles are unlayered; preserve contrast-critical V-4 colors.
 */
.aima-experiment-hero,
.aima-experiment-hero h1 {
	color: #fff;
}

.aima-experiment-hero > p:last-child {
	color: rgb(255 255 255 / 76%);
}

.aima-experiment-hero .aima-eyebrow {
	color: #e8cda2;
}

.aima-experiment-hub .aima-button--primary,
.aima-experiment-form-page .aima-button--primary,
.aima-experiment-single .aima-button--primary {
	color: #fff;
}

a.aima-experiment-filter,
a.aima-experiment-filter:visited,
a.aima-experiment-topic,
a.aima-experiment-topic:visited {
	color: var(--aima-color-primary);
}

a.aima-experiment-topic--category,
a.aima-experiment-topic--category:visited {
	color: var(--aima-color-ink);
}

a.aima-experiment-filter:hover,
a.aima-experiment-filter:focus-visible,
a.aima-experiment-topic:hover,
a.aima-experiment-topic:focus-visible {
	color: var(--aima-color-primary-hover);
}

/* Initial-day v1: one clear route from arrival to a saved experiment draft. */
@layer components {
	.aima-dashboard {
		width: min(calc(100% - 2rem), 64rem);
		padding-block: clamp(2.5rem, 6vw, 5rem);
	}

	.aima-dashboard-hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(1.5rem, 4vw, 3rem);
		padding: clamp(1.5rem, 5vw, 4rem);
		border-radius: var(--aima-radius-lg);
		background:
			radial-gradient(circle at 92% 15%, rgb(232 205 162 / 18%) 0 0.3rem, transparent 0.35rem),
			linear-gradient(130deg, var(--aima-color-ink), var(--aima-color-forest));
		box-shadow: var(--aima-shadow-md);
	}

	.aima-dashboard-hero__copy {
		display: grid;
		min-width: 0;
		align-content: center;
		justify-items: start;
	}

	.aima-dashboard-hero h1 {
		max-width: min(100%, 44rem);
		margin-block: 0 1rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.15rem, 6vw, 4.25rem);
		font-weight: 600;
		line-height: 1.25;
		overflow-wrap: anywhere;
	}

	.aima-dashboard-hero__welcome,
	.aima-dashboard-hero__member-name {
		display: block;
	}

	.aima-dashboard-hero__member-name {
		font-size: clamp(1.65rem, 4.5vw, 3.25rem);
		white-space: normal;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.aima-dashboard-hero__copy > p:not(.aima-eyebrow) {
		max-width: 40rem;
		margin-block: 0 1.75rem;
		font-size: clamp(0.9375rem, 2vw, 1.0625rem);
		line-height: 2;
	}

	.aima-dashboard-hero__copy > small {
		margin-block-start: 0.85rem;
		font-size: 0.75rem;
		line-height: 1.7;
	}

	.aima-dashboard-monster {
		align-self: end;
		padding: clamp(1.25rem, 4vw, 2rem);
		border: 1px solid rgb(232 205 162 / 34%);
		border-radius: var(--aima-radius-lg);
		background: rgb(255 255 255 / 7%);
	}

	.aima-dashboard-monster h2 {
		margin-block-end: 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.35rem, 3vw, 1.8rem);
		line-height: 1.5;
	}

	.aima-dashboard-monster > :last-child {
		margin-block-end: 0;
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.aima-dashboard-section {
		padding-block-start: clamp(3.5rem, 8vw, 6rem);
	}

	.aima-dashboard-section__heading {
		max-width: 42rem;
		margin-block-end: 2rem;
	}

	.aima-dashboard-section__heading h2,
	.aima-dashboard-card h2,
	.aima-dashboard-log h2,
	.aima-initial-day-next h2 {
		font-family: var(--aima-font-serif);
	}

	.aima-dashboard-section__heading h2 {
		margin-block-end: 0.75rem;
		font-size: clamp(1.75rem, 4vw, 2.75rem);
	}

	.aima-dashboard-section__heading > p:last-child,
	.aima-dashboard-card > p:not(.aima-eyebrow),
	.aima-dashboard-log p,
	.aima-initial-day-next > p:not(.aima-eyebrow) {
		color: var(--aima-color-text-muted);
		line-height: 1.85;
	}

	.aima-initial-day-steps {
		display: grid;
		gap: 0.75rem;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-initial-day-steps li {
		display: grid;
		grid-template-columns: 2.75rem minmax(0, 1fr);
		align-items: center;
		gap: 1rem;
		min-width: 0;
		padding: 1.25rem;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-surface);
	}

	.aima-initial-day-steps li > span {
		color: var(--aima-color-brass);
		font-family: var(--aima-font-serif);
		font-size: 1.25rem;
	}

	.aima-initial-day-steps li > div {
		display: grid;
		gap: 0.25rem;
		min-width: 0;
	}

	.aima-initial-day-steps strong,
	.aima-initial-day-steps small {
		overflow-wrap: anywhere;
	}

	.aima-initial-day-steps small {
		color: var(--aima-color-text-muted);
	}

	.aima-dashboard-grid {
		display: grid;
		gap: 1rem;
		padding-block-start: clamp(2.5rem, 6vw, 4rem);
	}

	.aima-dashboard-card {
		display: flex;
		min-width: 0;
		flex-direction: column;
		padding: clamp(1.5rem, 4vw, 2.25rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-sm);
	}

	.aima-dashboard-card--status {
		background: #f7f3eb;
	}

	.aima-dashboard-card h2 {
		margin-block-end: 0.85rem;
		font-size: clamp(1.4rem, 3vw, 1.85rem);
		line-height: 1.5;
		overflow-wrap: anywhere;
	}

	.aima-dashboard-card > p:not(.aima-eyebrow) {
		flex-grow: 1;
	}

	.aima-dashboard-card .aima-text-link {
		align-self: flex-start;
		margin-block-start: 1rem;
	}

	.aima-dashboard-log {
		display: grid;
		gap: 1.5rem;
		align-items: center;
		padding: clamp(1.5rem, 5vw, 2.5rem);
		margin-block-start: clamp(2.5rem, 6vw, 4rem);
		border-block: 1px solid var(--aima-color-border);
	}

	.aima-dashboard-log h2 {
		margin-block-end: 0.5rem;
		font-size: clamp(1.5rem, 3vw, 2rem);
	}

	.aima-dashboard-log p:not(.aima-eyebrow) {
		margin: 0;
	}

	.aima-dashboard-log .aima-button {
		justify-self: start;
	}

	.aima-initial-day-article {
		width: min(100%, var(--aima-content-width));
		margin-inline: auto;
		padding-block-start: clamp(3rem, 7vw, 5rem);
	}

	.aima-initial-day-article__content {
		font-size: 1.0625rem;
		line-height: 2;
	}

	.aima-initial-day-article__content h2 {
		padding-block-start: 1.75rem;
		margin-block-end: 1rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.5rem, 4vw, 2rem);
	}

	.aima-initial-day-article__content h3 {
		margin-block: 1.75rem 0.75rem;
		font-size: 1.15rem;
	}

	.aima-initial-day-article__content blockquote {
		padding: 1.25rem 1.5rem;
		margin-inline: 0;
		border-inline-start: 4px solid var(--aima-color-brass);
		background: #f8f5ef;
	}

	.aima-initial-day-next {
		display: grid;
		justify-items: start;
		gap: 1rem;
		width: min(100%, var(--aima-content-width));
		padding: clamp(1.5rem, 5vw, 2.5rem);
		margin-inline: auto;
		margin-block: clamp(2.5rem, 6vw, 4rem);
		border: 1px solid color-mix(in srgb, var(--aima-color-brass) 45%, var(--aima-color-border));
		border-radius: var(--aima-radius-lg);
		background: #f9f6f0;
	}

	.aima-initial-day-next h2,
	.aima-initial-day-next p {
		margin: 0;
	}

	.aima-initial-day-next h2 {
		font-size: clamp(1.4rem, 3vw, 1.9rem);
		line-height: 1.5;
	}
}

@media (min-width: 700px) {
	.aima-dashboard-log {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.aima-dashboard-log .aima-button {
		justify-self: end;
	}
}

@media (min-width: 760px) {
	.aima-dashboard-hero {
		grid-template-columns: minmax(0, 1.55fr) minmax(15rem, 0.75fr);
	}

	.aima-initial-day-steps,
	.aima-dashboard-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.aima-dashboard {
		width: min(calc(100% - 1.25rem), 64rem);
	}

	.aima-dashboard-hero,
	.aima-dashboard-card,
	.aima-initial-day-next {
		padding-inline: 1.125rem;
	}

	.aima-dashboard-hero .aima-button,
	.aima-initial-day-next .aima-button {
		width: 100%;
	}

	.aima-dashboard-hero__member-name {
		font-size: clamp(1.4rem, 7vw, 2rem);
	}
}

/* WordPress global styles are unlayered; keep first-day contrast explicit. */
.aima-dashboard-hero,
.aima-dashboard-hero h1,
.aima-dashboard-hero h2 {
	color: #fff;
}

.aima-dashboard-hero__copy > p:not(.aima-eyebrow),
.aima-dashboard-hero__copy > small,
.aima-dashboard-monster > p:last-child {
	color: rgb(255 255 255 / 76%);
}

.aima-dashboard-hero .aima-eyebrow {
	color: #e8cda2;
}

.aima-dashboard-hero .aima-button--primary,
.aima-initial-day-next .aima-button--primary {
	color: #fff;
}

@layer components {
	.aima-join-page,
	.aima-setup-page {
		width: min(100% - 2rem, var(--aima-wide-width));
		margin-inline: auto;
		padding-block: clamp(3rem, 8vw, 7rem);
	}

	.aima-join-hero {
		max-width: 52rem;
		margin-block-end: clamp(2rem, 5vw, 4rem);
	}

	.aima-join-hero h1,
	.aima-setup-card h1 {
		margin-block-end: 1.25rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.25rem, 7vw, 5rem);
		line-height: 1.16;
	}

	.aima-join-hero > p:last-child,
	.aima-setup-card > p {
		max-width: 44rem;
		color: var(--aima-color-text-muted);
		font-size: 1.0625rem;
		line-height: 1.9;
	}

	.aima-form-notice {
		padding: 1rem 1.25rem;
		margin-block-end: 1.5rem;
		border-inline-start: 4px solid var(--aima-color-brass);
		background: #f8f5ef;
		font-weight: 700;
		line-height: 1.7;
	}

	.aima-join-layout {
		display: grid;
		gap: 1.25rem;
	}

	.aima-offer-card,
	.aima-terms-card,
	.aima-setup-card {
		padding: clamp(1.5rem, 5vw, 3rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-sm);
	}

	.aima-offer-card {
		background: var(--aima-color-ink);
		color: #fff;
	}

	.aima-offer-card .aima-eyebrow {
		color: #e8cda2;
	}

	.aima-offer-card h2,
	.aima-terms-card h2 {
		font-family: var(--aima-font-serif);
		font-size: clamp(1.75rem, 4vw, 2.75rem);
	}

	.aima-offer-card__price {
		display: flex;
		align-items: baseline;
		flex-wrap: wrap;
		gap: 0.5rem;
		padding-block-end: 1.5rem;
		border-block-end: 1px solid rgb(255 255 255 / 18%);
	}

	.aima-offer-card__price strong {
		font-family: var(--aima-font-serif);
		font-size: clamp(3rem, 8vw, 5rem);
		line-height: 1;
	}

	.aima-offer-list,
	.aima-terms-list {
		display: grid;
		gap: 0.8rem;
		padding-inline-start: 1.25rem;
		line-height: 1.75;
	}

	.aima-offer-card__capacity {
		padding: 0.875rem 1rem;
		margin-block: 1.5rem 0;
		border: 1px solid rgb(255 255 255 / 22%);
		border-radius: var(--aima-radius-sm);
		background: rgb(255 255 255 / 7%);
		font-weight: 800;
	}

	.aima-checkout-form,
	.aima-account-setup-form {
		display: grid;
		gap: 0.8rem;
		margin-block-start: 2rem;
	}

	.aima-consent {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		gap: 0.75rem;
		line-height: 1.7;
	}

	.aima-consent input {
		width: 1.2rem;
		height: 1.2rem;
		margin-block-start: 0.2rem;
	}

	.aima-form-honeypot {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.aima-checkout-form .aima-button,
	.aima-account-setup-form .aima-button {
		justify-self: start;
		margin-block-start: 0.75rem;
		cursor: pointer;
	}

	.aima-checkout-form__note {
		margin: 0;
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
		line-height: 1.65;
	}

	.aima-setup-card {
		max-width: 44rem;
		margin-inline: auto;
	}

	.aima-setup-note {
		padding: 1.25rem;
		margin-block: 2rem;
		border-radius: var(--aima-radius-md);
		background: var(--aima-color-mist);
		line-height: 1.75;
	}

	.aima-setup-note p {
		margin-block: 0.5rem 0;
	}

	.aima-account-setup-form label {
		font-weight: 800;
	}

	.aima-account-setup-form input {
		width: 100%;
		padding: 0.875rem 1rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: var(--aima-radius-md);
		background: #fff;
		color: var(--aima-color-text);
	}

	.aima-account-setup-form input:focus {
		border-color: var(--aima-color-primary);
	}
}

@media (min-width: 850px) {
	.aima-join-layout {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		align-items: start;
	}
}

@media (max-width: 480px) {
	.aima-checkout-form .aima-button,
	.aima-account-setup-form .aima-button {
		width: 100%;
	}
}

@layer components {
	.aima-join-page {
		display: grid;
		gap: 0;
		width: min(100% - 2rem, var(--aima-wide-width));
		padding-block: clamp(1rem, 3vw, 2.5rem) clamp(4rem, 9vw, 8rem);
		overflow: clip;
	}

	.aima-join-hero {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.65fr);
		max-width: none;
		min-height: min(44rem, calc(100vh - 7rem));
		margin: 0;
		overflow: hidden;
		border: 1px solid rgb(255 255 255 / 10%);
		border-radius: clamp(1rem, 3vw, 2rem);
		background:
			radial-gradient(circle at 76% 22%, rgb(185 152 98 / 24%), transparent 22rem),
			linear-gradient(135deg, #10251e 0%, #173a2f 56%, #0e211b 100%);
		color: #fff;
		box-shadow: 0 2rem 5rem rgb(19 37 31 / 22%);
	}

	.aima-join-hero::before {
		position: absolute;
		inset: 1.25rem;
		border: 1px solid rgb(255 255 255 / 9%);
		border-radius: calc(clamp(1rem, 3vw, 2rem) - 0.35rem);
		content: "";
		pointer-events: none;
	}

	.aima-join-hero__copy {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: clamp(4.5rem, 9vw, 8rem) clamp(2rem, 7vw, 6.5rem) clamp(3rem, 6vw, 5rem);
	}

	.aima-join-hero__promise {
		margin-block: 1.5rem 0.75rem;
		color: #e8cda2;
		font-family: var(--aima-font-serif);
		font-size: clamp(1rem, 2vw, 1.35rem);
		font-weight: 700;
		letter-spacing: 0.08em;
	}

	.aima-join-hero h1 {
		max-width: 10em;
		margin: 0;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.5rem, 5.6vw, 4.8rem);
		font-weight: 600;
		letter-spacing: -0.045em;
		line-height: 1.18;
		text-wrap: balance;
		word-break: auto-phrase;
		overflow-wrap: normal;
	}

	.aima-join-hero h1 > span {
		display: block;
		white-space: nowrap;
	}

	.aima-join-hero__lead {
		max-width: 42rem;
		margin-block: 2rem 0;
		color: rgb(255 255 255 / 78%);
		font-size: clamp(1rem, 1.6vw, 1.15rem);
		line-height: 2;
	}

	.aima-join-hero__actions {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 1rem 1.5rem;
		margin-block-start: 2rem;
	}

	.aima-join-hero__actions p {
		margin: 0;
		color: rgb(255 255 255 / 66%);
		font-size: 0.8125rem;
		font-weight: 800;
		letter-spacing: 0.08em;
	}

	.aima-join-hero__visual {
		position: relative;
		min-height: 32rem;
		overflow: hidden;
		border-inline-start: 1px solid rgb(255 255 255 / 9%);
	}

	.aima-join-hero__visual::after {
		position: absolute;
		inset: auto 0 0;
		height: 42%;
		background: linear-gradient(transparent, rgb(10 27 22 / 86%));
		content: "";
	}

	.aima-join-hero__visual > p {
		position: absolute;
		z-index: 2;
		inset: clamp(2.5rem, 5vw, 4.5rem) auto auto clamp(1.5rem, 3vw, 3rem);
		margin: 0;
		color: rgb(255 255 255 / 45%);
		font-size: 0.7rem;
		font-weight: 800;
		letter-spacing: 0.18em;
		line-height: 1.9;
	}

	.aima-join-hero__visual img {
		position: absolute;
		z-index: 3;
		inset: auto -10% -4% auto;
		width: min(115%, 31rem);
		height: auto;
		filter: drop-shadow(0 1.5rem 2rem rgb(0 0 0 / 28%));
	}

	.aima-join-orbit {
		position: absolute;
		border: 1px solid rgb(232 205 162 / 24%);
		border-radius: 50%;
	}

	.aima-join-orbit--one {
		inset: 16% -34% auto auto;
		width: 30rem;
		aspect-ratio: 1;
	}

	.aima-join-orbit--two {
		inset: 29% -15% auto auto;
		width: 19rem;
		aspect-ratio: 1;
	}

	.aima-join-facts {
		position: relative;
		z-index: 4;
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 0;
		border-block-start: 1px solid rgb(255 255 255 / 12%);
		background: rgb(5 18 14 / 28%);
	}

	.aima-join-facts > div {
		padding: 1.4rem clamp(1.25rem, 3vw, 2.5rem);
	}

	.aima-join-facts > div + div {
		border-inline-start: 1px solid rgb(255 255 255 / 12%);
	}

	.aima-join-facts dt {
		margin-block-end: 0.35rem;
		color: #d5b982;
		font-size: 0.65rem;
		font-weight: 800;
		letter-spacing: 0.18em;
	}

	.aima-join-facts dd {
		margin: 0;
		font-family: var(--aima-font-serif);
		font-size: clamp(1rem, 2vw, 1.25rem);
		font-weight: 700;
	}

	.aima-join-page > .aima-form-notice {
		margin-block: 2rem 0;
	}

	.aima-join-section {
		padding: clamp(3.5rem, 7vw, 6.5rem) clamp(0rem, 3vw, 2rem);
	}

	.aima-join-section + .aima-join-section {
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-join-section__heading {
		max-width: 46rem;
		margin-block-end: clamp(2.5rem, 5vw, 4.5rem);
	}

	.aima-join-section h2 {
		margin-block: 0.65rem 1.25rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.9rem, 3.8vw, 3.25rem);
		font-weight: 600;
		letter-spacing: -0.035em;
		line-height: 1.35;
		text-wrap: balance;
		word-break: auto-phrase;
		overflow-wrap: normal;
	}

	.aima-join-section__heading > p:last-child,
	.aima-join-first-days__heading > p:last-child {
		color: var(--aima-color-text-muted);
		font-size: 1.0625rem;
		line-height: 1.9;
	}

	.aima-join-intro {
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: clamp(2rem, 7vw, 7rem);
		align-items: start;
	}

	.aima-join-intro h2 {
		margin-block-start: 0.65rem;
	}

	.aima-join-intro__body {
		display: grid;
		gap: 1.25rem;
		padding-block-start: 0.5rem;
		color: var(--aima-color-text-muted);
		font-size: 1.0625rem;
		line-height: 2;
	}

	.aima-join-intro__body p {
		margin: 0;
	}

	.aima-join-note {
		padding: 1.25rem 1.5rem;
		border-inline-start: 3px solid var(--aima-color-brass);
		background: #f5f1e9;
		color: var(--aima-color-text);
		font-size: 0.9375rem;
	}

	.aima-join-cycle {
		padding-inline: clamp(1.5rem, 6vw, 5rem);
		border: 0 !important;
		border-radius: clamp(1rem, 3vw, 2rem);
		background:
			linear-gradient(90deg, rgb(255 255 255 / 72%) 1px, transparent 1px),
			linear-gradient(rgb(255 255 255 / 72%) 1px, transparent 1px),
			var(--aima-color-mist);
		background-size: 3rem 3rem;
	}

	.aima-join-cycle__grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-join-cycle__grid li {
		position: relative;
		min-height: 20rem;
		padding: 1.75rem 1.5rem;
		border: 1px solid var(--aima-color-border);
		background: rgb(255 255 255 / 84%);
	}

	.aima-join-cycle__grid li + li {
		border-inline-start: 0;
	}

	.aima-join-cycle__grid li > span {
		display: block;
		margin-block-end: 4rem;
		color: var(--aima-color-brass);
		font-family: var(--aima-font-serif);
		font-size: 2.5rem;
	}

	.aima-join-cycle__grid small,
	.aima-join-includes__grid article > span {
		color: var(--aima-color-primary);
		font-size: 0.65rem;
		font-weight: 800;
		letter-spacing: 0.18em;
	}

	.aima-join-cycle__grid strong {
		display: block;
		margin-block: 0.55rem 0.85rem;
		font-family: var(--aima-font-serif);
		font-size: 1.25rem;
	}

	.aima-join-cycle__grid p,
	.aima-join-includes__grid p,
	.aima-join-flow li p {
		margin: 0;
		color: var(--aima-color-text-muted);
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.aima-join-first-days {
		display: grid;
		grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
		gap: clamp(2.5rem, 7vw, 7rem);
		padding-inline: clamp(2rem, 7vw, 6rem);
		border: 0 !important;
		border-radius: clamp(1rem, 3vw, 2rem);
		background: var(--aima-color-ink);
		color: #fff;
	}

	.aima-join-first-days__heading > p:last-child {
		color: rgb(255 255 255 / 65%);
	}

	.aima-join-timeline {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-join-timeline li {
		position: relative;
		padding: 0.3rem 0 2.5rem 3rem;
		border-inline-start: 1px solid rgb(255 255 255 / 18%);
	}

	.aima-join-timeline li:last-child {
		padding-block-end: 0;
	}

	.aima-join-timeline li::before {
		position: absolute;
		inset: 0 auto auto -0.42rem;
		width: 0.78rem;
		aspect-ratio: 1;
		border: 2px solid #e8cda2;
		border-radius: 50%;
		background: var(--aima-color-ink);
		content: "";
	}

	.aima-join-timeline span {
		color: #e8cda2;
		font-size: 0.65rem;
		font-weight: 800;
		letter-spacing: 0.17em;
	}

	.aima-join-timeline strong {
		display: block;
		margin-block: 0.4rem 0.7rem;
		font-family: var(--aima-font-serif);
		font-size: 1.45rem;
	}

	.aima-join-timeline p {
		margin: 0;
		color: rgb(255 255 255 / 65%);
		line-height: 1.8;
	}

	.aima-join-includes__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-join-includes__grid article {
		padding: clamp(1.75rem, 4vw, 3rem);
		border-inline-end: 1px solid var(--aima-color-border);
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-join-includes__grid article:nth-child(2n) {
		border-inline-end: 0;
	}

	.aima-join-includes__grid h3 {
		margin-block: 1.25rem 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.35rem, 3vw, 2rem);
	}

	.aima-join-inline-cta {
		margin: clamp(2rem, 4vw, 3rem) 0 0;
		text-align: center;
	}

	.aima-join-fieldwork__stories {
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-join-fieldwork__stories article {
		display: grid;
		grid-template-columns: minmax(9rem, 0.38fr) minmax(0, 1fr);
		gap: clamp(1.5rem, 5vw, 5rem);
		padding: clamp(2rem, 5vw, 4rem) 0;
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-join-fieldwork__index {
		margin: 0;
		color: var(--aima-color-primary);
		font-size: 0.6875rem;
		font-weight: 800;
		letter-spacing: 0.16em;
	}

	.aima-join-fieldwork__stories h3 {
		margin: 0 0 1rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.5rem, 3.1vw, 2.35rem);
		font-weight: 600;
		line-height: 1.45;
		text-wrap: balance;
		word-break: auto-phrase;
		overflow-wrap: normal;
	}

	.aima-join-fieldwork__stories article > div > p {
		max-width: 52rem;
		margin: 0;
		color: var(--aima-color-text-muted);
		font-size: 1rem;
		line-height: 2;
	}

	.aima-join-fieldwork__stories .aima-join-fieldwork__lesson {
		padding: 1rem 1.25rem;
		margin-block-start: 1.5rem;
		border-inline-start: 3px solid var(--aima-color-primary);
		background: var(--aima-color-mist);
		color: var(--aima-color-text);
		font-size: 0.9rem;
		line-height: 1.8;
	}

	.aima-join-fieldwork__ongoing {
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: clamp(2rem, 7vw, 7rem);
		padding: clamp(2.5rem, 6vw, 5rem) clamp(2rem, 7vw, 6rem);
		margin-block-start: clamp(3rem, 7vw, 6rem);
		border-radius: clamp(1rem, 3vw, 2rem);
		background:
			radial-gradient(circle at 92% 8%, rgb(185 152 98 / 18%), transparent 24rem),
			var(--aima-color-ink);
		color: #fff;
	}

	.aima-join-fieldwork__ongoing h3 {
		margin: 0.65rem 0 0;
		color: #fff;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.8rem, 3.8vw, 3.1rem);
		font-weight: 600;
		line-height: 1.4;
		text-wrap: balance;
		word-break: auto-phrase;
		overflow-wrap: normal;
	}

	.aima-join-fieldwork__ongoing > div:last-child {
		display: grid;
		gap: 1.25rem;
		align-content: start;
		padding-block-start: 0.5rem;
		color: rgb(255 255 255 / 78%);
		font-size: 1rem;
		line-height: 1.95;
	}

	.aima-join-fieldwork__ongoing > div:last-child p {
		margin: 0;
	}

	.aima-join-preview__grid {
		display: grid;
		gap: clamp(1.5rem, 4vw, 3rem);
	}

	.aima-join-preview figure {
		display: grid;
		grid-template-columns: minmax(0, 1.45fr) minmax(15rem, 0.55fr);
		align-items: stretch;
		margin: 0;
		overflow: hidden;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
		box-shadow: var(--aima-shadow-sm);
	}

	.aima-join-preview img {
		display: block;
		width: 100%;
		height: auto;
		border-inline-end: 1px solid var(--aima-color-border);
		object-fit: contain;
	}

	.aima-join-preview figure:nth-child(even) img {
		grid-column: 2;
		border-inline-start: 1px solid var(--aima-color-border);
		border-inline-end: 0;
	}

	.aima-join-preview figure:nth-child(even) {
		grid-template-columns: minmax(15rem, 0.55fr) minmax(0, 1.45fr);
	}

	.aima-join-preview figure:nth-child(even) figcaption {
		grid-column: 1;
		grid-row: 1;
	}

	.aima-join-preview figcaption {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: clamp(1.5rem, 4vw, 3rem);
	}

	.aima-join-preview figcaption span {
		margin-block-end: 2rem;
		color: var(--aima-color-primary);
		font-family: var(--aima-font-serif);
		font-size: 1.5rem;
	}

	.aima-join-preview figcaption strong {
		font-family: var(--aima-font-serif);
		font-size: clamp(1.25rem, 2.4vw, 1.75rem);
		font-weight: 600;
		line-height: 1.55;
	}

	.aima-join-preview figcaption p {
		margin: 1rem 0 0;
		color: var(--aima-color-text-muted);
		font-size: 0.9rem;
		line-height: 1.85;
	}

	.aima-join-growth {
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: clamp(2rem, 7vw, 7rem);
		padding-inline: clamp(2rem, 7vw, 6rem);
		border: 0 !important;
		border-radius: clamp(1rem, 3vw, 2rem);
		background:
			radial-gradient(circle at 92% 8%, rgb(185 152 98 / 18%), transparent 24rem),
			var(--aima-color-ink);
		color: #fff;
	}

	.aima-join-growth h2 {
		color: #fff;
	}

	.aima-join-growth > div:last-child {
		display: grid;
		gap: 1.25rem;
		padding-block-start: 0.5rem;
		color: rgb(255 255 255 / 78%);
		font-size: 1rem;
		line-height: 1.95;
	}

	.aima-join-growth > div:last-child p {
		margin: 0;
	}

	.aima-join-core__grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1px;
		padding: 1px;
		background: var(--aima-color-border);
	}

	.aima-join-core__grid article {
		min-height: 15rem;
		padding: clamp(1.5rem, 3vw, 2.25rem);
		background: var(--aima-color-surface);
	}

	.aima-join-core__grid span {
		display: block;
		margin-block-end: 2.25rem;
		color: var(--aima-color-primary);
		font-family: var(--aima-font-serif);
		font-size: 1.65rem;
		font-weight: 700;
	}

	.aima-join-core__grid h3 {
		margin-block: 0 0.75rem;
		font-family: var(--aima-font-serif);
		font-size: 1.15rem;
		line-height: 1.55;
		word-break: auto-phrase;
		overflow-wrap: normal;
	}

	.aima-join-core__grid p {
		margin: 0;
		color: var(--aima-color-text-muted);
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.aima-join-core__note {
		padding: 1rem 1.25rem;
		margin: 1.25rem 0 0;
		border-inline-start: 3px solid var(--aima-color-primary);
		background: var(--aima-color-mist);
		font-weight: 700;
		line-height: 1.75;
	}

	.aima-join-guide {
		padding-inline: clamp(2rem, 7vw, 6rem);
		border: 0 !important;
		border-radius: clamp(1rem, 3vw, 2rem);
		background:
			radial-gradient(circle at 90% 6%, rgb(185 152 98 / 18%), transparent 24rem),
			var(--aima-color-ink);
		color: #fff;
	}

	.aima-join-guide__intro {
		display: grid;
		grid-template-columns: minmax(13rem, 0.55fr) minmax(0, 1.45fr);
		gap: clamp(2rem, 5vw, 5rem);
		align-items: center;
	}

	.aima-join-guide__portrait {
		width: min(100%, 22rem);
		margin: 0;
		overflow: hidden;
		aspect-ratio: 1;
		border: 1px solid rgb(255 255 255 / 18%);
		border-radius: clamp(1.25rem, 3vw, 2rem);
		background: rgb(255 255 255 / 5%);
		box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 24%);
	}

	.aima-join-guide__portrait img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.aima-join-guide__profile {
		display: grid;
		gap: 1.25rem;
	}

	.aima-join-guide__profile h2 {
		margin: 0;
	}

	.aima-join-guide h2 {
		color: #fff;
	}

	.aima-join-guide__lead {
		display: grid;
		gap: 1.25rem;
		color: rgb(255 255 255 / 70%);
		font-size: 1.025rem;
		line-height: 1.95;
	}

	.aima-join-guide__lead p {
		margin: 0;
	}

	.aima-join-guide__proof {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin: clamp(3rem, 7vw, 6rem) 0 0;
		border-block: 1px solid rgb(255 255 255 / 14%);
	}

	.aima-join-guide__proof > div {
		padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1rem, 3vw, 2rem);
	}

	.aima-join-guide__proof > div + div {
		border-inline-start: 1px solid rgb(255 255 255 / 14%);
	}

	.aima-join-guide__proof dt {
		color: #e8cda2;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.25rem, 5vw, 4rem);
		line-height: 1;
	}

	.aima-join-guide__proof dt span {
		margin-inline-start: 0.3rem;
		font-family: var(--aima-font-sans);
		font-size: 0.7rem;
		font-weight: 800;
	}

	.aima-join-guide__proof dt.aima-join-guide__proof-highlight span {
		font-size: clamp(0.9rem, 1.4vw, 1.15rem);
	}

	.aima-join-guide__proof dd {
		margin: 0.8rem 0 0;
		color: rgb(255 255 255 / 62%);
		font-size: 0.75rem;
		line-height: 1.7;
	}

	.aima-join-guide__evidence {
		width: min(100%, 55rem);
		margin: clamp(1.75rem, 4vw, 2.75rem) auto 0;
	}

	.aima-join-guide__evidence-link {
		display: block;
		border-radius: clamp(0.85rem, 2vw, 1.25rem);
		outline-offset: 0.25rem;
	}

	.aima-join-guide__evidence-viewport {
		display: block;
		overflow: hidden;
		aspect-ratio: 1100 / 224;
		border: 1px solid rgb(255 255 255 / 18%);
		border-radius: inherit;
		background: #fff;
		box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 20%);
	}

	.aima-join-guide__evidence-image {
		display: block;
		width: 100%;
		height: auto;
	}

	.aima-join-guide__evidence figcaption {
		margin-block-start: 0.85rem;
		color: rgb(255 255 255 / 58%);
		font-size: 0.72rem;
		line-height: 1.75;
		text-align: center;
	}

	.aima-join-guide__roles {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
		margin-block-start: clamp(3rem, 6vw, 5rem);
	}

	.aima-join-guide__roles article {
		padding: clamp(1.5rem, 4vw, 2.5rem);
		border: 1px solid rgb(255 255 255 / 14%);
		border-radius: var(--aima-radius-lg);
		background: rgb(255 255 255 / 4%);
	}

	.aima-join-guide__roles span {
		color: #e8cda2;
		font-size: 0.62rem;
		font-weight: 800;
		letter-spacing: 0.16em;
	}

	.aima-join-guide__roles h3 {
		margin-block: 1.2rem 0.8rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.35rem, 3vw, 1.85rem);
	}

	.aima-join-guide__roles p {
		margin: 0;
		color: rgb(255 255 255 / 62%);
		font-size: 0.875rem;
		line-height: 1.8;
	}

	.aima-join-guide__scope {
		max-width: 56rem;
		padding: 1.4rem 1.5rem;
		margin: clamp(2.5rem, 5vw, 4rem) 0 0;
		border-inline-start: 3px solid var(--aima-color-brass);
		background: rgb(255 255 255 / 5%);
		color: rgb(255 255 255 / 64%);
		font-size: 0.8125rem;
		line-height: 1.85;
	}

	.aima-join-fit__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.aima-join-fit__grid article {
		padding: clamp(2rem, 5vw, 4rem);
		border-radius: var(--aima-radius-lg);
	}

	.aima-join-fit__yes {
		background: var(--aima-color-primary);
		color: #fff;
	}

	.aima-join-fit__not-yet {
		border: 1px solid var(--aima-color-border);
		background: var(--aima-color-surface);
	}

	.aima-join-fit__grid article > p {
		margin: 0;
		font-size: 0.65rem;
		font-weight: 800;
		letter-spacing: 0.18em;
	}

	.aima-join-fit__yes > p {
		color: #e8cda2;
	}

	.aima-join-fit__not-yet > p {
		color: var(--aima-color-text-muted);
	}

	.aima-join-fit__grid h3 {
		margin-block: 0.7rem 1.5rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.5rem, 3vw, 2.25rem);
	}

	.aima-join-fit__grid ul {
		display: grid;
		gap: 1rem;
		padding-inline-start: 1.2rem;
		margin: 0;
		line-height: 1.75;
	}

	.aima-join-flow > ol {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-join-flow li {
		position: relative;
		padding: 0 1.25rem 0 0;
	}

	.aima-join-flow li + li {
		padding-inline-start: 1.25rem;
		border-inline-start: 1px solid var(--aima-color-border);
	}

	.aima-join-flow li > span {
		display: grid;
		place-items: center;
		width: 2.25rem;
		aspect-ratio: 1;
		margin-block-end: 1.25rem;
		border-radius: 50%;
		background: var(--aima-color-mist);
		color: var(--aima-color-primary);
		font-weight: 800;
	}

	.aima-join-flow li strong {
		display: block;
		margin-block-end: 0.65rem;
		font-family: var(--aima-font-serif);
		font-size: 1.1rem;
	}

	.aima-join-application {
		display: grid;
		grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
		gap: 1.25rem;
		padding-inline: 0;
		scroll-margin-top: 6rem;
	}

	.aima-join-application .aima-offer-card,
	.aima-join-application .aima-terms-card {
		padding: clamp(1.75rem, 5vw, 3.5rem);
	}

	.aima-join-application .aima-offer-card {
		background:
			radial-gradient(circle at 95% 8%, rgb(185 152 98 / 18%), transparent 18rem),
			var(--aima-color-ink);
	}

	.aima-join-application .aima-offer-card h2,
	.aima-join-application .aima-terms-card h2 {
		margin-block: 0.65rem 1.5rem;
		font-size: clamp(1.8rem, 4vw, 2.75rem);
	}

	.aima-join-application .aima-offer-card__price {
		margin-block: 0;
	}

	.aima-offer-card__planned-price {
		display: grid;
		gap: 0.2rem;
		padding: 0.9rem 1rem;
		margin: 0 0 1.25rem;
		border: 1px solid rgb(255 255 255 / 22%);
		border-radius: var(--aima-radius-sm);
		background: rgb(255 255 255 / 7%);
	}

	.aima-offer-card__planned-price span {
		color: rgb(255 255 255 / 72%);
		font-size: 0.75rem;
		font-weight: 700;
	}

	.aima-offer-card__planned-price strong {
		color: #fff;
		font-size: 1rem;
	}

	.aima-join-application .aima-checkout-form {
		padding-block-start: 1.5rem;
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-join-application .aima-checkout-form .aima-button {
		justify-content: center;
		width: 100%;
		min-height: 3.5rem;
	}

	.aima-application-status {
		padding: 1.25rem;
		margin-block-start: 2rem;
		border-inline-start: 3px solid var(--aima-color-brass);
		background: #f8f5ef;
		font-weight: 700;
		line-height: 1.75;
	}

	.aima-join-closing {
		display: flex;
		justify-content: space-between;
		gap: 1.5rem;
		padding: 2rem clamp(0rem, 3vw, 2rem) 0;
		border-block-start: 1px solid var(--aima-color-border);
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
	}

	.aima-join-closing p {
		margin: 0;
		font-family: var(--aima-font-serif);
		font-size: 1rem;
	}
}

@media (max-width: 900px) {
	.aima-join-hero {
		grid-template-columns: 1fr minmax(12rem, 0.38fr);
	}

	.aima-join-hero__copy {
		padding-inline: clamp(2rem, 6vw, 4rem);
	}

	.aima-join-hero__visual img {
		inset-inline-end: -35%;
		width: 145%;
	}

	.aima-join-cycle__grid,
	.aima-join-flow > ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-join-cycle__grid li:nth-child(3) {
		border-inline-start: 1px solid var(--aima-color-border);
	}

	.aima-join-cycle__grid li:nth-child(n+3) {
		border-block-start: 0;
	}

	.aima-join-flow li:nth-child(3),
	.aima-join-flow li:nth-child(5) {
		padding-inline-start: 0;
		border-inline-start: 0;
	}

	.aima-join-flow li:nth-child(n+3) {
		padding-block-start: 2rem;
	}

	.aima-join-guide__proof {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-join-core__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-join-preview__grid {
		grid-template-columns: 1fr;
	}

	.aima-join-guide__proof > div:nth-child(3) {
		border-block-start: 1px solid rgb(255 255 255 / 14%);
		border-inline-start: 0;
	}

	.aima-join-guide__proof > div:nth-child(4) {
		border-block-start: 1px solid rgb(255 255 255 / 14%);
	}

	.aima-join-application {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.aima-join-page {
		width: min(100% - 1rem, var(--aima-wide-width));
	}

	.aima-join-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.aima-join-hero::before {
		inset: 0.65rem;
	}

	.aima-join-hero__copy {
		padding: 4rem 1.5rem 2.5rem;
	}

	.aima-join-hero h1 {
		font-size: clamp(2.1rem, 10vw, 2.6rem);
	}

	.aima-join-hero__lead {
		line-height: 1.85;
	}

	.aima-join-hero__visual {
		min-height: 18rem;
		border-block-start: 1px solid rgb(255 255 255 / 9%);
		border-inline-start: 0;
	}

	.aima-join-hero__visual img {
		inset: auto -5% -18% auto;
		width: min(88%, 22rem);
	}

	.aima-join-facts {
		grid-template-columns: 1fr;
	}

	.aima-join-facts > div + div {
		border-block-start: 1px solid rgb(255 255 255 / 12%);
		border-inline-start: 0;
	}

	.aima-join-intro,
	.aima-join-growth,
	.aima-join-fieldwork__ongoing,
	.aima-join-first-days,
	.aima-join-guide__intro,
	.aima-join-fit__grid {
		grid-template-columns: 1fr;
	}

	.aima-join-fieldwork__stories article {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.aima-join-fieldwork__ongoing {
		padding-inline: 1.25rem;
	}

	.aima-join-preview figure,
	.aima-join-preview figure:nth-child(even) {
		grid-template-columns: 1fr;
	}

	.aima-join-preview img,
	.aima-join-preview figure:nth-child(even) img {
		grid-column: auto;
		border-block-end: 1px solid var(--aima-color-border);
		border-inline: 0;
	}

	.aima-join-preview figure:nth-child(even) figcaption {
		grid-column: auto;
		grid-row: auto;
	}

	.aima-join-cycle,
	.aima-join-first-days {
		padding-inline: 1.25rem;
	}

	.aima-join-cycle__grid,
	.aima-join-flow > ol {
		grid-template-columns: 1fr;
	}

	.aima-join-cycle__grid li,
	.aima-join-cycle__grid li:nth-child(3) {
		min-height: 0;
		border-inline: 1px solid var(--aima-color-border);
	}

	.aima-join-cycle__grid li + li {
		border-block-start: 0;
	}

	.aima-join-cycle__grid li > span {
		margin-block-end: 2.5rem;
	}

	.aima-join-includes__grid {
		grid-template-columns: 1fr;
	}

	.aima-join-core__grid {
		grid-template-columns: 1fr;
	}

	.aima-join-core__grid article {
		min-height: 0;
	}

	.aima-join-includes__grid article,
	.aima-join-includes__grid article:nth-child(2n) {
		border-inline-end: 0;
	}

	.aima-join-guide {
		padding-inline: 1.25rem;
	}

	.aima-join-guide__portrait {
		justify-self: center;
		width: min(100%, 20rem);
	}

	.aima-join-guide__evidence-viewport {
		position: relative;
		aspect-ratio: 515 / 125;
	}

	.aima-join-guide__evidence-image {
		position: absolute;
		inset-block-start: -76%;
		inset-inline-start: -64%;
		width: 214%;
		max-width: none;
	}

	.aima-join-guide__evidence figcaption {
		text-align: start;
	}

	.aima-join-growth {
		padding-inline: 1.25rem;
	}

	.aima-join-guide__proof,
	.aima-join-guide__roles {
		grid-template-columns: 1fr;
	}

	.aima-join-guide__proof > div + div {
		border-block-start: 1px solid rgb(255 255 255 / 14%);
		border-inline-start: 0;
	}

	.aima-join-flow li,
	.aima-join-flow li + li,
	.aima-join-flow li:nth-child(3),
	.aima-join-flow li:nth-child(5) {
		padding: 1.5rem 0;
		border-block-start: 1px solid var(--aima-color-border);
		border-inline-start: 0;
	}

	.aima-join-flow li:first-child {
		border-block-start: 0;
	}

	.aima-join-closing {
		flex-direction: column;
	}
}

/* WordPress global styles are unlayered; keep recruitment contrast explicit. */
.aima-join-page .aima-button--primary,
.aima-join-page .aima-button--primary:visited,
.aima-join-page .aima-button--primary:hover,
.aima-join-page .aima-button--primary:focus-visible {
	color: #fff;
}

.aima-join-hero h1,
.aima-join-growth h2,
.aima-join-fieldwork__ongoing h3,
.aima-join-first-days h2,
.aima-join-guide h2,
.aima-join-guide__roles h3,
.aima-join-fit__yes h3,
.aima-join-application .aima-offer-card h2 {
	color: #fff;
}

@layer components {
	.aima-faq-page {
		display: grid;
		gap: clamp(3.5rem, 8vw, 7rem);
		width: min(100% - 2rem, var(--aima-wide-width));
		margin-inline: auto;
		padding-block: clamp(1rem, 3vw, 2.5rem) clamp(4rem, 9vw, 8rem);
	}

	.aima-faq-hero {
		overflow: hidden;
		border-radius: clamp(1rem, 3vw, 2rem);
		background:
			radial-gradient(circle at 86% 12%, rgb(185 152 98 / 25%), transparent 22rem),
			linear-gradient(135deg, #10251e 0%, #173a2f 58%, #0e211b 100%);
		color: #fff;
		box-shadow: 0 2rem 5rem rgb(19 37 31 / 18%);
	}

	.aima-faq-hero__copy {
		max-width: 54rem;
		padding: clamp(3rem, 8vw, 7rem) clamp(1.5rem, 7vw, 6.5rem);
	}

	.aima-faq-hero h1 {
		margin-block: 1.25rem 1.5rem;
		color: #fff;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.35rem, 6vw, 4.9rem);
		font-weight: 600;
		letter-spacing: -0.045em;
		line-height: 1.2;
		text-wrap: balance;
		word-break: auto-phrase;
	}

	.aima-faq-hero__copy > p:last-child {
		max-width: 46rem;
		margin: 0;
		color: rgb(255 255 255 / 78%);
		font-size: clamp(1rem, 1.8vw, 1.15rem);
		line-height: 2;
	}

	.aima-faq-hero__facts {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin: 0;
		border-block-start: 1px solid rgb(255 255 255 / 12%);
		background: rgb(5 18 14 / 28%);
	}

	.aima-faq-hero__facts > div {
		padding: 1.35rem clamp(1rem, 2.5vw, 2rem);
	}

	.aima-faq-hero__facts > div + div {
		border-inline-start: 1px solid rgb(255 255 255 / 12%);
	}

	.aima-faq-hero__facts dt {
		margin-block-end: 0.4rem;
		color: #d5b982;
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.14em;
	}

	.aima-faq-hero__facts dd {
		margin: 0;
		font-family: var(--aima-font-serif);
		font-size: clamp(0.95rem, 1.8vw, 1.15rem);
		font-weight: 700;
		line-height: 1.5;
	}

	.aima-faq-layout {
		display: grid;
		grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 1fr);
		gap: clamp(2rem, 6vw, 6rem);
		align-items: start;
	}

	.aima-faq-index {
		position: sticky;
		top: 2rem;
		padding: 1.5rem;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: #f7f4ed;
	}

	.aima-faq-index > p {
		margin: 0 0 1rem;
		color: var(--aima-color-text-muted);
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.12em;
	}

	.aima-faq-index ol {
		display: grid;
		gap: 0;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-faq-index li + li {
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-faq-index a {
		display: grid;
		grid-template-columns: 2rem minmax(0, 1fr);
		gap: 0.5rem;
		align-items: center;
		padding-block: 0.9rem;
		color: var(--aima-color-text);
		font-size: 0.9rem;
		font-weight: 800;
		text-decoration: none;
	}

	.aima-faq-index a:hover,
	.aima-faq-index a:focus-visible {
		color: var(--aima-color-primary);
	}

	.aima-faq-index a span {
		color: var(--aima-color-primary);
		font-family: var(--aima-font-serif);
		font-size: 0.82rem;
	}

	.aima-faq-groups {
		display: grid;
		gap: clamp(4rem, 8vw, 7rem);
	}

	.aima-faq-group {
		scroll-margin-top: 2rem;
	}

	.aima-faq-group > header {
		margin-block-end: 1.75rem;
	}

	.aima-faq-group h2,
	.aima-faq-policies h2,
	.aima-faq-cta h2 {
		margin-block: 0.6rem 0;
		font-family: var(--aima-font-serif);
		font-size: clamp(1.9rem, 4vw, 3.2rem);
		font-weight: 600;
		letter-spacing: -0.035em;
		line-height: 1.35;
		text-wrap: balance;
		word-break: auto-phrase;
	}

	.aima-faq-list {
		border-block-start: 1px solid var(--aima-color-border-strong);
	}

	.aima-faq-item {
		border-block-end: 1px solid var(--aima-color-border-strong);
	}

	.aima-faq-item summary {
		display: grid;
		grid-template-columns: 2.25rem minmax(0, 1fr) 1.5rem;
		gap: clamp(0.75rem, 2vw, 1.25rem);
		align-items: center;
		padding: clamp(1.25rem, 3vw, 1.75rem) 0;
		cursor: pointer;
		list-style: none;
	}

	.aima-faq-item summary::-webkit-details-marker {
		display: none;
	}

	.aima-faq-item summary:focus-visible {
		border-radius: 0.25rem;
		outline: 3px solid color-mix(in srgb, var(--aima-color-primary) 45%, transparent);
		outline-offset: 0.35rem;
	}

	.aima-faq-item__mark {
		color: var(--aima-color-primary);
		font-family: var(--aima-font-serif);
		font-size: 1.35rem;
		font-weight: 700;
	}

	.aima-faq-item__question {
		font-size: clamp(1rem, 1.7vw, 1.15rem);
		font-weight: 800;
		line-height: 1.65;
	}

	.aima-faq-item__toggle {
		position: relative;
		width: 1.15rem;
		height: 1.15rem;
	}

	.aima-faq-item__toggle::before,
	.aima-faq-item__toggle::after {
		position: absolute;
		inset: 50% auto auto 50%;
		width: 100%;
		height: 2px;
		background: var(--aima-color-primary);
		content: "";
		transform: translate(-50%, -50%);
		transition: transform 180ms ease;
	}

	.aima-faq-item__toggle::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}

	.aima-faq-item[open] .aima-faq-item__toggle::after {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	.aima-faq-item__answer {
		padding: 0 clamp(0rem, 1vw, 3.5rem) clamp(1.5rem, 3vw, 2.25rem) calc(2.25rem + clamp(0.75rem, 2vw, 1.25rem));
		color: var(--aima-color-text-muted);
		font-size: 1rem;
		line-height: 1.95;
	}

	.aima-faq-item__answer p {
		margin: 0;
	}

	.aima-faq-item__answer p + p {
		margin-block-start: 0.75rem;
	}

	.aima-faq-policies {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.75fr);
		gap: clamp(2rem, 6vw, 6rem);
		align-items: start;
		padding: clamp(2rem, 5vw, 4rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-mist);
	}

	.aima-faq-policies h2 {
		font-size: clamp(1.65rem, 3.2vw, 2.65rem);
	}

	.aima-faq-policies ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.aima-faq-policies li + li {
		border-block-start: 1px solid rgb(16 37 30 / 13%);
	}

	.aima-faq-policies a {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		padding-block: 1rem;
		color: var(--aima-color-text);
		font-weight: 800;
		text-decoration: none;
	}

	.aima-faq-policies a:hover,
	.aima-faq-policies a:focus-visible {
		color: var(--aima-color-primary);
	}

	.aima-faq-cta {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: clamp(2rem, 6vw, 5rem);
		align-items: center;
		padding: clamp(2.5rem, 6vw, 5rem);
		border-radius: clamp(1rem, 3vw, 2rem);
		background: linear-gradient(135deg, #10251e 0%, #173a2f 100%);
		color: #fff;
	}

	.aima-faq-cta h2 {
		color: #fff;
	}

	.aima-faq-cta p:not(.aima-eyebrow) {
		max-width: 44rem;
		margin-block: 1rem 0;
		color: rgb(255 255 255 / 74%);
		line-height: 1.85;
	}

	.aima-faq-cta__actions {
		display: grid;
		gap: 1rem;
		justify-items: start;
	}
}

@media (max-width: 820px) {
	.aima-faq-layout {
		grid-template-columns: 1fr;
	}

	.aima-faq-index {
		position: static;
	}

	.aima-faq-index ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 1rem;
	}

	.aima-faq-index li:nth-child(2) {
		border-block-start: 0;
	}

	.aima-faq-policies,
	.aima-faq-cta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.aima-faq-page {
		width: min(100% - 1rem, var(--aima-wide-width));
		gap: 3.5rem;
	}

	.aima-faq-hero__copy {
		padding: 3.5rem 1.5rem;
	}

	.aima-faq-hero h1 {
		font-size: clamp(2.1rem, 10vw, 2.75rem);
	}

	.aima-faq-hero__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aima-faq-hero__facts > div:nth-child(3) {
		border-block-start: 1px solid rgb(255 255 255 / 12%);
		border-inline-start: 0;
	}

	.aima-faq-hero__facts > div:nth-child(4) {
		border-block-start: 1px solid rgb(255 255 255 / 12%);
	}

	.aima-faq-index ol {
		grid-template-columns: 1fr;
	}

	.aima-faq-index li:nth-child(2) {
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-faq-item summary {
		grid-template-columns: 1.75rem minmax(0, 1fr) 1.15rem;
	}

	.aima-faq-item__answer {
		padding-inline-start: calc(1.75rem + 0.75rem);
	}

	.aima-faq-policies,
	.aima-faq-cta {
		padding: 2rem 1.25rem;
	}

	.aima-faq-cta .aima-button {
		width: 100%;
		text-align: center;
	}
}

/* WordPress global styles are unlayered; keep FAQ dark-panel headings readable. */
.aima-faq-hero h1,
.aima-faq-cta h2 {
	color: #fff;
}

@layer components {
	.aima-account-page {
		width: min(100% - 2rem, 68rem);
		margin-inline: auto;
		padding-block: clamp(2.5rem, 7vw, 6rem);
	}

	.aima-account-hero {
		max-width: 46rem;
		margin-block-end: clamp(2rem, 5vw, 3.5rem);
	}

	.aima-account-hero h1 {
		margin-block-end: 1rem;
		font-family: var(--aima-font-serif);
		font-size: clamp(2.25rem, 6vw, 4.25rem);
	}

	.aima-account-hero > p:last-child {
		color: var(--aima-color-text-muted);
		line-height: 1.85;
	}

	.aima-account-grid {
		display: grid;
		gap: 1.25rem;
	}

	.aima-account-card {
		padding: clamp(1.5rem, 4vw, 2.5rem);
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-lg);
		background: var(--aima-color-surface);
	}

	.aima-account-card h2 {
		font-family: var(--aima-font-serif);
		font-size: clamp(1.5rem, 3vw, 2rem);
	}

	.aima-account-card > p {
		line-height: 1.8;
	}

	.aima-account-status {
		display: grid;
		gap: 0;
		margin-block: 1.5rem;
	}

	.aima-account-status > div {
		display: grid;
		grid-template-columns: minmax(7rem, 0.4fr) minmax(0, 1fr);
		gap: 1rem;
		padding-block: 0.9rem;
		border-block-end: 1px solid var(--aima-color-border);
	}

	.aima-account-status dt {
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
		font-weight: 800;
	}

	.aima-account-status dd {
		margin: 0;
		font-weight: 800;
	}

	.aima-account-login-status dd {
		overflow-wrap: anywhere;
	}

	@media (max-width: 32rem) {
		.aima-account-login-status > div {
			grid-template-columns: minmax(0, 1fr);
			gap: 0.4rem;
		}
	}

	.aima-account-settings-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem;
		margin-block-start: 1.5rem;
	}

	.aima-account-settings-actions .aima-button {
		flex: 1 1 15rem;
		justify-content: center;
		text-align: center;
	}

	.aima-account-card__notice {
		padding: 1rem;
		border-inline-start: 4px solid var(--aima-color-brass);
		background: #f8f5ef;
	}

	.aima-account-card form {
		margin-block-start: 1.5rem;
	}

	.aima-consultation-form {
		display: grid;
		gap: 0.7rem;
	}

	.aima-profile-form {
		display: grid;
		gap: 0.7rem;
	}

	.aima-consultation-form label,
	.aima-profile-form label {
		font-weight: 800;
	}

	.aima-consultation-form input:not([type="checkbox"]),
	.aima-consultation-form select,
	.aima-consultation-form textarea,
	.aima-profile-form input {
		width: 100%;
		padding: 0.8rem 0.9rem;
		border: 1px solid var(--aima-color-border-strong);
		border-radius: var(--aima-radius-md);
		background: #fff;
		color: var(--aima-color-text);
	}

	.aima-consultation-form textarea {
		resize: vertical;
	}

	.aima-consultation-slot {
		min-width: 0;
		margin: 0.4rem 0;
		padding: 0;
		border: 0;
	}

	.aima-consultation-slot legend {
		margin-block-end: 0.55rem;
		font-weight: 800;
	}

	.aima-consultation-slot__fields,
	.aima-consultation-slot__field {
		display: grid;
		gap: 0.45rem;
	}

	.aima-consultation-slot__fields {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
		gap: 0.75rem;
	}

	.aima-account-card button {
		cursor: pointer;
	}

	.aima-account-card__small {
		margin-block: 0.75rem 0;
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
	}

	.aima-account-practice {
		grid-column: 1 / -1;
	}

	.aima-practice-history {
		display: grid;
		gap: 1rem;
		margin-block-start: 1.5rem;
	}

	.aima-practice-history__item {
		overflow: hidden;
		border: 1px solid var(--aima-color-border);
		border-radius: var(--aima-radius-md);
		background: #fbfaf7;
	}

	.aima-practice-history__summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 1rem;
		padding: clamp(1rem, 3vw, 1.5rem);
		cursor: pointer;
		list-style: none;
	}

	.aima-practice-history__summary::-webkit-details-marker {
		display: none;
	}

	.aima-practice-history__summary:focus-visible {
		outline: 3px solid color-mix(in srgb, var(--aima-color-primary) 55%, transparent);
		outline-offset: -3px;
	}

	.aima-practice-history__toggle {
		flex: 0 0 auto;
		color: var(--aima-color-primary);
		font-size: 0.8125rem;
		font-weight: 800;
	}

	.aima-practice-history__toggle-open {
		display: none;
	}

	.aima-practice-history__details[open] .aima-practice-history__toggle-closed {
		display: none;
	}

	.aima-practice-history__details[open] .aima-practice-history__toggle-open {
		display: inline;
	}

	.aima-practice-history__content {
		padding: 0 clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.5rem);
		border-block-start: 1px solid var(--aima-color-border);
	}

	.aima-practice-history__lesson {
		margin-block: 1rem 0;
		font-size: 0.8125rem;
		font-weight: 800;
	}

	.aima-practice-history__sharing {
		display: inline-flex;
		padding: 0.3rem 0.65rem;
		margin-block: 1rem 0;
		border-radius: 999px;
		background: var(--aima-color-mist);
		color: var(--aima-color-primary);
		font-size: 0.75rem;
		font-weight: 800;
	}

	.aima-practice-history__meta {
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem;
		color: var(--aima-color-text-muted);
		font-size: 0.8125rem;
	}

	.aima-practice-history__body {
		margin-block-start: 1rem;
		white-space: pre-wrap;
		line-height: 1.85;
		overflow-wrap: anywhere;
	}

	.aima-account-card .aima-practice-history__delete {
		margin-block-start: 1rem;
		text-align: end;
	}

	.aima-practice-history__delete button {
		padding: 0;
		border: 0;
		background: transparent;
		color: #783126;
		font-size: 0.75rem;
		font-weight: 800;
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}
}

@media (min-width: 800px) {
	.aima-account-grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		align-items: start;
	}
}

/* WordPress global link colors are unlayered; keep every primary CTA readable. */
.aima-button--primary,
.aima-button--primary:visited,
.aima-button--primary:hover,
.aima-button--primary:focus-visible {
	color: #fff;
}
