.contact-page-section{background:var(--hm-paper);overflow:hidden}.contact-hero-image{width:100%;height:454px;position:relative;overflow:hidden}.contact-hero-image img{object-fit:cover;object-position:center}.contact-panel-band{padding:var(--hm-space-3xl) var(--page-gutter) 120px;background:var(--hm-surface);justify-content:center;display:flex}.contact-split-container{gap:var(--hm-space-xl);grid-template-columns:minmax(340px,1fr) 2fr;align-items:start;width:100%;display:grid}@media (max-width:1024px){.contact-split-container{grid-template-columns:1fr;gap:40px}}.contact-info-wrap{width:100%}.contact-info-card{gap:var(--hm-space-lg);display:grid}.contact-info-header h2{margin:0 0 var(--hm-space-xs);color:var(--ink);font-size:var(--fs-h1);font-weight:700;line-height:1.35}.contact-info-header .contact-subtitle{color:var(--muted);font-size:var(--fs-h4);margin:0;line-height:1.5}.contact-methods{gap:var(--hm-space-sm);display:grid}.contact-method-item{align-items:center;gap:var(--hm-space-sm);padding:var(--hm-space-md);border-radius:var(--hm-radius-lg);background:var(--hm-paper);border:1px solid var(--line);color:inherit;cursor:pointer;transition:transform var(--hm-duration-base) var(--hm-ease-out), border-color var(--hm-duration-base) var(--hm-ease-standard), box-shadow var(--hm-duration-base) var(--hm-ease-standard);text-decoration:none;display:flex;box-shadow:0 4px 12px #00000005}.contact-method-item:hover{border-color:var(--purple-soft);box-shadow:var(--shadow-purple-soft);transform:translateY(-4px)}.method-icon-wrap{border-radius:var(--hm-radius-md);background:var(--purple-soft);width:48px;height:48px;color:var(--purple);transition:transform var(--hm-duration-base) var(--hm-ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-method-item:hover .method-icon-wrap{transform:scale(1.05)}.method-icon-wrap.linkedin{color:#0a66c2;background:#0a66c214}.method-icon-wrap.github{color:#24292f;background:#24292f14}.method-icon-wrap.phone{background:var(--green-soft);color:var(--green)}.method-details{gap:var(--hm-space-3xs);flex:1 0 0;min-width:0;display:grid}.method-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.method-value{color:var(--ink);overflow-wrap:anywhere;font-size:16px;font-weight:600}.phone-card .method-value{white-space:nowrap}.copy-btn{padding:var(--hm-space-2xs) var(--hm-space-sm);border:1px solid var(--line);border-radius:var(--hm-radius-button);background:var(--hm-paper);color:var(--muted);cursor:pointer;transition:color var(--hm-duration-fast) var(--hm-ease-standard), border-color var(--hm-duration-fast) var(--hm-ease-standard), background-color var(--hm-duration-fast) var(--hm-ease-standard);outline:none;font-size:14px;font-weight:600}.copy-btn:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-light)}.copy-btn.copied{background:var(--purple);border-color:var(--purple);color:#fff}@media (min-width:1025px){.contact-info-wrap{container-type:inline-size}.contact-form-wrap{align-self:stretch}.contact-card{flex-direction:column;height:100%;display:flex}.contact-form{flex-direction:column;flex:1;display:flex}.contact-form .form-field.is-textarea{flex:1}.contact-form .form-field.is-textarea textarea{height:100%}}@container (max-width:420px){.contact-info-card .email-card,.contact-info-card .phone-card{column-gap:var(--hm-space-sm);row-gap:var(--hm-space-xs);grid-template-columns:auto 1fr;grid-template-areas:"icon details""icon copy";align-items:center;display:grid}.contact-info-card .email-card .method-icon-wrap,.contact-info-card .phone-card .method-icon-wrap{grid-area:icon;align-self:start}.contact-info-card .email-card .method-details,.contact-info-card .phone-card .method-details{grid-area:details}.contact-info-card .email-card .copy-btn,.contact-info-card .phone-card .copy-btn{grid-area:copy;justify-self:start}}.arrow-icon{color:var(--muted);opacity:.5;transition:transform var(--hm-duration-base) var(--hm-ease-standard), opacity var(--hm-duration-base) var(--hm-ease-standard)}.contact-method-item:hover .arrow-icon{opacity:1;color:var(--purple);transform:translate(4px)}.contact-form-wrap{width:100%}.contact-card{gap:var(--hm-space-lg);padding:var(--hm-space-xl);background:var(--hm-paper);border:1px solid var(--line);transition:box-shadow var(--hm-duration-base) var(--hm-ease-standard);border-radius:16px;display:grid;box-shadow:0 20px 40px #0000000a}.contact-card:hover{box-shadow:0 30px 60px #5d62d80f}.contact-card-header h3{margin:0 0 var(--hm-space-2xs);color:var(--ink);font-size:var(--fs-h3);font-weight:700}.contact-card-header p{color:var(--muted);margin:0;font-size:15px;line-height:1.4}.contact-form{gap:var(--hm-space-md);display:grid}.form-row{gap:var(--hm-space-sm);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.form-row{gap:var(--hm-space-md);grid-template-columns:1fr}}.form-field{width:100%;position:relative}.form-field input,.form-field textarea{background:var(--surface);border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);transition:box-shadow var(--hm-duration-fast) var(--hm-ease-standard), border-color var(--hm-duration-fast) var(--hm-ease-standard), background-color var(--hm-duration-fast) var(--hm-ease-standard);border-radius:12px;outline:none;padding:22px 16px 8px;font-size:16px}.form-field textarea{resize:vertical;min-height:180px}.form-field label{color:var(--muted);pointer-events:none;transition:color var(--hm-duration-fast) var(--hm-ease-standard), top var(--hm-duration-fast) var(--hm-ease-out), transform var(--hm-duration-fast) var(--hm-ease-out);transform-origin:0 0;font-size:16px;font-weight:500;position:absolute;top:28px;left:16px;transform:translateY(-50%)}.form-field.is-textarea label{top:16px;transform:none}.form-field input:focus~label,.form-field input:not(:placeholder-shown)~label,.form-field textarea:focus~label,.form-field textarea:not(:placeholder-shown)~label{color:var(--purple);font-weight:600;top:8px;transform:scale(.75)}.form-field input:focus,.form-field textarea:focus{background:var(--hm-paper);border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.form-field.input--error input,.form-field.input--error textarea{border-color:var(--hm-error);box-shadow:0 0 0 3px var(--hm-error-soft)}.form-field.input--error label{color:var(--hm-error)}.form-field.input--success input,.form-field.input--success textarea{border-color:var(--hm-success);box-shadow:0 0 0 3px var(--hm-success-soft)}.form-error{color:var(--hm-error);font-size:var(--fs-xs);margin:6px 4px 0;line-height:1.4}.submit-btn{outline:none}.submit-btn:disabled{opacity:.9}.submit-btn.btn-status-success{background:var(--hm-success);box-shadow:none}.btn-content{align-items:center;gap:var(--hm-space-2xs);display:flex}.contact-review-modal{gap:var(--hm-space-md);min-width:min(100%,460px);display:grid}.contact-review-description{color:var(--muted);font-size:var(--fs-sm);margin:0;line-height:1.5}.contact-review-list{gap:var(--hm-space-xs);margin:0;display:grid}.contact-review-row{gap:var(--hm-space-sm);padding:var(--hm-space-xs) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(96px,.32fr) minmax(0,1fr);display:grid}.contact-review-row:last-child{border-bottom:0}.contact-review-row dt,.contact-review-row dd{margin:0}.contact-review-row dt{color:var(--muted);font-size:var(--fs-xs);font-weight:700;line-height:1.5}.contact-review-row dd{min-width:0;color:var(--ink);font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.6}.contact-review-row.is-message dd{white-space:pre-wrap}.contact-review-actions{justify-content:flex-end;gap:var(--hm-space-xs);display:flex}.contact-review-actions .ds-button-primary{order:2}.contact-review-actions .ds-button-secondary{order:1}.contact-review-skeleton{width:min(100%,260px);height:18px}.contact-review-skeleton.is-long{width:100%;height:18px;margin-bottom:10px}.contact-review-skeleton.is-medium{width:min(72%,280px);height:18px}@media (max-width:640px){.contact-review-modal{min-width:0}.contact-review-row{gap:var(--hm-space-3xs);grid-template-columns:1fr}.contact-review-actions{grid-template-columns:1fr;display:grid}.contact-review-actions .ds-button-primary,.contact-review-actions .ds-button-secondary{order:0}}.spinner-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkmark-path{stroke-dasharray:22;stroke-dashoffset:22px;animation:.35s cubic-bezier(.22,1,.36,1) .1s forwards drawCheckmark}@keyframes drawCheckmark{to{stroke-dashoffset:0}}@media (max-width:768px){.contact-panel-band{padding:40px 24px 80px}.contact-info-header h2{font-size:26px}.contact-info-header .contact-subtitle{font-size:15px}.contact-method-item{padding:var(--hm-space-sm);gap:var(--hm-space-xs)}.method-icon-wrap{width:40px;height:40px}.copy-btn{padding:6px 12px;font-size:13px}.method-value{font-size:14px}.email-card .method-value{font-size:13px}.contact-card{padding:var(--hm-space-md);gap:var(--hm-space-md)}}
