/* ==========================================================================
   iSeodang Class & Fees — v1.0.0
   디자인 컨셉: Quiet Premium / Editorial Education
   토큰 외의 값은 쓰지 않는다. 애니메이션은 transform/opacity 만.
   ========================================================================== */

.isd-cf{
  /* 브랜드 5색 — 변경 금지 */
  --red:#E30613; --black:#000; --navy:#25257E; --badge:#2A2E9E; --white:#fff;
  /* 승인된 보조 */
  --cream:#FAF7F1; --offwhite:#FDFBF7; --line:#DDD8CE; --body:#6B6B6B;
  /* 네이비 파생 틴트 (새 색이 아니라 표면) */
  --n04:rgba(37,37,126,.04); --n08:rgba(37,37,126,.08); --n12:rgba(37,37,126,.12);
  /* 엘리베이션 — 회색 그림자 금지 */
  --e1:0 1px 2px rgba(37,37,126,.04), 0 2px 8px rgba(37,37,126,.04);
  --e2:0 2px 4px rgba(37,37,126,.06), 0 12px 28px rgba(37,37,126,.08);
  --e3:0 8px 16px rgba(37,37,126,.08), 0 24px 56px rgba(37,37,126,.12);
  /* 8pt 스페이싱 */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:48px; --s8:64px; --s9:80px; --s10:96px; --s11:128px;
  /* 라운드 */
  --r-btn:8px; --r-card:12px; --r-media:20px; --r-pill:999px;
  /* 모션 */
  --d-xs:120ms; --d-sm:180ms; --d-md:260ms; --d-lg:420ms; --d-xl:620ms;
  --ez:cubic-bezier(.2,.8,.2,1);
  --ez-in:cubic-bezier(.16,1,.3,1);
  --ez-out:cubic-bezier(.4,0,1,1);
  --ez-spring:cubic-bezier(.34,1.56,.64,1);

  color:var(--body);
  background:var(--white);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.isd-cf *,.isd-cf *::before,.isd-cf *::after{box-sizing:border-box}
.isd-cf img{max-width:100%;height:auto;display:block}

/* 좌우 흰 여백 제거(풀블리드) — 테마 컨테이너를 뚫는다 */
.isd-cf-page .site-content,
.isd-cf-page .ast-container,
.isd-cf-page .entry-content{max-width:100%!important;padding-left:0!important;padding-right:0!important}
.isd-cf-page .entry-header,
.isd-cf-page .ast-single-post-order{display:none}

.isd-cf-wrap{max-width:1200px;margin:0 auto;padding-left:var(--s4);padding-right:var(--s4)}
@media(min-width:768px){.isd-cf-wrap{padding-left:var(--s6);padding-right:var(--s6)}}

/* ----------------------------- 타이포 ----------------------------------- */
.isd-cf h1,.isd-cf h2,.isd-cf h3{color:var(--navy);margin:0 0 var(--s3);text-wrap:balance;font-weight:700}
.isd-cf h1{font-size:clamp(30px,6vw,60px);line-height:1.1;letter-spacing:-.02em}
.isd-cf h2{font-size:clamp(24px,3.4vw,38px);line-height:1.2;letter-spacing:-.015em}
.isd-cf h3{font-size:clamp(18px,2.4vw,24px);line-height:1.3;letter-spacing:-.01em}
.isd-cf p{margin:0 0 var(--s4);text-wrap:pretty}
.isd-cf-lang-ko h1,.isd-cf-lang-zh h1,.isd-cf-lang-th h1{letter-spacing:-.01em}
.isd-cf-overline{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--badge);margin:0 0 var(--s2)}
.isd-cf-lede{font-size:clamp(16px,1.8vw,19px);color:var(--body);max-width:68ch}
.isd-cf-note{font-size:14px;color:var(--body)}
.isd-cf .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 링크색은 Navy — i Red 는 흰 배경에서 4.88:1 로 AA 턱걸이라 본문 링크로 쓰지 않는다 */
.isd-cf a{color:var(--navy)}
.isd-cf-inline-link{font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--n12)}
.isd-cf-inline-link:hover{border-bottom-color:var(--navy)}

/* ----------------------------- 버튼 ------------------------------------- */
.isd-cf a.isd-cf-btn,.isd-cf a.isd-cf-btn:hover,.isd-cf a.isd-cf-btn:focus,
.isd-cf a.isd-cf-btn:visited,.isd-cf a.isd-cf-inline-link,.isd-cf-banner,
.isd-cf-final__links a{text-decoration:none}
.isd-cf a.isd-cf-btn--primary,.isd-cf a.isd-cf-btn--primary:hover,
.isd-cf a.isd-cf-btn--primary:focus,.isd-cf a.isd-cf-btn--primary:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost-light,.isd-cf a.isd-cf-btn--ghost-light:hover,
.isd-cf a.isd-cf-btn--ghost-light:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost,.isd-cf a.isd-cf-btn--ghost:visited{color:var(--navy)}
.isd-cf a.isd-cf-banner,.isd-cf a.isd-cf-banner:hover,.isd-cf a.isd-cf-banner:visited{color:var(--white)}
.isd-cf-final__links a,.isd-cf-final__links a:visited{color:rgba(255,255,255,.8)}
.isd-cf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  min-height:52px;padding:0 var(--s5);border-radius:var(--r-btn);
  font-size:16px;font-weight:600;line-height:1;text-decoration:none;
  border:1.5px solid transparent;cursor:pointer;
  transition:transform var(--d-md) var(--ez),box-shadow var(--d-md) var(--ez),background-color var(--d-md) var(--ez);
}
.isd-cf-btn--sm{min-height:44px;padding:0 var(--s4);font-size:15px}
/* 테마가 flex 자식에 flex:1 을 걸어 버튼이 늘어난다 → 내용 폭으로 되돌린다 */
.isd-cf .isd-cf-btn{flex:0 0 auto;width:auto}
.isd-cf .isd-cf-sticky .isd-cf-btn{flex:1 1 0}
.isd-cf-btn--primary{background:var(--red);color:var(--white);box-shadow:var(--e1)}
.isd-cf-btn--primary:hover{transform:translateY(-2px);box-shadow:var(--e2);color:var(--white)}
.isd-cf-btn--ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.isd-cf-btn--ghost:hover{transform:translateY(-2px);background:var(--n04)}
.isd-cf-btn--ghost-light{background:rgba(255,255,255,.12);color:var(--white);border-color:rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.isd-cf-btn--ghost-light:hover{transform:translateY(-2px);background:rgba(255,255,255,.22);color:var(--white)}
.isd-cf :focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:4px}

/* ----------------------------- ① HERO ----------------------------------- */
.isd-cf-hero{position:relative;min-height:clamp(440px,72vh,720px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.isd-cf-hero__media{position:absolute;inset:0;z-index:-2}
.isd-cf-hero__img,.isd-cf-hero .isd-cf-ph{width:100%;height:100%;object-fit:cover}
.isd-cf-hero__scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(37,37,126,.34) 0%,rgba(37,37,126,.22) 26%,rgba(37,37,126,.62) 62%,rgba(37,37,126,.90) 100%)}
.isd-cf-hero__grain{position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}
.isd-cf-hero__inner{max-width:1200px;margin:0 auto;padding:var(--s9) var(--s4) var(--s8);width:100%;color:var(--white)}
@media(min-width:768px){.isd-cf-hero__inner{padding:var(--s10) var(--s6) var(--s9)}}
.isd-cf-hero__inner .isd-cf-overline{color:rgba(255,255,255,.82)}
/* ⚠ 특이도: 위의 `.isd-cf h1,h2,h3{color:navy}` (0,1,1) 를 이겨야 한다.
   히어로는 사진 위 흰 글자 → 네이비가 되면 보이지 않는다. */
.isd-cf .isd-cf-hero__h1{color:var(--white);max-width:18ch}
.isd-cf .isd-cf-hero__sub{color:rgba(255,255,255,.94)}
.isd-cf .isd-cf-final h2{color:var(--white)}
.isd-cf-hero__sub{color:rgba(255,255,255,.92);max-width:54ch;font-size:clamp(16px,1.9vw,19px)}
.isd-cf-hero__cta{display:flex;flex-wrap:wrap;gap:var(--s3)}
.isd-cf-hero__hint{position:absolute;left:50%;bottom:var(--s5);transform:translateX(-50%);z-index:1}
.isd-cf-hero__hint span{display:block;width:10px;height:10px;border-right:2px solid rgba(255,255,255,.7);border-bottom:2px solid rgba(255,255,255,.7);transform:rotate(45deg);animation:isd-bounce 1.6s var(--ez) infinite}
@keyframes isd-bounce{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.5}50%{transform:rotate(45deg) translate(4px,4px);opacity:1}}

/* 히어로 H1 단어 마스크 리빌 */
.isd-cf-word{display:inline-block;overflow:hidden;vertical-align:top}
.isd-cf-word>i{display:inline-block;font-style:inherit;transform:translateY(110%);opacity:0}
.isd-cf-word.is-in>i{transform:translateY(0);opacity:1;transition:transform 760ms var(--ez-in),opacity 480ms linear}

/* ---------------------------- ② 신뢰 바 --------------------------------- */
.isd-cf-trust{background:var(--cream);border-block:1px solid var(--line);padding:var(--s6) var(--s4)}
.isd-cf-trust__list{max-width:1200px;margin:0 auto;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s4);text-align:center}
@media(min-width:768px){.isd-cf-trust__list{grid-template-columns:repeat(5,1fr)}}
.isd-cf-trust__list b{display:block;font-size:clamp(26px,3.4vw,36px);color:var(--navy);line-height:1.1;font-variant-numeric:tabular-nums}
.isd-cf-trust__list span{display:block;font-size:13px;margin-top:var(--s1);color:var(--body)}
.isd-cf-trust__visa{max-width:1200px;margin:var(--s5) auto 0;text-align:center;font-size:14px;font-weight:600;color:var(--badge)}

/* --------------------------- ③ 마법사 ----------------------------------- */
.isd-cf-wizard{padding:var(--s8) 0}
@media(min-width:1024px){.isd-cf-wizard{padding:var(--s10) 0}}
.isd-cf-wizard__steps{margin-top:var(--s5);background:var(--offwhite);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s5);box-shadow:var(--e1)}
.isd-cf-wz{border:0;margin:0;padding:0;min-inline-size:0}
.isd-cf-wz legend{display:flex;align-items:center;gap:var(--s3);font-weight:700;color:var(--navy);margin-bottom:var(--s3);padding:0}
.isd-cf-wz legend span{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-pill);background:var(--navy);color:var(--white);font-size:13px}
.isd-cf-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.isd-cf-chip{
  min-height:44px;padding:0 var(--s4);border-radius:var(--r-pill);
  background:var(--white);border:1.5px solid var(--line);color:var(--navy);
  font-size:14px;font-weight:600;cursor:pointer;
  transition:transform var(--d-sm) var(--ez),background-color var(--d-sm) var(--ez),border-color var(--d-sm) var(--ez),color var(--d-sm) var(--ez);
}
.isd-cf-chip:hover{transform:translateY(-1px);border-color:var(--navy)}
.isd-cf-chip.is-on,.isd-cf-chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.isd-cf-wz__result{padding-top:var(--s2)}
.isd-cf-wz__name{font-size:clamp(20px,2.6vw,26px);font-weight:700;color:var(--navy);margin:var(--s2) 0 var(--s4)}
.isd-cf-wz__cta{display:flex;flex-wrap:wrap;gap:var(--s3)}

/* ------------------------ ④ 스티키 필터 네비 ---------------------------- */
.isd-cf-nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-block:1px solid var(--line)}
.isd-cf-nav__inner{max-width:1200px;margin:0 auto;padding:var(--s2) var(--s4);display:flex;gap:var(--s3);align-items:center}
@media(min-width:768px){.isd-cf-nav__inner{padding:var(--s3) var(--s6)}}
.isd-cf-nav__chips{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1 1 auto;padding-block:2px}
.isd-cf-nav__chips::-webkit-scrollbar{display:none}
.isd-cf-nav__chips .isd-cf-chip{white-space:nowrap;flex:0 0 auto}
.isd-cf-search{flex:0 0 auto}
.isd-cf-search input{
  height:44px;width:150px;padding:0 var(--s3);font-size:16px;
  border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--white);color:var(--navy);
  transition:width var(--d-md) var(--ez),border-color var(--d-md) var(--ez);
}
.isd-cf-search input:focus{width:210px;border-color:var(--navy);outline:none}
@media(max-width:520px){.isd-cf-search{display:none}}

/* --------------------------- 트랙 섹션 ---------------------------------- */
.isd-cf-track{padding:var(--s8) 0;border-bottom:1px solid var(--line)}
@media(min-width:1024px){.isd-cf-track{padding:var(--s10) 0}}
.isd-cf-track:nth-of-type(even){background:var(--offwhite)}
.isd-cf-track[hidden]{display:none}

.isd-cf-track__banner{max-width:1200px;margin:0 auto var(--s7);padding:0 var(--s4);display:grid;gap:var(--s5);align-items:center}
@media(min-width:768px){.isd-cf-track__banner{padding:0 var(--s6)}}
@media(min-width:1024px){
  .isd-cf-track__banner{grid-template-columns:7fr 5fr;gap:var(--s8)}
  .isd-cf-track.is-flip .isd-cf-track__media{order:2}
}
.isd-cf-track__media{position:relative;border-radius:var(--r-media);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--e1)}
@media(min-width:1024px){.isd-cf-track__media{aspect-ratio:3/2}}
.isd-cf-track__media::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(37,37,126,.06);border-radius:inherit;pointer-events:none}
.isd-cf-track__img{width:100%;height:100%;object-fit:cover}
/* 듀오톤 12% — 사진마다 색온도가 달라도 한 계열로 묶인다 */
.isd-cf-duotone{position:absolute;inset:0;background:var(--navy);opacity:.12;mix-blend-mode:multiply;pointer-events:none}
.isd-cf-track__meta{display:grid;grid-template-columns:auto 1fr;gap:var(--s2) var(--s4);margin:var(--s4) 0;font-size:14px}
.isd-cf-track__meta dt{font-weight:700;color:var(--navy)}
.isd-cf-track__meta dd{margin:0}

.isd-cf-badges{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin:0}
.isd-cf-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--s3);border-radius:var(--r-pill);font-size:12px;font-weight:700;letter-spacing:.01em}
.isd-cf-badge--visa{color:var(--badge);border:1.5px solid var(--badge);background:transparent}
.isd-cf-badge--soon{color:var(--body);border:1.5px solid var(--line);background:transparent}
.isd-cf-badge--intake{color:var(--white);background:var(--red)}
.isd-cf-badge--pop{color:var(--white);background:var(--navy)}

/* 베이토 그리드 */
.isd-cf-grid{max-width:1200px;margin:0 auto;padding:0 var(--s4);display:grid;gap:var(--s4);grid-template-columns:1fr}
@media(min-width:640px){.isd-cf-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.isd-cf-grid{padding:0 var(--s6)}}
@media(min-width:1024px){
  .isd-cf-grid{grid-template-columns:repeat(3,1fr);gap:var(--s5)}
}

/* ----------------------------- 카드 ------------------------------------- */
.isd-cf-card{
  display:flex;flex-direction:column;gap:var(--s3);
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);
  padding:0 0 0;box-shadow:var(--e1);
  transition:transform var(--d-md) var(--ez),box-shadow var(--d-md) var(--ez),border-color var(--d-md) var(--ez);
}
.isd-cf-card.is-featured{border-color:var(--n12);box-shadow:var(--e2)}
.isd-cf-card{position:relative}
.isd-cf-card:hover{transform:translateY(-4px);box-shadow:var(--e2);border-color:var(--n12)}
.isd-cf-card[hidden]{display:none}
.isd-cf-card__head{margin:0}
.isd-cf-card__title{margin:0 0 2px;font-size:19px}
.isd-cf-card__track{margin:0;font-size:13px;color:var(--body)}
.isd-cf-specs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2) var(--s3)}
.isd-cf-specs li{display:flex;flex-direction:column;background:var(--n04);border-radius:var(--r-btn);padding:var(--s2) var(--s3)}
.isd-cf-specs span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--body)}
.isd-cf-specs b{font-size:14px;color:var(--navy);font-variant-numeric:tabular-nums}
.isd-cf-card__foot{margin-top:auto;padding-top:var(--s2)}
.isd-cf-compare{
  background:none;border:0;padding:var(--s3) 0;min-height:44px;cursor:pointer;
  font-size:13px;font-weight:700;color:var(--navy);border-bottom:1.5px solid var(--n12);
  transition:border-color var(--d-sm) var(--ez)
}
.isd-cf-compare:hover,.isd-cf-compare.is-on{border-bottom-color:var(--navy)}
.isd-cf-compare.is-on{color:var(--red)}

/* 이미지 없을 때 브랜드 플레이스홀더 — 깨진 이미지는 절대 노출하지 않는다 */
.isd-cf-ph{position:relative;width:100%;height:100%;min-height:160px;border-radius:inherit;
  background:linear-gradient(135deg,var(--cream) 0%,#EDE9F3 55%,var(--n08) 100%)}
.isd-cf-ph span{position:absolute;inset:0;
  background-image:radial-gradient(circle at 30% 30%,rgba(37,37,126,.10) 0 2px,transparent 2px);
  background-size:22px 22px;border-radius:inherit}


/* ======================= 카드 아트 밴드 (v1.1.0) =========================
   원칙: 절제. 사진은 이미 로드된 반별 이미지를 재사용하고(요청 0건),
   네이비 스크림으로 눌러 '배경'으로만 쓴다. 주인공은 여전히 텍스트다. */
.isd-cf-card{padding:0;overflow:hidden}
.isd-cf-card>*:not(.isd-cf-card__art){margin-inline:var(--s5)}
.isd-cf-card>.isd-cf-card__head{margin-top:var(--s4)}
.isd-cf-card>.isd-cf-card__foot{margin-bottom:var(--s5)}

.isd-cf-card__art{
  position:relative;height:104px;overflow:hidden;isolation:isolate;
  background:linear-gradient(120deg,#EEEBF6 0%,var(--cream) 60%,#E6E3F2 100%);
}
/* 사진 레이어 — 없으면 그라디언트만 보인다 */
.isd-cf-card__art::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--isd-art,none);background-size:cover;background-position:center 38%;
  filter:saturate(.85) contrast(1.02) brightness(1.04);
  transform:scale(1.02);
  transition:transform var(--d-lg) var(--ez);
}
/* 브랜드 스크림 — 사진마다 색온도가 달라도 한 계열로 묶인다 */
.isd-cf-card__art::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(104deg,rgba(37,37,126,.86) 0%,rgba(37,37,126,.56) 48%,rgba(37,37,126,.26) 100%);
}
.isd-cf-card:hover .isd-cf-card__art::before{transform:scale(1.07)}

/* 수업 형태 pill */
.isd-cf-card__mode{
  position:absolute;left:var(--s4);bottom:var(--s3);z-index:3;
  display:inline-flex;align-items:center;height:24px;padding:0 10px;
  border-radius:var(--r-pill);background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(4px);
  color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}

/* 모티프 아이콘 */
.isd-cf-motif{
  position:absolute;right:12px;top:50%;z-index:2;
  width:62px;height:62px;color:rgba(255,255,255,.94);
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.28));
  transform:translateY(-50%);
  transition:transform var(--d-lg) var(--ez),color var(--d-lg) var(--ez);
}
.isd-cf-card:hover .isd-cf-motif{transform:translateY(-50%) translateX(-2px) scale(1.06)}
.isd-cf-card.is-featured .isd-cf-motif{right:66px;width:54px;height:54px}

/* 오리지널 캐릭터 '서당이' — 인기 카드에만. 과하지 않게. */
.isd-cf-mascot{
  position:absolute;right:14px;bottom:8px;z-index:3;
  width:40px;height:47px;color:rgba(255,255,255,.92);
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
  animation:isd-float 3.6s var(--ez) infinite;
}
@keyframes isd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* 트랙 배너 오버라인 옆 작은 아이콘 */
.isd-cf-overline--icon{display:flex;align-items:center;gap:8px}
.isd-cf-motif--inline{position:static;width:22px;height:22px;transform:none;color:var(--badge);flex:0 0 auto;filter:none}
.isd-cf-card:hover .isd-cf-motif--inline{transform:none}

/* 마법사 결과 캐릭터 */
.isd-cf-wz__result{position:relative}
.isd-cf-mascot--wz{position:absolute;right:4px;top:-6px;width:46px;height:54px;color:var(--n12);animation:none}
@media(max-width:520px){.isd-cf-mascot--wz{display:none}}

/* 이미지 없는 반(영어·중국어·말레이어)은 그라디언트를 조금 더 살린다 */
.isd-cf-card[data-track="english"] .isd-cf-card__art,
.isd-cf-card[data-track="mandarin"] .isd-cf-card__art,
.isd-cf-card[data-track="malay"] .isd-cf-card__art{
  background:linear-gradient(120deg,#2A2E9E 0%,#25257E 58%,#1B1B5E 100%);
}
.isd-cf-card[data-track="english"] .isd-cf-card__art::after,
.isd-cf-card[data-track="mandarin"] .isd-cf-card__art::after,
.isd-cf-card[data-track="malay"] .isd-cf-card__art::after{
  background:radial-gradient(120% 140% at 88% 50%,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 60%);
}

@media (prefers-reduced-motion:reduce){
  .isd-cf-mascot{animation:none}
  .isd-cf-card__art::before,.isd-cf-motif{transition:none}
}
@media print{
  .isd-cf-card__art{height:auto;min-height:0;background:none}
  .isd-cf-card__art::before,.isd-cf-card__art::after,.isd-cf-motif,.isd-cf-mascot{display:none}
  .isd-cf-card__mode{position:static;color:#000;border-color:#999;background:none}
}

/* ------------------- ★ 가격 잠금 인터랙션 ★ ---------------------------- */
.isd-cf-price{border-top:1px solid var(--line);padding-top:var(--s3);min-height:104px}
.isd-cf-price.is-public b{font-size:22px;color:var(--navy);font-variant-numeric:tabular-nums}

.isd-cf-lock{
  display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s2);align-items:center;
  width:100%;min-height:64px;padding:var(--s2) var(--s3);
  background:var(--n04);border:1px dashed var(--n12);border-radius:var(--r-btn);
  cursor:pointer;text-align:left;color:var(--navy);
  transition:transform var(--d-xs) var(--ez-spring),background-color var(--d-md) var(--ez),border-color var(--d-md) var(--ez);
}
.isd-cf-lock:hover{background:var(--n08);border-color:var(--navy)}
.isd-cf-lock.is-press{transform:scale(.97)}
.isd-cf-lock__icon{display:grid;place-items:center;transition:transform 250ms var(--ez-out),opacity 250ms linear}
.isd-cf-shackle{transition:transform 250ms var(--ez-out);transform-origin:8px 10px}
.isd-cf-lock__label{font-size:14px;font-weight:700}
.isd-cf-lock__bars{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;margin-top:2px}
.isd-cf-lock__bars i{display:block;height:9px;border-radius:var(--r-pill);transform-origin:left center;
  background:linear-gradient(90deg,var(--n12),var(--n04) 60%,var(--n12));
  background-size:220% 100%;animation:isd-shim 2.6s linear infinite;
  transition:transform 220ms var(--ez-out)}
.isd-cf-lock__bars i:first-child{width:64%}
.isd-cf-lock__bars i:last-child{width:38%}
@keyframes isd-shim{to{background-position:-220% 0}}
.isd-cf-lock__hint{grid-column:1/-1;font-size:12px;font-weight:600;color:var(--badge);margin-top:2px}

/* 열린 상태 */
.isd-cf-lock[aria-expanded="true"]{border-style:solid;border-color:var(--red);background:var(--white)}
.isd-cf-lock[aria-expanded="true"] .isd-cf-lock__icon{opacity:0;transform:rotate(-18deg)}
.isd-cf-lock[aria-expanded="true"] .isd-cf-shackle{transform:translateX(3px) rotate(-24deg)}
.isd-cf-lock[aria-expanded="true"] .isd-cf-lock__bars i{transform:scaleX(0)}
.isd-cf-lock[aria-expanded="true"] .isd-cf-lock__hint{opacity:0}

.isd-cf-fee{padding-top:var(--s3);opacity:0;transform:translateY(8px);
  transition:opacity 320ms linear,transform 320ms var(--ez-in)}
.isd-cf-fee.is-in{opacity:1;transform:none}
.isd-cf-fee__msg{font-size:14px;font-weight:600;color:var(--navy);margin:0 0 var(--s3)}
.isd-cf-fee__cta{display:flex;flex-wrap:wrap;gap:var(--s2)}
.isd-cf-fee__cta .isd-cf a.isd-cf-btn,.isd-cf a.isd-cf-btn:hover,.isd-cf a.isd-cf-btn:focus,
.isd-cf a.isd-cf-btn:visited,.isd-cf a.isd-cf-inline-link,.isd-cf-banner,
.isd-cf-final__links a{text-decoration:none}
.isd-cf a.isd-cf-btn--primary,.isd-cf a.isd-cf-btn--primary:hover,
.isd-cf a.isd-cf-btn--primary:focus,.isd-cf a.isd-cf-btn--primary:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost-light,.isd-cf a.isd-cf-btn--ghost-light:hover,
.isd-cf a.isd-cf-btn--ghost-light:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost,.isd-cf a.isd-cf-btn--ghost:visited{color:var(--navy)}
.isd-cf a.isd-cf-banner,.isd-cf a.isd-cf-banner:hover,.isd-cf a.isd-cf-banner:visited{color:var(--white)}
.isd-cf-final__links a,.isd-cf-final__links a:visited{color:rgba(255,255,255,.8)}
.isd-cf-btn{opacity:0;transform:translateY(6px);transition:opacity 260ms linear,transform 260ms var(--ez-in)}
.isd-cf-fee.is-in .isd-cf-fee__cta .isd-cf a.isd-cf-btn,.isd-cf a.isd-cf-btn:hover,.isd-cf a.isd-cf-btn:focus,
.isd-cf a.isd-cf-btn:visited,.isd-cf a.isd-cf-inline-link,.isd-cf-banner,
.isd-cf-final__links a{text-decoration:none}
.isd-cf a.isd-cf-btn--primary,.isd-cf a.isd-cf-btn--primary:hover,
.isd-cf a.isd-cf-btn--primary:focus,.isd-cf a.isd-cf-btn--primary:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost-light,.isd-cf a.isd-cf-btn--ghost-light:hover,
.isd-cf a.isd-cf-btn--ghost-light:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost,.isd-cf a.isd-cf-btn--ghost:visited{color:var(--navy)}
.isd-cf a.isd-cf-banner,.isd-cf a.isd-cf-banner:hover,.isd-cf a.isd-cf-banner:visited{color:var(--white)}
.isd-cf-final__links a,.isd-cf-final__links a:visited{color:rgba(255,255,255,.8)}
.isd-cf-btn{opacity:1;transform:none}
.isd-cf-fee.is-in .isd-cf-fee__cta .isd-cf-btn:nth-child(2){transition-delay:60ms}
.isd-cf-fee__note{font-size:12px;color:var(--body);margin:var(--s2) 0 0}

/* ------------------------ 가격 결정 5요소 ------------------------------- */
.isd-cf-factors{padding:var(--s8) 0;background:var(--cream)}
@media(min-width:1024px){.isd-cf-factors{padding:var(--s10) 0}}
.isd-cf-factors__list{list-style:none;margin:var(--s6) 0 var(--s5);padding:0;display:grid;gap:var(--s3);grid-template-columns:1fr}
@media(min-width:640px){.isd-cf-factors__list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.isd-cf-factors__list{grid-template-columns:repeat(5,1fr)}}
.isd-cf-factors__list li{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s5);box-shadow:var(--e1)}
.isd-cf-factors__n{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-pill);background:var(--navy);color:var(--white);font-size:13px;font-weight:700;margin-bottom:var(--s3)}
.isd-cf-factors__list b{display:block;color:var(--navy);font-size:16px;margin-bottom:var(--s1)}
.isd-cf-factors__list em{font-style:normal;font-size:14px;color:var(--body)}
.isd-cf-enrolled{margin-top:var(--s5);font-size:14px;padding-top:var(--s4);border-top:1px solid var(--line)}
.isd-cf-enrolled a{font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--n12)}

/* ---------------------------- 수강 절차 --------------------------------- */
.isd-cf-steps{padding:var(--s8) 0}
@media(min-width:1024px){.isd-cf-steps{padding:var(--s10) 0}}
.isd-cf-steps__list{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;gap:var(--s4);grid-template-columns:1fr;counter-reset:s}
@media(min-width:768px){.isd-cf-steps__list{grid-template-columns:repeat(4,1fr)}}
.isd-cf-steps__list li{position:relative;padding-top:var(--s5);border-top:2px solid var(--line)}
.isd-cf-steps__list li::before{content:"";position:absolute;top:-2px;left:0;width:0;height:2px;background:var(--red);transition:width 620ms var(--ez-in)}
.isd-cf-steps__list li.is-in::before{width:100%}
.isd-cf-steps__n{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--badge);margin-bottom:var(--s2)}
.isd-cf-steps__list b{display:block;color:var(--navy);font-size:17px;margin-bottom:var(--s1)}
.isd-cf-steps__list em{font-style:normal;font-size:14px;display:block}
.isd-cf-steps__list i{font-style:normal;font-size:12px;color:var(--badge);font-weight:700;display:inline-block;margin-top:var(--s2)}

/* ----------------------------- 배너 ------------------------------------- */
.isd-cf-banners{padding:0 0 var(--s8)}
.isd-cf-banners__grid{display:grid;gap:var(--s4);grid-template-columns:1fr}
@media(min-width:768px){.isd-cf-banners__grid{grid-template-columns:repeat(2,1fr)}}
.isd-cf-banner{display:block;padding:var(--s6);border-radius:var(--r-card);text-decoration:none;
  background:var(--navy);color:var(--white);box-shadow:var(--e1);
  transition:transform var(--d-md) var(--ez),box-shadow var(--d-md) var(--ez)}
.isd-cf-banner:hover{transform:translateY(-4px);box-shadow:var(--e3);color:var(--white)}
.isd-cf-banner b{display:block;font-size:20px;margin-bottom:var(--s2)}
.isd-cf-banner span{display:block;font-size:15px;color:rgba(255,255,255,.86);margin-bottom:var(--s3)}
.isd-cf-banner em{font-style:normal;font-weight:700;font-size:14px;color:var(--white)}

/* ------------------------------ FAQ ------------------------------------- */
.isd-cf-faq{padding:var(--s8) 0;background:var(--offwhite);border-top:1px solid var(--line)}
@media(min-width:1024px){.isd-cf-faq{padding:var(--s10) 0}}
.isd-cf-faq__list{margin-top:var(--s5);max-width:860px}
.isd-cf-faq__item{border-bottom:1px solid var(--line)}
.isd-cf-faq__item summary{list-style:none;cursor:pointer;display:flex;gap:var(--s4);align-items:center;justify-content:space-between;
  padding:var(--s4) 0;font-weight:700;color:var(--navy);font-size:16px;min-height:56px}
.isd-cf-faq__item summary::-webkit-details-marker{display:none}
.isd-cf-faq__item summary i{position:relative;flex:0 0 auto;width:18px;height:18px}
.isd-cf-faq__item summary i::before,.isd-cf-faq__item summary i::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:var(--navy);transition:transform var(--d-md) var(--ez)}
.isd-cf-faq__item summary i::after{transform:rotate(90deg)}
.isd-cf-faq__item[open] summary i::after{transform:rotate(0)}
/* grid-template-rows 기법 — height 애니메이션 없이 리플로 최소화 */
.isd-cf-faq__a{display:grid;grid-template-rows:1fr;overflow:hidden}
.isd-cf-faq__a p{margin:0 0 var(--s5);max-width:68ch;min-height:0}

/* --------------------------- 최종 CTA ----------------------------------- */
.isd-cf-final{padding:var(--s9) 0;background:var(--navy);color:var(--white);text-align:center}
.isd-cf-final h2{color:var(--white)}
.isd-cf-final p{color:rgba(255,255,255,.88);max-width:56ch;margin-inline:auto}
.isd-cf-final__cta{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;margin-top:var(--s5)}
.isd-cf-final__links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);justify-content:center;margin-top:var(--s7);font-size:14px}
.isd-cf-final__links a{color:rgba(255,255,255,.8)}
.isd-cf-final__links a:hover{color:var(--white)}
.isd-cf-print{background:none;border:0;color:rgba(255,255,255,.8);cursor:pointer;font-size:14px;font-family:inherit;text-decoration:underline;min-height:44px;padding:0 var(--s2)}

.isd-cf-noresult{max-width:1200px;margin:var(--s8) auto;padding:0 var(--s4);text-align:center;font-size:17px}

/* --------------------------- 비교 트레이 -------------------------------- */
.isd-cf-tray{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--white);border-top:1px solid var(--line);box-shadow:var(--e3);
  transform:translateY(100%);transition:transform var(--d-lg) var(--ez-in)}
.isd-cf-tray.is-in{transform:none}
.isd-cf-tray__inner{max-width:1200px;margin:0 auto;padding:var(--s3) var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center}
.isd-cf-tray__inner b{color:var(--navy);font-size:14px}
.isd-cf-tray ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2);flex:1 1 auto;min-width:0}
.isd-cf-tray li{font-size:12px;background:var(--n04);border-radius:var(--r-pill);padding:4px var(--s3);color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}

/* ------------------------ 모바일 스티키 CTA ----------------------------- */
.isd-cf-sticky{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;gap:var(--s2);
  padding:var(--s2) var(--s4) calc(var(--s2) + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  transform:translateY(100%);transition:transform var(--d-md) var(--ez-in)}
.isd-cf-sticky.is-in{transform:none}
.isd-cf-sticky .isd-cf a.isd-cf-btn,.isd-cf a.isd-cf-btn:hover,.isd-cf a.isd-cf-btn:focus,
.isd-cf a.isd-cf-btn:visited,.isd-cf a.isd-cf-inline-link,.isd-cf-banner,
.isd-cf-final__links a{text-decoration:none}
.isd-cf a.isd-cf-btn--primary,.isd-cf a.isd-cf-btn--primary:hover,
.isd-cf a.isd-cf-btn--primary:focus,.isd-cf a.isd-cf-btn--primary:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost-light,.isd-cf a.isd-cf-btn--ghost-light:hover,
.isd-cf a.isd-cf-btn--ghost-light:visited{color:var(--white)}
.isd-cf a.isd-cf-btn--ghost,.isd-cf a.isd-cf-btn--ghost:visited{color:var(--navy)}
.isd-cf a.isd-cf-banner,.isd-cf a.isd-cf-banner:hover,.isd-cf a.isd-cf-banner:visited{color:var(--white)}
.isd-cf-final__links a,.isd-cf-final__links a:visited{color:rgba(255,255,255,.8)}
.isd-cf-btn{flex:1 1 0}
@media(min-width:1024px){.isd-cf-sticky{display:none}}
.isd-cf-tray.is-in ~ .isd-cf-sticky{display:none}

/* 언어 제안 배너 */
.isd-cf-langbar{position:fixed;left:24px;bottom:24px;z-index:70;max-width:300px;
  display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:12px;
  background:var(--navy);color:#fff;font-size:14px;box-shadow:var(--e3)}
.isd-cf-langbar a{color:#fff;font-weight:700;text-decoration:underline;flex:0 0 auto}
.isd-cf-langbar button{background:none;border:0;color:#fff;cursor:pointer;font-size:16px;flex:0 0 auto;line-height:1}
@media(max-width:1023px){.isd-cf-langbar{left:16px;right:96px;bottom:88px;max-width:none}}

/* --------------------------- 스크롤 진행 바 ----------------------------- */
.isd-cf-progress{position:fixed;top:0;left:0;height:2px;background:var(--red);z-index:80;width:0;transform-origin:left;will-change:transform}

/* --------------------------- 등장 애니메이션 ---------------------------- */
.isd-cf-rv{opacity:0;transform:translateY(24px);transition:opacity var(--d-lg) linear,transform var(--d-lg) var(--ez-in)}
.isd-cf-rv.is-in{opacity:1;transform:none}

/* --------------------------- 접근성 / 모션 ------------------------------ */
@media (prefers-reduced-motion:reduce){
  .isd-cf *,.isd-cf *::before,.isd-cf *::after{
    animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .isd-cf-rv,.isd-cf-fee,.isd-cf-word>i{opacity:1!important;transform:none!important}
  .isd-cf-tray,.isd-cf-sticky{transition:none!important}
}

/* JS 없이도 페이지는 완전히 읽혀야 한다 */
.no-js .isd-cf-rv,.isd-cf-nojs .isd-cf-rv{opacity:1;transform:none}
.isd-cf-nojs .isd-cf-fee{opacity:1;transform:none}

/* ------------------------------ 인쇄 ------------------------------------ */
@media print{
  .isd-cf-nav,.isd-cf-sticky,.isd-cf-tray,.isd-cf-hero__hint,.isd-cf-progress,
  .isd-cf-wizard,.isd-cf-final__cta,.isd-cf-print{display:none!important}
  .isd-cf{color:#000;font-size:11pt}
  .isd-cf-hero{min-height:auto;color:#000}
  .isd-cf-hero__media,.isd-cf-hero__scrim,.isd-cf-hero__grain{display:none}
  .isd-cf-hero__h1,.isd-cf-hero__sub,.isd-cf-hero .isd-cf-overline{color:#000}
  .isd-cf-card,.isd-cf-track{break-inside:avoid;box-shadow:none;border-color:#999}
  .isd-cf-fee{display:block!important;opacity:1!important;transform:none!important}
  .isd-cf-rv{opacity:1!important;transform:none!important}
  .isd-cf-final{background:#fff;color:#000}
  .isd-cf-final h2,.isd-cf-final p{color:#000}
}
