.contact-page .scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.contact-page .scroll-reveal.revealed{opacity:1;transform:translateY(0)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.contact-form-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.contact-form-wrapper h2{font-family:var(--font-heading);font-size:1.75rem;margin-bottom:var(--spacing-xs);color:var(--color-ink)}.contact-form-intro{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:var(--font-weight-medium);font-size:.95rem;color:var(--color-text-secondary)}.form-group label .optional{font-weight:var(--font-weight-regular);color:var(--color-text-muted);font-size:.85rem}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-focus-ring);box-shadow:0 0 0 3px #1b45be26}.form-group textarea{resize:vertical;min-height:140px}.form-group input.error,.form-group textarea.error{border-color:var(--color-error)}.form-error{color:var(--color-error);font-size:.85rem}.form-hp{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden;pointer-events:none;tab-index:-1}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.contact-info-card{background:var(--color-secondary);color:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.contact-info-card h2{font-family:var(--font-heading);font-size:1.75rem;color:#fff;margin-bottom:var(--spacing-md)}.contact-detail{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.contact-detail__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff2e;border-radius:50%;color:#fff;font-size:1.1rem}.contact-detail__label{font-size:.85rem;color:var(--color-text-on-dark);margin-bottom:.2rem}.contact-detail__value{color:#fff;font-weight:var(--font-weight-medium)}.contact-detail__value a{color:#fff;text-decoration:underline;text-underline-offset:2px;transition:opacity var(--transition-fast)}.contact-detail__value a:hover{opacity:.8}.contact-hours{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.contact-hours h3{font-family:var(--font-heading);font-size:1.25rem;margin-bottom:var(--spacing-md);color:var(--color-ink)}.hours-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border-light);font-size:.95rem}.hours-row:last-child{border-bottom:none}.hours-row__day{color:var(--color-text-secondary)}.hours-row__time{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.contact-faq{margin-top:var(--spacing-xl)}.contact-faq h2{font-family:var(--font-heading);font-size:1.75rem;text-align:center;margin-bottom:var(--spacing-xs);color:var(--color-ink)}.contact-faq>p{text-align:center;color:var(--color-text-muted);margin-bottom:var(--spacing-xl)}.faq-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.faq-item:hover{box-shadow:var(--shadow-sm)}.faq-item.open{border-color:var(--color-primary)}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;background:none;border:none;font-family:var(--font-body);font-size:1rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;text-align:left;gap:var(--spacing-md);min-height:44px}.faq-question:hover{color:var(--color-primary-text)}.faq-question:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.faq-chevron{flex-shrink:0;font-size:1.2rem;color:var(--color-primary-text);transition:transform var(--transition-normal)}.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--color-primary)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 1.25rem}.faq-item.open .faq-answer{max-height:400px;padding:0 1.25rem 1.25rem}.faq-answer p{color:var(--color-text-secondary);line-height:1.7;font-size:.95rem}.faq-answer ul{margin:.5rem 0 0 1.25rem;color:var(--color-text-secondary);font-size:.95rem;line-height:1.7}.contact-map{margin-top:var(--spacing-xl)}.contact-map h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-ink);margin-bottom:var(--spacing-md)}@media(max-width:767px){.contact-grid{grid-template-columns:1fr}.contact-form-wrapper,.contact-info-card{padding:var(--spacing-lg)}}.contact-faq__more{margin-top:var(--spacing-lg);text-align:center}.contact-faq__more-link{font-weight:600;text-decoration:underline}
