:root {
	--cea-ink: #111315;
	--cea-ivory: #f5f1e9;
	--cea-paper: #fbfaf7;
	--cea-blue: #2367ff;
	--cea-cyan: #73d8ff;
	--cea-sand: #e8dfd1;
	--cea-line: rgba(17, 19, 21, .16);
	--cea-radius: 3px;
	--cea-wrap: min(1320px, calc(100vw - 64px));
	--cea-display: "Manrope", Arial, sans-serif;
	--cea-body: "DM Sans", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body.cea-site {
	margin: 0;
	background: var(--cea-paper);
	color: var(--cea-ink);
	font-family: var(--cea-body);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.cea-site *, body.cea-site *::before, body.cea-site *::after { box-sizing: border-box; }
body.cea-site a { color: inherit; text-decoration: none; }
body.cea-site img { display: block; max-width: 100%; }
body.cea-site p { margin: 0 0 1.35em; }
body.cea-site h1,
body.cea-site h2,
body.cea-site h3 {
	color: inherit;
	font-family: var(--cea-display);
	letter-spacing: -.045em;
	line-height: 1.04;
	margin: 0;
}
body.cea-site h1 { font-size: clamp(2.75rem, 5.4vw, 6rem); font-weight: 600; }
body.cea-site h2 { font-size: clamp(2rem, 3.7vw, 4.15rem); font-weight: 600; }
body.cea-site h3 { font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 600; }
body.cea-site em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

body.cea-site.page .entry-header,
body.cea-site.page .entry-hero-container,
body.cea-site.page .post-thumbnail { display: none; }
body.cea-site.page .content-area,
body.cea-site.page .site-main,
body.cea-site.page .entry-content-wrap,
body.cea-site.page .entry-content,
body.cea-site.page .content-container {
	margin: 0;
	max-width: none;
	padding: 0;
}
body.cea-site .entry-content > * { margin-bottom: 0; }
body.cea-site .content-bg { background: transparent; }
body.cea-site .site-header {
	background: transparent;
	position: sticky;
	top: 0;
	transition: box-shadow .25s ease;
	z-index: 1000;
}
body.cea-site .site-main-header-wrap { transition: box-shadow .25s ease, background .25s ease; }
body.cea-site .site-header-row-container-inner {
	background: #fff;
	border-bottom: 1px solid rgba(17,19,21,.11);
	transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
body.cea-site .site-header-row-container-inner .site-container {
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: var(--cea-wrap);
}
body.cea-site .site-header.is-scrolled .site-header-row-container-inner {
	-webkit-backdrop-filter: blur(16px) saturate(150%);
	backdrop-filter: blur(16px) saturate(150%);
	background: rgba(255,255,255,.84);
	border-color: rgba(17,19,21,.08);
	box-shadow: 0 10px 30px rgba(17,19,21,.08);
}
body.cea-site .site-branding a.brand {
	align-items: center;
	display: flex;
	font-family: var(--cea-display);
	font-weight: 700;
	letter-spacing: .075em;
	min-height: 44px;
	text-transform: uppercase;
}
body.cea-site .site-branding .site-title {
	font-family: var(--cea-display);
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	font-weight: 700;
	letter-spacing: .075em;
	line-height: 1.2;
	text-transform: uppercase;
}
body.cea-site .primary-menu-container > ul > li.menu-item > a {
	font-family: var(--cea-body);
	font-size: .88rem;
	font-weight: 600;
	letter-spacing: .015em;
}
body.cea-site .primary-menu-container > ul > li.menu-item:last-child > a {
	background: var(--cea-blue);
	border: 1px solid var(--cea-blue);
	border-radius: 999px;
	color: #fff !important;
	height: auto;
	line-height: 1;
	margin-left: .65rem;
	min-height: 42px;
	padding: .72rem 1.25rem;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
body.cea-site .primary-menu-container > ul > li.menu-item:last-child > a:hover {
	background: #0d48cb;
	border-color: #0d48cb;
	transform: translateY(-1px);
}
body.cea-site .site-header-item .button {
	background: var(--cea-blue);
	border-radius: 999px;
	color: white;
	padding: .8rem 1.25rem;
}
body.cea-site.admin-bar .site-header { top: 32px; }

@media (max-width: 767px) {
	body.cea-site .site-header-row-container-inner .site-container { width: calc(100vw - 32px); }
	body.cea-site .mobile-site-branding a.brand { min-height: 40px; }
	body.cea-site .mobile-site-branding .site-title { font-size: .94rem; letter-spacing: .065em; }
	body.cea-site .mobile-navigation ul li:last-child > a {
		background: var(--cea-blue);
		border-radius: 999px;
		color: #fff !important;
		margin-top: .75rem;
		padding-left: 1.2rem;
		padding-right: 1.2rem;
	}
}

.cea-wrap { margin-left: auto; margin-right: auto; width: var(--cea-wrap); }
.cea-main { overflow: hidden; }
.cea-eyebrow {
	align-items: center;
	display: flex;
	font-size: .72rem;
	font-weight: 700;
	gap: .7rem;
	letter-spacing: .15em;
	margin-bottom: 1.6rem !important;
	text-transform: uppercase;
}
.cea-eyebrow::before {
	background: currentColor;
	content: "";
	height: 1px;
	opacity: .65;
	width: 32px;
}
.cea-lead { font-size: clamp(1.1rem, 1.5vw, 1.42rem); line-height: 1.55; max-width: 690px; }
.cea-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2.5rem; }
.cea-button {
	align-items: center;
	background: var(--cea-blue);
	border: 1px solid var(--cea-blue);
	border-radius: 999px;
	color: #fff !important;
	display: inline-flex;
	font-size: .86rem;
	font-weight: 700;
	gap: 1rem;
	justify-content: center;
	letter-spacing: .02em;
	min-height: 52px;
	padding: .85rem 1.5rem;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.cea-button:hover { background: #0d48cb; border-color: #0d48cb; color: #fff; transform: translateY(-2px); }
.cea-button--light { background: #fff; border-color: #fff; color: var(--cea-ink) !important; }
.cea-button--light:hover { background: var(--cea-cyan); border-color: var(--cea-cyan); color: var(--cea-ink) !important; }
.cea-button--outline { background: transparent; border-color: rgba(255,255,255,.32); margin-top: 2.5rem; }
.cea-text-link {
	align-items: center;
	border-bottom: 1px solid rgba(255,255,255,.55);
	color: #fff !important;
	display: inline-flex;
	font-size: .92rem;
	font-weight: 600;
	gap: .85rem;
	padding-bottom: .25rem;
}
.cea-text-link--dark { border-color: var(--cea-line); color: var(--cea-ink) !important; }
.cea-text-link span, .cea-button span { transition: transform .2s ease; }
.cea-text-link:hover span, .cea-button:hover span { transform: translate(3px, -2px); }

.cea-hero {
	background-color: #1a2025;
	background-image: linear-gradient(100deg, rgba(9,12,15,.91) 0%, rgba(9,12,15,.54) 55%, rgba(9,12,15,.22) 100%), var(--cea-hero-image);
	background-position: center;
	background-size: cover;
	color: #fff;
	min-height: clamp(660px, 88vh, 920px);
	overflow: hidden;
	position: relative;
}
.cea-hero::after {
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 50%;
	content: "";
	height: 32vw;
	min-height: 340px;
	min-width: 340px;
	position: absolute;
	right: -10vw;
	top: 12%;
	width: 32vw;
}
.cea-hero__shade {
	background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 30%, rgba(0,0,0,.25));
	inset: 0;
	position: absolute;
}
.cea-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(660px, 88vh, 920px);
	padding-bottom: clamp(4rem, 8vh, 7rem);
	padding-top: 9rem;
	position: relative;
	z-index: 2;
}
.cea-hero h1 { max-width: 1080px; }
.cea-hero .cea-lead { margin: 2rem 0 0; }
.cea-hero__location {
	bottom: 2rem;
	font-size: .66rem;
	letter-spacing: .12em;
	opacity: .65;
	position: absolute;
	right: 3vw;
	transform: rotate(-90deg) translateX(100%);
	transform-origin: bottom right;
	z-index: 3;
}

.cea-trust { background: #fff; border-bottom: 1px solid var(--cea-line); padding: 3rem 0; }
.cea-trust__label { font-size: .7rem; letter-spacing: .1em; margin-bottom: 1.4rem !important; text-align: center; text-transform: uppercase; }
.cea-logo-row { align-items: center; display: grid; gap: 2.5rem; grid-template-columns: repeat(6, 1fr); }
.cea-logo {
	align-items: center;
	color: #73777a;
	display: flex;
	font-family: var(--cea-display);
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	min-height: 64px;
	opacity: .82;
}
body.cea-site .cea-logo img {
	filter: grayscale(1);
	height: 52px;
	max-height: 52px;
	max-width: 190px;
	object-fit: contain;
	transform: scale(1.12);
	width: auto;
}

.cea-section { padding: clamp(5.5rem, 10vw, 10rem) 0; }
.cea-section--ink { background: var(--cea-ink); color: #fff; }
.cea-section--sand { background: var(--cea-ivory); }
.cea-split { display: grid; gap: clamp(3rem, 7vw, 9rem); grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); }
.cea-copy { font-size: clamp(1.08rem, 1.5vw, 1.35rem); max-width: 650px; padding-top: .35rem; }
.cea-copy h2 { font-size: clamp(2rem, 3.5vw, 4rem); margin-bottom: 2rem; }
.cea-copy .cea-text-link { margin-top: 1rem; }
.cea-section-heading { margin-bottom: clamp(3rem, 6vw, 6rem); max-width: 920px; }
.cea-section-heading > p:last-child { font-size: 1.12rem; margin-top: 1.5rem; max-width: 650px; opacity: .76; }

.cea-service-grid { border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(3, 1fr); }
.cea-service-card {
	border-bottom: 1px solid rgba(255,255,255,.2);
	border-right: 1px solid rgba(255,255,255,.2);
	min-height: 330px;
	padding: 2.4rem;
	position: relative;
}
.cea-service-card:nth-child(3n) { border-right: 0; }
.cea-service-card > span { font-size: .7rem; letter-spacing: .15em; opacity: .55; }
.cea-service-card h3 { margin-top: 5rem; }
.cea-service-card p { font-size: .94rem; margin: 1.25rem 0 0; max-width: 320px; opacity: .7; }

.cea-feature { background: var(--cea-ivory); }
.cea-feature__grid { align-items: stretch; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); }
.cea-feature__media { min-height: 680px; overflow: hidden; }
.cea-feature__media img, .cea-feature__media .cea-image-placeholder { height: 100%; object-fit: cover; width: 100%; }
.cea-feature__copy {
	background: var(--cea-blue);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(2.5rem, 4vw, 4.5rem);
}
body.cea-site .cea-feature__copy h2 {
	font-size: clamp(1.75rem, 2.15vw, 2.55rem) !important;
	hyphens: none;
	letter-spacing: -.035em;
	line-height: 1.12;
	max-width: 27ch;
	overflow-wrap: normal;
	word-break: normal;
}
.cea-feature__copy > p:not(.cea-eyebrow) { font-size: 1.12rem; margin-top: 2rem; opacity: .86; }
.cea-feature__copy .cea-button { align-self: flex-start; margin-top: 1.5rem; }

.cea-project-grid { display: grid; gap: 4rem 1.5rem; grid-template-columns: repeat(2, 1fr); }
.cea-project-card__media { aspect-ratio: 4 / 3; background: var(--cea-sand); margin-bottom: 1.25rem; overflow: hidden; }
.cea-project-card__media img, .cea-project-card__media .cea-image-placeholder { height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); width: 100%; }
.cea-project-card:hover img { transform: scale(1.025); }
.cea-project-card > p { font-size: .72rem; letter-spacing: .1em; margin-bottom: .45rem; text-transform: uppercase; }
.cea-project-card h3 { font-size: clamp(1.4rem, 1.9vw, 2.15rem); }

.cea-testimonials { background: #dce9ff; }
.cea-quote-grid { display: grid; gap: 1px; grid-template-columns: 1.3fr 1fr 1fr; }
.cea-quote-grid blockquote { background: rgba(255,255,255,.45); margin: 0; min-height: 360px; padding: clamp(2rem, 4vw, 4rem); }
.cea-quote-grid blockquote p { font-family: var(--cea-display); font-size: clamp(1.25rem, 2.1vw, 2rem); letter-spacing: -.03em; line-height: 1.35; }
.cea-quote-grid blockquote footer { font-size: .77rem; font-style: normal; letter-spacing: .06em; margin-top: 2rem; text-transform: uppercase; }

.cea-cta { background: var(--cea-blue); color: #fff; padding: clamp(5.5rem, 10vw, 10rem) 0; text-align: center; }
.cea-cta .cea-wrap { align-items: center; display: flex; flex-direction: column; }
.cea-cta h2 { max-width: 1050px; }
.cea-cta p:not(.cea-eyebrow) { font-size: 1.12rem; margin: 1.7rem auto 0; max-width: 650px; }
.cea-cta .cea-button { margin-top: 2rem; }

.cea-detail-grid { border-left: 1px solid var(--cea-line); border-top: 1px solid var(--cea-line); display: grid; grid-template-columns: repeat(3, 1fr); }
.cea-detail-card { border-bottom: 1px solid var(--cea-line); border-right: 1px solid var(--cea-line); min-height: 265px; padding: clamp(1.8rem, 3vw, 3.2rem); }
.cea-detail-card h3 { margin-bottom: 1.2rem; }
.cea-detail-card p { font-size: .96rem; margin: 0; opacity: .72; }

.cea-process { background: #fff; }
.cea-process__list { border-top: 1px solid var(--cea-line); list-style: none; margin: 0; padding: 0; }
.cea-process__list li { align-items: start; border-bottom: 1px solid var(--cea-line); display: grid; gap: 2rem; grid-template-columns: 90px 1fr; padding: 2.2rem 0; }
.cea-process__list li > span { font-size: .72rem; letter-spacing: .14em; padding-top: .5rem; }
.cea-process__list h3 { font-size: clamp(1.6rem, 2.7vw, 3rem); }
.cea-process__list p { margin: .7rem 0 0; max-width: 680px; opacity: .7; }

.cea-venue-types { display: grid; gap: 4rem 1.5rem; grid-template-columns: repeat(2, 1fr); margin-top: 7rem; }
.cea-venue-card > div { aspect-ratio: 4 / 3; background: var(--cea-sand); margin-bottom: 1.5rem; overflow: hidden; }
.cea-venue-card img, .cea-venue-card .cea-image-placeholder { height: 100%; object-fit: cover; width: 100%; }
.cea-venue-card p { margin: .8rem 0 0; max-width: 530px; opacity: .72; }
.cea-check-grid { border-top: 1px solid var(--cea-line); display: grid; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; }
.cea-check-grid li { border-bottom: 1px solid var(--cea-line); padding: 1.35rem 2rem 1.35rem 0; }
.cea-check-grid li::before { color: var(--cea-blue); content: "↳"; margin-right: 1rem; }

.cea-masonry { display: grid; gap: 5rem 1.5rem; grid-template-columns: repeat(2, 1fr); }
.cea-work-card > div { aspect-ratio: 4 / 3; background: var(--cea-sand); margin-bottom: 1.2rem; overflow: hidden; }
.cea-work-card--wide { grid-column: span 2; }
.cea-work-card--wide > div { aspect-ratio: 16 / 7; }
.cea-work-card img, .cea-work-card .cea-image-placeholder { height: 100%; object-fit: cover; transition: transform .65s ease; width: 100%; }
.cea-work-card:hover img { transform: scale(1.02); }
.cea-work-card > span { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.cea-work-card h2 { font-size: clamp(1.65rem, 2.6vw, 3rem); margin-top: .45rem; }

.cea-stat { color: var(--cea-blue); font-family: var(--cea-display); font-size: clamp(6rem, 15vw, 14rem); font-weight: 600; letter-spacing: -.08em; line-height: .75; }
.cea-stat span { color: var(--cea-ink); display: block; font-family: var(--cea-body); font-size: .74rem; letter-spacing: .08em; line-height: 1.4; margin-top: 2rem; text-transform: uppercase; }
.cea-value-grid { border-left: 1px solid var(--cea-line); border-top: 1px solid var(--cea-line); display: grid; grid-template-columns: repeat(4, 1fr); }
.cea-value-grid article { border-bottom: 1px solid var(--cea-line); border-right: 1px solid var(--cea-line); min-height: 300px; padding: 2rem; }
.cea-value-grid article > span { color: var(--cea-blue); font-size: .72rem; }
.cea-value-grid h3 { margin-top: 5rem; }
.cea-value-grid p { font-size: .92rem; margin: 1rem 0 0; opacity: .7; }

.cea-event-list { border-top: 1px solid var(--cea-line); margin-bottom: 8rem; }
.cea-event-list a { align-items: center; border-bottom: 1px solid var(--cea-line); display: grid; gap: 1.5rem; grid-template-columns: minmax(240px, .9fr) 1fr 40px; padding: 1.5rem 0; transition: color .2s ease, padding .2s ease; }
.cea-event-list a:hover { color: var(--cea-blue); padding-left: 1rem; }
.cea-event-list span { font-family: var(--cea-display); font-size: clamp(1.35rem, 2.2vw, 2.5rem); font-weight: 600; letter-spacing: -.035em; }
.cea-event-list small { font-size: .82rem; opacity: .65; }
.cea-event-list b { font-size: 1.3rem; text-align: right; }
.cea-disclaimer { font-size: .72rem; opacity: .55; padding-bottom: 2rem; padding-top: 2rem; }
.cea-breadcrumbs { background: #fff; border-bottom: 1px solid var(--cea-line); color: rgba(17,19,21,.68); font-size: .78rem; }
.cea-breadcrumbs .cea-wrap { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; padding-bottom: 1rem; padding-top: 1rem; }
.cea-breadcrumbs a { font-weight: 600; }
.cea-breadcrumbs a:hover { color: var(--cea-blue); }
.cea-related-events { background: #fff; }
.cea-related-events .cea-event-list { margin-bottom: 2.5rem; }
.cea-related-events .cea-section-heading { margin-bottom: 3.5rem; }

.cea-capability-list { border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(2, 1fr); list-style: none; margin: 0; padding: 0; }
.cea-capability-list li { border-bottom: 1px solid rgba(255,255,255,.2); display: flex; font-family: var(--cea-display); font-size: clamp(1.45rem, 2.7vw, 3rem); gap: 1.4rem; letter-spacing: -.035em; padding: 1.8rem 1rem 1.8rem 0; }
.cea-capability-list li:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.2); }
.cea-capability-list li:nth-child(even) { padding-left: 2rem; }
.cea-capability-list span { font-family: var(--cea-body); font-size: .68rem; letter-spacing: .1em; opacity: .5; padding-top: .75rem; }
.cea-faq-grid { display: grid; gap: 6rem; grid-template-columns: .7fr 1.3fr; }
.cea-accordion { border-top: 1px solid var(--cea-line); }
.cea-accordion:last-child { border-bottom: 1px solid var(--cea-line); }
.cea-accordion button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--cea-ink);
	cursor: pointer;
	display: flex;
	font-family: var(--cea-display);
	font-size: 1.25rem;
	font-weight: 600;
	justify-content: space-between;
	padding: 1.6rem 0;
	text-align: left;
	width: 100%;
}
.cea-accordion button b { font-size: 1.5rem; font-weight: 400; transition: transform .25s ease; }
.cea-accordion > div { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.cea-accordion > div > p { margin: 0; max-width: 650px; opacity: .72; overflow: hidden; }
.cea-accordion.is-open > div { grid-template-rows: 1fr; }
.cea-accordion.is-open > div > p { padding-bottom: 1.7rem; }
.cea-accordion.is-open button b { transform: rotate(45deg); }

.cea-contact__grid { display: grid; gap: clamp(4rem, 8vw, 8rem); grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr); }
.cea-contact__grid h2 { font-size: clamp(2.1rem, 3.5vw, 3.9rem); margin-bottom: 1.7rem; }
.cea-contact__address { border-top: 1px solid var(--cea-line); margin-top: 3rem; padding-top: 1.5rem; }
.cea-form { display: grid; gap: 1.35rem 1.5rem; grid-template-columns: 1fr 1fr; }
.cea-form label,
.cea-form legend { color: var(--cea-ink); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cea-form input:not([type="radio"]):not([type="checkbox"]),
.cea-form select,
.cea-form textarea {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--cea-line);
	border-radius: 0;
	color: var(--cea-ink);
	display: block;
	font-family: var(--cea-body);
	font-size: 1rem;
	margin-top: .45rem;
	outline: none;
	padding: .8rem 0;
	text-transform: none;
	width: 100%;
}
.cea-form select {
	-webkit-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--cea-ink) 50%), linear-gradient(135deg, var(--cea-ink) 50%, transparent 50%);
	background-position: calc(100% - 14px) calc(50% + 1px), calc(100% - 9px) calc(50% + 1px);
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 2rem;
}
.cea-form textarea { min-height: 150px; resize: vertical; }
.cea-form input:focus, .cea-form select:focus, .cea-form textarea:focus { border-color: var(--cea-blue); }
.cea-form input::placeholder, .cea-form textarea::placeholder { color: rgba(17,19,21,.45); }
.cea-form__full { grid-column: 1 / -1; }
.cea-form__required { font-size: .76rem; margin: 0 !important; opacity: .58; }
.cea-form__choices { border: 1px solid var(--cea-line); margin: .35rem 0 0; padding: 1.25rem 1.35rem 1.1rem; }
.cea-form__choices legend { padding: 0 .45rem; }
.cea-form__choices label {
	align-items: flex-start;
	display: flex;
	font-size: .9rem;
	font-weight: 500;
	gap: .65rem;
	letter-spacing: 0;
	margin-top: .65rem;
	text-transform: none;
}
.cea-form__choices input, .cea-form__consent input { accent-color: var(--cea-blue); flex: 0 0 auto; margin-top: .3em; }
.cea-form__consent { align-items: flex-start; display: flex; gap: .7rem; }
.cea-form__consent span { font-size: .82rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.cea-form button { cursor: pointer; justify-self: start; margin-top: 1rem; }
.cea-form button:disabled { cursor: wait; opacity: .65; transform: none; }
.cea-honeypot { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.cea-form-notice { background: #ffe9e7; margin-bottom: 1.5rem; padding: 1rem 1.2rem; }
.cea-form-notice--success { background: #dff7e8; }

.cea-image-placeholder {
	align-items: center;
	background: linear-gradient(145deg, #d8e4f4, #f1e8d9);
	color: rgba(17,19,21,.42);
	display: flex;
	font-size: .72rem;
	justify-content: center;
	letter-spacing: .15em;
	min-height: 300px;
	text-transform: uppercase;
}

[data-reveal] { opacity: 1; transform: none; }
html.cea-reveal-ready [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
html.cea-reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

/*
 * Congress pages: force the bundled hospitality photograph even if a staging
 * page is still serving older inline hero markup from its HTML cache.
 */
body.cea-site:has(.cea-capability-list) .cea-hero {
	background-image:
		linear-gradient(100deg, rgba(9,12,15,.91) 0%, rgba(9,12,15,.54) 55%, rgba(9,12,15,.22) 100%),
		url("../images/congress-riviera-networking-v1.jpg") !important;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	html.cea-reveal-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
	.cea-project-card img, .cea-work-card img { transition: none; }
}

@media (max-width: 1024px) {
	:root { --cea-wrap: min(100% - 40px, 900px); }
	.cea-logo-row { grid-template-columns: repeat(3, 1fr); }
	.cea-service-grid, .cea-detail-grid { grid-template-columns: repeat(2, 1fr); }
	.cea-service-card:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.2); }
	.cea-service-card:nth-child(2n) { border-right: 0; }
	.cea-feature__grid { grid-template-columns: 1fr; }
	.cea-feature__media { min-height: 520px; }
	.cea-quote-grid { grid-template-columns: 1fr; }
	.cea-quote-grid blockquote { min-height: 0; }
	.cea-value-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	:root { --cea-wrap: calc(100vw - 32px); }
	body.cea-site { font-size: 16px; }
	body.cea-site h1 { font-size: clamp(2.55rem, 11.5vw, 3.85rem); }
	body.cea-site h2 { font-size: clamp(1.95rem, 8.5vw, 3rem); }
	body.cea-site.admin-bar .site-header { top: 46px; }
	.cea-hero, .cea-hero__content { min-height: 720px; }
	.cea-hero__content { padding-bottom: 4rem; padding-top: 7rem; }
	.cea-hero::after { right: -170px; top: 22%; }
	.cea-hero__location { display: none; }
	.cea-actions { align-items: flex-start; flex-direction: column; }
	.cea-logo-row { gap: 1.6rem; grid-template-columns: repeat(2, 1fr); }
	body.cea-site .cea-logo img { height: 40px; max-height: 40px; max-width: 150px; transform: none; }
	.cea-split, .cea-contact__grid, .cea-faq-grid { gap: 3rem; grid-template-columns: 1fr; }
	.cea-service-grid, .cea-detail-grid, .cea-value-grid { grid-template-columns: 1fr; }
	.cea-service-card, .cea-service-card:nth-child(3n) { border-right: 0; min-height: 250px; padding: 1.7rem 0; }
	.cea-service-card h3 { margin-top: 3rem; }
	.cea-detail-grid, .cea-value-grid { border-left: 0; }
	.cea-detail-card, .cea-value-grid article { border-right: 0; min-height: 0; padding-left: 0; padding-right: 0; }
	.cea-feature__media { min-height: 400px; }
	.cea-feature__copy { padding: 3rem 1.5rem; }
	.cea-project-grid, .cea-venue-types, .cea-masonry { gap: 3rem; grid-template-columns: 1fr; }
	.cea-work-card--wide { grid-column: auto; }
	.cea-work-card--wide > div { aspect-ratio: 4 / 3; }
	.cea-check-grid, .cea-capability-list { grid-template-columns: 1fr; }
	.cea-capability-list li:nth-child(odd) { border-right: 0; }
	.cea-capability-list li:nth-child(even) { padding-left: 0; }
	.cea-event-list a { align-items: start; grid-template-columns: 1fr 35px; }
	.cea-event-list small { grid-column: 1; grid-row: 2; }
	.cea-event-list b { grid-column: 2; grid-row: 1 / span 2; }
	.cea-process__list li { grid-template-columns: 48px 1fr; }
	.cea-form { grid-template-columns: 1fr; }
	.cea-form__full { grid-column: auto; }
}
