.contact-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.22,1,.36,1),visibility .3s cubic-bezier(.22,1,.36,1);padding:2rem;overscroll-behavior:contain}.contact-overlay.visible{opacity:1;visibility:visible}.contact-shell{position:relative;width:100%;max-width:980px;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:clamp(1.5rem,2.2vw,3.25rem);border-radius:.75rem;background:linear-gradient(135deg,rgba(0,0,0,.92),rgba(18,18,18,.96));border:1px solid rgba(74,222,128,.18);box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 60px rgba(74,222,128,.12),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(16px) scale(.98);transition:transform .35s cubic-bezier(.22,1,.36,1);will-change:transform}.contact-overlay.visible .contact-shell{transform:translateY(0) scale(1)}.contact-close{position:absolute;top:clamp(1rem,1.5vw,1.5rem);right:clamp(1rem,1.5vw,1.5rem);z-index:10;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:rgba(255,255,255,.4);cursor:pointer;transition:color .15s,border-color .15s,background .15s;padding:0}.contact-close:hover{color:#fff;border-color:rgba(74,222,128,.3);background:rgba(74,222,128,.06)}.contact-head{text-align:center;margin-bottom:clamp(1.5rem,2vw,2.5rem)}.contact-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.25rem .75rem;font-size:10.8px;font-weight:600;letter-spacing:.12em;color:#a7f3d0;background:rgba(255,255,255,.04);border:1px solid rgba(74,222,128,.3)}.contact-headline,.contact-pill{text-transform:uppercase;font-family:Space Grotesk,sans-serif}.contact-headline{font-weight:800;font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.02em;line-height:1.05;margin:1rem 0 .75rem;background:linear-gradient(90deg,#4ade80,#a7f3d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-sub{color:rgba(255,255,255,.55);font-size:clamp(.8rem,1.2vw,.95rem);margin:0;line-height:1.5;font-family:Space Grotesk,sans-serif}.contact-email-link{color:#a7f3d0;text-decoration:none;border-bottom:1px solid rgba(167,243,208,.25);transition:border-color .15s}.contact-email-link:hover{border-color:#a7f3d0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,2.5vw,3rem);align-items:start}.contact-cards{display:flex;flex-direction:column;gap:.75rem}.contact-card{position:relative;overflow:hidden;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.55));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.25rem;box-shadow:0 22px 70px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07)}.contact-card--accent{border-color:rgba(74,222,128,.28);background:linear-gradient(180deg,rgba(74,222,128,.12),rgba(0,0,0,.55));box-shadow:0 22px 70px rgba(0,0,0,.6),0 0 70px rgba(74,222,128,.14),inset 0 1px 0 rgba(255,255,255,.1)}.contact-card--accent:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 55% at 18% 0,rgba(167,243,208,.22) 0,transparent 56%)}.contact-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}.contact-card-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.6)}.contact-card-icon-wrap.accent{border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.1);color:#4ade80}.contact-card-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .5rem;font-size:9.9px;font-weight:600;font-family:Space Grotesk,sans-serif;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.7)}.contact-card-badge.accent{border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.1);color:#a7f3d0}.contact-card-title{font-family:Space Grotesk,sans-serif;font-weight:800;font-size:clamp(.9rem,1.35vw,1.125rem);color:#fff;letter-spacing:-.01em}.contact-card-divider{height:1px;margin:.75rem 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}.contact-card--accent .contact-card-divider{background:linear-gradient(90deg,transparent,rgba(74,222,128,.2),transparent)}.contact-card-body{font-family:Space Grotesk,sans-serif;font-size:.9rem;line-height:1.55;color:rgba(255,255,255,.6);margin:0}.contact-form,.contact-form-wrap{display:flex;flex-direction:column}.contact-form{gap:1.25rem}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-field{display:flex;flex-direction:column;gap:.375rem}.contact-label{font-family:Space Grotesk,sans-serif;font-size:10.8px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.6)}.contact-input,.contact-textarea{width:100%;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.8rem 1rem;color:#fff;font-family:Space Grotesk,sans-serif;font-size:.9rem;transition:border-color .2s,box-shadow .2s,background .2s;outline:none}.contact-input::placeholder,.contact-textarea::placeholder{color:rgba(255,255,255,.2)}.contact-input:focus,.contact-textarea:focus{border-color:rgba(74,222,128,.4);box-shadow:0 0 20px rgba(74,222,128,.08),inset 0 0 0 1px rgba(74,222,128,.15);background:rgba(0,0,0,.6)}.contact-textarea{resize:none;min-height:130px;line-height:1.6}.contact-feedback{font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:600;padding:.75rem 1rem;border-radius:.75rem}.contact-feedback--ok{background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2);color:#a7f3d0}.contact-feedback--err{background:rgba(255,80,80,.06);border:1px solid rgba(255,80,80,.15);color:rgba(255,100,100,.9)}.contact-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.9rem 1.5rem;border-radius:.75rem;border:2px solid rgba(16,185,129,.4);background:linear-gradient(135deg,#10b981,#059669 50%,#047857);color:#000;font-family:Space Grotesk,sans-serif;font-weight:900;font-size:clamp(.8rem,1.2vw,.95rem);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.8),0 4px 20px rgba(16,185,129,.25),0 8px 40px rgba(16,185,129,.15),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),border-color .25s}.contact-submit:hover:not(:disabled){transform:translateY(-2px) scale(1.01);border-color:rgba(16,185,129,.6);box-shadow:0 0 0 1px rgba(0,0,0,.9),0 8px 30px rgba(16,185,129,.4),0 16px 60px rgba(16,185,129,.25),0 0 80px rgba(16,185,129,.15),inset 0 1px 0 rgba(255,255,255,.3)}.contact-submit:active:not(:disabled){transform:translateY(0) scale(1)}.contact-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-submit--loading{background:linear-gradient(135deg,rgba(16,185,129,.4),rgba(5,150,105,.4));color:rgba(255,255,255,.8)}.contact-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:contact-spin .7s linear infinite}@keyframes contact-spin{to{transform:rotate(1turn)}}@media (max-width:768px){.contact-overlay{padding:1rem}.contact-shell{padding:1.25rem;max-height:95vh}.contact-grid{gap:1.5rem}.contact-form-row,.contact-grid{grid-template-columns:1fr}.contact-headline{font-size:1.5rem}}@media (max-width:480px){.contact-shell{padding:1rem}.contact-headline{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.contact-close,.contact-input,.contact-overlay,.contact-shell,.contact-submit,.contact-textarea{transition:none}.contact-spinner{animation:none}}