:root{ --edge-wide:1440px }

*{ box-sizing:border-box }
body{ margin:0; font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; color:#0e1420; background:#fff }
a{ color:inherit; text-decoration:none }

/* Header nav (page-local) */
.main-nav{ margin-left:auto; display:flex; gap:22px }
.main-nav a{ color:#0f172a; font-weight:700; opacity:.9 }
.main-nav a:hover{ opacity:1 }

/* Hero */
.hero--contact{ position:relative; overflow:hidden; color:#fff; background:#0a0f1d; width:100%; max-width:100%; margin:0 auto 56px; border-radius:0 }
.hero--contact .hero-inner{ padding:84px 24px; text-align:center; max-width:1240px; margin:auto }
.hero--contact h1{ margin:0 0 10px; font-size:clamp(36px,6vw,64px); font-weight:800; letter-spacing:-.01em }
.hero--contact p{ margin:0; opacity:.9 }
.hero--contact .hero-bg{ position:absolute; inset:0; z-index:0; filter:blur(2px) saturate(130%); opacity:.9 }
.hero--contact .blob{ position:absolute; border-radius:50%; filter:blur(44px) }
.hero--contact .a{ width:520px; height:520px; left:-140px; top:-160px; background:radial-gradient(60% 60% at 40% 40%,#0ea5e9 0%,transparent 60%),radial-gradient(60% 60% at 70% 60%,#1d4ed8 0%,transparent 70%) }
.hero--contact .b{ width:520px; height:520px; right:-160px; top:40px; background:radial-gradient(60% 60% at 40% 40%,#7c3aed 0%,transparent 60%),radial-gradient(60% 60% at 70% 60%,#0ea5e9 0%,transparent 70%) }
.hero--contact .c{ width:420px; height:420px; left:40%; bottom:-160px; background:radial-gradient(60% 60% at 50% 50%,#1e3a8a 0%,transparent 65%),radial-gradient(60% 60% at 40% 60%,#0ea5e9 0%,transparent 70%) }

/* Split */
.contact-split{ padding:0 0 64px }
.container{ max-width:1240px; margin:auto; padding:0 16px }
.grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px }

/* Left column */
.left-h{ margin:40px 0 20px; font-size:28px; font-weight:800 }
.divider{ border:0; border-top:1px solid #e5eaf1; margin:15px 0 18px }
.info-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px 28px; align-items:start; margin-top:30px }
.info-item{ display:flex; gap:14px; align-items:flex-start }
.badge{ flex:0 0 44px; height:44px; border-radius:12px; display:grid; place-items:center; background:#eef4ff; border:1px solid rgba(37,99,235,.12); color:#2563eb }
.info-title{ margin:0 0 6px; font-size:18px; font-weight:700 }
.info-text{ margin:0; color:#475569; line-height:1.5 }
.info-text a{ color:#0f172a; text-decoration:underline; text-underline-offset:3px }
.row-divider{ grid-column:1 / -1; border:0; border-top:1px solid #e9eef5; margin:2px 0 6px }

/* Right: form */
.contact-form .form-shell{ border-radius:22px; overflow:hidden; position:relative; color:#fff; background:radial-gradient(1000px 600px at 0% 0%, rgba(14,165,233,.35), transparent 60%), radial-gradient(900px 600px at 100% 40%, rgba(124,58,237,.28), transparent 60%), linear-gradient(180deg,#123069,#0b1a3a); padding:28px 24px 22px; min-height:620px }
.form-h{ margin:0 0 6px; font-weight:800; font-size:clamp(22px,3.2vw,40px); letter-spacing:-.01em }
.form-sub{ margin:0 0 10px; opacity:.9 }
form{ display:flex; flex-direction:column; gap:14px; margin-top:8px }
.form-field{ display:flex; flex-direction:column; gap:8px }
.form-field span{ font-size:13px; opacity:.9 }
input,textarea{ width:100%; padding:14px 0; background:transparent; color:#fff; border:none; border-bottom:1px solid rgba(255,255,255,.35); outline:none }
input::placeholder,textarea::placeholder{ color:rgba(255,255,255,.55) }
input:focus,textarea:focus{ border-bottom-color:#fff }
.form-actions{ display:flex; justify-content:flex-end; margin-top:10px }
.btn-cta{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:999px; font-weight:800; color:#0b1730; background:#fff; border:0 }
.form-fine{ font-size:12px; opacity:.8; margin:12px 0 0 }
.form-fine a{ color:#fff; text-decoration:underline }

/* Footer strip */
.contact-legal{ border-top:1px solid #eef2f7; background:#fff }
.legal-row{ display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px 0; font-size:13px }
.legal-row a{ text-decoration:underline }

/* Responsive */
@media (max-width:980px){ .grid{ grid-template-columns:1fr; gap:32px } .info-grid{ grid-template-columns:1fr } .row-divider{ display:block } }

/* Wide-edge alignment for this page */
.contact-split .container, .contact-legal .container{ max-width:min(var(--edge-wide), calc(100% - 48px)); margin-inline:auto; padding-inline:0 }
