/* Fit — all colours from the theme's tokens, no literals. */
.an-fit { max-width: var(--an-max, 1240px); margin: 0 auto; padding: 32px var(--an-gutter, 20px) 64px; }

.an-fit-head { max-width: 60ch; }
.an-fit-eyebrow {
	margin: 0 0 8px; font-family: var(--an-font-mono); font-size: 11px;
	font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--an-text-3);
}
.an-fit h1 {
	margin: 0 0 12px; font-family: var(--an-font-editorial);
	font-size: clamp(30px, 5.4vw, 48px); line-height: var(--an-lh-tight);
	letter-spacing: -.025em;
}
.an-fit-lede { margin: 0; color: var(--an-text-2); line-height: var(--an-lh-body); }

.an-fit-form {
	margin: 28px 0; padding: 20px; border: 1px solid var(--an-line);
	border-radius: var(--an-radius-lg); background: var(--an-surface);
}
.an-fit-fields {
	display: grid; gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr));
}
.an-fit-fields label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; }
.an-fit-fields label > span { color: var(--an-text-2); font-weight: 600; }
.an-fit-fields input, .an-fit-fields select {
	padding: 9px 11px; min-height: 42px;
	border: 1px solid var(--an-line); border-radius: var(--an-radius-md);
	background: var(--an-bg); color: var(--an-text);
	font: inherit; font-family: var(--an-font-mono);
	font-variant-numeric: tabular-nums;
}
.an-fit-fields input:focus-visible, .an-fit-fields select:focus-visible {
	outline: 2px solid var(--an-accent); outline-offset: 1px;
}
.an-fit-fields em { font-size: 11px; color: var(--an-text-3); font-style: normal; }
.an-fit-form button {
	margin-top: 16px; padding: 11px 22px; min-height: 44px;
	border: 0; border-radius: 999px;
	background: var(--an-accent); color: var(--an-bg);
	font: inherit; font-weight: 600; cursor: pointer;
}
.an-fit-hint { margin: 12px 0 0; font-size: 12.5px; color: var(--an-text-3); max-width: 70ch; }

.an-fit-tally { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.an-fit-t {
	padding: 8px 14px; border-radius: 999px; font-size: 13px;
	border: 1px solid var(--an-line); color: var(--an-text-2);
}
.an-fit-t b { font-family: var(--an-font-mono); font-variant-numeric: tabular-nums; color: var(--an-text); }
.an-fit-t.is-clear { border-color: var(--an-accent); }

.an-fit-blame {
	margin: 24px 0; padding: 18px 20px;
	border: 1px solid var(--an-line); border-left: 3px solid var(--an-accent);
	border-radius: 0 var(--an-radius-md) var(--an-radius-md) 0;
	background: var(--an-surface);
}
.an-fit-blame h2 { margin: 0 0 6px; font-size: 17px; }
.an-fit-blame p { margin: 0 0 10px; font-size: 13.5px; color: var(--an-text-2); max-width: 70ch; }
.an-fit-blame ul { margin: 0; padding-left: 18px; }
.an-fit-blame li { margin-bottom: 4px; font-size: 14px; }

.an-fit-band { margin-top: 36px; }
.an-fit-band h2 {
	margin: 0 0 4px; font-family: var(--an-font-editorial);
	font-size: clamp(19px, 2.6vw, 24px); letter-spacing: -.015em;
}
.an-fit-band-note { margin: 0 0 14px; font-size: 13.5px; color: var(--an-text-3); max-width: 70ch; }

.an-fit-grid {
	display: grid; gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 248px), 1fr));
}
.an-fit-card {
	display: flex; flex-direction: column; gap: 4px;
	padding: 14px 16px; text-decoration: none; color: inherit;
	border: 1px solid var(--an-line); border-radius: var(--an-radius-md);
	background: var(--an-surface);
	transition: border-color var(--an-fast) var(--an-ease);
}
.an-fit-card:hover, .an-fit-card:focus-visible { border-color: var(--an-accent); }
.an-fit-band.is-clear .an-fit-card { border-left: 3px solid var(--an-accent); }
.an-fit-band.is-out   .an-fit-card { opacity: .82; }
.an-fit-card-n { font-weight: 600; font-size: 15px; }
.an-fit-card-g {
	font-family: var(--an-font-mono); font-size: 10.5px; font-weight: 600;
	letter-spacing: .1em; text-transform: uppercase; color: var(--an-text-3);
}
.an-fit-card-b { margin-top: 4px; font-size: 13px; color: var(--an-text-2); line-height: var(--an-lh-snug); }
.an-fit-card-b b { display: block; font-size: 11px; color: var(--an-text-3); font-weight: 600; }
.an-fit-card-u { font-size: 11.5px; color: var(--an-text-3); font-style: italic; }

.an-fit-foot {
	margin-top: 40px; padding-top: 18px; border-top: 1px solid var(--an-line);
	font-size: 13px; color: var(--an-text-3); max-width: 76ch;
}
@media (prefers-reduced-motion: reduce) { .an-fit-card { transition: none; } }
