.custom-cursor[data-color=pink]{--cursor-color:var(--color-pink)}.custom-cursor[data-color=teal]{--cursor-color:var(--color-teal)}.custom-cursor[data-color=green]{--cursor-color:var(--color-green)}.custom-cursor[data-color=orange]{--cursor-color:var(--color-orange)}.custom-cursor[data-color=neutral]{--cursor-color:var(--color-bg-neutral-2)}.custom-cursor[data-color=neutral] .custom-cursor__shape{color:var(--color-ink)}.custom-cursor{will-change:transform}.custom-cursor__shape{background:var(--cursor-color,var(--color-pink));width:16px;height:16px;color:var(--color-ink-inverted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:width .22s var(--ease-out-soft,cubic-bezier(.22,1,.36,1)), height .22s var(--ease-out-soft,cubic-bezier(.22,1,.36,1)), margin .22s var(--ease-out-soft,cubic-bezier(.22,1,.36,1)), border .22s var(--ease-out-soft,cubic-bezier(.22,1,.36,1)), border-radius .22s var(--ease-out-soft,cubic-bezier(.22,1,.36,1)), padding .22s var(--ease-out-soft,cubic-bezier(.22,1,.36,1)), background-color .18s ease-out, filter .18s ease-out, scale .45s cubic-bezier(.34, 1.4, .64, 1);will-change:width, height, margin, scale;border-radius:9999px;justify-content:center;align-items:center;gap:6px;margin-top:-8px;margin-left:-8px;font-size:12px;display:flex;position:absolute;top:0;left:0;overflow:hidden}.custom-cursor[data-mode=dot] .custom-cursor__shape{transition-duration:.14s}.cursor-icon{opacity:0;flex-shrink:0;transition:opacity .18s ease-out;display:none}.cursor-label{opacity:0;white-space:nowrap;transition:opacity .18s ease-out}.custom-cursor[data-mode=link] .custom-cursor__shape{width:28px;height:28px;box-shadow:0 0 0 3px color-mix(in oklab, var(--cursor-color,var(--color-pink)) 25%, transparent);margin-top:-14px;margin-left:-14px}.custom-cursor[data-mode=case-study] .custom-cursor__shape{border-radius:18px;width:172px;height:36px;margin-top:-18px;margin-left:-86px;padding:0 16px}.custom-cursor[data-mode=case-study] .cursor-icon--eye{opacity:1;transition:opacity .18s ease-out 80ms;display:block}.custom-cursor[data-mode=case-study] .cursor-label{opacity:1;transition:opacity .18s ease-out 80ms}.custom-cursor[data-mode=external] .custom-cursor__shape{border-radius:18px;width:140px;height:36px;margin-top:-18px;margin-left:-70px;padding:0 16px}.custom-cursor[data-mode=external] .cursor-icon--arrow{opacity:1;transition:opacity .18s ease-out 80ms;display:block}.custom-cursor[data-mode=external] .cursor-label{opacity:1;transition:opacity .18s ease-out 80ms}.custom-cursor[data-mode=photo] .custom-cursor__shape{color:#fff;backdrop-filter:blur(4px);background:#0009;border-radius:12px;width:max-content;min-width:72px;height:24px;margin-top:-12px;margin-left:0;padding:0 10px;font-size:10px;transform:translate(-50%)}.custom-cursor[data-mode=photo] .cursor-icon{display:none}.custom-cursor[data-mode=photo] .cursor-label{opacity:1;transition:opacity .18s ease-out 80ms}.custom-cursor[data-conflict][data-mode=photo] .custom-cursor__shape{color:#fff;background:#0009}.custom-cursor[data-mode=pen] .custom-cursor__shape{width:32px;height:32px;box-shadow:none;background:0 0;margin-top:-28px;margin-left:-4px;overflow:visible}.custom-cursor[data-mode=pen] .cursor-icon--pen{opacity:1;display:block}.custom-cursor[data-mode=eraser] .custom-cursor__shape{background:0 0;border:2px solid #fff;width:28px;height:28px;margin-top:-14px;margin-left:-14px;box-shadow:0 0 0 1px #00000040}.custom-cursor[data-mode=eraser] .cursor-icon--eraser{display:none}.custom-cursor[data-conflict] .custom-cursor__shape{background:var(--color-ink-inverted);color:var(--color-ink)}.custom-cursor[data-conflict][data-color=neutral] .custom-cursor__shape{background:var(--color-ink);color:var(--color-ink-inverted)}.custom-cursor[data-pressed] .custom-cursor__shape{filter:brightness(1.15);transition-duration:.22s,.22s,.22s,.22s,.22s,.22s,.18s,.18s,.2s;transition-timing-function:var(--ease-out-soft,cubic-bezier(.22, 1, .36, 1));scale:.84}.custom-cursor[data-mode=pen] .custom-cursor__shape{transform-origin:4px 28px}@media (prefers-reduced-motion:reduce){.custom-cursor[data-pressed] .custom-cursor__shape{scale:none}}
