/* Native fallback remains a dot; the enhanced cursor adds contextual feedback. */
.site-cursor{display:none;position:fixed;left:0;top:0;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#283037;border:1px solid #ffffffa6;pointer-events:none;z-index:2147483647;opacity:0;align-items:center;justify-content:center;transition:width .17s,height .17s,background .17s,opacity .1s;box-shadow:0 0 0 1px #28303722}
.site-cursor>span{font:500 11px/1 'DM Sans',Arial,sans-serif;opacity:0;color:#252b30;transition:opacity .12s}
.site-cursor.is-link{width:17px;height:17px;background:#cce3f2;border:1px solid #47687d}
.site-cursor.is-image{width:52px;height:52px;background:#e6f2faee;border-color:#ffffff91;box-shadow:0 2px 12px #1827351a;backdrop-filter:blur(5px)}
.site-cursor.is-image>span{opacity:1}
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
 body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23283037' stroke='white' stroke-width='1'/%3E%3C/svg%3E") 8 8,default}
 input,textarea,[contenteditable=true],input *,textarea *{cursor:text}select,select *{cursor:pointer}iframe{cursor:auto}
 .site-cursor.is-visible{display:flex;opacity:1}
 .custom-cursor,.custom-cursor body,.custom-cursor body *{cursor:none!important}
}
::view-transition-old(root){animation:route-out .12s ease both}::view-transition-new(root){animation:route-in .22s var(--ease) both}
@keyframes route-out{to{opacity:0}}@keyframes route-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.mobile-nav:not([hidden]){animation:menu-in .2s var(--ease)}@keyframes menu-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.work-image{transform:none!important;box-shadow:none!important}}
