/*
 * PAHAL — footer.
 */

.pahal-footer {
	padding-block: var(--pahal-space-2xl) var(--pahal-space-l);
	background-color: var(--pahal-pine-black);
}

/* A large, quiet wordmark opening the footer — the site signs off. */
.pahal-footer__mark {
	display: block;
	margin-bottom: var(--pahal-space-l);
	padding-bottom: var(--pahal-space-m);
	border-bottom: 1px solid var(--pahal-rule);
	font-family: var(--pahal-font-display);
	font-size: clamp(1.75rem, 5vw, 3rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: rgb(244 239 229 / 12%);
	text-transform: uppercase;
	user-select: none;
}

.pahal-footer__top { display: grid; gap: var(--pahal-space-l); }

@media (min-width: 48em) { .pahal-footer__top { grid-template-columns: repeat(2, 1fr); gap: var(--pahal-space-xl); } }

@media (min-width: 64em) {
	.pahal-footer__top { grid-template-columns: 2.4fr 1fr 1fr 1fr 1.5fr; gap: var(--pahal-space-l); }
}

/* Brand */

.pahal-brand--footer { color: var(--pahal-sand); margin-bottom: var(--pahal-space-s); }
.pahal-brand--footer .pahal-brand__mark { color: var(--pahal-sand); }
.pahal-brand--footer .pahal-brand__name { color: var(--pahal-sand); }
.pahal-brand--footer .pahal-brand__tagline { color: var(--pahal-terracotta-light); }
.pahal-brand--footer .pahal-brand__dot { fill: var(--pahal-terracotta-light); }

.pahal-footer__about {
	max-width: 36ch;
	font-size: var(--pahal-text-s);
	line-height: 1.65;
	color: color-mix(in srgb, var(--pahal-sand) 72%, transparent);
}

/* Columns */

.pahal-footer__heading {
	margin: 0 0 var(--pahal-space-s);
	font-family: var(--pahal-font-sans);
	font-size: var(--pahal-text-eyebrow);
	font-weight: 500;
	letter-spacing: var(--pahal-track-eyebrow);
	text-transform: uppercase;
	color: var(--pahal-terracotta-light);
}

.pahal-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.pahal-footer__nav li { margin: 0; }

/* transform, not padding — see the note on .pahal-row in components.css. */
.pahal-footer__nav a {
	display: block;
	width: fit-content;
	padding-block: 0.4rem;
	font-size: var(--pahal-text-s);
	color: var(--pahal-sand);
	text-decoration: none;
	transition: color var(--pahal-duration-fast) var(--pahal-ease-out),
	            transform var(--pahal-duration-menu) var(--pahal-ease);
}

.pahal-footer__nav a:hover { color: var(--pahal-terracotta-light); transform: translateX(0.4rem); }

/* Contact */

.pahal-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0 0 var(--pahal-space-xs);
	font-size: var(--pahal-text-s);
	line-height: 1.55;
	color: var(--pahal-sand);
}

.pahal-footer__contact-item .pahal-icon { flex: none; margin-top: 0.2rem; color: var(--pahal-terracotta-light); }
.pahal-footer__contact a { color: var(--pahal-sand); text-decoration: none; }
.pahal-footer__contact a:hover { color: var(--pahal-terracotta-light); }

/* Bottom bar */

.pahal-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--pahal-space-xs);
	margin-top: var(--pahal-space-xl);
	padding-top: var(--pahal-space-m);
	border-top: 1px solid var(--pahal-rule);
}

.pahal-footer__legal-line {
	margin: 0;
	font-size: var(--pahal-text-s);
	color: color-mix(in srgb, var(--pahal-sand) 62%, transparent);
}

.pahal-footer__reg { margin-left: 0.75rem; }

.pahal-footer__legal { list-style: none; display: flex; flex-wrap: wrap; gap: var(--pahal-space-s); margin: 0; padding: 0; }
.pahal-footer__legal li { margin: 0; }

.pahal-footer__legal a {
	font-size: var(--pahal-text-s);
	color: color-mix(in srgb, var(--pahal-sand) 62%, transparent);
	text-decoration: none;
}

.pahal-footer__legal a:hover { color: var(--pahal-sand); }

/* The content-required marker must stay legible on the dark footer. */
.pahal-footer .pahal-required {
	background-color: rgb(237 182 142 / 14%);
	border-left-color: var(--pahal-terracotta-light);
	color: var(--pahal-terracotta-light);
}
