/* Approved homepage v4. Every rule is scoped to this page; shared styles stay intact. */
.home-apple { --home-dark: linear-gradient(180deg,#0E1F3C,#16305E); --home-light: linear-gradient(180deg,#F3F6FB,#E3EAF5); overflow-x: clip; }
.home-apple .home-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.home-apple .top { background: #0E1F3C; }
.home-apple .top .wrap { max-width: 1240px; height: 72px; gap: 24px; }
.home-apple .logo { flex-shrink: 0; }
.home-apple .logo img { display: block; width: 174px; height: auto; }
.home-apple .top .nav { gap: clamp(12px,2vw,24px); }
.home-apple .top .pill { color: #0E1F3C; }
.home-apple .top .pill:hover { color: #0E1F3C; background: #E3EAF5; }
.home-apple :is(section[id],.hero) { scroll-margin-top: 80px; }
.home-apple a:focus-visible { outline: 3px solid #AFC6E8; outline-offset: 5px; }
.home-apple .home-dark, .home-apple :is(.hero,.vow,.sec.dark,.cta) { background: var(--home-dark); color: #fff; }
.home-apple .home-light, .home-apple .sec.band { background: var(--home-light); }
/* Fail open: inline legacy motion marker alone never hides content. */
.home-apple .rv { opacity: 1; transform: none; transition: none; }
.home-apple .home-enter { transition: opacity .3s ease, transform .3s ease; }
.home-apple.is-animated .home-enter.is-pending { opacity: 0; transform: translateY(18px); }
.home-apple .home-intro { min-height: 90vh; }
.home-apple .home-sticky { min-height: calc(100svh - 72px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 64px 24px; text-align: center; }
.home-apple.is-animated .home-intro { height: 180vh; }
.home-apple.is-animated .home-sticky { position: sticky; top: 72px; }
.home-apple .home-symbol { width: clamp(90px,11vw,146px); height: auto; overflow: visible; }
.home-apple .home-dot { transform: translateY(220px); }
.home-apple .home-intro-line { max-width: 720px; font-size: clamp(32px,5vw,56px); line-height: 1.22; font-weight: 800; letter-spacing: -.045em; text-wrap: balance; }
.home-apple .home-original-nav { margin: 26px auto 0; display: flex; gap: 12px 24px; justify-content: center; flex-wrap: wrap; color: #AFC6E8; font-size: 14px; }
.home-apple .home-original-nav .pill { background: transparent; color: inherit; padding: 0; font-size: inherit; }
.home-apple .hero { padding-top: clamp(72px,10vw,140px); }
.home-apple .home-photo { position: relative; isolation: isolate; overflow: hidden; min-height: 640px; display: grid; align-items: center; }
.home-apple .home-photo-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: -2; }
.home-apple .home-photo::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(243,246,251,.97),rgba(243,246,251,.88) 30%,rgba(243,246,251,0) 70%); }
.home-apple .home-photo .wrap { width: 100%; }
.home-apple .home-photo-copy { width: 48%; padding-block: 80px; }
.home-apple :is(.home-photo-copy,.home-report-copy) h2, .home-apple .home-growth h2 { font-size: clamp(30px,4vw,48px); line-height: 1.22; letter-spacing: -.04em; font-weight: 800; }
.home-apple :is(.home-photo-copy,.home-report-copy) p { margin-top: 22px; font-size: 18px; color: #4A5B74; }
.home-apple .home-photo-copy .btn { margin-top: 28px; background: #0E1F3C; color: #fff; border-color: #0E1F3C; }
.home-apple .home-evidence { padding-block: clamp(64px,9vw,120px); }
.home-apple .home-note-image { display: block; width: 100%; height: clamp(230px,32vw,420px); object-fit: cover; object-position: center; border-radius: 24px; margin-bottom: 44px; }
.home-apple .home-proof-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 40px; }
.home-apple .home-proof { background: #fff; border: 1px solid #DCE3ED; border-radius: 24px; padding: 32px; }
.home-apple .home-proof > span { color: #4A5B74; font-size: 14px; }
.home-apple .home-proof h3 { font-size: 24px; margin: 8px 0 14px; letter-spacing: -.03em; }
.home-apple .home-proof p { color: #4A5B74; font-size: 16px; }
.home-apple .home-word-change { display: grid; place-items: center; margin-bottom: 32px; font-size: clamp(48px,7vw,80px); line-height: 1.2; font-weight: 800; color: #AFC6E8; }
.home-apple .home-word-change span { grid-area: 1/1; }
.home-apple .home-wrong { opacity: 0; color: #FF5A5F; }
.home-apple .home-right { color: #FFD43B; }
.home-apple .vow h2 .hl { color: #FFD43B; }
.home-apple .vow h2 .home-hl-wrong { color: #FF5A5F; }
.home-apple .home-report { padding-block: clamp(80px,12vw,160px); }
.home-apple .home-report-layout { display: flex; align-items: center; justify-content: center; gap: clamp(40px,8vw,120px); }
.home-apple .home-phone { position: relative; width: 272px; min-width: 272px; height: 556px; border: 11px solid #0B1527; border-radius: 52px; background: #EEF2F8; padding: 54px 14px 20px; box-shadow: 0 0 0 2px #2A3A55, 0 30px 70px rgba(14,31,60,.22); overflow: hidden; }
.home-apple .home-phone::before, .home-apple .home-phone::after { content: ''; position: absolute; left: -15px; width: 4px; border-radius: 2px; background: #2A3A55; }
.home-apple .home-phone::before { top: 110px; height: 44px; }
.home-apple .home-phone::after { top: 166px; height: 44px; }
.home-apple .home-phone-island { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 92px; height: 26px; border-radius: 14px; background: #0B1527; }
.home-apple .home-phone-status { position: absolute; top: 14px; left: 26px; right: 26px; display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; color: #0E1F3C; letter-spacing: .02em; }
.home-apple .home-phone-status span:last-child { font-size: 7px; letter-spacing: 1px; }
.home-apple .home-phone-head { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 0 12px; border-bottom: 1px solid #DCE3ED; margin-bottom: 4px; }
.home-apple .home-phone-head b { font-size: 13px; color: #0E1F3C; }
.home-apple .home-phone-head small { font-size: 11px; color: #66748A; }
.home-apple .home-message { max-width: 88%; padding: 10px 13px; border-radius: 4px 16px 16px 16px; background: #fff; margin-top: 10px; font-size: 13.5px; line-height: 1.45; color: #0E1F3C; box-shadow: 0 2px 8px rgba(14,31,60,.06); }
.home-apple .home-message em { display: block; font-style: normal; font-size: 11.5px; font-weight: 700; color: #1B3C72; margin-bottom: 2px; }
.home-apple .home-message-title { background: #0E1F3C; color: #fff; font-weight: 700; }
.home-apple .home-growth { text-align: center; padding-block: clamp(64px,10vw,130px); }
.home-apple .home-growth svg { display: block; width: min(100%,760px); margin: 0 auto 40px; overflow: visible; }
.home-apple .home-growth p { color: #AFC6E8; margin-top: 22px; font-size: 16px; }
.home-apple .home-letter-line { display: inline; }
.home-apple .gauge i.on { transform-origin: left center; }
.home-apple .kakao { background: #FEE500; color: #191919; }
/* PC에도 신청 바를 항상 띄운다(가운데 아래 알약형). 휴대폰은 아래 @media에서 꽉 찬 바로 바뀐다. */
.home-apple .home-mobile-actions { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; position: fixed; z-index: 60; left: 50%; bottom: 20px; transform: translateX(-50%); width: min(520px, calc(100% - 40px)); padding: 8px; border-radius: 20px; background: rgba(243,246,251,.96); border: 1px solid #DCE3ED; box-shadow: 0 12px 34px rgba(14,31,60,.18); backdrop-filter: blur(10px); }
.home-apple .home-mobile-actions a { display: flex; align-items: center; justify-content: center; gap: 4px; white-space: nowrap; min-height: 46px; border-radius: 14px; background: #E3EAF5; color: #0E1F3C; font-size: 15px; font-weight: 700; }
.home-apple .home-mobile-actions a:first-child { background: #0E1F3C; color: #fff; }
.home-apple { padding-bottom: 96px; }
.home-apple .home-arrow { transition: opacity .25s ease; }
@media (max-width: 1000px) and (min-width: 768px) { .home-apple .home-header-phone { display: none; } }
@media (max-width: 767px) {
  /* 휴대폰: 히어로 아래 바로가기 줄은 숨김 — 위 큰 버튼·하단 고정 바와 「진단상담 신청」이 한 화면에 세 번 겹침 */
  .home-apple .home-original-nav { display: none; }
  .home-apple .home-enter { transition-duration: .2s; }
  .home-apple { padding-bottom: calc(84px + env(safe-area-inset-bottom,0px)); }
  .home-apple .top { position: relative; }
  .home-apple .top .wrap { height: 64px; gap: 10px; }
  .home-apple .logo img { width: 145px; }
  .home-apple .top .nav a:not(.pill) { display: none; }
  .home-apple .top .pill { font-size: 13px; padding: 10px 14px; white-space: nowrap; }
  .home-apple :is(section[id],.hero) { scroll-margin-top: 16px; }
  .home-apple .home-sticky, .home-apple.is-animated .home-sticky { top: 0; min-height: 100svh; padding: 48px 24px 100px; }
  .home-apple .home-intro-line { max-width: 340px; }
  .home-apple .home-photo { min-height: 650px; align-items: start; }
  .home-apple .home-photo-image { object-position: 70% bottom; }
  .home-apple .home-photo::after { background: linear-gradient(180deg,#F3F6FB 0%,rgba(243,246,251,.96) 35%,rgba(243,246,251,.05) 80%); }
  .home-apple .home-photo-copy { width: 100%; padding-block: 48px; }
  .home-apple :is(.home-photo-copy,.home-report-copy) p { font-size: 16px; }
  .home-apple .home-proof-cards { grid-template-columns: 1fr; }
  .home-apple .home-proof { padding: 28px; }
  .home-apple .home-proof h3 { font-size: 24px; }
  .home-apple .home-report-layout { flex-direction: column-reverse; gap: 40px; }
  .home-apple .home-report-copy { text-align: center; }
  .home-apple .home-mobile-actions { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; position: fixed; z-index: 60; bottom: 0; left: 0; right: 0; transform: none; width: auto; border-radius: 0; border-width: 1px 0 0; box-shadow: none; padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background: rgba(243,246,251,.98); border-top: 1px solid #DCE3ED; }
  .home-apple .home-mobile-actions a { display: flex; align-items: center; justify-content: center; gap: 4px; white-space: nowrap; min-height: 48px; border-radius: 12px; background: #E3EAF5; color: #0E1F3C; font-size: 14px; font-weight: 700; }
  .home-apple .home-mobile-actions a:first-child { background: #0E1F3C; color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.home-apple) { scroll-behavior: auto; }
  .home-apple *, .home-apple *::before, .home-apple *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .home-apple.is-animated .home-intro { height: auto; }
  .home-apple.is-animated .home-sticky { position: static; }
  .home-apple .home-enter.is-pending { opacity: 1 !important; transform: none !important; }
}

/* 히어로 아래 바로가기 줄: 신청 알약 버튼 글자가 테두리에 붙고 줄 높이가 어긋나던 것 정리 */
.home-apple .home-original-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 28px; }
.home-apple .home-original-nav .pill { display: inline-flex; align-items: center; gap: 6px; padding: 10px 22px; line-height: 1; white-space: nowrap; }
/* 수강률 기준 설명: 왼쪽 아래 작게·흐리게(대비 4.6:1 이상 유지 — 표시광고 하한) */
.home-apple .home-growth { position: relative; }
.home-apple .home-growth .home-basis { position: absolute; left: 24px; bottom: 18px; margin: 0; font-size: 12px; color: #8A9BB8; text-align: left; }

/* home_v2 C: additive compact copy; A/B retain their original content/layout. */
.home-apple .home-c-only { display: none; }
.home-apple span.home-c-original { display: contents; }
.home-apple .stat span:is(.home-c-original,.home-c-only) { font: inherit; color: inherit; margin: 0; }
[data-ab-home="C"] .home-apple .home-c-only { display: block; }
[data-ab-home="C"] .home-apple :is(.home-c-original,.hero .sub,.hero .eyebrow,.hero .seat,.head > p:not(.home-c-only),.q .aa,.q .qn,.pm .pn,.home-proof > span,.lvn,.step p,#care .split,#course .note,#apply > .wrap > p:not(.sub-link),section:has(.letter)) { display: none; }
[data-ab-home="C"] .home-apple .home-c-icon { width: 44px; height: 44px; color: #1B3C72; flex: none; }
[data-ab-home="C"] .home-apple :is(.home-dark,.dark,.hero,.vow,.cta) .home-c-icon { color: #AFC6E8; }
[data-ab-home="C"] .home-apple .head > .home-c-icon { margin: 0 auto 14px; }
[data-ab-home="C"] .home-apple :is(.sec,.home-evidence) { padding-block: clamp(56px,7vw,96px); }
[data-ab-home="C"] .home-apple :is(.head h2,.stats h2) { margin-top: 0; font-size: clamp(28px,3.5vw,42px); line-height: 1.25; font-weight: 800; letter-spacing: -.04em; }
[data-ab-home="C"] .home-apple .stats { padding-block: 56px; background: var(--home-light); border: 0; }
[data-ab-home="C"] .home-apple .stats h2 { text-align: center; margin-bottom: 26px; }
[data-ab-home="C"] .home-apple .stats .wrap { gap: 12px; }
[data-ab-home="C"] .home-apple .stat { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 24px 12px; background: #fff; border: 0; border-radius: 18px; box-shadow: 0 4px 14px rgba(14,31,60,.06); }
[data-ab-home="C"] .home-apple .stat b { font-size: 15px; color: #0E1F3C; }
[data-ab-home="C"] .home-apple .stat > span { margin: 0; font-size: 12px; color: #66748A; }
[data-ab-home="C"] .home-apple .stat.fig b { display: flex; flex-direction: column-reverse; gap: 8px; }
[data-ab-home="C"] .home-apple .stat.fig .num { margin: 0; font-size: 40px; color: #1B3C72; }
[data-ab-home="C"] .home-apple :is(.home-proof-cards,.promise) { grid-template-columns: 1fr; max-width: 740px; margin: 24px auto 0; gap: 12px; }
[data-ab-home="C"] .home-apple :is(.home-proof,.pm) { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 3px 14px; align-items: center; background: #fff; border: 0; border-radius: 16px; padding: 18px 20px; box-shadow: 0 4px 14px rgba(14,31,60,.05); }
[data-ab-home="C"] .home-apple :is(.home-proof,.pm) .home-c-icon { width: 34px; height: 34px; grid-row: span 2; }
[data-ab-home="C"] .home-apple :is(.home-proof,.pm) h3 { font-size: 17px; margin: 0; }
[data-ab-home="C"] .home-apple :is(.home-proof,.pm) p.home-c-short { margin: 0; font-size: 14px; color: #66748A; }
[data-ab-home="C"] .home-apple #faq { background: var(--home-light); }
[data-ab-home="C"] .home-apple .qa { margin-top: 24px; }
[data-ab-home="C"] .home-apple .q { padding: 20px; border-radius: 16px; background: #fff; }
[data-ab-home="C"] .home-apple .q .qq { font-size: 16px; margin: 0 0 6px; }
[data-ab-home="C"] .home-apple .home-c-answer { font-size: 14px; color: #66748A; }
[data-ab-home="C"] .home-apple .levels { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 740px; margin: 24px auto 0; gap: 10px; }
[data-ab-home="C"] .home-apple .lv { padding: 24px 8px; text-align: center; border: 0; border-radius: 16px; }
[data-ab-home="C"] .home-apple .lv h3 { margin: 0; font-size: 17px; }
[data-ab-home="C"] .home-apple .lv .gauge { justify-content: center; gap: 3px; margin: 12px 0; }
[data-ab-home="C"] .home-apple .lv .gauge i { flex: none; width: 16px; height: 6px; background: #DCE3ED; }
[data-ab-home="C"] .home-apple .lv .gauge i.on { background: #1B3C72; }
[data-ab-home="C"] .home-apple .lv p { margin: 0; font-size: 13px; }
[data-ab-home="C"] .home-apple .home-c-note { margin-top: 12px; text-align: center; font-size: 12px; color: #66748A; }
[data-ab-home="C"] .home-apple .steps { grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 740px; gap: 0; margin: 28px auto 0; }
[data-ab-home="C"] .home-apple .steps::before { top: 22px; left: 12.5%; right: 12.5%; bottom: auto; width: auto; height: 2px; background: #AFC6E8; }
[data-ab-home="C"] .home-apple .step { display: block; padding: 0 4px; text-align: center; }
[data-ab-home="C"] .home-apple .step .num { width: 44px; height: 44px; margin: 0 auto; background: #0E1F3C; color: #fff; border: 0; font: 800 18px var(--font); }
[data-ab-home="C"] .home-apple .step h3 { margin-top: 8px; font-size: 14px; }
@media (max-width: 767px) {
  [data-ab-home="C"] .home-apple .stats .wrap { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-ab-home="C"] .home-apple :is(.home-proof,.pm) { padding: 14px 16px; }
  [data-ab-home="C"] .home-apple :is(.home-proof,.pm) h3 { font-size: 15px; }
  [data-ab-home="C"] .home-apple :is(.home-proof,.pm) p.home-c-short { font-size: 12.5px; }
  [data-ab-home="C"] .home-apple .lv h3 { font-size: 15px; }
  [data-ab-home="C"] .home-apple .step h3 { font-size: 12.5px; }
}
