:root { color-scheme:light; --bg:#edf3ff; --paper:rgba(255,255,255,.94); --text:#172033; --muted:#58657a; --line:rgba(23,32,51,.12); --accent:#2e66d4; --accent-soft:rgba(46,102,212,.11); --shadow:0 24px 48px rgba(25,54,108,.10); --max-width:860px; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Pretendard","Noto Sans KR","Segoe UI",sans-serif; color:var(--text); background:radial-gradient(circle at top left,rgba(126,170,255,.28),transparent 30%),linear-gradient(180deg,#f5f8ff,var(--bg)); line-height:1.7; }
a { color:var(--accent); }
.shell { width:min(calc(100% - 32px),var(--max-width)); margin:0 auto; padding:40px 0 56px; }
.hero,.section { background:var(--paper); border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.hero { padding:32px; margin-bottom:18px; }
.eyebrow { display:inline-flex; padding:6px 10px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:13px; font-weight:700; }
h1 { margin:16px 0 12px; font-size:clamp(32px,5vw,48px); line-height:1.1; }
.lede { margin:0; color:var(--muted); font-size:17px; }
.meta { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; color:var(--muted); font-size:14px; }
.section { padding:28px 28px 10px; margin-top:16px; }
h2 { margin:0 0 8px; font-size:24px; }
p,li { font-size:16px; }
ul { margin:0 0 18px; padding-left:22px; }
.contact { padding:20px 22px; border:1px solid var(--line); border-radius:18px; background:white; margin-bottom:18px; }
.foot { margin-top:22px; color:var(--muted); font-size:14px; text-align:center; }
@media (max-width:640px) { .shell { width:min(calc(100% - 20px),var(--max-width)); padding:20px 0 36px; } .hero,.section { border-radius:20px; padding-left:20px; padding-right:20px; } }
