.contact-page{background:radial-gradient(90% 60% at 100% 0%,rgba(var(--color-primary-rgb),.08)0%,rgba(var(--color-primary-rgb),0)70%),linear-gradient(180deg,color-mix(in srgb,var(--color-primary)6%,var(--color-bg))0%,var(--color-bg)38%,var(--color-bg)100%)}.contact-page .contact-main{padding:clamp(2.1rem,4vw,3.6rem) 0 clamp(2.6rem,5vw,4.8rem)}.contact-page .container{max-width:1220px}.contact-page .contact-header{max-width:740px;margin-bottom:1.2rem}.contact-page .contact-header h2{color:var(--text-heading);margin:0;font-size:clamp(1.55rem,3.2vw,2.35rem);line-height:1.08}.contact-page .contact-header p{color:var(--color-muted);margin:.6rem 0 0;font-size:clamp(.95rem,2vw,1.02rem);line-height:1.55}.contact-page .contact-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1.2rem;display:grid}.contact-page .contact-action-card{border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-bg)0%,color-mix(in srgb,var(--color-primary)6%,var(--color-bg))100%);border-radius:16px;align-items:center;gap:.75rem;padding:.8rem .95rem;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 8px 20px #0c1f430d}.contact-page .contact-action-card:hover{border-color:rgba(var(--color-primary-rgb),.36);transform:translateY(-1px);box-shadow:0 12px 26px #142d5c1a}.contact-page .contact-action-icon{background:rgba(var(--color-primary-rgb),.1);width:38px;min-width:38px;height:38px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;display:flex}.contact-page .contact-action-icon svg{width:18px;height:18px}.contact-page .contact-action-content{min-width:0}.contact-page .contact-action-label{font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0}.contact-page .contact-action-value{font-size:.92rem;font-weight:var(--fw-semibold);color:var(--color-text);overflow-wrap:anywhere;margin:.15rem 0 0;line-height:1.35}.contact-page .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:1rem;display:grid}.contact-page .contact-panel{border:1px solid var(--color-border);background:var(--color-bg);border-radius:20px;box-shadow:0 14px 34px #0c1f4312}.contact-page .contact-info-panel{gap:1rem;padding:1.15rem;display:grid}.contact-page .contact-info-panel h3{color:var(--text-heading);margin:0;font-size:1.22rem;line-height:1.1}.contact-page .contact-info-list{gap:.85rem;display:grid}.contact-page .contact-info-row{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary)6%,var(--color-bg));border-radius:14px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.contact-page .contact-info-icon{width:34px;min-width:34px;height:34px;color:var(--primary);background:rgba(var(--color-primary-rgb),.12);border-radius:10px;justify-content:center;align-items:center;display:flex}.contact-page .contact-info-icon svg{width:17px;height:17px}.contact-page .contact-info-title{font-size:.74rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin:0}.contact-page .contact-info-text{color:var(--color-text);margin:.22rem 0 0;font-size:.92rem;line-height:1.5}.contact-page .hours-list{gap:.2rem;margin-top:.22rem;display:grid}.contact-page .hours-list p{color:var(--color-text);margin:0;font-size:.89rem;line-height:1.45}.contact-page .hours-list strong{font-weight:var(--fw-semibold)}.contact-page .contact-feature-grid{gap:.65rem;display:grid}.contact-page .contact-feature{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary)6%,var(--color-bg));border-radius:12px;align-items:flex-start;gap:.65rem;padding:.68rem;display:flex}.contact-page .contact-feature-icon{width:17px;height:17px;color:var(--primary);flex-shrink:0;margin-top:.1rem}.contact-page .contact-feature-title{font-size:.9rem;font-weight:var(--fw-semibold);color:var(--color-text);margin:0}.contact-page .contact-feature-copy{color:var(--color-muted);margin:.12rem 0 0;font-size:.85rem;line-height:1.45}.contact-page .contact-form-panel{padding:1.15rem;position:sticky;top:1rem}.contact-page .contact-form-head{margin-bottom:.85rem}.contact-page .contact-form-head h3{color:var(--text-heading);margin:0;font-size:1.25rem;line-height:1.1}.contact-page .contact-form-head p{color:var(--color-muted);margin:.38rem 0 0;font-size:.93rem;line-height:1.5}.contact-page .form-success,.contact-page .form-error{border-radius:12px;align-items:center;gap:.5rem;margin-bottom:.85rem;padding:.68rem .78rem;font-size:.86rem;line-height:1.4;display:flex}.contact-page .form-success{background:var(--t-success);border:1px solid var(--t-success);color:var(--t-success)}.contact-page .form-error{background:var(--t-error);border:1px solid var(--t-error);color:var(--t-error)}.contact-page .form-icon{flex-shrink:0;width:16px;height:16px}.contact-page .contact-form{gap:.78rem;display:grid}.contact-page .contact-form .form-group{gap:.32rem;display:grid}.contact-page .contact-form label{font-size:.84rem;font-weight:var(--fw-semibold);color:var(--color-text)}.contact-page .contact-form input,.contact-page .contact-form textarea{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary)6%,var(--color-bg));width:100%;color:var(--color-text);font-size:.92rem;line-height:1.45;font-family:var(--font-brand-body-override,inherit);border-radius:12px;padding:.72rem .82rem;transition:border-color .15s,box-shadow .15s,background-color .15s}.contact-page .contact-form textarea{resize:vertical;min-height:140px}.contact-page .contact-form input::placeholder,.contact-page .contact-form textarea::placeholder{color:var(--color-muted)}.contact-page .contact-form input:focus,.contact-page .contact-form textarea:focus{border-color:rgba(var(--color-primary-rgb),.55);background:var(--color-bg);outline:none;box-shadow:0 0 0 3px #4169e124}.contact-page .field-error{font-size:.78rem;font-weight:var(--fw-medium);color:var(--t-error);margin:.06rem 0 0}.contact-page .contact-form .btn{background:linear-gradient(120deg,var(--color-primary)0%,var(--color-primary-strong)100%);color:var(--color-on-primary);font-size:.9rem;font-weight:var(--fw-semibold);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.44rem;padding:.74rem 1.2rem;transition:transform .17s,box-shadow .17s,opacity .17s;display:inline-flex;box-shadow:0 12px 24px #4169e14d}.contact-page .contact-form .btn:hover{transform:translateY(-1px);box-shadow:0 16px 28px #3557bf57}.contact-page .contact-form .btn:disabled{opacity:.72;box-shadow:none;cursor:not-allowed;transform:none}.contact-page .contact-form .btn .btn-icon{width:15px;height:15px}.contact-page .contact-map-wrap{border:1px solid var(--color-border);background:var(--color-bg);border-radius:20px;margin-top:1rem;overflow:hidden;box-shadow:0 14px 34px #0c1f4312}.contact-page .contact-map-head{border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary)6%,var(--color-bg))0%,var(--color-bg)100%);align-items:flex-start;gap:.65rem;padding:.9rem 1rem;display:flex}.contact-page .contact-map-icon{width:18px;height:18px;color:var(--primary);flex-shrink:0;margin-top:.1rem}.contact-page .contact-map-head h3{color:var(--color-text);margin:0;font-size:1rem;line-height:1.2}.contact-page .contact-map-head p{color:var(--color-muted);margin:.2rem 0 0;font-size:.86rem;line-height:1.4}.contact-page .contact-map-frame iframe{border:0;width:100%;height:clamp(250px,34vw,360px);display:block}@media (max-width:1040px){.contact-page .contact-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page .contact-layout{grid-template-columns:1fr}.contact-page .contact-form-panel{position:static;top:auto}}@media (max-width:720px){.contact-page .contact-main{padding:1.75rem 0 2.2rem}.contact-page .contact-header{margin-bottom:.95rem}.contact-page .contact-header h2{font-size:1.45rem}.contact-page .contact-header p{font-size:.9rem}.contact-page .contact-quick-actions{gap:.65rem;margin-bottom:.9rem}.contact-page .contact-action-card{border-radius:14px;padding:.66rem .7rem}.contact-page .contact-action-icon{width:34px;min-width:34px;height:34px}.contact-page .contact-action-value{font-size:.84rem}.contact-page .contact-panel{border-radius:16px}.contact-page .contact-info-panel,.contact-page .contact-form-panel{padding:.9rem}.contact-page .contact-map-wrap{border-radius:16px}.contact-page .contact-map-head{padding:.72rem .8rem}}@media (max-width:560px){.contact-page .contact-quick-actions{grid-template-columns:1fr}}
