.contact-layout{padding:var(--space-16) 0 var(--space-20)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-12);max-width:960px;margin-inline:auto}@media (min-width: 768px){.contact-grid{grid-template-columns:1fr 340px;gap:var(--space-16);align-items:start}}.contact-form-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8)}@media (min-width: 640px){.contact-form-section{padding:var(--space-10)}}.contact-form-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.form-label .required-mark{color:#f87171;margin-left:var(--space-1);font-weight:700}.form-input,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #00d4ff1f}.form-input.error,.form-textarea.error{border-color:#f87171;box-shadow:0 0 0 3px #f871711f}.form-textarea{min-height:140px;resize:vertical;line-height:1.6}.field-error{display:none;font-size:var(--text-sm);color:#f87171;margin-top:var(--space-2)}.field-error.visible{display:block}.form-submit-wrap{margin-top:var(--space-8)}.btn-submit{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--text-base);font-weight:600;background:var(--gradient-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:52px}.btn-submit:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-accent)}.btn-submit:active:not(:disabled){transform:translateY(1px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.form-status{display:none;margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.6}.form-status.success{display:block;background-color:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.form-status.error{display:block;background-color:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171}.form-status .status-icon{display:inline-block;margin-right:var(--space-2);font-size:var(--text-base)}.form-status .error-mail-link{color:#f87171;text-decoration:underline;font-weight:600}.form-status .error-mail-link:hover{color:#fca5a5}.contact-info-section{display:flex;flex-direction:column;gap:var(--space-6)}.contact-info-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.contact-info-card-title{font-size:var(--text-base);font-weight:700;color:var(--color-text);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.social-links{display:flex;flex-direction:column;gap:var(--space-3)}.social-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);min-height:44px;overflow:hidden}.social-link:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:#00d4ff0d;transform:translate(3px)}.social-link-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.social-link-icon svg{width:20px;height:20px;fill:currentColor}.social-link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.contact-note{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7}.contact-note strong{color:var(--color-text)}
