/* Compact contact section with an always-visible form. */
.contact-section{padding:38px 5.2%;min-height:480px;text-align:left;scroll-margin-top:0;display:flex;align-items:center}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);align-items:center;gap:70px;width:100%;max-width:1434px;margin:auto;position:relative;z-index:1}
.contact-section .contact-copy h2{font-size:clamp(43px,4.3vw,66px);line-height:1.15;letter-spacing:-2px;margin:0}
#contact-panel{min-width:0;border:1px solid #6386c33d;border-radius:14px;padding:24px 27px;background:linear-gradient(145deg,#101a2a,#0a101b);text-align:left}
#contact-panel h3{font-size:22px;line-height:1.3;letter-spacing:-.5px;margin:0;font-weight:500}
#contact-panel form{display:grid;margin-top:20px;gap:13px}
.contact-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}
#contact-panel form label{display:grid;min-width:0;font-size:12px;color:#b1bfd4;gap:7px}
#contact-panel input,#contact-panel select,#contact-panel textarea{width:100%;min-width:0;background:#0e1827;border:1px solid #34466088;border-radius:6px;padding:10px 11px;font-size:14px;color:#e6eefb;transition:border-color .2s,box-shadow .2s}
#contact-panel input::placeholder,#contact-panel textarea::placeholder{color:#687a95}
#contact-panel input:focus,#contact-panel select:focus,#contact-panel textarea:focus{outline:none;border-color:#739bff;box-shadow:0 0 0 3px #315eff13}
#contact-panel textarea{min-height:60px;resize:vertical}
#contact-panel .send-brief{border-radius:7px;min-height:43px;padding:6px 8px 6px 14px;font-size:13px;background:#315eff;border:1px solid #6c8eff55;transition:background .2s;transform:none}
#contact-panel .send-brief>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:17px;background:#ffffff14}
#contact-panel .send-brief svg{display:block;width:14px;height:14px}
#contact-panel .contact-email{font:12px var(--mono);color:#8f9fb9;text-align:center;justify-self:center;text-underline-offset:3px}
#contact-panel .contact-email:hover{color:#d2e0ff;text-decoration:underline}
#contact-panel #form-status a{text-decoration:underline;text-underline-offset:3px}
#contact-panel .send-brief:hover{background:#4772ff}
#contact-panel #form-status{font-size:12px;color:#a8c3ff;line-height:1.7;margin:0}
#contact-panel #form-status:empty{display:none}
@media(max-width:1050px){.contact-layout{gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,450px)}.contact-section .contact-copy h2{font-size:43px}}
@media(max-width:800px){.contact-section{padding:42px 6%;min-height:0}.contact-layout{grid-template-columns:1fr;gap:28px;max-width:560px}.contact-section .contact-copy h2{font-size:42px;letter-spacing:-1.5px}.contact-watermark{font-size:25vw;letter-spacing:-4px}}
@media(max-width:450px){.contact-section{padding:36px 6%}.contact-section .contact-copy h2{font-size:35px;letter-spacing:-1.3px}#contact-panel{padding:22px 19px;border-radius:12px}#contact-panel h3{font-size:20px}#contact-panel form{margin-top:18px;gap:12px}.contact-identity{gap:12px}#contact-panel input,#contact-panel select,#contact-panel textarea{font-size:16px;padding:10px}#contact-panel form label{font-size:12px}}

/* Mathematical curves stay anchored to the actual text bounds. */
.contact-convergence{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.contact-copy,#contact-panel{position:relative;z-index:1}
.contact-thread-paths path{stroke:#dbe9ff;stroke-width:1.25;stroke-opacity:.5;vector-effect:non-scaling-stroke}
.contact-thread-paths path:nth-child(3n){stroke:#f1f6ff;stroke-opacity:.75;stroke-width:1.4}
@media(max-width:800px){.contact-convergence{display:none}}
/* Horizontal swipes rotate the 3D object; vertical swipes keep page scrolling. */
#knot{cursor:grab;touch-action:pan-y;user-select:none;outline:none}
#knot.is-dragging{cursor:grabbing}
#knot:focus,#knot:focus-visible{outline:none;box-shadow:none;border:0}
