.contact-root{--ind:#4f46e5;--ind-d:#3730a3;--ind-l:#818cf8;--dk:#07070a;--lt:#fff;--gr:#f7f7f9;--tp:#111827;--ts:#6b7280;--tt:#9ca3af;--bd:#e5e7eb;--err:#ef4444;--succ:#10b981;background:var(--gr);-webkit-font-smoothing:antialiased;min-height:100vh;color:var(--tp);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif;display:flex}.contact-header{background:var(--dk);z-index:50;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;height:56px;padding:0 2.5rem;display:flex;position:sticky;top:0}.contact-hlogo{align-items:center;gap:8px;text-decoration:none;display:flex}.contact-hmark{background:var(--ind);border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.contact-hmark svg{color:#fff;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.contact-hname{color:#fff;letter-spacing:-.3px;font-size:15px;font-weight:800}.contact-hnav{align-items:center;gap:1.5rem;display:flex}.contact-hnav a{color:#ffffff80;font-size:13.5px;text-decoration:none;transition:color .2s}.contact-hnav a:hover{color:#fff}.contact-hnav .contact-nav-btn{background:var(--ind);color:#fff;border-radius:8px;padding:7px 16px;font-size:13.5px;font-weight:700}.contact-hnav .contact-nav-btn:hover{background:var(--ind-d);color:#fff}.contact-hero{background:var(--dk);text-align:center;padding:4rem 2.5rem 5rem;position:relative;overflow:hidden}.contact-hero-glow{pointer-events:none;background:radial-gradient(#4f46e52e 0%,#0000 65%);width:700px;height:400px;position:absolute;top:-80px;left:50%;transform:translate(-50%)}.contact-hero h1{color:#fff;letter-spacing:-1.5px;margin-bottom:.875rem;font-size:clamp(28px,4.5vw,46px);font-weight:900;line-height:1.15;position:relative}.contact-hero p{color:#ffffff73;max-width:480px;margin:0 auto;font-size:16px;line-height:1.7;position:relative}.contact-hero strong{color:#ffffffbf}.contact-type-section{z-index:10;max-width:1040px;margin:-2.5rem auto 0;padding:0 2rem;position:relative}.contact-type-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.contact-type-card{background:var(--lt);border:1.5px solid var(--bd);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:7px;padding:1.125rem .875rem;font-family:inherit;transition:all .2s;display:flex}.contact-type-card:hover{border-color:var(--ind-l);transform:translateY(-2px);box-shadow:0 8px 20px #4f46e51a}.contact-type-card.on{border-color:var(--ind);background:#f5f3ff;box-shadow:0 0 0 3px #4f46e51f}.contact-type-emoji{font-size:24px;line-height:1}.contact-type-name{color:var(--tp);font-size:13px;font-weight:700}.contact-type-desc{color:var(--ts);font-size:11px;line-height:1.4}.contact-main{flex:1;grid-template-columns:1fr 1.5fr;align-items:start;gap:1.5rem;max-width:1040px;margin:2.5rem auto 4rem;padding:0 2rem;display:grid}.contact-left{flex-direction:column;gap:14px;display:flex}.contact-card-title{color:var(--ts);letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;font-size:13px;font-weight:700}.contact-channel-card,.contact-hours-card{background:var(--lt);border:1px solid var(--bd);border-radius:16px;padding:1.5rem}.contact-channel-item{border-bottom:1px solid #f3f4f6;align-items:center;gap:12px;padding:.875rem 0;display:flex}.contact-channel-item:last-child{border-bottom:none;padding-bottom:0}.contact-channel-ico{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.contact-channel-ico svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;color:#fff;width:18px;height:18px}.contact-ch-name{color:var(--tp);font-size:13.5px;font-weight:700}.contact-ch-val{color:var(--ind);font-size:13px;font-weight:600;text-decoration:none}.contact-ch-val:hover{text-decoration:underline}.contact-ch-note{color:var(--tt);margin-top:1px;font-size:11.5px}.contact-hours-row{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;padding:6px 0;font-size:13.5px;display:flex}.contact-hours-row:last-child{border-bottom:none}.contact-hours-day{color:var(--ts);font-weight:500}.contact-hours-time{color:var(--tp);font-weight:600}.contact-hours-time.closed{color:var(--tt)}.contact-hours-badge{color:#166534;background:#dcfce7;border-radius:20px;align-items:center;gap:4px;margin-top:.5rem;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.contact-hours-badge:before{content:"●";font-size:7px}.contact-hours-badge.closed{color:var(--ts);background:#f3f4f6}.contact-hours-note{color:var(--tt);margin-top:.5rem;font-size:12px}.contact-faq-card{background:var(--lt);border:1px solid var(--bd);border-radius:16px;overflow:hidden}.contact-faq-head{border-bottom:1px solid #f3f4f6;padding:1.25rem 1.5rem}.contact-faq-head .contact-card-title{margin-bottom:0}.contact-faq-item{border-bottom:1px solid #f3f4f6}.contact-faq-item:last-child{border-bottom:none}.contact-faq-q{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:.9rem 1.5rem;font-family:inherit;transition:background .15s;display:flex}.contact-faq-q:hover{background:#fafafa}.contact-faq-q-text{color:var(--tp);font-size:13.5px;font-weight:600;line-height:1.45}.contact-faq-chevron{width:18px;height:18px;stroke:var(--ts);fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform .25s}.contact-faq-item.open .contact-faq-chevron{transform:rotate(180deg)}.contact-faq-a{color:var(--ts);max-height:0;padding:0 1.5rem;font-size:13.5px;line-height:1.7;transition:max-height .3s,padding .3s;overflow:hidden}.contact-faq-item.open .contact-faq-a{max-height:200px;padding:.25rem 1.5rem .875rem}.contact-form-card{background:var(--lt);border:1px solid var(--bd);border-radius:16px;padding:2rem}.contact-form-card-title{color:var(--tp);letter-spacing:-.4px;margin-bottom:.375rem;font-size:17px;font-weight:800}.contact-form-card-sub{color:var(--ts);margin-bottom:1.5rem;font-size:13.5px}.contact-selected-type{color:var(--ind);background:#eef2ff;border:1px solid #c7d2fe;border-radius:20px;align-items:center;gap:6px;margin-bottom:1.25rem;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.contact-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.contact-field{margin-bottom:1.125rem}.contact-field label{color:var(--tp);margin-bottom:.5rem;font-size:13px;font-weight:700;display:block}.contact-req-mark{color:var(--err);margin-left:2px}.contact-field input,.contact-field textarea,.contact-field select{border:1.5px solid var(--bd);width:100%;color:var(--tp);background:var(--lt);border-radius:11px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .18s,box-shadow .18s}.contact-field input:focus,.contact-field textarea:focus,.contact-field select:focus{border-color:var(--ind);box-shadow:0 0 0 3px #4f46e51a}.contact-field input.err,.contact-field textarea.err,.contact-field select.err{border-color:var(--err)}.contact-field textarea{resize:vertical;min-height:130px}.contact-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.contact-field-err{color:var(--err);align-items:center;gap:4px;margin-top:.375rem;font-size:12px;display:none}.contact-field-err.show{display:flex}.contact-field-err svg{stroke:currentColor;fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:13px;height:13px}.contact-field-hint{color:var(--tt);margin-top:.375rem;font-size:12px}.contact-field-hint.right{text-align:right}.contact-label-opt{color:var(--tt);font-weight:400}.contact-file-zone{border:1.5px dashed var(--bd);text-align:center;cursor:pointer;border-radius:11px;padding:1.25rem;transition:all .18s;position:relative}.contact-file-zone:hover,.contact-file-zone.drag{border-color:var(--ind);background:#f5f3ff}.contact-file-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.contact-file-zone svg{width:24px;height:24px;stroke:var(--tt);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;margin:0 auto .5rem;display:block}.contact-fz-title{color:var(--ts);font-size:13.5px;font-weight:600}.contact-fz-sub{color:var(--tt);margin-top:2px;font-size:12px}.contact-file-list{flex-direction:column;gap:5px;margin-top:8px;display:flex}.contact-file-item{background:var(--gr);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.contact-file-item svg{width:14px;height:14px;stroke:var(--ind);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.contact-fi-name{color:var(--tp);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.contact-fi-size{color:var(--tt);flex-shrink:0}.contact-fi-del{cursor:pointer;color:var(--tt);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;transition:color .15s;display:flex}.contact-fi-del:hover{color:var(--err)}.contact-fi-del svg{stroke:currentColor;width:14px;height:14px}.contact-submit-btn{background:var(--ind);color:#fff;cursor:pointer;letter-spacing:-.2px;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:1.5rem;padding:14px;font-family:inherit;font-size:15px;font-weight:800;transition:all .2s;display:flex}.contact-submit-btn:hover:not(:disabled){background:var(--ind-d);transform:translateY(-1px);box-shadow:0 8px 20px #4f46e54d}.contact-submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.contact-submit-btn svg{stroke:currentColor;fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.contact-submit-btn .contact-spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite contact-spin;display:none}.contact-submit-btn.loading .contact-btn-text{display:none}.contact-submit-btn.loading .contact-spinner{display:block}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-privacy-note{text-align:center;color:var(--tt);margin-top:.875rem;font-size:12px}.contact-privacy-note a{color:var(--ts);text-decoration:underline}.contact-submit-error{color:var(--err);text-align:center;margin-top:.75rem;font-size:13px;line-height:1.5}.contact-success-screen{text-align:center;padding:2rem 1rem}.contact-success-ico{background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;display:flex}.contact-success-ico svg{stroke:#10b981;fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.contact-success-title{color:var(--tp);letter-spacing:-.5px;margin-bottom:.5rem;font-size:20px;font-weight:900}.contact-success-desc{color:var(--ts);margin-bottom:1.5rem;font-size:14px;line-height:1.7}.contact-success-ticket{background:var(--gr);color:var(--ts);border-radius:12px;margin-bottom:1.5rem;padding:.875rem 1.25rem;font-size:13px}.contact-success-ticket strong{color:var(--tp)}.contact-back-btn{border:1.5px solid var(--bd);color:var(--ts);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.contact-back-btn:hover{border-color:var(--ind);color:var(--ind);background:#f5f3ff}.contact-back-btn svg{stroke:currentColor;fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.contact-page-footer{background:var(--dk);text-align:center;border-top:1px solid #ffffff0f;padding:2rem 2.5rem}.contact-page-footer p{color:#ffffff47;font-size:12.5px;line-height:1.7}.contact-page-footer a{color:#fff6;text-decoration:none}.contact-page-footer a:hover{color:#ffffffb3}@media (max-width:900px){.contact-type-grid{grid-template-columns:repeat(3,1fr)}.contact-main,.contact-form-row{grid-template-columns:1fr}.contact-header{padding:0 1.25rem}.contact-hnav .contact-nav-btn{display:none}.contact-hero{padding:3rem 1.5rem 4rem}.contact-type-section{padding:0 1.25rem}.contact-main{margin:2rem auto 3rem;padding:0 1.25rem}}@media (max-width:520px){.contact-type-grid{grid-template-columns:1fr 1fr}.contact-type-card:last-child{grid-column:1/-1}}
