feat: 홈페이지 제작 폰트 통일 + 자동화 툴 다운로드 섹션 추가

- app/services/website/page.tsx: Google Fonts (Syne, Noto Sans KR) 제거
  → 사이트 공통 폰트 CookieRun으로 교체, @import 제거
- app/services/automation/page.tsx: 자동화 도구 무료 다운로드 섹션 추가
  - 엑셀 자동화 도구(배포), 웹 스크래핑·이메일 자동화(준비중) 카드
  - 각 카드 → 상세 서브페이지 링크 연결
- app/services/automation/tools/excel/page.tsx: 신규 생성
  - 엑셀 매크로 툴킷 상세 페이지 (기능 6가지, 사용법, 미리보기 목업, FAQ)
  - 무료 다운로드 버튼 (/downloads/Excel_Macro_Toolkit_v1.2.xlsm)
  - 맞춤 개발 문의 CTA
- public/downloads/: 다운로드 파일 배치 디렉토리 생성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-20 00:00:46 +09:00
parent 0222eca381
commit b2c96ceec7
3 changed files with 474 additions and 34 deletions

View File

@@ -113,7 +113,6 @@ export default function WebsiteServicePage() {
return (
<div style={{ background: '#020817', minHeight: '100vh', color: 'white' }}>
<style>{`
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=Noto+Sans+KR:wght@300;400;500;700&display=swap');
@keyframes fadeUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gridScroll { from { background-position: 0 0; } to { background-position: 48px 48px; } }
.ws-card:hover { transform: translateY(-5px); box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
@@ -139,12 +138,12 @@ export default function WebsiteServicePage() {
display: 'inline-block', fontSize: 11, fontWeight: 700, letterSpacing: '0.2em',
color: '#818cf8', textTransform: 'uppercase',
border: '1px solid rgba(129,140,248,0.35)', padding: '5px 16px', borderRadius: 100,
marginBottom: 28, fontFamily: 'Syne, sans-serif',
marginBottom: 28, fontFamily: "'CookieRun', sans-serif",
}}>
Homepage Development Service
</span>
<h1 style={{
fontFamily: 'Syne, sans-serif', fontSize: 'clamp(30px, 5vw, 58px)', fontWeight: 800,
fontFamily: "'CookieRun', sans-serif", fontSize: 'clamp(30px, 5vw, 58px)', fontWeight: 800,
lineHeight: 1.15, marginBottom: 20,
background: 'linear-gradient(135deg, #ffffff 0%, #c7d2fe 50%, #818cf8 100%)',
WebkitBackgroundClip: 'text', WebkitTextFillColor: 'transparent',
@@ -153,7 +152,7 @@ export default function WebsiteServicePage() {
</h1>
<p style={{
fontSize: 16, color: '#94a3b8', lineHeight: 1.8, marginBottom: 36,
fontFamily: "'Noto Sans KR', sans-serif",
fontFamily: "'CookieRun', sans-serif",
}}>
7 ··· .<br />
, .
@@ -163,7 +162,7 @@ export default function WebsiteServicePage() {
display: 'inline-block', padding: '14px 32px',
background: 'linear-gradient(135deg, #6366f1, #818cf8)',
borderRadius: 12, color: 'white', fontWeight: 700, fontSize: 15,
textDecoration: 'none', fontFamily: "'Noto Sans KR', sans-serif",
textDecoration: 'none', fontFamily: "'CookieRun', sans-serif",
boxShadow: '0 8px 32px rgba(99,102,241,0.4)',
}}>
@@ -172,7 +171,7 @@ export default function WebsiteServicePage() {
display: 'inline-block', padding: '14px 32px',
border: '1px solid rgba(255,255,255,0.12)', borderRadius: 12,
color: '#cbd5e1', fontWeight: 600, fontSize: 15,
textDecoration: 'none', fontFamily: "'Noto Sans KR', sans-serif",
textDecoration: 'none', fontFamily: "'CookieRun', sans-serif",
}}>
</a>
@@ -186,8 +185,8 @@ export default function WebsiteServicePage() {
{ num: '100%', label: '반응형 지원' },
].map((s) => (
<div key={s.label} style={{ textAlign: 'center' }}>
<div style={{ fontSize: 24, fontWeight: 800, color: 'white', fontFamily: 'Syne, sans-serif' }}>{s.num}</div>
<div style={{ fontSize: 12, color: '#475569', fontFamily: "'Noto Sans KR', sans-serif", marginTop: 2 }}>{s.label}</div>
<div style={{ fontSize: 24, fontWeight: 800, color: 'white', fontFamily: "'CookieRun', sans-serif" }}>{s.num}</div>
<div style={{ fontSize: 12, color: '#475569', fontFamily: "'CookieRun', sans-serif", marginTop: 2 }}>{s.label}</div>
</div>
))}
</div>
@@ -198,12 +197,12 @@ export default function WebsiteServicePage() {
<section id="samples" style={{ padding: '56px 24px', maxWidth: 1100, margin: '0 auto' }}>
<div style={{ textAlign: 'center', marginBottom: 40 }}>
<h2 style={{
fontFamily: 'Syne, sans-serif', fontSize: 28, fontWeight: 800,
fontFamily: "'CookieRun', sans-serif", fontSize: 28, fontWeight: 800,
color: 'white', marginBottom: 10,
}}>
</h2>
<p style={{ color: '#64748b', fontFamily: "'Noto Sans KR', sans-serif", fontSize: 15 }}>
<p style={{ color: '#64748b', fontFamily: "'CookieRun', sans-serif", fontSize: 15 }}>
</p>
</div>
@@ -238,19 +237,19 @@ export default function WebsiteServicePage() {
background: 'rgba(0,0,0,0.6)', backdropFilter: 'blur(8px)',
border: `1px solid ${s.accent}50`,
borderRadius: 8, padding: '5px 12px',
fontSize: 11, color: s.accent, fontFamily: 'Syne, sans-serif', fontWeight: 700,
fontSize: 11, color: s.accent, fontFamily: "'CookieRun', sans-serif", fontWeight: 700,
}}>
</div>
</div>
<div style={{ padding: '18px 22px 22px' }}>
<div style={{ fontSize: 11, color: '#475569', fontFamily: 'Syne, sans-serif', marginBottom: 5, letterSpacing: '0.05em' }}>
<div style={{ fontSize: 11, color: '#475569', fontFamily: "'CookieRun', sans-serif", marginBottom: 5, letterSpacing: '0.05em' }}>
{s.subtitle}
</div>
<div style={{ fontSize: 17, fontWeight: 700, color: 'white', fontFamily: 'Syne, sans-serif', marginBottom: 8 }}>
<div style={{ fontSize: 17, fontWeight: 700, color: 'white', fontFamily: "'CookieRun', sans-serif", marginBottom: 8 }}>
{s.title}
</div>
<div style={{ fontSize: 13, color: '#64748b', lineHeight: 1.65, fontFamily: "'Noto Sans KR', sans-serif" }}>
<div style={{ fontSize: 13, color: '#64748b', lineHeight: 1.65, fontFamily: "'CookieRun', sans-serif" }}>
{s.desc}
</div>
</div>
@@ -264,10 +263,10 @@ export default function WebsiteServicePage() {
<section style={{ padding: '56px 24px', background: 'rgba(255,255,255,0.02)', borderTop: '1px solid rgba(255,255,255,0.05)', borderBottom: '1px solid rgba(255,255,255,0.05)' }}>
<div style={{ maxWidth: 1000, margin: '0 auto' }}>
<div style={{ textAlign: 'center', marginBottom: 40 }}>
<h2 style={{ fontFamily: 'Syne, sans-serif', fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 10 }}>
<h2 style={{ fontFamily: "'CookieRun', sans-serif", fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 10 }}>
</h2>
<p style={{ color: '#64748b', fontFamily: "'Noto Sans KR', sans-serif", fontSize: 15 }}>
<p style={{ color: '#64748b', fontFamily: "'CookieRun', sans-serif", fontSize: 15 }}>
5
</p>
</div>
@@ -281,15 +280,15 @@ export default function WebsiteServicePage() {
}}>
<div style={{ fontSize: 30, marginBottom: 10 }}>{p.icon}</div>
<div style={{
fontSize: 10, color: '#6366f1', fontFamily: 'Syne, sans-serif',
fontSize: 10, color: '#6366f1', fontFamily: "'CookieRun', sans-serif",
fontWeight: 700, letterSpacing: '0.1em', marginBottom: 6,
}}>
STEP {p.step}
</div>
<div style={{ fontSize: 14, fontWeight: 700, color: 'white', fontFamily: "'Noto Sans KR', sans-serif", marginBottom: 5 }}>
<div style={{ fontSize: 14, fontWeight: 700, color: 'white', fontFamily: "'CookieRun', sans-serif", marginBottom: 5 }}>
{p.title}
</div>
<div style={{ fontSize: 11, color: '#475569', fontFamily: "'Noto Sans KR', sans-serif", lineHeight: 1.5 }}>
<div style={{ fontSize: 11, color: '#475569', fontFamily: "'CookieRun', sans-serif", lineHeight: 1.5 }}>
{p.desc}
</div>
</div>
@@ -305,10 +304,10 @@ export default function WebsiteServicePage() {
{/* Pricing */}
<section style={{ padding: '56px 24px', maxWidth: 1000, margin: '0 auto' }}>
<div style={{ textAlign: 'center', marginBottom: 40 }}>
<h2 style={{ fontFamily: 'Syne, sans-serif', fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 10 }}>
<h2 style={{ fontFamily: "'CookieRun', sans-serif", fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 10 }}>
</h2>
<p style={{ color: '#64748b', fontFamily: "'Noto Sans KR', sans-serif", fontSize: 15 }}>
<p style={{ color: '#64748b', fontFamily: "'CookieRun', sans-serif", fontSize: 15 }}>
</p>
</div>
@@ -326,28 +325,28 @@ export default function WebsiteServicePage() {
position: 'absolute', top: 18, right: 18,
background: plan.color, color: '#1e1b4b',
fontSize: 10, fontWeight: 800, padding: '3px 10px', borderRadius: 100,
fontFamily: 'Syne, sans-serif',
fontFamily: "'CookieRun', sans-serif",
}}>BEST</div>
)}
<div style={{ fontSize: 13, color: plan.color, fontFamily: 'Syne, sans-serif', fontWeight: 700, marginBottom: 10 }}>
<div style={{ fontSize: 13, color: plan.color, fontFamily: "'CookieRun', sans-serif", fontWeight: 700, marginBottom: 10 }}>
{plan.name}
</div>
<div style={{ display: 'flex', alignItems: 'baseline', gap: 4, marginBottom: 4 }}>
<span style={{ fontSize: 42, fontWeight: 800, color: 'white', fontFamily: 'Syne, sans-serif' }}>
<span style={{ fontSize: 42, fontWeight: 800, color: 'white', fontFamily: "'CookieRun', sans-serif" }}>
{plan.price}
</span>
<span style={{ fontSize: 16, color: '#94a3b8', fontFamily: "'Noto Sans KR', sans-serif" }}>
<span style={{ fontSize: 16, color: '#94a3b8', fontFamily: "'CookieRun', sans-serif" }}>
{plan.unit}
</span>
</div>
<div style={{ fontSize: 12, color: '#475569', fontFamily: "'Noto Sans KR', sans-serif", marginBottom: 22 }}>
<div style={{ fontSize: 12, color: '#475569', fontFamily: "'CookieRun', sans-serif", marginBottom: 22 }}>
{plan.note}
</div>
<div style={{ borderTop: '1px solid rgba(255,255,255,0.07)', paddingTop: 20, marginBottom: 24 }}>
{plan.features.map((f) => (
<div key={f} style={{ display: 'flex', alignItems: 'center', gap: 9, marginBottom: 11 }}>
<span style={{ color: plan.color, fontSize: 14, flexShrink: 0, fontWeight: 700 }}></span>
<span style={{ fontSize: 13, color: '#94a3b8', fontFamily: "'Noto Sans KR', sans-serif" }}>{f}</span>
<span style={{ fontSize: 13, color: '#94a3b8', fontFamily: "'CookieRun', sans-serif" }}>{f}</span>
</div>
))}
</div>
@@ -356,7 +355,7 @@ export default function WebsiteServicePage() {
background: plan.featured ? plan.color : 'rgba(255,255,255,0.05)',
borderRadius: 10, color: plan.featured ? '#1e1b4b' : '#cbd5e1',
fontWeight: 700, fontSize: 14, textDecoration: 'none',
fontFamily: "'Noto Sans KR', sans-serif",
fontFamily: "'CookieRun', sans-serif",
border: plan.featured ? 'none' : '1px solid rgba(255,255,255,0.08)',
}}>
@@ -369,7 +368,7 @@ export default function WebsiteServicePage() {
{/* FAQ */}
<section style={{ padding: '0 24px 56px', maxWidth: 720, margin: '0 auto' }}>
<div style={{ textAlign: 'center', marginBottom: 32 }}>
<h2 style={{ fontFamily: 'Syne, sans-serif', fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 10 }}>
<h2 style={{ fontFamily: "'CookieRun', sans-serif", fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 10 }}>
</h2>
</div>
@@ -385,7 +384,7 @@ export default function WebsiteServicePage() {
background: 'none', border: 'none', cursor: 'pointer',
display: 'flex', justifyContent: 'space-between', alignItems: 'center', gap: 12,
}}>
<span style={{ fontSize: 14, fontWeight: 600, color: 'white', fontFamily: "'Noto Sans KR', sans-serif" }}>
<span style={{ fontSize: 14, fontWeight: 600, color: 'white', fontFamily: "'CookieRun', sans-serif" }}>
{faq.q}
</span>
<span style={{
@@ -398,7 +397,7 @@ export default function WebsiteServicePage() {
{openFaq === i && (
<div style={{
padding: '0 22px 18px', fontSize: 14, color: '#64748b',
lineHeight: 1.75, fontFamily: "'Noto Sans KR', sans-serif",
lineHeight: 1.75, fontFamily: "'CookieRun', sans-serif",
}}>
{faq.a}
</div>
@@ -417,12 +416,12 @@ export default function WebsiteServicePage() {
border: '1px solid rgba(129,140,248,0.3)',
boxShadow: '0 24px 80px rgba(99,102,241,0.2)',
}}>
<h2 style={{ fontFamily: 'Syne, sans-serif', fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 14 }}>
<h2 style={{ fontFamily: "'CookieRun', sans-serif", fontSize: 28, fontWeight: 800, color: 'white', marginBottom: 14 }}>
</h2>
<p style={{
color: '#a5b4fc', fontSize: 15, lineHeight: 1.7, marginBottom: 30,
fontFamily: "'Noto Sans KR', sans-serif",
fontFamily: "'CookieRun', sans-serif",
}}>
24 .<br />
.
@@ -431,7 +430,7 @@ export default function WebsiteServicePage() {
display: 'inline-block', padding: '15px 40px',
background: 'linear-gradient(135deg, #818cf8, #6366f1)',
borderRadius: 12, color: 'white', fontWeight: 700, fontSize: 16,
textDecoration: 'none', fontFamily: "'Noto Sans KR', sans-serif",
textDecoration: 'none', fontFamily: "'CookieRun', sans-serif",
boxShadow: '0 8px 32px rgba(99,102,241,0.5)',
}}>