/* ===== ATHENA HEADER POLISH ===== */

/* TOP UTILITY ROW — light tint background, compact */
.site-top-header-wrap,
.site-header-row-container-top,
.kadence-header-row-top {
  background: var(--global-palette8) !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(40, 70, 75, 0.06);
}

/* MIDDLE LOGO ROW — generous breathing room */
.site-main-header-wrap,
.site-header-row-container-main,
.kadence-header-row-main {
  background: var(--global-palette10) !important;
  padding: 28px 0 0 0 !important;
}

/* BOTTOM PRIMARY-NAV ROW — visual separator + breathing room */
.site-bottom-header-wrap,
.site-header-row-container-bottom,
.kadence-header-row-bottom {
  background: var(--global-palette10) !important;
  padding: 18px 0 18px 0 !important;
  border-bottom: 1px solid var(--global-palette8);
}

/* PRIMARY NAVIGATION — larger, more spaced, prominent */
.site-bottom-header-wrap .menu > .menu-item > a,
.kadence-header-row-bottom .menu > .menu-item > a,
.header-main-navigation .menu > .menu-item > a {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  padding: 10px 22px !important;
  color: var(--global-palette4) !important;
}

.site-bottom-header-wrap .menu > .menu-item > a:hover,
.kadence-header-row-bottom .menu > .menu-item > a:hover {
  color: var(--global-palette1) !important;
}

/* LOGO sizing — strong centered presence */
.site-branding img,
.site-logo img,
.header-logo img {
  max-height: 200px !important;
  width: auto !important;
}

/* UTILITY ROW menu items — smaller, lighter than primary nav */
.site-top-header-wrap .menu-item > a {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  padding: 4px 12px !important;
  color: var(--global-palette4) !important;
}

.site-top-header-wrap .menu-item > a:hover {
  color: var(--global-palette1) !important;
}

/* REQUEST SERVICE button — teal-filled pill, replaces the default link styling */
.athena-request-service-btn {
  display: inline-block;
  background: var(--global-palette1) !important;
  color: var(--global-palette10) !important;
  font-family: 'Urbanist', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 6px 14px !important;
  border-radius: 3px !important;
  border: none !important;
  transition: background 0.15s ease !important;
}

.athena-request-service-btn:hover,
.athena-request-service-btn:focus {
  background: var(--global-palette3) !important;
  color: var(--global-palette10) !important;
  text-decoration: none !important;
}

/* SEARCH ICON in utility row */
.site-top-header-wrap .search-toggle-open,
.site-top-header-wrap .header-search {
  color: var(--global-palette4) !important;
  font-size: 14px !important;
}
/* ===== ATHENA FOOTER POLISH ===== */

/* Footer outer wrap — subtle top border separator */
.site-footer {
	background: var(--global-palette10);
	border-top: 1px solid var(--global-palette8);
}

/* Top footer row — generous breathing room */
.site-top-footer-wrap {
	padding: 56px 0 32px 0;
}

/* Eyebrow / column headers (H4 in all widgets) */
.site-footer h4 {
	font-family: var(--athena-font-body) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--global-palette4) !important;
	margin: 0 0 1rem 0 !important;
}

/* Body paragraph copy in footer widgets */
.site-footer p {
	font-family: var(--athena-font-body) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--global-palette6) !important;
	margin: 0 0 0.5rem 0 !important;
}

/* Strong / heading-style line (e.g., "ATHENA ENGINEERING, INC.") if not in H4 */
.site-footer p strong {
	color: var(--global-palette4);
	font-weight: 700;
}

/* Footer links — clean, no underline */
.site-footer a {
	color: var(--global-palette4) !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--global-palette1) !important;
	text-decoration: none !important;
}

/* Menu list items (Expertise + Quick Links columns) */
.site-footer ul.wp-block-navigation,
.site-footer .footer-expertise-links,
.site-footer .footer-quick-links {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.site-footer ul.wp-block-navigation li,
.site-footer .footer-expertise-links li,
.site-footer .footer-quick-links li {
	font-family: var(--athena-font-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	margin-bottom: 0.5rem !important;
	padding: 0 !important;
}

/* Athena social icon row */
.athena-footer-social {
	display: flex !important;
	gap: 14px !important;
	margin-top: 1.25rem !important;
	align-items: center !important;
}

.athena-footer-social a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	color: var(--global-palette4) !important;
	background: transparent !important;
	border: 1px solid var(--global-palette8);
	border-radius: 50% !important;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
}

.athena-footer-social a:hover,
.athena-footer-social a:focus {
	color: var(--global-palette10) !important;
	background: var(--global-palette1) !important;
	border-color: var(--global-palette1) !important;
}

.athena-footer-social svg {
	width: 18px !important;
	height: 18px !important;
}

/* Bottom strip — copyright + license + privacy line */
.site-bottom-footer-wrap {
	padding: 18px 0 !important;
	border-top: 1px solid var(--global-palette8);
}

.site-bottom-footer-wrap .site-footer-row {
	font-family: var(--athena-font-body) !important;
	font-size: 12px !important;
	letter-spacing: 0.04em;
	color: var(--global-palette7) !important;
	text-align: center;
}

.site-bottom-footer-wrap a {
	color: var(--global-palette7) !important;
}

.site-bottom-footer-wrap a:hover {
	color: var(--global-palette1) !important;
}

/* Mobile collapse: stack columns vertically with comfortable spacing */
@media (max-width: 768px) {
	.site-top-footer-inner-wrap {
		gap: 32px;
	}
	.site-top-footer-wrap {
		padding: 40px 0 24px 0;
	}
}
/* ===== ATHENA HOMEPAGE HERO ===== */

.athena-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	min-height: 100vh;
	overflow: hidden;
}

.athena-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.athena-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(40, 70, 75, 0.35) 0%, rgba(40, 70, 75, 0.65) 100%);
	z-index: 2;
}

.athena-hero-content {
	position: relative;
	z-index: 3;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 2rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
}

.athena-hero-eyebrow {
	font-family: var(--athena-font-body);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 1.5rem 0;
	opacity: 0.92;
}

.athena-hero-headline {
	font-family: var(--athena-font-heading);
	font-size: clamp(36px, 5.5vw, 62px) !important;
	font-weight: 400;
	line-height: 1.12 !important;
	color: #fff !important;
	margin: 0 0 1.5rem 0 !important;
	max-width: 22ch;
	letter-spacing: 0.005em;
}

.athena-hero-sub {
	font-family: var(--athena-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
	opacity: 0.92;
	margin: 0 0 2.5rem 0;
	max-width: 50ch;
}

.athena-hero-ctas {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.athena-hero-btn {
	display: inline-block;
	padding: 14px 28px;
	font-family: var(--athena-font-body);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-radius: 3px;
	transition: all 0.2s ease;
	border: 2px solid transparent;
}

.athena-hero-btn-primary {
	background: var(--global-palette1);
	color: #fff !important;
	border-color: var(--global-palette1);
}

.athena-hero-btn-primary:hover {
	background: var(--global-palette3);
	border-color: var(--global-palette3);
	color: #fff !important;
}

.athena-hero-btn-secondary {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.6);
}

.athena-hero-btn-secondary:hover {
	background: #fff;
	color: var(--global-palette4) !important;
	border-color: #fff;
}

@media (max-width: 768px) {
	.athena-hero {
		height: 75vh;
		min-height: 500px;
	}
	.athena-hero-content {
		padding: 0 1.5rem;
	}
}

/* When hero is present, give the header a transparent treatment over it */
body.home .athena-hero {
	margin-top: -1px; /* Bleed under the header bottom border */
}
/* ===== HOMEPAGE — hide title, full-width hero, transparent header over hero ===== */

/* Hide the default page title */
body.home .entry-hero,
body.home .entry-header,
body.home h1.entry-title,
body.home .page-title,
body.home .archive-title {
	display: none !important;
}

/* Content area edge-to-edge (NOT touching .site-container — that affects footer) */
body.home .content-container,
body.home .entry-content,
body.home .site-main {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Homepage header — float over the hero video */
body.home .site-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}

body.home .site-header-wrap,
body.home .site-header-inner-wrap,
body.home .site-main-header-wrap,
body.home .site-bottom-header-wrap {
	background: transparent !important;
	border-bottom: none !important;
}

body.home .site-top-header-wrap {
	background: rgba(255, 255, 255, 0.08) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

body.home .site-main-header-wrap {
	padding: 14px 0 8px 0 !important;
}

body.home .site-bottom-header-wrap {
	padding: 4px 0 14px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

body.home .site-branding img {
	max-height: 75px !important;
}

body.home .site-header .menu-item > a,
body.home .site-header .header-navigation a {
	color: #fff !important;
}

body.home .site-header .menu-item > a:hover {
	color: var(--global-palette8) !important;
}

body.home .site-top-header-wrap .search-toggle-open,
body.home .site-top-header-wrap .header-search {
	color: #fff !important;
}

body.home .athena-hero {
	margin-top: 0 !important;
}

body.home #content,
body.home .site-content {
	padding-top: 0 !important;
}
	max-width: none !important;
	padding: 0 !important;
}
/* Hero top gradient — ensures header text contrast over any frame of the video */
body.home .athena-hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 280px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 100%);
	z-index: 2;
	pointer-events: none;
}

/* Header rows — subtle dark backing reinforces contrast */
body.home .site-top-header-wrap {
	background: rgba(0, 0, 0, 0.18) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
/* ===== HOMEPAGE HERO — readability + spacing pass ===== */

/* Stronger dark gradient over the top of the hero — guarantees contrast */
body.home .athena-hero::before {
	height: 360px !important;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.15) 70%, rgba(0, 0, 0, 0) 100%) !important;
}

/* Utility row — taller, more readable, stronger backing */
body.home .site-top-header-wrap {
	background: rgba(0, 0, 0, 0.3) !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* Utility row text — bumped up and bolder */
body.home .site-top-header-wrap .menu-item > a {
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

body.home .site-top-header-wrap .menu-item > a:hover {
	color: var(--global-palette8) !important;
}

/* Primary nav — larger, white, with text-shadow for legibility */
body.home .site-bottom-header-wrap .menu > .menu-item > a,
body.home .kadence-header-row-bottom .menu > .menu-item > a {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

body.home .site-bottom-header-wrap .menu > .menu-item > a:hover {
	color: var(--global-palette8) !important;
}

/* Main row breathing room */
body.home .site-main-header-wrap {
	padding: 18px 0 10px 0 !important;
}

body.home .site-bottom-header-wrap {
	padding: 6px 0 18px 0 !important;
}

/* Search icon also white with shadow */
body.home .site-top-header-wrap .search-toggle-open,
body.home .site-top-header-wrap .header-search {
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* REQUEST SERVICE button — make slightly stronger on dark background */
body.home .athena-request-service-btn {
	background: var(--global-palette1) !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
/* ===== HOMEPAGE — white logo swap + stronger nav text ===== */

/* Swap the logo on home: white version over the hero */
body.home .site-branding img,
body.home .site-logo img,
body.home .header-logo img,
body.home .custom-logo {
	content: url('https://athenaengineering.com/wp-content/uploads/2026/05/AthenaLogo-ClearBackground-White.png') !important;
	max-height: 140px !important;
	max-width: 3000px !important;
	width: auto !important;
}

/* Reinforce primary nav as solid white — fixes the ghosting */
body.home .site-bottom-header-wrap .menu-item > a,
body.home .site-bottom-header-wrap .header-navigation a,
body.home nav.main-navigation a,
body.home .header-main-navigation a,
body.home .site-header-item-main-navigation a {
	color: #ffffff !important;
	opacity: 1 !important;
	font-weight: 700 !important;
}

/* Same for utility row links */
body.home .site-top-header-wrap .menu-item > a,
body.home .site-top-header-wrap .header-navigation a {
	color: #ffffff !important;
	opacity: 1 !important;
	font-weight: 700 !important;
}

/* Tighten the gap between utility row and logo row */
body.home .site-main-header-wrap {
	padding: 12px 0 6px 0 !important;
}

/* Sticky behavior: when scrolled past hero, swap header to white background + color logo */
@media (min-width: 768px) {
	body.home.has-scrolled .site-header,
	body.home .site-header.is-stuck {
		background: rgba(255, 255, 255, 0.98) !important;
		position: fixed !important;
		box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	}
}
/* ===== HOMEPAGE — fix header opaque white + hero offset ===== */

/* Make the .site-header itself transparent (was opaque white) */
body.home:not(.has-scrolled) .site-header,
body.home:not(.has-scrolled) #masthead {
	background: transparent !important;
	background-color: transparent !important;
}

/* Pull the hero up to start at the very top of the viewport */
body.home .athena-hero {
	margin-top: -1px !important;
	position: relative;
	top: 0;
}

/* Clear any padding/margin from parent containers above the hero */
body.home .site-content,
body.home #content,
body.home .content-wrap {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* If there's a fixed gap from a wrapper, eliminate it */
body.home .site,
body.home .site-content-wrap {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
/* ===== HOMEPAGE — pull hero to top + push content below header ===== */

/* Kill ALL top spacing from wrappers above the hero */
body.home,
body.home .site,
body.home .site-content,
body.home .site-content-wrap,
body.home #content,
body.home .content-area,
body.home main,
body.home article,
body.home .entry-content,
body.home .entry-content > *:first-child {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Hero starts at viewport top */
body.home .athena-hero {
	margin-top: 0 !important;
	min-height: 100vh !important;
}

/* Push hero content DOWN below the header (header is ~290px tall) */
body.home .athena-hero-content {
	padding-top: 320px !important;
	padding-bottom: 60px !important;
	justify-content: flex-start !important;
}

/* On smaller screens, header is shorter */
@media (max-width: 768px) {
	body.home .athena-hero-content {
		padding-top: 240px !important;
	}
}
/* ===== HOMEPAGE — SCROLLED state (sticky header reveal) ===== */

/* Smooth transitions on all header elements */
body.home .site-header,
body.home .site-main-header-wrap,
body.home .site-bottom-header-wrap,
body.home .site-top-header-wrap,
body.home .site-branding img,
body.home .site-bottom-header-wrap .menu > .menu-item > a {
	transition: all 0.1s ease !important;
}

/* When scrolled past hero: header sticks to top + opaque white */
body.home.has-scrolled .site-header {
	position: fixed !important;
	background: rgba(255, 255, 255, 0.98) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 20px rgba(40, 70, 75, 0.08);
}

/* Hide utility row when sticky — HITT pattern (logo + main nav only) */
body.home.has-scrolled .site-top-header-wrap {
	display: none !important;
}

/* Header rows — compact when sticky */
body.home.has-scrolled .site-main-header-wrap {
	padding: 10px 0 4px 0 !important;
	background: transparent !important;
}

body.home.has-scrolled .site-bottom-header-wrap {
	padding: 4px 0 10px 0 !important;
	background: transparent !important;
	border-bottom: 1px solid var(--global-palette8) !important;
}

/* Logo: swap back to color + shrink */
body.home.has-scrolled .site-branding img,
body.home.has-scrolled .site-logo img,
body.home.has-scrolled .header-logo img,
body.home.has-scrolled .custom-logo {
	content: unset !important;
	max-height: 55px !important;
	max-width: 180px !important;
}

/* Menu text: turns dark teal-charcoal on the white background */
body.home.has-scrolled .site-bottom-header-wrap .menu > .menu-item > a,
body.home.has-scrolled .site-bottom-header-wrap .header-navigation a,
body.home.has-scrolled nav.main-navigation a {
	color: var(--global-palette4) !important;
	text-shadow: none !important;
}

body.home.has-scrolled .site-bottom-header-wrap .menu > .menu-item > a:hover {
	color: var(--global-palette1) !important;
}
/* Hero white logo — subtle drop-shadow for consistent legibility across video frames */
body.home:not(.has-scrolled) .site-branding img,
body.home:not(.has-scrolled) .site-logo img,
body.home:not(.has-scrolled) .header-logo img,
body.home:not(.has-scrolled) .custom-logo {
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5)) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4));
}
/* ===== HOMEPAGE — headline width + eyebrow color polish ===== */

/* Tighten the headline so it doesn't bleed off the video */
body.home .athena-hero-headline {
	max-width: 720px !important;
	font-size: clamp(32px, 4.5vw, 54px) !important;
	line-height: 1.1 !important;
}

/* SINCE 1984 eyebrow — Athena Teal + accent line for editorial weight */
body.home .athena-hero-eyebrow {
	color: var(--global-palette1) !important;
	font-size: 17px !important;
	letter-spacing: 0.32em !important;
	font-weight: 700 !important;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
	position: relative;
	padding-left: 64px;
	margin-bottom: 1.75rem !important;
	display: inline-block;
}

body.home .athena-hero-eyebrow::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 2px;
	background: var(--global-palette1);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Same team italic styling — make it slightly lighter to emphasize the rhythm */
body.home .athena-hero-headline em {
	font-style: italic;
	font-weight: 400;
}
/* ===== HOMEPAGE — FIX: CTAs visibility + blend zone elimination ===== */

/* Pull hero content up so CTAs aren't clipped at hero bottom */
body.home .athena-hero-content {
	padding-top: 280px !important;
	padding-bottom: 100px !important;
}

@media (max-width: 768px) {
	body.home .athena-hero-content {
		padding-top: 160px !important;
		padding-bottom: 55px !important;
	}
}

/* Background swap = INSTANT (no transition on background-color or position) */
/* Only transition non-background properties: text color, logo size, box-shadow, padding */
body.home .site-header,
body.home #masthead,
body.home .site-main-header-wrap,
body.home .site-bottom-header-wrap,
body.home .site-top-header-wrap {
	transition: padding 0.15s ease, box-shadow 0.2s ease !important;
}

body.home .site-branding img,
body.home .site-logo img,
body.home .header-logo img,
body.home .custom-logo {
	transition: max-height 0.2s ease, max-width 0.2s ease, filter 0.2s ease !important;
}

body.home .site-bottom-header-wrap .menu > .menu-item > a,
body.home .site-bottom-header-wrap .header-navigation a,
body.home nav.main-navigation a {
	transition: color 0.15s ease !important;
}

/* Utility row when sticky: instant hide instead of fade */
body.home.has-scrolled .site-top-header-wrap {
	transition: none !important;
}
/* ===== HOMEPAGE STICKY — make it decisive (HITT-cleanliness) ===== */

/* Fully solid white background, no transparency, no blur. Decisive snap. */
body.home.has-scrolled .site-header {
	background: #ffffff !important;
	background-color: #ffffff !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	box-shadow: 0 4px 14px rgba(40, 70, 75, 0.10) !important;
	border-bottom: 1px solid var(--global-palette8) !important;
}

/* Utility row collapses smoothly to zero height instead of jumping (display:none) */
body.home .site-top-header-wrap {
	max-height: 80px;
	overflow: hidden;
	transition: max-height 0.2s ease, opacity 0.15s ease, padding 0.2s ease;
}

body.home.has-scrolled .site-top-header-wrap {
	display: block !important;
	max-height: 0 !important;
	opacity: 0 !important;
	padding: 0 !important;
	border-bottom: none !important;
}

/* Stronger menu text contrast when sticky */
body.home.has-scrolled .site-bottom-header-wrap .menu > .menu-item > a,
body.home.has-scrolled .site-bottom-header-wrap .header-navigation a,
body.home.has-scrolled nav.main-navigation a {
	color: var(--global-palette4) !important;
	font-weight: 700 !important;
	text-shadow: none !important;
	letter-spacing: 0.18em !important;
}

/* Add a subtle slide-down feel to make sticky activation feel intentional */
body.home .site-header {
	transform: translateY(0);
	transition: transform 0.2s ease, padding 0.15s ease, box-shadow 0.2s ease;
}
/* ===== HOMEPAGE — OPENING STATEMENT (BUILT FOR section) ===== */

.athena-opening-statement {
	background: var(--global-palette9);
	padding: 110px 4vw;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	position: relative;
}

.athena-opening-container {
	max-width: 880px;
	margin: 0 auto;
}

/* Eyebrow with accent line — matches SINCE 1984 treatment from the hero */
.athena-opening-eyebrow {
	font-family: var(--athena-font-body) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
	color: var(--global-palette1) !important;
	position: relative;
	padding-left: 64px;
	display: inline-block;
	margin: 0 0 2.5rem 0 !important;
}

.athena-opening-eyebrow::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 2px;
	background: var(--global-palette1);
}

/* Three audience fragments — DM Serif Display, editorial scale */
.athena-opening-fragments {
	margin: 0 0 2.5rem 0;
}

.athena-opening-fragments p {
	font-family: var(--athena-font-heading) !important;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	line-height: 1.3 !important;
	color: var(--global-palette4) !important;
	margin: 0 0 1.5rem 0 !important;
	font-weight: 400 !important;
	letter-spacing: 0.005em;
}

.athena-opening-fragments p:last-child {
	margin-bottom: 0 !important;
}

/* Closer — quieter Urbanist, separated by a hairline */
.athena-opening-closer {
	font-family: var(--athena-font-body) !important;
	font-size: clamp(15px, 1.3vw, 17px) !important;
	line-height: 1.7 !important;
	color: var(--global-palette6) !important;
	margin: 0 !important;
	font-weight: 500 !important;
	padding-top: 2rem;
	border-top: 1px solid var(--global-palette8);
}

@media (max-width: 768px) {
	.athena-opening-statement {
		padding: 70px 1.5rem;
	}
	.athena-opening-fragments p {
		font-size: 22px !important;
		margin-bottom: 1.25rem !important;
	}
	.athena-opening-eyebrow {
		padding-left: 56px;
		font-size: 14px !important;
	}
	.athena-opening-eyebrow::before {
		width: 40px;
	}
/* Fix: ID selector specificity — force white background on sticky state */
body.home.has-scrolled #masthead,
body.home.has-scrolled .site-header,
body.home.has-scrolled .site-header-wrap,
body.home.has-scrolled .site-header-inner-wrap {
	background: #ffffff !important;
	background-color: #ffffff !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

body.home.has-scrolled .site-header {
	box-shadow: 0 4px 14px rgba(40, 70, 75, 0.10) !important;
	border-bottom: 1px solid var(--global-palette8) !important;
}
/* Footer Widget 3 — Browse / Connect split */
.athena-footer-ql-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 20px;
  margin-top: 4px;
}
.athena-footer-ql-subhead {
  font-family: 'Urbanist', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5F5E5A;
  margin: 0 0 12px 0;
}
.athena-footer-ql-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.athena-footer-ql-list li {
  margin: 0 0 8px 0;
  line-height: 1.4;
}
.athena-footer-ql-list a {
  font-family: 'Urbanist', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}
.athena-footer-ql-list a:hover {
  color: #008CAA;
}
@media (max-width: 600px) {
  .athena-footer-ql-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
	.athena-footer-legal {
  text-align: center;
  padding: 24px 20px 8px 20px;
  font-family: 'Urbanist', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #5F5E5A;
}
.athena-footer-copyright {
  margin: 0 0 10px 0;
  color: #1C2A32;
  font-weight: 500;
}
.athena-footer-policies,
.athena-footer-choices {
  margin: 0 0 6px 0;
}
.athena-footer-legal a {
  color: #5F5E5A;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s ease;
}
.athena-footer-legal a:hover {
  color: #008CAA;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 600px) {
  .athena-footer-policies,
  .athena-footer-choices {
    line-height: 2;
  }
}

/* === Mobile overflow fixes (custom fixed-width sections) — added via Cowork 2026-08-13 === */
@media (max-width: 800px){
  .athena-story-hero-inner,
  .athena-belonging-hero-inner,
  .athena-belonging-trade-inner,
  .athena-rs-snm-callout-inner { grid-template-columns: minmax(0,1fr) !important; }

  .athena-story-hero-inner > *,
  .athena-belonging-hero-inner > *,
  .athena-belonging-trade-inner > *,
  .athena-rs-snm-callout-inner > * { min-width: 0 !important; }

  .athena-story-hero-image,
  .athena-belonging-hero-image,
  .athena-belonging-trade-image,
  .athena-tile, .athena-tile-content, .athena-tile-inner,
  .athena-rs-snm-btn { min-width: 0 !important; max-width: 100% !important; }

  .athena-story-origin-imagewrap { overflow: hidden !important; }
  .athena-story-origin-year { right: 0 !important; }

  img, figure { max-width: 100% !important; height: auto !important; }
}