/* Contact page section. Uses only global tokens from tokens.css. */
.contact-page{background:var(--color-bg)}
.contact-page-header{background:var(--color-surface);padding:48px 0 40px;text-align:center}
.contact-page-header-content{display:grid;justify-items:center}
.contact-page-header h1{color:var(--color-primary);font-size:44px;font-weight:700}
.contact-page-header p{max-width:520px;margin-top:16px;color:var(--color-text-muted);font-size:17px;line-height:1.75}
.contact-main{background:#fff;padding-block:var(--section-padding-y)}
.contact-grid{display:grid;grid-template-columns:40% minmax(0,60%);gap:64px;align-items:start}
.contact-info h2,.contact-form-panel h2{color:var(--color-primary);font-weight:600}
.contact-info h2{margin-bottom:24px;font-size:20px}
.contact-form-panel h2{margin-bottom:24px;font-size:22px}
.contact-info-list{display:grid;gap:28px}
.contact-info-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.contact-info-title svg{width:22px;height:22px;color:var(--color-accent);flex:0 0 22px}
.contact-info-title h3{color:var(--color-primary);font-size:15px;font-weight:600}
.contact-info-block p{color:var(--color-text);font-size:15px;line-height:1.6}
.contact-info-block:last-child p{line-height:1.7}
.contact-info-block span{display:block;margin-top:4px;color:var(--color-text-muted);font-size:13px;line-height:1.5}
.contact-info-block a:hover{color:var(--color-accent)}
.contact-divider{height:1px;background:var(--color-border);margin:32px 0}
.business-hours h3{margin-bottom:12px;color:var(--color-primary);font-size:15px;font-weight:600}
.business-hour-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:6px 0;font-size:14px;line-height:1.5}
.business-hour-row span{color:var(--color-text-muted)}
.business-hour-row strong{color:var(--color-text);font-weight:500;text-align:right}
.contact-form{display:grid;gap:20px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field label{display:block;margin-bottom:6px;color:var(--color-text);font-size:13px;font-weight:600;line-height:1.4}
.form-field label span{color:#E53E3E}
.form-field input,.form-field textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;background:#fff;color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.5;transition:border-color 180ms ease,box-shadow 180ms ease}
.form-field textarea{resize:vertical;min-height:136px}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-text-muted)}
.form-field input:focus,.form-field textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px rgba(10,122,122,.12)}
.form-field input.is-invalid,.form-field textarea.is-invalid{border-color:#E53E3E}
.form-field input.is-invalid:focus,.form-field textarea.is-invalid:focus{box-shadow:0 0 0 3px rgba(229,62,62,.12)}
.field-error{min-height:18px;margin-top:6px;color:#C53030;font-size:12px;line-height:1.5}
.contact-form-status{display:none;border-radius:var(--radius-md);padding:12px 14px;font-size:14px;line-height:1.5}
.contact-form-status.is-success{display:block;border:1px solid rgba(10,122,122,.24);background:rgba(10,122,122,.08);color:var(--color-primary)}
.contact-submit{width:100%;margin-top:8px;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;padding:14px 28px;font-family:var(--font-heading);font-size:15px;font-weight:600;line-height:1;cursor:pointer;transition:background 180ms ease}
.contact-submit:hover{background:var(--color-accent-hover)}
.contact-form-note{margin-top:12px;color:var(--color-text-muted);font-size:12px;line-height:1.6;text-align:center}
.contact-reassurance{background:var(--color-surface);padding:40px 24px}
.contact-reassurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);align-items:start}
.reassurance-point{text-align:center}
.reassurance-point svg{width:28px;height:28px;margin:0 auto 12px;color:var(--color-accent)}
.reassurance-point h3{color:var(--color-primary);font-size:15px;font-weight:600}
.reassurance-point p{margin-top:4px;color:var(--color-text-muted);font-size:13px;line-height:1.5}
@media(max-width:767px){.contact-page-header h1{font-size:2.25rem}.contact-page-header p{font-size:var(--text-base)}.contact-grid{grid-template-columns:1fr;gap:var(--space-10)}.contact-reassurance-grid{grid-template-columns:1fr;gap:var(--space-8)}}
@media(max-width:640px){.contact-form-row{grid-template-columns:1fr}.business-hour-row{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.business-hour-row strong{text-align:left}.contact-submit{min-height:46px}}
