.contact-page{max-width:80rem;padding:var(--space-8) var(--space-4) var(--space-20);margin:0 auto}.contact-hero{text-align:center;margin-bottom:var(--space-6)}.contact-hero-title{margin:0 0 var(--space-2);font-size:var(--text-xl)}.contact-hero-subtitle{font-size:var(--text-sm);color:var(--color-text);margin:0 auto;line-height:1.5}.contact-layout{gap:var(--space-5);grid-template-columns:1fr;align-items:stretch;display:grid}.contact-info{flex-direction:column;display:flex}.contact-info-title{margin:0 0 var(--space-5);font-size:var(--text-base)}.contact-info-row{margin-bottom:var(--space-4);flex-direction:column;gap:2px;display:flex}.contact-info-label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-heading)}.contact-info-value{color:var(--color-text);font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.5;text-decoration:none;display:block}.contact-directions{align-self:flex-start;margin-top:auto}a.contact-info-value:hover{color:var(--color-accent);text-decoration:underline}.contact-form-title{margin:0 0 var(--space-5);font-size:var(--text-base)}.contact-form-field{margin-bottom:var(--space-4)}.contact-form-row{gap:var(--space-5);grid-template-columns:1fr;display:grid}.contact-form-field label{margin-bottom:var(--space-2);text-transform:none;letter-spacing:normal;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-heading)}.contact-form-field label span{color:var(--color-danger)}.contact-optional{font-weight:400;font-size:var(--text-xs);color:var(--color-text-muted)!important}.contact-form-checkbox{align-items:flex-start;gap:var(--space-2);margin:var(--space-5) 0;font-size:var(--text-sm);color:var(--color-text);display:flex}.contact-form-checkbox input{margin-top:var(--space-1);accent-color:var(--color-accent);flex-shrink:0}.contact-form-checkbox a{color:var(--color-accent);font-weight:var(--fw-semibold);text-decoration:none}.contact-form-checkbox a:hover{text-decoration:underline}.contact-form-submit{align-self:flex-start}.contact-form-error{margin-bottom:var(--space-5)}.contact-form-success{text-align:center;padding:var(--space-8) var(--space-4)}.contact-form-success h3{font-size:var(--text-xl);color:var(--color-accent);margin:0 0 var(--space-3);font-weight:700}.contact-form-success p{color:var(--color-text-muted);margin:0;line-height:1.625}@media (min-width:768px){.contact-form-row{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}
