/*
 * AH Site Footer. Place it in a full-width container with no padding; it paints its own deep navy.
 * Loops (marquee, shine, orbit) pause while the footer is off screen (.is-off from the script).
 * Breakpoints: 1200 (three link columns), 1024 (one column call to action), 767 (link columns fold
 * into an accordion, .is-fold; two columns without it).
 */
.ah-footer {
	position: relative;
	overflow: hidden;
	overflow: clip; /* clip, not a scroll box: focus or anchors can never shift the content sideways */
	background: var(--ah-deep);
	color: var(--ah-on-navy);
	font-family: var(--ah-f-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}
.ah-footer *, .ah-footer *::before, .ah-footer *::after { box-sizing: border-box; }
.ah-footer > :not(.ah-spot) { position: relative; z-index: 1; }
.ah-footer[id] { scroll-margin-top: 96px; }
.ah-footer :is(a, button, input):focus-visible { outline: 2px solid var(--ah-gold); outline-offset: 3px; }
.ah-footer .ah-footer__in { max-width: var(--ah-container); margin-inline: auto; padding-inline: var(--ah-gutter); }

/* tools marquee (always left to right, like a ticker) */
.ah-footer .ah-footer__tools {
	overflow: hidden;
	overflow: clip;
	padding-block: 14px;
	border-block: 1px solid var(--ah-line-navy);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ah-footer .ah-footer__track { display: flex; width: max-content; }
.ah-footer .ah-footer__set {
	display: flex;
	flex: none;
	gap: 34px;
	margin: 0;
	padding: 0;
	padding-inline-end: 34px;
	list-style: none;
	font-family: var(--ah-f-mono);
	font-size: .82rem;
	line-height: 1.6;
	white-space: nowrap;
	color: var(--ah-on-navy-muted);
}
.ah-footer .ah-footer__set li { margin: 0; padding: 0; }
.ah-footer .ah-footer__set li::after { content: "\2726"; margin-inline-start: 34px; color: var(--ah-gold); }

/* call to action */
.ah-footer .ah-footer__cta {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
	gap: 40px;
	align-items: center;
	padding-block: 90px 60px;
}
.ah-footer .ah-footer__cta.ah-footer__cta--solo { grid-template-columns: minmax(0, 1fr); }
.ah-footer .ah-footer__cta::before {
	content: "";
	position: absolute;
	inset: -20% -30%;
	background: radial-gradient(36% 46% at 30% 50%, rgba(197, 165, 114, .2), transparent 70%);
	pointer-events: none;
}
[dir="rtl"] .ah-footer .ah-footer__cta::before { background: radial-gradient(36% 46% at 70% 50%, rgba(197, 165, 114, .2), transparent 70%); }
.ah-footer .ah-footer__cta > * { position: relative; min-width: 0; }
.ah-footer .ah-footer__title {
	margin: 14px 0 0;
	font-family: var(--ah-f-display);
	font-size: clamp(2.4rem, 6.4vw, 5rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0;
	color: var(--ah-on-navy);
	text-wrap: balance;
}
.ah-footer .ah-footer__shine {
	background: linear-gradient(100deg, var(--ah-gold) 20%, #FFF3D6 40%, var(--ah-gold) 60%);
	background-size: 220% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.ah-footer .ah-footer__lead { margin: 14px 0 22px; font-size: 1.1rem; line-height: 1.75; color: var(--ah-on-navy-muted); }
.ah-footer .ah-footer__ctas { display: flex; flex-wrap: wrap; gap: 12px; }

/* contact chips with copy buttons */
.ah-footer .ah-footer__contact { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.ah-footer .ah-footer__chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 7px 8px 7px 14px;
	border: 1px solid var(--ah-line-navy);
	border-radius: 999px;
	background: rgba(255, 255, 255, .05);
	font-family: var(--ah-f-mono);
	font-size: .86rem;
	line-height: 1.5;
	color: var(--ah-on-navy);
	transition: border-color .25s, background-color .25s;
}
.ah-footer .ah-footer__chip:hover { border-color: rgba(232, 201, 136, .4); background: rgba(255, 255, 255, .08); }
.ah-footer .ah-footer__chiptxt { color: inherit; text-decoration: none; }
.ah-footer a.ah-footer__chiptxt:hover { color: var(--ah-gold-hi); }
.ah-footer .ah-footer__copybtn {
	display: inline-block;
	width: auto;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 3px 10px;
	border: 0;
	border-radius: 999px;
	background: var(--ah-gold-hi);
	box-shadow: none;
	font-family: var(--ah-f-body);
	font-size: .76rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ah-deep);
	cursor: pointer;
	transition: background-color .25s, transform .25s var(--ah-spring);
}
.ah-footer .ah-footer__copybtn:hover,
.ah-footer .ah-footer__copybtn:focus-visible { background: #F3DCA9; color: var(--ah-deep); }
.ah-footer .ah-footer__copybtn:active { transform: scale(.94); }

/* card */
.ah-footer .ah-footer__card {
	display: grid;
	gap: 14px;
	padding: 24px;
	border: 1px solid rgba(232, 201, 136, .25);
	border-radius: 20px;
	background: linear-gradient(160deg, #1A2952, #0D1736);
	box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .7);
}
.ah-footer .ah-footer__who { display: flex; align-items: center; gap: 14px; }
.ah-footer .ah-footer__img { flex: none; width: 64px; height: 64px; max-width: none; border: 2px solid var(--ah-gold); border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.ah-footer .ah-footer__name { display: block; font-family: var(--ah-f-display); font-size: 1.06rem; font-weight: 700; line-height: 1.5; }
.ah-footer .ah-footer__role { display: block; font-size: .82rem; line-height: 1.6; color: var(--ah-on-navy-muted); }
.ah-footer .ah-footer__now { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: .78rem; line-height: 1.5; color: var(--ah-on-navy-muted); }
.ah-footer .ah-footer__time { font-family: var(--ah-f-mono); font-variant-numeric: tabular-nums; }
.ah-footer .ah-footer__time:empty { display: none; }
/* accounts: round line icons under the name */
.ah-footer .ah-footer__social { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ah-footer .ah-footer__social li { margin: 0; padding: 0; }
.ah-footer .ah-footer__soc {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--ah-line-navy);
	border-radius: 50%;
	background: rgba(255, 255, 255, .04);
	color: var(--ah-on-navy);
	transition: color .25s, border-color .25s, background-color .25s, transform .35s var(--ah-spring);
}
.ah-footer .ah-footer__soc svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ah-footer .ah-footer__soc:hover,
.ah-footer .ah-footer__soc:focus-visible { border-color: rgba(232, 201, 136, .55); background: rgba(232, 201, 136, .12); color: var(--ah-gold-hi); transform: translateY(-2px); }
.ah-footer .ah-footer__news { display: grid; gap: 8px; padding-top: 14px; border-top: 1px solid var(--ah-line-navy); }
.ah-footer .ah-footer__ntitle { font-size: .95rem; font-weight: 700; line-height: 1.5; }
.ah-footer .ah-footer__news .ah-fn { color: var(--ah-on-navy-muted); }
.ah-footer .ah-footer__news .ah-lf { margin-top: 2px; }
[dir="rtl"] .ah-footer .ah-lf .ah-lf__email { text-align: right; }
.ah-footer .ah-lf .ah-lf__email::placeholder { color: var(--ah-on-navy-muted); opacity: .8; }

/* link columns */
.ah-footer .ah-footer__cols {
	display: grid;
	grid-template-columns: repeat(var(--ah-cols, 5), minmax(0, 1fr));
	gap: 26px;
	padding-block: 40px;
	border-top: 1px solid var(--ah-line-navy);
}
.ah-footer .ah-footer__ctitle {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-family: var(--ah-f-body);
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--ah-gold-hi);
}
.ah-footer .ah-footer__list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; font-size: .9rem; line-height: 1.75; }
.ah-footer .ah-footer__list li { margin: 0; padding: 0; }
.ah-footer .ah-footer__list a,
.ah-footer .ah-footer__links a {
	display: inline-block;
	border-radius: 4px;
	color: var(--ah-on-navy-muted);
	text-decoration: none;
	transition: color .2s, transform .3s var(--ah-ease);
}
.ah-footer .ah-footer__list a:hover,
.ah-footer .ah-footer__list a:focus-visible,
.ah-footer .ah-footer__links a:hover,
.ah-footer .ah-footer__links a:focus-visible { color: var(--ah-on-navy); }
.ah-footer .ah-footer__list a:hover { transform: translateX(calc(var(--ah-dir, 1) * 3px)); }
/* the page being read */
.ah-footer .ah-footer__list a[aria-current="page"],
.ah-footer .ah-footer__links a[aria-current="page"] { color: var(--ah-gold-hi); }
.ah-footer .ah-footer__list a[aria-current="page"]::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-inline-end: 8px; border-radius: 50%; background: currentColor; vertical-align: middle; }

/* folding columns: on wide screens the summary is a plain title */
.ah-footer .ah-footer__sum { display: block; list-style: none; cursor: default; }
.ah-footer .ah-footer__sum::-webkit-details-marker { display: none; }
.ah-footer .ah-footer__sum::marker { content: ""; }
.ah-footer .ah-footer__chev { display: none; }

/* giant wordmark: a light follows the pointer (custom properties registered so it glides) */
@property --ah-fw-x { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
@property --ah-fw-y { syntax: "<length-percentage>"; inherits: false; initial-value: 60%; }
.ah-footer .ah-footer__word {
	margin-block: 10px 0;
	padding-inline: 8px;
	overflow: hidden;
	overflow: clip;
	perspective: 900px;
	text-align: center;
	line-height: 1;
	user-select: none;
	cursor: default;
}
.ah-footer .ah-footer__wordtxt {
	display: inline-block;
	direction: ltr;
	white-space: nowrap;
	font-family: var(--ah-f-display);
	font-size: clamp(2.6rem, 11.2vw, 11.5rem);
	font-weight: 800;
	letter-spacing: -.02em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(232, 201, 136, .4);
	background: radial-gradient(circle 240px at var(--ah-fw-x, 50%) var(--ah-fw-y, 60%), var(--ah-gold-hi), rgba(197, 165, 114, .6) 40%, transparent 70%);
	-webkit-background-clip: text;
	background-clip: text;
	transform: rotateX(26deg);
	transform-origin: bottom;
	transition: --ah-fw-x .35s var(--ah-ease), --ah-fw-y .35s var(--ah-ease);
}

/* bottom bar */
.ah-footer .ah-footer__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-block: 20px calc(20px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--ah-line-navy);
	font-size: .82rem;
	line-height: 1.6;
	color: var(--ah-on-navy-muted);
}
.ah-footer .ah-footer__legal { margin: 0; }
.ah-footer .ah-footer__links { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; list-style: none; }
.ah-footer .ah-footer__links li { margin: 0; padding: 0; }

/* orbit back-to-top */
.ah-footer .ah-footer__orbit {
	position: relative;
	display: grid;
	place-items: center;
	flex: none;
	width: 78px;
	height: 78px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ah-line-navy);
	border-radius: 50%;
	background: rgba(255, 255, 255, .04);
	box-shadow: none;
	font: inherit;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ah-gold-hi);
	cursor: pointer;
	transition: transform .5s var(--ah-spring), border-color .3s, background-color .3s;
}
.ah-footer .ah-footer__orbit:hover,
.ah-footer .ah-footer__orbit:focus-visible { border-color: rgba(232, 201, 136, .5); background: rgba(255, 255, 255, .08); color: var(--ah-gold-hi); transform: translateY(-4px); }
.ah-footer .ah-footer__orbit svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; direction: ltr; }
.ah-footer .ah-footer__orbit text { font-family: var(--ah-f-mono); font-size: 8.6px; letter-spacing: .18em; fill: var(--ah-on-navy-muted); }
.ah-footer .ah-footer__arr { font-size: 1.2rem; transition: transform .4s var(--ah-spring); }
.ah-footer .ah-footer__orbit:hover .ah-footer__arr { transform: translateY(-3px); }

@media (prefers-reduced-motion: no-preference) {
	.ah-footer .ah-footer__track { animation: ah-footer-marq 60s linear infinite; }
	.ah-footer .ah-footer__shine { animation: ah-footer-shine 4.5s linear infinite; }
	.ah-footer .ah-footer__orbit svg { animation: ah-spin 16s linear infinite; }
	.ah-footer .ah-footer__orbit:hover svg { animation-duration: 6s; }
	.ah-footer.is-off .ah-footer__track,
	.ah-footer.is-off .ah-footer__shine,
	.ah-footer.is-off .ah-footer__orbit svg { animation-play-state: paused; }
	.ah-footer .ah-footer__tools:hover .ah-footer__track { animation-play-state: paused; }
}
@keyframes ah-footer-marq { to { transform: translateX(-50%); } }
@keyframes ah-footer-shine { to { background-position: -220% 0; } }

/* reduced motion: a still, wrapped tool list */
@media (prefers-reduced-motion: reduce) {
	.ah-footer .ah-footer__tools { -webkit-mask-image: none; mask-image: none; }
	.ah-footer .ah-footer__track { width: auto; justify-content: center; }
	.ah-footer .ah-footer__set { flex: 1 1 100%; flex-wrap: wrap; justify-content: center; row-gap: 6px; padding-inline: 16px; }
	.ah-footer .ah-footer__set[aria-hidden="true"] { display: none; }
	.ah-footer .ah-footer__set li:last-child::after { display: none; }
	.ah-footer .ah-footer__wordtxt, .ah-footer .ah-footer__orbit, .ah-footer .ah-footer__arr, .ah-footer .ah-footer__list a, .ah-footer .ah-footer__soc, .ah-footer .ah-footer__chev { transition: none; }
}

@media (max-width: 1200px) {
	.ah-footer .ah-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.ah-footer .ah-footer__cta { grid-template-columns: minmax(0, 1fr); padding-block: 72px 48px; }
	.ah-footer .ah-footer__card { max-width: 520px; }
}
@media (max-width: 767px) {
	.ah-footer { font-size: 16.5px; }
	.ah-footer .ah-footer__cta { gap: 32px; padding-block: 60px 40px; }
	.ah-footer .ah-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; padding-block: 32px; }
	/* accordion: one row per column, the links open under it */
	.ah-footer .ah-footer__cols.is-fold { grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 12px 28px; }
	.ah-footer .is-fold .ah-footer__col { border-bottom: 1px solid var(--ah-line-navy); }
	.ah-footer .is-fold .ah-footer__sum {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 56px;
		padding-block: 8px;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
	.ah-footer .is-fold .ah-footer__sum:focus-visible { outline: 2px solid var(--ah-gold); outline-offset: -2px; border-radius: 8px; }
	.ah-footer .is-fold .ah-footer__ctitle { margin: 0; font-size: 1rem; color: var(--ah-on-navy); }
	.ah-footer .is-fold .ah-footer__col[open] .ah-footer__ctitle { color: var(--ah-gold-hi); }
	.ah-footer .is-fold .ah-footer__chev {
		display: block;
		flex: none;
		width: 9px;
		height: 9px;
		margin-inline-end: 6px;
		border-right: 1.6px solid var(--ah-gold-hi); /* physical: the chevron points down in both directions */
		border-bottom: 1.6px solid var(--ah-gold-hi);
		transform: translateY(-2px) rotate(45deg);
		transition: transform .3s var(--ah-ease);
	}
	.ah-footer .is-fold .ah-footer__col[open] .ah-footer__chev { transform: translateY(2px) rotate(-135deg); }
	.ah-footer .is-fold .ah-footer__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; padding-block: 0 18px; padding-inline-start: 54px; font-size: .95rem; }
	.ah-footer .is-fold .ah-footer__list a { padding-block: 5px; }
	.ah-footer .ah-footer__card { padding: 20px; }
	.ah-footer .ah-footer__tools { padding-block: 11px; }
	.ah-footer .ah-footer__set { gap: 24px; padding-inline-end: 24px; font-size: .76rem; }
	.ah-footer .ah-footer__set li::after { margin-inline-start: 24px; }
	.ah-footer .ah-footer__bar { gap: 12px 16px; }
	.ah-footer .ah-footer__legal { flex: 1 1 100%; }
}
