@font-face{font-family:ChongchongFull;src:url('assets/noto-input-full.woff2?v=20260923compliance') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.contact-dialog{width:min(1020px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:6px;color:#000;background:#fff;box-shadow:0 28px 110px #0005}
.contact-dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}
.contact-layout{display:grid;grid-template-columns:35% 65%;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain}
.contact-story{padding:48px 34px 36px;background:#000;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate}
.contact-story::after{content:"";position:absolute;width:290px;height:290px;border:1px solid #55fa142c;border-radius:50%;left:-90px;bottom:45px;z-index:-1;box-shadow:0 0 0 38px #55fa1405,0 0 0 80px #55fa1404}
.contact-kicker{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;color:#bdbdbd;margin-bottom:34px}
.contact-kicker::before{content:"";height:6px;width:6px;background:var(--green)}
.contact-story h3{font-size:33px;line-height:1.45;letter-spacing:0;max-width:9em;text-wrap:initial}
.contact-story h3 span{color:var(--green)}
.contact-story>p{font-size:13px;line-height:1.9;color:#b4b4b4;margin-top:20px;max-width:18em}
.contact-direct{margin-top:auto;padding-top:72px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.contact-direct small{color:#aaa;font-size:12px;margin-bottom:1px}
.contact-direct .contact-phone{font-size:24px;letter-spacing:-.02em;color:#fff;white-space:nowrap}
.contact-direct .contact-email{font-size:12px;color:#bbb;overflow-wrap:anywhere}
.contact-direct a:hover{color:var(--green)}
.contact-form-wrap{padding:44px 44px 34px;min-width:0}
.contact-form-wrap h2{font-size:28px;letter-spacing:0;padding-right:42px}
.contact-intro{font-size:13px;color:#616161;margin-top:12px;line-height:1.8}
.contact-close{position:absolute;right:14px;top:14px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff;cursor:pointer;color:#333}
.contact-close:hover{background:#f1f1f1}.contact-close svg{width:19px;height:19px}
.contact-dialog :focus-visible{outline:2px solid #24750b;outline-offset:4px}
#contact-dialog-title:focus{outline:none}
.contact-form{margin-top:27px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}
.contact-field{min-width:0}.contact-field label,.contact-business legend{display:block;font-size:13px;font-weight:700;line-height:1.7}
.contact-field label span,.contact-business legend span{font-size:11px;font-weight:400;color:#777;margin-left:7px}
.contact-field label .required-mark,.contact-business legend .required-mark{color:#356226}
.contact-field input{display:block;font:inherit;font-family:ChongchongWeb,ChongchongFull;font-weight:400;font-size:14px;width:100%;min-height:48px;margin-top:8px;padding:11px 13px;border:1px solid #d6d6d6;background:#fff;border-radius:3px;color:#111;transition:border-color .15s,box-shadow .15s}
.contact-field input::placeholder{color:#8a8a8a;font-size:12px}.contact-field input:hover{border-color:#aaa}
.contact-field input:focus{outline:none;border-color:#358b16;box-shadow:0 0 0 3px #55fa141b}
.contact-field input[aria-invalid=true]{border-color:#b0442c}
.contact-error{font-size:11px;color:#a53621;margin-top:5px;line-height:1.5;min-height:0}
.contact-error:empty{display:none}
.contact-business{border:0;padding:0;margin:22px 0 0;min-width:0}
.contact-business legend{padding:0;margin-bottom:10px}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-option{position:relative;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #d6d6d6;border-radius:3px;font-size:13px;min-height:49px;transition:background .15s,border-color .15s}
.contact-option:hover{border-color:#8e8e8e;background:#fafafa}
.contact-option:has(input:checked){border-color:#327e18;background:#f2ffe9;box-shadow:inset 0 0 0 1px #327e18}
.contact-option:has(input:focus-visible){outline:2px solid #24750b;outline-offset:3px}
.contact-option input{appearance:none;width:15px;height:15px;margin:0;border:1px solid #999;border-radius:50%;flex-shrink:0;background:#fff}
.contact-option input:checked{border:5px solid #286a10;background:#fff}.contact-option input:focus-visible{outline:none}
.contact-purpose{font-size:11px;color:#777;line-height:1.8;margin-top:24px}
.contact-submit{width:100%;margin-top:15px;display:flex;justify-content:center;gap:14px;min-height:50px;cursor:pointer;font-size:14px;border-radius:3px}
.contact-submit:hover{background:#48e30f;transform:none}.contact-submit svg{width:18px;height:18px}
.contact-status{font-size:12px;line-height:1.8;margin-top:10px;color:#326921;min-height:0}.contact-status:empty{display:none}.contact-status[data-kind=error]{color:#a53621}
html.contact-open{overflow:hidden}
.footer a[href="tel:4000869333"]{font-size:clamp(18px,2vw,23px)!important;white-space:nowrap}
@media(min-width:981px){.contact-options{grid-template-columns:repeat(4,1fr)}.contact-option{padding:12px 10px;gap:7px;font-size:12px}}
@media(min-width:681px) and (max-height:700px){.contact-form-wrap{padding:32px 40px 26px}.contact-form{margin-top:22px}.contact-fields{gap:14px 18px}.contact-field input{min-height:44px;padding-block:9px}.contact-business{margin-top:20px}.contact-purpose{margin-top:18px}.contact-submit{margin-top:12px;min-height:46px}}
@media(max-width:850px){.contact-form-wrap{padding:38px 28px 30px}.contact-story{padding:42px 25px 30px}.contact-story h3{font-size:27px}.contact-direct .contact-phone{font-size:21px}.contact-layout{grid-template-columns:34% 66%}}
@media(max-width:680px){.contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.contact-layout{display:block;max-height:calc(100dvh - 24px)}.contact-story{padding:26px 25px}.contact-kicker{margin-bottom:13px}.contact-story h3{font-size:25px;max-width:none}.contact-story h3 br{display:none}.contact-story>p,.contact-direct{display:none}.contact-form-wrap{padding:27px 24px 25px}.contact-form-wrap h2{font-size:25px}.contact-close{background:#161616;color:#fff;right:10px;top:10px}.contact-close:hover{background:#333}.contact-fields{gap:16px 12px}.contact-form{margin-top:22px}.contact-field input{font-size:16px}.contact-options{gap:9px}.contact-option{padding:12px 10px;font-size:12px}.contact-purpose{margin-top:20px}}
@media(max-width:360px){.contact-fields{grid-template-columns:1fr}.contact-story h3{font-size:23px}.contact-form-wrap{padding-inline:20px}}
@media(min-width:360px) and (max-width:540px){.footer-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-option{transition:none}}
