*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0F0F15;--panel:#16161F;--ink:#EDECF2;--sub:#A6A3B8;--faint:#7E7B90;--lav:#8B78D6;--indigo:#3D52A0;--green:#2FA34F;--line:rgba(255,255,255,.08)}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Pretendard Variable",Pretendard,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7}
a{color:var(--lav);text-decoration:none}a:hover{color:#B3C0F5}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}
.navbar{position:sticky;top:0;z-index:50;background:rgba(15,15,21,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.navbar .in{max-width:1180px;margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px}
.mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(150deg,#7C6BD0,#4C5FB0);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -6px rgba(124,107,208,.6)}
.brand .nm{font-weight:800;font-size:16px;letter-spacing:-.02em}
.brand .nm span{color:var(--faint);font-weight:600;margin-left:6px;font-size:13px}
.nav{display:flex;align-items:center;gap:6px}
.nav a{font-size:14px;font-weight:700;color:var(--sub);padding:8px 13px;border-radius:9px}
.nav a:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.nav a.active{color:var(--ink);background:rgba(139,120,214,.16)}
.phead{position:relative;padding:70px 0 34px;overflow:hidden}
.phead .orb{position:absolute;width:440px;height:440px;border-radius:50%;filter:blur(90px);opacity:.4;background:#6C5CB8;top:-200px;left:-80px;pointer-events:none}
.phead .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--lav);text-transform:uppercase}
.phead .eyebrow::before{content:"";width:24px;height:2px;background:var(--lav);border-radius:2px}
.phead h1{font-size:44px;line-height:1.12;font-weight:800;letter-spacing:-.035em;margin:16px 0 12px;position:relative}
.phead p.sub{font-size:17px;color:var(--sub);max-width:560px;position:relative}
.body{padding:14px 0 90px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px 32px;margin-top:20px}
.card h2{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.card h2 .em{color:var(--lav)}
.card p{color:var(--sub);font-size:16px}
.card p+p{margin-top:10px}
.card .big{color:var(--ink);font-weight:800;font-size:20px}
.emailrow{display:flex;align-items:center;gap:12px;margin:6px 0 4px;flex-wrap:wrap}
.emailrow .lab{font-size:13px;color:var(--faint);font-weight:700}
.emailrow a{font-size:19px;font-weight:800;color:var(--ink);background:rgba(139,120,214,.14);border:1px solid rgba(139,120,214,.3);padding:8px 16px;border-radius:11px}
.emailrow a:hover{background:rgba(139,120,214,.24)}
.tips{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:11px}
.tips li{position:relative;padding-left:26px;color:var(--sub);font-size:15px}
.tips li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--lav)}
.faq{margin-top:20px;display:flex;flex-direction:column;gap:12px}
details{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
details[open]{border-color:rgba(139,120,214,.35)}
summary{list-style:none;cursor:pointer;padding:19px 22px;font-weight:700;font-size:16.5px;display:flex;align-items:center;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary .q{flex:1}
summary .ic{flex:none;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:16px;transition:transform .25s}
details[open] summary .ic{transform:rotate(45deg);color:var(--lav)}
details .a{padding:0 22px 20px;color:var(--sub);font-size:15.5px;line-height:1.72}
.notice{background:rgba(139,120,214,.1);border:1px solid rgba(139,120,214,.28);border-radius:13px;padding:14px 18px;font-size:14px;color:var(--sub);margin-top:22px}
.notice b{color:var(--ink)}
.legal{color:var(--sub);font-size:15.5px}
.legal h2{font-size:20px;color:var(--ink);font-weight:800;margin:34px 0 10px;letter-spacing:-.01em}
.legal h2:first-child{margin-top:0}
.legal p{margin:8px 0}
.legal ul{margin:8px 0 8px 20px}
.legal li{margin:5px 0}
.legal .meta{font-size:13px;color:var(--faint);margin-bottom:8px}
.foot{border-top:1px solid var(--line);padding:28px 0 60px;text-align:center;color:var(--faint);font-size:13px;line-height:1.9}
.foot a{color:var(--sub);font-weight:600;margin:0 8px}.foot b{color:var(--ink)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}
@media(max-width:640px){.phead h1{font-size:32px}.nav a{padding:8px 9px}.card{padding:24px 22px}}

/* ---- 정본에서 생성한 방침·약관 본문 보강 (build.mjs 산출물용) ---- */
.legal h3{font-size:16.5px;color:var(--ink);font-weight:700;margin:20px 0 6px}
.legal h2.lang-split{margin-top:52px;padding-top:30px;border-top:1px solid var(--line);font-size:23px}
.legal strong,.legal b{color:var(--ink)}
.legal hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.legal blockquote{margin:16px 0;padding:12px 16px;background:rgba(139,120,214,.1);border:1px solid rgba(139,120,214,.28);border-left-width:3px;border-radius:0 12px 12px 0}
.legal blockquote p{margin:4px 0;font-size:14.5px}
.legal code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:5px;font-size:.9em;color:var(--ink)}
.table-scroll{overflow-x:auto;margin:16px 0;-webkit-overflow-scrolling:touch}
.legal table{border-collapse:collapse;width:100%;min-width:360px;font-size:14.5px}
.legal th,.legal td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.legal th{background:rgba(255,255,255,.04);color:var(--ink);font-weight:700;white-space:nowrap}

/* ---- 언어 전환 ---- */
.nav a.lang{margin-left:6px;border:1px solid var(--line);color:var(--ink);font-size:13px;padding:7px 12px}
.nav a.lang:hover{border-color:rgba(139,120,214,.5);background:rgba(139,120,214,.16)}

/* ============================================================
   모바일 대응 (서브페이지)
   64px 고정 높이 한 줄에 브랜드+메뉴 5항목(언어 전환 포함)이 안 들어간다.
   → 높이를 풀고 메뉴를 아래로 내려 가로 스크롤시킨다.
   ============================================================ */
@media(max-width:860px){
  .navbar .in{height:auto;min-height:56px;padding:10px 20px;flex-wrap:wrap;gap:8px}
  .brand .nm span{display:none}
  .brand .nm{font-size:15px}
  .mark{width:30px;height:30px}
  .nav{width:100%;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{padding:7px 10px;font-size:13.5px;white-space:nowrap}
  .nav a.lang{margin-left:2px}
}

@media(max-width:640px){
  .wrap{padding:0 20px}
  .phead{padding:44px 0 26px}
  .phead h1{font-size:30px}
  .phead p.sub{font-size:15.5px}
  .card{padding:22px 20px;border-radius:15px}
  .card h2{font-size:19px}
  .card p{font-size:15.5px}
  .emailrow a{font-size:16px;padding:8px 13px;word-break:break-all}
  summary{padding:16px 18px;font-size:15.5px}
  details .a{padding:0 18px 18px;font-size:15px}
  .legal{font-size:15px}
  .legal h2{font-size:18px}
  .legal table{font-size:13.5px;min-width:300px}
  .legal th,.legal td{padding:7px 9px}
}

/* ------------------------------------------------------------
   flex 짓눌림 방지 + 한글 줄바꿈 (랜딩과 동일한 이유 — home.css 주석 참고)
   ------------------------------------------------------------ */
body{word-break:keep-all;overflow-wrap:break-word}
.navbar .in>.brand,.nav{flex-shrink:0}
.brand .nm{white-space:nowrap}
.nav a{white-space:nowrap;flex-shrink:0}
