/*
 * Thrive at Work — site header & footer (Figma "S/Nav" / "S/Footer")
 */

/* Header */
.taw-header {
	background: var( --taw-color-bg );
	/* Figma's divider Rectangle sits INSIDE the 96px nav bar
	   (top: 95px, height: 1px) — a border-bottom would add an
	   extra 1px to the box instead, so use a box-shadow, which
	   paints without affecting layout height. */
	box-shadow: 0 1px 0 0 var( --taw-color-bg-alt-4 );
	position: sticky;
	top: 0;
	z-index: 40;
}

.taw-header__inner {
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.taw-header__logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 600 19px var( --taw-font-display );
	color: var( --taw-color-primary-900 );
	text-decoration: none;
	flex: none;
}

.taw-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

.taw-nav__list {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
}

.taw-nav__list a {
	color: var( --taw-color-text );
	text-decoration: none;
	font: 500 14.5px var( --taw-font-body );
}

.taw-nav__list a:hover,
.taw-nav__list .current-menu-item > a {
	color: var( --taw-color-primary-800 );
}

.taw-header__cta {
	flex: none;
}

/* Transparent wrapper on desktop: nav + CTA sit directly in the
   header's flex row exactly as before. Becomes a real dropdown
   panel under the 1024px breakpoint — see below. */
.taw-mobile-panel {
	display: contents;
}

.taw-nav-toggle {
	display: none;
	flex: none;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: 1px solid var( --taw-color-border );
	border-radius: var( --taw-radius-sm );
	cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.taw-nav-toggle__bar {
	display: block;
	width: 18px;
	height: 2px;
	background: var( --taw-color-primary-900 );
}

.taw-nav__cta-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: contents;
}

/* Footer — Figma uses a LIGHT cream background (#f7f1e3) with
   dark text, not a dark panel. Verified directly against the
   design_context dump; this was inverted before. */
.taw-footer {
	background: var( --taw-color-bg-alt-2 );
	color: var( --taw-color-text );
	padding: 61px 0 28px; /* calibrated against measured render (real fonts) vs Figma 324 total */
}

.taw-footer__cols {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 2fr;
	gap: 80px;
	padding-bottom: 40px;
}

.taw-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var( --taw-color-primary-900 );
	text-decoration: none;
	font: 600 18px var( --taw-font-display );
	margin-bottom: 12px;
}

.taw-footer__tagline {
	font: 500 15px var( --taw-font-body );
	color: var( --taw-color-primary-800 );
	margin: 0 0 12px;
}

.taw-footer__desc {
	font: 400 13.5px/21px var( --taw-font-body );
	color: var( --taw-color-text-meta );
	margin: 0;
	max-width: 28ch;
}

.taw-footer-nav .taw-eyebrow {
	letter-spacing: 1.6px;
}

.taw-footer-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.taw-footer-nav__list a {
	color: var( --taw-color-text );
	text-decoration: none;
	font: 500 14px var( --taw-font-body );
}

.taw-footer-nav__list a:hover {
	text-decoration: underline;
}

.taw-footer__newsletter-desc {
	font: 400 13.5px var( --taw-font-body );
	color: var( --taw-color-text-meta );
	margin: 0 0 20px;
}

.taw-footer__newsletter-form {
	display: flex;
	gap: 8px;
}

.taw-footer__newsletter-form input {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px;
	background: var( --taw-color-bg );
	border: 1px solid var( --taw-color-border-card );
	border-radius: var( --taw-radius-pill );
	padding: 0 16px;
	color: var( --taw-color-text );
	font: 400 13.5px var( --taw-font-body );
}

.taw-footer__newsletter-form input::placeholder {
	color: var( --taw-color-text-faint );
}

.taw-footer__newsletter-form button {
	height: 44px;
	padding: 0 20px;
}

.taw-footer__bottom {
	border-top: 1px solid var( --taw-color-bg-alt-5 );
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	font: 400 13px var( --taw-font-body );
	color: var( --taw-color-text-faint );
}

.taw-footer__credit {
	font-weight: 500;
}

.taw-footer__legal,
.taw-footer__credit {
	margin: 0;
}

@media ( max-width: 1024px ) {
	.taw-nav-toggle {
		display: flex;
	}

	.taw-mobile-panel {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		gap: 24px;
		background: var( --taw-color-bg );
		border-bottom: 1px solid var( --taw-color-border );
		padding: 24px var( --taw-gutter-mobile ) 32px;
	}

	.taw-mobile-panel.is-open {
		display: flex;
	}

	.taw-header__inner {
		position: relative;
	}

	.taw-nav {
		justify-content: flex-start;
	}

	.taw-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.taw-nav__cta-list {
		display: flex;
	}

	.taw-footer__cols {
		grid-template-columns: 1fr 1fr;
	}
}

@media ( max-width: 639px ) {
	.taw-footer__cols {
		grid-template-columns: 1fr;
	}

	.taw-footer__newsletter-form {
		flex-direction: column;
	}
}
