.contact-hero{position:relative}.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,0.9fr);gap:var(--space-40);align-items:flex-start}.contact-hero-title{max-width:24ch}.contact-hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-16);margin-top:var(--space-16);margin-bottom:var(--space-16)}.contact-quick-meta{display:flex;flex-wrap:wrap;gap:var(--space-24);font-size:var(--font-size-sm)}.contact-quick-meta dt{font-weight:500;color:var(--color-text-muted);margin-bottom:4px}.contact-quick-meta dd{margin:0}.contact-hero-panel{max-width:420px;margin-left:auto}.contact-panel-title{font-family:var(--font-serif);font-size:var(--font-size-xl);margin-bottom:var(--space-16)}.contact-panel-list{display:flex;flex-direction:column;gap:var(--space-16);margin-bottom:var(--space-16)}.contact-panel-list p{margin-bottom:0;font-size:var(--font-size-sm)}.contact-panel-cta{margin-top:var(--space-8)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-40);align-items:flex-start}.contact-info{display:flex;flex-direction:column;gap:var(--space-32)}.contact-card{height:100%}.contact-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-32)}.contact-subheading{font-size:var(--font-size-md);font-family:var(--font-serif);margin-bottom:var(--space-8)}.contact-hours{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-12)}.contact-hours dt{font-weight:500;font-size:var(--font-size-sm)}.contact-hours dd{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.contact-access-grid{align-items:flex-start}.contact-list{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-8)}.contact-list li::before{content:"•";margin-right:6px;color:var(--color-eucalyptus)}.contact-form-wrapper{display:flex;flex-direction:column;gap:var(--space-32)}.contact-form{display:flex;flex-direction:column;gap:var(--space-16)}.contact-fieldset{border-radius:var(--radius-md);border:1px solid var(--color-border-soft);padding:var(--space-20);background-color:rgba(255,255,255,0.9);margin-bottom:var(--space-8)}.contact-legend{font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-8)}.contact-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12);margin-top:var(--space-8)}.contact-option{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.contact-option input{margin-top:4px}.newsletter-option{margin-top:var(--space-12)}.contact-newsletter{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr);gap:var(--space-16);align-items:flex-start}.contact-newsletter-copy{font-size:var(--font-size-sm)}.contact-form-footer{display:flex;flex-direction:column;gap:var(--space-16);margin-top:var(--space-8)}.contact-form-footer .btn{align-self:flex-start}.contact-secondary{padding-top:0}.contact-social-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,0.8fr);gap:var(--space-32);align-items:center}.contact-social-links{display:flex;flex-wrap:wrap;gap:var(--space-12)}.contact-cta-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-32)}.contact-cta-copy{max-width:40rem}.contact-cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-16);justify-content:flex-end}@media (max-width:1024px){.contact-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,0.9fr)}.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr)}.contact-details-grid,.contact-access-grid,.contact-newsletter,.contact-social-grid{grid-template-columns:minmax(0,1fr)}.contact-form-card{position:static}.contact-cta-strip{flex-direction:column;align-items:flex-start}.contact-cta-actions{justify-content:flex-start}}@media (max-width:768px){.contact-hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-32)}.contact-hero-panel{max-width:none;margin-left:0}.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-options-grid{grid-template-columns:minmax(0,1fr)}.contact-quick-meta{flex-direction:column;align-items:flex-start}.contact-cta-actions{flex-direction:column;width:100%}.contact-cta-actions .btn{width:100%}}@media (max-width:520px){.contact-fieldset{padding:var(--space-16)}.contact-panel-list{gap:var(--space-12)}}