.yxc-contact{box-sizing:border-box;max-width:1480px;margin:0 auto;padding:150px 50px 80px;color:#111}
.yxc-contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:start}
.yxc-contact h1{font-size:3rem;line-height:1.15;letter-spacing:-.03em;margin:0 0 16px;font-weight:700;color:#000}
.yxc-contact-intro{font-size:.875rem;line-height:1.7;color:#555;margin:0 0 38px;max-width:620px}
.yxc-contact-info{margin:0 0 40px}
.yxc-contact-info h2,.yxc-contact-form h2{display:flex;align-items:center;gap:10px;border-bottom:1px solid #888;font-size:1.375rem;line-height:1.4;font-weight:400;margin:0 0 18px;padding:0 0 4px;color:#111}
.yxc-contact-info h2 svg,.yxc-contact-form h2 svg{width:20px;height:20px;flex:0 0 20px}
.yxc-contact-info p,.yxc-contact-info address{font-size:.875rem;line-height:1.8;margin:0 0 6px;font-style:normal;color:#111}
.yxc-contact-info .contact-label{color:#666;margin-bottom:6px}
.yxc-contact-info a{color:#111;text-decoration:none;font-weight:600}
.yxc-contact-info a:hover{text-decoration:underline}
.yxc-contact-form{padding-top:44px;min-width:0}
.yxc-contact-form .contact-field{margin-bottom:20px;min-width:0}
.yxc-contact-form label{display:block;font-size:.875rem;line-height:1.5;color:#555;margin:0 0 6px}
.yxc-contact-form input,.yxc-contact-form select,.yxc-contact-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:11px 13px;border:1px solid #ddd;border-radius:5px;background:#fff;color:#111;font:inherit;font-size:.875rem;line-height:1.5}
.yxc-contact-form textarea{resize:vertical;min-height:125px}
.yxc-contact-form input:focus,.yxc-contact-form select:focus,.yxc-contact-form textarea:focus{border-color:#111;outline:1px solid #111;outline-offset:1px}
.yxc-contact-form .contact-field-invalid{border-color:#b50000}
.yxc-contact-form .contact-field-error{font-size:.8rem;color:#b50000;margin-top:5px;line-height:1.5}
.yxc-contact-form .contact-file-picker{display:flex;align-items:center;border:1px solid #ddd;border-radius:5px;overflow:hidden;position:relative}
.yxc-contact-form .contact-file-button{flex:0 0 auto;margin:0;padding:10px 12px;border-right:1px solid #ddd;background:#f7f7f7;color:#111;cursor:pointer;font-size:.8125rem}
.yxc-contact-form .contact-file-summary{font-size:.8125rem;padding:8px 12px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.yxc-contact-form .contact-file-input{position:absolute;width:1px;height:1px;opacity:0;padding:0;bottom:0;left:0}
.yxc-contact-form .contact-file-help{color:#666;font-size:.75rem;line-height:1.6;margin-top:6px}
.yxc-contact-form .contact-file-item{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:.8125rem;padding:7px 0;border-bottom:1px solid #eee}
.yxc-contact-form .contact-file-name{min-width:0;overflow-wrap:anywhere}
.yxc-contact-form .contact-file-remove{flex:0 0 auto;background:none;border:0;color:#333;cursor:pointer;padding:4px 8px;font:inherit}
.yxc-contact-form .contact-submit{width:100%;border:0;background:#000;color:#fff;border-radius:5px;padding:13px 20px;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.yxc-contact-form .contact-submit:disabled{opacity:.6;cursor:wait}
.yxc-contact-form .contact-quote-note{font-size:.8125rem;line-height:1.7;color:#555;margin-top:16px}
.yxc-contact-form .contact-quote-note a{color:#111;font-weight:600;text-decoration:underline}
.yxc-contact-form .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:1050px){.yxc-contact-grid{gap:50px}.yxc-contact{padding:130px 32px 64px}.yxc-contact h1{font-size:2.6rem}}
@media(max-width:768px){.yxc-contact{padding:110px 24px 60px}.yxc-contact-grid{grid-template-columns:minmax(0,1fr);gap:8px}.yxc-contact h1{font-size:2.25rem}.yxc-contact-intro{margin-bottom:30px}.yxc-contact-info{margin-bottom:28px}.yxc-contact-form{padding-top:12px}.yxc-contact-info h2,.yxc-contact-form h2{font-size:1.25rem}}
.contact-delivery-dialog { border: 0; border-radius: 12px; padding: 32px; width: min(460px, calc(100vw - 32px)); box-sizing: border-box; color: #111; background: #fff; font-family: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif; box-shadow: 0 16px 64px #0003; }
.contact-delivery-dialog::backdrop { background: rgb(0 0 0 / 48%); }
.contact-delivery-dialog h2 { margin: 0 0 16px; font-size: 22px; }
.contact-delivery-dialog p { margin: 0; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.contact-delivery-dialog button { margin-top: 24px; border: 1px solid #111; border-radius: 6px; padding: 10px 28px; background: #111; color: #fff; font: inherit; cursor: pointer; }
.contact-delivery-dialog button:focus-visible { outline: 3px solid #3679e5; outline-offset: 3px; }
.contact-delivery-spinner { width: 32px; height: 32px; margin: 0 0 20px; border: 3px solid #ddd; border-top-color: #111; border-radius: 50%; animation: contact-delivery-spin .8s linear infinite; }
@keyframes contact-delivery-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .contact-delivery-spinner { animation: none; } }
