.contact-deco{margin-bottom:var(--space-lg);display:block;overflow:visible}.contact-deco__orbit--1{transform-origin:100px 60px;animation:18s linear infinite deco-spin}.contact-deco__orbit--2{transform-origin:100px 60px;animation:24s linear infinite reverse deco-spin}.contact-deco__orbit--3{transform-origin:100px 60px;animation:30s linear infinite deco-spin}.contact-deco__orbit--4{transform-origin:100px 60px;animation:30s linear infinite reverse deco-spin}@keyframes deco-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-deco__node{animation:3s ease-in-out infinite deco-pulse}.contact-deco__node--1{animation-delay:0s}.contact-deco__node--2{animation-delay:.75s}.contact-deco__node--3{animation-delay:1.5s}.contact-deco__node--4{animation-delay:2.25s}@keyframes deco-pulse{0%,to{opacity:.2}50%{opacity:.8}}.contact-deco__core{animation:4s ease-in-out infinite deco-core}@keyframes deco-core{0%,to{opacity:.4}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.contact-deco__orbit,.contact-deco__node,.contact-deco__core{animation:none}}
.contact{background:var(--color-bg-deep);padding:140px 0 120px;position:relative;overflow:hidden}.contact__dots{background-image:radial-gradient(circle, var(--color-text-muted) 1px, transparent 1px);opacity:.3;pointer-events:none;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 75%);mask-image:radial-gradient(#000 40%,#0000 75%)}.contact__inner{z-index:1;justify-content:space-between;align-items:flex-start;gap:clamp(48px,8vw,120px);display:flex;position:relative}.contact__inner>*{align-self:flex-start}.contact__left{gap:var(--space-xl);flex-direction:column;flex-shrink:0;max-width:480px;display:flex}.contact__title{font-family:var(--font-primary),sans-serif;font-size:var(--text-fluid-h1);font-weight:500;line-height:var(--leading-tight);color:var(--color-text-primary)}.contact__highlight{color:var(--color-brand-low)}.contact__description{font-family:var(--font-secondary),sans-serif;font-size:var(--text-fluid-body);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.contact__info{gap:var(--space-s);flex-direction:column;display:flex}.contact__link{font-family:var(--font-mono),monospace;font-size:var(--text-sm);color:var(--color-brand-low);transition:opacity var(--transition-fast);text-decoration:none}.contact__link:hover{opacity:.7}.contact__right{flex:1;width:100%;max-width:560px}.contact__form{gap:var(--space-lg);flex-direction:column;display:flex}.contact__form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.contact__hp{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.is-shake{animation:.5s field-shake;border-color:var(--color-state-danger)!important}@keyframes field-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}.contact__form-error{font-family:var(--font-mono),monospace;font-size:var(--text-xs);color:var(--color-state-danger);border-radius:var(--input-radius);background:color-mix(in srgb, var(--color-state-danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-state-danger) 20%, transparent);padding:10px 14px}.contact__success{gap:var(--space-md);padding:var(--space-4xl);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--color-bg-deep) 60%, transparent);border:1px solid color-mix(in srgb, var(--color-brand-low) 15%, transparent);flex-direction:column;display:flex}.contact__success-title{font-family:var(--font-primary),sans-serif;font-size:var(--text-fluid-h3);color:var(--color-brand-low);font-weight:500}.contact__success-text{font-family:var(--font-secondary),sans-serif;font-size:var(--text-fluid-body);line-height:var(--leading-normal);color:var(--color-text-secondary)}@media (max-width:1024px){.contact__left{max-width:400px}}@media (max-width:768px){.contact{padding:120px 0 80px}.contact__inner{flex-direction:column}.contact__left{max-width:none;position:static}.contact__right{max-width:none}.contact__form-row{grid-template-columns:1fr}}
