@font-face { font-family:'Nanum Gothic'; font-weight:400; font-style:normal; src:url('../fonts/NanumGothic.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Nanum Gothic'; font-weight:700; font-style:normal; src:url('../fonts/NanumGothicBold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Nanum Gothic'; font-weight:800; font-style:normal; src:url('../fonts/NanumGothicExtraBold.ttf') format('truetype'); font-display:swap; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; }

/* Korean-aware wrapping & overflow safety */
.dp-stage h1, .dp-stage h2 { text-wrap:balance; word-break:keep-all; overflow-wrap:break-word; }
.dp-stage h3 { word-break:keep-all; overflow-wrap:break-word; }
.dp-stage p { text-wrap:pretty; word-break:keep-all; overflow-wrap:break-word; max-width:75ch; }
.dp-stage li { word-break:keep-all; overflow-wrap:break-word; }
.dp-stage a { overflow-wrap:break-word; }

.dp-wrap { max-width:1180px; margin:0 auto; padding-left:40px; padding-right:40px; }
.dp-navlinks { display:flex; gap:30px; align-items:center; }
.dp-mobilebar { display:none; }
.dp-cta { white-space:nowrap; }

details > summary { list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker { display:none; }
details > summary .dp-chev { transition:transform .2s ease; }
details[open] > summary .dp-chev { transform:rotate(180deg); }

@media (max-width:1200px){
  .dp-navlinks { gap:20px; }
  .dp-navlinks a { font-size:14px; }
}
.dp-hamburger { display:none; }
@media (max-width:980px){
  .dp-navlinks { display:none; }
  .dp-hamburger { display:inline-flex; }
}
.dp-mobile-menu { position:fixed; inset:0; z-index:70; visibility:hidden; opacity:0; transition:opacity .22s ease, visibility .22s ease; }
.dp-mobile-menu.is-open { visibility:visible; opacity:1; }
.dp-mobile-menu .dp-scrim { position:absolute; inset:0; background:rgba(22,21,18,.45); }
.dp-mobile-menu .dp-panel { position:absolute; top:0; right:0; height:100%; width:min(320px,84vw); background:#fbfaf7; box-shadow:-14px 0 40px rgba(22,21,18,.18); transform:translateX(100%); transition:transform .28s cubic-bezier(.2,.7,.2,1); display:flex; flex-direction:column; }
.dp-mobile-menu.is-open .dp-panel { transform:translateX(0); }
.dp-grid { }
@media (max-width:640px){
  .dp-grid { grid-template-columns:1fr !important; }
}
@media (max-width:760px){
  .dp-wrap { padding-left:22px; padding-right:22px; }
  .dp-mobilebar { display:flex; font-size:clamp(13px,3.8vw,16px) !important; white-space:nowrap; }
  body { padding-bottom:72px; }
}
@media (max-width:640px){
  .dp-br-pc { display:none; }
  .dp-cta {
    width:100%;
    justify-content:center;
    white-space:normal;
    text-wrap:balance;
    line-height:1.4;
    font-size:clamp(13.5px,3.7vw,16px) !important;
    padding:15px 18px !important;
  }
}
@media (max-width:380px){
  .dp-wrap { padding-left:18px; padding-right:18px; }
}
body.dp-lock { overflow:hidden; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline:2.5px solid #9c7b3e; outline-offset:2px; border-radius:4px;
}
a, button { -webkit-tap-highlight-color:rgba(28,43,70,.15); }
@media (max-width:760px){ .dp-stage p { font-size:16px !important; } }
@media (prefers-reduced-motion: reduce){
  .dp-mobile-menu, .dp-mobile-menu .dp-panel, .dp-chev, details > summary .dp-chev { transition:none !important; }
}
@media (max-width:1040px){
  .dp-hero-grid { grid-template-columns:1fr !important; }
}
.dp-final-phone { white-space:nowrap; }
@media (max-width:400px){ .dp-final-phone { letter-spacing:-0.02em; } }
img, svg, video { max-width:100%; }
html, body { overflow-x:hidden; }

/* Legal document pages (privacy/terms/copyright) */
.lg-doc h1, .lg-doc h2 { word-break:keep-all; overflow-wrap:break-word; }
.lg-doc p, .lg-doc li { word-break:keep-all; overflow-wrap:break-word; line-height:1.8; }
.lg-wrap { max-width:820px; margin:0 auto; padding-left:40px; padding-right:40px; }
@media (max-width:640px){ .lg-wrap { padding-left:22px; padding-right:22px; } }
@media (max-width:760px){ .lg-doc p { font-size:16px !important; } }
