﻿/* ===== 웹폰트: 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; }

/* ===== 공통 ===== */
.lp-wrap { font-family:'NotoSans','Pretendard','맑은 고딕','Malgun Gothic','Apple SD Gothic Neo',sans-serif; color:#333; font-size:1.5rem; }
.lp-section { max-width:1160px; margin:0 auto; padding:48px 20px; }
.lp-section h2 { font-size:clamp(1.2em,3vw,1.8em); color:#1a3c6e; border-left:5px solid #e8410a; padding-left:14px; margin-bottom:24px; }
.lp-section h3 { font-size:clamp(1em,2.5vw,1.4em); color:#1a3c6e; margin-bottom:16px; }
.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:20px 20px; background:#1a5490; }
.lp-cta-btn {
  display:inline-block; background:#4ecb71; color:#fff;
  padding:18px 60px; border-radius:40px;
  font-size:clamp(1em,2.5vw,1.3em); font-weight:bold; text-decoration:none;
  transition:background .2s;
}
.lp-cta-btn:hover { background:#3ab862; color:#fff; text-decoration:none; }
.lp-cta-btn .arrow { margin-left:8px; }

/* ===== 히어로 ===== */
.lp-hero {
  background:linear-gradient(135deg,#0a2a5e 0%,#1a5490 60%,#0e6ba8 100%);
  color:#fff; text-align:center; padding:70px 20px 60px;
  display:flex; flex-direction:column; align-items:center; gap:16px;
}
.lp-hero .tag {
  display:inline-block; background:#4ecb71; color:#fff;
  font-size:.9em; font-weight:bold; padding:6px 18px; border-radius:20px;
}
.lp-hero h1 { font-size:clamp(1.6em,4.5vw,3em); line-height:1.3; margin:4px 0; white-space:nowrap; }
.lp-hero h1 .hl { color:#4ecb71; }
.lp-hero .sub { font-size:clamp(1em,2.5vw,1.4em); margin:0 0 30px; opacity:.9; }
.lp-hero .hero-cta {
  display:inline-block; background:#e8410a; color:#fff;
  padding:16px 48px; border-radius:40px; font-size:clamp(1em,2.5vw,1.2em);
  font-weight:bold; text-decoration:none; transition:background .2s;
}
.lp-hero .hero-cta:hover { background:#c73509; color:#fff; text-decoration:none; }
.lp-hero .hero-title-group { display:inline-block; text-align:center; font-weight:900; }
.lp-hero .hero-sm {
  display:block; white-space:nowrap;
  font-size:clamp(1em,3vw,1.9em);
  font-weight:700; line-height:1.35; margin:4px 0;
}

/* ===== 슬로건 배너 ===== */
.lp-slogan {
  background:#1a5490; color:#fff; text-align:center;
  padding:22px 20px; font-size:clamp(1em,2.5vw,1.4em); font-weight:bold;
}
.lp-slogan .hl { color:#4ecb71; }

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

/* ===== 학습서비스 3종 ===== */
.lp-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.lp-service-card {
  background:#fff; border-radius:10px; padding:30px 20px; text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,.07);
}
.lp-service-card .svc-icon { font-size:2.4em; margin-bottom:14px; }
.lp-service-card h3 { font-size:1em; color:#1a3c6e; margin:0 0 8px; }
.lp-service-card p  { font-size:.85em; color:#555; margin:0; line-height:1.5; }

/* ===== 커리큘럼 5단계 ===== */
.lp-steps { display:flex; gap:4px; }
.lp-step {
  flex:1; text-align:center; background:#1a5490; color:#fff;
  padding:22px 14px; position:relative;
  clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);
}
.lp-step:last-child { clip-path:none; background:#e8410a; border-radius:0 8px 8px 0; }
.lp-step .step-num { font-size:.75em; opacity:.8; margin-bottom:4px; }
.lp-step .step-name { font-size:.95em; font-weight:bold; }
.lp-step .step-desc { font-size:.75em; opacity:.85; margin-top:4px; line-height:1.3; }

/* ===== 강점 섹션 ===== */
.lp-strength-box {
  background:#fff; border-left:5px solid #1a5490; border-radius:0 10px 10px 0;
  padding:20px 24px; margin-bottom:16px;
}
.lp-strength-box h3 { color:#1a3c6e; margin:0 0 10px; }
.lp-strength-box ul { margin:0; padding-left:20px; }
.lp-strength-box ul li { font-size:.9em; line-height:1.8; color:#444; }
.lp-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px; }
.lp-mini-card {
  background:#eaf4ff; border-radius:8px; padding:16px; text-align:center;
  font-size:.85em; color:#1a3c6e; font-weight:bold;
}

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

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

/* ===== 강의특징 ===== */
.lp-feature-row { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.lp-feature-hex {
  background:#1a5490; color:#fff; border-radius:10px;
  padding:22px 24px; text-align:center; flex:1; min-width:160px; max-width:240px;
}
.lp-feature-hex h4 { margin:0 0 8px; font-size:.95em; }
.lp-feature-hex p  { margin:0; font-size:.82em; opacity:.9; }

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

/* ===== 망설임 해소 ===== */
.lp-concerns-list { list-style:none; padding:0; margin:20px 0; }
.lp-concerns-list li {
  background:#fff; border:1px solid #dde8f5; border-radius:8px;
  padding:14px 20px; margin-bottom:10px; font-size:.95em; color:#444;
  display:flex; align-items:center; gap:12px;
}
.lp-concerns-list li .ci { color:#1a5490; font-size:1.2em; }
.lp-answer {
  background:#1a5490; color:#fff; text-align:center;
  border-radius:10px; padding:24px; margin-top:20px;
}
.lp-answer .ans-highlight { font-size:clamp(1.1em,3vw,1.6em); font-weight:bold; }
.lp-answer .ans-sub { font-size:.95em; margin-top:8px; opacity:.9; }

/* ===== 발급대상 ===== */
.lp-grid-9 { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.lp-badge {
  background:#fff; border:2px solid #1a5490; border-radius:8px;
  padding:16px 12px; text-align:center; font-weight:bold; color:#1a3c6e; font-size:.9em;
}
.lp-contact-row { display:flex; gap:20px; margin-top:24px; }
.lp-contact-box {
  flex:1; text-align:center; background:#1a3c6e; color:#fff;
  border-radius:10px; padding:20px;
}
.lp-contact-box .ct-label { font-size:.85em; opacity:.85; margin-bottom:6px; }
.lp-contact-box .ct-num { font-size:clamp(1.2em,3vw,1.8em); font-weight:bold; }

/* ===== 마무리 CTA ===== */
.lp-final-cta {
  background:linear-gradient(135deg,#1a3c6e,#0e6ba8);
  color:#fff; text-align:center; padding:50px 20px;
}
.lp-final-cta h2 { color:#fff; border:none; padding:0; font-size:clamp(1.2em,3vw,1.8em); 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:16px 40px; margin:20px 0 28px; font-size:clamp(.95em,2.5vw,1.2em);
}
.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:56px 20px;
}
.lp-inline-form-inner {
  max-width:1160px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.lp-form-copy { color:#fff; }
.lp-form-copy .fc-badge {
  display:inline-block; background:#e8410a; color:#fff;
  font-size:.82em; font-weight:bold; padding:5px 14px;
  border-radius:20px; margin-bottom:16px; letter-spacing:.05em;
}
.lp-form-copy h3 {
  font-size:clamp(1.3em,3vw,2em); line-height:1.4;
  margin:0 0 20px; 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 24px; }
.lp-form-copy .fc-list li {
  display:flex; align-items:center; gap:10px;
  font-size:.95em; color:#cde; margin-bottom:10px;
}
.lp-form-copy .fc-list li::before {
  content:'✓'; background:#4ecb71; color:#fff;
  width:20px; height:20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.75em; font-weight:bold; flex-shrink:0;
}
.lp-form-copy .fc-note {
  font-size:.82em; color:#9bb8d4;
  border-top:1px solid rgba(255,255,255,.2); padding-top:14px;
}
.lp-form-copy .fc-tel {
  display:block; font-size:1.15em; color:#fff !important;
  font-weight:bold; margin-bottom:4px; letter-spacing:.03em;
}
.lp-form-card {
  background:#fff; border-radius:16px; padding:32px 28px;
  box-shadow:0 8px 32px rgba(0,0,0,.25);
  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:1.05em; font-weight:bold; color:#1a3c6e;
  text-align:left; margin:0 0 24px;
  padding-bottom:16px; border-bottom:2px solid #eaf4ff;
}
.lp-form-field { margin-bottom:16px; }
.lp-form-field label { display:block; font-size:.82em; 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:52px !important; padding:0 16px !important;
  border:1.5px solid #d0dff0 !important; border-radius:8px !important;
  font-size:1em !important; color:#333 !important;
  transition:border-color .2s; outline:none !important;
  line-height:52px !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:8px; }
.lp-phone-row .prefix {
  background:#f0f4ff; border:1.5px solid #d0dff0; border-radius:8px;
  height:52px; box-sizing:border-box; display:flex; align-items:center;
  padding:0 14px; font-size:1em; 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-email-row { display:flex; align-items:center; gap:6px; }
.lp-email-row input { flex:1; }
.lp-email-row span { color:#aaa; font-size:1.1em; font-weight:bold; flex-shrink:0; }
.lp-form-agree-row {
  display:flex; align-items:center; gap:8px;
  font-size:.82em; color:#777; margin-bottom:20px;
}
.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:16px; border:none; border-radius:10px;
  background:#4ecb71; color:#fff !important; font-size:1.1em;
  font-weight:bold; cursor:pointer; transition:background .2s, transform .1s;
  letter-spacing:.03em;
}
.lp-form-card .ic-submit:hover   { background:#3ab862; }
.lp-form-card .ic-submit:active  { transform:scale(.98); }
.lp-form-result {
  display:none; text-align:center; margin-top:16px;
  background:#f0fff4; border:1.5px solid #4ecb71; border-radius:8px;
  padding:14px; color:#1a7a40; font-weight:bold; font-size:.95em;
}
@media (max-width:900px) {
  .lp-inline-form-inner { grid-template-columns:1fr; gap:32px; }
  .lp-form-copy { text-align:center; }
  .lp-form-copy .fc-list li { justify-content:center; }
}
@media (max-width:480px) {
  .lp-inline-form-wrap { padding:40px 16px; }
  .lp-form-card { padding:24px 18px; }
  .lp-phone-row, .lp-email-row { flex-wrap:wrap; }
}

/* ===== 반응형 유튜브 ===== */
.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:30px 20px;
  border-top:3px solid #d81b60;
}
.lp-csr h3 { color:#880e4f; font-size:1.1em; margin:0 0 10px; }
.lp-csr p  { font-size:.85em; color:#555; line-height:1.6; margin:0; }

/* ===== 반응형 ===== */
@media (max-width:768px) {
  .lp-hero { padding:48px 16px 40px; }
  .lp-grid-6, .lp-grid-3, .lp-grid-4, .lp-grid-9 { grid-template-columns:1fr; }
  .lp-grid-2 { grid-template-columns:1fr; }
  .lp-steps { flex-direction:column; gap:6px; }
  .lp-step { clip-path:none !important; border-radius:8px; }
  .lp-mini-grid { grid-template-columns:1fr; }
  .lp-feature-row { flex-direction:column; align-items:center; }
  .lp-contact-row { flex-direction:column; }
  .lp-cta-btn { padding:16px 30px; }
}
@media (min-width:769px) and (max-width:1024px) {
  .lp-grid-6 { grid-template-columns:repeat(2,1fr); }
  .lp-grid-4 { grid-template-columns:repeat(2,1fr); }
  .lp-steps .lp-step { clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%); }
}
