.contact-panel{padding-top:100px}
.contact-signal{--signal-x:76%;--signal-y:24%;position:relative;isolation:isolate;min-height:640px;margin-top:32px;padding:42px 48px 30px;color:var(--cream);background:rgba(7,26,45,.97);border:1px solid rgba(126,172,214,.32);overflow:hidden;box-shadow:0 38px 100px rgba(7,26,45,.18);transition:border-color .35s ease,box-shadow .35s ease}
.contact-signal[data-state="dormant"]{cursor:pointer}
.contact-signal:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at var(--signal-x) var(--signal-y),rgba(95,112,191,.19),transparent 34%),radial-gradient(circle at 5% 105%,rgba(75,143,206,.14),transparent 38%),linear-gradient(115deg,rgba(255,255,255,.035),transparent 33%)}
.contact-signal:after{content:"";position:absolute;inset:16px;z-index:-1;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.signal-identifier,.signal-ready,.signal-established,.signal-availability{margin:0;text-transform:uppercase;letter-spacing:.18em;font:700 10px/1.3 var(--sans)}
.signal-identifier{position:relative;z-index:3;color:rgba(245,249,252,.66)}
.signal-layout{min-height:510px;display:grid;grid-template-columns:.84fr 1.16fr;gap:clamp(50px,7vw,110px);align-items:center}
.signal-visual{min-width:0;display:grid;place-items:center}
.signal-object{position:relative;width:min(29vw,350px);aspect-ratio:1;display:grid;place-items:center}
.signal-object:before,.signal-object:after{content:"";position:absolute;inset:12%;border:1px solid rgba(133,175,213,.19);border-radius:50%}
.signal-object:after{inset:28%;border-color:rgba(164,142,211,.28);box-shadow:0 0 65px rgba(108,94,185,.11),inset 0 0 35px rgba(75,143,206,.08)}
.signal-core{width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#bfd7e9 0 5%,#718fc2 24%,#463f7b 64%,#101f35 100%);box-shadow:0 0 0 1px rgba(216,231,242,.32),0 0 46px rgba(75,143,206,.27);transition:filter .35s ease,transform .35s ease,box-shadow .35s ease}
.signal-ring{position:absolute;inset:28%;border:1px solid rgba(122,168,208,.5);border-radius:50%;opacity:0;pointer-events:none}
.signal-interface{min-width:0;display:grid;align-items:center}
.signal-trigger,.signal-connected{grid-area:1/1;min-width:0}
.signal-trigger{position:relative;width:100%;min-height:400px;padding:20px 70px 20px 0;text-align:left;color:inherit;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.signal-title{font:400 clamp(58px,6.5vw,94px)/.84 var(--serif);letter-spacing:-.058em;text-transform:uppercase;max-width:8ch}
.signal-intro{max-width:440px;margin-top:30px;color:rgba(245,249,252,.72);font:400 17px/1.6 var(--sans)}
.signal-ready{margin-top:48px;color:rgba(245,249,252,.56);transition:color .25s ease}
.signal-arrow{position:absolute;right:4px;bottom:29px;font:400 47px/1 var(--serif);transition:transform .3s ease,color .3s ease}
.signal-connected{visibility:hidden;opacity:0;min-height:400px;padding:20px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transform:translateY(10px);transition:opacity .26s ease,transform .34s ease,visibility 0s linear .4s}
.signal-established{display:flex;align-items:center;gap:11px;color:rgba(245,249,252,.72)}
.signal-status-dot{width:7px;height:7px;border-radius:50%;background:#70b79a;box-shadow:0 0 0 5px rgba(112,183,154,.1)}
.signal-email{display:inline-block;max-width:100%;margin-top:30px;color:var(--cream);font:400 clamp(36px,3.7vw,54px)/1 var(--serif)!important;letter-spacing:-.045em;border:0!important;text-decoration:none;overflow-wrap:normal;word-break:normal!important;white-space:nowrap;transition:color .22s ease}
.signal-email:hover{color:#91bce0}
.signal-connected-copy{max-width:570px;margin:27px 0 0;color:rgba(245,249,252,.7);font:400 16px/1.65 var(--sans)}
.signal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.signal-action{min-height:52px;padding:17px 22px;color:var(--cream);background:rgba(255,255,255,.035);border:1px solid rgba(245,249,252,.32);text-transform:uppercase;letter-spacing:.14em;font:700 10px/1 var(--sans)!important;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:18px;transition:background-color .22s ease,color .22s ease,border-color .22s ease}
.signal-action:hover{color:var(--ink);background:var(--cream);border-color:var(--cream)}
.signal-availability{position:relative;z-index:3;padding-top:25px;color:rgba(245,249,252,.48);border-top:1px solid rgba(245,249,252,.12)}
.signal-sweep{position:absolute;z-index:1;left:48px;right:48px;top:52%;height:1px;background:rgba(123,170,211,.1);overflow:visible;pointer-events:none}
.signal-sweep:before,.signal-sweep:after{content:"";position:absolute;left:0;right:0;top:-18px;height:36px;opacity:.22;background:linear-gradient(90deg,transparent 0 8%,rgba(124,170,210,.35) 8.1% 8.25%,transparent 8.35% 16%,rgba(124,170,210,.26) 16.1% 16.3%,transparent 16.4% 100%);clip-path:polygon(0 50%,8% 50%,9% 39%,10% 61%,11% 46%,12% 54%,13% 50%,34% 50%,35% 42%,36% 58%,37% 50%,100% 50%)}
.signal-sweep span{position:absolute;left:-16%;top:-1px;width:16%;height:2px;opacity:.22;background:linear-gradient(90deg,transparent,rgba(147,191,226,.85),transparent);animation:signal-drift 8s linear infinite}
.contact-signal[data-state="activating"],.contact-signal[data-state="connecting"],.contact-signal[data-state="established"]{border-color:rgba(132,171,215,.65);box-shadow:0 38px 110px rgba(38,62,105,.27),inset 0 0 90px rgba(73,104,158,.06)}
.contact-signal[data-state="activating"] .signal-trigger,.contact-signal[data-state="connecting"] .signal-trigger,.contact-signal[data-state="established"] .signal-trigger{opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease,transform .28s ease}
.contact-signal[data-state="connecting"] .signal-connected,.contact-signal[data-state="established"] .signal-connected{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.contact-signal[data-state="activating"] .signal-ring-one,.contact-signal[data-state="connecting"] .signal-ring-one{animation:signal-broadcast .78s cubic-bezier(.18,.72,.22,1) 0s both}
.contact-signal[data-state="activating"] .signal-ring-two,.contact-signal[data-state="connecting"] .signal-ring-two{animation:signal-broadcast .78s cubic-bezier(.18,.72,.22,1) .11s both}
.contact-signal[data-state="activating"] .signal-ring-three,.contact-signal[data-state="connecting"] .signal-ring-three{animation:signal-broadcast .78s cubic-bezier(.18,.72,.22,1) .22s both}
.contact-signal[data-state="activating"] .signal-sweep:after,.contact-signal[data-state="connecting"] .signal-sweep:after{height:2px;top:-1px;opacity:1;clip-path:none;background:linear-gradient(90deg,transparent,rgba(151,194,228,.9),transparent);animation:signal-lock .72s ease-out both}
.contact-signal[data-state="established"] .signal-core{animation:signal-calm 4.8s ease-in-out infinite}
.contact-signal[data-state="established"] .signal-status-dot{animation:status-calm 3s ease-in-out infinite}
.signal-trigger[hidden]{display:none}
.signal-trigger:focus-visible,.signal-action:focus-visible,.signal-email:focus-visible{outline:3px solid #79aeda;outline-offset:6px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(hover:hover){.contact-signal[data-state="dormant"]:hover{border-color:rgba(132,171,215,.54);box-shadow:0 38px 110px rgba(24,51,82,.24)}.contact-signal[data-state="dormant"]:hover .signal-core{filter:brightness(1.17);transform:scale(1.04);box-shadow:0 0 0 1px rgba(216,231,242,.42),0 0 62px rgba(75,143,206,.36)}.contact-signal[data-state="dormant"]:hover .signal-ready{color:rgba(245,249,252,.8)}.contact-signal[data-state="dormant"]:hover .signal-arrow{color:#91bce0;transform:translateX(7px)}}
@keyframes signal-broadcast{0%{inset:28%;opacity:.75}100%{inset:-12%;opacity:0}}
@keyframes signal-lock{0%{left:-25%;right:125%}100%{left:100%;right:-25%}}
@keyframes signal-drift{0%{left:-16%}100%{left:100%}}
@keyframes signal-calm{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.035);filter:brightness(1.1)}}
@keyframes status-calm{0%,100%{opacity:.72}50%{opacity:1}}
@media(max-width:960px){.contact-signal{min-height:760px;padding:38px 38px 28px}.signal-layout{min-height:640px;grid-template-columns:1fr;gap:12px}.signal-visual{align-self:end}.signal-object{width:min(42vw,300px)}.signal-trigger,.signal-connected{min-height:320px;padding:10px 0}.signal-trigger{padding-right:66px}.signal-title{font-size:clamp(57px,10vw,82px)}.signal-ready{margin-top:36px}.signal-email{white-space:normal;overflow-wrap:anywhere}.signal-sweep{left:38px;right:38px;top:43%}}
@media(max-width:600px){.contact-panel{padding-top:78px}.contact-signal{min-height:720px;margin-top:26px;padding:30px 25px 25px}.contact-signal:after{inset:10px}.signal-layout{min-height:604px}.signal-object{width:min(66vw,250px)}.signal-trigger,.signal-connected{min-height:340px}.signal-trigger{padding:8px 46px 8px 0}.signal-title{font-size:clamp(48px,14.8vw,66px)}.signal-intro{margin-top:23px;font-size:16px}.signal-ready{margin-top:32px;max-width:18ch}.signal-arrow{right:0;bottom:26px;font-size:39px}.signal-email{font-size:clamp(31px,9.7vw,45px)!important;line-height:1.05!important}.signal-connected-copy{font-size:15px}.signal-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:29px}.signal-action{width:100%}.signal-sweep{left:25px;right:25px;top:39%}.signal-availability{font-size:9px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.contact-signal,.signal-core,.signal-status-dot,.signal-trigger,.signal-connected,.signal-arrow,.signal-action,.signal-email{transition:none!important;animation:none!important}.signal-ring,.signal-sweep:after,.signal-sweep span{display:none!important}}
