.contact-intro{text-align:center;padding:56px max(16px,calc((100vw - 1120px)/2)) 24px}.contact-label{display:inline-block;font-size:.9rem;font-weight:600;color:#d41d31;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.contact-title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:750;line-height:1.15;margin:0 auto 1.5rem;color:#172026;max-width:640px}.contact-desc{font-size:.95rem;line-height:1.6;color:#4b5563;max-width:620px;margin:0 auto}.contact-section{padding:32px max(16px,calc((100vw - 1120px)/2)) 56px}.contact-grid{display:grid;grid-template-columns:320px 1fr;gap:12px;align-items:stretch}.contact-subtitle{font-size:1.3rem;font-weight:600;line-height:1.3;color:#172026;margin:0 0 16px}.contact-info{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 4px 16px #0000000a}.contact-list{list-style:none;margin:0;padding:0;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:16px}.contact-item{margin:0}.contact-link{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:12px;color:inherit;transition:background-color .18s ease,transform .18s ease}.contact-link:hover{background:#fdf0f2;transform:translateY(-2px)}.contact-link:focus-visible,.contact-btn:focus-visible{outline:2px solid #d41d31;outline-offset:2px}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#d41d311a;color:#d41d31;flex-shrink:0}.contact-icon svg{width:22px;height:22px}.contact-text{display:flex;flex-direction:column;gap:2px}.contact-label-text{font-size:.85rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.8px}.contact-value{font-size:.95rem;font-weight:600;color:#172026}.contact-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 4px 16px #0000000a}.contact-form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;font-size:.95rem;color:#374151}.form-label{font-weight:600;color:#172026}.form-req{color:#d41d31;font-weight:700}.form-field input,.form-field textarea,.form-field select{font-family:inherit;font-size:.95rem;color:#172026;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 14px;transition:border-color .16s ease,box-shadow .16s ease}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:#d41d31;box-shadow:0 0 0 3px #d41d3114}.form-field input::placeholder,.form-field textarea::placeholder{color:#9ca3af}.form-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;cursor:pointer}.form-field textarea{resize:vertical;min-height:120px}.contact-btn{align-self:flex-start;gap:8px;background:#d41d31;color:#fff;box-shadow:0 4px 14px #d41d3140}.contact-btn svg{width:18px;height:18px}.contact-btn:hover{background:#a81528;box-shadow:0 6px 20px #d41d3159}.contact-address{background:#fff;padding:56px max(16px,calc((100vw - 1120px)/2)) 64px}.address-grid{display:grid;grid-template-columns:360px 1fr;gap:12px;align-items:stretch}.address-info{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:16px;box-shadow:0 4px 16px #0000000a}.address-block{display:flex;flex-direction:column;gap:10px;font-style:normal;color:#374151}.address-company{font-size:1rem;font-weight:600;color:#172026;margin:0}.address-detail{font-size:.95rem;line-height:1.6;color:#4b5563;margin:0}.address-map{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000000a;min-height:400px}.address-map iframe{display:block;width:100%;height:100%}@media(max-width:1040px){.contact-grid,.address-grid{grid-template-columns:1fr}}@media(max-width:680px){.form-row{grid-template-columns:1fr}}@media(max-width:520px){.contact-intro{padding:36px 20px 16px}.contact-section{padding:24px 20px 40px}.contact-address{padding:40px 20px 56px}.contact-info,.contact-form-card,.address-info{padding:20px}.address-map{min-height:280px}.contact-btn{align-self:stretch;width:100%}}
