:root{--ink:#1a1612;--navy:#0f2557;--muted:#6a5f54;--soft:#9a8c7e;--cream:#faf8f3;--line:rgba(15,37,87,0.1);--field-bg:#ffffff;--page-accent:#1a4fd6}.contact-page{background:var(--cream);min-height:100vh;font-family:DM Sans,sans-serif;flex-direction:column;padding:5.5rem 1.5rem 6rem}.contact-eyebrow,.contact-page{display:flex;align-items:center}.contact-eyebrow{font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);gap:.5rem;margin-bottom:1rem}.contact-eyebrow:before{content:"";width:22px;height:1px;background:var(--accent)}.contact-title{font-family:Fraunces,serif;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:300;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin:0 0 .9rem;text-align:center}.contact-title em{font-style:italic;color:var(--navy)}.contact-sub{font-size:.96rem;line-height:1.7;color:var(--muted);text-align:center;max-width:400px;margin:0 0 3rem}.contact-card{width:100%;max-width:500px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:2.4rem 2.2rem 2.2rem;box-shadow:0 4px 30px rgba(15,37,87,.07)}.contact-form{gap:1.3rem}.contact-form,.field{display:flex;flex-direction:column}.field{gap:.4rem}.field label{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}.field input,.field textarea{font-family:DM Sans,sans-serif;font-size:.92rem;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:.72rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s;resize:none;width:100%;box-sizing:border-box}.field input::placeholder,.field textarea::placeholder{color:var(--soft)}.field input:focus,.field textarea:focus{border-color:rgba(26,79,214,.4);box-shadow:0 0 0 3px rgba(26,79,214,.08);background:#fff}.submit-btn{font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:500;letter-spacing:.04em;padding:.82rem 1.8rem;border-radius:100px;border:none;background:var(--navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:.4rem;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 2px 12px rgba(15,37,87,.2);width:100%}.submit-btn:hover:not(:disabled){background:var(--page-accent);transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,79,214,.28)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.dot-spin{display:inline-flex;gap:3px;align-items:center}.dot-spin span{width:4px;height:4px;border-radius:50%;background:#fff;animation:dot-bounce .9s ease-in-out infinite}.dot-spin span:nth-child(2){animation-delay:.15s}.dot-spin span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}.contact-error{font-size:.82rem;color:#c0392b;background:rgba(192,57,43,.07);border:1px solid rgba(192,57,43,.15);border-radius:8px;padding:.6rem .9rem;margin-top:.2rem}.success-state{width:100%;max-width:500px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:3rem 2.4rem;box-shadow:0 4px 30px rgba(15,37,87,.07);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;animation:fade-up .5s ease forwards}.success-icon{font-size:2.4rem;margin-bottom:.4rem}.success-state h2{font-family:Fraunces,serif;font-size:1.7rem;font-weight:300;color:var(--ink);margin:0;letter-spacing:-.01em}.success-state h2 em{font-style:italic;color:var(--navy)}.success-state p{font-size:.92rem;color:var(--muted);line-height:1.7;max-width:320px;margin:0}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:540px){.contact-card,.success-state{padding:1.8rem 1.3rem}}