body{background:radial-gradient(circle at top left,rgba(37,99,235,0.06),transparent 55%),radial-gradient(circle at top right,rgba(45,212,191,0.06),transparent 55%),var(--color-bg)}.contact-hero{padding-block:var(--space-10)}.contact-hero-inner{display:grid;gap:var(--space-6);align-items:center}.contact-hero-text h1{margin-bottom:var(--space-3)}.contact-hero-lead{font-size:var(--font-size-lg);max-width:40rem;color:var(--color-text-muted)}.contact-hero-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.contact-hero-panel{max-width:420px;margin-left:auto}.contact-layout{padding-block:var(--space-8)}.contact-layout-grid{display:grid;gap:var(--space-6)}.contact-info h2{margin-bottom:var(--space-2)}.contact-info-body{display:grid;gap:var(--space-4)}.contact-info-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.4rem}.contact-info-links a{font-size:var(--font-size-sm);color:var(--color-primary)}.contact-info-links a:hover{color:var(--color-primary-strong)}.contact-email{color:var(--color-primary)}.contact-email:hover{color:var(--color-primary-strong)}.contact-bullets{margin:0 0 var(--space-3) 1.1rem;padding:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.contact-bullets li{margin-bottom:0.35rem}.contact-form-wrapper{width:100%}.contact-form-card .card-body>p{margin-bottom:var(--space-4)}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-field{display:flex;flex-direction:column}.form-actions{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.contact-extra{padding-block:var(--space-8)}.contact-extra-grid{display:grid;gap:var(--space-6)}.contact-map-placeholder{margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px dashed var(--color-border);background:var(--color-surface-muted)}.contact-map-title{font-weight:600;margin-bottom:var(--space-1)}.contact-map-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.newsletter-inline{display:flex;flex-direction:column;gap:var(--space-3)}.newsletter-inline-row{display:flex;flex-direction:column;gap:var(--space-2)}.contact-social-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.contact-social-list a{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.contact-social-list a:hover .contact-social-text{color:var(--color-primary-strong)}.contact-social-icon{width:2.1rem;height:2.1rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;flex-shrink:0}.contact-meta{padding-block:var(--space-8)}.contact-meta-grid{display:grid;gap:var(--space-6)}.contact-hours-list{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm)}.contact-hours-row{display:flex;justify-content:space-between;gap:var(--space-2)}.contact-hours-row dt{font-weight:600}.contact-hours-row dd{margin:0;color:var(--color-text-muted);text-align:right}.contact-hours p:last-of-type{margin-bottom:0}.contact-privacy ul{margin-bottom:var(--space-3)}.contact-privacy p:last-of-type{margin-bottom:0}@media(min-width:768px){.contact-hero-inner{grid-template-columns:minmax(0,3fr)minmax(0,2.5fr)}.contact-layout-grid{grid-template-columns:minmax(0,3fr)minmax(0,2.7fr);align-items:flex-start}.contact-info-body{grid-template-columns:minmax(0,2fr)minmax(0,1.5fr)}.newsletter-inline-row{flex-direction:row;align-items:center}.newsletter-inline-row .input{flex:1;max-width:260px}.contact-extra-grid{grid-template-columns:1.5fr 1.3fr 1.3fr}.contact-meta-grid{grid-template-columns:minmax(0,1.3fr)minmax(0,1.4fr)}.form-actions{flex-direction:row;align-items:center}}@media(min-width:1024px){.contact-hero{padding-block:var(--space-12)}.contact-layout{padding-block:var(--space-10)}.contact-extra{padding-block:var(--space-10)}.contact-meta{padding-block:var(--space-10)}}@media(max-width:480px){.contact-hours-row{flex-direction:column;align-items:flex-start}.contact-hours-row dd{text-align:left}}.contact-form .input[aria-invalid=true],.contact-form .textarea[aria-invalid=true]{border-color:var(--color-danger)}.contact-form .form-error{min-height:1rem}