/* Section Layouts */
.hero {
	padding: 60px 0 80px;
	text-align: center;
	background: #ffffff;
}

.hero h1 {
	font-size: 48px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #1a1a1a;
	letter-spacing: -0.03em;
}

.hero .japanese {
	font-size: 20px;
	color: #666666;
	margin-bottom: 20px;
	font-weight: 400;
}

.hero .japanese .love-learning {
	color: #2563eb;
}

.hero .japanese .ai-learning {
	color: #16a34a;
}

.hero .subtitle {
	font-size: 20px;
	margin-bottom: 12px;
	color: #666666;
	font-weight: 400;
}

.hero .subtitle .love-text {
	color: #2563eb;
}

.hero .subtitle .ai-text {
	color: #16a34a;
}

/* Features Section */
.features {
	padding: 120px 0;
	background: #ffffff;
	position: relative;
}

.features::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #e5e5e5, transparent);
}

.features h2 {
	text-align: center;
	font-size: 40px;
	font-weight: 700;
	margin-bottom: 24px;
	color: #1a1a1a;
	line-height: 1.2;
}

.features-subtitle {
	text-align: center;
	font-size: 20px;
	color: #666666;
	margin-bottom: 100px;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.5;
}

.features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	background: #e5e5e5;
	max-width: 1000px;
	margin: 0 auto;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Audience Section */
.audiences {
	padding: 100px 0;
	background: #fafafa;
}

.audiences h2 {
	text-align: center;
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #1a1a1a;
	letter-spacing: -0.02em;
}

.audiences-subtitle {
	text-align: center;
	font-size: 18px;
	color: #666666;
	margin-bottom: 80px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.audience-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 80px;
	max-width: 1000px;
	margin: 0 auto;
}

/* How It Works */
.how-it-works {
	padding: 100px 0;
	background: #ffffff;
}

.how-it-works h2 {
	text-align: center;
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #1a1a1a;
	letter-spacing: -0.02em;
}

.how-it-works-subtitle {
	text-align: center;
	font-size: 18px;
	color: #666666;
	margin-bottom: 80px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: #e5e5e5;
	max-width: 1200px;
	margin: 0 auto;
}

/* Final CTA */
.final-cta {
	padding: 100px 0;
	background: #1a1a1a;
	color: white;
	text-align: center;
}

.final-cta h2 {
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 20px;
	letter-spacing: -0.02em;
}

.final-cta p {
	font-size: 18px;
	color: #cccccc;
	margin-bottom: 40px;
}

.final-cta .hero-cta {
	background: #1a1a1a;
	color: #ffffff;
	border-color: #ffffff;
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.2);
}

.final-cta .hero-cta:hover {
	background: #ffffff;
	color: #1a1a1a;
	border-color: #ffffff;
	box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);
}
