/* PAGE HERO */
.page-hero{padding:11rem 3.5rem 5rem;max-width:1300px;margin:0 auto;}
.page-eyebrow{font-family:'Syne',sans-serif;font-size:.65rem;letter-spacing:.28em;color:var(--red);text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:.6rem;margin-bottom:1.6rem;}
.page-eyebrow::before{content:'';width:24px;height:1px;background:var(--red);}
.page-title{font-family:'Noto Sans KR',sans-serif;font-weight:900;font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.18;margin-bottom:1.4rem;}
.page-subtitle{font-size:1rem;color:rgba(255,255,255,.45);line-height:2;max-width:560px;}
.divider{height:1px;background:rgba(255,255,255,.06);}

/* CONTACT LAYOUT */
.contact-wrap{max-width:1100px;margin:0 auto;padding:5rem 3.5rem;display:grid;grid-template-columns:1fr 1.8fr;gap:5rem;scroll-margin-top:6rem;}

/* INFO SIDE */
.info-section-label{font-family:'Syne',sans-serif;font-size:.62rem;letter-spacing:.22em;color:var(--red);text-transform:uppercase;font-weight:700;margin-bottom:2rem;}
.info-item{margin-bottom:1.8rem;}
.info-item-label{font-family:'Syne',sans-serif;font-size:.62rem;letter-spacing:.1em;color:rgba(255,255,255,.25);text-transform:uppercase;margin-bottom:.45rem;}
.info-item-val{font-size:.92rem;color:rgba(255,255,255,.72);line-height:1.75;}
.info-divider{height:1px;background:rgba(255,255,255,.06);margin:2rem 0;}
.promise-box{border:1px solid rgba(192,57,43,.3);padding:1.4rem 1.6rem;border-radius:2px;background:rgba(192,57,43,.05);}
.promise-num{font-family:'Archivo',sans-serif;font-size:1.05rem;font-weight:700;color:var(--red);line-height:1;margin-bottom:.8rem;display:flex;align-items:baseline;gap:.1em;}
.promise-num strong{font-size:2.8rem;font-weight:900;line-height:1;}
.promise-desc{font-size:.82rem;color:rgba(255,255,255,.35);line-height:1.7;}

/* FORM SIDE */
.form-section-label{font-family:'Syne',sans-serif;font-size:.62rem;letter-spacing:.22em;color:rgba(255,255,255,.25);text-transform:uppercase;font-weight:700;margin-bottom:1.8rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-field{display:flex;flex-direction:column;}
.form-field.full{grid-column:span 2;}
.form-label{font-family:'Syne',sans-serif;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:.55rem;font-weight:600;}
.form-label-opt{text-transform:none;letter-spacing:0;font-weight:400;opacity:.7;}
.form-input,.form-textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);color:var(--white);padding:.75rem 1rem;font-family:'Noto Sans KR',sans-serif;font-size:.88rem;transition:border-color .3s;outline:none;width:100%;border-radius:1px;}
.form-input:focus,.form-textarea:focus{border-color:rgba(192,57,43,.55);background:rgba(255,255,255,.06);}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,.18);}
.form-textarea{min-height:130px;resize:vertical;}

/* ── 파일 첨부 ──────────────────────────────── */
.file-attach{position:relative;width:100%}
.file-attach input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.file-attach-box{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);
  padding:.75rem 1rem;font-family:'Noto Sans KR',sans-serif;font-size:.85rem;
  color:rgba(255,255,255,.35);transition:border-color .3s,background .3s;
}
.file-attach:hover .file-attach-box{border-color:rgba(192,57,43,.5);background:rgba(255,255,255,.06)}
.file-attach-box.has-file{color:var(--white);border-style:solid;border-color:rgba(192,57,43,.5)}
.file-attach-box.file-attach-warn{color:#e8a33d;border-color:#e8a33d}
.file-attach-btn{
  font-family:'Syne',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.06em;
  color:var(--red);border:1px solid rgba(192,57,43,.4);padding:.35rem .8rem;
  white-space:nowrap;flex-shrink:0;
}

/* CUSTOM DROPDOWN */
.custom-select{position:relative;user-select:none;}
.cs-trigger{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);color:var(--white);padding:.75rem 1rem;font-family:'Noto Sans KR',sans-serif;font-size:.88rem;cursor:pointer;transition:border-color .3s;border-radius:1px;}
.cs-trigger:hover,.custom-select.open .cs-trigger{border-color:rgba(255,255,255,.2);}
.custom-select.open .cs-trigger{border-color:rgba(192,57,43,.55);}
.cs-arrow{width:14px;height:14px;flex-shrink:0;transition:transform .25s;}
.custom-select.open .cs-arrow{transform:rotate(180deg);}
.cs-arrow path{stroke:rgba(255,255,255,.3);}
.cs-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#141414;border:1px solid rgba(255,255,255,.12);z-index:200;overflow:hidden;border-radius:1px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s,transform .2s;}
.custom-select.open .cs-dropdown{opacity:1;transform:translateY(0);pointer-events:all;}
.cs-option{padding:.7rem 1rem;font-family:'Noto Sans KR',sans-serif;font-size:.86rem;color:rgba(255,255,255,.55);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s,color .15s;}
.cs-option:last-child{border-bottom:none;}
.cs-option:hover{background:rgba(192,57,43,.12);color:#fff;}
.cs-option.selected{color:#fff;background:rgba(192,57,43,.08);}
.cs-option.selected::before{content:'—';color:var(--red);margin-right:.5rem;font-size:.75rem;}
.form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.06);}
.submit-btn{font-family:'Syne',sans-serif;font-size:.78rem;font-weight:700;padding:.75rem 2rem;background:var(--red);color:#fff;border:none;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:background .3s;}
.submit-btn:hover{background:#a93226;}
.submit-note{font-size:.76rem;color:rgba(255,255,255,.22);}

/* 허니팟 — 사람에게는 안 보이고 스팸봇만 채우는 필드 */
.hp-field{position:absolute;left:-9999px;top:-9999px;opacity:0;pointer-events:none;height:0;overflow:hidden;}

/* 개인정보 동의 */
.consent-field{margin-top:.4rem;}
.consent-label{display:flex;align-items:flex-start;gap:.6rem;font-size:.86rem;color:rgba(255,255,255,.75);cursor:pointer;line-height:1.5;}
.consent-label input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;margin-top:.15rem;accent-color:var(--red);cursor:pointer;}
.consent-detail{font-size:.72rem;color:rgba(255,255,255,.28);line-height:1.6;margin-top:.5rem;margin-left:1.75rem;}

/* 발송 성공/실패 메시지 */
.contact-msg{display:none;margin-top:1rem;padding:.85rem 1.1rem;font-size:.85rem;border-radius:2px;line-height:1.5;}
.contact-msg.show{display:block;}
.contact-msg.success{background:rgba(46,125,50,.12);border:1px solid rgba(46,125,50,.4);color:#7fd489;}
.contact-msg.error{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.4);color:#f2a29c;}

.submit-btn:disabled{opacity:.6;cursor:not-allowed;}

@media(max-width:768px){
  .page-hero{padding:8rem 1.5rem 3.5rem}
  .contact-wrap{grid-template-columns:1fr;gap:3rem;padding:3.5rem 1.5rem;}
  .form-grid{grid-template-columns:1fr;}
  .form-field.full{grid-column:span 1;}
}
