.contact{background:var(--color-bg);color:var(--color-text);padding:96px 0}.contact__inner{max-width:1280px}.contact__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:80px;align-items:start}.contact__intro{max-width:460px}.contact__eyebrow{color:var(--color-muted)}.contact__heading{font-family:var(--font-display);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.1;letter-spacing:-.01em;color:#fff;margin:8px 0 18px}.contact__lede{font-size:15px;line-height:1.75;color:var(--color-text-soft);margin:0 0 36px}.contact__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px;padding:28px 0 0;border-top:1px solid var(--color-border)}.contact__action--wide{grid-column:1 / -1}.contact__action{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);color:var(--color-text-soft);background:transparent;text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.contact__action:hover{border-color:#ffffff8c;background:#ffffff0a;color:#fff}.contact__action svg{color:#fff9;flex-shrink:0;transition:color var(--transition-fast)}.contact__action:hover svg{color:#fff}.contact__action-text{display:flex;flex-direction:column;gap:2px;min-width:0}.contact__action-label{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c}.contact__action-value{font-family:var(--font-body);font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact__address{display:flex;align-items:center;gap:14px;font-family:var(--font-body);font-size:14px;color:var(--color-text-soft);margin:0 0 24px}.contact__address svg{color:#ffffff80;flex-shrink:0}.contact__address address{font-style:normal}.contact__socials{display:flex;gap:10px}.contact__social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);color:#ffffffb3;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.contact__social:hover{border-color:#ffffff8c;background:#ffffff0f;color:#fff}.contact__form{display:flex;flex-direction:column;gap:20px;padding:40px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.contact__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact__field{display:flex;flex-direction:column;gap:8px}.contact__field span{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c}.contact__field input,.contact__field textarea{padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:#ffffff05;color:#fff;font-size:15px;font-family:var(--font-body);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background var(--transition-fast);resize:vertical}.contact__field input::placeholder,.contact__field textarea::placeholder{color:#ffffff4d}.contact__field input:focus,.contact__field textarea:focus{outline:none;border-color:#ffffff73;background:#ffffff0d}.contact__honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.contact__submit{align-self:flex-start;background:#fff;color:#0a0a0c;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:16px 32px;border-radius:2px;border:none;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.contact__submit:hover:not(:disabled){background:#e5e5e5;transform:translateY(-1px)}.contact__submit:disabled{opacity:.6;cursor:wait}.contact__status{font-size:14px;margin:0}.contact__status--success,.contact__status--error{display:block;padding:12px 16px;border-radius:var(--radius-sm)}.contact__status--success{background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.2)}.contact__status--error{background:#ff696914;color:#ffc4c4;border:1px solid rgba(255,105,105,.3)}.contact__map{margin-top:64px;aspect-ratio:16 / 7;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-card)}.contact__map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.2) contrast(1.05)}@media (max-width: 960px){.contact__layout{grid-template-columns:1fr;gap:40px}.contact__intro{max-width:100%}.contact__map{margin-top:48px;aspect-ratio:4 / 3}}@media (max-width: 600px){.contact{padding:72px 0}.contact__row{grid-template-columns:1fr}.contact__form{padding:28px 20px}.contact__actions{grid-template-columns:1fr}}.contact-page{background:var(--color-bg);color:var(--color-text)}.contact-hero{position:relative;padding:200px 0 120px;background:var(--color-bg);overflow:hidden;isolation:isolate}.contact-hero__media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.contact-hero__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.95) saturate(1.02)}.contact-hero__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#0a0a0cf2,#0a0a0cd1 22%,#0a0a0c8c 48%,#0a0a0c40 76%,#0a0a0c1a),linear-gradient(to bottom,rgba(10,10,12,.25) 0%,transparent 30%,transparent 60%,var(--color-bg) 100%)}.contact-hero__inner{position:relative;z-index:1;max-width:1100px}.contact-hero__eyebrow{color:var(--color-muted)}.contact-hero__title{font-family:var(--font-display);font-size:clamp(40px,5.5vw,72px);font-weight:400;line-height:1.06;letter-spacing:-.01em;color:#fff;margin:12px 0 24px;max-width:880px}.contact-hero__intro{font-size:17px;line-height:1.75;color:var(--color-text-soft);max-width:640px;margin:0}.contact-page .contact{padding-top:32px}.contact-page .contact__eyebrow,.contact-page .contact__heading,.contact-page .contact__lede{display:none}@media (max-width: 768px){.contact-hero{padding:144px 0 72px}.contact-page .contact{padding-top:16px}}@media (max-width: 480px){.contact-hero{padding:128px 0 56px}.contact-hero__intro{font-size:16px}}
