.legal-modal{--bg:#f4f0ea;--surface:#faf8f5;--faq-band:#efebe3;--green:#1e4035;--green-dark:#163028;--green-hover:#2a5648;--soft-strong:#c8ddd3;--ivory:#f7f4ee;--text:#1c1e21;--text-secondary:#525860;--text-muted:#7b817b;--border:#d8ddd8;--accent:#b58a3a;--legal-progress:0;--legal-gold:#d6b26a;width:100%;max-width:none;max-height:min(92vh,860px);background:var(--surface);max-height:min(92svh,860px);color:var(--text);letter-spacing:normal;text-align:left;word-break:keep-all;border:0;border-radius:26px 26px 0 0;margin:0;padding:0;font-size:16px;line-height:1.6;position:fixed;top:auto;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -24px 60px -20px rgba(8,20,16,.5)}.legal-modal *,.legal-modal :before,.legal-modal :after{box-sizing:border-box}.legal-modal p,.legal-modal h2,.legal-modal h3,.legal-modal ul{margin:0}.legal-modal .btn{letter-spacing:normal;cursor:pointer;border:0;border-radius:40px;justify-content:center;align-items:center;min-height:49px;padding:11px 20px;font-family:inherit;font-size:18px;font-weight:500;line-height:1;text-decoration:none;transition:color .3s,background .3s,border-color .3s;display:inline-flex}.legal-modal .btn-green{background:var(--green);color:var(--ivory)}.legal-modal .btn-green:hover{background:var(--green-hover)}.legal-modal[open]{flex-direction:column;animation:.46s cubic-bezier(.22,1,.36,1) legal-sheet-in;display:flex}.legal-modal::backdrop{-webkit-backdrop-filter:blur(6px)saturate(120%);background:rgba(8,20,16,.56);animation:.35s legal-backdrop-in}.legal-modal.is-closing{animation:.24s cubic-bezier(.4,0,1,1) forwards legal-sheet-out}.legal-modal.is-closing::backdrop{animation:.24s forwards legal-backdrop-out}.legal-modal-head{background:radial-gradient(120% 140% at 100% 0%,rgba(181,138,58,.24) 0%,transparent 55%),repeating-linear-gradient(0deg,transparent 0 27px,rgba(247,244,238,.043) 27px 28px),repeating-linear-gradient(90deg,transparent 0 27px,rgba(247,244,238,.043) 27px 28px),linear-gradient(160deg,#1f4539 0%,var(--green-dark)55%,#0f231c 100%);color:var(--ivory);flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;padding:32px 22px 24px;display:grid;position:relative}.legal-modal-head:before{content:"";background:rgba(247,244,238,.28);border-radius:999px;width:40px;height:4px;margin-left:-20px;position:absolute;top:10px;left:50%}.legal-modal-head:after{content:"";background:linear-gradient(90deg,transparent,rgba(214,178,106,.65),transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.legal-progress{z-index:1;background:linear-gradient(90deg,var(--legal-gold),var(--accent));width:100%;height:2px;transform:scaleX(var(--legal-progress));transform-origin:0;transition:transform .12s linear;position:absolute;bottom:0;left:0}.legal-emblem{width:44px;height:44px;margin-top:2px;position:relative}.legal-emblem i{border-radius:50%;width:30px;height:30px;position:absolute}.legal-emblem i:first-child{background:radial-gradient(circle at 34% 30%,#5d6266 0%,#1b1d1f 55%,#050606 100%);top:0;left:0;box-shadow:0 4px 8px rgba(0,0,0,.45)}.legal-emblem i:last-child{background:radial-gradient(circle at 34% 30%,#fff 0%,#f1ece2 50%,#cbc1ae 100%);bottom:0;right:0;box-shadow:0 4px 10px rgba(0,0,0,.35)}.legal-heading{min-width:0}.legal-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--legal-gold);font-size:13.5px;font-weight:600;line-height:1.4}.legal-modal-head h2{letter-spacing:-.02em;margin-top:6px;font-size:26px;font-weight:700;line-height:1.25}.legal-meta{color:rgba(247,244,238,.62);margin-top:8px;font-size:13px}.legal-close{width:40px;height:40px;color:var(--ivory);cursor:pointer;background:rgba(247,244,238,.06);border:1px solid rgba(247,244,238,.22);border-radius:50%;place-items:center;padding:0;transition:background .2s,border-color .2s,transform .2s;display:grid}.legal-close:hover{background:rgba(247,244,238,.14);border-color:rgba(214,178,106,.6);transform:rotate(90deg)}.legal-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.legal-modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--soft-strong)transparent;flex:auto;min-height:0;padding:24px 22px 28px;overflow-y:auto}.legal-doc{color:var(--text-secondary);font-size:15.5px;line-height:1.75}.legal-summary{background:linear-gradient(#fbf7ee 0%,#f5eddd 100%);border:1px solid rgba(181,138,58,.28);border-radius:18px;margin-bottom:6px;padding:18px 20px}.legal-summary-label{letter-spacing:.14em;color:var(--accent);font-size:12px;font-weight:700}.legal-summary ul{gap:6px;margin-top:10px;padding:0;list-style:none;display:grid}.legal-summary li{color:var(--text);padding-left:22px;font-weight:500;position:relative}.legal-summary li:before{content:"";background:radial-gradient(circle at 34% 30%,#5d6266 0%,#1b1d1f 60%);border-radius:50%;width:10px;height:10px;position:absolute;top:.6em;left:2px}.legal-section{border-bottom:1px solid var(--border);padding:22px 0}.legal-section:last-child{border-bottom:0}.legal-section h3{letter-spacing:-.01em;color:var(--text);align-items:baseline;gap:12px;font-size:17px;font-weight:700;line-height:1.4;display:flex}.legal-no{letter-spacing:.06em;font-variant-numeric:tabular-nums;width:20px;color:var(--accent);flex:none;font-size:12.5px;font-weight:600}.legal-section-body{margin-top:10px;padding-left:32px}.legal-section-body>*+*{margin-top:10px}.legal-section-body ul{gap:6px;padding:0;list-style:none;display:grid}.legal-section-body li{padding-left:16px;position:relative}.legal-section-body li:before{content:"";border:1.5px solid var(--green);border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:0}.legal-doc a:not(.btn){color:var(--green);text-underline-offset:3px;font-weight:600}.legal-footnote{color:var(--text-muted);padding-top:4px;font-size:13.5px}.legal-lead{color:var(--text);font-size:16.5px;line-height:1.7}.legal-contact-card{background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(247,244,238,.05) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,rgba(247,244,238,.05) 23px 24px),linear-gradient(150deg,#1f4539 0%,var(--green-dark)100%);color:var(--ivory);border-radius:20px;margin:20px 0 6px;padding:24px;position:relative;overflow:hidden;box-shadow:0 20px 40px -24px rgba(22,48,40,.7)}.legal-contact-card:after{content:"";pointer-events:none;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.2) 0%,rgba(255,255,255,.04) 60%,transparent 72%);border-radius:50%;width:140px;height:140px;position:absolute;top:-36px;right:-36px}.legal-contact-label{letter-spacing:.18em;color:var(--legal-gold);font-size:12px;font-weight:600}.legal-contact-email{letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:6px;font-size:22px;font-weight:700}.legal-contact-actions{z-index:1;flex-wrap:wrap;gap:10px;margin-top:18px;display:flex;position:relative}.legal-contact-actions .btn{min-height:44px;padding:0 20px;font-size:15.5px}.legal-contact-actions .btn-green{background:var(--ivory);color:var(--green-dark)}.legal-contact-actions .btn-green:hover{background:#fff}.legal-contact-actions .legal-copy{color:var(--ivory);background:0 0;border:1px solid rgba(247,244,238,.4)}.legal-contact-actions .legal-copy:hover{background:rgba(247,244,238,.1)}.legal-modal-foot{padding:12px 22px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.legal-modal-foot nav{flex-wrap:wrap;gap:2px;min-width:0;margin-left:-10px;display:flex}.legal-modal-foot nav button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 10px;font-size:13.5px;transition:background .2s,color .2s}.legal-modal-foot nav button:hover{background:var(--faq-band);color:var(--text)}.legal-modal .legal-confirm{flex:none;min-height:44px;padding:0 28px;font-size:16px}@keyframes legal-sheet-in{0%{transform:translateY(100%)}}@keyframes legal-sheet-out{to{transform:translateY(100%)}}@keyframes legal-card-in{0%{opacity:0;transform:translateY(18px)scale(.97)}}@keyframes legal-card-out{to{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes legal-backdrop-in{0%{opacity:0}}@keyframes legal-backdrop-out{to{opacity:0}}@media (min-width:768px){.legal-modal{width:min(760px,100vw - 64px);max-height:min(900px,100vh - 64px);border-radius:28px;max-height:min(900px,100svh - 64px);margin:auto;top:0;bottom:0;left:0;right:0;box-shadow:0 0 0 1px rgba(181,138,58,.16),0 50px 100px -30px rgba(8,20,16,.6),0 18px 36px -18px rgba(8,20,16,.35)}.legal-modal[open]{animation-name:legal-card-in;animation-duration:.42s}.legal-modal.is-closing{animation-name:legal-card-out}.legal-modal-head{gap:20px;padding:36px 36px 30px}.legal-modal-head:before{display:none}.legal-kicker{font-size:15px}.legal-modal-head h2{font-size:30px}.legal-meta{font-size:16px}.legal-emblem{width:52px;height:52px}.legal-emblem i{width:34px;height:34px}.legal-close{width:50px;height:50px}.legal-close svg{width:22px;height:22px}.legal-modal-body{padding:30px 40px 34px}.legal-doc{font-size:19px;line-height:1.75}.legal-summary-label{font-size:15px}.legal-section h3{font-size:21px}.legal-no{font-size:15px}.legal-footnote{font-size:16.5px}.legal-lead{font-size:20px}.legal-contact-label{font-size:15px}.legal-contact-email{font-size:27px}.legal-contact-actions .btn{font-size:19px}.legal-modal-foot{padding:16px 28px 16px 36px}.legal-modal-foot nav button{font-size:16.5px}.legal-modal .legal-confirm{font-size:19px}}@media (prefers-reduced-motion:reduce){.legal-modal,.legal-modal *{transition:none!important;animation:none!important}.legal-modal::backdrop{transition:none!important;animation:none!important}}@media (max-width:767px){.legal-modal{max-height:96vh;max-height:calc(100svh - 12px)}.legal-modal-head{align-items:center;gap:12px;padding:22px 18px 14px}.legal-modal-head:before{top:8px}.legal-emblem{width:34px;height:34px;margin-top:0}.legal-emblem i{width:23px;height:23px}.legal-kicker{letter-spacing:.2em;font-size:11.5px}.legal-modal-head h2{margin-top:1px;font-size:21px}.legal-meta{display:none}.legal-close{width:36px;height:36px}.legal-modal-body{padding:18px 18px 22px}.legal-modal-foot{padding:8px 18px calc(8px + env(safe-area-inset-bottom))}.legal-modal-foot nav button{padding:6px 8px;font-size:13px}.legal-modal .legal-confirm{min-height:40px;padding:0 22px;font-size:15px}.legal-lead{font-size:14.5px;line-height:1.65}.legal-contact-kakao{margin:14px 0 10px}.legal-contact-card{border-radius:18px;margin-top:14px;padding:18px}.legal-contact-email{margin-top:4px;font-size:19px}.legal-contact-actions{margin-top:14px}.legal-contact-actions .btn{min-height:42px;padding:0 18px;font-size:15px}}
