.contact_page_main { --contact-blue:var(--home-blue, #0b328b); min-height:100vh; padding:150px var(--y-layout-page-gutter) 124px; box-sizing:border-box; background:#fff; color:var(--contact-blue); }
.contact_page_inner { width:min(100%,1100px); margin:0 auto; }
.contact_page_intro { width:100%; margin-bottom:96px; text-align:center; }
.contact_page_intro h1 { margin:0 0 70px; font:500 var(--type-section)/1.3 "Playfair",serif; letter-spacing:-.05em; }
.contact_page_intro p { max-width:830px; margin:0 auto; font:300 var(--type-meta)/1.35 "Pretendard",sans-serif; letter-spacing:-.15px; }
.contact_page_email { display:inline-block; margin-top:26px; color:var(--contact-blue); border-bottom:1px solid currentColor; font:300 var(--type-meta)/1.35 "Pretendard",sans-serif; }
.contact_page_form { display:flex; flex-direction:column; gap:16px; }
.contact_page_form .name_company_wrap { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact_field { position:relative; display:flex; min-height:70px; flex-direction:column; }
.visually_hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.contact_field input,.contact_field textarea { width:100%; padding:18px 20px; border:1px solid var(--contact-blue); border-radius:8px; box-sizing:border-box; background:transparent; color:var(--contact-blue); font:300 max(16px, var(--type-body))/1.5 "Pretendard",sans-serif; letter-spacing:-.15px; outline:0; resize:vertical; transition:border-color 240ms ease; }
.contact_field input { height:56px; }
.contact_field textarea { min-height:230px; }
.contact_field input::placeholder,.contact_field textarea::placeholder { color:var(--contact-blue); opacity:.78; }
.contact_field input:focus,.contact_field textarea:focus { border-color:var(--contact-blue); box-shadow:0 0 0 2px rgba(11,50,139,.18); }
.contact_field input.is_invalid,.contact_field textarea.is_invalid { border-color:var(--contact-blue); }
.field_error { min-height:14px; padding:5px 2px 0; color:var(--contact-blue); font:300 var(--type-fine)/1.3 "Pretendard",sans-serif; }
.contact_actions { display:flex; min-height:62px; align-items:center; gap:20px; }
.contact_page_main .contact_actions .form_status { min-height:18px; margin:0; color:var(--contact-blue); font:300 var(--type-fine)/1.3 "Pretendard",sans-serif; }
.contact_page_main .contact_actions .form_status.is_error { color:var(--contact-blue); }
@media (max-width:1024px) { .contact_page_main { padding:140px var(--y-layout-page-gutter) 96px; } .contact_page_intro { margin-bottom:72px; } }
@media (max-width:768px) { .contact_page_main { padding:120px var(--y-layout-page-gutter) 80px; } .contact_page_intro { margin-bottom:58px; } .contact_page_intro h1 { margin-bottom:44px; } .contact_page_form .name_company_wrap { grid-template-columns:1fr; gap:16px; } }
@media (max-width:520px) { .contact_page_main { padding:105px var(--y-layout-page-gutter) 72px; } .contact_field textarea { min-height:200px; } }
