.join-page{--join-card:#fff;max-width:1160px;margin:26px auto 58px;color:var(--lab-ink)}.dark .join-page{--join-card:#191919}.join-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px 32px;margin-bottom:24px}.join-heading h1{margin:0;font-size:clamp(34px,4vw,42px);font-weight:600;letter-spacing:-.04em;line-height:1.15}.join-heading p{margin:0;color:var(--lab-muted);font-size:16px;line-height:1.6}.join-content{display:grid;grid-template-columns:minmax(0,.82fr)minmax(0,1.18fr);gap:36px 48px;font-size:15px;line-height:1.7}.join-block{min-width:0}.join-block h2{margin:0 0 14px;font-size:22px;font-weight:550;letter-spacing:-.025em;line-height:1.25}.join-block p{margin:0 0 16px}.join-block p:last-child{margin-bottom:0}.join-block a{text-decoration:underline;text-decoration-color:var(--lab-line);text-underline-offset:4px;transition:text-decoration-color .2s ease,opacity .2s ease}.join-block a:hover{text-decoration-color:initial}.join-intro,.join-research,.join-explore{grid-column:1/-1}.join-intro{max-width:860px;font-size:18px;line-height:1.7}.join-research>p{color:var(--lab-muted)}.join-research ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0 16px;padding:0;list-style:none}.join-research li{padding:24px;border-radius:16px;background:var(--join-card);color:var(--lab-muted)}.join-research li strong{display:block;margin-bottom:10px;color:var(--lab-ink);font-size:18px;font-weight:550;letter-spacing:-.02em;line-height:1.35}.join-contact{align-self:start;padding:28px;border-radius:16px;background:var(--join-card)}.join-contact>p{color:var(--lab-muted)}.join-contact a[href="https://thudzj.github.io/"]{color:var(--lab-ink);font-weight:550}.join-contact a[href^="mailto:"]{display:inline-flex;align-items:center;justify-content:center;gap:14px;max-width:100%;min-height:46px;padding:11px 18px;border-radius:26px;background:var(--lab-ink);color:var(--lab-on-accent);font-size:15px;font-weight:550;text-decoration:none;overflow-wrap:anywhere;transition:transform .2s ease,opacity .2s ease}.join-contact a[href^="mailto:"]::after{content:"↗";font-size:18px;line-height:1}.join-contact p:last-child{margin-top:22px;font-size:13px}.join-prepare{padding-top:28px}.join-prepare>p{color:var(--lab-muted)}.join-prepare ol{display:grid;gap:16px;margin:18px 0;padding:0;list-style:none;counter-reset:join-steps}.join-prepare li{position:relative;padding-left:42px;color:var(--lab-muted);counter-increment:join-steps}.join-prepare li::before{content:counter(join-steps,decimal-leading-zero);position:absolute;top:1px;left:0;color:var(--lab-muted);font-size:13px;font-variant-numeric:tabular-nums}.join-prepare strong{display:block;margin-bottom:3px;color:var(--lab-ink);font-weight:550}.join-prepare p:last-child{font-size:13px}.join-prepare em{color:var(--lab-ink);font-style:normal}.join-explore p{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--lab-muted)}.join-explore a{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:var(--lab-ink);font-size:14px;font-weight:550;text-decoration:none}.join-explore a::after{content:"↗";display:inline-block;transition:transform .2s ease}.join-explore a[href^="/"]::after{content:"→"}@media(hover:hover) and (pointer:fine){.join-contact a[href^="mailto:"]:hover{transform:translateY(-2px);opacity:.85}.join-explore a:hover::after{transform:translateX(3px)}}.join-contact a[href^="mailto:"]:active{transform:scale(.98)}@media(max-width:960px){.join-content{column-gap:28px}.join-research ul{gap:16px}.join-research li{padding:20px}.join-contact{padding:24px}.join-prepare{padding-top:24px}.join-research li strong{min-height:2.7em}}@media(max-width:760px){.join-content{grid-template-columns:minmax(0,1fr);gap:30px}.join-research ul{grid-template-columns:minmax(0,1fr);gap:14px}.join-research li strong{min-height:0}.join-prepare{padding-top:0}}@media(max-width:640px){.join-page{margin-top:18px}.join-heading{display:block}.join-heading p{margin-top:14px;font-size:15px}.join-intro{font-size:17px}.join-contact{padding:22px}.join-explore p{column-gap:10px}}@media(prefers-reduced-motion:reduce){.join-block a,.join-contact a[href^="mailto:"],.join-explore a::after{transition:none}.join-contact a[href^="mailto:"]:hover,.join-contact a[href^="mailto:"]:active,.join-explore a:hover::after{transform:none}}