.contact-hero { padding-top: var(--space-16); padding-bottom: var(--space-16); }
.contact-hero__inner { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr); gap: var(--space-8); align-items: center; }
@media (max-width: 900px) { .contact-hero__inner { grid-template-columns: minmax(0, 1fr); } }
.contact-hero__eyebrow { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.16em; color: var(--color-text-muted); margin-bottom: var(--space-2); }
.contact-hero__subtitle { max-width: 36rem; }
.contact-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); margin-bottom: var(--space-4); }
.contact-hero__highlights { display: flex; flex-wrap: wrap; gap: var(--space-3); font-size: var(--text-sm); color: var(--color-text-muted); }
.contact-hero__highlights li::before { content: "•"; margin-right: 0.4rem; color: var(--color-primary); }
.contact-hero__card { position: relative; overflow: hidden; }
.contact-details { display: grid; gap: var(--space-4); margin-top: var(--space-3); }
.contact-details__item h3 { font-size: var(--text-base); margin-bottom: var(--space-1); }
.contact-details__hint { font-size: var(--text-xs); color: var(--gray-400); margin-bottom: 0; }

.contact-hours__grid { gap: var(--space-10); align-items: flex-start; }
.contact-hours__list { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-4); }
.contact-hours__day { display: block; font-weight: 600; }
.contact-hours__time { display: block; font-size: var(--text-sm); color: var(--color-text); }
.contact-hours__info { display: block; font-size: var(--text-xs); color: var(--gray-400); margin-top: 0.15rem; }
.contact-hours__note { margin-top: var(--space-4); font-size: var(--text-sm); }
.contact-access__list { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-3); font-size: var(--text-sm); }
.contact-access__note { margin-top: var(--space-3); font-size: var(--text-sm); }

.contact-form-section__header { max-width: 40rem; margin: 0 auto var(--space-8); text-align: center; }
.contact-form-section__grid { gap: var(--space-8); align-items: flex-start; }
.contact-form-section__card { box-shadow: var(--shadow-lg); }
.contact-form { display: flex; flex-direction: column; gap: var(--space-3); }
.contact-form__group { display: flex; flex-direction: column; }
.contact-form__inline { gap: var(--space-4); }
.contact-form__fieldset { border: 1px solid rgba(148, 163, 184, 0.35); border-radius: var(--radius-md); padding: var(--space-3); }
.contact-form__fieldset legend { font-size: var(--text-sm); font-weight: 600; padding: 0 var(--space-1); }
.contact-form__legend { font-size: var(--text-xs); margin-bottom: var(--space-2); }
.contact-form__checkbox-label { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); }
.contact-form__checkbox-label input[type="checkbox"] { margin-top: 0.16rem; }
.contact-form__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); margin-top: var(--space-2); }
.contact-form__disclaimer { font-size: var(--text-xs); color: var(--gray-400); margin-bottom: 0; }

.contact-side-info { display: flex; flex-direction: column; gap: var(--space-4); }
.contact-side-info__block h3 { font-size: var(--text-lg); margin-bottom: var(--space-2); }
.contact-side-info__list { display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-sm); margin-top: var(--space-2); }
.contact-side-info__list li::before { content: "•"; margin-right: 0.4rem; color: var(--color-primary); }
.contact-side-info__link { display: inline-flex; margin-top: var(--space-2); font-size: var(--text-sm); }

.contact-faq-section__header { max-width: 40rem; margin: 0 auto var(--space-8); text-align: center; }
.contact-faq-section__grid { gap: var(--space-6); }
.contact-faq p { font-size: var(--text-sm); }
.contact-faq__links { display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--text-sm); margin-top: var(--space-2); }

.contact-community__inner { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.4fr); gap: var(--space-8); align-items: stretch; }
@media (max-width: 900px) { .contact-community__inner { grid-template-columns: minmax(0, 1fr); } }
.contact-community__list { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-3); font-size: var(--text-sm); }
.contact-community__list li::before { content: "•"; margin-right: 0.4rem; color: var(--color-primary); }
.contact-community__actions { display: flex; flex-direction: column; gap: var(--space-3); }
.contact-community__socials { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.contact-community__note { font-size: var(--text-xs); color: var(--gray-400); margin-bottom: 0; }

@media (max-width: 768px) { .contact-hero { padding-top: var(--space-10); padding-bottom: var(--space-10); } .contact-form-section__header, .contact-faq-section__header { margin-bottom: var(--space-6); } .contact-form-section__grid, .contact-hours__grid { gap: var(--space-6); } .contact-hero__cta { justify-content: flex-start; } }