.contact-page{color:var(--ink)}.contact-section{padding:90px 0}.contact-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:80px;display:grid}.contact-aside h2,.form-heading h2{color:var(--navy);letter-spacing:-.035em;margin:13px 0;font-size:2.2rem;line-height:1.1}.contact-aside>p{color:var(--muted);line-height:1.75}.contact-items{border-top:1px solid var(--border);margin:35px 0}.contact-items>div{border-bottom:1px solid var(--border);grid-template-columns:45px 1fr;gap:14px;padding:20px 0;display:grid}.contact-icon{width:42px;height:42px;color:var(--primary);border:1px solid var(--border);border-radius:9px;place-items:center;display:grid}.contact-items strong,.contact-items span{display:block}.contact-items strong{color:var(--navy);font-size:.86rem}.contact-items span{color:var(--muted);margin-top:3px;font-size:.78rem;line-height:1.5}.direct-email{color:var(--primary);font-size:.86rem;font-weight:650;text-decoration:none;display:block}.aside-link{color:var(--navy);gap:8px;margin-top:20px;font-size:.86rem;font-weight:650;text-decoration:none;display:inline-flex}.contact-form-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:36px}.form-heading{margin-bottom:30px}.form-heading h2{font-size:1.7rem}.form-group{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.form-group label{color:var(--navy);font-size:.78rem;font-weight:650}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--ink);background:#fbfcfd;border:1px solid #cfdbe5;border-radius:7px;outline:none;padding:12px 13px;transition:border .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:150px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#77add5;box-shadow:0 0 0 3px #0b63b614}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-note{color:#718596;margin:5px 0 18px;font-size:.72rem;line-height:1.6}.form-submit{width:100%}.status-banner{border-radius:7px;margin:10px 0 15px;padding:12px 14px;font-size:.8rem}.status-banner.success{color:#1d6a39;background:#eef8f1;border:1px solid #c7e6d0}.status-banner.error{color:#9a2929;background:#fff1f1;border:1px solid #efcaca}@media (max-width:850px){.contact-grid{grid-template-columns:1fr;gap:45px}}@media (max-width:600px){.contact-section{padding:65px 0}.contact-form-card{padding:24px}.form-row{grid-template-columns:1fr}}
