.contact{padding-bottom:var(--space-10)}.contact__grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:var(--space-7);align-items:start;max-width:1080px;margin-inline:auto}.contact-form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(24px, 4vw, 40px)}.contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.cfield{position:relative}.cfield--full{grid-column:1 / -1}.cfield__label{display:block;font-size:.82rem;font-weight:600;color:var(--color-ink-soft);margin-bottom:var(--space-2)}.cfield__label .opt{color:var(--color-ink-faint);font-weight:500}.cfield__input,.cfield__textarea{width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:1rem;color:var(--color-ink);background:var(--color-bg);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);padding:14px 16px;transition:border-color 0.2s var(--ease),box-shadow 0.2s var(--ease),background-color 0.2s var(--ease);-webkit-appearance:none;appearance:none}.cfield__textarea{min-height:140px;resize:vertical;line-height:1.6}.cfield__input::placeholder,.cfield__textarea::placeholder{color:var(--color-ink-faint)}.cfield__input:focus,.cfield__textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px var(--color-primary-tint)}.cfield__input.is-invalid,.cfield__textarea.is-invalid{border-color:var(--color-peach-deep)}.cfield__error{font-size:.78rem;color:var(--color-peach-deep);margin-top:6px;opacity:0;transition:opacity 0.2s var(--ease)}.cfield.is-invalid .cfield__error{opacity:1}.contact-form__submit{width:100%;margin-top:var(--space-2)}.contact-form__submit.is-loading{pointer-events:none}.contact-form__submit.is-loading .btn__label{opacity:0}.contact-form__submit.is-loading::after{content:"";position:absolute;width:20px;height:20px;border:2.5px solid rgb(255 255 255 / .35);border-top-color:#fff;border-radius:50%;animation:trackSpin 0.7s linear infinite}.contact-form__note{margin-top:var(--space-4);font-size:.85rem;color:var(--color-ink-faint);text-align:center}.contact-success{text-align:center;padding:var(--space-7) var(--space-4);animation:trackReveal 0.5s var(--ease) both}.contact-success__icon{width:72px;height:72px;margin:0 auto var(--space-5);border-radius:50%;background:var(--color-primary-tint);color:var(--color-primary-deep);display:grid;place-items:center;animation:pop 0.5s var(--ease) both}.contact-success__icon svg{width:34px;height:34px}.contact-success__title{font-size:1.6rem}.contact-success__sub{color:var(--color-ink-soft);margin-top:var(--space-3);max-width:38ch;margin-inline:auto}.contact-info{display:grid;gap:var(--space-4)}.info-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;gap:var(--space-4);align-items:flex-start}.info-card__icon{width:44px;height:44px;flex:none;border-radius:50%;background:var(--color-primary-tint);color:var(--color-primary-deep);display:grid;place-items:center}.info-card__icon svg{width:21px;height:21px}.info-card__label{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);font-weight:600;margin-bottom:4px}.info-card__value{font-family:var(--font-head);font-weight:600;font-size:1.05rem;color:var(--color-ink);line-height:1.35}.info-card__value a{color:var(--color-primary-deep)}.info-card__meta{color:var(--color-ink-soft);font-size:.9rem;margin-top:4px;line-height:1.5}.info-card__meta strong{color:var(--color-ink);font-weight:600}.contact-cta{background:linear-gradient(155deg,var(--color-primary-tint),var(--color-peach-tint));border-radius:var(--radius-md);padding:var(--space-5)}.contact-cta__title{font-family:var(--font-head);font-weight:700;font-size:1.1rem}.contact-cta__sub{color:var(--color-ink-soft);font-size:.92rem;margin-top:var(--space-2)}.contact-cta__link{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-3);font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--color-primary-deep);transition:gap 0.2s var(--ease)}.contact-cta__link:hover{gap:10px}.contact-cta__link svg{width:15px;height:15px}@media (max-width:880px){.contact__grid{grid-template-columns:1fr}}@media (max-width:560px){.contact-form__grid{grid-template-columns:1fr}}