.contact-page{min-height:70vh;padding:3rem 1.25rem 4rem}.contact-page__inner{max-width:640px;margin:0 auto}.contact-page__header{text-align:center;margin-bottom:2rem}.contact-page__eyebrow{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--accent)}.contact-page__title{margin:0 0 .6rem;font-size:2rem;font-weight:800;color:var(--text)}.contact-page__subtitle{margin:0 auto;max-width:480px;font-size:.95rem;line-height:1.6;color:var(--muted)}.contact-page__card{background:var(--panel);border:1px solid var(--colors-opacity-bg-opacity-6,rgba(255,255,255,.08));border-radius:16px;padding:1.75rem;box-shadow:0 20px 48px -20px rgba(15,23,42,.3)}html[data-theme=light] .contact-page__card{border-color:#e2e8f0;box-shadow:0 20px 40px -20px rgba(15,23,42,.12)}.contact-form{display:flex;flex-direction:column;gap:1.1rem}.contact-form__row{display:grid;grid-template-columns:1fr;gap:1.1rem}.contact-form__field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.contact-form__label{display:flex;align-items:baseline;gap:.4rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--text)}.contact-form__label-note{font-weight:500;font-size:.7rem;color:var(--muted);text-transform:none;letter-spacing:normal}.contact-form__control{display:flex;align-items:center;gap:.6rem;padding:0 .85rem;border-radius:10px;border:1px solid var(--colors-opacity-bg-opacity-6,rgba(255,255,255,.1));background:rgba(255,255,255,.03);transition:border-color .15s ease}html[data-theme=light] .contact-form__control{border-color:#e2e8f0;background:#f8fafc}.contact-form__control:focus-within{border-color:var(--accent)}.contact-form__control--textarea{align-items:flex-start;padding-top:.75rem}.contact-form__icon{flex-shrink:0;color:var(--muted)}.contact-form__icon--textarea{margin-top:.15rem}.contact-form__input,.contact-form__textarea{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:.9rem;font-family:inherit;padding:.7rem 0}.contact-form__textarea{resize:vertical;min-height:120px;line-height:1.5;padding-top:0}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--muted)}.contact-form__error{margin:0;padding:.6rem .85rem;border-radius:10px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:.85rem}html[data-theme=light] .contact-form__error{color:#b91c1c}.contact-form__submit{display:inline-flex;align-items:center;justify-content:center;margin-top:.3rem;padding:.8rem 1.5rem;border:none;border-radius:10px;background:var(--accent);color:#ffffff;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.contact-form__submit:hover:not(:disabled){opacity:.92}.contact-form__submit:active:not(:disabled){transform:scale(.98)}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}.contact-page__success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:1.5rem .5rem}.contact-page__success-icon{color:#22c55e}.contact-page__success-title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text)}.contact-page__success-body{margin:0;max-width:360px;font-size:.9rem;line-height:1.6;color:var(--muted)}@media (min-width:640px){.contact-form__row{grid-template-columns:1fr 1fr}}@media (max-width:480px){.contact-page{padding:2rem 1rem 3rem}.contact-page__title{font-size:1.6rem}.contact-page__card{padding:1.25rem}}.contact-form__select{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:.9rem;font-family:inherit;padding:.7rem 0;cursor:pointer}.contact-form__select option{color:#0f172a}.contact-form__control--invalid{border-color:#ef4444}.contact-form__field-error{margin:0;font-size:.8rem;color:#f87171}html[data-theme=light] .contact-form__field-error{color:#b91c1c}.contact-form__counter{align-self:flex-end;font-size:.75rem;color:var(--muted)}.contact-form__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-page__again{margin-top:.5rem;background:none;border:none;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer}