.contact-info{--contact-info-bg-color:transparent;--contact-info-title-color:var(--color-primary);--contact-info-item-title-color:var(--color-primary);--contact-info-text-color:#666;--contact-info-icon-color:var(--color-primary);--contact-info-title-font:var(--font-heading);--contact-info-item-title-font:var(--font-heading);--contact-info-body-font:var(--font-body);--contact-info-padding-top:4rem;--contact-info-padding-bottom:4rem;--contact-info-card-spacing:2rem;--contact-info-border-radius:8px;background:var(--contact-info-bg-color);padding:var(--contact-info-padding-top) 0 var(--contact-info-padding-bottom)}.contact-info-container-narrow .container{max-width:800px}.contact-info-container-wide .container{max-width:1400px}.contact-info-container-full .container{max-width:100%}.contact-info-align-center{text-align:center}.contact-info-align-left{text-align:left}.contact-info-align-right{text-align:right}.contact-info-title{color:var(--contact-info-title-color);font-family:var(--contact-info-title-font);font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 3rem;text-align:center}.contact-grid{display:grid;gap:var(--contact-info-card-spacing);margin:0}.contact-info.grid-auto .contact-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.contact-info.grid-1-column .contact-grid{grid-template-columns:1fr;margin:0 auto;max-width:600px}.contact-info.grid-2-column .contact-grid{grid-template-columns:repeat(2,1fr)}.contact-info.grid-3-column .contact-grid{grid-template-columns:repeat(3,1fr)}.contact-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--contact-info-border-radius);padding:2rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.contact-info.contact-info-shadow-subtle .contact-card{box-shadow:0 1px 3px rgba(0,0,0,.1)}.contact-info.contact-info-shadow-medium .contact-card{box-shadow:0 4px 12px rgba(0,0,0,.1)}.contact-info.contact-info-shadow-strong .contact-card{box-shadow:0 8px 32px rgba(0,0,0,.15)}.contact-info.contact-info-shadow-none .contact-card{box-shadow:none}.contact-icon{align-items:center;color:var(--contact-info-icon-color);display:flex;height:48px;justify-content:center;margin:0 auto 1.5rem;width:48px}.contact-info.icons-minimal .contact-icon{height:32px;margin-bottom:1rem;width:32px}.contact-info.icons-filled .contact-icon{background:var(--contact-info-icon-color);border-radius:50%;color:#fff;height:56px;width:56px}.contact-info.icons-none .contact-icon{display:none}.contact-info.icons-none .contact-card{text-align:left}.contact-card-title{color:var(--contact-info-item-title-color);font-family:var(--contact-info-item-title-font);font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 1rem}.contact-details{color:var(--contact-info-text-color);font-family:var(--contact-info-body-font);font-size:1rem;line-height:1.6}.contact-address,.contact-emails,.contact-phone{margin-bottom:.5rem}.contact-description,.contact-hours{font-size:.875rem;margin-top:.5rem;opacity:.8}.contact-details a{color:var(--contact-info-icon-color);text-decoration:none;transition:opacity .2s ease}.contact-details a:hover{opacity:.8;text-decoration:underline}@media (max-width:768px){.contact-info{--contact-info-padding-top:3rem;--contact-info-padding-bottom:3rem;--contact-info-card-spacing:1.5rem}.contact-info.grid-2-column .contact-grid,.contact-info.grid-3-column .contact-grid{grid-template-columns:1fr}.contact-card{padding:1.5rem}.contact-info-title{font-size:1.75rem;margin-bottom:2rem}}@media (max-width:480px){.contact-card{padding:1.25rem}.contact-info-title{font-size:1.5rem}}