.contact-container{max-width:var(--max-w-content);margin:0 auto;padding:120px 24px 80px}.contact-hero{margin-bottom:var(--sp-4xl);text-align:center}.contact-eyebrow{font-family:var(--font-ibm-plex-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:var(--sp-lg)}.contact-title{font-family:var(--font-instrument-serif);font-size:var(--heading-lg);font-weight:400;font-style:italic;color:var(--fg);letter-spacing:-.02em;margin-bottom:var(--sp-xl);line-height:1.1}.contact-subtitle{font-family:var(--font-poppins);font-size:var(--text-3xl);line-height:1.7;color:var(--near-white);max-width:var(--max-w-reading);margin:0 auto}.contact-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4xl);gap:var(--sp-4xl);align-items:start}.contact-form{gap:var(--sp-xl)}.contact-field,.contact-form{display:flex;flex-direction:column}.contact-field{gap:var(--sp-sm)}.contact-label{font-family:var(--font-ibm-plex-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute)}.contact-attachment-toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:12px;bottom:12px;z-index:1;width:34px;height:34px;padding:0;border:0;border-radius:999px;background:transparent;color:hsla(0,0%,100%,.36);cursor:pointer;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.contact-attachment-toggle--active,.contact-attachment-toggle:hover{background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.94)}.contact-input,.contact-select,.contact-textarea{width:100%;padding:var(--sp-md) var(--sp-lg);background:hsla(0,0%,100%,.03);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--fg);font-family:var(--font-poppins);font-size:var(--text-base);line-height:1.5;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease);outline:none}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--mid)}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{border-color:var(--accent-border);background:hsla(0,0%,100%,.05)}.contact-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-lg) center;padding-right:var(--sp-3xl);cursor:pointer}.contact-select option{background:var(--dark);color:var(--fg)}.contact-textarea{min-height:160px;padding-right:58px;resize:vertical}.contact-textarea-wrap{position:relative}.contact-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-xl);gap:var(--sp-xl)}.contact-attachment-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.contact-attachment-strip{display:flex;flex-direction:column;gap:var(--sp-sm);margin-top:calc(var(--sp-md) * -1)}.contact-attachment-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));grid-gap:var(--sp-sm);gap:var(--sp-sm);padding:0;margin:0;list-style:none}.contact-attachment-tile{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:hsla(0,0%,100%,.025)}.contact-attachment-preview{display:grid;grid-template-rows:78px auto;grid-gap:var(--sp-xs);gap:var(--sp-xs);width:100%;min-width:0;padding:var(--sp-xs);border:0;background:transparent;color:var(--fg);cursor:pointer;text-align:left}.contact-attachment-filemark,.contact-attachment-thumb{width:100%;height:78px;border-radius:calc(var(--radius-md) - 2px);background:rgba(0,0,0,.24)}.contact-attachment-thumb{object-fit:cover}.contact-attachment-filemark{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--font-ibm-plex-mono);font-size:var(--text-xs);letter-spacing:.08em}.contact-attachment-tile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-poppins);font-size:var(--text-xs);color:var(--near-white)}.contact-attachment-size{display:block;padding:0 var(--sp-xs) var(--sp-xs);color:var(--text-mute);font-family:var(--font-ibm-plex-mono);font-size:var(--text-xs)}.contact-attachment-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.52);color:var(--text-mute);cursor:pointer;font-size:18px;line-height:1;position:absolute;right:6px;top:6px;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.contact-attachment-remove:hover{border-color:var(--rose-border);background:rgba(255,90,122,.12);color:var(--rose)}.contact-attachment-warning{margin:0;font-family:var(--font-poppins);font-size:var(--text-xs);line-height:1.5;color:var(--text-mute)}.contact-attachment-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:var(--sp-xl);background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-attachment-modal-panel{width:min(760px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--dark);box-shadow:var(--shadow-2xl)}.contact-attachment-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border)}.contact-attachment-modal-title{max-width:min(560px,70vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);font-family:var(--font-poppins);font-size:var(--text-sm);font-weight:500}.contact-attachment-modal-meta{color:var(--text-mute);font-family:var(--font-ibm-plex-mono);font-size:var(--text-xs)}.contact-attachment-modal-close{width:32px;height:32px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-mute);cursor:pointer;font-size:20px;line-height:1}.contact-attachment-modal-body{display:flex;align-items:center;justify-content:center;min-height:280px;max-height:640px;padding:var(--sp-lg);background:rgba(0,0,0,.2)}.contact-attachment-modal-media{display:block;max-width:100%;max-height:600px;object-fit:contain;border-radius:var(--radius-md)}.contact-attachment-modal-file{display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);color:var(--text-mute);font-family:var(--font-poppins)}.contact-attachment-modal-file a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.contact-submit{padding:var(--sp-md) var(--sp-2xl);background:var(--accent);color:var(--black);border:none;border-radius:var(--radius-lg);font-family:var(--font-poppins);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:opacity var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease);min-height:48px}.contact-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.contact-submit:disabled{opacity:.5;cursor:not-allowed}.contact-success{background:var(--green-dim);border:1px solid var(--green-border);border-radius:var(--radius-lg);color:var(--green)}.contact-error,.contact-success{padding:var(--sp-lg);font-size:var(--text-base);line-height:1.5}.contact-error{background:var(--rose-dim);border:1px solid var(--rose-border);border-radius:var(--radius-lg);color:var(--rose)}.contact-info{display:flex;flex-direction:column;gap:var(--sp-2xl)}.contact-info-card{padding:var(--sp-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card-bg);transition:border-color var(--duration-base) var(--ease)}.contact-info-card:hover{border-color:var(--accent-border)}.contact-info-icon{font-size:var(--text-xl);margin-bottom:var(--sp-md);display:block}.contact-info-title{font-family:var(--font-poppins);font-size:var(--text-xl);font-weight:500;color:var(--fg);margin-bottom:var(--sp-sm)}.contact-info-text{font-family:var(--font-poppins);font-size:var(--text-base);line-height:1.6;color:var(--text-mute)}.contact-info-link{font-family:var(--font-ibm-plex-mono);font-size:var(--text-sm);color:var(--accent);text-decoration:underline;text-underline-offset:4px;transition:color var(--duration-fast)}.contact-info-link:hover{color:var(--fg)}@media (max-width:768px){.contact-container{padding:100px 20px 60px}.contact-layout{gap:var(--sp-3xl)}.contact-layout,.contact-row{grid-template-columns:1fr}.contact-info{order:-1}}