/*
 * At Their Age — Site Chrome v1
 * Header + editorial footer cleanup for the approved visual identity.
 *
 * The existing Blocksy header remains the structural owner. The existing
 * editorial footer renderer remains the markup owner. This stylesheet owns the
 * final visual treatment so stale Customizer/WPCode CSS cannot make the site
 * chrome drift from the production design system.
 */

/* =========================================================
   HEADER
   ========================================================= */

#header,
.ct-header {
	--theme-text-color: var(--ata-ink, #1F2A33);
	--theme-link-initial-color: var(--ata-ink, #1F2A33);
	--theme-link-hover-color: var(--ata-clay-action, #A8523E);
	position: relative;
	z-index: 1000;
	background: var(--ata-cream, #F8F4EC);
}

#header [data-row*="middle"],
.ct-header [data-row*="middle"] {
	min-height: 78px;
	background: var(--ata-cream, #F8F4EC) !important;
	border-bottom: 1px solid var(--ata-border, #D9D2C6);
	box-shadow: none;
}

#header [data-row*="middle"] > div,
#header .ct-container {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
}

/*
 * Deliberately outranks the legacy 280px Additional CSS rule that existed in
 * the first Blocksy setup. The deploy sync also normalizes that old rule in the
 * database, but this remains a visual safety net.
 */
[data-header*="type-1"] .ct-header [data-id="logo"],
#header [data-id="logo"] {
	display: flex;
	align-items: center;
	height: 78px;
}

[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container,
#header [data-id="logo"] .site-logo-container {
	display: flex;
	align-items: center;
	height: 100%;
}

[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container img,
#header .site-logo-container img,
.ct-header .site-logo-container img {
	display: block;
	width: 210px !important;
	height: auto !important;
	max-width: 210px !important;
	max-height: 52px !important;
	margin: 0 !important;
	object-fit: contain;
	transform: none !important;
}

#header .menu {
	gap: 0;
}

#header .menu > li > a,
.ct-header .menu > li > a {
	min-height: 78px;
	padding-inline: 13px;
	font-family: var(--ata-font-body, Inter, system-ui, sans-serif);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--ata-ink, #1F2A33);
}

#header .menu > li > a:hover,
#header .menu > li > a:focus-visible,
#header .menu > li.current-menu-item > a,
#header .menu > li.current-menu-ancestor > a {
	color: var(--ata-clay-action, #A8523E);
}

#header .sub-menu {
	min-width: 220px;
	padding: 8px;
	border: 1px solid var(--ata-border, #D9D2C6);
	border-radius: 10px;
	background: #FFFFFF;
	box-shadow: 0 14px 38px rgba(31, 42, 51, .10);
}

#header .sub-menu li > a {
	min-height: 0;
	padding: 10px 12px;
	border-radius: 6px;
	font-family: var(--ata-font-body, Inter, system-ui, sans-serif);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--ata-ink, #1F2A33);
}

#header .sub-menu li > a:hover,
#header .sub-menu li > a:focus-visible,
#header .sub-menu li.current-menu-item > a {
	background: var(--ata-cream, #F8F4EC);
	color: var(--ata-clay-action, #A8523E);
}

#header .ct-search-initiator {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--ata-ink, #1F2A33);
}

#header .menu-item.ata-nav-cta > a {
	min-height: 42px;
	margin-left: 10px;
	padding-inline: 17px;
	border: 1px solid var(--ata-ink, #1F2A33);
	border-radius: 8px;
	background: var(--ata-ink, #1F2A33) !important;
	color: #FFFFFF !important;
	font-weight: 600;
}

#header .menu-item.ata-nav-cta > a:hover,
#header .menu-item.ata-nav-cta > a:focus-visible {
	border-color: #33424C;
	background: #33424C !important;
	color: #FFFFFF !important;
}

#header [data-sticky*="yes"] [data-row*="middle"],
#header [data-sticky*="fixed"] [data-row*="middle"] {
	box-shadow: 0 8px 28px rgba(31, 42, 51, .07);
}

/* =========================================================
   MOBILE HEADER / OFF-CANVAS
   ========================================================= */

@media (max-width: 999px) {
	#header [data-row*="middle"],
	.ct-header [data-row*="middle"] {
		min-height: 68px;
	}

	#header [data-row*="middle"] > div,
	#header .ct-container {
		padding-inline: 20px;
	}

	[data-header*="type-1"] .ct-header [data-id="logo"],
	#header [data-id="logo"] {
		height: 68px;
	}

	[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container img,
	#header .site-logo-container img,
	.ct-header .site-logo-container img {
		width: 172px !important;
		max-width: 172px !important;
		max-height: 44px !important;
	}

	#header .ct-header-trigger {
		display: inline-grid;
		place-items: center;
		min-width: 44px;
		min-height: 44px;
		color: var(--ata-ink, #1F2A33);
	}

	#offcanvas,
	[data-behaviour*="side"] {
		--theme-text-color: var(--ata-ink, #1F2A33);
		--theme-link-initial-color: var(--ata-ink, #1F2A33);
		background: var(--ata-cream, #F8F4EC);
	}

	#offcanvas .mobile-menu > li > a {
		font-family: var(--ata-font-body, Inter, system-ui, sans-serif);
		font-size: 17px;
		font-weight: 500;
	}

	#offcanvas .sub-menu a {
		font-size: 15px;
	}
}

/* =========================================================
   CUSTOM EDITORIAL FOOTER
   ========================================================= */

/* Hide Blocksy's stock footer only when the editorial footer is present. */
body:has(.ata-footer) #footer,
body:has(.ata-footer) .ct-footer {
	display: none !important;
}

.ata-footer {
	position: relative;
	width: 100%;
	background: var(--ata-ink, #1F2A33);
	color: var(--ata-cream, #F8F4EC);
}

.ata-footer__inner {
	width: min(calc(100% - 48px), 1200px);
	margin-inline: auto;
	padding: 58px 0 24px;
}

.ata-footer__lead {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, .85fr);
	gap: clamp(42px, 6vw, 72px);
	align-items: start;
}

.ata-footer__brand {
	max-width: 450px;
}

.ata-footer__logo-link {
	display: inline-block;
	text-decoration: none !important;
}

.ata-footer__logo {
	display: block;
	width: min(100%, 240px);
	height: auto;
	max-height: 72px;
	object-fit: contain;
	object-position: left center;
}

.ata-footer__wordmark {
	display: block;
	font-family: var(--ata-font-heading, "Source Serif 4", Georgia, serif);
	font-size: clamp(2rem, 4vw, 2.65rem);
	font-weight: 600;
	line-height: 1;
	color: #FFFFFF;
}

.ata-footer__tagline {
	margin: 18px 0 10px;
	font-family: var(--ata-font-heading, "Source Serif 4", Georgia, serif);
	font-size: clamp(1.3rem, 2vw, 1.55rem);
	font-weight: 600;
	line-height: 1.2;
	color: #FFFFFF;
}

.ata-footer__intro {
	max-width: 430px;
	margin: 0;
	font-size: .94rem;
	line-height: 1.65;
	color: rgba(248, 244, 236, .74);
}

.ata-footer__newsletter {
	padding: 28px;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 12px;
	background: rgba(248,244,236,.055);
}

.ata-footer__eyebrow {
	margin: 0 0 9px;
	font-size: .7rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ata-sand, #E8E0D2);
}

.ata-footer__newsletter h2 {
	margin: 0 0 10px;
	font-family: var(--ata-font-heading, "Source Serif 4", Georgia, serif);
	font-size: clamp(1.65rem, 2.6vw, 2rem);
	line-height: 1.1;
	color: #FFFFFF;
}

.ata-footer__newsletter > p:not(.ata-footer__eyebrow) {
	margin: 0 0 20px;
	font-size: .94rem;
	line-height: 1.6;
	color: rgba(248,244,236,.76);
}

.ata-footer__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 17px;
	border: 1px solid #FFFFFF;
	border-radius: 8px;
	background: #FFFFFF;
	color: var(--ata-ink, #1F2A33) !important;
	font-weight: 600;
	text-decoration: none !important;
}

.ata-footer__cta:hover,
.ata-footer__cta:focus-visible {
	background: var(--ata-sand, #E8E0D2);
	border-color: var(--ata-sand, #E8E0D2);
	color: var(--ata-ink, #1F2A33) !important;
}

.ata-footer__rule {
	width: 100%;
	height: 1px;
	margin-block: 40px;
	background: rgba(255,255,255,.13);
}

.ata-footer__links {
	display: grid;
	grid-template-columns: .8fr 1.35fr .9fr;
	gap: clamp(32px, 5vw, 64px);
}

.ata-footer__column h3 {
	margin: 0 0 14px;
	font-family: var(--ata-font-body, Inter, system-ui, sans-serif);
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--ata-sand, #E8E0D2);
}

.ata-footer__nav,
.ata-footer__menu {
	margin: 0;
	padding: 0;
}

.ata-footer__menu {
	display: grid;
	gap: 7px 22px;
	list-style: none;
}

.ata-footer__column--topics .ata-footer__menu {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ata-footer__menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ata-footer__menu a {
	display: inline-block;
	color: rgba(248,244,236,.78) !important;
	text-decoration: none !important;
	line-height: 1.45;
}

.ata-footer__menu a:hover,
.ata-footer__menu a:focus-visible {
	color: #FFFFFF !important;
	text-decoration: underline !important;
	text-underline-offset: .18em;
}

.ata-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.13);
	font-size: .82rem;
	color: rgba(248,244,236,.58);
}

.ata-footer__bottom p {
	margin: 0;
	color: inherit;
}

.ata-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.ata-footer__legal a {
	color: rgba(248,244,236,.64) !important;
	text-decoration: none !important;
}

.ata-footer__legal a:hover,
.ata-footer__legal a:focus-visible {
	color: #FFFFFF !important;
}

@media (max-width: 900px) {
	.ata-footer__lead,
	.ata-footer__links {
		grid-template-columns: 1fr;
	}

	.ata-footer__lead {
		gap: 34px;
	}

	.ata-footer__links {
		gap: 30px;
	}

	.ata-footer__column--topics .ata-footer__menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ata-footer__inner {
		width: calc(100% - 40px);
		padding-top: 46px;
	}

	.ata-footer__logo {
		max-width: 210px;
	}

	.ata-footer__newsletter {
		padding: 24px;
	}

	.ata-footer__column--topics .ata-footer__menu {
		grid-template-columns: 1fr;
	}

	.ata-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.ata-footer__legal {
		flex-direction: column;
		gap: 7px;
	}
}
