:root {
  --ground:#fbfaf9; --ink:#1a1517; --muted:#6d6563; --line:#e6e1df;
  --brand:#a2301f; --wash:#fbf0ee; color-scheme:light dark;
  --sans:"IBM Plex Sans KR","IBM Plex Sans","Apple SD Gothic Neo",sans-serif;
  --serif:"Gowun Batang",Georgia,serif;
}
@media (prefers-color-scheme:dark) {
  :root { --ground:#161112; --ink:#ece5e3; --muted:#b6a9a5; --line:#3a3231; --brand:#e8705f; --wash:#2c1d1a; }
}
* { box-sizing:border-box; }
html { scroll-padding-top:5rem; }
body { margin:0; background:var(--ground); color:var(--ink); font-family:var(--sans); line-height:1.8; }
a { color:var(--brand); text-underline-offset:.2em; overflow-wrap:anywhere; }
a:focus-visible, select:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
[hidden] { display:none !important; }
.skip { position:absolute; left:-9999px; }
.skip:focus { left:1rem; top:1rem; padding:.5rem; background:var(--ground); z-index:3; }
.wrap { max-width:1060px; margin:0 auto; padding-inline:clamp(20px,4vw,40px); }
.masthead { border-top:4px solid #c0392b; border-bottom:1px solid var(--line); }
.masthead .wrap { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding-block:1rem; }
.brand { color:var(--ink); font-family:var(--serif); font-size:1.1rem; text-decoration:none; margin-right:auto; white-space:nowrap; }
.mark { display:inline-block; width:23px; height:27px; margin-right:.4rem; vertical-align:middle; border:6px solid #c0392b; border-radius:6px; }
select { max-width:100%; border:1px solid var(--line); background:var(--ground); color:var(--ink); border-radius:4px; font:inherit; font-size:.85rem; padding:.4rem; }
.btn { display:inline-block; border-radius:5px; background:#c0392b; color:#fff; padding:.4rem .7rem; font-size:.85rem; font-weight:700; text-decoration:none; }
.doc { max-width:820px; margin:0 auto; padding:clamp(2rem,6vw,4rem) clamp(20px,5vw,48px) 4rem; }
.doc h1 { font-family:var(--serif); font-size:clamp(1.8rem,5vw,2.5rem); line-height:1.3; margin:0 0 .5rem; }
.doc .sub { color:var(--muted); font-size:.82rem; margin:0 0 1.5rem; }
.doc h2 { font-family:var(--serif); font-size:1.25rem; line-height:1.5; margin:2rem 0 .8rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.doc p { margin:.6rem 0; }
.doc ul, .doc ol { padding-left:1.3rem; }
.doc li { margin:.5rem 0; }
.notice { background:var(--wash); border-left:3px solid var(--brand); padding:1rem; margin:1.5rem 0; }
.policy-nav, .footer-links { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; }
.policy-nav { margin:1rem 0; font-size:.9rem; }
.plan { border:1px solid var(--line); border-radius:6px; padding:1rem 1.2rem; margin:1rem 0; }
.plan h3 { margin:0; font-size:1rem; }
.price { font-size:1.35rem; font-weight:700; }
html[lang="ko"] article[lang="en"], html:not([lang="ko"]) article[lang="ko"] { display:none; }
.site-footer { border-top:2px solid var(--ink); padding:1.5rem 0 2.5rem; font-size:.87rem; }
.site-footer .copyright { color:var(--muted); margin-top:1rem; }
@media (max-width:480px) {
  .masthead .wrap { gap:.7rem; }
  .btn { width:100%; text-align:center; }
  .doc { padding-top:2rem; }
}
@media print {
  .masthead, .site-footer, .skip, .policy-nav { display:none; }
  .doc { max-width:none; padding:0; }
  :root { --ground:#fff; --ink:#000; --muted:#444; --line:#ccc; --brand:#000; --wash:#fff; }
}
