﻿/* ===== 웹폰트: NotoSans (최우선) ===== */
@font-face {
  font-family: 'NotoSans';
  font-weight: 400;
  font-display: swap;
  src: local('Noto Sans KR'),
       url('/randing/webfont/woff2/NotoSans-Regular.woff2') format('woff2'),
       url('/randing/webfont/woff/NotoSans-Regular.woff') format('woff');
}
@font-face {
  font-family: 'NotoSans';
  font-weight: 700;
  font-display: swap;
  src: local('Noto Sans KR Bold'),
       url('/randing/webfont/woff2/NotoSans-Bold.woff2') format('woff2'),
       url('/randing/webfont/woff/NotoSans-Bold.woff') format('woff');
}

/* ===== 웹폰트: Pretendard (보조) ===== */
@font-face {
  font-family: 'Pretendard';
  font-weight: 400;
  font-display: swap;
  src: local('Pretendard Regular'),
       url('/randing/webfont/woff2-subset/Pretendard-Regular.subset.woff2') format('woff2'),
       url('/randing/webfont/woff-subset/Pretendard-Regular.subset.woff') format('woff');
}
@font-face {
  font-family: 'Pretendard';
  font-weight: 700;
  font-display: swap;
  src: local('Pretendard Bold'),
       url('/randing/webfont/woff2-subset/Pretendard-Bold.subset.woff2') format('woff2'),
       url('/randing/webfont/woff-subset/Pretendard-Bold.subset.woff') format('woff');
}

/* ===== 스크롤 ===== */
html { scroll-behavior:smooth; }

/* ===== 가로 오버플로우 방지 (display:table 오버라이드) ===== */
.lp-wrap {
  display: block !important;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* ===== 공통 (모바일 기본) ===== */
.lp-wrap { font-family:'NotoSans','Pretendard','맑은 고딕','Malgun Gothic','Apple SD Gothic Neo',sans-serif; color:#333; font-size:1rem; }
.lp-section { max-width:100%; margin:0 auto; padding:32px 16px; }
.lp-section h2 { font-size:1.25rem; color:#1a3c6e; border-left:4px solid #e8410a; padding-left:12px; margin-bottom:20px; line-height:1.4; }
.lp-section h3 { font-size:1.05rem; color:#1a3c6e; margin-bottom:14px; }
.lp-bg-light { background:#f5f8ff; }
.lp-bg-dark  { background:#1a3c6e; }
.lp-bg-mid   { background:#eaf4ff; }
.text-center { text-align:center; }

/* ===== CTA 버튼 ===== */
.lp-cta-wrap { text-align:center; padding:18px 16px; background:#1a5490; }
.lp-cta-btn {
  display:inline-block; background:#4ecb71; color:#fff;
  padding:14px 28px; border-radius:40px; width:90%; max-width:400px;
  font-size:1rem; font-weight:bold; text-decoration:none;
  transition:background .2s; text-align:center;
}
.lp-cta-btn:hover { background:#3ab862; color:#fff; text-decoration:none; }

/* ===== 히어로 ===== */
.lp-hero {
  background:linear-gradient(135deg,#0a2a5e 0%,#1a5490 60%,#0e6ba8 100%);
  color:#fff; text-align:center; padding:52px 16px 44px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.lp-hero .tag {
  display:inline-block; background:#4ecb71; color:#fff;
  font-size:.95rem; font-weight:bold; padding:6px 18px; border-radius:20px;
}
.lp-hero h1 { font-size:2.6rem; line-height:1.2; margin:4px 0; word-break:keep-all; overflow-wrap:break-word; }
.lp-hero h1 .hl { color:#4ecb71; }
.lp-hero .sub { font-size:1.2rem; margin:0 0 24px; opacity:.9; word-break:keep-all; }
.lp-hero .hero-cta {
  display:inline-block; background:#e8410a; color:#fff;
  padding:16px 32px; border-radius:40px; font-size:1.1rem;
  font-weight:bold; text-decoration:none; transition:background .2s; width:85%; max-width:360px;
}
.lp-hero .hero-cta:hover { background:#c73509; color:#fff; text-decoration:none; }
.lp-hero .hero-title-group { display:inline-block; text-align:center; max-width:100%; font-weight:900; }
.lp-hero .hero-sm { display:block; font-size:1.55rem; font-weight:700; line-height:1.35; margin:4px 0; word-break:keep-all; overflow-wrap:break-word; }
.lp-hero h1, .lp-hero .sub, .lp-hero .hero-sm, .lp-hero .tag { color:#fff !important; }

/* ===== 슬로건 배너 ===== */
.lp-slogan {
  background:#1a5490; color:#fff; text-align:center;
  padding:18px 16px; font-size:.95rem; font-weight:bold; line-height:1.6;
}
.lp-slogan .hl { color:#4ecb71; }

/* ===== 6대 혜택 그리드 (2열) ===== */
.lp-grid-6 { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.lp-card {
  background:#fff; border:1px solid #d0dff0; border-radius:10px;
  padding:18px 14px; text-align:center;
}
.lp-card .icon { font-size:1.8rem; margin-bottom:10px; }
.lp-card h3 { font-size:.88rem; color:#1a3c6e; margin:0 0 6px; line-height:1.4; }
.lp-card p  { font-size:.8rem; color:#555; margin:0; line-height:1.5; }

/* ===== 학습서비스 3종 (1열) ===== */
.lp-grid-3 { display:grid; grid-template-columns:1fr; gap:14px; }
.lp-service-card {
  background:#fff; border-radius:10px; padding:22px 18px;
  display:flex; align-items:center; gap:18px;
  box-shadow:0 2px 10px rgba(0,0,0,.07);
}
.lp-service-card .svc-icon { font-size:2.2rem; flex-shrink:0; }
.lp-service-card h3 { font-size:.95rem; color:#1a3c6e; margin:0 0 4px; }
.lp-service-card p  { font-size:.85rem; color:#555; margin:0; line-height:1.4; }

/* ===== 커리큘럼 5단계 (세로) ===== */
.lp-steps { display:flex; flex-direction:column; gap:8px; }
.lp-step {
  text-align:left; background:#1a5490; color:#fff;
  padding:16px 18px; border-radius:8px;
  display:flex; align-items:center; gap:16px;
}
.lp-step:last-child { background:#e8410a; }
.lp-step .step-num { font-size:.75rem; opacity:.85; font-weight:bold; min-width:52px; }
.lp-step .step-name { font-size:.95rem; font-weight:bold; }
.lp-step .step-desc { font-size:.78rem; opacity:.85; margin-top:2px; line-height:1.3; }

/* ===== 강점 섹션 ===== */
.lp-strength-box {
  background:#fff; border-left:4px solid #1a5490; border-radius:0 10px 10px 0;
  padding:16px 18px; margin-bottom:14px;
}
.lp-strength-box h3 { color:#1a3c6e; margin:0 0 10px; font-size:1rem; line-height:1.5; }
.lp-strength-box ul { margin:0; padding-left:18px; }
.lp-strength-box ul li { font-size:.88rem; line-height:1.8; color:#444; }
.lp-mini-grid { display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px; }
.lp-mini-card {
  background:#eaf4ff; border-radius:8px; padding:14px; text-align:center;
  font-size:.85rem; color:#1a3c6e; font-weight:bold;
}

/* ===== 수강후기 (1열) ===== */
.lp-grid-2 { display:grid; grid-template-columns:1fr; gap:14px; }
.lp-review-card {
  background:#fff; border:1px solid #dde8f5; border-radius:10px;
  padding:20px 16px; font-size:.88rem; line-height:1.7; color:#444; position:relative;
}
.lp-review-card::before {
  content:'"'; font-size:2.5rem; color:#c8dff5; position:absolute; top:8px; left:14px; line-height:1;
}
.lp-review-card .review-text { padding-left:8px; }

/* ===== 시험안내 테이블 ===== */
.lp-exam-wrap { overflow-x:auto; }
.lp-table { width:100%; border-collapse:collapse; margin:14px 0; min-width:400px; }
.lp-table th { background:#1a3c6e; color:#fff; padding:10px 8px; font-size:.82rem; text-align:center; }
.lp-table td { border:1px solid #ccd; padding:10px 8px; text-align:center; font-size:.82rem; line-height:1.5; }
.lp-table tbody tr:nth-child(even) { background:#f5f8ff; }
.lp-info-box { background:#fff3e0; border-left:4px solid #e8410a; padding:12px 16px; margin-top:10px; border-radius:0 8px 8px 0; }
.lp-info-box p { margin:4px 0; font-size:.82rem; line-height:1.6; }

/* ===== 강의특징 ===== */
.lp-feature-row { display:flex; flex-direction:column; gap:12px; margin-top:18px; }
.lp-feature-hex {
  background:#1a5490; color:#fff; border-radius:10px;
  padding:18px 20px; display:flex; align-items:center; gap:16px;
}
.lp-feature-hex h4 { margin:0 0 4px; font-size:.92rem; }
.lp-feature-hex p  { margin:0; font-size:.82rem; opacity:.9; }

/* ===== 교수진 (2열) ===== */
.lp-grid-4 { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.lp-professor { text-align:center; background:#fff; border-radius:10px; padding:20px 12px; box-shadow:0 2px 10px rgba(0,0,0,.07); }
.lp-professor .prof-icon { font-size:2.2rem; margin-bottom:10px; }
.lp-professor .prof-subject { font-size:.75rem; background:#eaf4ff; color:#1a5490; padding:3px 8px; border-radius:12px; margin-bottom:6px; display:inline-block; }
.lp-professor .prof-name { font-size:.95rem; font-weight:bold; color:#1a3c6e; margin:6px 0 4px; }
.lp-professor .prof-headline { font-size:.82rem; font-weight:bold; color:#e8410a; margin:8px 0 6px; line-height:1.4; }
.lp-professor .prof-career { font-size:.72rem; color:#888; line-height:1.7; text-align:left; padding:6px 0 0; border-top:1px solid #eee; margin-top:4px; }

/* ===== 망설임 해소 ===== */
.lp-concerns-list { list-style:none; padding:0; margin:16px 0; }
.lp-concerns-list li {
  background:#fff; border:1px solid #dde8f5; border-radius:8px;
  padding:12px 16px; margin-bottom:10px; font-size:.9rem; color:#444;
  display:flex; align-items:center; gap:12px;
}
.lp-concerns-list li .ci { color:#1a5490; font-size:1.2em; flex-shrink:0; }
.lp-answer {
  background:#1a5490; color:#fff; text-align:center;
  border-radius:10px; padding:22px 16px; margin-top:18px;
}
.lp-answer .ans-highlight { font-size:1.1rem; font-weight:bold; }
.lp-answer .ans-sub { font-size:.88rem; margin-top:8px; opacity:.9; line-height:1.5; }

/* ===== 발급대상 9종 (3열) ===== */
.lp-grid-9 { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.lp-badge {
  background:#fff; border:2px solid #1a5490; border-radius:8px;
  padding:12px 6px; text-align:center; font-weight:bold; color:#1a3c6e; font-size:.75rem; line-height:1.4;
}
.lp-contact-row { display:flex; flex-direction:column; gap:12px; margin-top:20px; }
.lp-contact-box {
  text-align:center; background:#1a3c6e; color:#fff;
  border-radius:10px; padding:18px 16px;
}
.lp-contact-box .ct-label { font-size:.82rem; opacity:.85; margin-bottom:6px; }
.lp-contact-box .ct-num { font-size:1.4rem; font-weight:bold; }

/* ===== 마무리 CTA ===== */
.lp-final-cta {
  background:linear-gradient(135deg,#1a3c6e,#0e6ba8);
  color:#fff; text-align:center; padding:40px 16px;
}
.lp-final-cta h2 { color:#fff; border:none; padding:0; font-size:1.2rem; margin-bottom:10px; }
.lp-final-cta .badge-box {
  display:inline-block; background:rgba(255,255,255,.15);
  border:2px solid #4ecb71; border-radius:10px;
  padding:14px 24px; margin:18px 0 22px; font-size:.95rem; line-height:1.6;
}
.lp-final-cta .badge-box strong { color:#4ecb71; }

/* ===== 색상 강제 ===== */
.lp-bg-dark, .lp-bg-dark p, .lp-bg-dark li, .lp-bg-dark strong { color:#fff !important; }
.lp-bg-dark h2, .lp-bg-dark h3, .lp-bg-dark h4 { color:#fff !important; border-left-color:#4ecb71 !important; }
.lp-final-cta p, .lp-final-cta .badge-box { color:#fff !important; }
.lp-slogan, .lp-cta-wrap, .lp-answer, .lp-answer * { color:#fff !important; }
.lp-hero h1, .lp-hero .sub, .lp-hero .hero-sm, .lp-hero .tag { color:#fff !important; }
.lp-step .step-num, .lp-step .step-name, .lp-step .step-desc { color:#fff !important; }
.lp-contact-box .ct-label, .lp-contact-box .ct-num { color:#fff !important; }

/* ===== 인라인 상담 폼 ===== */
.lp-inline-form-wrap {
  background:linear-gradient(135deg,#0a2a5e 0%,#1a5490 100%);
  padding:36px 16px;
}
.lp-inline-form-inner { max-width:100%; margin:0 auto; display:flex; flex-direction:column; gap:28px; }
.lp-form-copy { color:#fff; }
.lp-form-copy .fc-badge {
  display:inline-block; background:#e8410a; color:#fff;
  font-size:.8rem; font-weight:bold; padding:4px 12px;
  border-radius:20px; margin-bottom:14px;
}
.lp-form-copy h3 {
  font-size:1.25rem; line-height:1.4;
  margin:0 0 18px; color:#fff !important; border:none !important;
}
.lp-form-copy h3 .hl { color:#4ecb71; }
.lp-form-copy .fc-list { list-style:none; padding:0; margin:0 0 20px; }
.lp-form-copy .fc-list li {
  display:flex; align-items:center; gap:10px;
  font-size:.88rem; color:#cde; margin-bottom:8px;
}
.lp-form-copy .fc-list li::before {
  content:'✓'; background:#4ecb71; color:#fff;
  width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:bold; flex-shrink:0;
}
.lp-form-copy .fc-note {
  font-size:.8rem; color:#9bb8d4;
  border-top:1px solid rgba(255,255,255,.2); padding-top:12px;
}
.lp-form-copy .fc-tel {
  display:block; font-size:1.1rem; color:#fff !important;
  font-weight:bold; margin-bottom:4px;
}
.lp-form-card {
  background:#fff; border-radius:16px; padding:24px 18px;
  border:3px solid #4ecb71;
  box-shadow:0 8px 32px rgba(0,0,0,.25), 0 0 18px rgba(78,203,113,.35);
}
.lp-form-card .fc-title {
  font-size:.95rem; font-weight:bold; color:#1a3c6e;
  text-align:left; margin:0 0 20px;
  padding-bottom:14px; border-bottom:2px solid #eaf4ff; line-height:1.5;
}
.lp-form-field { margin-bottom:14px; }
.lp-form-field label {
  display:block; font-size:.8rem; font-weight:bold; color:#555; margin-bottom:6px;
}
.lp-form-field label .req { color:#e8410a; margin-left:2px; }
.lp-form-field input {
  width:100% !important; box-sizing:border-box !important;
  height:48px !important; padding:0 14px !important;
  border:1.5px solid #d0dff0 !important; border-radius:8px !important;
  font-size:.95rem !important; color:#333 !important;
  outline:none !important; line-height:48px !important; background:#fff !important;
}
.lp-form-field input:focus { border-color:#1a5490 !important; }
.lp-form-field input::placeholder { color:#bbb; line-height:normal; }
.lp-form-select {
  width:100%; box-sizing:border-box;
  height:48px; padding:0 12px;
  border:1.5px solid #d0dff0; border-radius:8px;
  font-size:.95rem; color:#333;
  background:#fff; outline:none;
  appearance:auto;
}
.lp-form-select:focus { border-color:#1a5490; }
.lp-phone-row { display:flex; align-items:center; gap:6px; }
.lp-phone-row .prefix {
  background:#f0f4ff; border:1.5px solid #d0dff0; border-radius:8px;
  height:48px; box-sizing:border-box; display:flex; align-items:center;
  padding:0 12px; font-size:.95rem; font-weight:bold;
  color:#1a3c6e; white-space:nowrap; flex-shrink:0;
}
.lp-phone-row span { color:#aaa; font-weight:bold; flex-shrink:0; }
.lp-phone-row input { flex:1; }
.lp-form-agree-row {
  display:flex; align-items:center; gap:8px;
  font-size:.8rem; color:#777; margin-bottom:18px;
}
.lp-form-agree-row input[type=checkbox] {
  width:17px; height:17px; cursor:pointer; flex-shrink:0; accent-color:#1a5490;
}
.lp-form-agree-row a { color:#1a5490; cursor:pointer; text-decoration:underline; }
.lp-form-card .ic-submit {
  width:100%; padding:15px; border:none; border-radius:10px;
  background:#4ecb71; color:#fff !important; font-size:1rem;
  font-weight:bold; cursor:pointer; transition:background .2s;
}
.lp-form-card .ic-submit:hover { background:#3ab862; }
.lp-form-result {
  display:none; text-align:center; margin-top:14px;
  background:#f0fff4; border:1.5px solid #4ecb71; border-radius:8px;
  padding:12px; color:#1a7a40; font-weight:bold; font-size:.9rem;
}

/* ===== 반응형 유튜브 ===== */
.lp-yt-section .yt-wrap { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; width:100%; }
.lp-yt-section .yt-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

/* ===== 바른기업 ===== */
.lp-csr {
  background:#f9f0f5; text-align:center; padding:24px 16px;
  border-top:3px solid #d81b60;
}
.lp-csr h3 { color:#880e4f; font-size:1rem; margin:0 0 8px; }
.lp-csr p  { font-size:.82rem; color:#555; line-height:1.6; margin:0; }
