/* Optional desktop enhancement. Native cursors remain until a mouse is detected. */
.portfolio-cursor{position:fixed;inset:0 auto auto 0;width:0;height:0;z-index:60;pointer-events:none;opacity:0;color:#63d6ea}
.portfolio-cursor__ring{position:absolute;width:32px;height:32px;left:0;top:0;border:1px solid #63d6eabf;border-radius:50%;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s,background-color .2s,box-shadow .2s;box-shadow:0 0 14px #63d6ea16}
.portfolio-cursor__dot{position:fixed;inset:0 auto auto 0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:#d8faff;border-radius:50%;pointer-events:none;z-index:61;opacity:0;box-shadow:0 0 9px #63d6ea99}
.portfolio-cursor__label{position:absolute;left:40px;top:22px;padding:3px 5px;border:1px solid #63d6ea26;border-radius:2px;background:#0b0e11ed;font:9px/1.3 var(--mono);letter-spacing:.11em;color:#a6effb;text-shadow:0 0 10px #63d6ea80;white-space:nowrap;opacity:0;transition:opacity .15s}
.portfolio-cursor.is-action .portfolio-cursor__ring{width:64px;height:64px;border-color:#8eefff;background:#63d6ea09;box-shadow:0 0 25px #63d6ea25,inset 0 0 16px #63d6ea10}
.portfolio-cursor.is-action .portfolio-cursor__label{opacity:1}.portfolio-cursor.is-pressed .portfolio-cursor__ring{width:26px;height:26px;background:#63d6ea1f}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){
  .portfolio-concept.has-custom-cursor,.portfolio-concept.has-custom-cursor *{cursor:none!important}
  .has-custom-cursor>.portfolio-cursor,.has-custom-cursor>.portfolio-cursor__dot{opacity:1}
}

/* A single lighting treatment for boxed surfaces, including nested tags. */
.portfolio-concept .glow-surface[data-glow]{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
.portfolio-concept .glow-surface[data-glow]:is(:hover,:focus-visible){border-color:#7ee9fa;box-shadow:0 0 0 1px #63d6ea30,0 0 27px #63d6ea20,inset 0 0 22px #63d6ea09}
.portfolio-concept .glow-surface:is([data-glow="panel"],[data-glow="row"],[data-glow="control"]):is(:hover,:focus-visible){background-image:radial-gradient(var(--light-radius,260px) circle at var(--light-x,50%) var(--light-y,50%),#82e6fa18,transparent 80%)}
.portfolio-concept .glow-surface[data-glow="row"]:is(:hover,:focus-visible){box-shadow:inset 0 1px #63d6ea38,inset 0 -1px #63d6ea1f;background-image:radial-gradient(300px circle at var(--light-x,50%) var(--light-y,50%),#82e6fa12,transparent 80%)}
.portfolio-concept .glow-surface[data-glow="chip"]:hover{color:#e6fbff;border-color:#75dced;background-color:#193641;background-image:radial-gradient(85px circle at var(--light-x,50%) var(--light-y,50%),#8aecff2b,transparent 85%);box-shadow:0 0 22px #63d6ea30,inset 0 0 14px #63d6ea12;text-shadow:0 0 14px #63d6ea66}
.portfolio-concept .glow-surface.pipeline-highlight[data-glow="chip"]:hover{color:#071216;text-shadow:none}
.portfolio-concept .glow-surface[data-glow="media"]:is(:hover,:focus-visible,:focus-within){border-color:#7bdcea;box-shadow:0 0 0 1px #63d6ea50,0 0 30px #63d6ea24}
.portfolio-concept .glow-surface[data-glow="control"]{--light-radius:150px}
.portfolio-concept .glow-surface.button-dark:is(:hover,:focus-visible){background-color:#90e8f6;color:#081319;box-shadow:0 0 28px #63d6ea4a,0 0 65px #63d6ea16;text-shadow:none}
.portfolio-concept :is(.main-nav>a:not(.nav-cv),.text-link,.email-link,.currently-note,.wordmark,.site-footer a){transition:color .2s,text-shadow .2s}
.portfolio-concept :is(.main-nav>a:not(.nav-cv),.text-link,.email-link,.social-links a,.hero-socials a,.currently-note,.wordmark,.site-footer a):is(:hover,:focus-visible){color:#a5effc;text-shadow:0 0 18px #63d6ea70}
.portfolio-concept .wordmark:hover .wordmark-dot,.portfolio-concept .currently-note:hover .note-label{color:#a5effc;text-shadow:0 0 18px #63d6ea99}
.portfolio-concept :is(.hero h1,.section-heading h2,.skills-heading h3,.about-intro h2,.contact-section h2){transition:text-shadow .25s}
.portfolio-concept :is(.hero h1,.section-heading h2,.skills-heading h3,.about-intro h2,.contact-section h2):hover{text-shadow:0 0 32px #63d6ea35}
.portfolio-concept .evidence-strip>a:hover strong{color:#a5effc;text-shadow:0 0 22px #63d6ea40}
.portfolio-concept a:focus-visible,.portfolio-concept button:focus-visible{outline:2px solid #91ebfa;outline-offset:5px}
.portfolio-concept .archive-cta.glow-surface[data-glow]:is(:hover,:focus-visible){border-color:#507684;box-shadow:none;background-image:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,50%),#82e6fa0a,transparent 80%)}
.portfolio-concept .archive-cta:focus-visible{outline:2px solid #7ab4c0;outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .portfolio-cursor,.portfolio-cursor__dot{display:none}
  .portfolio-concept :is(a,button,h1,h2,h3,.glow-surface){transition:none!important}
}
@media(hover:none),(pointer:coarse),(forced-colors:active){.portfolio-cursor,.portfolio-cursor__dot{display:none}}
@media(forced-colors:active){.portfolio-concept .glow-surface[data-glow]{box-shadow:none!important;background-image:none!important;text-shadow:none!important}}
