/*
 * Homepage: dedicated Business Fast Track panel (template-parts/home-fast-track.php).
 * Hand-written and scoped to .odm-home-ft, loaded only when the panel renders. Mobile-first:
 * base rules are the narrow layout, wider layouts only add with min-width. Uses the theme's
 * own colour and font tokens. No animation, so reduced-motion and "Pause animations" need
 * no override.
 */
.odm-home-ft {
	--hft-bg: var(--color-brand-900, #312e81);
	--hft-ink: #17142e;
	--hft-accent: var(--color-brand-600, #4f46e5);
	background: linear-gradient(160deg, #16123a 0%, var(--hft-bg) 100%);
	color: #fff;
	padding: clamp(3rem, 8vw, 5rem) 0;
	font-family: var(--font-sans, system-ui, sans-serif);
}
.odm-home-ft, .odm-home-ft * { box-sizing: border-box; }
.odm-home-ft :focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.odm-home-ft :where(p, h2, ul) { margin: 0; }
.odm-home-ft__grid { display: grid; gap: 2rem; align-items: start; }
.odm-home-ft__grid > * { min-width: 0; overflow-wrap: anywhere; } /* W11-006: grid items may shrink at 200 percent text */
.odm-home-ft__badge { display: inline-block; padding: 0.35rem 0.8rem; border-radius: 999px; background: rgba(255,255,255,.12); font-size: 0.75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.odm-home-ft .odm-home-ft__title { color: #fff; margin-top: 1rem; font-family: var(--font-display, var(--font-sans, sans-serif)); font-weight: 800; font-size: clamp(1.75rem, 5vw, 2.75rem); line-height: 1.12; text-wrap: balance; }
.odm-home-ft__lead { margin-top: 1rem; font-size: 1.05rem; line-height: 1.6; color: rgba(255,255,255,.86); max-width: 38rem; }
.odm-home-ft__markets-label { margin-top: 1.5rem; font-size: 0.85rem; color: rgba(255,255,255,.72); }
.odm-home-ft__markets { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; margin-top: 0.5rem; list-style: none; }
.odm-home-ft__markets li { padding: 0.35rem 0.75rem; border-radius: 8px; background: rgba(255,255,255,.14); font-size: 0.85rem; font-weight: 700; }
.odm-home-ft__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.odm-home-ft__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 48px; padding: 0 1.4rem; border-radius: 0.75rem; font-weight: 700; text-decoration: none; }
.odm-home-ft__btn--primary { background: #fff; color: var(--hft-bg); }
.odm-home-ft__btn--ghost { border: 1.5px solid rgba(255,255,255,.7); color: #fff; }
.odm-home-ft__notice { margin-top: 1.25rem; padding: 0.75rem 1rem; border-radius: 0.75rem; background: rgba(250,204,21,.16); border: 1px solid rgba(250,204,21,.55); font-size: 0.9rem; line-height: 1.5; }
.odm-home-ft__card { padding: 1.5rem; border-radius: 1.25rem; background: #fff; color: var(--hft-ink); box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.odm-home-ft__card-label { font-size: 0.8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hft-accent); }
.odm-home-ft__price { margin-top: 0.5rem; display: flex; align-items: baseline; gap: 0.4rem; }
.odm-home-ft__price-amount { font-family: var(--font-display, sans-serif); font-weight: 800; font-size: clamp(2.25rem, 7vw, 3rem); line-height: 1; }
.odm-home-ft__price-period { color: #4a4666; font-weight: 600; }
.odm-home-ft__price-note { margin-top: 0.4rem; color: #4a4666; font-size: 0.9rem; }
.odm-home-ft__list { margin-top: 1.1rem; padding: 1.1rem 0 0; border-top: 1px solid #e2ddf0; list-style: none; display: grid; gap: 0.7rem; }
.odm-home-ft__list li { display: flex; gap: 0.6rem; align-items: flex-start; line-height: 1.45; }
.odm-home-ft__list i { margin-top: 0.2rem; color: var(--hft-accent); }
.odm-home-ft__footnote { margin-top: 1rem; font-size: 0.85rem; color: #4a4666; }
.odm-home-ft__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.odm-home-ft__card :focus-visible { outline-color: var(--hft-accent); }
@media (min-width: 900px) {
	.odm-home-ft__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3rem; align-items: center; }
}
@media (hover: hover) {
	.odm-home-ft__btn--primary:hover { background: #eef0ff; }
	.odm-home-ft__btn--ghost:hover { background: rgba(255,255,255,.12); }
}
