
#jd-contact-page .contact-heading{padding:46px 0 36px;border-bottom:1px solid var(--rule)}
#jd-contact-page h1{font-size:clamp(43px,6.4vw,78px);font-weight:400;line-height:1.02;letter-spacing:-3.5px;margin:0;animation:contact-arrive .9s cubic-bezier(.2,.7,.2,1) both}
#jd-contact-page .green-dot{color:#67ac82}
#jd-contact-page .contact-layout{display:grid;grid-template-columns:41% 1fr;gap:8%;padding:40px 0 55px}
#jd-contact-page .connection-art{max-width:355px;display:flex;justify-content:space-between;flex-wrap:wrap;color:var(--sub);font-size:8px;letter-spacing:1.2px;margin-bottom:30px}
#jd-contact-page .connection-art svg{width:100%;display:block;overflow:visible;margin-bottom:8px}
#jd-contact-page .guide{fill:none;stroke:#c6ccbd;stroke-width:1}
#jd-contact-page .moving-line{fill:none;stroke:#56694e;stroke-width:1.6;stroke-dasharray:1 7;animation:connect-flow 12s linear infinite}
#jd-contact-page .connection-dot{fill:#72bd94;animation:connect-pulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
#jd-contact-page .connection-dot.end{animation-delay:1.5s}
#jd-contact-page .contact-intro{font-size:14px;line-height:1.8;margin:0 0 30px;color:var(--sub)}
#jd-contact-page .contact-method{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--rule);padding:21px 0;font-size:14px;line-height:1.7}
#jd-contact-page .contact-method>span{font-size:9px;letter-spacing:1px;color:var(--sub);padding-top:4px}
#jd-contact-page .contact-method a{text-decoration:none}
#jd-contact-page .contact-method a:hover{text-decoration:underline;text-underline-offset:4px}
#jd-contact-page address{font-style:normal}
#jd-contact-page .form-wrap{padding-top:8px}
#jd-contact-page .field-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
#jd-contact-page .field{position:relative;display:block;margin:28px 0 0;padding-bottom:1px;border-bottom:1px solid var(--rule)}
#jd-contact-page .field:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:#536d50;transform:scaleX(0);transform-origin:left;transition:transform .4s}
#jd-contact-page .field:focus-within:after{transform:scaleX(1)}
#jd-contact-page .field>span{display:block;font-size:11px;color:var(--sub);margin-bottom:8px;transition:color .25s}
#jd-contact-page .field:focus-within>span{color:var(--ink)}
#jd-contact-page input,#jd-contact-page textarea{width:100%;border:0;background:transparent;min-height:44px;padding:8px 2px 13px;font-size:14px;border-radius:0}
#jd-contact-page input::placeholder,#jd-contact-page textarea::placeholder{color:#92958d;font-size:12px}
#jd-contact-page textarea{resize:vertical;min-height:118px}
#jd-contact-page .form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}
#jd-contact-page .form-bottom p{font-size:10px;line-height:1.6;color:var(--sub);max-width:160px}
#jd-contact-page .send-button{border:1px solid var(--ink);border-radius:28px;background:var(--ink);color:var(--paper);padding:14px 20px;font-size:12px;display:flex;gap:28px;align-items:center}
#jd-contact-page .send-button span{font-size:20px;display:inline-block;transition:transform .3s}
#jd-contact-page .send-button:hover span{transform:translate(4px,-4px)}
#jd-contact-page #form-feedback{font-size:12px;line-height:1.7;color:#34543b;padding:15px 0;border-top:1px solid var(--rule);animation:contact-arrive .5s both}
@keyframes connect-flow{to{stroke-dashoffset:-160}}
@keyframes connect-pulse{50%{opacity:.35;transform:scale(1.5)}}
@keyframes contact-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){#jd-contact-page .contact-heading{padding:36px 0 28px}#jd-contact-page h1{font-size:47px;letter-spacing:-2.4px}#jd-contact-page .contact-layout{grid-template-columns:1fr;gap:25px;padding-top:24px}#jd-contact-page .connection-art{max-width:280px;margin-bottom:20px}#jd-contact-page .contact-intro{font-size:13px}#jd-contact-page .field-row{gap:18px}#jd-contact-page input,#jd-contact-page textarea{font-size:16px}#jd-contact-page .form-wrap{border-top:1px solid var(--rule);padding-top:25px}}
@media(max-width:370px){#jd-contact-page h1{font-size:40px}#jd-contact-page .field-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){#jd-contact-page *,#jd-contact-page *:after{animation:none!important;transition:none!important}}
