/* The inquiry flow shares the restrained ALLFIX visual language. */
/* The inline channel link stays available without covering form fields. */
.page-contact .kakao-shortcut{display:none}
.contact-page{padding-block:78px 112px}
.contact-page-heading{max-width:860px;margin-bottom:58px}
.contact-page-heading .eyebrow{margin:0 0 24px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.16em}
.contact-page-heading h1{margin:0;color:var(--ink);font-size:clamp(40px,4.6vw,64px);font-weight:450;line-height:1.22;letter-spacing:-.045em;word-break:keep-all}
.contact-title-dot{color:inherit}
.contact-page-heading>p:last-child{margin:24px 0 0;color:var(--muted);font-size:16px;line-height:1.9;letter-spacing:-.015em}
.contact-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:80px;align-items:start}
.contact-aside{min-width:0;padding-top:24px}
.contact-aside-heading{display:flex;align-items:flex-start;gap:16px}
.contact-line-mark{display:block;flex:0 0 28px;height:28px;position:relative;margin-top:7px}
.contact-line-mark:before,.contact-line-mark:after{content:"";position:absolute;height:1px;background:var(--ink);transform:rotate(-45deg)}
.contact-line-mark:before{width:29px;top:9px;left:0}
.contact-line-mark:after{width:18px;top:18px;left:13px}
.contact-aside-heading p{margin:0;font-size:24px;font-weight:400;line-height:1.6;letter-spacing:-.035em;word-break:keep-all}
.contact-aside-heading strong{font-weight:550}
.contact-aside-description{margin:24px 0 30px;color:var(--muted);font-size:14px;line-height:1.9;word-break:keep-all}
.contact-preparation{padding:25px 0;border-block:1px solid var(--line);background:#fff}
.contact-note-label{margin:0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.06em}
.contact-preparation .contact-note-label{font-size:12px;letter-spacing:0}
.contact-preparation h3{margin:10px 0 20px;color:var(--ink);font-size:20px;font-weight:550;letter-spacing:-.025em}
.contact-preparation ul{display:grid;gap:13px;list-style:none;margin:0;padding:0}
.contact-preparation li{display:flex;align-items:flex-start;gap:11px;color:var(--muted);font-size:14px;line-height:1.7;word-break:keep-all}
.contact-preparation li>span{color:var(--ink);font-weight:500}
.contact-preparation-note{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8}
.contact-assurance{display:flex;align-items:center;gap:14px;padding:24px 0;border-bottom:1px solid var(--line);margin-top:8px}
.contact-assurance-symbol{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;color:var(--ink);border:1px solid var(--line);border-radius:50%;font-size:21px}
.contact-assurance p{margin:0;color:var(--muted);font-size:13px;line-height:1.9}
.contact-assurance strong{color:var(--ink);font-weight:450}
.contact-channels{margin-top:28px}
.contact-channel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:64px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.contact-channel>span:first-child{grid-column:1;color:var(--muted);font-size:12px}
.contact-channel strong{grid-column:1;font-size:15px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}
.contact-channel>span:last-child{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:23px}
.contact-channel:hover strong{text-decoration:underline;text-underline-offset:5px}
.contact-channel:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.contact-channel-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
.contact-form-panel{min-width:0;padding:36px;border:1px solid var(--line);background:#fff}
.contact-form-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:32px}
.contact-form-top .contact-note-label{font-size:10px;letter-spacing:.15em}
.contact-form-top h2{margin:10px 0 0;color:var(--ink);font-size:25px;font-weight:550;letter-spacing:-.035em}
.contact-form-top>p{margin:0 0 3px;color:var(--muted);font-size:12px;white-space:nowrap}
.contact-required{margin-left:2px;color:var(--ink);font-weight:600}
.contact-service-fieldset{min-width:0;margin:0;padding:0;border:0}
.contact-service-fieldset legend{padding:0;margin:0 0 15px;color:var(--ink);font-size:15px;font-weight:550;line-height:1.6}
.contact-service-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contact-service-option{position:relative;display:block;min-width:0;cursor:pointer}
.contact-service-option>input{position:absolute;inset:0;width:1px;height:1px;opacity:0}
.contact-service-option>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:96px;height:100%;box-sizing:border-box;padding:17px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:background .15s,border-color .15s,color .15s}
.contact-service-option small{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.4;letter-spacing:.06em}
.contact-service-option strong{min-width:0;font-size:14px;font-weight:500;line-height:1.65;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}
.contact-service-option>span>span{align-self:end;font-size:18px;line-height:1.4}
.contact-service-option:hover>span{border-color:var(--ink)}
.contact-service-option input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.contact-service-option input:checked+span small{color:#d7d7d7}
.contact-service-option input:focus-visible+span{outline:2px solid var(--ink);outline-offset:4px}
.contact-service-option input:disabled+span{cursor:default;opacity:.65}
.contact-form-divider{height:1px;margin:30px 0;background:var(--line)}
.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 18px}
.contact-field{min-width:0}
.contact-field-wide{grid-column:1/-1}
.contact-field label{display:flex;align-items:center;gap:4px;margin-bottom:10px;color:var(--ink);font-size:14px;font-weight:500;line-height:1.7}
.contact-optional{margin-left:4px;color:var(--muted);font-size:11px;font-weight:400}
.contact-field input,.contact-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:13px 14px;border:1px solid #bcbcbc;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.65;letter-spacing:-.015em;transition:border-color .15s,box-shadow .15s}
.contact-field textarea{min-height:90px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#737373;opacity:1}
.contact-field input:hover,.contact-field textarea:hover{border-color:#666}
.contact-field input:focus,.contact-field textarea:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:2px}
.contact-field input[aria-invalid="true"],.contact-field textarea[aria-invalid="true"]{border-color:#454545}
.contact-field input[aria-invalid="true"]:focus,.contact-field textarea[aria-invalid="true"]:focus{outline-color:#454545}
.contact-field input:disabled,.contact-field textarea:disabled{opacity:.65;cursor:not-allowed}
.contact-field input[readonly],.contact-field textarea[readonly]{background:#f4f4f4;color:#555}
.contact-field-error{margin:8px 0 0;color:#454545;font-size:12px;line-height:1.8}
.contact-field-error#contact-error{margin-top:10px}
.contact-field-help{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.9;word-break:keep-all}
.contact-service-details{margin:30px 0 26px;padding:24px 20px;background:#f7f7f7;border:1px solid #ececec}
.contact-details-label{display:flex;align-items:center;gap:7px;margin:0 0 21px;color:var(--ink);font-size:13px;font-weight:500;line-height:1.7;word-break:keep-all}
.contact-details-label>span:first-child{font-size:17px;font-weight:400}
.contact-details-label>span:last-child{flex-shrink:0;margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}
.contact-service-details .contact-field-grid{gap:20px}
.contact-service-details .contact-field label{font-size:13px}
.contact-service-details .contact-field input,.contact-service-details .contact-field textarea{font-size:16px}
.contact-message-grid{margin-top:28px}
.contact-message-grid textarea{min-height:150px}
.contact-consent{margin-top:26px;padding:18px;border:1px solid var(--line);background:#fff}
.contact-consent>label{display:flex;align-items:flex-start;gap:12px;min-height:44px;color:var(--muted);font-size:13px;line-height:1.9;cursor:pointer;word-break:keep-all}
.contact-consent input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--ink)}
.contact-consent input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-consent a,.contact-privacy-note a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.contact-consent a:hover,.contact-privacy-note a:hover{text-decoration-thickness:2px}
.contact-consent a:focus-visible,.contact-privacy-note a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-consent .contact-required{font-size:11px;white-space:nowrap}
.contact-consent .contact-field-error{margin-left:32px}
.contact-privacy-caption{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.9;word-break:keep-all}
.contact-privacy-note{display:flex;align-items:flex-start;gap:10px;margin-top:22px}
.contact-privacy-note svg{flex-shrink:0;margin-top:3px;color:var(--muted)}
.contact-privacy-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.9;word-break:keep-all}
.contact-submit-button,.contact-copy-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;margin-top:28px;padding:15px 20px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;font-family:inherit;font-size:15px;font-weight:500;cursor:pointer}
.contact-submit-button svg,.contact-copy-button svg{flex-shrink:0}
.contact-submit-button:hover:not(:disabled),.contact-copy-button:hover:not(:disabled){background:#333;border-color:#333}
.contact-submit-button:focus-visible,.contact-copy-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-submit-button:disabled,.contact-copy-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.contact-submit-caption,.contact-copy-caption{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.8;text-align:center}
.contact-status{margin:16px 0 0;color:var(--ink);font-size:13px;line-height:1.9;word-break:keep-all}
.contact-status:empty{margin:0}
.contact-retry-panel{margin-top:22px;padding:20px;border:1px solid #777;background:#f7f7f7}
.contact-retry-panel p{margin:0 0 18px;color:var(--ink);font-size:13px;line-height:1.9;word-break:keep-all}
.contact-retry-button,.contact-new-button,.contact-select-button{min-height:46px;padding:11px 17px;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;cursor:pointer}
.contact-retry-button:hover,.contact-new-button:hover,.contact-select-button:hover{background:#f1f1f1}
.contact-retry-button:disabled{opacity:.5;cursor:wait}
.contact-retry-button:focus-visible,.contact-new-button:focus-visible,.contact-select-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-receipt,.contact-copy-result{margin-top:30px;padding:25px;border:1px solid var(--ink);background:#f7f7f7;scroll-margin-top:110px}
.contact-receipt:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.contact-result-heading{display:flex;align-items:center;gap:12px}
.contact-result-heading>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:var(--ink);color:#fff;font-size:15px}
.contact-result-heading h3{margin:0;color:var(--ink);font-size:18px;font-weight:550;line-height:1.6;letter-spacing:-.025em}
.contact-receipt>p,.contact-copy-result>p{margin:17px 0 20px;color:var(--muted);font-size:14px;line-height:1.9;word-break:keep-all}
.contact-receipt dl{margin:22px 0;padding:18px;background:#fff;border:1px solid var(--line)}
.contact-receipt dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;font-size:13px;line-height:1.9}
.contact-receipt dl>div+div{margin-top:12px}
.contact-receipt dt{color:var(--muted)}
.contact-receipt dd{margin:0;color:var(--ink);font-weight:550;overflow-wrap:anywhere}
.contact-receipt .contact-receipt-note{font-size:12px;margin-bottom:20px}
.contact-copy-result>label{display:block;margin-bottom:10px;color:var(--ink);font-size:13px}
.contact-copy-result textarea{display:block;box-sizing:border-box;width:100%;min-height:180px;padding:14px;border:1px solid #aaa;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.9;resize:vertical}
.contact-copy-result textarea:focus{outline:2px solid var(--ink);outline-offset:2px}
.contact-select-button{margin-top:15px}
.contact-copy-manual{border-color:#777;background:#f7f7f7}
.contact-copy-manual .contact-result-heading>span{background:var(--ink)}
.contact-page [hidden]{display:none!important}
.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1200px){.contact-layout{gap:96px}.contact-aside{max-width:350px}.contact-form-panel{padding:40px}}
@media(max-width:1023px){.contact-page{padding-block:60px 84px}.contact-layout{grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:32px}.contact-form-panel{padding:28px 24px}.contact-aside-heading p{font-size:21px}.contact-line-mark{display:none}.contact-service-option>span{padding:15px 10px;gap:9px}.contact-service-option strong{font-size:13px}.contact-service-option>span>span{display:none}.contact-service-options{gap:8px}.contact-service-details{padding:20px 16px}}
@media(max-width:767px){.contact-page{padding-block:40px 64px}.contact-page-heading{margin-bottom:30px}.contact-page-heading .eyebrow{font-size:10px;margin-bottom:18px}.contact-page-heading h1{font-size:40px;line-height:1.25}.contact-page-heading>p:last-child{font-size:14px;margin-top:20px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:30px}.contact-form-panel{padding:26px 20px}.contact-form-top{margin-bottom:28px;align-items:flex-start}.contact-form-top h2{font-size:23px}.contact-form-top>p{padding-top:4px;font-size:11px}.contact-service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-service-option>span{grid-template-columns:minmax(0,1fr) auto;min-height:89px;padding:14px;gap:10px}.contact-service-option strong{font-size:14px}.contact-service-option>span>span{display:block;font-size:17px}.contact-form-divider{margin:26px 0}.contact-field-grid{grid-template-columns:minmax(0,1fr);gap:23px}.contact-field-wide{grid-column:auto}.contact-field input,.contact-field textarea,.contact-service-details .contact-field input,.contact-service-details .contact-field textarea,.contact-copy-result textarea{font-size:16px}.contact-field label{font-size:14px}.contact-service-details{margin-block:26px;padding:20px 15px}.contact-details-label{align-items:flex-start;font-size:12px;gap:5px}.contact-details-label>span:last-child{font-size:10px}.contact-consent{padding:16px}.contact-consent>label{font-size:12px}.contact-submit-button,.contact-copy-button{min-height:56px;font-size:15px}.contact-aside{padding-top:0}.contact-aside-heading,.contact-assurance,.contact-preparation{display:none}.contact-aside-description{margin:0;font-size:14px}.contact-preparation{padding:22px 0}.contact-preparation h3{font-size:19px}.contact-channels{margin-top:12px}.contact-receipt,.contact-copy-result{padding:20px}.contact-receipt dl{padding:14px}.contact-receipt dl>div{grid-template-columns:66px minmax(0,1fr);font-size:12px;gap:8px}.contact-retry-button,.contact-new-button{width:100%}}
@media(max-width:379px){.contact-page-heading h1{font-size:35px}.contact-form-panel{padding:24px 15px}.contact-service-options{gap:8px}.contact-service-option>span{padding:13px 10px}.contact-service-option strong{font-size:13px}.contact-form-top h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.contact-page *{transition:none!important;scroll-behavior:auto!important}}

.contact-choice-explanation{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 18px}.contact-choice-explanation strong{font-weight:600;color:var(--ink)}
