/* 联系弹窗采用带雾面纹理的玻璃层，contact.js 保留资料上传与状态反馈。 */
.contact-dialog{
  --glass-ink:oklch(96% .002 90);--glass-muted:oklch(79% .002 90);--glass-line:oklch(94% .002 90 / .18);
  width:min(1040px,calc(100vw - 64px));max-height:calc(100dvh - 48px);padding:0;
  border:1px solid var(--glass-line);border-radius:28px;color:var(--glass-ink);
  background:linear-gradient(132deg,oklch(93% .002 90 / .12),transparent 40%),oklch(24% .001 90 / .78);
  backdrop-filter:blur(32px) saturate(.12);-webkit-backdrop-filter:blur(32px) saturate(.12);
  box-shadow:inset 0 1px 0 oklch(98% .002 90 / .2),0 28px 90px oklch(10% .001 90 / .4);overflow:auto;
}
.contact-dialog::backdrop{background:oklch(12% .001 90 / .42);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.contact-open{overflow:hidden}
.contact-dialog-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;padding:58px 56px 36px;position:relative}
.contact-dialog-close{position:absolute;right:20px;top:18px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--glass-line);border-radius:50%;background:oklch(96% .002 90 / .045);color:var(--glass-ink);font-size:22px;line-height:1;transition:background .2s,transform .2s}
.contact-dialog-close:hover{background:oklch(96% .002 90 / .13);transform:rotate(90deg)}
.contact-dialog-close:focus-visible{outline:2px solid var(--glass-ink);outline-offset:4px}
.contact-dialog-intro{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:8px 0 6px}
.contact-dialog-intro .eyebrow{font-size:10px;letter-spacing:.17em;color:var(--glass-muted);margin:0 0 38px}
.contact-dialog-intro h2{font-family:Georgia,'Edge Serif',serif;font-size:clamp(42px,4.4vw,58px);line-height:1.12;letter-spacing:-.045em;font-weight:400;margin:0 0 26px}
.contact-dialog-intro h2 span{display:block;white-space:nowrap}
.contact-dialog-intro h2 i{font-weight:400;color:oklch(88% .002 90)}
.contact-dialog-intro>p:not(.eyebrow){font-size:13px;line-height:1.95;color:var(--glass-muted);margin:0;max-width:27em}
.dialog-direct{margin-top:auto;padding-top:68px;width:100%}
.dialog-direct>span{font-size:11px;color:var(--glass-muted)}
.dialog-direct a{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding-bottom:15px;font-size:13px;letter-spacing:0;border-bottom:1px solid var(--glass-line)}
.dialog-direct a .email-address{font-size:13px;overflow-wrap:anywhere}.dialog-direct a>span:last-child{font-size:20px}
.inquiry-form{min-width:0;padding-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:block;min-width:0;margin-bottom:18px}.form-field>span{display:block;font-size:11px;line-height:1.5;color:var(--glass-muted);margin-bottom:8px}
.form-field input,.form-field textarea{display:block;width:100%;border:1px solid var(--glass-line);border-radius:10px;background:oklch(97% .002 90 / .045);color:var(--glass-ink);padding:12px 14px;font:inherit;font-size:14px;outline:0;transition:border-color .2s,background .2s,box-shadow .2s}
.form-field input:hover,.form-field textarea:hover{border-color:oklch(94% .002 90 / .34)}
.form-field input:focus,.form-field textarea:focus{border-color:oklch(88% .002 90 / .8);background:oklch(97% .002 90 / .075);box-shadow:0 0 0 3px oklch(88% .002 90 / .1)}
.form-field input::placeholder,.form-field textarea::placeholder{color:oklch(70% .002 90)}
.form-field textarea{resize:vertical;min-height:85px;max-height:200px;line-height:1.7}
.bp-drop{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:90px;border:1px dashed oklch(94% .002 90 / .29);border-radius:12px;padding:17px 19px;cursor:pointer;background:oklch(97% .002 90 / .025);transition:border-color .2s,background .2s}
.bp-drop:hover,.bp-drop.is-dragover{border-color:oklch(88% .002 90 / .7);background:oklch(97% .002 90 / .065)}
.bp-drop strong{font-size:12px;font-weight:400;overflow-wrap:anywhere}.bp-drop small{font-size:10px;line-height:1.7;color:var(--glass-muted);margin-top:7px}
.bp-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.bp-input:focus-visible+.bp-drop{outline:2px solid var(--glass-ink);outline-offset:4px}
.bp-remove{background:transparent;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:8px 0;color:var(--glass-muted)}
.form-honey{position:absolute;left:-10000px;opacity:0;width:1px;height:1px}
.form-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin-top:22px;padding:12px 21px;border:1px solid oklch(98% .002 90 / .3);border-radius:999px;background:oklch(92% .002 90);color:oklch(24% .002 90);font-size:13px;transition:background .2s,transform .2s}
.form-submit:hover{background:oklch(96% .002 90);transform:translateY(-1px)}.form-submit span{font-size:19px}.form-submit:disabled{cursor:wait;opacity:.6;transform:none}
.form-status{font-size:12px;line-height:1.8;color:var(--glass-ink);margin:12px 0 0;min-height:22px}.form-status.is-error{color:oklch(86% .07 42)}.form-note{font-size:10px;line-height:1.8;color:var(--glass-muted);margin:5px 0 0}
@supports not (backdrop-filter:blur(1px)){.contact-dialog{background:oklch(24% .001 90)}}
@media(max-width:900px) and (min-width:701px){.contact-dialog-shell{gap:32px;padding-left:36px;padding-right:36px;grid-template-columns:.85fr 1.15fr}.contact-dialog-intro h2{font-size:40px}}
@media(max-width:700px){
  .contact-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:22px;background:linear-gradient(132deg,oklch(93% .002 90 / .1),transparent 45%),oklch(24% .001 90 / .9)}
  .contact-dialog-shell{grid-template-columns:1fr;gap:28px;padding:38px 24px 26px}.contact-dialog-close{top:14px;right:14px}
  .contact-dialog-intro{padding:0}.contact-dialog-intro .eyebrow{font-size:9px;margin-bottom:20px}.contact-dialog-intro h2{font-size:42px;margin-bottom:17px}.contact-dialog-intro>p:not(.eyebrow){font-size:12px}.dialog-direct{padding-top:21px}.dialog-direct>span{display:none}.dialog-direct a{margin-top:0;padding-bottom:13px;font-size:12px}.dialog-direct a .email-address{font-size:12px}
  .inquiry-form{padding-top:0}.form-row{gap:12px}.form-field{margin-bottom:17px}.form-field input,.form-field textarea{font-size:16px;padding:11px 12px}.form-field>span{font-size:11px}.bp-drop{min-height:88px;padding:15px}.form-submit{margin-top:19px}.form-note{font-size:9px}
}
@media(prefers-reduced-motion:no-preference){.contact-dialog[open]{animation:dialog-arrive .35s cubic-bezier(.22,1,.36,1)}@keyframes dialog-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
