:root { --ink:#101828; --muted:#667085; --line:#e4e7ec; --accent:#ff5358; --accent-soft:#fff4f4; font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif; color:var(--ink); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:#fff; color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.legal-header { height:64px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); }
.legal-header-inner { width:min(1040px,calc(100% - 40px)); height:100%; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.legal-brand { display:flex; align-items:center; gap:8px; color:var(--accent); font-size:22px; font-weight:900; letter-spacing:-.06em; text-decoration:none; }
.legal-brand img { width:30px; height:30px; }
.legal-header nav { display:flex; gap:20px; }
.legal-header nav a { color:#475467; font-size:12px; font-weight:700; text-decoration:none; }
.legal-header nav a:hover { color:var(--accent); }
.legal-main { width:min(860px,calc(100% - 40px)); margin:0 auto; padding:64px 0 90px; }
.legal-hero { padding-bottom:38px; border-bottom:1px solid var(--line); }
.legal-eyebrow { color:var(--accent); font-size:11px; font-weight:850; letter-spacing:.08em; }
.legal-hero h1 { margin:10px 0 0; font-size:38px; line-height:1.2; letter-spacing:-.05em; }
.legal-hero p { max-width:700px; margin:16px 0 0; color:var(--muted); font-size:15px; line-height:1.8; word-break:keep-all; }
.legal-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:20px; color:#98a2b3; font-size:11px; }
.legal-section { padding:36px 0 0; }
.legal-section h2 { margin:0 0 14px; font-size:22px; letter-spacing:-.035em; }
.legal-section h3 { margin:25px 0 10px; font-size:16px; letter-spacing:-.025em; }
.legal-section p,.legal-section li { color:#475467; font-size:14px; line-height:1.85; word-break:keep-all; }
.legal-section ul,.legal-section ol { margin:10px 0 0; padding-left:22px; }
.legal-section li+li { margin-top:6px; }
.legal-section a { color:#d92d3a; font-weight:700; }
.policy-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.policy-card { padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.policy-card strong { display:block; color:var(--ink); font-size:14px; }
.policy-card p { margin:8px 0 0; font-size:12px; line-height:1.7; }
.notice-box { margin-top:20px; padding:17px 18px; border:1px solid #ffd5d7; border-radius:11px; background:var(--accent-soft); color:#7a2630; font-size:13px; line-height:1.75; }
.legal-table { width:100%; margin-top:16px; border-collapse:collapse; font-size:12px; }
.legal-table th,.legal-table td { padding:13px 12px; border:1px solid var(--line); text-align:left; vertical-align:top; line-height:1.65; }
.legal-table th { width:24%; background:#f8f9fb; color:#344054; }
.contact-form { margin-top:24px; display:grid; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-field { display:grid; gap:7px; }
.form-field label,.form-field legend { color:#344054; font-size:12px; font-weight:800; }
.form-field input,.form-field select,.form-field textarea { width:100%; border:1px solid #d0d5dd; border-radius:9px; background:#fff; padding:11px 12px; color:var(--ink); font:inherit; font-size:14px; outline:none; }
.form-field textarea { min-height:180px; resize:vertical; line-height:1.6; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,83,88,.1); }
.form-help { margin:0; color:#98a2b3; font-size:11px; line-height:1.6; }
.consent-row { display:flex; align-items:flex-start; gap:9px; color:#475467; font-size:12px; line-height:1.6; }
.consent-row input { margin-top:3px; accent-color:var(--accent); }
.contact-submit { min-height:48px; border:0; border-radius:9px; background:var(--accent); color:#fff; font-size:14px; font-weight:850; cursor:pointer; }
.contact-submit:disabled { opacity:.55; cursor:wait; }
.form-status { display:none; margin:0; padding:13px 15px; border-radius:9px; font-size:12px; line-height:1.6; }
.form-status.show { display:block; }
.form-status.success { background:#ecfdf3; color:#067647; }
.form-status.error { background:#fff1f3; color:#c01048; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.legal-footer { border-top:1px solid var(--line); background:#f8f9fb; }
.legal-footer-inner { width:min(1040px,calc(100% - 40px)); margin:auto; padding:30px 0 38px; }
.legal-footer nav { display:flex; flex-wrap:wrap; gap:10px 20px; }
.legal-footer a { color:#475467; font-size:11px; font-weight:700; text-decoration:none; }
.legal-footer p { margin:17px 0 0; color:#98a2b3; font-size:10px; line-height:1.7; }
@media (max-width:700px) { .legal-header { height:54px; } .legal-header nav a:not(:last-child) { display:none; } .legal-main { width:calc(100% - 32px); padding:42px 0 70px; } .legal-hero h1 { font-size:30px; } .legal-hero p { font-size:14px; } .policy-card-grid,.form-row { grid-template-columns:1fr; } .legal-table { display:block; overflow-x:auto; white-space:normal; } .legal-table th { min-width:110px; } }
