/* ==========================================================================
   Au Milieu theme styles
   Design idea: two overlapping circles (parent and baby) and the lens where
   they meet. "Au milieu" means "in the midst": the work happens in the middle.
   Colours, type and spacing live in theme.json; this file adds the few things
   theme.json cannot express.
   ========================================================================== */

:root {
	--am-radius: 22px;
	--am-radius-sm: 14px;
	--am-shadow: 0 1px 2px rgba(29, 58, 27, .06), 0 10px 30px -12px rgba(29, 58, 27, .18);
	--am-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }
img { height: auto; }

h1, h2, h3 { text-wrap: balance; font-variation-settings: "SOFT" 50, "WONK" 0; }
p { text-wrap: pretty; }

:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--amber);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Skip link (WordPress adds it; make it visible on focus) */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--forest-deep);
	color: #fff;
	padding: .8rem 1.2rem;
	border-radius: 999px;
	z-index: 100000;
}

/* ---------- Header ---------- */
.am-topbar { font-size: .875rem; }
.am-topbar a { color: inherit; text-decoration-color: rgba(255,255,255,.4); }
.am-topbar a:hover { color: var(--wp--preset--color--sun); }

.am-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--cream);
	/* No backdrop-filter: it would trap the full-screen mobile menu inside the header */
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .am-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .am-header { top: 0; } }

.am-brand { text-decoration: none !important; display: inline-flex; align-items: center; gap: .7rem; color: var(--wp--preset--color--forest-deep) !important; }
.am-brand img { width: 62px; height: auto; display: block; }
.am-brand__name { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.3rem; line-height: 1; letter-spacing: -.01em; display: block; }
.am-brand__tag { font-size: .72rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--muted); display: block; margin-top: .3rem; }
@media (max-width: 420px) { .am-brand__tag { display: none; } .am-brand img { width: 50px; } }

.am-header .wp-block-navigation a { text-decoration: none; }
.am-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--amber-deep); }
.am-header .wp-block-navigation .current-menu-item > a,
.am-header .wp-block-navigation [aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--leaf);
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
}
.am-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--am-radius-sm);
	box-shadow: var(--am-shadow);
	padding: .5rem !important;
	min-width: 240px !important;
}
.am-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .8rem !important; border-radius: 10px; }
.am-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--leaf-soft); }
.am-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem clamp(1rem, 5vw, 2rem) 2rem;
}
.am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	font-size: 1.35rem; gap: 1.1rem; padding-top: 3.5rem;
}
.am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	font-size: 1.05rem; border: 0 !important; box-shadow: none; padding: .5rem 0 0 1rem !important;
}
.am-header__actions .wp-block-button__link { padding: .7em 1.25em; font-size: .95rem; }
@media (max-width: 600px) { .am-header__refer { display: none; } }

/* ---------- Typography helpers ---------- */
.is-style-eyebrow {
	font-size: .8rem !important;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--amber-deep);
	display: inline-flex;
	align-items: center;
	gap: .6rem;
}
.is-style-eyebrow::before {
	content: "";
	width: 26px; height: 16px; flex: none;
	background:
		radial-gradient(circle at 8px 8px, var(--wp--preset--color--leaf) 7.5px, transparent 8px),
		radial-gradient(circle at 18px 8px, var(--wp--preset--color--amber) 7.5px, transparent 8px);
	opacity: .95;
}
.has-text-align-center.is-style-eyebrow { justify-content: center; }
.has-forest-deep-background-color .is-style-eyebrow,
.has-forest-background-color .is-style-eyebrow { color: var(--wp--preset--color--sun); }

.is-style-lead { font-size: var(--wp--preset--font-size--medium) !important; line-height: 1.55; color: var(--wp--preset--color--muted); }
.has-forest-deep-background-color .is-style-lead, .has-forest-background-color .is-style-lead { color: rgba(255,255,255,.85); }

.am-display-italic em, h1 em, h2 em { font-style: italic; color: var(--wp--preset--color--forest); font-weight: 400; }
.has-forest-deep-background-color h2 em, .has-forest-background-color h2 em { color: var(--wp--preset--color--sun); }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .2s var(--am-ease), transform .2s var(--am-ease), box-shadow .2s var(--am-ease); }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-sun .wp-block-button__link { background: var(--wp--preset--color--amber); color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-sun .wp-block-button__link:hover { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: var(--wp--preset--color--forest-deep); box-shadow: inset 0 0 0 2px var(--wp--preset--color--forest); }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: #fff; }
.wp-block-button.is-style-on-dark .wp-block-button__link { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--forest-deep); }
.wp-block-button.is-style-on-dark .wp-block-button__link:hover { background: var(--wp--preset--color--sun); }
.am-arrow-link a, a.am-arrow-link { font-weight: 650; text-decoration: none; }
.am-arrow-link a::after, a.am-arrow-link::after { content: " \2192"; transition: margin .2s var(--am-ease); }
.am-arrow-link a:hover::after, a.am-arrow-link:hover::after { margin-left: .25em; }

/* ---------- Surfaces ---------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--am-radius);
	padding: clamp(1.4rem, 3vw, 2rem);
	box-shadow: 0 1px 0 rgba(29,58,27,.03);
}
.wp-block-group.is-style-panel {
	background: var(--wp--preset--color--paper);
	border-radius: calc(var(--am-radius) + 8px);
	padding: clamp(1.5rem, 4vw, 3rem);
}
.wp-block-group.is-style-door {
	position: relative;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--am-radius);
	padding: clamp(1.5rem, 3vw, 2.1rem);
	height: 100%;
	overflow: hidden;
	transition: transform .25s var(--am-ease), box-shadow .25s var(--am-ease), border-color .25s;
}
.wp-block-group.is-style-door::after {
	content: "";
	position: absolute; right: -40px; top: -40px;
	width: 120px; height: 120px; border-radius: 50%;
	background: var(--am-door, var(--wp--preset--color--leaf-soft));
	transition: transform .4s var(--am-ease);
	z-index: 0;
}
.wp-block-group.is-style-door > * { position: relative; z-index: 1; }
.wp-block-group.is-style-door:hover { transform: translateY(-3px); box-shadow: var(--am-shadow); border-color: transparent; }
.wp-block-group.is-style-door:hover::after { transform: scale(1.25); }
/* Make the whole door clickable via its arrow link */
.wp-block-group.is-style-door .am-arrow-link a::before { content: ""; position: absolute; inset: 0; z-index: 2; }
.am-door--sun { --am-door: var(--wp--preset--color--sun-soft); }
.am-door--amber { --am-door: #FFE3B0; }

/* Two-circle motif used as a background on hero and bands */
.am-circles { position: relative; isolation: isolate; overflow: hidden; }
.am-circles::before, .am-circles::after {
	content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none;
}
.am-circles::before { width: 46vw; max-width: 640px; aspect-ratio: 1; background: var(--wp--preset--color--leaf-soft); left: -14vw; top: -18vw; }
.am-circles::after { width: 34vw; max-width: 480px; aspect-ratio: 1; background: var(--wp--preset--color--sun-soft); right: -10vw; bottom: -16vw; }
.am-dark.am-circles::before, .am-footer.am-circles::before { background: rgba(128, 209, 77, .12); }
.am-dark.am-circles::after, .am-footer.am-circles::after { background: rgba(255, 229, 72, .10); }

/* Sections sit flush against each other (no cream strips between bands) */
.wp-block-post-content > section.alignfull,
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-site-blocks > header, .wp-site-blocks > footer, .wp-site-blocks > main { margin-block-start: 0 !important; }
main > .wp-block-post-content { margin-block-start: 0 !important; }

/* ---------- Images ---------- */
.wp-block-image.is-style-lens { position: relative; isolation: isolate; margin-inline: auto; }
.wp-block-image.is-style-lens img { aspect-ratio: 1; width: 100%; object-fit: cover; border-radius: 50%; display: block; }
.wp-block-image.is-style-lens::before,
.wp-block-image.is-style-lens::after { content: ""; position: absolute; border-radius: 50%; aspect-ratio: 1; pointer-events: none; }
.wp-block-image.is-style-lens::before { width: 58%; left: -14%; bottom: -6%; background: var(--wp--preset--color--leaf); z-index: -1; }
.wp-block-image.is-style-lens::after { width: 46%; right: -10%; top: -6%; background: var(--wp--preset--color--sun); mix-blend-mode: multiply; opacity: .9; }
.wp-block-image.is-style-arch img { border-radius: 999px 999px var(--am-radius) var(--am-radius); aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.wp-block-image.is-style-rounded img, .am-rounded img { border-radius: var(--am-radius); }

/* Hero */
.am-hero { padding-top: clamp(2.5rem, 7vw, 6rem); padding-bottom: clamp(3rem, 8vw, 7rem); }
.am-hero h1 { max-width: 13ch; }
.am-hero__art { max-width: 500px; margin-inline: auto; padding: 0 6% 0 12%; }
@media (max-width: 781px) { .am-hero__art { max-width: 340px; margin-top: 1rem; } }
.am-reassure { font-size: .92rem; color: var(--wp--preset--color--muted); display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.am-reassure span::before { content: "\2713"; color: var(--wp--preset--color--forest); font-weight: 800; margin-right: .4rem; }

/* ---------- Lists ---------- */
.wp-block-list.is-style-checks { list-style: none; padding-left: 0; }
.wp-block-list.is-style-checks li { position: relative; padding-left: 2rem; margin-bottom: .55rem; }
.wp-block-list.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .32em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--wp--preset--color--leaf-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.8' fill='none' stroke='%232F5A2C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 75% no-repeat;
}
.has-forest-deep-background-color .wp-block-list.is-style-checks li::before { background-color: rgba(255,255,255,.12); }
.wp-block-list.is-style-plain { list-style: none; padding-left: 0; }
.wp-block-list.is-style-plain li { margin-bottom: .45rem; }

/* ---------- Numbered steps ---------- */
.am-steps { counter-reset: am-step; }
.am-steps > .wp-block-column { counter-increment: am-step; position: relative; padding-top: 4.2rem; }
.am-steps > .wp-block-column::before {
	content: counter(am-step);
	position: absolute; top: 0; left: 0;
	width: 3rem; height: 3rem; border-radius: 50%;
	display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; font-weight: 600;
	background: var(--wp--preset--color--sun); color: var(--wp--preset--color--forest-deep);
}
.am-steps > .wp-block-column:nth-child(2)::before { background: var(--wp--preset--color--leaf); }
.am-steps > .wp-block-column:nth-child(3)::before { background: var(--wp--preset--color--amber); }
.am-steps > .wp-block-column:nth-child(4)::before { background: var(--wp--preset--color--leaf-soft); }

/* ---------- Stats ---------- */
.am-stat__num { font-family: var(--wp--preset--font-family--display); font-size: clamp(2.4rem, 5vw, 3.6rem) !important; line-height: 1 !important; font-weight: 500; color: var(--wp--preset--color--forest-deep); margin-bottom: .35rem !important; }
.has-forest-deep-background-color .am-stat__num { color: var(--wp--preset--color--sun); }
.am-stat__label { font-size: .95rem; color: var(--wp--preset--color--muted); margin-top: 0 !important; }
.has-forest-deep-background-color .am-stat__label { color: rgba(255,255,255,.8); }

/* ---------- Quotes ---------- */
.wp-block-quote.is-style-testimonial {
	background: var(--wp--preset--color--white);
	border-radius: var(--am-radius);
	padding: clamp(1.5rem, 3vw, 2.2rem);
	margin: 0;
	height: 100%;
	font-size: 1.2rem !important;
	position: relative;
	border: 1px solid var(--wp--preset--color--line);
	font-style: normal !important;
	font-size: 1.15rem !important;
}
.wp-block-quote.is-style-testimonial p { font-style: normal; font-variation-settings: "opsz" 24; }
.wp-block-quote.is-style-testimonial::before {
	content: "\201C"; font-family: var(--wp--preset--font-family--display);
	font-size: 4.5rem; line-height: 1; color: var(--wp--preset--color--amber); display: block; height: 2.2rem; font-style: normal;
}
.wp-block-quote.is-style-testimonial cite { display: block; margin-top: 1rem; font-family: var(--wp--preset--font-family--body); font-style: normal; font-size: .9rem; color: var(--wp--preset--color--muted); }
.am-quote-big { font-family: var(--wp--preset--font-family--display); }

/* ---------- People ---------- */
.am-person { text-align: left; }
.am-avatar {
	width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.5rem !important; line-height: 1 !important;
	background: var(--wp--preset--color--leaf-soft); color: var(--wp--preset--color--forest-deep); margin-bottom: .2rem !important;
	position: relative; isolation: isolate;
}
.am-avatar::after { content: ""; position: absolute; width: 34px; height: 34px; border-radius: 50%; right: -6px; bottom: -4px; background: var(--wp--preset--color--sun); mix-blend-mode: multiply; z-index: -1; }
.am-person:nth-child(3n+2) .am-avatar { background: var(--wp--preset--color--sun-soft); }
.am-person:nth-child(3n+2) .am-avatar::after { background: var(--wp--preset--color--leaf); }
.am-person:nth-child(3n) .am-avatar { background: #FFE3B0; }
.am-role { color: var(--wp--preset--color--amber-deep); font-weight: 650; font-size: .92rem; }
.am-person .wp-block-details summary { font-size: .95rem; }

/* ---------- Details / FAQ ---------- */
.wp-block-details summary { cursor: pointer; font-weight: 650; list-style: none; position: relative; padding-right: 2.2rem; color: var(--wp--preset--color--forest-deep); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--leaf-soft); font-weight: 700; transition: transform .25s var(--am-ease);
}
.wp-block-details[open] summary::after { content: "\2212"; background: var(--wp--preset--color--sun); }
.wp-block-details[open] > summary { margin-bottom: .6rem; }
.am-person .wp-block-details { border: 0; padding: 0; }
.am-person .wp-block-details summary::after { width: 1.3rem; height: 1.3rem; font-size: .85rem; }

/* ---------- Tables (fees) ---------- */
.am-fees table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border-radius: var(--am-radius-sm); overflow: hidden; border: 1px solid var(--wp--preset--color--line); }
.am-fees td, .am-fees th { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: .95rem 1.1rem; vertical-align: top; }
.am-fees tr:last-child td { border-bottom: 0; }
.am-fees td:last-child { text-align: right; font-weight: 700; white-space: nowrap; color: var(--wp--preset--color--forest-deep); }
.am-fees thead th { background: var(--wp--preset--color--forest-deep); color: #fff; text-align: left; font-weight: 650; }
.am-fees thead th:last-child { text-align: right; }

/* ---------- Seminars ---------- */
.am-seminar { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: start; }
.am-date {
	min-width: 4.6rem; text-align: center; border-radius: 16px; padding: .6rem .5rem;
	background: var(--wp--preset--color--forest-deep); color: #fff; line-height: 1.1;
}
.am-date strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.9rem; font-weight: 500; }
.am-date span { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.am-tag { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .04em; padding: .25rem .65rem; border-radius: 999px; background: var(--wp--preset--color--leaf-soft); color: var(--wp--preset--color--forest-deep); margin-right: .35rem; }
.am-tag--past { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--muted); }

/* ---------- Placeholders the team must fill before launch ---------- */
.am-todo {
	background: var(--wp--preset--color--sun-soft);
	outline: 2px dashed var(--wp--preset--color--amber);
	outline-offset: 2px;
	border-radius: 4px;
	padding: 0 .25em;
}

/* ---------- Footer ---------- */
.am-footer a { color: rgba(255,255,255,.88); text-decoration: none; }
.am-footer a:hover { color: var(--wp--preset--color--sun); text-decoration: underline; }
.am-footer h2, .am-footer h3, .am-footer h4 { color: #fff; }
.am-footer .wp-block-list { list-style: none; padding-left: 0; }
.am-footer .wp-block-list li { margin-bottom: .55rem; }
.am-footer__heading { font-family: var(--wp--preset--font-family--body) !important; font-size: .78rem !important; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--sun) !important; font-weight: 700 !important; }
.am-footer .am-brand { color: #fff !important; }
.am-footer .am-brand__tag { color: rgba(255,255,255,.7); }
.am-footer .wp-block-social-links .wp-social-link { background: rgba(255,255,255,.1) !important; color: #fff !important; }
.am-footer .wp-block-social-links .wp-social-link:hover { background: var(--wp--preset--color--sun) !important; color: var(--wp--preset--color--forest-deep) !important; }
.am-footer .wp-block-social-links .wp-social-link a { color: inherit !important; }

/* ---------- Posts ---------- */
.am-post-card { height: 100%; }
.am-post-card .wp-block-post-featured-image img { border-radius: var(--am-radius-sm); aspect-ratio: 16 / 10; object-fit: cover; }
.am-post-card .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--forest-deep); }
.am-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--amber-deep); }
.wp-block-query-pagination a { text-decoration: none; font-weight: 650; }
.am-prose > * + h2 { margin-top: 2.5rem; }
.am-prose > * + h3 { margin-top: 2rem; }

/* ---------- Columns gap on mobile ---------- */
@media (max-width: 781px) {
	.wp-block-columns { gap: 1.5rem; }
	.am-steps { row-gap: 2rem; }
}

/* ---------- Gentle reveal (only when motion is OK) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.am-hero h1, .am-hero .is-style-lead, .am-hero .wp-block-buttons { animation: am-rise .8s var(--am-ease) both; }
	.am-hero .is-style-lead { animation-delay: .08s; }
	.am-hero .wp-block-buttons { animation-delay: .16s; }
	.am-hero__art { animation: am-fade 1.1s var(--am-ease) both .1s; }
	@keyframes am-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
	@keyframes am-fade { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Print */
@media print {
	.am-header, .am-topbar, .am-footer, .wp-block-buttons { display: none !important; }
}

/* ---------- Layout helpers used by the patterns ---------- */
.am-narrow > * { max-width: 46rem; }
.am-narrow--wide > * { max-width: 56rem; }
.am-narrow--center > * { margin-left: auto !important; margin-right: auto !important; }
.am-narrow--center { text-align: center; }
.am-narrow--center .wp-block-buttons { justify-content: center; }
.am-stats { margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--line); }
.am-dark .am-stats { border-top-color: rgba(255,255,255,.18); }
section.wp-block-group > .am-narrow + * { margin-top: var(--wp--preset--spacing--40); }

/* Dark sections: keep text and links readable */
.am-dark, .am-dark p, .am-dark li { color: #fff; }
.am-dark h2, .am-dark h3 { color: #fff; }
.am-dark a:not(.wp-block-button__link) { color: var(--wp--preset--color--sun); }
.am-dark .is-style-card, .am-dark .is-style-card p, .am-dark .is-style-card h3 { color: var(--wp--preset--color--ink); }
.am-dark .is-style-card h3 { color: var(--wp--preset--color--forest-deep); }
.am-dark .wp-block-button.is-style-ghost .wp-block-button__link { color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.am-dark .is-style-card .wp-block-button.is-style-ghost .wp-block-button__link { color: var(--wp--preset--color--forest-deep); box-shadow: inset 0 0 0 2px var(--wp--preset--color--forest); }
.am-dark .wp-block-button.is-style-ghost .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--forest-deep); }
.am-dark .wp-block-columns > .wp-block-column > .is-style-card + .is-style-card { margin-top: 1.25rem; }

/* Quote without card (used in dark band and About) */
.wp-block-quote.is-style-plain { border: 0; padding: 0; margin: 1.5rem 0 0; font-size: var(--wp--preset--font-size--medium) !important; }
.wp-block-quote.is-style-plain p { font-family: var(--wp--preset--font-family--display); font-style: italic; }
.wp-block-quote.is-style-plain cite { display: block; margin-top: .6rem; font-size: .88rem; font-style: normal; font-family: var(--wp--preset--font-family--body); opacity: .8; }

/* Urgent help callout */
.am-urgent { border-left: 6px solid var(--wp--preset--color--amber) !important; margin-top: var(--wp--preset--spacing--50) !important; }

/* Gift Aid visual: two overlapping circles */
.am-giftaid { display: flex; justify-content: center; align-items: center; margin: 0; }
.am-giftaid span { width: 120px; height: 120px; border-radius: 50%; display: grid; place-items: center; font-family: var(--wp--preset--font-family--display); font-size: 2rem; font-weight: 600; color: var(--wp--preset--color--forest-deep); }
.am-giftaid span:first-child { background: var(--wp--preset--color--leaf); }
.am-giftaid span:last-child { background: var(--wp--preset--color--sun); margin-left: -34px; mix-blend-mode: multiply; }

/* Grids: equal-height cards */
.wp-block-group.is-layout-grid > .is-style-card { height: 100%; }
.is-style-card > :first-child { margin-top: 0; }
.is-style-card .wp-block-buttons { margin-top: 1.25rem; }
.am-person p { font-size: .97rem; }
.am-person .am-role { font-size: .9rem; margin-top: .25rem; }
.am-person h3 { margin-top: .9rem; }
.am-fees small { color: var(--wp--preset--color--muted); font-size: .88rem; font-weight: 400; }

/* ---------- Header: responsive behaviour ---------- */
.am-brand__name, .am-header .wp-block-button__link { white-space: nowrap; }
.am-header .wp-block-navigation__responsive-container-open { order: 3; }
@media (max-width: 1100px) {
	/* Switch to the menu button earlier than WordPress's default 600px so items never wrap */
	.am-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.am-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
	.am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static !important; opacity: 1 !important; visibility: visible !important; height: auto !important; width: auto !important; box-shadow: none !important; border: 0 !important; background: transparent !important; }
	.am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
	.am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column !important; align-items: flex-start !important; }
	.am-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; display: flex !important; z-index: 100000; }
}
.am-header .wp-block-navigation__responsive-container-open svg, .am-header .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
@media (max-width: 600px) {
	.am-header .am-header__refer { display: none !important; }
	.am-topbar p:first-child { display: none; }
	.am-topbar .wp-block-group { justify-content: center !important; }
}

/* ---------- Footer: two link columns side by side on phones ---------- */
@media (max-width: 781px) {
	.am-footer .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2rem 1.25rem !important; }
	.am-footer .wp-block-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
}
@media (max-width: 1100px) { .am-header .wp-block-navigation { order: 2; } .am-header .am-header__actions { order: 1; } }

/* ---------- Open mobile menu ---------- */
.am-header .is-menu-open .wp-block-navigation__responsive-container-content,
.am-header .is-menu-open .wp-block-navigation__container,
.am-header .is-menu-open .wp-block-navigation-item,
.am-header .is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.am-header .is-menu-open .wp-block-navigation__responsive-container-content { padding: 4.5rem clamp(1.25rem, 6vw, 3rem) 2rem !important; gap: 0 !important; }
.am-header .is-menu-open .wp-block-navigation__container { gap: .2rem !important; width: 100%; }
.am-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.75rem; font-weight: 500; padding: .35rem 0 !important; color: var(--wp--preset--color--forest-deep);
}
.am-header .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .4rem 1rem !important; gap: 0 !important; border-left: 3px solid var(--wp--preset--color--leaf) !important; margin: .2rem 0 .4rem .2rem !important; }
.am-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.1rem !important; padding: .4rem 0 !important; }
.am-header .is-menu-open .wp-block-navigation__responsive-container-close { top: 1.1rem !important; right: clamp(1.25rem, 6vw, 3rem) !important; }
.am-hero .wp-block-columns > .wp-block-column:first-child { position: relative; z-index: 2; }
.am-narrow--wide h1 { max-width: 22ch; }

/* ---------- Team photos ---------- */
.am-avatar.has-photo { width: 120px !important; height: 120px !important; padding: 0; background: none !important; margin-bottom: .4rem; }
.am-avatar.has-photo img { width: 120px !important; height: 120px !important; max-width: none; aspect-ratio: 1 / 1; border-radius: 50%; object-fit: cover; object-position: center 25%; display: block; box-shadow: 0 0 0 1px rgba(47,90,44,.18); }
.am-avatar.has-photo::after { width: 40px; height: 40px; right: -4px; bottom: 2px; }

/* Module cards: do not stretch when one opens */
.is-layout-grid > .is-style-card:has(> details) { align-self: start; }
