/* ============================================
   PROPOSAL PAGE — proposal.css
   ============================================ */

/* GNB 고정 (light 상태) */
.proposal-page #gnb {
  position:fixed; top:0; left:0; right:0; z-index:300;
  background:#fff;
  border-bottom:1px solid #eee;
}
.proposal-page #gnb .logo-navy  { display:block }
.proposal-page #gnb .logo-white { display:none }
.proposal-page #gnb .nav-links a,
.proposal-page #gnb .nav-links button { color:var(--ink) }
.proposal-page #gnb .lang-btn { border-color:var(--border); color:var(--mute) }
.proposal-page #gnb .lo.active { color:var(--org) !important }
.proposal-page #gnb .hbg span { background:var(--ink) }
.proposal-page body { padding-top:80px }

/* ══════════════════
   HERO
══════════════════ */
.pp-hero {
  position:relative;
  height:62vh; min-height:480px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  margin-top:80px;
}
.pp-hero-bg {
  position:absolute; inset:0; z-index:0;
}
.pp-hero-bg img {
  width:100%; height:100%;
  object-fit:cover; object-position:center 40%;
}
.pp-hero-gradient {
  position:absolute; inset:0;
  background:linear-gradient(
    135deg,
    rgba(20,40,80,.8) 0%,
    rgba(20,40,80,.6) 50%,
    rgba(20,40,80,.4) 100%
  );
}
.pp-hero-text {
  position:relative; z-index:1;
  text-align:center; padding:0 24px;
}
.pp-hero-label {
  display:inline-block;
  font-family:var(--mono); font-size:11px; font-weight:700;
  letter-spacing:.25em; text-transform:uppercase;
  color:var(--org); border-bottom:2px solid var(--org);
  padding-bottom:4px; margin-bottom:24px;
}
.pp-hero-text h1 {
  font-size:clamp(28px,4.2vw,58px);
  font-weight:900; line-height:1.2;
  letter-spacing:-.03em; color:#fff;
  margin-bottom:20px;
}
.pp-hero-sub {
  font-size:clamp(14px,1.5vw,17px);
  line-height:1.8; color:rgba(255,255,255,.72);
}

/* ══════════════════
   FORM SECTION
══════════════════ */
.pp-form-sec {
  background:#f7f9fc;
  padding:80px 0 100px;
}
.pp-wrap {
  max-width:720px; margin:0 auto; padding:0 32px;
}

/* 폼 헤더 */
.pp-form-head {
  margin-bottom:48px;
}
.pp-badge {
  display:inline-block;
  font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:#fff; background:var(--ci);
  padding:4px 12px; border-radius:4px; margin-bottom:10px;
}
.pp-form-head h2 {
  font-size:clamp(26px,3.5vw,40px); font-weight:900;
  letter-spacing:-.025em; color:var(--ink);
  margin-bottom:12px;
}
.pp-form-desc {
  font-size:15px; line-height:1.75;
  color:#889;
}

/* 폼 스타일 */
.pp-form {
  background:#fff;
  border:1.5px solid #dde3ec;
  border-radius:20px;
  padding:48px 40px;
  box-shadow:0 4px 24px rgba(0,0,0,.03);
}

.pp-field {
  margin-bottom:28px;
}
.pp-field label {
  display:block; font-size:14px; font-weight:700;
  color:var(--ink); margin-bottom:8px;
}
.pp-required {
  color:#e74c3c;
}
.pp-field input[type="text"],
.pp-field input[type="email"],
.pp-field input[type="tel"],
.pp-field select,
.pp-field textarea {
  width:100%;
  border:1.5px solid #dde3ec;
  border-radius:10px;
  padding:13px 16px;
  font-size:14px; font-family:inherit;
  color:var(--ink);
  transition:border-color .2s, box-shadow .2s;
}
.pp-field input:focus,
.pp-field select:focus,
.pp-field textarea:focus {
  outline:none;
  border-color:var(--ci);
  box-shadow:0 0 0 3px rgba(61,101,144,.08);
}
.pp-field select {
  appearance:none; -webkit-appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  padding-right:40px;
  cursor:pointer;
}
.pp-field textarea {
  resize:vertical;
  min-height:160px;
}
.pp-field input::placeholder,
.pp-field textarea::placeholder {
  color:#bbc;
}

/* 파일 첨부 */
.pp-field input[type="file"] {
  border:1.5px dashed #ccd;
  border-radius:10px;
  padding:20px;
  cursor:pointer;
  background:#fafbfc;
  font-size:13px;
  color:#778;
}
.pp-field input[type="file"]::file-selector-button {
  background:var(--ci);
  color:#fff; border:none; border-radius:6px;
  padding:7px 16px; font-size:12px; font-weight:700;
  cursor:pointer; margin-right:12px;
  transition:background .18s;
}
.pp-field input[type="file"]::file-selector-button:hover {
  background:#2c5278;
}
.pp-help-text {
  font-size:12px; color:#aab;
  margin-top:6px;
}

/* 체크박스 */
.pp-checkbox-field {
  display:flex; align-items:center; gap:10px;
  margin-bottom:36px;
}
.pp-checkbox-field input[type="checkbox"] {
  width:18px; height:18px;
  cursor:pointer;
  accent-color:var(--ci);
}
.pp-checkbox-field label {
  font-size:13px; color:#667;
  cursor:pointer; margin:0;
}

/* 제출 버튼 */
.pp-submit-area {
  text-align:center;
}
.pp-submit-btn {
  display:inline-flex; align-items:center; gap:10px;
  font-size:16px; font-weight:700; font-family:inherit;
  color:#fff; background:var(--ci);
  border:none; border-radius:28px;
  padding:16px 40px;
  cursor:pointer;
  transition:background .18s, gap .18s, transform .18s;
}
.pp-submit-btn:hover {
  background:#2c5278;
  gap:14px;
  transform:translateY(-2px);
}
.pp-submit-btn i {
  font-size:14px;
}

/* 성공 메시지 */
.pp-success-msg {
  text-align:center;
  background:#fff;
  border:1.5px solid #d1f4e0;
  border-radius:20px;
  padding:60px 40px;
}
.pp-success-icon {
  font-size:64px;
  color:#27ae60;
  margin-bottom:20px;
}
.pp-success-msg h3 {
  font-size:24px; font-weight:900;
  color:var(--ink); margin-bottom:12px;
}
.pp-success-msg p {
  font-size:15px; line-height:1.75;
  color:#889; margin-bottom:32px;
}
.pp-new-btn {
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:700; font-family:inherit;
  color:var(--ci); background:#fff;
  border:1.5px solid var(--ci);
  border-radius:24px;
  padding:12px 28px;
  cursor:pointer;
  transition:all .18s;
}
.pp-new-btn:hover {
  background:var(--ci);
  color:#fff;
}

/* ══════════════════
   RESPONSIVE
══════════════════ */
@media(max-width:768px) {
  .pp-hero { height:55vh; min-height:380px }
  .pp-form { padding:32px 24px }
}
