:root{
  --primary:#1E3A5F;
  --accent:#3E7CC4;
  --ink:#1A1A1A;
  --muted:#6B7280;
  --border:#E5E5E5;
}
html{-webkit-text-size-adjust:100%;}
body{word-break:keep-all;overflow-wrap:break-word;}
.font-heading{font-family:'Nanum Myeongjo',serif;}
.text-primary{color:var(--primary);}
.bg-primary{background-color:var(--primary);}
.text-accent{color:var(--accent);}
.bg-accent{background-color:var(--accent);}
.border-primary{border-color:var(--primary);}
.eyebrow{font-size:.72rem;letter-spacing:.22em;font-weight:700;text-transform:uppercase;color:var(--accent);}
.btn-primary{background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease;}
.btn-primary:hover{background:#16304d;}
.btn-outline-white{border:1px solid rgba(255,255,255,.8);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease;}
.btn-outline-white:hover{background:rgba(255,255,255,.12);}
.card{border:1px solid var(--border);border-radius:4px;background:#fff;transition:transform .18s ease,box-shadow .18s ease;}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(20,30,45,.08);}
.card-img{overflow:hidden;}
.card-img img{transition:transform .35s ease;}
.card:hover .card-img img{transform:scale(1.04);}
.hero-shadow{text-shadow:0 2px 10px rgba(0,0,0,.55);}
.max-w-prose-kr{max-width:68ch;}
details.faq-item summary{cursor:pointer;list-style:none;}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item[open] .faq-chevron{transform:rotate(180deg);}
.faq-chevron{transition:transform .2s ease;}
.lightbox-overlay{position:fixed;inset:0;background:rgba(10,14,20,.92);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;}
.lightbox-overlay img{max-width:100%;max-height:90vh;border-radius:4px;}
