/* =========================================================
   components.css — buttons, kickers, section counter, link underlines
   ========================================================= */

/* ============ Kicker label ============ */
.as-kicker {
	display: inline-flex;
	align-items: baseline;
	gap: 0.5ch;
	font-family: var(--f-body);
	font-size: var(--f-label);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	margin-bottom: 28px;
}
.as-kicker__num {
	color: var(--c-accent);
	font-weight: 600;
}
.as-kicker__dash {
	opacity: 0.5;
}
.as-kicker__label { }

/* ============ Buttons ============ */
.as-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6ch;
	font-family: var(--f-body);
	font-weight: 500;
	font-size: 1rem;
	line-height: 1;
	padding: 16px 32px;
	border: 1px solid transparent;
	border-radius: var(--r-xs);
	letter-spacing: 0.02em;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}

.as-btn--primary {
	background: var(--c-accent);
	color: var(--c-paper);
	border-color: var(--c-accent);
}
.as-btn--primary:hover,
.as-btn--primary:focus-visible {
	background: var(--c-accent-deep);
	border-color: var(--c-accent-deep);
	color: var(--c-paper);
}

.as-btn--outlined {
	background: transparent;
	color: inherit;
	border-color: currentColor;
}
.as-section--paper .as-btn--outlined { color: var(--c-ink); border-color: var(--c-ink); }
.as-section--paper .as-btn--outlined:hover,
.as-section--paper .as-btn--outlined:focus-visible {
	background: var(--c-ink);
	color: var(--c-paper);
	border-color: var(--c-ink);
}
.as-section--dark .as-btn--outlined { color: var(--c-paper); border-color: var(--c-paper); }
.as-section--dark .as-btn--outlined:hover,
.as-section--dark .as-btn--outlined:focus-visible {
	background: var(--c-paper);
	color: var(--c-ink);
	border-color: var(--c-paper);
}

.as-btn--block { width: 100%; }

/* ============ Text link ============ */
.as-link {
	display: inline-flex;
	align-items: baseline;
	gap: 0.4ch;
	position: relative;
	font-weight: 500;
	text-decoration: none;
	color: inherit;
	padding-bottom: 2px;
	transition: color 0.2s;
}
.as-link::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s;
}
.as-link:hover::after,
.as-link:focus-visible::after { transform: scaleX(1); }

.as-link--accent { color: var(--c-accent); }
.as-link--accent:hover { color: var(--c-accent-deep); }

/* CTA row (hero) */
.as-cta-row {
	display: inline-flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
	margin-top: 32px;
}

/* Accent word in heading */
.as-accent-word { color: var(--c-accent); font-style: italic; }

/* Emphasized numeric */
.as-num-xl {
	font-family: var(--f-display);
	font-size: clamp(3rem, 6vw, 4.5rem);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}

/* Tag chip — hairline, zero background */
.as-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	font-size: var(--f-label);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
}
.as-tags li {
	border: 1px solid currentColor;
	padding: 6px 10px;
	border-radius: var(--r-xs);
	opacity: 0.85;
}
