/* =========================================================================
   Grand Tour #10 - "Last light: the footer as an arrival hall"
   CSS-ONLY re-skin of the EXISTING footer (footer.footer-praxis), site-wide.

   Concept: the footer is the end of the journey. Reframe the site's dark
   "night band" footer as a calm arrival hall at last light - the reader has
   arrived. Rail-travel Instrument voice: restrained, premium.

   CONSTRAINTS honoured:
   - No markup change. Styles ONLY classes the footer already emits.
   - No new text nodes. The one word-mark ("ARRIVALS - END OF LINE") is a
     decorative, non-essential CSS ::before eyebrow on the existing tagline.
   - Site-wide safe: no horizontal overflow (all decoration is inset within
     the footer border-box; no 100vw, no negative margins, no width changes).
   - Grid columns are NEVER touched, so the theme's responsive collapse
     (2-col / 1-col) keeps working untouched at mobile.
   - Specificity won with a leading `body ` prefix instead of !important.
   - Reversible: remove the two files.

   Footer is DARK (theme: .footer-praxis { background:#14110D; color:#fff }).
   Instrument tokens used here (dark-band adapted):
     burnt-orange  #C75B22   (platform edge / perforation / eyebrow)
     dusk glow     rgba(199,91,34, .10 -> 0)   (last light)
   The theme's own on-dark greys (rgba(255,255,255,.x)) are preserved.
   ========================================================================= */

/* --- Wrapper: night band + a faint "last light" entering from the top edge.
   The solid #14110D is kept as the final background layer so contrast for the
   white/grey link text is unchanged; the warm radial only tints the padding
   band just below the platform edge. ----------------------------------------*/
body .footer-praxis {
	position: relative;               /* anchor the platform-edge ::before */
	background:
		radial-gradient(120% 62% at 50% 0%,
			rgba(199, 91, 34, 0.10) 0%,
			rgba(199, 91, 34, 0.035) 24%,
			transparent 56%),
		#14110D;
	padding-top: 92px;                /* calmer arrival breathing room (was 84px) */
}

/* --- Platform edge: a burnt-orange hairline at the very top, with a subtle
   ticket-perforation dashed line a few px below. Inset within the footer
   border-box (left/right:0), so it is full-bleed but cannot cause overflow. --*/
body .footer-praxis::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 8px;
	pointer-events: none;
	background:
		/* solid platform edge, 1px at the very top */
		linear-gradient(#C75B22, #C75B22) top / 100% 1px no-repeat,
		/* ticket perforation, 1px dashed, ~7px below the edge */
		repeating-linear-gradient(90deg,
			rgba(199, 91, 34, 0.55) 0 9px,
			transparent 9px 18px) bottom / 100% 1px no-repeat;
}

/* --- Arrival-hall eyebrow: a small mono departures-board label placed above
   the existing serif tagline. Decorative and non-essential (screen-reader
   users lose nothing; the tagline text itself is untouched). ----------------*/
body .footer-tagline {
	position: relative;
}
body .footer-tagline::before {
	content: "Arrivals \00B7 End of line";
	display: block;
	margin-bottom: 16px;
	font-family: 'IBM Plex Mono', ui-monospace, monospace;
	font-size: 10.5px;
	font-style: normal;               /* tagline itself is italic; keep label upright */
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #C75B22;
}

/* --- Column headings: keep the theme's mono uppercase label, add a short
   burnt-orange "platform marker" tick before each, and lift the grey a touch
   so the headings read as calm signage. -------------------------------------*/
body .footer-col-title {
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.5);
}
body .footer-col-title::before {
	content: "";
	flex: 0 0 auto;
	width: 12px;
	height: 1px;
	background: #C75B22;
	opacity: 0.85;
}
/* The heading may wrap an <a> (hub links); keep the tick+lift consistent. */
body .footer-col-title a {
	color: inherit;
}

/* --- Links: unchanged behaviour, only a calmer resting rhythm. --------------*/
body .footer-link {
	margin-bottom: 14px;
}

/* --- Powered-by rule + brand-contact divider: warm the hairline slightly so
   the dividers echo the platform edge rather than a cold grey line. ----------*/
body .footer-powered {
	border-top-color: rgba(199, 91, 34, 0.22);
}

/* --- Bottom bar: the concourse baseline. Warm its top rule, add arrival
   spacing, and give the copyright mono a fractionally wider track. ----------*/
body .footer-bottom {
	border-top-color: rgba(199, 91, 34, 0.22);
	padding-top: 30px;
	margin-top: 8px;
}
body .footer-copy {
	letter-spacing: 0.08em;
}

/* --- Motion: nothing here animates, but honour the preference defensively so
   any inherited transitions on these elements are stilled. -------------------*/
@media (prefers-reduced-motion: reduce) {
	body .footer-praxis,
	body .footer-praxis * {
		transition: none !important;
		animation: none !important;
	}
}
