.contact-page{min-height:calc(100svh - var(--header-offset));padding:clamp(64px,7vw,120px) 24px 140px;background:#f5f7fb;color:#1a1a1a}
/* 유리 푸터가 겹쳐 올라올 자리: 연회색 배경을 푸터 높이만큼 늘린다(--footer-h는 js/footer.js). */
.contact-page::after{content:"";display:block;height:var(--footer-h,0px)}
.contact-page-intro{max-width:1040px;margin:0 auto 52px}
.contact-page-intro h1{font-size:44px;line-height:1.2;letter-spacing:-.05em}
.contact-page-intro>p:last-child{margin-top:18px;color:#4d5565;font-size:clamp(16px,1.5vw,21px);line-height:1.6;letter-spacing:-.02em;word-break:keep-all}
.contact-page-form{display:grid;gap:32px;max-width:1040px;margin:auto;padding:clamp(24px,5vw,64px);border:1px solid #e3e8f0;border-radius:24px;background:white;box-shadow:0 24px 70px rgb(33 55 98 / .08);font-size:17px}
.contact-options{min-width:0;margin:0;padding:0;border:0}
.contact-options legend{margin-bottom:16px;padding:0;font-weight:700}
.contact-options legend span,.contact-field-label>span:not(.contact-optional),.contact-privacy>span{color:var(--blue)}
.contact-options legend small{margin-left:8px;color:#687180;font-size:14px;font-weight:400}
.contact-option-list{display:flex;flex-wrap:wrap;gap:10px}
.contact-option{position:relative;cursor:pointer}
.contact-option input{position:absolute;width:1px;height:1px;opacity:0}
.contact-option span{display:block;padding:12px 18px;border:1px solid #cfd5df;border-radius:999px;background:white;color:#343b49;font-size:16px;line-height:1.3;transition:background .15s,border-color .15s,color .15s}
.contact-option input:checked+span{border-color:var(--blue);background:var(--blue);color:white}
.contact-option input:focus-visible+span{outline:3px solid #d99332;outline-offset:3px}
.contact-category-list .contact-option span{padding:14px 22px;font-weight:600}
.contact-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-input-wide{grid-column:1/-1}
.contact-input-field{display:grid;gap:10px;font-weight:700}
.contact-input-field .contact-optional{color:#687180;font-size:14px;font-weight:400}
.contact-input-field input,.contact-input-field select,.contact-input-field textarea{width:100%;min-width:0;padding:16px 18px;border:1px solid #cfd5df;border-radius:10px;background:white;color:#1a1a1a;font-size:16px;font-weight:400;line-height:1.5}
.contact-input-field input::placeholder,.contact-input-field textarea::placeholder{color:#7b8492}
.contact-input-field textarea{resize:vertical;min-height:170px}
.contact-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.contact-privacy{display:flex;align-items:center;gap:8px;color:#404958;font-size:15px;cursor:pointer}
.contact-privacy input{width:18px;height:18px;accent-color:var(--blue)}
.contact-submit{min-height:54px;padding:12px 30px;border-radius:999px;font-size:17px}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-form-notice{color:var(--blue);font-size:15px;line-height:1.5}
@media(max-width:700px){.contact-page{padding:64px 16px 90px}.contact-page-intro{margin-bottom:32px}.contact-page-intro h1{font-size:38px}.contact-page-form{gap:28px;border-radius:16px}.contact-category-list{display:grid;grid-template-columns:1fr}.contact-category-list .contact-option span{text-align:center}.contact-input-grid{grid-template-columns:1fr;gap:24px}.contact-input-wide{grid-column:auto}.contact-form-bottom{align-items:stretch;flex-direction:column}.contact-submit{width:100%}}
