:root{
  --ink:#101a33;
  --ink-2:#1b2a4d;
  --paper:#f5f6f8;
  --paper-2:#ffffff;
  --gold:#b8892b;
  --gold-light:#e8c77a;
  --slate:#5b6472;
  --slate-2:#8b93a1;
  --line:#dde1e8;
  --line-dark:#2a3a63;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Pretendard', -apple-system, sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  padding-bottom:70px;
}
h1,h2,h3,h4{font-family:'Noto Serif KR', serif; font-weight:700; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
.wrap{max-width:860px; margin:0 auto; padding:0 24px;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* Header */
header{position:sticky; top:0; z-index:100; background:rgba(245,246,248,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; height:68px; max-width:1180px; margin:0 auto; padding:0 24px;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Noto Serif KR', serif; font-weight:700; font-size:18px; color:var(--ink);}
.logo-mark{width:32px; height:32px; border-radius:50%; background:var(--ink); display:flex; align-items:center; justify-content:center; color:var(--gold-light); font-size:13px; font-weight:700; font-family:'Noto Serif KR', serif; flex-shrink:0;}
.nav-cta{background:var(--ink); color:#fff; font-size:13px; font-weight:600; padding:9px 18px; border:none; white-space:nowrap;}
.nav-cta:hover{background:var(--ink-2);}

/* Mobile sticky CTA bar */
.mobile-cta-bar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--paper-2); border-top:1px solid var(--line); box-shadow:0 -6px 18px rgba(16,26,51,0.1); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); gap:10px;}
.mobile-cta-bar a, .mobile-cta-bar button{flex:1; display:flex; align-items:center; justify-content:center; gap:6px; height:48px; font-size:14px; font-weight:700; border:none;}
.mobile-cta-call{background:var(--ink); color:#fff;}
.mobile-cta-kakao{background:#FEE500; color:#191919;}
.mobile-cta-apply{background:var(--gold); color:var(--ink);}

/* Breadcrumb */
.breadcrumb{font-size:12.5px; color:var(--slate-2); padding:22px 0 0; display:flex; flex-wrap:wrap; gap:6px;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb span.sep{color:var(--line);}

/* Hero-lite */
.course-hero{padding:20px 0 40px;}
.course-hero .eyebrow{font-size:12.5px; font-weight:700; color:var(--gold); letter-spacing:0.06em; margin-bottom:12px;}
.course-hero h1{font-size:32px; line-height:1.35; color:var(--ink); margin-bottom:16px;}
.course-hero p{font-size:15px; color:var(--slate); max-width:640px;}

/* Content blocks */
.course-section{padding:32px 0; border-top:1px solid var(--line);}
.course-section h2{font-size:19px; margin-bottom:12px; color:var(--ink);}
.course-section p{font-size:14.5px; color:var(--slate); margin-bottom:10px;}
.tag-list{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
.tag-list li{list-style:none; background:var(--paper-2); border:1px solid var(--line); padding:6px 14px; font-size:12.5px; color:var(--slate); border-radius:2px;}

.cta-box{background:var(--ink); color:#fff; padding:30px 28px; margin:8px 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;}
.cta-box p{font-size:14.5px; color:#c4cadb; margin:0;}
.cta-box .btns{display:flex; gap:10px; flex-wrap:wrap;}
.btn-gold{background:var(--gold); color:var(--ink); font-weight:700; font-size:13.5px; padding:12px 20px; border:none;}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{background:transparent; color:#fff; font-weight:600; font-size:13.5px; padding:12px 20px; border:1px solid rgba(255,255,255,0.35);}
.btn-outline:hover{border-color:#fff;}

.faq-mini{margin-top:6px;}
.faq-mini .q{font-weight:600; font-size:14.5px; color:var(--ink); margin-bottom:6px;}
.faq-mini .a{font-size:14px; color:var(--slate); margin-bottom:18px;}

.related-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; margin-top:10px;}
.related-grid a{font-size:13.5px; color:var(--slate); padding:6px 0; border-bottom:1px dotted var(--line);}
.related-grid a:hover{color:var(--gold);}
.related-group h3{font-size:13px; color:var(--gold); letter-spacing:0.04em; margin-bottom:8px; font-weight:700;}

/* Footer (shared with homepage) */
footer{background:var(--ink); color:#9aa1b5; padding:44px 0 26px; margin-top:20px;}
footer .wrap{max-width:1180px;}
.foot-logo{font-family:'Noto Serif KR', serif; font-weight:700; font-size:17px; color:#fff; margin-bottom:14px;}
.foot-keywords{border-top:1px solid var(--line-dark); padding:20px 0; font-size:11.5px; line-height:2;}
.foot-keywords b{color:#c4cadb; font-weight:600; margin-right:8px;}
.foot-bottom{border-top:1px solid var(--line-dark); padding-top:18px; font-size:12px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px;}
.foot-bottom a{color:var(--gold-light);}

@media (max-width:640px){
  .wrap{padding:0 20px;}
  .course-hero h1{font-size:26px;}
  .cta-box{flex-direction:column; align-items:flex-start;}
  .related-grid{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column;}
}
