.contact-hero{padding:48px 32px 0;text-align:center}.contact-hero h1{font-size:var(--text-3xl);margin:14px 0 8px}.contact-hero p{color:var(--color-text-muted);font-size:var(--text-md);max-width:560px;margin:0 auto}.contact-layout{max-width:var(--container-max);margin:0 auto;padding:36px 32px 60px;display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}.contact-form-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.contact-form-card h2{font-size:var(--text-lg);margin-bottom:4px}.contact-form-card .form-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 22px}.contact-form-grid{display:flex;flex-direction:column;gap:16px}.contact-form-grid textarea{width:100%;box-sizing:border-box;padding:11px 14px;font-family:var(--font-body);font-size:var(--text-base);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;outline:none}.contact-form-grid textarea:focus{border-color:var(--color-focus-ring);box-shadow:0 0 0 3px rgba(232,135,30,0.15)}.contact-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-info-list{display:flex;flex-direction:column;gap:14px}.contact-info-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px;display:flex;gap:14px;align-items:flex-start}.contact-info-card h4{font-size:var(--text-sm);margin-bottom:3px}.contact-info-card p{font-size:var(--text-sm);color:var(--color-text-body);margin:0}.contact-info-card a.link{color:var(--color-primary-active);font-weight:600}.contact-info-card .icon-tile .bi{font-size:20px}.contact-hours-row{display:flex;justify-content:space-between;font-size:13px;color:var(--color-text-body);padding:6px 0;border-top:1px solid var(--color-border-soft)}.contact-hours-row:first-of-type{border-top:none}.contact-map{height:200px;border-radius:var(--radius-lg);background:var(--nadia-cream-200);background-image:radial-gradient(var(--nadia-ink-200) 1.5px,transparent 1.5px);background-size:20px 20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:13px;border:1px dashed var(--color-border);text-align:center;padding:16px}@media (max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.contact-row-2{grid-template-columns:minmax(0,1fr)}.contact-layout{padding-left:16px;padding-right:16px}.contact-form-card,.contact-info-card{min-width:0}}.contact-info-card{overflow-wrap:anywhere}