:root { --ink:#29332f; --ivory:#fbf8ef; --paper:#f0ecdf; --sage:#80947e; --line:rgba(41,51,47,.18); --muted:#67716b; }
* { box-sizing:border-box; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:Inter,"Noto Sans KR",sans-serif; letter-spacing:-.015em; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
[hidden] { display:none!important; }
.site-header { display:flex; min-height:84px; align-items:center; justify-content:space-between; gap:20px; padding:0 clamp(20px,5vw,88px); border-bottom:1px solid var(--line); }
.wordmark { font-size:22px; font-weight:800; letter-spacing:-.045em; white-space:nowrap; }
.wordmark span:nth-child(2) { color:var(--sage); }
.wordmark small { margin-left:.4em; color:var(--muted); font-size:12px; font-weight:600; }
.back-link { border-bottom:1px solid currentColor; padding:12px 0; font-size:13px; font-weight:700; }
.back-link span { margin-left:12px; }
.inquiry-layout { display:grid; grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr); min-height:calc(100vh - 146px); }
.intro { padding:clamp(60px,8vw,130px) clamp(24px,5vw,88px); background:var(--paper); }
.eyebrow { margin:0 0 20px; color:var(--sage); font-size:13px; font-weight:800; letter-spacing:.09em; }
.intro h1 { margin:0; font-size:clamp(42px,4.8vw,78px); font-weight:800; line-height:1.16; letter-spacing:-.06em; word-break:keep-all; }
.intro-copy { margin:40px 0 0; color:var(--muted); font-size:17px; line-height:1.85; word-break:keep-all; }
.intro-rule { width:64px; height:1px; margin:56px 0 28px; background:var(--sage); }
.intro-note { color:var(--muted); font-size:14px; line-height:1.8; }
.direct-contact { display:inline-flex; min-height:64px; align-items:center; gap:14px; margin-top:32px; padding:0 20px; border:1px solid var(--ink); background:#fee500; font-size:17px; font-weight:800; transition:background 160ms ease,transform 160ms ease; }
.direct-contact:hover,.direct-contact:focus-visible { background:#f5dc00; transform:translateY(-2px); }
.direct-contact-icon { width:32px; height:32px; flex:0 0 32px; fill:var(--ink); }
.direct-contact-arrow { margin-left:10px; font-size:19px; }
.form-panel { padding:clamp(60px,7vw,112px) clamp(24px,6vw,110px) 100px; }
.form-panel h2 { margin:0; font-size:clamp(36px,3.4vw,56px); font-weight:800; line-height:1.2; letter-spacing:-.055em; }
.form-intro { margin:18px 0 46px; color:var(--muted); font-size:15px; line-height:1.7; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; }
.field { display:block; min-width:0; }
.field-wide { grid-column:1/-1; }
.field > span { display:block; margin-bottom:11px; font-size:14px; font-weight:800; }
.field em { margin-left:5px; color:var(--sage); font-size:12px; font-style:normal; font-weight:700; }
.field input,.field select,.field textarea { display:block; width:100%; border:1px solid var(--line); border-radius:0; outline:0; padding:15px 17px; background:#fff; color:var(--ink); font-size:15px; line-height:1.5; }
.field input,.field select { min-height:58px; }
.field textarea { min-height:184px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--sage); box-shadow:0 0 0 2px rgba(128,148,126,.14); }
.field input::placeholder,.field textarea::placeholder { color:#8c948e; }
.trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent { margin-top:38px; padding:24px; border:1px solid var(--line); background:var(--paper); }
.consent strong { font-size:14px; }
.consent p { margin:12px 0 20px; color:var(--muted); font-size:13px; line-height:1.8; }
.consent label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:13px; line-height:1.6; }
.consent input { width:18px; height:18px; flex:0 0 18px; margin:1px 0 0; accent-color:var(--ink); }
.form-error { min-height:24px; margin:18px 0 0; color:#a64f48; font-size:13px; }
.submit-button { display:flex; width:100%; min-height:62px; align-items:center; justify-content:space-between; gap:15px; border:1px solid var(--ink); padding:0 24px; background:var(--ink); color:var(--ivory); font-size:15px; font-weight:800; cursor:pointer; }
.submit-button:hover,.submit-button:focus-visible { background:var(--sage); border-color:var(--sage); }
.submit-button:disabled { cursor:wait; opacity:.6; }
.receipt { padding:30px 0; }
.receipt > p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.7; }
.receipt-id { margin:45px 0; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.receipt-id strong { display:block; margin-top:8px; color:var(--ink); font-size:13px; font-weight:600; }
.receipt a { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:10px; font-size:14px; font-weight:800; }
footer { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:20px; padding:0 clamp(20px,5vw,88px); border-top:1px solid var(--line); color:var(--muted); font-size:12px; font-weight:700; }
@media (max-width:900px) {
  .inquiry-layout { grid-template-columns:1fr; }
  .intro { padding:70px 24px; }
  .intro h1 { font-size:clamp(40px,7vw,60px); }
  .intro-copy { margin-top:26px; font-size:15px; }
  .intro-rule { margin:35px 0 20px; }
  .form-panel { padding:70px 24px 86px; }
}
@media (max-width:600px) {
  .site-header { min-height:72px; }
  .wordmark { font-size:19px; }
  .back-link { font-size:12px; }
  .intro { padding:64px 20px 58px; }
  .intro h1 { font-size:41px; }
  .intro-copy { font-size:14px; }
  .intro-note { font-size:13px; }
  .direct-contact { width:100%; min-height:62px; padding:0 18px; font-size:16px; }
  .direct-contact-arrow { margin-left:auto; }
  .form-panel { padding:66px 20px 80px; }
  .form-panel h2 { font-size:38px; }
  .form-intro { margin-bottom:32px; font-size:14px; }
  .field-grid { grid-template-columns:1fr; gap:22px; }
  .field-wide { grid-column:auto; }
  .field input,.field select { min-height:56px; }
  .consent { padding:18px; }
  footer { align-items:flex-start; flex-direction:column; justify-content:center; gap:4px; padding:18px 20px; }
}
