.contact-hero{max-width:880px;margin:0 auto;padding:80px 28px 24px;text-align:center}.contact-hero .eyebrow{margin-bottom:14px}.contact-title{font-family:var(--font-display);font-weight:700;font-size:clamp(36px,4.6vw,56px);line-height:1.08;letter-spacing:-.025em;margin:12px 0 0;color:var(--ink);text-wrap:balance}.contact-sub{margin:18px auto 0;max-width:600px;font-size:clamp(15px,1.4vw,18px);line-height:1.55;color:var(--muted)}.contact-body{max-width:1024px;margin:32px auto 80px;padding:0 28px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}@media (max-width:880px){.contact-body{grid-template-columns:1fr}}.contact-form{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:32px;gap:18px;box-shadow:var(--shadow-sm)}.contact-field,.contact-form{display:flex;flex-direction:column}.contact-field{gap:6px;font-size:14px;font-weight:600;color:var(--ink)}.contact-field>span em{font-style:normal;font-weight:400;color:var(--faint);margin-left:4px}.contact-field input,.contact-field textarea{font:inherit;font-weight:400;color:var(--ink);background:#fff;border:1px solid var(--hair);border-radius:12px;padding:12px 14px;width:100%;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(110,85,214,.16)}.contact-field textarea{resize:vertical;min-height:120px;font-family:inherit}.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-error{font-size:14px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 14px}.contact-submit{align-self:flex-start;margin-top:4px;cursor:pointer}.contact-submit:disabled{opacity:.55;cursor:progress}.contact-success{max-width:640px;margin:0 auto;background:linear-gradient(135deg,#fff 0,var(--mint-soft) 100%);border:1px solid rgba(61,171,106,.3);border-radius:20px;padding:40px 32px;text-align:center;box-shadow:var(--shadow-sm)}.contact-success h2{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;margin:0;color:var(--ink)}.contact-success p{margin:12px 0 0;font-size:16px;line-height:1.55;color:var(--muted)}.contact-aside{background:var(--purple-soft);border:1px solid rgba(110,85,214,.2);border-radius:18px;padding:24px}.contact-aside h3{font-family:var(--font-body);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--purple-deep);margin:0 0 14px}.contact-aside ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.55;color:var(--ink)}.contact-aside a{color:var(--purple-deep);text-decoration:underline;text-underline-offset:2px}.contact-aside a:hover{color:var(--purple)}.contact-aside span{color:var(--muted)}