/* =========================================================
   lp-theme.css : 경비지도사 랜딩 디자인 규격 (lec_randing01_test 전용)
   - style.css → lp-motion.css 다음에 로드. 모든 규칙은 .lp-theme 래퍼 하위
   - 헤더·푸터 include는 건드리지 않도록 본문 블록(섹션)에만 글꼴·크기 적용
   ========================================================= */

/* ===== 웹폰트 : Pretendard 추가 굵기 (400/700은 style.css에 있음) ===== */
@font-face {
  font-family:'Pretendard'; font-weight:500; font-display:swap;
  src:local('Pretendard Medium'),
      url('/randing/webfont/woff2-subset/Pretendard-Medium.subset.woff2') format('woff2'),
      url('/randing/webfont/woff-subset/Pretendard-Medium.subset.woff') format('woff');
}
@font-face {
  font-family:'Pretendard'; font-weight:600; font-display:swap;
  src:local('Pretendard SemiBold'),
      url('/randing/webfont/woff2-subset/Pretendard-SemiBold.subset.woff2') format('woff2'),
      url('/randing/webfont/woff-subset/Pretendard-SemiBold.subset.woff') format('woff');
}
@font-face {
  font-family:'Pretendard'; font-weight:800; font-display:swap;
  src:local('Pretendard ExtraBold'),
      url('/randing/webfont/woff2-subset/Pretendard-ExtraBold.subset.woff2') format('woff2'),
      url('/randing/webfont/woff-subset/Pretendard-ExtraBold.subset.woff') format('woff');
}
/* 사천항공체 : 섹션 대제목 전용 (Regular 한 굵기뿐이라 100~900 전체를 이 파일로 받아 가짜 볼드 합성을 막음)
   서버(IIS)가 .ttf는 보장되지 않아 OTF(716KB)로 연결 */
@font-face {
  font-family:'SacheonHangGong-web'; font-weight:100 900; font-display:swap;
  src:url('/randing/webfont/sacheon/SacheonHangGong-Regular.otf') format('opentype');
}

/* ===== 디자인 토큰 ===== */
.lp-theme {
  --c-navy:#17365D; --c-blue:#2563EB; --c-orange:#F97316; --c-orange-d:#EA580C;
  --c-text:#1F2937; --c-sub:#6B7280; --c-body:#4B5563; --c-table:#374151;
  --c-bg:#F5F8FC; --c-bg-blue:#EFF6FF; --c-cream:#FFF7ED; --c-line:#E5E7EB; --c-yellow:#FBBF24;
  --f-body:'Pretendard','NotoSans','맑은 고딕','Malgun Gothic','Apple SD Gothic Neo',sans-serif;
  --f-title:'SacheonHangGong-web','Pretendard','NotoSans','맑은 고딕','Malgun Gothic',sans-serif;
  --shadow-card:0 6px 24px rgba(23,54,93,.06);
  --shadow-card-hover:0 14px 34px rgba(23,54,93,.12);
  /* lp-motion 변수도 새 팔레트로 (lp-green = 어두운 배경 강조색 → 옐로) */
  --lp-navy:#17365D; --lp-blue:#2563EB; --lp-deep:#17365D;
  --lp-orange:#F97316; --lp-green:#FBBF24; --lp-sky:#EFF6FF;
}

/* ===== 본문 블록 공통 : 글꼴·기본 크기·색 ===== */
.lp-theme > :is(section, .lp-slogan, .lp-inline-form-wrap, .lp-csr),
.lp-theme > :is(section, .lp-slogan, .lp-inline-form-wrap, .lp-csr) * {
  font-family:var(--f-body); letter-spacing:-0.02em;
}
.lp-theme > :is(section, .lp-slogan, .lp-inline-form-wrap, .lp-csr) { font-size:17px; line-height:1.75; color:var(--c-text); word-break:keep-all; overflow-wrap:break-word; }   /* 한글 줄바꿈은 단어 단위 */
/* reset.css의 div/p{color:#222}만 무력화 (:where로 우선순위 0,1,0 유지 → 아래 개별 규칙이 항상 이김) */
.lp-theme > :where(section, .lp-slogan, .lp-inline-form-wrap, .lp-csr) :where(div, p, h1, h2, h3, h4, li, td, th, label, span, strong) { color:inherit; }
.lp-theme .lp-hand { font-family:'Nanum Pen Script','Pretendard',cursive; letter-spacing:0; }
.lp-theme .num { font-family:var(--f-body); font-weight:700; letter-spacing:-0.01em; }

/* ===== 섹션 레이아웃 : 상하 100px, 배경은 화면 전체 폭 ===== */
.lp-theme .lp-section { padding:100px 20px; }
.lp-theme .lp-section .lp-section { padding:0; }
.lp-theme .lp-section.lp-bg-light { --sec-bg:var(--c-bg); }
.lp-theme .lp-section.lp-bg-mid   { --sec-bg:var(--c-bg-blue); }
.lp-theme .lp-section.lp-bg-dark  { --sec-bg:var(--c-navy); }
.lp-theme .lp-section:is(.lp-bg-light, .lp-bg-mid, .lp-bg-dark) {
  background:var(--sec-bg); box-shadow:0 0 0 100vmax var(--sec-bg); clip-path:inset(0 -100vmax);
}

/* 섹션 제목(사천항공체, 로딩 전 Pretendard 800) + 보조 설명 */
.lp-theme .lp-section h2 {
  font-family:var(--f-title); font-size:40px; font-weight:800; line-height:1.35; letter-spacing:-0.03em;
  color:var(--c-navy); text-align:center; border:none; padding:0; margin:0 0 48px;
}
.lp-theme .lp-section h2 .tx-accent { color:var(--c-blue); }
.lp-theme .lp-section .sec-sub {
  font-size:19px; font-weight:400; line-height:1.6; color:var(--c-sub);
  text-align:center; margin:-32px 0 48px;   /* 제목과 16px, 콘텐츠와 48px */
}
.lp-theme .lp-section h3 { font-size:24px; font-weight:700; line-height:1.4; color:var(--c-navy); margin:0 0 16px; }
.lp-theme .lp-mark { --mk:rgba(37,99,235,.14); }

/* ===== ① 히어로 ===== */
/* 높이 : 문구 정리로 760 → 700. 사진 속 현수막 아랫선(사진 lec01_hero2 기준 히어로 높이의 약 32%) 아래에서 패널이 시작하도록 위 256px 고정,
   아래 96px은 하단 슬로건 띠 자리 */
.lp-theme .lp-hero--photo { min-height:700px; justify-content:flex-start; padding:256px 20px 96px; }
.lp-theme .lp-hero .lp-hero-glass { box-sizing:border-box; width:min(720px, 100%); padding:44px 56px 48px; }
.lp-theme .lp-hero .hero-title-group { font-weight:800; }
.lp-theme .lp-hero .hero-sm { font-size:32px; font-weight:700; line-height:1.35; margin:0; }
/* 제목(h1) 안에 넣은 윗줄 "국민내일배움카드로 만드는" : 화면은 별도 줄로 */
.lp-theme .lp-hero :is(h1, .hero-h1) .hero-sm { display:block; margin:0 0 6px; letter-spacing:-0.02em; }
.lp-theme .lp-hero :is(h1, .hero-h1) { font-size:var(--h1-pc, 64px); font-weight:800; line-height:1.25; letter-spacing:-0.03em; margin:6px 0; }
.lp-theme .lp-hero :is(h1, .hero-h1) .hl { color:var(--c-yellow); text-shadow:0 0 24px rgba(251,191,36,.35); }
/* 중간 히어로의 제목은 h2(.hero-h1) → style.css의 h1 기본값을 같이 맞춤 */
.lp-theme .lp-hero .hero-h1 { color:#fff !important; white-space:nowrap; text-shadow:0 6px 22px rgba(0,0,0,.28); }
/* "시작하라!" : 제목 위 강조 윗줄 */
.lp-theme .lp-hero .hero-kicker { margin:0 0 10px; padding-left:.2em; font-family:var(--f-title); font-size:68px; font-weight:400; line-height:1.1; letter-spacing:.2em; color:var(--c-yellow) !important; -webkit-text-stroke:2.4px var(--c-yellow); paint-order:stroke fill; text-shadow:0 0 26px rgba(251,191,36,.45), 0 4px 14px rgba(0,0,0,.25); }
/* 사천항공체는 Regular 한 굵기뿐 → 같은 색 윤곽선(text-stroke)으로 획을 두껍게 */
.lp-theme .lp-hero .hero-cta-wrap { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:10px; }
.lp-theme .lp-hero .hero-cta {
  --pulse:rgba(249,115,22,.55);
  display:inline-block; height:68px; padding:0 52px; border-radius:999px;
  background:var(--c-orange); color:#fff !important;
  font-size:22px; font-weight:700; line-height:68px;
}
.lp-theme .lp-hero .hero-cta:hover { background:var(--c-orange-d); }

/* 글래스 아래 한 줄 슬로건 : 반투명 알약 띠 + 주기적 빛 스윕
   흐름에 넣으면 패널이 위로 밀려 사진 속 현수막을 가리므로 히어로 하단에 고정 배치 */
.lp-theme .lp-hero > .hero-slogan {
  position:absolute; left:0; right:0; bottom:22px; z-index:2;
  width:max-content; max-width:calc(100% - 40px); margin:0 auto; overflow:hidden;
  padding:11px 30px; border-radius:999px;
  background:rgba(10,30,60,.55); border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(10,30,60,.25);
  font-size:20px; font-weight:700; line-height:1.4; color:#fff !important; white-space:nowrap;
}
.lp-theme .lp-hero > .hero-slogan .hl { color:var(--c-yellow); }
.lp-theme .lp-hero > .hero-slogan::after {
  content:''; position:absolute; top:0; left:0; width:30%; height:100%; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:translateX(-150%) skewX(-20deg);
}
.lp-motion.is-ready .lp-hero:not(.is-in) .hero-slogan { opacity:0; }
.lp-theme .lp-hero.is-in > .hero-slogan { animation:lp-up .8s var(--lp-ease) 1.6s backwards; }
.lp-theme .lp-hero.is-in > .hero-slogan::after { animation:lp-shine 4.5s ease-in-out 2.6s infinite; }

.lp-motion.is-ready .lp-hero:not(.is-in) .hero-kicker { opacity:0; }
.lp-theme .lp-hero.is-in .hero-kicker { animation:lp-pop-soft .6s var(--lp-ease) .05s backwards; }
.lp-theme .lp-hero.is-in .hero-title-group > .hero-sm { animation:lp-up .7s var(--lp-ease) .2s backwards; }
.lp-theme .lp-hero.is-in .hero-cta { animation:lp-up .7s var(--lp-ease) 1.1s backwards, lp-pulse 2.4s ease-out 2.2s infinite; }

/* ===== 슬로건 띠 ===== */
.lp-theme .lp-slogan { background:var(--c-navy); padding:28px 20px; font-size:22px; font-weight:700; line-height:1.5; }
.lp-theme .lp-slogan .hl { color:var(--c-yellow); }

/* ===== ② 6가지 혜택 : 깔끔한 흰 카드 ===== */
.lp-theme .lp-sec-benefit { padding:110px 20px; }
.lp-theme .lp-grid-6 { gap:24px; filter:none; }
.lp-theme .lp-grid-6 .lp-card {
  -webkit-mask:none; mask:none;
  background:#fff; border:none; border-radius:16px; box-shadow:var(--shadow-card);
  padding:32px; min-height:220px; text-align:left;
  transition:transform .3s var(--lp-ease), box-shadow .3s;
}
.lp-theme .lp-grid-6 .lp-card::after { display:none; }
.lp-theme .lp-grid-6 .lp-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-card-hover); }
.lp-theme .lp-grid-6 .lp-card .icon { margin:0 0 16px; }
/* 3D 아이콘 (Microsoft Fluent Emoji 3D, MIT — img/fluent3d/LICENSE.txt) */
.lp-theme .lp-3d {
  display:block; width:60px; height:60px; object-fit:contain;
  filter:drop-shadow(0 6px 10px rgba(23,54,93,.16));
  transition:transform .35s var(--lp-ease);
}
.lp-theme :is(.lp-card, .lp-feature-hex, .lp-mini-card, .lp-service-card, .lp-concern-card).is-in .lp-3d { animation:lp-pop .6s ease-out backwards; animation-delay:calc(var(--d,0s) + .3s); }
.lp-theme :is(.lp-card, .lp-feature-hex, .lp-mini-card, .lp-service-card, .lp-concern-card):hover .lp-3d { transform:translateY(-4px) rotate(-6deg); }
.lp-theme .lp-grid-6 .lp-card h3 { font-size:23px; font-weight:700; line-height:1.4; color:var(--c-navy); margin:0 0 6px; }
.lp-theme .lp-card .card-key { font-size:20px; font-weight:700; line-height:1.4; color:var(--c-blue); margin:0 0 10px; }
.lp-theme .lp-card .card-key strong { font-size:26px; font-weight:700; }
.lp-theme .lp-card .card-desc { font-size:16px; font-weight:400; line-height:1.65; color:var(--c-sub); margin:0; }

/* ===== ③ 무료 상담 · 개강반 신청 ===== */
@keyframes lp-glow-o {
  from { box-shadow:0 12px 40px rgba(23,54,93,.10), 0 0 0 0 rgba(249,115,22,0); }
  to   { box-shadow:0 12px 40px rgba(23,54,93,.10), 0 0 26px 2px rgba(249,115,22,.30); }
}
.lp-theme .lp-inline-form-wrap { background:var(--c-cream); padding:90px 20px; }
.lp-theme .lp-inline-form-inner { gap:56px; }
.lp-theme .lp-form-copy { color:var(--c-text); }
.lp-theme .lp-form-copy .fc-badge-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:20px; }
.lp-theme .lp-form-copy .fc-badge {
  margin:0; padding:6px 16px; border-radius:20px; background:var(--c-navy);
  font-size:15px; font-weight:600; color:#fff !important;
}
.lp-theme .lp-dday { margin:0; padding:6px 14px; background:var(--c-orange); color:#fff !important; font-size:15px; font-weight:700; }
.lp-theme .lp-dday::before { background:#fff; }
.lp-theme .lp-form-copy h3.fc-open {
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
  margin:0 0 16px; color:var(--c-navy) !important;
}
.lp-theme .lp-form-copy .fc-open-date { font-size:40px; font-weight:800; line-height:1.25; letter-spacing:-0.03em; }
.lp-theme .lp-form-copy .fc-status {
  display:inline-block; padding:6px 14px; border-radius:8px;
  background:#FFEDD5; color:var(--c-orange-d) !important; font-size:20px; font-weight:700; line-height:1.4;
}
.lp-theme .lp-form-copy .fc-desc { margin:0 0 24px; font-family:var(--f-title); font-size:28px; font-weight:400; line-height:1.4; letter-spacing:-0.01em; color:var(--c-navy); }
.lp-theme .lp-form-copy .fc-list li { font-size:17px; color:var(--c-text); margin-bottom:10px; }
.lp-theme .lp-form-copy .fc-list li::before { background:var(--c-blue); }
.lp-theme .lp-form-copy .fc-note { font-size:16px; color:var(--c-sub); border-top:1px solid #FED7AA; padding-top:16px; }
.lp-theme .lp-form-copy .fc-note .lp-ico { color:var(--c-sub); }
.lp-theme .lp-form-copy .fc-tel { font-size:24px; font-weight:800; color:var(--c-navy) !important; margin-bottom:4px; }

.lp-theme .lp-form-card {
  background:#fff; border:1px solid #FED7AA; border-radius:20px; padding:32px;
  box-shadow:0 12px 40px rgba(23,54,93,.10);
}
.lp-theme .lp-form-card.is-in { animation:lp-up .8s var(--lp-ease) var(--d,0s) backwards, lp-glow-o 1.8s ease-in-out 1s infinite alternate; }
.lp-theme .lp-form-card .fc-title {
  font-size:24px; font-weight:700; line-height:1.4; color:var(--c-navy);
  margin:0 0 24px; padding-bottom:18px; border-bottom:1px solid #F3F4F6;
}
.lp-theme .lp-form-card .fc-title-sub { display:block; margin-top:4px; font-size:16px; font-weight:600; color:var(--c-orange-d) !important; }
.lp-theme .lp-form-field { margin-bottom:18px; }
.lp-theme .lp-form-field label { font-size:15px; font-weight:600; color:var(--c-table); margin-bottom:8px; }
.lp-theme .lp-form-field label .req { color:var(--c-orange-d); }
.lp-theme .lp-form-field input {
  height:56px !important; line-height:56px !important; padding:0 16px !important;
  border:1px solid #D1D5DB !important; border-radius:10px !important;
  font-size:17px !important; font-weight:400; color:var(--c-text) !important; background:#fff !important;
  transition:border-color .2s, box-shadow .2s;
}
/* 자격증 선택 칸 (통합 랜딩 lec_other) */
.lp-theme .lp-form-field .lp-form-select {
  height:56px; padding:0 14px; border:1px solid #D1D5DB; border-radius:10px;
  font-size:17px; color:var(--c-text); background-color:#fff; cursor:pointer;
}
.lp-theme .lp-form-field .lp-form-select:focus { border-color:var(--c-blue); box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.lp-theme .lp-form-field input:focus { border-color:var(--c-blue) !important; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.lp-theme .lp-form-field input::placeholder { color:#9CA3AF; }
.lp-theme .lp-phone-row .prefix {
  height:56px; padding:0 16px; border:1px solid #D1D5DB; border-radius:10px;
  background:#F9FAFB; font-size:17px; font-weight:700; color:var(--c-text);
}
.lp-theme .lp-phone-row span { color:#9CA3AF; }
.lp-theme .lp-form-agree-row { font-size:15px; color:var(--c-sub); margin-bottom:22px; }
.lp-theme .lp-form-agree-row input[type=checkbox] { width:18px; height:18px; accent-color:var(--c-blue); }
.lp-theme .lp-form-agree-row a { color:var(--c-blue); }
.lp-theme .lp-form-card .ic-submit {
  height:64px; padding:0; border-radius:12px; background:var(--c-orange);
  font-size:20px; font-weight:700; letter-spacing:0;
}
.lp-theme .lp-form-card .ic-submit:hover { background:var(--c-orange-d); }
.lp-theme .lp-form-result { background:var(--c-bg-blue); border-color:var(--c-blue); color:var(--c-navy); }

/* ===== 학습서비스 3종 ===== */
.lp-theme .lp-grid-3 { gap:24px; }
.lp-theme .lp-service-card {
  background:#fff; border:1px solid #EEF2F7; border-radius:16px; box-shadow:var(--shadow-card);
  padding:40px 32px;
}
.lp-theme .lp-service-card:hover { box-shadow:var(--shadow-card-hover); }
.lp-theme .lp-ico-badge--navy {
  width:72px; height:72px; font-size:32px;
  background:linear-gradient(135deg,#3B82F6,var(--c-blue)); box-shadow:0 8px 18px rgba(37,99,235,.25);
}
.lp-theme .lp-service-card .svc-icon .lp-3d { width:80px; height:80px; margin:0 auto; }
.lp-theme .lp-service-card h3 { font-size:24px; font-weight:700; color:var(--c-navy); margin:0 0 8px; }
.lp-theme .lp-service-card p { font-size:17px; line-height:1.65; color:var(--c-sub); }
.lp-theme .lp-service-card p strong { color:var(--c-blue); font-weight:700; }

/* ===== 커리큘럼 · 강점 ===== */
.lp-theme .lp-strength-box {
  background:#fff; border-left:4px solid var(--c-blue); border-radius:0 16px 16px 0;
  box-shadow:var(--shadow-card); padding:32px 36px; margin-bottom:24px;
}
.lp-theme .lp-strength-box h3 { margin:0 0 12px; }
.lp-theme .lp-strength-box h3 .tx-accent { color:var(--c-blue); }
/* 하나! 둘! 셋! : 섹션이 나뉘어도 순서를 바로 찾도록 오렌지로 (뒤의 블루 강조 문구와 구분)
   흰 배경 대비를 위해 CTA 오렌지보다 한 단계 진한 #EA580C 사용 */
.lp-theme .lp-strength-box h3 .step-label { color:var(--c-orange-d); font-weight:800; }
.lp-theme .lp-strength-box ul li { font-size:17px; line-height:1.85; color:var(--c-body); }
.lp-theme .lp-strength-box--plain { background:none; border:none; box-shadow:none; padding:0; margin:-24px 0 32px; text-align:center; }
.lp-theme .lp-strength-box--plain h3 { margin:0; }
.lp-theme .lp-steps { gap:6px; }
.lp-theme .lp-strength-box .lp-steps { margin-top:20px; }   /* 하나! 박스 안의 단계 */
.lp-theme .lp-step { background:var(--c-navy); padding:26px 14px; }
.lp-theme .lp-step:nth-child(1) { background:linear-gradient(135deg, #4A8BF5, #3B7CF0); }
.lp-theme .lp-step:nth-child(2) { background:linear-gradient(135deg, #3B7CF0, #2E6BE8); }
.lp-theme .lp-step:nth-child(3) { background:linear-gradient(135deg, #2E6BE8, #2559D6); }
.lp-theme .lp-step:nth-child(4) { background:linear-gradient(135deg, #2559D6, #1E47AE); }
.lp-theme .lp-step:nth-child(5) { background:linear-gradient(135deg, #1E47AE, #17365D); }
.lp-theme .lp-step .step-num  { font-size:15px; font-weight:700; letter-spacing:.04em; opacity:.75; }
.lp-theme .lp-step .step-name { font-size:20px; font-weight:700; margin-top:2px; }
.lp-theme .lp-step .step-desc { font-size:15px; line-height:1.5; margin-top:6px; }
.lp-theme .lp-mini-grid { gap:24px; margin-top:20px; }
.lp-theme .lp-mini-card { background:var(--c-bg-blue); border-radius:14px; padding:24px; font-size:17px; font-weight:700; line-height:1.5; color:var(--c-navy); }
.lp-theme .lp-mini-card .lp-ico { color:var(--c-blue); }
.lp-theme .lp-mini-card .lp-3d { width:64px; height:64px; margin:0 auto 12px; }

/* ===== ⑤ 수강생 후기 ===== */
.lp-theme .lp-sec-review .lp-grid-2 { gap:24px; }
.lp-theme .lp-review-card {
  background:#fff; border:none; border-radius:16px; box-shadow:var(--shadow-card); padding:36px;
  display:flex; flex-direction:column;
}
.lp-theme .lp-review-card::before { display:none; }
.lp-theme .lp-review-card .rv-key {
  margin:0 0 14px; font-size:23px; font-weight:700; line-height:1.5; color:var(--c-text);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.lp-theme .lp-review-card .review-text { padding:0; font-size:17px; line-height:1.75; color:var(--c-body); }

/* ===== ⑥ 시험안내 · 합격기준 ===== */
.lp-theme .lp-sec-exam h3 { display:flex; align-items:center; gap:10px; font-size:22px; margin:44px 0 14px; }
.lp-theme .lp-sec-exam h3::before { content:''; flex-shrink:0; width:4px; height:20px; border-radius:2px; background:var(--c-blue); }
.lp-theme .lp-sec-exam h2 + h3 { margin-top:0; }
.lp-theme .lp-sec-exam > p { margin:0; font-size:17px; color:var(--c-body); }
.lp-theme .lp-exam-wrap { border:1px solid var(--c-line); border-radius:14px; overflow:hidden; }
.lp-theme .lp-table { margin:0; border-collapse:collapse; }
.lp-theme .lp-table th {
  background:var(--c-navy); color:#fff !important; height:60px; padding:16px;
  font-size:17px; font-weight:700; border-left:1px solid rgba(255,255,255,.12);
}
.lp-theme .lp-table td {
  height:62px; padding:18px 16px; font-size:16px; font-weight:400; line-height:1.65; color:var(--c-table);
  border:0; border-bottom:1px solid var(--c-line); border-left:1px solid var(--c-line);
}
.lp-theme .lp-table :is(th, td):first-child { border-left:0; }
.lp-theme .lp-table tbody tr:last-child td { border-bottom:0; }
.lp-theme .lp-table tbody tr:nth-child(even) { background:none; }
.lp-theme .lp-table td strong { color:var(--c-navy); font-weight:700; }
.lp-theme .lp-info-box { margin-top:0; padding:28px 32px; border:none; border-radius:16px; background:var(--c-bg-blue); }
.lp-theme .lp-info-box .pass-main { margin:0; font-size:22px; font-weight:700; line-height:1.5; color:var(--c-blue); }
.lp-theme .lp-info-box .pass-note { margin:8px 0 0; font-size:15px; line-height:1.6; color:var(--c-sub); }

/* ===== 다크 섹션 (한번 수강으로 단 한번에 합격!) ===== */
.lp-theme .lp-bg-dark h2 { color:#fff !important; }
.lp-theme .lp-bg-dark .sec-sub { color:#E2E8F0 !important; font-size:19px; line-height:1.75; }
.lp-theme .lp-bg-dark .sec-sub strong { color:#fff !important; font-weight:700; }
.lp-theme .lp-bg-dark .sec-kicker { margin:0 0 10px; text-align:center; font-size:24px; font-weight:700; line-height:1.5; color:#E2E8F0 !important; }
.lp-theme .lp-bg-dark .sec-kicker + h2 { margin-bottom:32px; }
.lp-theme .feat-chips { list-style:none; padding:0; margin:0 auto 48px; display:flex; flex-direction:column; align-items:center; gap:12px; }
.lp-theme .feat-chips li {
  display:inline-flex; align-items:center; gap:10px; padding:12px 26px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  font-size:18px; line-height:1.5; color:#E2E8F0 !important;
}
.lp-theme .feat-chips li .lp-ico { flex-shrink:0; font-size:20px; color:var(--c-yellow); }
.lp-theme .feat-chips li strong { color:var(--c-yellow) !important; font-weight:700; }
.lp-theme .lp-feature-row { gap:24px; margin-top:0; }
.lp-theme .lp-feature-row--key { margin-bottom:24px; }
.lp-theme .lp-feature-row--key .lp-feature-hex h4 { color:var(--c-yellow) !important; }
.lp-theme .lp-feature-hex {
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:16px;
  padding:30px 24px; max-width:280px;
}
.lp-theme .lp-feature-hex .lp-3d { width:56px; height:56px; margin:0 auto 14px; filter:drop-shadow(0 6px 12px rgba(0,0,0,.3)); }
.lp-theme .lp-feature-hex h4 { font-size:20px; font-weight:700; line-height:1.4; margin:0 0 10px; }
.lp-theme .lp-feature-hex p { font-size:16px; line-height:1.6; opacity:.8; }

/* ===== ⑦ 교수진 ===== */
.lp-theme .lp-sec-prof .lp-grid-2 { gap:24px; grid-template-columns:repeat(2, minmax(0, 400px)); justify-content:center; }   /* 카드가 화면을 가득 채우지 않게 */
.lp-theme .lp-sec-prof .lp-grid-2.prof-n1 { grid-template-columns:minmax(0, 400px); }   /* 교수 1명 */
.lp-theme .lp-professor--empty .prof-name { font-size:20px; color:var(--c-sub); }
.lp-theme .lp-professor { background:#fff; border-radius:16px; box-shadow:var(--shadow-card); padding:28px 28px 32px; }
.lp-theme .lp-professor .prof-photo {
  width:236px; height:270px; max-width:100%; margin:0 auto 24px; border-radius:12px; overflow:hidden;   /* 높이 270, 가로는 7:8 비율 유지 */
  display:flex; align-items:center; justify-content:center;
  background:var(--c-bg-blue); color:var(--c-blue); font-size:72px;
}
.lp-theme .lp-professor .prof-photo { position:relative; }
.lp-theme .lp-professor .prof-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
/* 사진별 보정 : 머리 폭·윗선·얼굴 중앙을 두 사진 동일하게 (틀 기준 %, 실측값으로 계산 → 틀 크기가 바뀌어도 유지) */
.lp-theme .lp-professor .prof-photo--fit img { position:absolute; max-width:none; height:auto; object-fit:fill; }
.lp-theme .lp-professor .prof-photo--choi img { width:112.7%; left:-5.1%; top:6.9%; }   /* 원본 479×724, 머리 폭 170 · 윗선 18 · 중심 x234 */
.lp-theme .lp-professor .prof-photo--lee img  { width:100.6%; left:-0.2%; top:-5.1%; }  /* 원본 503×720, 머리 폭 200 · 윗선 90 · 중심 x251 */
.lp-theme .lp-professor .prof-subject { background:none; padding:0; margin:0 0 4px; font-size:18px; font-weight:600; color:var(--c-blue); }
.lp-theme .lp-professor .prof-name { margin:0 0 6px; font-size:28px; font-weight:800; line-height:1.3; color:var(--c-navy); }
.lp-theme .lp-professor .prof-headline { margin:0 0 4px; font-size:18px; font-weight:600; line-height:1.5; color:var(--c-text); }
.lp-theme .lp-professor .prof-career {
  margin-top:16px; padding-top:16px; border-top:1px solid var(--c-line);
  font-size:16px; font-weight:400; line-height:1.85; color:var(--c-body); text-align:left;
}

/* ===== 중간 CTA 띠 ===== */
.lp-theme .lp-mid-cta {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px 32px;
  padding:44px 20px; background:var(--c-navy); text-align:center;
}
.lp-theme .lp-mid-cta .mid-cta-text { margin:0; font-size:22px; font-weight:700; line-height:1.5; color:#fff; }
.lp-theme .lp-mid-cta .mid-cta-text .hl { color:var(--c-yellow); }
.lp-theme .lp-mid-cta .mid-cta-btn {
  display:inline-flex; align-items:center; height:56px; padding:0 32px; border-radius:999px;
  background:var(--c-orange); color:#fff !important; font-size:18px; font-weight:700; text-decoration:none;
  transition:background .2s, transform .2s;
}
.lp-theme .lp-mid-cta .mid-cta-btn:hover { background:var(--c-orange-d); transform:translateY(-2px); }

/* ===== ⑧ 강의 오리엔테이션 ===== */
.lp-theme .lp-yt-section .yt-wrap {
  max-width:900px; margin:0 auto; height:auto; padding-bottom:0; aspect-ratio:16 / 9;
  border-radius:16px; box-shadow:0 16px 40px rgba(23,54,93,.14);
}

/* 오리엔테이션 영상이 없을 때 자리 */
.lp-theme .yt-wrap.yt-placeholder {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  background:linear-gradient(135deg, var(--c-bg-blue), #DBEAFE);
}
.lp-theme .yt-placeholder .yt-ph-play {
  position:relative; width:72px; height:72px; border-radius:50%; background:var(--c-blue);
  box-shadow:0 10px 24px rgba(37,99,235,.3);
}
.lp-theme .yt-placeholder .yt-ph-play::after {
  content:''; position:absolute; top:50%; left:54%; transform:translate(-50%, -50%);
  border-style:solid; border-width:13px 0 13px 21px; border-color:transparent transparent transparent #fff;
}
.lp-theme .yt-placeholder .yt-ph-text { margin:0; font-size:18px; font-weight:600; color:var(--c-navy); }

/* ===== 망설임 해소 ===== */
.lp-theme .lp-concerns-list { box-sizing:border-box; max-width:820px; margin:0 auto; }
.lp-theme .lp-concerns-list li {
  background:#fff; border:none; border-radius:14px; box-shadow:var(--shadow-card);
  padding:20px 24px; margin-bottom:12px; gap:16px; font-size:18px; font-weight:500; color:var(--c-text);
}
.lp-theme .lp-concerns-list li .ci { color:var(--c-blue) !important; }
/* 고민 카드 2×2 */
@keyframes lp-bounce { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(8px); } }
.lp-theme .lp-concern-grid { box-sizing:border-box; display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; max-width:820px; margin:0 auto; }
.lp-theme .lp-concern-card {
  position:relative; display:flex; flex-direction:column; gap:14px; min-height:176px;
  padding:26px 28px; border-radius:16px; background:#fff; box-shadow:var(--shadow-card);
  transition:transform .3s var(--lp-ease), box-shadow .3s;
}
.lp-theme .lp-concern-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.lp-theme .lp-concern-card .cc-label {
  align-self:flex-start; padding:4px 12px; border-radius:999px;
  background:var(--c-bg-blue); color:var(--c-blue) !important; font-size:14px; font-weight:700; letter-spacing:.04em;
}
.lp-theme .lp-concern-card .lp-3d { position:absolute; top:20px; right:22px; width:64px; height:64px; }
.lp-theme .lp-concern-card p { margin:auto 0 0; font-size:19px; font-weight:700; line-height:1.5; color:var(--c-text); }
.lp-theme .lp-concern-arrow { display:flex; justify-content:center; margin:18px 0 2px; font-size:40px; color:var(--c-blue); }
.lp-theme .lp-concern-arrow .lp-ico { stroke-width:2.5; }
.lp-theme .lp-concern-arrow.is-in { animation:lp-pop-soft .6s var(--lp-ease) backwards, lp-bounce 1.6s ease-in-out .8s infinite; }
.lp-theme .lp-concern-arrow + .lp-answer { margin-top:4px; }
.lp-theme .lp-answer { box-sizing:border-box; max-width:820px; margin:32px auto 0; padding:36px; border-radius:16px; background:var(--c-navy); }
.lp-theme .lp-answer .ans-highlight { font-size:28px; font-weight:800; line-height:1.4; }
.lp-theme .lp-answer .ans-sub { margin-top:10px; font-size:17px; color:#E2E8F0 !important; opacity:1; }

/* ===== ⑨ 국민내일배움카드 지원대상 ===== */
.lp-theme .lp-grid-9 { gap:20px; }
.lp-theme .lp-badge {
  display:flex; align-items:center; gap:12px; text-align:left;
  background:#fff; border:none; border-radius:14px; box-shadow:var(--shadow-card);
  padding:24px 28px; font-size:21px; font-weight:700; line-height:1.4; color:var(--c-navy);
}
.lp-theme .lp-badge .lp-ico { flex-shrink:0; font-size:26px; color:var(--c-blue); }
.lp-theme .lp-sec-target .target-note { margin:20px 0 0; font-size:14px; font-weight:400; color:var(--c-sub); text-align:center; }
.lp-theme .lp-contact-row { gap:24px; margin-top:48px; }
.lp-theme .lp-contact-box { background:var(--c-navy); border-radius:16px; padding:28px; }
.lp-theme .lp-contact-box .ct-label { font-size:16px; opacity:.8; margin-bottom:6px; }
.lp-theme .lp-contact-box .ct-num { font-size:32px; font-weight:800; letter-spacing:0; }

/* ===== ⑩ 최하단 상담 유도 ===== */
.lp-theme .lp-final-cta { background:var(--c-navy); padding:100px 20px; }
.lp-theme .lp-final-cta .fcta-kicker { margin:0 0 14px; font-size:26px; font-weight:700; line-height:1.4; color:var(--c-yellow) !important; }
.lp-theme .lp-final-cta h2 {
  font-family:var(--f-title); font-size:44px; font-weight:800; line-height:1.35; letter-spacing:-0.03em;
  color:#fff; margin:0 0 36px;
}
.lp-theme .lp-final-cta h2 .hl-y { color:var(--c-yellow); }
.lp-theme .lp-final-cta .fcta-desc { margin:0 0 40px; font-size:19px; font-weight:400; color:#E2E8F0 !important; opacity:1 !important; }
.lp-theme .lp-final-cta .lp-cta-btn {
  --pulse:rgba(249,115,22,.55);
  height:64px; padding:0 48px; border-radius:999px; line-height:64px;
  background:var(--c-orange); font-size:20px; font-weight:700;
}
.lp-theme .lp-final-cta .lp-cta-btn:hover { background:var(--c-orange-d); }
.lp-theme .lp-final-cta .lp-fx-confetti { display:none; }   /* 컨페티는 다크 섹션에만 */

/* ===== 반응형 =====
   PC   : 1281px 이상 (위 기본 규격 그대로)
   태블릿 : 769 ~ 1280px  → 카드 2열, 상담폼 1열, 글자·여백 한 단계 축소
   모바일 : 768px 이하    → 카드 1열(지원대상만 2열), 글자·여백 두 단계 축소 */
@media (max-width:1280px) {
  .lp-theme .lp-section, .lp-theme .lp-sec-benefit { padding:80px 32px; }
  .lp-theme .lp-section .lp-section { padding:0; }
  .lp-theme .lp-section h2 { font-size:34px; margin-bottom:40px; }
  .lp-theme .lp-section .sec-sub { font-size:18px; margin:-26px 0 40px; }
  .lp-theme .lp-section h3 { font-size:22px; }

  /* 히어로 */
  .lp-theme .lp-hero .lp-hero-glass { width:min(680px, 100%); padding:40px 48px 44px; }
  .lp-theme .lp-hero .hero-kicker { font-size:56px; letter-spacing:.18em; padding-left:.18em; -webkit-text-stroke-width:2px; }
  .lp-theme .lp-hero .hero-sm { font-size:28px; }
  .lp-theme .lp-hero :is(h1, .hero-h1) { font-size:var(--h1-tb, 56px); }
  .lp-theme .lp-hero > .hero-slogan { font-size:18px; padding:10px 26px; }

  /* 6가지 혜택 : 2열 */
  .lp-theme .lp-grid-6 { grid-template-columns:repeat(2, 1fr); gap:20px; }
  .lp-theme .lp-grid-6 .lp-card { min-height:0; padding:28px; }

  /* 상담폼 : 1열, 가운데 정렬 */
  .lp-theme .lp-inline-form-wrap { padding:80px 32px; }
  .lp-theme .lp-inline-form-inner { grid-template-columns:1fr; gap:40px; max-width:640px; }
  .lp-theme .lp-form-copy { text-align:center; }
  .lp-theme .lp-form-copy .fc-badge-row { justify-content:center; }
  .lp-theme .lp-form-copy h3.fc-open { align-items:center; }
  .lp-theme .lp-form-copy .fc-open-date { font-size:36px; }
  .lp-theme .lp-form-copy .fc-desc { font-size:25px; }
  .lp-theme .lp-form-copy .fc-list { display:inline-block; text-align:left; }
  .lp-theme .lp-form-copy .fc-list li { justify-content:flex-start; }

  /* 학습서비스 · 강점 · 후기 · 교수진 */
  .lp-theme .lp-grid-3 { gap:20px; }
  .lp-theme .lp-service-card { padding:32px 20px; }
  .lp-theme .lp-service-card .svc-icon .lp-3d { width:80px; height:80px; margin:0 auto; }
.lp-theme .lp-service-card h3 { font-size:21px; }
  .lp-theme .lp-strength-box { padding:28px; }
  .lp-theme .lp-mini-grid { gap:16px; }
  .lp-theme .lp-review-card { padding:30px; }
  .lp-theme .lp-review-card .rv-key { font-size:21px; }
  .lp-theme .lp-professor .prof-name { font-size:26px; }
  .lp-theme .lp-step .step-name { font-size:18px; }
  .lp-theme .lp-step .step-desc { font-size:14px; }

  /* 지원대상 · 하단 */
  .lp-theme .lp-badge { font-size:18px; padding:20px; gap:10px; }
  .lp-theme .lp-badge .lp-ico { font-size:22px; }
  .lp-theme .lp-contact-box .ct-num { font-size:28px; }
  .lp-theme .lp-final-cta { padding:88px 32px; }
  .lp-theme .lp-final-cta h2 { font-size:38px; }
  .lp-theme .lp-final-cta .fcta-kicker { font-size:23px; }
}
@media (max-width:768px) {
  .lp-theme .lp-section .lp-section { padding:0; }
  .lp-theme .lp-section h3 { font-size:20px; }
  .lp-theme .lp-sec-exam h3 { font-size:19px; margin-top:32px; }
  .lp-theme .lp-grid-6 { grid-template-columns:1fr; gap:16px; }
  .lp-theme .lp-grid-6 .lp-card { padding:24px; }
  .lp-theme .lp-grid-6 .lp-card h3 { font-size:20px; }
  .lp-theme .lp-card .card-key { font-size:18px; }
  .lp-theme .lp-card .card-key strong { font-size:22px; }
  .lp-theme .lp-inline-form-inner { gap:32px; }
  .lp-theme .lp-form-copy .fc-tel { font-size:21px; }
  .lp-theme .lp-form-copy .fc-desc { font-size:22px; }
  .lp-theme .lp-bg-dark .sec-kicker { font-size:19px; }
  .lp-theme .feat-chips li { font-size:15px; padding:10px 16px; border-radius:16px; align-items:flex-start; text-align:left; }
  .lp-theme .feat-chips li .lp-ico { margin-top:3px; }
  .lp-theme .lp-form-card .ic-submit { height:58px; font-size:18px; }
  .lp-theme .lp-grid-3, .lp-theme .lp-mini-grid { gap:14px; }
  .lp-theme .lp-service-card { padding:28px 20px; }
  .lp-theme .lp-strength-box { padding:24px 20px; }
  .lp-theme .lp-strength-box h3 { font-size:19px; }
  .lp-theme .lp-strength-box ul li { font-size:16px; }
  .lp-theme .lp-strength-box--plain { margin:-16px 0 24px; }
  .lp-theme .lp-review-card { padding:24px; }
  .lp-theme .lp-review-card .rv-key { font-size:19px; }
  .lp-theme .lp-review-card .review-text { font-size:16px; }
  .lp-theme .lp-info-box { padding:22px 20px; }
  .lp-theme .lp-info-box .pass-main { font-size:18px; }
  .lp-theme .lp-bg-dark .sec-sub { font-size:16px; }
  .lp-theme .lp-feature-hex { box-sizing:border-box; max-width:none; width:100%; }
  /* 히어로 : 사진 높이에 따라 현수막 아랫선이 히어로 높이의 약 31% 지점 → 패널이 그 아래에서 시작하도록 */
  .lp-theme .lp-hero--photo { min-height:600px; padding:228px 16px 24px; }
  .lp-theme .lp-professor { padding:24px 20px 28px; }
  .lp-theme .lp-professor .prof-name { font-size:24px; }
  .lp-theme .lp-mid-cta { padding:36px 16px; }
  .lp-theme .lp-mid-cta .mid-cta-btn { height:52px; font-size:16px; }
  .lp-theme .lp-concerns-list li { font-size:16px; padding:16px 18px; }
  .lp-theme .lp-answer { padding:28px 20px; }
  .lp-theme .lp-concern-grid { gap:12px; }
  .lp-theme .lp-concern-card { min-height:150px; padding:16px 14px; gap:10px; border-radius:14px; }
  .lp-theme .lp-concern-card .cc-label { font-size:12px; padding:3px 9px; }
  .lp-theme .lp-concern-card .lp-3d { top:12px; right:12px; width:42px; height:42px; }
  .lp-theme .lp-concern-card p { font-size:15px; }
  .lp-theme .lp-answer .ans-highlight { font-size:22px; }
  .lp-theme .lp-grid-9 { grid-template-columns:repeat(2, 1fr); gap:12px; }
  .lp-theme .lp-badge { font-size:16px; padding:14px 14px; gap:8px; border-radius:12px; }
  .lp-theme .lp-badge .lp-ico { font-size:20px; }
  .lp-theme .lp-contact-row { margin-top:32px; gap:12px; }
  .lp-theme .lp-contact-box .ct-num { font-size:26px; }
  .lp-theme .lp-final-cta .fcta-desc { font-size:17px; margin-bottom:32px; }
  .lp-theme .lp-final-cta .lp-cta-btn { height:58px; line-height:58px; padding:0 32px; font-size:18px; }
  .lp-theme .lp-section, .lp-theme .lp-sec-benefit { padding:64px 16px; }
  .lp-theme .lp-section h2 { font-size:28px; margin-bottom:32px; }
  .lp-theme .lp-section .sec-sub { font-size:17px; margin:-20px 0 32px; }
  .lp-theme .lp-hero .lp-hero-glass { width:100%; padding:28px 22px 30px; }
  .lp-theme .lp-hero .hero-kicker { font-size:44px; margin-bottom:6px; letter-spacing:.14em; padding-left:.14em; -webkit-text-stroke-width:1.6px; }
  .lp-theme .lp-hero .hero-sm { font-size:20px; }
  .lp-theme .lp-hero :is(h1, .hero-h1) { font-size:38px; white-space:normal; }
  .lp-theme .lp-hero .hero-desc { font-size:16px; }
  .lp-theme .lp-hero .hero-cta { height:56px; line-height:56px; padding:0 28px; font-size:17px; }
  .lp-theme .lp-hero > .hero-slogan { position:relative; bottom:auto; margin-top:4px; padding:10px 20px; font-size:15px; white-space:normal; border-radius:16px; text-align:center; }
  .lp-theme .lp-slogan { font-size:18px; }
  .lp-theme .lp-inline-form-wrap { padding:64px 16px; }
  .lp-theme .lp-form-copy .fc-open-date { font-size:30px; }
  .lp-theme .lp-form-copy h3.fc-open { align-items:center; }
  .lp-theme .lp-form-copy .fc-badge-row { justify-content:center; }
  .lp-theme .lp-form-card { padding:24px 20px; }
  .lp-theme .lp-final-cta { padding:72px 16px; }
  .lp-theme .lp-final-cta h2 { font-size:30px; }
  .lp-theme .lp-final-cta .fcta-kicker { font-size:20px; }
  .lp-theme .lp-mid-cta .mid-cta-text { font-size:18px; }
  .lp-theme .lp-sec-prof .lp-grid-2 { grid-template-columns:minmax(0, 400px); }
  .lp-theme .lp-badge { font-size:18px; padding:18px 20px; }
}

/* ===== 태블릿·모바일(≤1280) 히어로 사진 =====
   높이에 맞춰 cover 하면 현수막 좌우 글자가 화면 밖으로 잘림 → 사진을 폭 기준(150%)으로 놓아 현수막 전체가 보이게.
   사진(1858×846) 속 현수막 : 가로 22.9~80.7%, 아래끝 31.9% / 가운데 51.8% → 위치 55.4%면 현수막이 화면 가운데.
   사진 높이 = 폭×150%×846/1858 = 폭의 68.3%, 현수막 아래끝 = 폭의 21.8% → 유리 패널 윗 여백(% = 폭 기준).
   사진이 끝나는 아래쪽은 배경 남색으로 자연스럽게 이어지게 페이드. 좌우 어둡게 처리는 현수막을 가려서 뺌.
   PC(≥1281)는 높이 700 cover에서도 현수막이 화면 안이라 그대로 둠 */
.lp-theme .lp-hero :is(h1, .hero-h1) .hl { white-space:nowrap; }   /* 과목명이 길어 줄바꿈될 때 '합격!'이 '합 / 격!'으로 갈라지지 않게 */
@media (max-width:1280px) {
  .lp-theme .lp-hero--photo {
    min-height:0;
    padding-top:calc(21.8% + 18px);
    background:
      linear-gradient(180deg, rgba(26,84,144,0) 0%, rgba(26,84,144,0) 50%, #1a5490 100%) 0 0 / 100% 68.3vw no-repeat,
      linear-gradient(180deg, rgba(10,42,94,.30) 0%, rgba(10,42,94,0) 35%) 0 0 / 100% 68.3vw no-repeat,
      #1a5490 url('img/lec01_hero2.jpg') 55.4% 0 / 150% auto no-repeat;
  }
}