/* Short-class cards and their dedicated detail pages. */
.curriculum-page .sc-format-badge { display:inline-flex; align-items:center; padding:4px 10px; border:1px solid #6134c6; border-radius:4px; background:#f0e9fc; color:#5427af; font-size:12px; font-weight:600; line-height:1.5; }
.sc-art-portfolio,.sc-portfolio .sc-poster { background:#d7fc8a; color:#243913; }
.sc-art-planned { background:#e4e2e8; color:#48434f; padding-top:62px; }
.sc-art-planned strong { font-size:clamp(28px,3vw,40px); }
.sc-card-planned #sc-business-title { font-size:17px; line-height:27px; letter-spacing:-.05em; }
.sc-art-portfolio strong { color:#243913; }
.sc-art-portfolio strong i { font-size:.72em; }
.sc-portfolio .sc-poster>strong { font-size:clamp(56px,6.2vw,88px); }
.sc-portfolio .sc-poster-star { color:#afdb68!important; }
.sc-art-typogrid,.sc-typogrid .sc-poster { background-color:#f2ab8e; background-image:linear-gradient(#40261814 1px,transparent 1px),linear-gradient(90deg,#40261814 1px,transparent 1px); background-size:36px 36px; color:#43291f; }
.sc-art-typogrid strong { color:#43291f; font-size:54px; }
.sc-art-typogrid strong i,.sc-typogrid .sc-poster strong i { font-family:Montserrat,Arial,sans-serif; font-style:normal; font-weight:400; }
.sc-typogrid .sc-poster-star { display:none; }
.cr-course-preview { position:relative; border:0; border-radius:12px; box-shadow:0 2px 5px #25163c1f,0 6px 18px #25163c1a; transition:transform .2s,box-shadow .2s; }
.cr-course-preview .cr-course-art { border-radius:12px 12px 0 0; }
@media(hover:hover) {
  .cr-course-preview:not(.sc-card-disabled):hover { transform:translateY(-4px); box-shadow:0 10px 26px #25163c24; }
}
.sc-card-link { display:block; height:100%; color:inherit; text-decoration:none; }
.sc-card-link:focus-visible { outline:3px solid #6134c6; outline-offset:4px; }
.sc-card-disabled { background:#f7f7f8; }
.sc-card-disabled,.sc-card-disabled:hover { box-shadow:0 2px 5px #25163c1a,0 5px 16px #25163c14; }
.sc-slider-hint { display:none; }
@media(max-width:767px) {
  .sc-slider-hint { display:block; margin:0 0 10px; text-align:right; color:#65626b; font-size:12px; }
  .cr-course-grid.sc-card-slider { display:flex; gap:16px; overflow-x:auto; padding:8px 8px 20px; margin:0 -8px; scroll-snap-type:x mandatory; scroll-padding-inline:8px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#c7bddb transparent; }
  .sc-card-slider>.cr-course-preview { flex:0 0 92%; scroll-snap-align:start; }
  .sc-card-slider .cr-course-body { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .cr-course-preview { transition:none; }
  .cr-course-preview:not(.sc-card-disabled):hover { transform:none; }
}
.sc-card-static { height:100%; position:relative; }
.sc-card-disabled .cr-course-art { filter:grayscale(1); opacity:.55; }
.sc-card-disabled .cr-course-body { filter:grayscale(1); }
.sc-coming-label { position:absolute; top:18px; right:18px; z-index:1; padding:7px 12px; background:#343239; color:#fff!important; border-radius:4px; font-size:13px; font-weight:600; }
.sc-opening-label { background:#6134c6; max-width:calc(100% - 36px); font-size:12px; }
.cr-course-preview:has(.sc-opening-label) .cr-course-art { padding-top:62px; }
.sc-card-disabled .cr-course-body .sc-card-more { color:#65626b; font-weight:600; }
.cr-course-preview .cr-course-body { padding:18px; }
.cr-course-preview .cr-course-body h3 { margin:10px 0 2px; font-size:20px; line-height:1.35; min-height:0; }
.cr-course-preview .cr-course-body .sc-card-intro { min-height:1.65em; margin:0; font-size:13px; line-height:1.65; }
.cr-course-preview .sc-card-bottom { min-height:0; }
.cr-course-preview .cr-course-body dl { grid-template-columns:64px 1fr; gap:5px 8px; margin:12px 0; font-size:13px; line-height:1.55; }
.sc-card-bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #dedce2; padding-top:10px; }
.sc-card-bottom>div { display:grid; gap:3px; }
.sc-card-bottom>div>span { font-size:13px; color:#65626b; }
.sc-card-bottom strong { font-size:18px; font-weight:600; }
.sc-price-values { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; }
.sc-price-values del { color:#77717e; font-size:13px; font-weight:400; }
.curriculum-page .sc-price-values strong { color:#5427af; }
.sc-price .sc-price-values { margin-top:4px; }
.sc-price .sc-price-values strong { margin:0; }
.sc-card-arrow { display:grid; place-items:center; border:1px solid #dedce2; width:42px; height:42px; border-radius:50%; font-size:23px; transition:background .2s,color .2s; }
.sc-card-link:hover .sc-card-arrow { background:#6134c6; color:#fff; border-color:#6134c6; }
.cr-course-preview .cr-course-body .sc-card-more { min-height:0; margin:10px 0 0; color:#6134c6; font-size:13px; }
.sc-detail .sc-back { display:inline-block; margin:32px 0; font-size:14px; color:#65626b; text-decoration:none; }
.sc-hero { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:20px 0 80px; align-items:center; }
.sc-hero-copy .cr-eyebrow { margin-bottom:24px; }
.sc-detail .sc-hero h1 { margin:22px 0; font-size:clamp(42px,5vw,68px); line-height:1.15; letter-spacing:-.06em; }
.sc-detail .sc-lead { font-size:23px; line-height:1.55; margin-bottom:20px; font-weight:500; }
.sc-detail .sc-intro { color:#65626b; line-height:1.85; }
.sc-text-link { display:inline-block; margin-top:28px; font-size:14px; color:#232226; text-underline-offset:6px; }
.sc-poster { position:relative; min-height:560px; background:#ded3f5; color:#5518c8; padding:32px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.sc-poster-top,.sc-poster-bottom { display:flex; justify-content:space-between; gap:12px; font:500 11px/1.5 Montserrat,Arial,sans-serif; letter-spacing:.07em; position:relative; z-index:1; }
.sc-poster>strong { font:700 clamp(72px,8vw,116px)/.9 Montserrat,Arial,sans-serif; letter-spacing:-.07em; position:relative; z-index:1; }
.sc-poster strong i { font-family:Georgia,serif; font-weight:400; }
.sc-poster-star { position:absolute; right:-22px; bottom:90px; font-size:240px; line-height:1; color:#b89ae9!important; transform:rotate(12deg); }
.sc-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:80px; border-top:1px solid #dedce2; padding-top:64px; align-items:start; }
.sc-main .sc-section { padding:0 0 64px; margin-bottom:56px; border-bottom:1px solid #dedce2; scroll-margin-top:110px; }
.sc-main .sc-section:last-child { margin-bottom:0; border-bottom:0; }
.sc-detail .sc-section h2 { font-size:clamp(28px,3vw,38px); margin:16px 0 24px; }
.sc-section>p:not(.cr-eyebrow) { font-size:16px; color:#65626b; line-height:1.9; }
.sc-takeaway { margin-top:32px; padding:28px; background:#f4f0fa; border-left:3px solid #6134c6; }
.sc-takeaway>span { font-size:12px; color:#6134c6; }
.sc-takeaway p { margin-top:12px; font-size:20px; line-height:1.65; }
.sc-audience,.sc-process { list-style:none; padding:0; margin:28px 0 0; }
.sc-audience li,.sc-process li { display:grid; grid-template-columns:36px 1fr; gap:18px; padding:24px 0; border-top:1px solid #dedce2; }
.sc-audience li>span { color:#6134c6; font:500 14px/1.8 Montserrat,Arial,sans-serif; }
.sc-detail .sc-audience h3,.sc-detail .sc-process h3 { font-size:20px; margin:0 0 8px; }
.sc-audience p,.sc-process p { color:#65626b; font-size:15px; line-height:1.8; }
.sc-process li { grid-template-columns:64px 1fr; gap:20px; }
.sc-process li>span { color:#6134c6; font-size:11px; letter-spacing:.04em; padding-top:4px; }
.sc-sidebar { position:sticky; top:108px; }
.sc-booking { padding:28px; border:1px solid #dedce2; background:#fff; }
.sc-detail .sc-booking h2 { font-size:24px; margin:14px 0; }
.sc-status { display:inline-block; font-size:12px; background:#f4f0fa; color:#6134c6!important; padding:4px 10px; }
.sc-booking dl { padding:24px 0; margin:0; border-bottom:1px solid #dedce2; }
.sc-booking dl>div { display:flex; justify-content:space-between; gap:12px; margin:10px 0; font-size:14px; }
.sc-booking dt { color:#65626b; }
.sc-booking dd { margin:0; text-align:right; }
.sc-price { padding:24px 0; }
.sc-price>span { display:block; font-size:13px; color:#65626b; }
.sc-price strong { display:block; font-size:26px; font-weight:600; margin:4px 0 10px; }
.sc-price p { font-size:13px; color:#65626b; }
.sc-inquiry { display:block; text-align:center; padding:14px 12px; background:#6134c6; color:#fff; text-decoration:none; font-size:15px; }
.sc-inquiry:hover { background:#4b259f; }
.sc-naver-booking { background:#087f3d; color:#fff; }
.sc-naver-booking:hover { background:#066630; }
.sc-consult-link { margin-top:10px; border:1px solid #dedce2; background:#fff; color:#232226; }
.sc-consult-link:hover { background:#f4f0fa; color:#5427af; }
.sc-booking-note { margin:12px 0 0; text-align:center; font-size:11px; color:#65626b; }
.sc-main .sc-section#class-info { padding-bottom:28px; }
.sc-detail #class-info h2 { margin:10px 0 16px; }
.sc-faq details { border-top:1px solid #dedce2; padding:12px 0; }
.sc-faq summary { cursor:pointer; font-size:16px; font-weight:500; line-height:1.55; }
.sc-faq details p { color:#65626b; font-size:14px; margin:10px 0 0; line-height:1.65; }
.sc-faq details p+p { margin-top:6px; }
.sc-end { padding:40px 0 72px; display:flex; justify-content:space-between; gap:24px; border-top:1px solid #dedce2; }
.sc-end p { color:#65626b; }
.sc-end a { color:#232226; text-underline-offset:6px; }
@media(max-width:1000px) {
  .sc-hero { gap:32px; }
  .sc-poster { min-height:490px; padding:24px; }
  .sc-layout { gap:36px; grid-template-columns:minmax(0,1fr) 300px; }
  .sc-booking { padding:22px; }
}
@media(max-width:760px) {
  .sc-detail .cr-wrap { padding:0 22px; }
  .sc-detail .sc-back { margin:24px 0; }
  .sc-hero { grid-template-columns:1fr; padding:8px 0 40px; gap:32px; }
  .sc-detail .sc-hero h1 { font-size:46px; }
  .sc-detail .sc-lead { font-size:21px; }
  .sc-poster { min-height:390px; }
  .sc-poster>strong { font-size:86px; }
  .sc-poster-star { font-size:190px; bottom:50px; right:0; }
  .sc-layout { display:flex; flex-direction:column; padding-top:32px; gap:44px; }
  .sc-sidebar { position:static; order:-1; width:100%; }
  .sc-main { width:100%; }
  .sc-main .sc-section { padding-bottom:36px; margin-bottom:36px; }
  .sc-takeaway { padding:22px; }
  .sc-takeaway p { font-size:18px; }
  .sc-process li { grid-template-columns:55px 1fr; gap:12px; }
  .sc-detail .sc-audience h3,.sc-detail .sc-process h3 { font-size:18px; }
  .sc-end { flex-direction:column; gap:12px; padding-bottom:48px; }
}
