html.contact-open{overflow:hidden}
.contact-dialog{box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:38px;border:1px solid #e2dcd0;border-radius:14px;background:#f3efe7;color:#262624;box-shadow:0 24px 90px #26262430;font:14px/1.6 "Hiragino Sans","Noto Sans CJK SC","PingFang SC",sans-serif;overflow:auto;overscroll-behavior:contain}
.contact-dialog *{box-sizing:border-box}
.contact-dialog::backdrop{background:#2626248c;backdrop-filter:blur(5px)}
.contact-dialog-close{position:absolute;right:16px;top:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e2dcd0;border-radius:50%;background:transparent;color:#262624;cursor:pointer;font:26px/1 sans-serif}
.contact-dialog-close:hover{background:#e2dcd0}
.contact-dialog-heading{margin:0 0 24px;padding-right:14px}
.contact-eyebrow{margin:0 0 10px;color:#8a7356;font:10px/1.4 sans-serif;letter-spacing:.16em}
.contact-dialog h2{margin:0 0 10px;font:400 36px/1.2 Georgia,"Noto Serif CJK SC",serif}
#contact-dialog-lead{margin:0;color:#696960;font-size:13px;line-height:1.7}
#contact-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}
#contact-form label{display:grid;min-width:0;gap:6px;color:#5c5c54;font-size:12px}
#contact-form .contact-full{grid-column:1/-1}
#contact-form input,#contact-form textarea{display:block;width:100%;min-width:0;padding:11px 12px;border:1px solid #d6cfc2;border-radius:5px;background:#fffdf9;color:#262624;font-family:inherit;font-size:14px;line-height:1.5;outline:none}
#contact-form textarea{min-height:120px;resize:vertical}
#contact-form input:focus,#contact-form textarea:focus{border-color:#8a7356;box-shadow:0 0 0 2px #8a735620}
#contact-form .contact-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7}
#contact-form .contact-consent input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:#8a7356}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.contact-status{margin:0;padding:12px;border:1px solid #e2dcd0;border-radius:5px;font-size:12px;outline:none}
.contact-status.is-success{background:#858c7a1a;color:#47533e}.contact-status.is-error{background:#8a73561a;color:#795342}
.contact-submit{min-height:46px;padding:11px 18px;border:1px solid #262624;border-radius:5px;background:#262624;color:#f3efe7;font:13px/1.5 sans-serif;cursor:pointer}
.contact-submit:hover{background:#45443c}.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-dialog button:focus-visible{outline:2px solid #8a7356;outline-offset:3px}
.contact-page{margin:0;background:#f3efe7;color:#262624;font:15px/1.7 sans-serif}
.contact-page-main{display:grid;place-content:center;justify-items:center;min-height:calc(100svh - 88px);padding:60px 24px;text-align:center}
.contact-page-main img{width:220px;height:auto}.contact-page-main h1{font:400 40px/1.2 Georgia,serif}.contact-page-main p{max-width:440px;color:#696960}.contact-page-main button{margin-top:18px}
@media(max-width:600px){.contact-dialog{padding:30px 22px 24px;max-height:calc(100dvh - 24px)}.contact-dialog h2{font-size:30px}#contact-form{grid-template-columns:1fr;gap:14px}.contact-dialog-heading{margin-bottom:20px}#contact-form textarea{min-height:105px}.contact-dialog-close{right:12px;top:12px}}
