.contact-page{--contact-accent:#06402b;--contact-green:#2d4a3e;--contact-mint:#a8d5ba;--contact-panel:#fff;--contact-border:#2d4a3e1f;--contact-shadow:0 4px 24px #1a3d2e12}.contact-page .contact-hero{color:#fff;padding:clamp(2rem,5vw,3.25rem) var(--site-gutter,20px);text-align:center;background:linear-gradient(135deg,#1a3d2e,#2d4a3e);width:100%}.contact-page .contact-hero-inner{max-width:var(--site-wide-max,1440px);margin:0 auto}.contact-page .contact-eyebrow{color:#d4efe0;letter-spacing:.1em;text-transform:uppercase;background:#a8d5ba2e;border:1px solid #a8d5ba59;border-radius:999px;align-items:center;margin-bottom:14px;padding:7px 14px;font-size:.78rem;font-weight:700;display:inline-flex}.contact-page .contact-hero h1{letter-spacing:-.02em;text-shadow:none;margin:0 0 .35rem;font-size:clamp(1.85rem,4vw,2.6rem);font-weight:800;line-height:1.12}.contact-page .contact-hero .title-accent{margin-top:10px;margin-bottom:14px}.contact-page .contact-hero-lead{max-width:var(--site-prose-max,42rem);opacity:.92;text-shadow:none;margin:0 auto;font-size:clamp(.98rem,1.5vw,1.08rem);line-height:1.55}.contact-page .contact-main{box-sizing:border-box;max-width:var(--site-wide-max,1440px);padding:clamp(1.5rem,3.5vw,2.5rem) var(--site-gutter,20px) clamp(2.5rem,5vw,4rem);width:100%;margin:0 auto}.contact-page .contact-section-heading{color:var(--contact-accent);letter-spacing:-.02em;margin:0 0 .35rem;font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:800}.contact-page .contact-section-lead{color:#4a5f55;margin:0 0 1.25rem;font-size:.92rem;line-height:1.45}.contact-page .contact-methods-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.65rem,1.5vw,.85rem);margin-bottom:clamp(1.25rem,2.5vw,1.75rem);display:grid}@media (min-width:900px){.contact-page .contact-methods-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.contact-page .contact-channel{background:var(--contact-panel);border:1px solid var(--contact-border);box-shadow:var(--contact-shadow);color:inherit;border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;min-height:100%;padding:clamp(14px,2vw,18px);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.contact-page .contact-channel:hover{border-color:#2f6f5647;transform:translateY(-2px);box-shadow:0 8px 28px #1a3d2e1a}.contact-page .contact-channel-icon{color:var(--contact-green);background:linear-gradient(145deg,#e0f2e9f2,#c4e6d28c);border:1px solid #2f6f561f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.contact-page .contact-channel-icon svg{width:20px;height:20px}.contact-page .contact-channel h3{color:var(--contact-accent);margin:0;font-size:.92rem;font-weight:700;line-height:1.2}.contact-page .contact-channel-value{color:#2f6f56;word-break:break-word;margin:0;font-size:.88rem;font-weight:700;line-height:1.3}.contact-page .contact-channel-detail{color:#5c7268;margin:0;font-size:.78rem;line-height:1.4}.contact-page .contact-body-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(1rem,2vw,1.25rem);display:grid}@media (min-width:960px){.contact-page .contact-body-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}}.contact-page .contact-form-card,.contact-page .contact-hours-panel{background:var(--contact-panel);border:1px solid var(--contact-border);box-shadow:var(--contact-shadow);border-radius:14px;padding:clamp(1.15rem,2.5vw,1.65rem)}.contact-page .contact-form-card h2,.contact-page .contact-hours-panel h2{color:var(--contact-accent);margin:0 0 .35rem;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:800}.contact-page .contact-form-card .contact-section-lead,.contact-page .contact-hours-panel .contact-section-lead{margin-bottom:1rem}.contact-page .contact-form .form-row{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.contact-page .contact-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-page .contact-form .form-group{margin-bottom:1rem}.contact-page .contact-form label{color:#1a3d2e;margin-bottom:.35rem;font-size:.88rem;font-weight:600;display:block}.contact-page .contact-form input,.contact-page .contact-form select,.contact-page .contact-form textarea{box-sizing:border-box;color:#111827;background:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:16px}.contact-page .contact-form input:focus,.contact-page .contact-form select:focus,.contact-page .contact-form textarea:focus{border-color:#2f6f56;outline:none}.contact-page .contact-form textarea{resize:vertical;min-height:140px}.contact-page .contact-status{border-radius:10px;margin-bottom:1rem;padding:12px 14px;font-size:.9rem;line-height:1.45}.contact-page .contact-status--success{color:#155724;background:#e8f5ee;border:1px solid #b8dfc8}.contact-page .contact-status--error{color:#721c24;background:#fdecec;border:1px solid #f5c6cb}.contact-page .contact-submit{background:var(--contact-green);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:.85rem 1.25rem;font-size:1rem;font-weight:700;transition:background .2s,opacity .2s;display:inline-flex}@media (min-width:480px){.contact-page .contact-submit{width:auto;min-width:200px}}.contact-page .contact-submit:hover:not(:disabled){background:#1a3d2e}.contact-page .contact-submit:disabled{cursor:not-allowed;opacity:.7}.contact-page .contact-submit-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.contact-page .form-disclaimer{color:#6b7280;margin:.85rem 0 0;font-size:.82rem;line-height:1.45}.contact-page .contact-hours-list{flex-direction:column;gap:0;display:flex}.contact-page .contact-hours-row{border-bottom:1px solid #eef3f0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:.9rem;display:flex}.contact-page .contact-hours-row:last-child{border-bottom:none}.contact-page .contact-hours-row span:first-child{color:var(--contact-accent);font-weight:600}.contact-page .contact-hours-row span:last-child{color:#4a5f55;text-align:right}.contact-page .contact-hours-note{color:#6b7280;border-top:1px solid #eef3f0;margin:1rem 0 0;padding-top:1rem;font-size:.82rem;line-height:1.45}@media (max-width:479px){.contact-page .contact-methods-grid{grid-template-columns:1fr}.contact-page .contact-channel{flex-flow:wrap;align-items:center}.contact-page .contact-channel h3,.contact-page .contact-channel-detail,.contact-page .contact-channel-value{flex:calc(100% - 52px);margin-left:0}}
