/* Contact page */
.page-header { margin-bottom: 48px; }

.contact-list { display: flex; flex-direction: column; margin-bottom: 48px; }
.contact-row { display: flex; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--border); }
.contact-row:first-child { padding-top: 0; }
.contact-row:last-child { border-bottom: none; }
.contact-icon-wrap { width: 52px; height: 52px; background: var(--white); border: 1.5px solid var(--border); border-radius: 15px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
.contact-info-label { font-size: 12px; color: var(--ink-light); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; font-weight: 700; }
.contact-info-val { font-size: 18px; font-weight: 600; color: var(--ink); }
.contact-info-val a { color: var(--sage); text-decoration: none; }
.contact-info-val a:hover { text-decoration: underline; }

.avail-box { background: var(--sage-light); border: 1.5px solid #C5D9C5; border-radius: var(--radius-lg); padding: 36px; margin-bottom: 44px; }
.avail-box h3 { font-size: 26px; color: var(--ink); margin-bottom: 22px; letter-spacing: -.01em; }
.avail-items { display: flex; flex-direction: column; gap: 16px; }
.avail-item { display: flex; align-items: flex-start; gap: 14px; }
.avail-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--sage); flex-shrink: 0; margin-top: 7px; }
.avail-text { font-size: 17px; color: var(--ink-mid); line-height: 1.65; }
.avail-text strong { color: var(--ink); font-weight: 700; }

.services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 48px; }
.service { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius-lg); padding: 24px 18px; text-align: center; transition: box-shadow .2s, transform .2s; }
.service:hover { box-shadow: 0 4px 16px rgba(26,24,20,.08); transform: translateY(-2px); }
.service-icon { font-size: 30px; display: block; margin-bottom: 10px; }
.service-name { font-size: 15px; font-weight: 600; color: var(--ink-mid); line-height: 1.4; }

.cta-block { background: var(--ink); border-radius: var(--radius-lg); padding: 52px; text-align: center; }
.cta-block h2 { font-size: 36px; font-weight: 800; color: var(--cream); margin-bottom: 14px; letter-spacing: -.02em; }
.cta-block h2 em { font-style: italic; color: #7ABA7A; }
.cta-block p { font-size: 17px; color: #6A6560; margin-bottom: 32px; line-height: 1.75; max-width: 460px; margin-left: auto; margin-right: auto; }
.cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn-white { background: var(--cream); color: var(--ink); padding: 16px 34px; border-radius: var(--radius-sm); font-size: 16px; font-weight: 700; text-decoration: none; transition: background .2s; }
.btn-white:hover { background: var(--sage-light); color: var(--sage-dark); }
.btn-outline { background: transparent; color: #8A8480; padding: 16px 34px; border-radius: var(--radius-sm); font-size: 16px; font-weight: 700; text-decoration: none; border: 1.5px solid #3A3830; transition: border-color .2s, color .2s; }
.btn-outline:hover { border-color: var(--sage); color: #7ABA7A; }

@media (max-width: 768px) {
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .cta-btns { flex-direction: column; align-items: center; }
}
