/*
Theme Name: Alesia Portfolio
Author: Portfolio project
Description: Accessible block theme for an evidence-led educator portfolio.
Version: 1.5.11
Requires at least: 7.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: alesia-portfolio
*/

:root {
	--agp-paper: oklch(0.992 0.004 85);
	--agp-ink: oklch(0.235 0.035 38);
	--agp-muted: oklch(0.48 0.032 42);
	--agp-line: oklch(0.89 0.025 65);
	--agp-clay: oklch(0.59 0.188 35.8);
	--agp-clay-deep: oklch(0.43 0.145 33);
	--agp-clay-soft: oklch(0.94 0.04 45);
	--agp-green: oklch(0.48 0.075 151);
	--agp-green-soft: oklch(0.94 0.025 151);
	--agp-sky: oklch(0.64 0.105 235);
	--agp-sky-soft: oklch(0.955 0.026 235);
	--agp-sun: oklch(0.82 0.14 88);
	--agp-sun-soft: oklch(0.965 0.052 88);
	--agp-focus: oklch(0.53 0.19 252);
	--agp-radius-s: 0.5rem;
	--agp-radius-m: 1rem;
	--agp-radius-l: 1.75rem;
	--agp-shadow: 0 1.25rem 3.5rem color-mix(in oklch, var(--agp-ink) 10%, transparent);
	--agp-content: 76rem;
	--agp-reading: 46rem;
}

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

html {
	overflow-x: clip;
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

body {
	background: var(--agp-paper);
	color: var(--agp-ink);
	font-family: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 1.0625rem;
	font-kerning: normal;
	font-optical-sizing: auto;
	line-height: 1.68;
	margin: 0;
	overflow-x: clip;
	overflow-wrap: break-word;
}

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

a {
	color: var(--agp-clay-deep);
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--agp-clay);
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 0.2rem solid var(--agp-focus);
	outline-offset: 0.2rem;
}

.skip-link {
	background: var(--agp-ink);
	color: white;
	left: 1rem;
	padding: 0.75rem 1rem;
	position: fixed;
	top: 1rem;
	transform: translateY(-180%);
	z-index: 1000;
}

.skip-link:focus {
	transform: translateY(0);
}

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 46px;
	}
}

.site-header {
	backdrop-filter: blur(1rem);
	background: color-mix(in oklch, var(--agp-paper) 90%, transparent);
	border-bottom: 1px solid var(--agp-line);
	position: relative;
}

.site-header__inner,
.site-footer__inner,
.agp-shell {
	margin-inline: auto;
	max-width: var(--agp-content);
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	justify-content: space-between;
	min-height: 4.75rem;
}

.site-brand {
	align-items: center;
	color: var(--agp-ink);
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 750;
	gap: 0.75rem;
	letter-spacing: -0.01em;
	line-height: 1.15;
	max-width: 16rem;
	text-decoration: none;
}

.site-brand::before {
	align-items: center;
	background: var(--agp-clay);
	border-radius: 50% 50% 50% 0;
	color: white;
	content: "А";
	display: inline-flex;
	flex: 0 0 2.4rem;
	font-size: 1.1rem;
	height: 2.4rem;
	justify-content: center;
	transform: rotate(-8deg);
}

.site-brand span {
	transform: none;
}

.wp-block-navigation {
	font-size: 0.92rem;
	font-weight: 650;
}

.wp-block-navigation a {
	color: var(--agp-ink);
	text-decoration: none;
}

.agp-main {
	min-height: 60vh;
}

.agp-section {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.agp-section + .agp-section {
	border-top: 1px solid var(--agp-line);
}

.agp-section--tint {
	background: var(--agp-clay-soft);
}

.agp-section--green {
	background: var(--agp-green-soft);
}

.agp-section--sky {
	background: var(--agp-sky-soft);
}

.agp-section--contact {
	background:
		radial-gradient(circle at 8% 18%, color-mix(in oklch, var(--agp-sun) 48%, transparent) 0 4.5rem, transparent 4.6rem),
		var(--agp-sun-soft);
}

.agp-eyebrow {
	color: var(--agp-clay-deep);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-block: 0 1rem;
}

h1,
h2,
h3,
h4 {
	color: var(--agp-ink);
	font-weight: 760;
	hyphens: none;
	letter-spacing: -0.035em;
	line-height: 1.08;
	overflow-wrap: normal;
	text-wrap: balance;
	word-break: normal;
}

h1 {
	font-size: clamp(2.75rem, 5.6vw, 5.4rem);
	line-height: 1.03;
	margin-block: 0 1.5rem;
}

h2 {
	font-size: clamp(2rem, 4.2vw, 3.8rem);
	margin-block: 0 1rem;
}

h3 {
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

/* Long-form legal pages use a quieter, document-led typographic scale. */
.agp-legal-page .agp-reading {
	max-width: 50rem;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.agp-legal-page .agp-reading > h1 {
	font-size: clamp(2.25rem, 4.4vw, 3.5rem);
	font-weight: 760;
	letter-spacing: -0.025em;
	line-height: 1.08;
	margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
	max-width: 22ch;
}

.agp-legal-page .wp-block-post-content {
	font-size: 1.0625rem;
	line-height: 1.72;
	max-width: 70ch;
	text-wrap: pretty;
}

.agp-legal-page .wp-block-post-content > :where(p, ul, ol) {
	margin-block: 0 1.1rem;
}

.agp-legal-page .wp-block-post-content > p:first-child {
	color: var(--agp-muted);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1.5;
	margin-bottom: 1.35rem;
}

.agp-legal-page .wp-block-post-content h2 {
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	font-variant-numeric: tabular-nums;
	font-weight: 740;
	letter-spacing: -0.018em;
	line-height: 1.24;
	margin-block: clamp(2.35rem, 5vw, 3.25rem) 0.85rem;
}

.agp-legal-page .wp-block-post-content :where(p, li) {
	text-wrap: pretty;
}

.agp-legal-page .wp-block-post-content :where(ul, ol) {
	padding-left: 1.45em;
}

.agp-legal-page .wp-block-post-content li + li {
	margin-top: 0.4rem;
}

.agp-legal-page .wp-block-post-content :where(a, strong) {
	font-weight: 680;
}

.agp-lede {
	color: var(--agp-muted);
	font-size: clamp(1.15rem, 2vw, 1.42rem);
	line-height: 1.55;
	max-width: 42rem;
}

.agp-hero {
	background:
		linear-gradient(120deg, color-mix(in oklch, var(--agp-clay-soft) 80%, transparent), transparent 62%),
		var(--agp-paper);
	padding-block: clamp(3.5rem, 8vw, 7.5rem);
	position: relative;
}

.agp-hero::after {
	background-image: radial-gradient(var(--agp-clay) 1px, transparent 1px);
	background-size: 1.1rem 1.1rem;
	content: "";
	height: 7rem;
	position: absolute;
	right: 0;
	top: clamp(2rem, 6vw, 5rem);
	width: 8rem;
}

.agp-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
}

.agp-hero__name span {
	color: inherit;
	display: block;
	overflow-wrap: normal;
	word-break: normal;
	white-space: normal;

}

.agp-hero__name span + span {
	margin-top: 0.08em;
}

.agp-hero__media {
	isolation: isolate;
	position: relative;
}

.agp-hero__media::before {
	background: var(--agp-green);
	border-radius: 50%;
	content: "";
	height: 34%;
	left: -8%;
	position: absolute;
	top: -7%;
	width: 34%;
	z-index: -1;
}

.agp-hero__media img {
	aspect-ratio: 3 / 4;
	border-radius: 9rem 9rem var(--agp-radius-l) var(--agp-radius-l);
	box-shadow: var(--agp-shadow);
	object-fit: cover;
}

.agp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.wp-element-button,
.wp-block-button__link,
button {
	background: var(--agp-clay-deep);
	border: 2px solid var(--agp-clay-deep);
	border-radius: 999px;
	color: white;
	cursor: pointer;
	font: inherit;
	font-weight: 750;
	min-height: 3rem;
	padding: 0.7rem 1.25rem;
	text-decoration: none;
}

.is-style-outline > .wp-block-button__link,
.agp-button--outline {
	background: transparent;
	color: var(--agp-clay-deep);
}

.wp-element-button:hover,
.wp-block-button__link:hover,
button:hover {
	background: var(--agp-clay);
	border-color: var(--agp-clay);
	color: white;
}

.agp-link-arrow::after {
	content: "↗";
	display: inline-block;
	font-weight: 800;
	margin-left: 0.4em;
	transform: translateX(0) rotate(0);
	transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.agp-link-arrow:hover::after,
.agp-link-arrow:focus-visible::after {
	transform: translateX(0.38rem) rotate(-5deg);
}

.agp-proof-strip {
	border-block: 1px solid var(--agp-line);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.agp-proof {
	padding: 1.5rem clamp(1rem, 3vw, 2.25rem);
}

.agp-proof + .agp-proof {
	border-left: 1px solid var(--agp-line);
}

.agp-proof strong {
	display: block;
	font-size: 1.05rem;
}

.agp-proof span {
	color: var(--agp-muted);
	font-size: 0.92rem;
}

.agp-section-head {
	display: grid;
	gap: 1rem 3rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.agp-section-head > * {
	margin-block: 0;
}

.agp-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agp-card {
	background: var(--agp-paper);
	border: 1px solid var(--agp-line);
	border-radius: var(--agp-radius-m);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.agp-card--feature {
	border-top: 0.35rem solid var(--agp-clay);
}

.agp-card--green {
	border-top-color: var(--agp-green);
}

.agp-card p:last-child {
	margin-bottom: 0;
}

.agp-card__number {
	color: var(--agp-clay-deep);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.agp-card figure,
.agp-event-card figure {
	margin: -2rem -2rem 1.5rem;
}

.agp-card img,
.agp-event-card img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

.agp-event-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.agp-event-card {
	background: white;
	border: 1px solid var(--agp-line);
	border-radius: var(--agp-radius-m);
	grid-column: span 4;
	overflow: hidden;
	padding: 2rem;
}

.agp-event-card:first-child,
.agp-event-card:nth-child(5n) {
	grid-column: span 8;
}

.agp-event-card:first-child img,
.agp-event-card:nth-child(5n) img {
	aspect-ratio: 16 / 8;
}

.agp-meta {
	color: var(--agp-muted);
	font-size: 0.88rem;
	font-weight: 650;
}

.agp-reading {
	margin-inline: auto;
	max-width: var(--agp-reading);
}

.agp-quote {
	background: var(--agp-clay-soft);
	border-radius: var(--agp-radius-m);
	font-size: clamp(1.3rem, 2.5vw, 2rem);
	font-weight: 650;
	line-height: 1.4;
	margin: 0;
	padding: clamp(1.5rem, 4vw, 2.75rem);
}

.agp-about-profile {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr);
}

.agp-about-photo {
	margin: 0;
	position: relative;
}

.agp-about-photo::before {
	background: var(--agp-sun);
	border-radius: 50%;
	content: "";
	height: 6rem;
	position: absolute;
	right: -1.25rem;
	top: -1.25rem;
	width: 6rem;
	z-index: -1;
}

.agp-about-photo img {
	aspect-ratio: 4 / 5;
	border-radius: 7rem 7rem var(--agp-radius-m) var(--agp-radius-m);
	object-fit: cover;
	width: 100%;
}

.agp-role {
	font-size: clamp(1.55rem, 3vw, 2.4rem);
	font-weight: 760;
	letter-spacing: -0.03em;
	line-height: 1.15;
	margin-top: 0;
}

.agp-about-facts dl {
	border-block: 1px solid var(--agp-line);
	margin-block: 1.5rem;
}

.agp-about-facts dl div {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr);
	padding-block: 0.9rem;
}

.agp-about-facts dl div + div {
	border-top: 1px solid var(--agp-line);
}

.agp-about-facts dt {
	color: var(--agp-muted);
	font-size: 0.88rem;
	font-weight: 700;
}

.agp-about-facts dd {
	font-weight: 650;
	margin: 0;
}

.agp-contact-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.25rem;
}

.agp-contact-links a {
	font-weight: 720;
}

.agp-contact-links--large {
	align-items: flex-start;
	flex-direction: column;
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	margin-top: 2rem;
}

.agp-personal-voice {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	margin-top: clamp(3rem, 7vw, 6rem);
}

.agp-personal-voice blockquote,
.agp-voice-lines {
	border-radius: var(--agp-radius-m);
	margin: 0;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.agp-personal-voice blockquote {
	background: var(--agp-clay-deep);
	color: white;
}

.agp-personal-voice blockquote span {
	color: color-mix(in oklch, white 74%, var(--agp-clay-deep));
	font-size: 0.84rem;
	font-weight: 750;
}

.agp-personal-voice blockquote p {
	font-size: clamp(1.2rem, 2.4vw, 1.8rem);
	font-weight: 650;
	line-height: 1.45;
	margin-bottom: 0;
}

.agp-voice-lines {
	background: var(--agp-sun-soft);
}

.agp-voice-lines p {
	margin-block: 0;
}

.agp-voice-lines p + p {
	border-top: 1px solid color-mix(in oklch, var(--agp-sun) 55%, var(--agp-line));
	margin-top: 1rem;
	padding-top: 1rem;
}

.agp-voice-lines strong {
	display: block;
	font-size: 0.84rem;
	margin-bottom: 0.2rem;
}

.agp-education-pair {
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: 1fr 1fr;
}

.agp-education-pair article {
	background: var(--agp-paper);
	border-top: 0.45rem solid var(--agp-sky);
	border-radius: var(--agp-radius-m);
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.agp-education-pair article:nth-child(2) {
	border-top-color: var(--agp-clay);
}

.agp-education-pair time {
	color: var(--agp-clay-deep);
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 800;
	letter-spacing: -0.04em;
}

.agp-education-pair h3 {
	margin-block: 1rem 0.8rem;
}

.agp-education-pair p:last-child {
	margin-bottom: 0;
}

.agp-documentation {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
}

.agp-documentation > section {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(12rem, 0.36fr) minmax(0, 1fr);
}

.agp-documentation > section + section {
	border-top: 1px solid var(--agp-line);
	padding-top: clamp(2rem, 5vw, 4rem);
}

.agp-documentation h3 {
	margin: 0;
}

.agp-resource-list {
	counter-reset: resource;
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.agp-resource-list li {
	border-top: 1px solid var(--agp-line);
	counter-increment: resource;
	padding: 1rem 0 1rem 3.3rem;
	position: relative;
}

.agp-resource-list li::before {
	color: var(--agp-clay-deep);
	content: counter(resource, decimal-leading-zero);
	font-size: 0.82rem;
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 1.15rem;
}

.agp-resource-list li:last-child {
	border-bottom: 1px solid var(--agp-line);
}

.agp-resource-list a {
	display: block;
	text-decoration: none;
}

.agp-resource-list strong,
.agp-resource-list span,
.agp-resource-list em {
	display: block;
}

.agp-resource-list span,
.agp-resource-list em {
	color: var(--agp-muted);
	font-size: 0.92rem;
	font-style: normal;
	margin-top: 0.25rem;
}

.agp-resource-list .is-pending,
.agp-resource-list--technology li {
	background: color-mix(in oklch, var(--agp-sun-soft) 68%, transparent);
	padding-right: 1rem;
}

.agp-resource-list--technology em {
	color: var(--agp-clay-deep);
	font-weight: 650;
}

.agp-resource-note {
	border-left: 3px solid var(--agp-clay);
	color: var(--agp-muted);
	font-size: 0.88rem;
	margin: 1rem 0 0;
	padding: 0.25rem 0 0.25rem 1rem;
}

.agp-practice-collection {
	border-bottom: 1px solid color-mix(in oklch, var(--agp-green) 36%, var(--agp-line));
}

.agp-practice-story {
	border-top: 1px solid color-mix(in oklch, var(--agp-green) 36%, var(--agp-line));
}

.agp-practice-story summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 0.6rem 1.5rem;
	grid-template-columns: minmax(8rem, 0.24fr) minmax(15rem, 0.38fr) minmax(18rem, 0.38fr) auto;
	list-style: none;
	padding-block: clamp(1.4rem, 3vw, 2.2rem);
}

.agp-practice-story summary::-webkit-details-marker {
	display: none;
}

.agp-story-kicker {
	color: var(--agp-green);
	font-size: 0.82rem;
	font-weight: 800;
}

.agp-story-title {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 760;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.agp-story-description {
	color: color-mix(in oklch, var(--agp-ink) 76%, var(--agp-green));
	font-size: 0.94rem;
	line-height: 1.5;
}

.agp-story-toggle {
	color: var(--agp-clay-deep);
	font-size: 0.82rem;
	font-weight: 750;
	white-space: nowrap;
}

.agp-story-toggle::after {
	content: "+";
	display: inline-block;
	font-size: 1.25rem;
	margin-left: 0.5rem;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.agp-practice-story[open] .agp-story-toggle::after {
	transform: rotate(45deg);
}

.agp-story-body {
	padding-bottom: clamp(2rem, 5vw, 4rem);
}

.agp-photo-ribbon {
	display: grid;
	gap: clamp(0.7rem, 2vw, 1.25rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
}

.agp-photo-ribbon figure {
	margin: 0;
	transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.agp-photo-ribbon figure:nth-child(3n + 1) {
	transform: rotate(-0.6deg);
}

.agp-photo-ribbon figure:nth-child(3n + 2) {
	transform: translateY(0.35rem) rotate(0.7deg);
}

.agp-photo-ribbon figure:hover,
.agp-photo-ribbon figure:focus-within {
	transform: translateY(-0.2rem) rotate(0);
}

.agp-photo-ribbon a {
	background: white;
	border-radius: var(--agp-radius-s);
	display: block;
	overflow: hidden;
}

.agp-photo-ribbon img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

.agp-photo-ribbon figcaption {
	background: rgb(255 255 255 / 88%);
	border-radius: 0 0 var(--agp-radius-s) var(--agp-radius-s);
	color: var(--agp-muted);
	font-size: 0.88rem;
	line-height: 1.45;
	margin-top: -0.35rem;
	padding: 0.8rem 0.9rem 0.85rem;
}

.agp-video-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(1rem, 3vw, 2rem);
}

.agp-video-grid--single {
	grid-template-columns: minmax(0, 42rem);
}

.agp-video-grid figure {
	margin: 0;
}

.agp-video-grid video {
	background: var(--agp-ink);
	border-radius: var(--agp-radius-s);
	max-height: 34rem;
	width: 100%;
}

.agp-video-grid figcaption {
	color: color-mix(in oklch, var(--agp-ink) 76%, var(--agp-green));
	font-size: 0.88rem;
	font-weight: 650;
	padding-top: 0.5rem;
}

.agp-timeline {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.agp-timeline article {
	border-top: 2px solid var(--agp-clay);
	padding: 1.25rem 1.25rem 0 0;
	position: relative;
}

.agp-timeline article::before {
	background: var(--agp-clay);
	border: 0.3rem solid var(--agp-paper);
	border-radius: 50%;
	content: "";
	height: 1rem;
	left: 0;
	position: absolute;
	top: -0.56rem;
	width: 1rem;
}

.agp-timeline time {
	color: var(--agp-clay-deep);
	display: block;
	font-size: 0.9rem;
	font-weight: 800;
	margin-bottom: 0.5rem;
}

.agp-timeline h3 {
	font-size: 1.2rem;
	margin-block: 0 0.5rem;
}

.agp-timeline p {
	color: var(--agp-muted);
	font-size: 0.94rem;
	margin: 0;
}

.agp-achievement-split {
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: 1fr 1fr;
}

.agp-achievement-split article + article {
	border-left: 1px solid var(--agp-line);
	padding-left: clamp(2rem, 6vw, 5rem);
}

.agp-achievement-split h3 {
	margin-top: 0;
}

.agp-achievement-split li + li {
	margin-top: 0.75rem;
}

.agp-contact-layout {
	display: grid;
	gap: clamp(2rem, 7vw, 6rem);
	grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr);
}

.agp-contact-form p {
	margin-block: 0 1rem;
}

.agp-contact-form label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.35rem;
}

.agp-optional {
	color: var(--agp-muted);
	font-size: 0.82rem;
	font-weight: 500;
	margin-left: 0.35rem;
}

.agp-contact-form input:not([type="checkbox"]),
.agp-contact-form textarea,
.agp-contact-form select {
	background: white;
	border: 1px solid color-mix(in oklch, var(--agp-ink) 32%, transparent);
	border-radius: var(--agp-radius-s);
	color: var(--agp-ink);
	font: inherit;
	padding: 0.75rem;
	width: 100%;
}

.agp-contact-form textarea {
	resize: vertical;
}

.agp-form-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
}

.agp-consent label {
	display: grid;
	font-weight: 500;
	gap: 0.65rem;
	grid-template-columns: auto 1fr;
	line-height: 1.5;
	margin: 0;
}

.agp-consent input {
	accent-color: var(--agp-clay-deep);
	height: 1.15rem;
	margin-top: 0.22rem;
	width: 1.15rem;
}

.agp-consent-list {
	border-block: 1px solid var(--agp-line);
	margin-block: 1.5rem;
	padding-block: 1.25rem 0.25rem;
}

.agp-honeypot {
	left: -9999px;
	position: absolute;
}

.agp-form-help,
.agp-form-notice {
	color: var(--agp-muted);
	font-size: 0.88rem;
}

.agp-form-notice {
	background: var(--agp-green-soft);
	border: 1px solid var(--agp-green);
	border-radius: var(--agp-radius-s);
	padding: 1rem;
}

.agp-form-notice.is-error {
	background: var(--agp-clay-soft);
	border-color: var(--agp-clay-deep);
}

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

.agp-section--media {
	background:
		radial-gradient(circle at 8% 14%, color-mix(in oklch, var(--agp-sun-soft) 74%, transparent) 0 8rem, transparent 8.1rem),
		var(--agp-paper);
}

.agp-media-archive {
	border-top: 1px solid var(--agp-line);
}

.agp-media-story {
	align-items: center;
	border-bottom: 1px solid var(--agp-line);
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
	padding-block: clamp(2.5rem, 7vw, 5.5rem);
}

.agp-media-story:nth-of-type(even) .agp-media-story__visual {
	order: 2;
}

.agp-media-story:nth-of-type(even) .agp-media-story__copy {
	order: 1;
}

.agp-media-story__visual {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 1rem 1.6rem 1.6rem 0.5rem;
}

.agp-media-story__visual a {
	background: white;
	border: 1px solid color-mix(in oklch, var(--agp-line) 80%, black);
	box-shadow: 0 1rem 2rem color-mix(in oklch, var(--agp-ink) 14%, transparent);
	display: block;
	overflow: hidden;
	transform: rotate(-2.4deg);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.agp-media-story__visual a + a {
	margin: 1.8rem 0 0 -1rem;
	transform: rotate(2.8deg);
}

.agp-media-story__visual a:hover,
.agp-media-story__visual a:focus-visible {
	box-shadow: 0 1.25rem 2.5rem color-mix(in oklch, var(--agp-ink) 20%, transparent);
	position: relative;
	transform: rotate(0) translateY(-0.35rem);
	z-index: 2;
}

.agp-media-story__visual img {
	aspect-ratio: 0.7;
	display: block;
	object-fit: cover;
	object-position: top;
	width: 100%;
}

.agp-media-story__copy {
	max-width: 36rem;
}

.agp-media-story__copy time,
.agp-media-story__copy span {
	color: var(--agp-clay-deep);
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.agp-media-story__copy h3 {
	font-size: clamp(1.7rem, 3vw, 2.7rem);
	margin-block: 0.6rem 1rem;
}

.agp-media-story__copy p {
	color: var(--agp-muted);
	font-size: 1.04rem;
}

.agp-credential-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-bottom: 2rem;
}

.agp-filter-chip {
	background: transparent;
	border: 1px solid var(--agp-clay-deep);
	color: var(--agp-clay-deep);
	min-height: 2.65rem;
	padding: 0.5rem 1rem;
}

.agp-filter-chip.is-active {
	background: var(--agp-clay-deep);
	color: white;
}

.agp-credential-grid {
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.agp-credential {
	margin: 0;
}

.agp-credential > a {
	background: white;
	border: 1px solid var(--agp-line);
	border-radius: var(--agp-radius-s);
	display: block;
	overflow: hidden;
}

.agp-credential img {
	aspect-ratio: 4 / 3;
	object-fit: contain;
	width: 100%;
}

.agp-credential figcaption {
	display: grid;
	gap: 0.2rem;
	padding-top: 0.75rem;
}

.agp-credential figcaption span {
	color: var(--agp-muted);
	font-size: 0.82rem;
	font-weight: 650;
}

.agp-credential figcaption strong {
	font-size: 0.98rem;
	line-height: 1.35;
}

.agp-lightbox {
	background: var(--agp-paper);
	border: 0;
	border-radius: var(--agp-radius-m);
	box-shadow: 0 0.5rem 1rem color-mix(in oklch, black 24%, transparent);
	max-height: 92vh;
	max-width: min(92vw, 80rem);
	padding: clamp(1rem, 3vw, 2rem);
}

.agp-lightbox::backdrop {
	background: color-mix(in oklch, var(--agp-ink) 75%, transparent);
}

.agp-lightbox figure {
	display: grid;
	gap: 0.75rem;
	margin: 0;
}

.agp-lightbox img {
	max-height: 78vh;
	object-fit: contain;
	width: 100%;
}

.agp-lightbox__close {
	align-items: center;
	display: flex;
	font-size: 1.5rem;
	height: 2.75rem;
	justify-content: center;
	margin: 0 0 0.75rem auto;
	min-height: 0;
	padding: 0;
	width: 2.75rem;
}

.agp-archive-hero {
	background: var(--agp-clay-soft);
	padding-block: clamp(3rem, 7vw, 6rem);
}

.agp-filters {
	border-bottom: 1px solid var(--agp-line);
	margin-bottom: 2rem;
	padding-bottom: 2rem;
}

.agp-filters__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.agp-filters p {
	margin: 0;
}

.agp-filters label {
	display: block;
	font-size: 0.88rem;
	font-weight: 700;
	margin-bottom: 0.35rem;
}

.agp-filters select {
	background: white;
	border: 1px solid color-mix(in oklch, var(--agp-ink) 32%, transparent);
	border-radius: var(--agp-radius-s);
	color: var(--agp-ink);
	font: inherit;
	min-height: 3rem;
	padding: 0.6rem 2rem 0.6rem 0.75rem;
	width: 100%;
}

.agp-filter-reset {
	align-self: center;
	font-weight: 700;
}

.wp-block-query-pagination {
	align-items: center;
	border-top: 1px solid var(--agp-line);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 3rem;
	padding-top: 1.25rem;
}

.site-footer {
	background: #000;
	color: rgb(255 255 255 / 82%);
	margin-block-start: 0;
	padding-block: clamp(2.5rem, 6vw, 4rem) 2rem;
	width: 100%;
}

.site-footer a,
.site-footer .wp-block-site-title a {
	color: white;
}

.site-footer__inner {
	display: grid;
	gap: 2rem clamp(2rem, 7vw, 6rem);
	grid-template-columns: minmax(15rem, 1fr) minmax(18rem, auto);
}

.site-footer p {
	margin-block: 0.4rem;
}

.site-footer__identity h2,
.site-footer__identity .wp-block-site-title {
	color: white;
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	letter-spacing: -0.02em;
	margin: 0;
}

.site-footer__identity p {
	max-width: 32rem;
}

.site-footer__legal-links,
.site-footer__legal-links .wp-block-navigation__container {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.site-footer__legal-links a {
	text-decoration-color: rgb(255 255 255 / 45%);
}

.agp-legal-note {
	border-top: 1px solid rgb(255 255 255 / 18%);
	color: rgb(255 255 255 / 68%);
	font-size: 0.82rem;
	grid-column: 1 / -1;
	margin-top: 0.75rem !important;
	padding-top: 1.25rem;
}

.agp-section--parents {
	background:
		radial-gradient(circle at 92% 12%, color-mix(in oklch, var(--agp-sky) 20%, transparent) 0 9rem, transparent 9.1rem),
		linear-gradient(135deg, var(--agp-paper) 0 48%, var(--agp-green-soft) 48% 100%);
}

.agp-parents-layout {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 4.5rem);
	grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.35fr);
}

.agp-parent-guide {
	background: var(--agp-ink);
	border-radius: var(--agp-radius-l) var(--agp-radius-l) var(--agp-radius-l) 0.3rem;
	box-shadow: var(--agp-shadow);
	color: rgb(255 255 255 / 82%);
	padding: clamp(1.5rem, 4vw, 2.75rem);
	position: sticky;
	top: 6.25rem;
}

.agp-parent-guide h3 {
	color: white;
	font-size: clamp(1.8rem, 3.5vw, 3rem);
	margin-block: 0.65rem 1rem;
}

.agp-resource-badge {
	color: var(--agp-clay-deep);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.agp-parent-guide .agp-resource-badge {
	color: var(--agp-sun);
}

.agp-guide-skills {
	border-block: 1px solid rgb(255 255 255 / 18%);
	display: grid;
	gap: 0;
	list-style: none;
	margin-block: 1.75rem;
	padding: 0.45rem 0;
}

.agp-guide-skills li {
	align-items: center;
	display: flex;
	gap: 0.7rem;
	padding-block: 0.5rem;
}

.agp-guide-skills li::before {
	background: var(--agp-sun);
	border-radius: 50%;
	content: "";
	flex: 0 0 0.55rem;
	height: 0.55rem;
}

.agp-parent-guide__actions {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.agp-parent-guide__actions .wp-element-button {
	background: var(--agp-sun);
	color: var(--agp-ink);
}

.agp-parent-guide__actions > a:not(.wp-element-button) {
	color: white;
	font-weight: 650;
}

.agp-parent-guide__note {
	color: rgb(255 255 255 / 62%);
	font-size: 0.82rem;
	line-height: 1.5;
	margin-bottom: 0;
	margin-top: 1.75rem;
}

.agp-parent-practice {
	display: grid;
	gap: clamp(2.5rem, 6vw, 5rem);
}

.agp-parent-practice__head {
	max-width: 40rem;
}

.agp-parent-practice__head h3 {
	font-size: clamp(1.65rem, 3vw, 2.55rem);
	margin-block: 0.55rem 0.75rem;
}

.agp-parent-practice__head > p:last-child {
	color: var(--agp-muted);
}

.agp-support-phrases {
	background: rgb(255 255 255 / 86%);
	border: 1px solid var(--agp-line);
	border-radius: var(--agp-radius-l);
	box-shadow: 0 1rem 2.75rem color-mix(in oklch, var(--agp-ink) 7%, transparent);
	padding: clamp(1.4rem, 4vw, 2.75rem);
}

.agp-support-phrases ol {
	counter-reset: support-phrase;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}

.agp-support-phrases li {
	border-top: 1px solid var(--agp-line);
	counter-increment: support-phrase;
	font-size: 1.05rem;
	font-weight: 720;
	line-height: 1.35;
	min-height: 7.5rem;
	padding: 1rem 1rem 1rem 0;
}

.agp-support-phrases li::before {
	color: var(--agp-clay);
	content: "0" counter(support-phrase);
	display: block;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	margin-bottom: 0.75rem;
}

.agp-parent-principles ol {
	display: grid;
	gap: 0;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}

.agp-parent-principles li {
	align-items: baseline;
	border-top: 1px solid color-mix(in oklch, var(--agp-green) 28%, var(--agp-line));
	display: grid;
	gap: 0.75rem 1.5rem;
	grid-template-columns: minmax(10rem, 0.7fr) minmax(0, 1.3fr);
	padding-block: 1.15rem;
}

.agp-parent-principles strong {
	color: var(--agp-green);
	font-size: 1.05rem;
}

.agp-parent-principles span {
	color: var(--agp-muted);
}

.agp-parent-presentation {
	align-items: center;
	background: var(--agp-sun-soft);
	border: 1px solid color-mix(in oklch, var(--agp-sun) 58%, var(--agp-line));
	border-radius: 0.35rem var(--agp-radius-l) var(--agp-radius-l) var(--agp-radius-l);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.agp-parent-presentation h3 {
	font-size: clamp(1.45rem, 2.5vw, 2.1rem);
	margin-block: 0.55rem 0.7rem;
}

.agp-parent-presentation p:last-child {
	color: var(--agp-muted);
	margin-bottom: 0;
}

.agp-parent-presentation .wp-element-button {
	white-space: nowrap;
}

@media (max-width: 56rem) {
	.agp-hero__grid,
	.agp-section-head,
	.agp-contact-layout,
	.agp-about-profile,
	.agp-documentation > section,
	.agp-parents-layout {
		grid-template-columns: 1fr;
	}

	.agp-parent-presentation {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.agp-parent-presentation .wp-element-button {
		justify-self: start;
		white-space: normal;
	}

	.agp-parent-guide {
		position: static;
	}

	.agp-media-story {
		grid-template-columns: 1fr;
	}

	.agp-media-story:nth-of-type(even) .agp-media-story__visual,
	.agp-media-story:nth-of-type(even) .agp-media-story__copy {
		order: initial;
	}

	.agp-media-story__visual {
		max-width: 36rem;
	}

	.agp-hero__media {
		margin-inline: auto;
		max-width: 28rem;
	}

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

	.agp-event-card,
	.agp-event-card:first-child,
	.agp-event-card:nth-child(5n) {
		grid-column: span 6;
	}

	.site-header__inner {
		min-height: 4.25rem;
	}

	.agp-timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 2.5rem;
	}

	.agp-about-photo {
		max-width: 28rem;
	}

	.agp-practice-story summary {
		grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 0.65fr) auto;
	}

	.agp-story-description {
		grid-column: 2 / -1;
	}
}

@media (max-width: 38rem) {
	html {
		scroll-padding-top: 4.5rem;
	}

	.agp-grid,
	.agp-form-grid,
	.site-footer__inner,
	.agp-timeline,
	.agp-achievement-split,
	.agp-personal-voice,
	.agp-education-pair,
	.agp-video-grid {
		grid-template-columns: 1fr;
	}

	.agp-support-phrases ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.agp-about-facts dl div {
		gap: 0.25rem;
		grid-template-columns: 1fr;
	}

	.agp-media-story__visual {
		padding-inline: 0.2rem 0.7rem;
	}

	.agp-practice-story summary {
		grid-template-columns: 1fr auto;
	}

	.agp-story-kicker,
	.agp-story-title,
	.agp-story-description {
		grid-column: 1 / -1;
	}

	.agp-story-toggle {
		grid-column: 1 / -1;
		white-space: normal;
	}

	.agp-achievement-split article + article {
		border-left: 0;
		border-top: 1px solid var(--agp-line);
		padding-left: 0;
		padding-top: 2rem;
	}

	.agp-event-card,
	.agp-event-card:first-child,
	.agp-event-card:nth-child(5n) {
		grid-column: 1 / -1;
	}

	.agp-proof-strip {
		grid-template-columns: 1fr;
	}

	.agp-proof + .agp-proof {
		border-left: 0;
		border-top: 1px solid var(--agp-line);
	}

	.agp-support-phrases ol,
	.agp-parent-principles li {
		grid-template-columns: 1fr;
	}

	.agp-support-phrases li {
		min-height: 0;
		padding-block: 1rem;
	}

	h1 {
		font-size: clamp(2.25rem, 11.5vw, 3.5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.site-header,
	.site-footer,
	.agp-contact-form,
	.wp-block-query-pagination {
		display: none !important;
	}

	body {
		background: white;
		color: black;
	}

	a {
		color: black;
	}
}
