.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:flex-start}.contact-sidebar{position:sticky;top:8rem}.contact-sidebar h2{margin-bottom:1rem}.contact-sidebar .lead{margin-bottom:2.5rem;color:var(--c-muted);line-height:1.75}.contact-info-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem}.contact-info-item{display:flex;align-items:flex-start;gap:1rem;background:#ffffff08;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:1.25rem;transition:border-color .2s}.contact-info-item:hover{border-color:#3b82f640}.contact-info-item__icon{width:40px;height:40px;border-radius:var(--r-md);background:#3b82f61a;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.contact-info-item__icon svg{width:18px;height:18px;stroke:var(--c-blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-info-item__text strong{display:block;font-size:.875rem;color:var(--c-white);margin-bottom:.2rem}.contact-info-item__text span{font-size:.8125rem;color:var(--c-muted)}.contact-info-item__text a{color:var(--c-blue-light);text-decoration:none;font-size:.8125rem}.contact-info-item__text a:hover{text-decoration:underline}.social-links{display:flex;gap:.75rem;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.5rem;background:#ffffff0a;border:1px solid var(--c-border);border-radius:var(--r-md);padding:.625rem 1rem;font-size:.8125rem;color:var(--c-muted);text-decoration:none;transition:border-color .2s,color .2s,background .2s}.social-link:hover{border-color:#3b82f64d;color:var(--c-white);background:#3b82f60f}.book-alt{background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-radius:var(--r-lg);padding:1.5rem;margin-top:2rem}.book-alt h4{font-size:.875rem;font-weight:700;color:var(--c-amber);margin-bottom:.5rem}.book-alt p{font-size:.8125rem;color:#94a3b8;margin-bottom:1rem;line-height:1.6}.contact-form-card{background:#ffffff08;border:1px solid var(--c-border);border-radius:var(--r-xl);padding:2.5rem}.contact-form-card h3{margin-bottom:.5rem}.contact-form-card .sub{color:var(--c-muted);font-size:.9rem;margin-bottom:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-group label{font-size:.875rem;font-weight:500;color:#cbd5e1}.form-group .req{color:var(--c-blue);margin-left:2px}.form-group input,.form-group select,.form-group textarea{background:#ffffff0d;border:1px solid var(--c-border);border-radius:var(--r-md);padding:.75rem 1rem;font-size:.9375rem;color:var(--c-white);font-family:var(--font-body);transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.form-group select option{background:#1e293b;color:var(--c-white)}.form-group input::placeholder,.form-group textarea::placeholder{color:#475569}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px #3b82f61f}.form-group textarea{resize:vertical;min-height:140px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.form-footer .note{font-size:.8rem;color:var(--c-muted)}.form-message{display:none;border-radius:var(--r-lg);padding:1.25rem 1.5rem;font-size:.9rem;margin-top:1.25rem;text-align:center}.form-message.success{background:#10b98114;border:1px solid rgba(16,185,129,.25);color:#6ee7b7}.form-message.error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#fca5a5}@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-sidebar{position:static}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.contact-form-card{padding:1.75rem 1.25rem}}
