/* ─── Reset & Base ─────────────────────────────────────────────────────────── */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	--black: #000000;
	--accent: #ff6b35;
	--white: #ffffff;
	--gray1: #8e8e93;
	--gray2: #636366;
	--card: #1c1c1e;
	--card2: #2c2c2e;

	--warmup: #34c759;
	--easy: #5ac8fa;
	--medium: #ff9500;
	--hard: #ff3b30;
	--sprint: #ff2d55;
	--cooldown: #5ac8fa;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--black);
	color: var(--white);
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* ─── Header / Logo ─────────────────────────────────────────────────────────── */

header {
	display: flex;
	justify-content: center;
	padding: 60px 20px 48px;
}

.logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

/* Bars */
.bars {
	display: flex;
	align-items: flex-end;
	gap: 6px;
}

.bar {
	width: 18px;
	border-radius: 10px 10px 5px 5px;
	opacity: 0.8;
	transition: opacity 0.15s ease;
}

.bar.active {
	opacity: 1;
}

.bar[data-type='warmup'] {
	background: var(--warmup);
}
.bar[data-type='easy'] {
	background: var(--easy);
}
.bar[data-type='medium'] {
	background: var(--medium);
}
.bar[data-type='hard'] {
	background: var(--hard);
}
.bar[data-type='sprint'] {
	background: var(--sprint);
}
.bar[data-type='cooldown'] {
	background: var(--cooldown);
}

/* Wordmark */
.wordmark {
	font-size: 92px;
	font-weight: 900;
	letter-spacing: -2px;
	line-height: 1;
}

.wordmark-hiit {
	color: var(--accent);
}
.wordmark-list {
	color: var(--white);
	font-weight: 500;
}

/* ─── Shared layout ─────────────────────────────────────────────────────────── */

main {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 20px;
}

section {
	margin-bottom: 80px;
}

h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 8px;
}

.section-sub {
	color: var(--gray1);
	margin-bottom: 28px;
	font-size: 15px;
}

/* ─── Hero ───────────────────────────────────────────────────────────────────── */

.hero {
	text-align: center;
	padding: 20px 0 20px;
	margin-bottom: 80px;
}

.hero h1 {
	font-size: clamp(36px, 8vw, 56px);
	font-weight: 800;
	letter-spacing: -1.5px;
	line-height: 1.1;
	margin-bottom: 20px;
}

.tagline {
	color: var(--gray1);
	font-size: 17px;
	line-height: 1.65;
	max-width: 560px;
	margin: 0 auto 36px;
}

/* App Store badge */
.coming-soon-wrap {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.app-store-badge {
	width: 160px;
	height: 53px;
	filter: grayscale(1) brightness(0.55);
	display: block;
}

.coming-soon-label {
	font-size: 13px;
	font-weight: 500;
	color: var(--gray2);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* ─── How it works ───────────────────────────────────────────────────────────── */

.steps {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin-top: 28px;
}

.step {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.step-number {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-weight: 700;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.step h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 4px;
}

.step p {
	color: var(--gray1);
	font-size: 15px;
	line-height: 1.6;
}

/* ─── Features ───────────────────────────────────────────────────────────────── */

.feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin-top: 28px;
}

.feature-card {
	background: var(--card);
	border-radius: 16px;
	padding: 20px;
}

.feature-icon {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-bottom: 14px;
}

.feature-card h3 {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 6px;
}

.feature-card p {
	color: var(--gray1);
	font-size: 14px;
	line-height: 1.55;
}

/* ─── Workout styles ─────────────────────────────────────────────────────────── */

.styles-list {
	list-style: none;
	margin-top: 28px;
	border-top: 1px solid var(--card2);
}

.styles-list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--card2);
	flex-wrap: wrap;
}

.style-name {
	font-weight: 600;
	font-size: 16px;
	color: var(--white);
}

.style-desc {
	color: var(--gray1);
	font-size: 14px;
}

/* ─── Footer ─────────────────────────────────────────────────────────────────── */

footer {
	text-align: center;
	padding: 40px 20px 60px;
	border-top: 1px solid var(--card2);
}

.footer-logo {
	font-size: 28px;
	font-weight: 900;
	letter-spacing: -1px;
	margin-bottom: 12px;
}

.footer-copy {
	color: var(--gray2);
	font-size: 13px;
}

.footer-copy a {
	color: var(--gray1);
	text-decoration: none;
}

.footer-copy a:hover {
	color: var(--accent);
}

/* ─── Responsive ─────────────────────────────────────────────────────────────── */

@media (max-width: 480px) {
	/* .wordmark {
		font-size: 48px;
	} */
	.feature-grid {
		grid-template-columns: 1fr;
	}
	.styles-list li {
		flex-direction: column;
		gap: 4px;
	}
}
