.contact-info{padding:4.5rem 0;background:#fff}.contact-info__container{max-width:1440px;margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:5fr 7fr;gap:3rem;align-items:start}.contact-info__header{margin-bottom:2rem}.contact-info__eyebrow{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.5rem;font-weight:600}.contact-info__title{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;color:#111;line-height:1.2;margin-bottom:.8rem}.contact-info__desc{font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.8;color:#555}.contact-info__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}.contact-info__item{display:flex;align-items:flex-start;gap:1rem}.contact-info__icon{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#333}.contact-info__icon svg{width:20px;height:20px}.contact-info__item-label{font-size:.85rem;font-weight:700;color:#111;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.03em}.contact-info__item-value{font-size:.9rem;color:#555;line-height:1.7}.contact-info__item-value a{color:#333;text-decoration:none;transition:color .2s}.contact-info__item-value a:hover{color:#111;text-decoration:underline}.contact-info__map{border-radius:12px;overflow:hidden;border:1px solid #e5e5e5;aspect-ratio:16 / 10;background:#f5f5f5}.contact-info__map iframe{width:100%;height:100%;border:0;display:block}.contact-form{padding:4.5rem 0;background:#f9f9f9}.contact-form__container{max-width:1440px;margin:0 auto;padding:0 2.5rem}.contact-form__header{text-align:center;margin-bottom:2.5rem}.contact-form__eyebrow{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.5rem;font-weight:600}.contact-form__title{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;color:#111;line-height:1.2;margin-bottom:.8rem}.contact-form__desc{font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.8;color:#555;max-width:680px;margin:0 auto}.contact-form__card{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 2px 16px #0000000d;border:1px solid #ebebeb}.contact-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.contact-form__grid .contact-form__field--full{grid-column:1 / -1}.contact-form__field label{display:block;font-size:.85rem;font-weight:600;color:#333;margin-bottom:.4rem}.contact-form__field label .required{color:#e53e3e;margin-left:.15rem}.contact-form__field input,.contact-form__field textarea{width:100%;padding:.75rem 1rem;font-size:.9rem;border:1px solid #e5e5e5;border-radius:8px;background:#fafafa;color:#111;transition:border-color .2s,box-shadow .2s;outline:none}.contact-form__field input:focus,.contact-form__field textarea:focus{border-color:#333;box-shadow:0 0 0 3px #0000000d;background:#fff}.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:#bbb}.contact-form__field textarea{resize:vertical;min-height:140px}.contact-form__field .field-error{font-size:.78rem;color:#e53e3e;margin-top:.3rem}.contact-form__submit{margin-top:1.5rem;text-align:center}.contact-form__submit button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 2.5rem;font-size:1rem;font-weight:700;color:#fff;background:#111;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .15s}.contact-form__submit button:hover{background:#333;transform:translateY(-1px)}.contact-form__submit button:active{transform:translateY(0)}.contact-form__submit button:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:8px;border:1px solid #c6f6d5;background:#f0fff4;color:#276749;font-size:.88rem;font-weight:500}.contact-alert svg{flex-shrink:0;width:20px;height:20px;margin-top:1px}@media(max-width:1024px){.contact-info__container{grid-template-columns:1fr;gap:2.5rem;padding:0 1.5rem}.contact-info__map{aspect-ratio:16 / 9}.contact-form__container{padding:0 1.5rem}}@media(max-width:768px){.contact-info{padding:3rem 0}.contact-info__container{padding:0 1.25rem}.contact-form{padding:3rem 0}.contact-form__container{padding:0 1.25rem}.contact-form__card{padding:1.5rem}.contact-form__grid{grid-template-columns:1fr}.contact-info__map{aspect-ratio:4 / 3}}
