/* Generated from src/patterns, src/parts by scripts/build-theme.mjs — do not edit. */
/* alert-announcement */
/*
 * Alerts and notification banner — Figma: Alerts 15882:49577, Notification Banner 23769:16373.
 * Full-width bars above the header. Announcement: yellow; Emergency: orange; Banner: dark
 * purple. theme.js adds the × (hover: 2px ring) and remembers dismissal for the session;
 * the bar collapses over 300ms.
 */

.acc-alert {
	position: relative;
	gap: 20px 40px;
	padding: 20px calc(var(--wp--custom--gutter) + 40px) 20px var(--wp--custom--gutter);
	align-items: center;
	overflow: hidden;
	transition: margin-top var(--wp--custom--transition), opacity var(--wp--custom--transition);
}

.acc-alert .acc-alert__body {
	flex: 1;
}

.acc-alert .acc-alert__body > p {
	margin: 0;
}

.acc-alert--announcement,
.acc-alert--emergency {
	align-items: flex-start;
}

.acc-alert--announcement::before,
.acc-alert--emergency::before {
	content: "";
	flex: none;
	width: 28px;
	height: 28px;
	background: currentcolor;
	mask: url(../icons/alert.svg) center / contain no-repeat;
}

.acc-alert--announcement {
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--black);
	--acc-accent: var(--wp--preset--color--black);
	--acc-fg: var(--wp--preset--color--black);
}

.acc-alert--emergency {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
	--acc-accent: var(--wp--preset--color--white);
	--acc-fg: var(--wp--preset--color--white);
	--acc-focus: var(--wp--preset--color--white);
}

.acc-alert--banner .acc-alert__body {
	align-items: baseline;
}

.acc-alert .wp-block-buttons {
	flex: none;
}

.acc-alert__close {
	position: absolute;
	top: 14px;
	right: var(--wp--custom--gutter);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	box-shadow: inset 0 0 0 0 transparent;
	transition: box-shadow var(--wp--custom--transition);
}

.acc-alert__close::before {
	content: "";
	width: 12px;
	height: 12px;
	background: currentcolor;
	mask: url(../icons/close.svg) center / contain no-repeat;
}

.acc-alert--announcement .acc-alert__close:hover {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--orange);
}

.acc-alert--emergency .acc-alert__close:hover,
.acc-alert--banner .acc-alert__close:hover {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--yellow);
}

.acc-alert.is-dismissed {
	display: none;
}

@media (max-width: 699px) {

	.acc-alert {
		flex-wrap: wrap !important;
	}

	.acc-alert .wp-block-buttons {
		flex-basis: 100%;
	}
}

/* article-text */
/* Article + text — Figma: Article + Text 23876:41622. */
.acc-article-text {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
	align-items: center;
}

.acc-article-text .wp-block-column > * + * {
	margin-block-start: 16px;
}

.acc-article-text .wp-block-query {
	margin: 0;
}

/* banner */
/* Banner — Figma: Custom Blocks: Banner 21852:44004. */
.acc-banner {
	gap: 20px 60px;
	padding: clamp(30px, 25.455px + 1.4205vw, 50px) clamp(20px, 10.909px + 2.8409vw, 60px);
}

.acc-banner__text {
	flex: 1 1 420px;
	max-width: 640px;
}

.acc-banner__text > * {
	margin: 0;
}

.acc-banner__text > * + * {
	margin-top: 12px;
}

/* campus-map */
/* Campus map — Figma: Campus Map 23706:38004. */
.acc-campus-map {
	color: var(--wp--preset--color--white);
}

.acc-campus-map > .wp-block-media-text__content {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) max(var(--wp--custom--gutter), calc(50vw - var(--wp--style--global--wide-size) / 2)) !important;
}

.acc-campus-map > .wp-block-media-text__content > * + * {
	margin-block-start: 16px;
}

.acc-campus-map > .wp-block-media-text__content > .has-subtext-small-font-size {
	margin-block-start: var(--wp--preset--spacing--40);
}

.acc-campus-map .wp-block-media-text__media img {
	border-radius: 0;
	height: 100%;
	object-fit: cover;
}

.acc-campus-map .wp-block-media-text__media {
	align-self: stretch;
}

/* card-gallery */
/* Card gallery — Figma: Card Gallery 23706:37857. */
.acc-card-gallery {
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--40);
}

.acc-card-gallery > .wp-block-column > .is-style-card {
	height: 100%;
}

.acc-card-gallery__stack {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.acc-card-gallery__stack > * {
	margin: 0 !important;
}

@media (min-width: 700px) {

	.acc-card-gallery__stack .acc-card--row {
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
	}
}

/* cards */
/* Cards pattern — 30px gutters; cards in a row share a height. */
.acc-cards {
	gap: var(--wp--preset--spacing--30);
}

.acc-cards > .wp-block-column > .is-style-card {
	height: 100%;
}

/* deadlines-banner */
/* Deadlines banner — Figma: Deadlines Banner 23706:37316. */
.acc-deadlines {
	gap: 20px 40px;
	padding-block: 24px;
}

.acc-deadlines p {
	margin: 0;
}

.acc-deadlines p + p {
	margin-top: 6px;
}

@media (min-width: 782px) {

	.acc-deadlines > .wp-block-column + .wp-block-column {
		padding-left: 30px;
		border-left: 1px solid var(--wp--preset--color--light-grey);
	}
}

/* dept-hero */
/* Hero — Department: the site name sits above the page title as an eyebrow. */
.acc-dept-hero .wp-block-site-title {
	margin-bottom: 12px;
}

/* events-embed */
/* Events — Figma: Events Embed 15896:15283, News & Events 21852:42361. */
.acc-events-embed,
.acc-news-events {
	color: var(--wp--preset--color--white);
}

.acc-events {
	row-gap: 30px;
	margin-top: var(--wp--preset--spacing--40);
}

.acc-event {
	gap: 20px;
}

.acc-event__date {
	flex: none;
	width: 72px;
	height: 80px;
	gap: 0;
	border: 1px solid var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--card);
	align-items: center;
	text-align: center;
}

.acc-event__date p {
	margin: 0;
	line-height: 1;
}

.acc-event__text > * {
	margin: 0;
}

.acc-event__text > * + * {
	margin-top: 8px;
}

.acc-event__text a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.2em;
	transition: text-decoration-color var(--wp--custom--transition);
}

.acc-event__text a:hover {
	text-decoration-color: var(--acc-accent);
}

.acc-event__text span {
	margin-inline: 6px;
}

/* featured-acctv */
/* Featured ACCTV — Figma: Featured ACCTV 21852:42571. */
.acc-acctv {
	gap: var(--wp--preset--spacing--40);
}

.acc-acctv .wp-block-column > * + * {
	margin-block-start: 12px;
}

.acc-acctv__media {
	position: relative;
}

.acc-acctv__media > .is-style-tag {
	position: absolute;
	top: 14px;
	left: 0;
	z-index: 2;
}

.acc-acctv__media > .wp-block-video {
	margin: 0 !important;
}

/* featured-resource */
/* Featured resource — Figma: Featured Resource 23706:36971. */
.acc-featured-resource {
	--acc-band-start: 45%;
}

.acc-featured-resource__media {
	position: relative;
	margin-top: var(--wp--preset--spacing--40);
}

.acc-featured-resource__media > .wp-block-image {
	margin: 0;
	width: min(100%, 720px);
}

.acc-featured-resource__media > .wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.acc-featured-resource__card.is-style-card {
	padding-block: 24px;
}

.acc-featured-resource__card.is-style-card > * {
	padding-inline: 24px;
}

@media (min-width: 782px) {

	.acc-featured-resource__card.is-style-card {
		position: absolute;
		top: 30px;
		right: 0;
		width: min(400px, 45%);
	}
}

.acc-featured-resource__bar {
	gap: 20px 30px;
	margin-top: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--white);
	--acc-accent: var(--wp--preset--color--yellow);
	--acc-fg: var(--wp--preset--color--white);
}

.acc-featured-resource__bar .is-style-eyebrow {
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
	flex-direction: row-reverse;
}

/* featured-stats */
/* Featured stats — Figma: Custom Blocks: Featured Statistics 21852:44254. */
.acc-featured-stats {
	color: var(--wp--preset--color--white);
}

.acc-featured-stats__row {
	margin-top: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--40);
}

.acc-featured-stats .acc-stats__row {
	margin-top: 0;
}

/* fifty-fifty */
/* 50/50 — Figma: Custom Blocks: 50/50 23706:37888. */
.acc-fifty {
	min-height: 340px;
}

.acc-fifty + .acc-fifty {
	margin-top: var(--wp--preset--spacing--40);
}

.acc-fifty .wp-block-media-text__content > * + * {
	margin-block-start: 20px;
}

.acc-fifty .wp-block-media-text__content {
	max-width: 520px;
}

/* fifty-fifty-tabs */
/* 50/50 tabs: the same grid as Story tabs, mirrored, on white. */
.wp-block-group.acc-tab-section.acc-tab-section--reverse {
	color: var(--wp--preset--color--black);
}

@media (min-width: 900px) {

	.wp-block-group.acc-tab-section.acc-tab-section--reverse {
		grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
		padding-left: 0;
		padding-right: max(var(--wp--custom--gutter), calc(50vw - var(--wp--style--global--wide-size) / 2));
	}

	.acc-tab-section.acc-tab-section--reverse .wp-block-tab-panels {
		grid-column: 1;
	}

	.acc-tab-section.acc-tab-section--reverse > .acc-tab-section__intro,
	.acc-tab-section.acc-tab-section--reverse .wp-block-tab-list {
		grid-column: 2;
	}

	.acc-tab-section--reverse .acc-stat-card.is-style-card {
		top: auto;
		bottom: 140px;
		left: auto;
		right: -40px;
	}

	.acc-tab-section--reverse .acc-quote-card {
		right: auto;
		left: 40%;
	}
}

.acc-tab-section--reverse .acc-quote-card > * + * {
	margin-top: 10px;
}

/* goal-interest-tabs */
/* Goal & interest tabs — Figma: Goal & Interest Tabs 23706:36816. Column gap = the grid's 30px blockGap. */
.acc-tiles {
	row-gap: 30px;
}

.wp-block-tabs + * ,
.acc-section-title + .wp-block-tabs {
	margin-top: var(--wp--preset--spacing--40);
}

/* hero-home */
/* Home hero: headline sizes come from inline font-size classes (Hero + Hero Serif). */
.acc-hero--home .acc-hero__title {
	margin-bottom: var(--wp--preset--spacing--60);
	line-height: 0.82;
}

.acc-hero--home .acc-hero__title strong {
	display: inline-block;
	margin-top: 0.1em;
	line-height: 0.82;
}

.acc-callout-bar {
	gap: 20px 30px;
	padding: 20px var(--wp--custom--gutter) 30px;
	margin-top: 0 !important;
	text-align: center;
}

.acc-callout-bar p {
	margin: 0;
}

/* hero-newsroom */
/* Newsroom hero — Figma: Newsroom: Hero 21852:41222. News cards use the Card group style. */
.wp-block-group.acc-hero--newsroom {
	padding: calc(var(--acc-header-height) + 20px) var(--wp--custom--gutter) var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--white);
}

.acc-hero--newsroom .wp-block-columns {
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--40);
}

.acc-news-card .wp-block-post-featured-image {
	margin: 0;
}

.acc-news-card .wp-block-post-featured-image img {
	border-radius: 0;
}

.acc-news-card > .wp-block-post-date {
	padding-top: 20px;
	text-transform: uppercase;
}

.acc-news-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--h-5);
	font-weight: 600;
}

.acc-news-card--featured .wp-block-post-title {
	font-size: var(--wp--preset--font-size--h-4);
}

.acc-news-card .wp-block-post-title a::before {
	content: "";
	position: absolute;
	inset: 0;
}

.acc-news-card .wp-block-post-terms {
	margin-top: 20px;
	margin-inline: 20px;
	padding: 2px 8px !important;
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--subtext-small);
	width: fit-content;
}

.acc-news-card .wp-block-post-terms a {
	text-decoration: none;
}

.acc-news-stack {
	display: grid;
	gap: var(--wp--preset--spacing--20);
}

.acc-hero--newsroom .wp-block-column > .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--30);
}

/* hero-program */
/* Program hero — Figma: Custom Blocks: Program Hero 23930:32742. */
.acc-hero .wp-block-cover__inner-container > .has-subtext-font-size {
	margin-block: 20px 10px;
}

.acc-hero__tags {
	gap: 10px;
	align-items: center;
	margin-top: 20px;
}

.acc-hero__tags > .has-subtext-font-size {
	margin: 0 10px 0 0;
}

/* hero-text-callout */
/* Text + callout hero — Figma: Custom Blocks: Text + Callout Hero 21852:40898. */
.wp-block-group.acc-hero--text {
	padding: calc(var(--acc-header-height) + 20px) var(--wp--custom--gutter) var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--white);
}

.acc-hero--text .wp-block-columns {
	gap: var(--wp--preset--spacing--40);
	align-items: flex-end;
}

.acc-hero--text .wp-block-column > * + * {
	margin-block-start: 20px;
}

.acc-callout-card {
	padding-top: 20px;
}

.acc-callout-card .wp-block-list {
	font-size: var(--wp--preset--font-size--caption);
}

.acc-callout-card > .wp-block-group {
	gap: 10px;
	align-items: baseline;
	font-size: var(--wp--preset--font-size--caption);
}

.acc-callout-card > .wp-block-group p {
	margin: 0;
}

@media (min-width: 782px) {

	/* The card hangs below the purple; offset rather than margin (flex layout resets margins). */
	.acc-hero--text .acc-hero__aside {
		transform: translateY(calc(50% + var(--wp--preset--spacing--60)));
	}

	.wp-block-group.acc-hero--text {
		margin-bottom: var(--wp--preset--spacing--100);
	}
}

/* image-list */
/* Image list — Figma: Custom Blocks: Image List 15896:15358. */
.acc-image-list > * + * {
	margin-top: var(--wp--preset--spacing--30);
}

/* image-list-wide */
/* Image list (wide) — Figma: Custom Blocks: Image List (Wide) 15896:15433. */
.acc-image-row {
	gap: var(--wp--preset--spacing--40);
}

.acc-image-row + .acc-image-row {
	margin-top: var(--wp--preset--spacing--60);
}

.acc-image-row .wp-block-column > * + * {
	margin-block-start: 16px;
}

.acc-image-row .wp-block-image img {
	width: 100%;
	aspect-ratio: 2000 / 1269;
	object-fit: cover;
}

/* intro-overview */
/* Intro patterns — Figma: Intro + Overview 23706:38082, Intro + Contact 23860:24453, Intro + Video 23861:24617. */
.acc-intro {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}

.acc-intro .wp-block-column > * + * {
	margin-block-start: 20px;
}

.acc-intro .wp-block-separator {
	margin-block: 30px;
}

.acc-intro__media--portrait .wp-block-video video {
	aspect-ratio: 3 / 4;
}

.acc-intro + .wp-block-separator {
	margin-top: var(--wp--preset--spacing--40);
}

/* jump-links */
/* Jump links — Figma: Custom Blocks: Jump Links 23876:39643. 1px orange underline grows to 3px. */
.acc-jump-links {
	gap: 10px 20px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--wp--preset--color--dark-grey);
}

.acc-jump-links > p {
	margin: 0;
}

.acc-jump-links .wp-block-buttons {
	gap: 10px 20px;
}

.acc-jump-links .wp-block-button.is-style-secondary > .wp-block-button__link {
	font-size: var(--wp--preset--font-size--subtext-small);
	box-shadow: inset 0 -1px 0 0 var(--acc-accent);
}

.acc-jump-links .wp-block-button.is-style-secondary > .wp-block-button__link:hover {
	box-shadow: inset 0 -3px 0 0 var(--acc-accent);
}

/* lightcast-text */
/* Lightcast + text — Figma: Lightcast + Text 23876:41782. */
.acc-lightcast {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}

.acc-lightcast .wp-block-column > * + * {
	margin-block-start: 16px;
}

.acc-lightcast + .wp-block-heading {
	margin-top: var(--wp--preset--spacing--60);
}

.acc-logos {
	margin-top: 20px;
}

.acc-logos > p {
	display: grid;
	place-items: center;
	min-height: 80px;
	margin: 0;
	padding: 20px !important;
}

/* Placeholder for third-party embeds (Lightcast, LiveWhale). */
.acc-embed-placeholder {
	display: grid;
	place-content: center;
	gap: 6px;
	min-height: 360px;
	padding: 30px;
	border: 1px dashed var(--wp--preset--color--dark-grey);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--light-grey);
	text-align: center;
	font-size: var(--wp--preset--font-size--caption);
}

/* link-list */
/* Link list — Figma: Custom Blocks: Link List 15896:15508. Column gap is the block's 40px blockGap. */
.acc-links {
	row-gap: 30px;
}

.acc-links__item {
	padding-bottom: 30px;
	border-bottom: 1px solid var(--wp--preset--color--dark-grey);
}

.acc-links__item > * {
	margin: 0;
}

.acc-links__item > * + * {
	margin-top: 10px;
}

:is(.has-purple-background-color, .has-dark-purple-background-color, .has-purple-gradient-background) .acc-links__item {
	border-color: var(--wp--custom--color--white-10);
}

/* link-list-callout */
/* Link list + callout — Figma: Custom Blocks: Link List + Callout 21852:43924. */
.acc-links--compact {
	row-gap: 0;
	margin-top: var(--wp--preset--spacing--40);
}

.acc-links--compact .acc-links__item {
	padding-block: 20px;
}

.acc-callout {
	gap: 20px 40px;
	margin-top: var(--wp--preset--spacing--40);
	padding: 30px;
	border: 1px solid var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--card);
}

.acc-callout > .wp-block-group {
	flex: 1 1 420px;
}

.acc-callout > .wp-block-group > * {
	margin: 0;
}

.acc-callout > .wp-block-group > * + * {
	margin-top: 10px;
}

/* list-filters */
/* List + filters — Figma: List + Filters 23889:42939. Shares the Programs by area cards and filters. */
.acc-programs-area .wp-block-column > .wp-block-search + p {
	margin-top: 12px;
}

.acc-letter {
	margin-block: var(--wp--preset--spacing--30) 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wp--preset--color--dark-grey);
}

/* media-carousel */
/* Media carousel — Figma: Custom Blocks: Media Carousel 15896:15583. */
.acc-media-slide {
	position: relative;
}

.acc-media-slide .wp-block-image {
	margin: 0;
}

.acc-media-slide .wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.acc-media-slide__caption {
	padding: 20px 24px;
	color: var(--wp--preset--color--white);
}

.acc-media-slide__caption > * {
	margin: 0;
}

.acc-media-slide__caption > * + * {
	margin-top: 8px;
}

@media (min-width: 782px) {

	.acc-media-slide__caption {
		position: absolute;
		right: 30px;
		bottom: 0;
		width: min(560px, 55%);
		border-radius: var(--wp--custom--radius--card) var(--wp--custom--radius--card) 0 0;
	}
}

.acc-purple-band .acc-carousel__controls {
	--acc-accent: var(--wp--preset--color--yellow);
	--acc-fg-muted: rgb(255 255 255 / 0.6);
}

/* module-page */
/*
 * Study module — department sites (no Figma frame). Process-step headings around an
 * embedded video and an embedded Google Form. The form frame is tall and scrolls inside;
 * the fallback link opens it in a new tab for small screens and assistive tech.
 */
.acc-module-step + .acc-module-step {
	margin-top: var(--wp--preset--spacing--60);
}

.acc-module-step .wp-block-embed {
	margin-block: 24px 0;
}

.acc-module-step .wp-block-embed iframe {
	border-radius: var(--wp--custom--radius--image);
}

.acc-form-embed {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--light-grey);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--light-grey);
}

.acc-form-embed iframe {
	display: block;
	width: 100%;
	height: min(1200px, 85vh);
	border: 0;
}

.acc-form-embed__fallback {
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
}

/* news-embed */
/* News embed — Figma: News Embed 15896:16160. The category tag sits on the photo. */
.wp-block-query.alignwide {
	margin-top: var(--wp--preset--spacing--40);
}

.acc-news-row {
	gap: var(--wp--preset--spacing--30);
}

.acc-news-card--tagged > .wp-block-post-terms {
	position: absolute;
	top: 14px;
	left: 0;
	z-index: 1;
	margin: 0 !important;
	background: var(--wp--preset--color--lime) !important;
	text-transform: uppercase;
	font-weight: 700;
}

.acc-news-card--tagged > .wp-block-post-date {
	padding-top: 20px;
}

.acc-news-card--tagged .wp-block-post-title a::after {
	content: "";
	display: inline-block;
	width: 0.7em;
	height: 0.6em;
	margin-left: 0.3em;
	background: var(--wp--preset--color--orange);
	mask: url(../icons/arrow.svg) center / contain no-repeat;
	transition: transform var(--wp--custom--transition);
}

.acc-news-card--tagged:hover .wp-block-post-title a::after {
	transform: translateX(6px);
}

/* news-events */
/* News & events — Figma: News & Events 21852:42361. */
.acc-news-events .wp-block-columns {
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--40);
}

.acc-news-events .wp-block-query {
	margin-top: 0;
}

.acc-events--stack {
	margin-top: 0;
}

.acc-events--stack > * + * {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--wp--custom--color--white-10);
}

/* news-search */
/* Panels (News Search, Sign Up Callout): 1px grey border, 10px corners. */
.acc-panel {
	padding: clamp(24px, 20.364px + 1.1364vw, 40px);
	border: 1px solid var(--wp--preset--color--dark-grey);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: 0 4px 20px rgb(0 0 0 / 0.1);
}

.acc-news-search > * + * {
	margin-block-start: 24px;
}

/* notice */
/*
 * Notice — in-page callout for department sites (no Figma frame; built from the card,
 * alert icon and colour tokens). Purple rule for information, orange for warnings.
 */
.wp-block-group.acc-notice {
	position: relative;
	padding: 24px 30px 24px 74px;
	border-left: 4px solid var(--wp--preset--color--purple);
	border-radius: 0 var(--wp--custom--radius--card) var(--wp--custom--radius--card) 0;
	background: var(--wp--preset--color--light-grey);
}

.acc-notice::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 30px;
	width: 28px;
	height: 28px;
	background: var(--wp--preset--color--purple);
	mask: url(../icons/alert.svg) center / contain no-repeat;
}

.acc-notice--warning {
	border-left-color: var(--wp--preset--color--orange);
}

.acc-notice--warning::before {
	background: var(--wp--preset--color--orange);
}

.acc-notice > * {
	margin-block: 0;
}

.acc-notice > * + * {
	margin-block-start: 12px;
}

@media (max-width: 699px) {

	.wp-block-group.acc-notice {
		padding: 64px 20px 20px;
	}

	.acc-notice::before {
		top: 20px;
		left: 20px;
	}
}

/* process-steps */
/* Process steps — Figma: Process Steps 23706:37387. */
.acc-process-step {
	margin-top: var(--wp--preset--spacing--40);
}

.acc-process-step > * + * {
	margin-block-start: 16px;
}

.acc-process-step__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.acc-process-step__title::before {
	content: "";
	width: 40px;
	height: 12px;
	margin-left: calc(-1 * var(--wp--custom--gutter));
	background:
		radial-gradient(circle at calc(100% - 6px) 50%, var(--wp--preset--color--lime) 5.5px, transparent 6px),
		linear-gradient(var(--wp--preset--color--lime), var(--wp--preset--color--lime)) left center / calc(100% - 10px) 1px no-repeat;
}

.acc-more {
	margin-top: var(--wp--preset--spacing--30) !important;
	background: var(--wp--preset--color--light-grey);
}

.acc-more .wp-block-accordion-heading {
	font-size: var(--wp--preset--font-size--body-large);
}

.acc-more .wp-block-columns {
	gap: 30px;
}

/* program-callout */
/* Program callout — Figma: Program Callout 23876:39710. */
.acc-program-callout {
	gap: var(--wp--preset--spacing--40);
}

.acc-program-callout .wp-block-column > * + * {
	margin-block-start: 16px;
}

/* program-carousel */
/* Program carousel — Figma: Custom Blocks: Program Carousel 21852:42842. */
.acc-program-carousel {
	--acc-band-start: 72%;
}

.acc-program-carousel .wp-block-columns {
	gap: var(--wp--preset--spacing--40);
}

.acc-program-carousel .wp-block-column > * + * {
	margin-block-start: 20px;
}

.acc-program-card.is-style-card > .is-style-tag {
	margin: -32px 0 0 20px !important;
	padding: 3px 10px;
	position: relative;
}

.acc-program-carousel .acc-carousel__controls {
	--acc-accent: var(--wp--preset--color--yellow);
	--acc-fg-muted: rgb(255 255 255 / 0.6);
}

/* program-graphic */
/* Program graphic — Figma: Program Graphic 23889:41995. */
.acc-program-graphic {
	color: var(--wp--preset--color--white);
}

.acc-program-graphic > p {
	margin-top: 20px;
}

.acc-timeline {
	position: relative;
	margin-top: var(--wp--preset--spacing--60);
	gap: 20px;
	text-align: center;
}

.acc-timeline__step {
	position: relative;
	padding-top: 30px;
}

.acc-timeline__step::before {
	content: "";
	position: absolute;
	top: 0;
	left: -10px;
	right: -10px;
	height: 12px;
	background:
		radial-gradient(circle at 50% 50%, var(--wp--preset--color--lime) 5.5px, transparent 6px),
		linear-gradient(var(--wp--preset--color--lime), var(--wp--preset--color--lime)) center / 100% 1px no-repeat;
}

.acc-timeline__step:last-child::before {
	background:
		radial-gradient(circle at 50% 50%, var(--wp--preset--color--lime) 9.5px, transparent 10px),
		linear-gradient(var(--wp--preset--color--lime), var(--wp--preset--color--lime)) left center / 50% 1px no-repeat;
	height: 20px;
	top: -4px;
}

.acc-timeline__step:first-child::before {
	background:
		radial-gradient(circle at 50% 50%, var(--wp--preset--color--lime) 5.5px, transparent 6px),
		linear-gradient(var(--wp--preset--color--lime), var(--wp--preset--color--lime)) right center / 50% 1px no-repeat;
}

.acc-timeline__step > * {
	margin: 0 auto;
}

.acc-timeline__step > * + * {
	margin-top: 10px;
}

@media (max-width: 781px) {

	.acc-timeline {
		text-align: left;
	}

	.acc-timeline__step {
		padding: 0 0 0 30px;
	}

	.acc-timeline__step::before {
		inset: 0 auto -20px 0 !important;
		width: 12px;
		height: auto !important;
		background:
			radial-gradient(circle at 50% 8px, var(--wp--preset--color--lime) 5.5px, transparent 6px),
			linear-gradient(var(--wp--preset--color--lime), var(--wp--preset--color--lime)) center / 1px 100% no-repeat !important;
	}

	.acc-timeline__step > * {
		margin-left: 0;
	}
}

/* program-options */
/* Program options — Figma: Program Options 23889:65148. Each accordion item is a bordered card. */
.acc-option {
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--40);
}

.acc-option .wp-block-column > * + * {
	margin-block-start: 12px;
}

.acc-option__list .wp-block-accordion-item {
	border: 1px solid var(--wp--preset--color--dark-grey) !important;
	border-radius: var(--wp--custom--radius--card);
	box-shadow: 0 4px 20px rgb(0 0 0 / 0.1);
}

.acc-option__list .wp-block-accordion-item + .wp-block-accordion-item {
	margin-top: 20px;
}

/* program-search */
/* Program search — Figma: Program Search 21852:41602. */
.acc-program-search > * + * {
	margin-block-start: 30px;
}

.acc-program-search__fields {
	gap: 20px 30px;
	align-items: center;
}

.acc-program-search__fields > p {
	margin: 0;
}

.acc-program-search__fields > form,
.acc-program-search__fields > .wp-block-search {
	flex: 1 1 280px;
}

.acc-featured-programs {
	margin-top: 30px;
}

.acc-program-search + .wp-block-heading {
	margin-top: var(--wp--preset--spacing--80);
}

/* programs-by-area */
/* Programs by area — Figma: Programs by Area 23930:23701. */
.acc-programs-area {
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--30);
}

.wp-block-columns.acc-area-row {
	display: flex;
	gap: 20px 30px;
	padding: 24px;
	border-radius: var(--wp--custom--radius--card);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--dark-grey), 0 4px 20px rgb(0 0 0 / 0.1);
	transition: box-shadow var(--wp--custom--transition);
}

.wp-block-columns.acc-area-row:has(a:hover) {
	box-shadow: inset 0 0 0 var(--wp--custom--border--default) var(--wp--preset--color--orange), 0 4px 20px rgb(0 0 0 / 0.24);
}

.wp-block-columns.acc-area-row + .acc-area-row {
	margin-top: 20px;
}

.acc-area-row .acc-links > * + * {
	margin-top: 12px;
}

.acc-area-row .wp-block-list {
	margin: 0;
}

.acc-filters fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--dark-grey);
}

.acc-filters legend {
	padding: 16px 0;
	font-size: var(--wp--preset--font-size--subtext-small);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.acc-filters label {
	display: flex;
	align-items: center;
	margin-top: 16px;
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 500;
}

.acc-filters small {
	display: block;
	padding-left: 24px;
	font-size: 12px;
	line-height: 1.5;
}

.acc-filter-tag {
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 20px;
	box-shadow: inset 0 0 0 1px currentcolor;
	font-size: 11px;
	font-weight: 700;
}

/* quote-carousel */
/* Quote carousel — Figma: Custom Blocks: Quote Carousel 15896:15658. */
.acc-quote-carousel {
	color: var(--wp--preset--color--white);
}

.acc-quote-carousel .is-style-carousel {
	margin-top: var(--wp--preset--spacing--40);
}

.acc-quote-slide {
	gap: 0;
}

.acc-quote-slide__card.is-style-card {
	flex: 0 0 min(400px, 100%);
	padding: 30px;
	gap: 0;
}

.acc-quote-slide__card.is-style-card > * {
	padding: 0;
}

.acc-quote-slide__card .wp-block-pullquote {
	padding: 0;
	background: none;
	color: var(--wp--preset--color--black);
}

.acc-quote-slide__card .wp-block-pullquote::before,
.acc-quote-slide__card .wp-block-pullquote::after {
	display: none;
}

.acc-quote-slide__card .wp-block-pullquote p {
	font-size: var(--wp--preset--font-size--quote-small);
}

.acc-quote-slide__card .wp-block-pullquote blockquote {
	gap: 20px;
}

.acc-quote-slide__card .wp-block-separator {
	margin-block: 24px;
}

.acc-quote-slide > .wp-block-image {
	flex: 1;
	margin: 0;
}

.acc-quote-slide > .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
}

@media (max-width: 781px) {

	.acc-quote-slide {
		flex-direction: column;
	}
}

.acc-quote-carousel .acc-carousel__controls {
	--acc-fg-muted: rgb(255 255 255 / 0.6);
}

/* related-programs */
/* Related programs — Figma: Related Programs 23876:41702. */
.acc-related {
	gap: var(--wp--preset--spacing--40);
}

.acc-related .wp-block-column > .wp-block-buttons {
	margin-top: 24px;
}

.acc-related-row {
	gap: 12px 30px;
	padding-block: 24px;
	border-bottom: 1px solid var(--wp--preset--color--light-grey);
}

.acc-related-row:first-child {
	padding-top: 0;
}

.acc-related-row > .wp-block-heading {
	margin: 0;
}

.acc-related-row > .acc-tags {
	max-width: 320px;
	justify-content: flex-end;
}

/* resource-list */
/*
 * Resource list — department sites (no Figma frame). A core List whose items are document
 * links: one row each, dark grey rule, arrow that slides right on hover (as Link list).
 */
.wp-block-list.acc-resource-list {
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--dark-grey);
}

/* No list bullets, and the rules replace the list's item spacing. */
ul.wp-block-list.acc-resource-list > li::before {
	content: none;
}

ul.wp-block-list.acc-resource-list > li + li {
	margin-top: 0;
}

.acc-resource-list > li {
	position: relative;
	margin: 0;
	padding: 20px 48px 20px 0;
	border-bottom: 1px solid var(--wp--preset--color--dark-grey);
	font-size: var(--wp--preset--font-size--caption);
}

.acc-resource-list > li > a:first-child {
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	text-decoration: none;
}

.acc-resource-list > li > a:first-child:hover {
	text-decoration: underline;
	text-decoration-color: var(--acc-accent, var(--wp--preset--color--orange));
	text-underline-offset: 0.25em;
}

/* The whole row is the link's hit area. */
.acc-resource-list > li > a:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
}

.acc-resource-list > li::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 18px;
	height: 16px;
	background: currentcolor;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
	transform: translateY(-50%);
	transition: transform var(--wp--custom--transition);
}

.acc-resource-list > li:hover::after {
	transform: translate(6px, -50%);
}

/* File tag for links that open a document rather than a page. */
.acc-resource-list > li > a:first-child:is([href*="drive.google.com"], [href*="docs.google.com"], [href$=".pdf"])::before {
	content: "DOC";
	display: inline-block;
	margin-right: 10px;
	padding: 2px 8px;
	border-radius: var(--wp--custom--radius--checkbox);
	background: var(--wp--preset--color--light-grey);
	color: var(--wp--preset--color--purple);
	font-size: var(--wp--preset--font-size--subtext-small);
	letter-spacing: 0.1em;
	vertical-align: 2px;
}

.acc-resource-list > li > a:first-child[href$=".pdf"]::before {
	content: "PDF";
}

.acc-resource-list > li > a:first-child[href*="docs.google.com/forms"]::before {
	content: "FORM";
}

/* section-menu */
/*
 * Section menu — Figma: Section Menu 1743:2715. A white card that overlaps the bottom of
 * the page hero. Core Accordion (one item) holding a Navigation of the section's pages;
 * the current page is a purple chip. Hover: chips get a 1px orange underline.
 */

.acc-section-menu {
	position: relative;
	z-index: 1;
	margin-top: calc(var(--wp--preset--spacing--60) * -1) !important;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--white);
	box-shadow: 0 4px 20px rgb(0 0 0 / 0.1);
	color: var(--wp--preset--color--black);
	--acc-accent: var(--wp--preset--color--orange);
	--acc-fg: var(--wp--preset--color--black);
	--acc-focus: var(--wp--preset--color--black);
}

.acc-section-menu .wp-block-accordion-heading {
	font-size: var(--wp--preset--font-size--subtext);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.acc-section-menu .wp-block-accordion-heading__toggle {
	padding: 20px 30px;
}

.acc-section-menu .wp-block-accordion-panel {
	padding: 0 30px 24px;
}

.acc-section-menu__links .wp-block-navigation__container {
	gap: 10px 20px;
}

.acc-section-menu__links .wp-block-navigation-item__content {
	padding: 2px 6px;
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.3em;
	transition: text-decoration-color var(--wp--custom--transition);
}

.acc-section-menu__links .wp-block-navigation-item__content:hover {
	text-decoration-color: var(--wp--preset--color--orange);
}

.acc-section-menu__links .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--purple);
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

/* section-title */
/* Section title — Figma: Custom Blocks: Section Title 15896:14806. */
.acc-section-title > * + * {
	margin-block-start: 20px;
}

.acc-section-title__row {
	gap: 20px 40px;
}

.acc-section-title__row > .wp-block-heading {
	flex: 1 1 400px;
	margin: 0;
}

/* sign-up-callout */
/* Sign up callout — Figma: Sign Up Callout 23706:37812. */
.acc-sign-up {
	gap: 20px 40px;
}

.acc-sign-up .wp-block-column > * + * {
	margin-block-start: 10px;
}

.acc-inline-form {
	display: flex;
	align-items: flex-end;
	gap: 20px;
}

.acc-inline-form input {
	flex: 1;
}

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

/* social-callout */
/* Social callout — Figma: Social Callout 23853:18977. */
.acc-social-callout {
	gap: 20px;
	color: var(--wp--preset--color--white);
}

.acc-social-callout .wp-block-heading {
	letter-spacing: 0.05em;
}

/* social-gallery */
/* Social gallery — Figma: Social Gallery 21852:41812. Square tiles. */
.acc-social-gallery .is-style-carousel {
	margin-top: var(--wp--preset--spacing--40);
}

.acc-social-gallery .is-style-carousel :is(video, img) {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.acc-social-gallery .is-style-carousel > .wp-block-image {
	margin: 0;
}

.acc-social-gallery .acc-carousel__controls {
	--acc-accent: var(--wp--preset--color--yellow);
	--acc-fg-muted: rgb(255 255 255 / 0.6);
}

/* sock */
/* Sock — Figma: Sock 23832:22576. */
.wp-block-columns.acc-sock {
	gap: 0;
	margin-top: var(--wp--preset--spacing--80);
}

.acc-sock__text {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) max(var(--wp--custom--gutter), calc(50vw - var(--wp--style--global--wide-size) / 2));
}

.acc-sock__text > * + * {
	margin-block-start: 20px;
}

.acc-sock__text > .wp-block-heading:first-child {
	margin-bottom: var(--wp--preset--spacing--40);
}

.acc-sock__form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 30px;
}

.acc-sock__form p {
	margin: 0;
}

.acc-sock__wide {
	grid-column: 1 / -1;
}

.acc-sock__media {
	position: relative;
}

.acc-sock__media > .wp-block-image,
.acc-sock__media > .wp-block-image img {
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.acc-sock__media > .wp-block-group {
	margin: 20px var(--wp--custom--gutter) 0;
}

@media (min-width: 782px) {

	.acc-sock__media > .wp-block-group {
		position: absolute;
		width: min(320px, 45%);
		margin: 0;
	}

	.acc-sock__visit {
		bottom: 30%;
		left: 0;
	}

	.acc-sock__apply.is-style-card {
		bottom: 10%;
		left: 35%;
		padding: 20px;
		gap: 10px;
	}

	.acc-sock__apply.is-style-card > * {
		padding: 0;
		margin: 0;
	}
}

/* statistics */
/* Statistics — Figma: Custom Blocks: Statistics 15896:16226. */
.acc-stats {
	color: var(--wp--preset--color--white);
}

.acc-stats > .has-subtext-font-size + .wp-block-heading {
	margin-top: 10px;
}

.acc-stats__row {
	margin-top: var(--wp--preset--spacing--40);
	gap: 0;
	text-align: center;
}

.acc-stats__row > .wp-block-column {
	padding: 10px 20px;
}

.acc-stats__row > .wp-block-column + .wp-block-column {
	border-left: 1px solid var(--wp--preset--color--white);
}

.acc-stats__row p {
	margin: 0 auto;
	max-width: 240px;
}

.acc-stats__row .has-stat-font-size {
	margin-bottom: 12px;
}

.acc-stats__row .wp-block-buttons {
	margin-top: 16px;
}

@media (max-width: 781px) {

	.acc-stats__row > .wp-block-column + .wp-block-column {
		border-top: 1px solid var(--wp--preset--color--white);
		border-left: 0;
		padding-top: 30px;
	}
}

/* steps-image */
/* Steps + image — Figma: Steps + Image 23706:37126. */
.acc-steps-image {
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}

.acc-steps-image .wp-block-column > * + * {
	margin-block-start: 20px;
}

.acc-steps-image .wp-block-list {
	margin-top: var(--wp--preset--spacing--30);
}

/* story-display */
/* Story display — Figma: Custom Blocks: Story Display 15896:16292. */
.acc-story {
	color: var(--wp--preset--color--white);
	min-height: 480px;
}

.acc-story .wp-block-media-text__content {
	padding: var(--wp--preset--spacing--60) !important;
}

.acc-story .wp-block-pullquote {
	padding: 0;
	background: none;
}

.acc-story .wp-block-pullquote::before,
.acc-story .wp-block-pullquote::after {
	display: none;
}

.acc-story .wp-block-pullquote p {
	font-size: var(--wp--preset--font-size--quote-small);
}

.acc-story .wp-block-pullquote blockquote {
	gap: 20px;
}

.acc-story .wp-block-separator {
	margin-block: 30px;
}

/* story-tabs */
/*
 * Story tabs & 50/50 tabs — Figma: Story Tabs 21852:42972, 50/50 Tabs 21852:43270.
 * The Tabs block is display: contents, so its tab list and panels join the section grid:
 * intro and dot tabs in one column, the panel (photo + stat card + quote) in the other.
 */
.wp-block-group.acc-tab-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--80) var(--wp--custom--gutter);
	color: var(--wp--preset--color--white);
}

.acc-tab-section > .wp-block-tabs {
	display: contents;
}

.acc-tab-section .wp-block-tab-panels {
	margin: 0;
}

.acc-tab-section__intro > * + * {
	margin-top: 20px;
}

@media (min-width: 900px) {

	.wp-block-group.acc-tab-section {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		grid-template-rows: auto 1fr;
		padding-left: max(var(--wp--custom--gutter), calc(50vw - var(--wp--style--global--wide-size) / 2));
		padding-right: 0;
	}

	.acc-tab-section .wp-block-tab-panels {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}

/* Panel: photo with a stat card and quote card overlapping its lower-left edge. */
.acc-tab-story {
	position: relative;
	display: grid;
	gap: 20px;
}

.acc-tab-story > .wp-block-image {
	margin: 0;
}

.acc-tab-story > .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.acc-stat-card.is-style-card {
	padding: 20px;
	gap: 16px;
}

.acc-stat-card.is-style-card > * {
	margin: 0;
	padding: 0;
}

.acc-stat-card .wp-block-group {
	gap: 12px;
	align-items: center;
}

.acc-stat-card p {
	margin: 0;
}

.acc-quote-card {
	padding: 24px 30px;
	color: var(--wp--preset--color--white);
}

.acc-quote-card p {
	margin: 0;
	font-style: italic;
	line-height: 1.5;
}

.acc-quote-card strong {
	font-weight: 700;
}

@media (min-width: 900px) {

	.acc-tab-story {
		display: block;
		min-height: 560px;
	}

	.acc-tab-story > .wp-block-image img {
		aspect-ratio: auto;
		height: 560px;
	}

	.acc-stat-card.is-style-card {
		position: absolute;
		top: 45%;
		left: -40px;
		width: min(360px, 60%);
	}

	.acc-quote-card {
		position: absolute;
		right: 30px;
		bottom: 0;
		width: min(380px, 60%);
	}
}

/* tab-news */
/* Tab news — Figma: Tab News/Blog 21852:42022. The first post spans the row as a large card. */
.acc-tab-news {
	background: linear-gradient(to bottom, var(--wp--preset--color--white) 55%, var(--wp--preset--color--purple) 55%);
}

.acc-news-grid {
	gap: var(--wp--preset--spacing--30);
}

.acc-news-grid > li:first-child {
	grid-column: 1 / -1;
}

.acc-news-grid > li:first-child .wp-block-post-featured-image img {
	aspect-ratio: 21 / 9 !important;
}

.acc-news-grid > li:first-child .wp-block-post-title {
	font-size: var(--wp--preset--font-size--h-4);
}

/* title-band */
/* Title band — the purple page header used when a page has no photo hero (Figma: News Detail 1842:3841). */
.wp-block-group.acc-title-band {
	padding: calc(var(--acc-header-height) + 20px) var(--wp--custom--gutter) var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--white);
}

.acc-title-band .wp-block-group > * + * {
	margin-block-start: 16px;
}

.acc-404 > * + * {
	margin-block-start: 24px;
}

.acc-404 .wp-block-search {
	max-width: 560px;
}

.acc-search-results > li {
	padding-block: 24px;
	border-bottom: 1px solid var(--wp--preset--color--light-grey);
}

.wp-block-query-pagination {
	gap: 16px;
	margin-top: var(--wp--preset--spacing--40);
	font-weight: 700;
}

/* vertical-media-carousel */
/* Vertical media carousel — Figma: Custom Blocks: Vertical Media Carousel 15896:16039. */
.acc-vertical-carousel .is-style-carousel.alignfull {
	--acc-slide: calc((min(100%, var(--wp--style--global--wide-size)) - 2 * var(--wp--preset--spacing--30)) / 3);
}

.acc-vertical-carousel .wp-block-video video {
	aspect-ratio: 9 / 16;
}

.acc-vertical-carousel .acc-carousel__controls {
	--acc-accent: var(--wp--preset--color--yellow);
	--acc-fg-muted: rgb(255 255 255 / 0.6);
}

@media (max-width: 781px) {

	.acc-vertical-carousel .is-style-carousel.alignfull {
		--acc-slide: 70%;
	}
}

/* part: department-bar */
/*
 * Department bar — department sites (no Figma frame). Sits under the page's title band or
 * hero: the department name (Site Title) and the department's own menu (core Navigation,
 * submenus open on click). The global Header and Menu overlay stay ACC-wide. On narrow screens
 * the menu wraps under the name, then collapses into core's overlay.
 */
.wp-block-group.acc-dept-bar {
	position: relative;
	z-index: 20;
	margin-block-start: 0;
	padding-block: 16px;
	border-bottom: 1px solid var(--wp--preset--color--light-grey);
	background: var(--wp--preset--color--white);
	box-shadow: 0 4px 20px rgb(0 0 0 / 0.06);
	--acc-accent: var(--wp--preset--color--orange);
	--acc-fg: var(--wp--preset--color--black);
	--acc-focus: var(--wp--preset--color--black);
}

.acc-dept-bar__inner {
	gap: 30px;
	align-items: center;
}

.acc-dept-bar__title {
	margin: 0;
	flex: none;
	color: var(--wp--preset--color--purple);
	font-family: var(--wp--preset--font-family--libre-baskerville);
	font-size: var(--wp--preset--font-size--h5);
	font-weight: 700;
	line-height: 1.2;
}

.acc-dept-bar__title a {
	text-decoration: none;
}

.acc-dept-bar__nav {
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 600;
}

.acc-dept-bar__nav .wp-block-navigation__container {
	gap: 4px 18px;
}

.acc-dept-bar__nav .wp-block-navigation-item__content,
.acc-dept-bar__nav .wp-block-navigation-submenu__toggle {
	padding: 6px 0;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.3em;
	transition: text-decoration-color var(--wp--custom--transition);
}

.acc-dept-bar__nav .wp-block-navigation-item__content:hover,
.acc-dept-bar__nav .wp-block-navigation-submenu__toggle:hover,
.acc-dept-bar__nav .current-menu-item > .wp-block-navigation-item__content,
.acc-dept-bar__nav .current-menu-ancestor > .wp-block-navigation-submenu__toggle {
	text-decoration-color: var(--wp--preset--color--orange);
}

/* Submenus: white card under the toggle. */
.acc-dept-bar__nav .wp-block-navigation__submenu-container {
	min-width: 280px !important;
	padding: 12px 0;
	border: 0 !important;
	border-radius: var(--wp--custom--radius--card);
	box-shadow: 0 8px 30px rgb(0 0 0 / 0.15);
}

.acc-dept-bar__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 20px;
	font-weight: 500;
	line-height: 1.35;
}

.acc-dept-bar__nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__content {
	font-weight: 700;
}

/* Below 600px core collapses the menu into its overlay behind this "Menu" pill. */
.acc-dept-bar__nav .wp-block-navigation__responsive-container-open {
	gap: 8px;
	min-height: 40px;
	padding: 0 16px;
	border: var(--wp--custom--border--default) solid var(--wp--preset--color--purple);
	border-radius: 50px;
	color: var(--wp--preset--color--purple);
	font-weight: 700;
}

.acc-dept-bar__nav .wp-block-navigation__responsive-container-open::after {
	content: "Menu";
}

.acc-dept-bar__nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px var(--wp--custom--gutter);
	font-size: var(--wp--preset--font-size--body);
}

.acc-dept-bar__nav .is-menu-open .wp-block-navigation__container {
	gap: 20px;
}

.acc-dept-bar__nav .is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0 !important;
	padding: 8px 0 0 16px !important;
	box-shadow: none;
}

@media (max-width: 1023px) {

	.acc-dept-bar__inner {
		flex-wrap: wrap !important;
		row-gap: 8px;
	}
}

/* part: footer */
/*
 * Footer — Figma: Footer 1743:3271, component 305:1013.
 * Purple gradient. Left: search field and a dark card of link columns with chip
 * headings. Right: logo, main campus address, phone/email (yellow underline), social icons.
 */

.acc-footer {
	padding-block: clamp(40px, 30.909px + 2.8409vw, 80px);
	color: var(--wp--preset--color--white);
}

.acc-footer__columns {
	gap: var(--wp--preset--spacing--60);
}

.acc-footer__links {
	margin-top: 40px;
	padding: 24px;
	border: 1px solid var(--wp--preset--color--white);
	border-radius: 20px;
	background: var(--wp--preset--color--dark-purple);
	gap: 30px;
}

@media (min-width: 1200px) {

	.acc-footer__links {
		padding: 30px;
	}
}

.acc-footer__links .is-style-chip + .wp-block-navigation {
	margin-top: 20px;
}

.acc-footer .acc-menu-links .wp-block-navigation__container {
	gap: 14px;
}

.acc-footer__contact > * + * {
	margin-block-start: 20px;
}

.acc-footer__contact > .has-subtext-font-size {
	margin-block-start: 60px;
}

.acc-footer__contact > .has-subtext-font-size + p {
	margin-block-start: 16px;
}

.acc-footer__contact .acc-logo {
	margin: 0;
}

.acc-footer__contact .acc-logo img {
	border-radius: 0;
	box-shadow: none;
}

.acc-footer__contact-link a {
	font-weight: 500 !important;
	text-decoration-thickness: 2px !important;
	text-decoration-color: var(--wp--preset--color--yellow) !important;
	text-underline-offset: 6px !important;
}

.acc-footer__contact-link a:hover {
	text-decoration-thickness: 3px !important;
}

.acc-footer__contact .wp-block-social-links {
	margin-block-start: 60px;
}

/* part: header */
/*
 * Header — Figma: Header 1743:2426, component 305:1015.
 * Transparent bar over the first section of the page: logo, secondary CTAs (LG only),
 * MENU pill and search circle. It takes no height of its own (the first section adds
 * --acc-header-height of top padding), hides when scrolling down and returns with a
 * purple background when scrolling up (theme.js).
 */

:root {
	--acc-header-height: var(--wp--custom--header--height);
}

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

/* The page starts under the floating header: no block gap after it, and an empty Alerts part takes no space. */
.wp-site-blocks > header.wp-block-template-part + * {
	margin-block-start: 0;
}

.wp-site-blocks > .wp-block-template-part:empty {
	display: none;
}

.acc-header {
	box-sizing: border-box;
	min-height: var(--acc-header-height);
	padding: 10px var(--wp--custom--gutter);
	align-items: center;
	color: var(--wp--preset--color--white);
	transition: transform var(--wp--custom--transition), background-color var(--wp--custom--transition);
	--acc-accent: var(--wp--preset--color--yellow);
	--acc-focus: var(--wp--preset--color--white);
	--acc-fg: var(--wp--preset--color--white);
}

.acc-header.is-scrolled {
	background: var(--wp--preset--color--purple);
}

.acc-header.is-hidden {
	transform: translateY(-100%);
}

.acc-header .acc-logo {
	flex: none;
	margin: 0;
}

.acc-header .acc-logo img {
	width: var(--wp--custom--header--logo) !important;
	border-radius: 0;
	box-shadow: none;
}

.acc-header .acc-header__actions {
	gap: 30px;
}

.acc-header .acc-header__ctas {
	gap: 20px;
}

@media (max-width: 1199px) {

	.acc-header .acc-header__ctas {
		display: none;
	}
}

/* MENU pill (core Navigation's overlay open button) and its close twin in the overlay. */
.acc-header .acc-header__menu .wp-block-navigation__responsive-container-open,
.acc-header .wp-block-navigation-overlay-close {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: var(--wp--custom--control--height);
	padding: 0 18px;
	border: 0;
	border-radius: 50px;
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: var(--wp--preset--font-size--cta);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: inset 0 0 0 0 var(--wp--preset--color--yellow);
	transition: box-shadow var(--wp--custom--transition);
}

.acc-header__menu .wp-block-navigation__responsive-container-open::after {
	content: "";
	width: 16px;
	height: 14px;
	background: currentcolor;
	mask: url(../icons/menu.svg) center / 16px 16px no-repeat;
}

.acc-header__menu .wp-block-navigation__responsive-container-open:hover,
.acc-header .wp-block-navigation-overlay-close:hover {
	box-shadow: inset 0 0 0 var(--wp--custom--border--default) var(--wp--preset--color--yellow);
}

.acc-header .wp-block-navigation-overlay-close {
	flex-direction: row-reverse;
}

.acc-header .wp-block-navigation-overlay-close svg {
	width: 20px;
	height: 20px;
	fill: currentcolor;
}

/* Search circle (core Search, button only). */
.acc-header__search .wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--wp--custom--control--height);
	height: var(--wp--custom--control--height);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 0 var(--wp--preset--color--yellow);
	transition: box-shadow var(--wp--custom--transition);
}

.acc-header__search .wp-block-search__button:hover {
	box-shadow: inset 0 0 0 var(--wp--custom--border--default) var(--wp--preset--color--yellow);
}

.acc-header__search .wp-block-search__button svg {
	display: none;
}

.acc-header__search .wp-block-search__button::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentcolor;
	mask: url(../icons/search.svg) center / contain no-repeat;
}

.acc-header__search .wp-block-search__inside-wrapper {
	gap: 10px;
	border: 0;
	padding: 0;
}

.acc-header__search .wp-block-search__input {
	min-height: var(--wp--custom--control--height);
	padding: 0 24px;
	border: 0;
	border-radius: 50px;
	background: var(--wp--custom--color--white-10);
	box-shadow: inset 0 0 0 var(--wp--custom--border--default) var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.acc-header__search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--white);
}

@media (max-width: 699px) {

	.acc-header .acc-header__actions {
		gap: 10px;
	}

	/* Small screens: icon-only circles. */
	.acc-header .acc-header__menu .wp-block-navigation__responsive-container-open,
	.acc-header .wp-block-navigation-overlay-close {
		width: var(--wp--custom--control--height);
		padding: 0;
		justify-content: center;
		font-size: 0;
		gap: 0;
	}
}

/* part: menu-overlay */
/*
 * Menu overlay — Figma: Header 1743:2426 (Menu Panel). A Navigation overlay template part:
 * the header row repeats with a MENU × close button; primary sections open with a yellow +
 * (only one at a time); the ancillary card holds quick links, "Information for",
 * Spanish-speaker links and social icons.
 */

.wp-block-navigation__responsive-container.has-custom-overlay,
.wp-block-navigation__responsive-container.is-menu-open:has(.acc-menu-overlay) {
	padding: 0;
	background: none;
}

.acc-menu-overlay {
	min-height: 100vh;
	min-height: 100dvh;
	padding-bottom: var(--wp--preset--spacing--80);
	color: var(--wp--preset--color--white);
}

.acc-menu-overlay > .acc-header--overlay {
	max-width: none !important;
	margin-inline: calc(var(--wp--custom--gutter) * -1) !important;
}

.acc-menu-overlay__columns {
	gap: var(--wp--preset--spacing--60);
	margin-top: var(--wp--preset--spacing--20);
}

/* Primary sections. */
.acc-menu-primary.wp-block-navigation,
.acc-menu-primary .wp-block-navigation__container {
	display: block;
	width: 100%;
}

.acc-menu-primary .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	padding-block: clamp(16px, 12.364px + 1.1364vw, 30px);
	border-bottom: 1px solid var(--wp--preset--color--white);
}

.acc-menu-primary .wp-block-navigation__container > .wp-block-navigation-item:last-child {
	border-bottom: 0;
}

.acc-menu-primary .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: 400;
	line-height: 1.2;
}

.acc-menu-primary .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--yellow);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

/* Yellow + that turns into × (replaces core's chevron). */
.acc-menu-primary .wp-block-navigation__submenu-icon {
	position: relative;
	width: 32px;
	height: 32px;
	padding: 0;
	margin: 0;
	color: var(--wp--preset--color--yellow);
	transition: transform var(--wp--custom--transition);
}

.acc-menu-primary .wp-block-navigation__submenu-icon svg {
	display: none;
}

.acc-menu-primary .wp-block-navigation__submenu-icon::before,
.acc-menu-primary .wp-block-navigation__submenu-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 4px;
	right: 4px;
	height: 2px;
	margin-top: -1px;
	background: currentcolor;
}

.acc-menu-primary .wp-block-navigation__submenu-icon::after {
	transform: rotate(90deg);
}

.acc-menu-primary .wp-block-navigation__submenu-icon[aria-expanded="true"] {
	transform: rotate(45deg);
}

/* Child pages: only shown when the + is open (not on hover). */
.wp-block-navigation.acc-menu-primary .has-child .wp-block-navigation__submenu-container {
	position: static !important;
	grid-column: 1 / -1;
	display: none;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 20px 0 0 !important;
	border: 0 !important;
	background: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	gap: 20px;
}

.wp-block-navigation.acc-menu-primary .has-child .wp-block-navigation__submenu-icon[aria-expanded="true"] + .wp-block-navigation__submenu-container {
	display: flex;
	flex-direction: column;
}

.acc-menu-primary .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0 !important;
	font-size: var(--wp--preset--font-size--body-xl);
	font-weight: 500;
}

/* Ancillary card. */
.acc-menu-ancillary {
	padding: clamp(20px, 17.727px + 0.7102vw, 30px);
	border: 1px solid var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--card);
}

.acc-menu-ancillary > * + * {
	margin-block-start: 40px;
}

.acc-menu-ancillary > .is-style-chip + * {
	margin-block-start: 12px;
}

.acc-menu-links .wp-block-navigation__container {
	gap: 12px;
}

.acc-menu-links--inline .wp-block-navigation__container {
	gap: 30px;
}

.acc-menu-links .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--body);
	font-weight: 500;
}

.acc-menu-links .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--yellow);
	text-underline-offset: 0.2em;
}

.acc-menu-ancillary .wp-block-social-links .wp-social-link {
	color: var(--wp--preset--color--white) !important;
}

.acc-menu-ancillary .wp-block-social-links .wp-social-link:hover {
	color: var(--wp--preset--color--yellow) !important;
}
