refactor: 팩 상세 AI-티 제거 — 결과 중심 Hero + Sticky CTA + 덜어내기

- Hero: 좌(카피+CTA 2개) / 우(샘플 프리뷰 9:16) 2-column 재구성
- 구성품 6→4로 축소, 반복 규칙(rounded-2xl/p-6) 통일
- 추천대상·B2B 섹션 삭제 (섹션당 역할 1개 원칙)
- Sticky 바텀 CTA: 스크롤 중 항상 ₩39,000 진입점 유지
This commit is contained in:
2026-04-16 03:48:29 +09:00
parent b8c5a202ce
commit 70bd09b59a

View File

@@ -118,20 +118,72 @@ export default function MusicServicePage() {
return (
<div className="min-h-full bg-slate-950 text-white">
{/* 상세 페이지 헤더 (컴팩트) */}
<section className="px-6 pt-14 pb-8 lg:px-14 bg-slate-950 border-b border-white/5">
<div className="max-w-6xl mx-auto">
<div className="flex items-center gap-3 mb-4">
{/* HERO — 결과 중심 2-column */}
<section className="px-6 pt-16 pb-14 lg:px-14 bg-slate-950 border-b border-white/5">
<div className="max-w-6xl mx-auto grid lg:grid-cols-2 gap-10 lg:gap-14 items-center">
{/* 좌: 카피 + CTA */}
<div>
<div className="flex items-center gap-2 mb-5">
<span className="inline-flex h-2 w-2 rounded-full bg-violet-400 animate-pulse" />
<span className="kx-label">AI MUSIC PACK · v1 · </span>
<span className="font-mono text-[11px] tracking-widest uppercase text-violet-300/80">
AI MUSIC PACK · v1
</span>
</div>
<h1 className="kx-display text-3xl md:text-5xl font-extrabold leading-tight mb-3" style={{ wordBreak: 'keep-all' }}>
AI
<h1
className="kx-display text-[2.25rem] md:text-[3.25rem] font-extrabold leading-[1.1] mb-5"
style={{ wordBreak: 'keep-all', letterSpacing: '-0.02em' }}
>
AI로 + ,
<br />
<span className="bg-gradient-to-r from-violet-300 to-cyan-300 bg-clip-text text-transparent">
.
</span>
</h1>
<p className="text-slate-300 md:text-lg max-w-3xl">
Suno + MV + + 릿 PDF + .
4 AI .
<p className="text-slate-300 text-base md:text-lg leading-relaxed mb-8 max-w-lg">
Suno MV · .
1 .
</p>
<div className="flex flex-col sm:flex-row gap-3">
<a
href="#pricing"
className="inline-flex items-center justify-center gap-2 bg-violet-500 hover:bg-violet-400 text-white px-7 py-4 rounded-xl font-extrabold text-sm transition-colors shadow-[0_12px_40px_-12px_rgba(139,92,246,0.6)]"
>
39,000
</a>
<Link
href="/services/music/samples"
className="inline-flex items-center justify-center gap-2 border border-white/15 hover:border-white/30 hover:bg-white/5 text-white px-7 py-4 rounded-xl font-semibold text-sm transition-colors"
>
</Link>
</div>
</div>
{/* 우: 결과 프리뷰 */}
<div className="relative">
<div className="absolute -inset-6 bg-gradient-to-br from-violet-500/20 to-cyan-500/10 blur-3xl rounded-full pointer-events-none" />
<div
className="relative aspect-[9/16] max-w-[320px] mx-auto rounded-2xl overflow-hidden border border-white/10 shadow-2xl shadow-violet-900/40"
style={{ background: 'linear-gradient(135deg,#1e1b4b 0%,#0f172a 60%,#0b0530 100%)' }}
>
<div className="absolute inset-0 flex flex-col items-center justify-center p-6 text-center">
<div className="text-5xl mb-3">🎬</div>
<p className="font-mono text-[10px] tracking-widest text-violet-300/80 uppercase mb-1">
FEATURED SHORT
</p>
<p className="text-sm text-white font-semibold">TOP </p>
<p className="text-[11px] text-slate-400 mt-1">9:16 · 58</p>
</div>
<div className="absolute bottom-3 left-3 right-3 flex gap-1.5">
<span className="text-[10px] px-2 py-0.5 rounded-full bg-black/60 text-white border border-white/10">
Suno V4
</span>
<span className="text-[10px] px-2 py-0.5 rounded-full bg-black/60 text-white border border-white/10">
1
</span>
</div>
</div>
</div>
</div>
</section>
@@ -211,16 +263,14 @@ export default function MusicServicePage() {
<h2 className="text-2xl md:text-3xl font-extrabold mb-8">팩 구성품</h2>
<div className="grid md:grid-cols-2 gap-4">
{[
{ icon: '📄', title: 'Suno (PDF)', desc: '·· 20+. .' },
{ icon: '🎼', title: ' 릿 ', desc: 'Verse·Chorus·Bridge + Suno Custom .' },
{ icon: '🎬', title: 'MV ', desc: 'Midjourney · Runway · Luma로 .' },
{ icon: '', title: ' & ', desc: 'Suno/Runway + .' },
{ icon: '📦', title: ' (·)', desc: ' .prj + . .' },
{ icon: '🔄', title: '12 ', desc: 'Suno · . Notion에서 .' },
{ icon: '📄', title: 'Suno ', desc: '·· 20+. PDF.' },
{ icon: '🎬', title: 'MV ', desc: 'Midjourney·Runway·Luma로 .' },
{ icon: '', title: ' & ', desc: 'Suno·Runway + .' },
{ icon: '📦', title: ' ', desc: ' ·· . .' },
].map((item) => (
<div
key={item.title}
className="flex gap-4 p-5 rounded-xl border border-white/10 bg-white/[0.02]"
className="flex gap-4 p-6 rounded-2xl border border-white/10 bg-white/[0.02]"
>
<div className="text-2xl flex-shrink-0">{item.icon}</div>
<div>
@@ -322,65 +372,6 @@ export default function MusicServicePage() {
</div>
</section>
{/* 추천 대상 */}
<section className="px-6 py-20 lg:px-14 bg-slate-950 border-t border-white/5">
<div className="max-w-5xl mx-auto">
<p className="font-mono text-xs text-violet-300/70 tracking-widest uppercase mb-2 text-center">
Who It's For
</p>
<h2 className="text-3xl md:text-4xl font-extrabold text-center mb-12">
</h2>
<div className="grid md:grid-cols-2 gap-5">
<div className="border border-emerald-500/30 bg-emerald-500/5 rounded-2xl p-8 shadow-[0_0_40px_rgba(16,185,129,0.12)]">
<div className="text-4xl mb-3">🎯</div>
<h3 className="font-extrabold text-emerald-300 mb-3 text-lg"> </h3>
<ul className="space-y-2 text-sm text-slate-200 leading-relaxed">
<li> Suno를 </li>
<li> · 1 </li>
<li> · BGM을 </li>
<li> AI </li>
</ul>
</div>
<div className="border border-white/10 bg-white/[0.02] rounded-2xl p-8">
<div className="text-4xl mb-3">🙅</div>
<h3 className="font-extrabold text-slate-300 mb-3 text-lg"> </h3>
<ul className="space-y-2 text-sm text-slate-400 leading-relaxed">
<li> (B2B )</li>
<li> DAW· </li>
<li> Suno ( )</li>
</ul>
</div>
</div>
</div>
</section>
{/* B2B */}
<section className="px-6 py-16 lg:px-14 bg-gradient-to-br from-slate-900 to-slate-950 border-y border-white/5">
<div className="max-w-5xl mx-auto">
<div className="flex flex-col md:flex-row md:items-center gap-6 border border-amber-500/30 bg-amber-500/5 rounded-2xl p-8">
<div className="flex-1">
<p className="font-mono text-xs text-amber-300/80 tracking-widest uppercase mb-2">
For Business
</p>
<h3 className="text-2xl font-extrabold text-white mb-2">
📣 BGM, .
</h3>
<p className="text-sm text-slate-300 leading-relaxed">
· · · BGM .
1 .
</p>
</div>
<Link
href="/contact?service=bgm"
className="inline-flex items-center gap-2 bg-amber-500 hover:bg-amber-400 text-slate-900 px-6 py-3 rounded-xl font-extrabold text-sm transition-colors"
>
B2B
</Link>
</div>
</div>
</section>
{/* FAQ */}
<section className="px-6 py-20 lg:px-14 bg-slate-950">
<div className="max-w-3xl mx-auto">
@@ -432,6 +423,28 @@ export default function MusicServicePage() {
</div>
</section>
{/* Sticky 바텀 CTA */}
<div
className="fixed bottom-0 inset-x-0 z-40 border-t border-white/10 backdrop-blur-md"
style={{ background: 'rgba(6,14,32,0.85)' }}
>
<div className="max-w-6xl mx-auto px-5 py-3 flex items-center justify-between gap-4">
<div className="min-w-0">
<p className="text-[11px] font-mono text-violet-300/70 tracking-widest uppercase">From</p>
<p className="text-white font-extrabold text-lg leading-tight">
39,000 <span className="text-xs text-slate-400 font-medium">· 1 </span>
</p>
</div>
<a
href="#pricing"
className="inline-flex items-center gap-2 bg-violet-500 hover:bg-violet-400 text-white px-6 py-3 rounded-xl font-extrabold text-sm transition-colors shadow-[0_8px_30px_-8px_rgba(139,92,246,0.6)] whitespace-nowrap"
>
</a>
</div>
</div>
<div className="h-20" aria-hidden />
{selectedTier && (
<PurchaseAgreementModal
isOpen={!!selectedTier}