.contact-page{background:var(--background)}.contact-header{max-width:900px}.contact-header h2{text-wrap:balance;font-size:clamp(2.15rem,3.8vw,4rem)}.contact-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-info,.contact-form{border-radius:1rem;padding:2.5rem}.info-item a{color:var(--primary);font-weight:600}.info-item a:hover{text-decoration:underline}.form-element{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;transition:border-color .3s,box-shadow .3s}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.w-full{width:100%}.contact-submit{justify-content:center;align-items:center;gap:.55rem;min-height:50px;display:inline-flex}.contact-submit:disabled{cursor:wait;opacity:.68}.contact-form-error{border-left:3px solid var(--primary);color:#8f1016;background:var(--primary-light);padding:.85rem 1rem;font-weight:650}.dark .contact-form-error{color:#ffd7d9}.contact-success{flex-direction:column;justify-content:center;align-items:flex-start;min-height:480px;display:flex}.contact-success-icon{color:#fff;background:var(--secondary);border-radius:50%;place-items:center;width:62px;height:62px;margin-bottom:1.35rem;display:grid;box-shadow:0 12px 28px #223d7b3d}.contact-success h2{max-width:520px;font-size:clamp(1.9rem,3.6vw,3rem)}.contact-success>p:not(.eyebrow){color:#536078;max-width:540px;margin-bottom:1.6rem;font-size:1.04rem}.dark .contact-success>p:not(.eyebrow){color:#cbd5e1}.contact-spinner{animation:.8s linear infinite contactSpin}@keyframes contactSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.contact-spinner{animation:none}}
