/* V25 Premium All-in-One: uses existing black/orange theme */
:root { --jr25-accent:#ff9619; }
html { scroll-padding-top:90px; }
body { overflow-x:clip; }
.hero {position:relative;isolation:isolate;overflow:hidden;}
.hero::before {content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:var(--jr25-spot-opacity,0);background:radial-gradient(340px circle at var(--jr25-pointer-x,50%) var(--jr25-pointer-y,45%),rgba(255,150,25,.10),transparent 76%);transition:opacity .35s ease;}
.hero h1 { animation:jr25-heroin .82s cubic-bezier(.16,1,.3,1) both; }
@keyframes jr25-heroin {from {opacity:0;clip-path:inset(100% 0 0 0);translate:0 25px}to{opacity:1;clip-path:inset(0);translate:0 0}}
.jr-v25-marquee {width:min(800px,95%);margin-top:38px;white-space:nowrap;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);border-block:1px solid #252525;padding:14px 0;color:#bbb;font-size:11px;letter-spacing:2.4px;font-weight:750}
.jr-v25-marquee-track {display:flex;width:max-content;animation:jr25-marquee 32s linear infinite;gap:45px}
.jr-v25-marquee-track span{flex:none}.jr-v25-marquee b{font-weight:600;color:var(--orange);padding:0 20px}
@keyframes jr25-marquee {to{transform:translateX(calc(-50% - 22.5px))}}
.jr-v25-specialties {display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 20px;}
.jr-v25-specialties span {border:1px solid #49413a;border-radius:100px;color:#f1d0ab;background:rgba(255,150,25,.055);font-size:11px;font-weight:650;padding:8px 12px;}
.portrait img { transition:transform .7s cubic-bezier(.2,.75,.3,1);transform:translateY(var(--jr25-portrait-y,0px)) scale(1.025);}
.jr-v18-skill { transition:background-color .22s ease,border-color .22s ease; border-radius:12px; }
.jr-v18-skill:hover {background:rgba(255,150,25,.045);}
.jr-v18-skill:hover .jr-v18-icon {transform:translateY(-2px);}
.jr-v18-icon {transition:transform .22s ease}
.jr-v18-tool {transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease}
.jr-v18-tool:hover {transform:translateY(-2px);border-color:rgba(255,150,25,.6)!important;box-shadow:0 5px 22px rgba(255,150,25,.07)}
.filters {position:relative;isolation:isolate}
.filters button {position:relative;z-index:1;transition:color .22s ease,border-color .22s ease,transform .2s ease,background-color .22s ease}
.filters button:focus-visible {outline:2px solid var(--orange);outline-offset:3px}

.gallery .card {position:relative;transition:border-color .28s ease,box-shadow .28s ease;}
.gallery .card:hover {border-color:rgba(255,150,25,.42);box-shadow:0 12px 36px rgba(0,0,0,.23)}
.gallery .thumb-shell .thumb-image{transition:filter .5s ease!important;}
.gallery .card:hover .thumb-shell .thumb-image{filter:brightness(.82) saturate(1.06)}
.gallery .thumb-shell::after{content:"PLAY PROJECT ↗";position:absolute;z-index:3;right:18px;bottom:18px;padding:10px 13px;font-size:10px;font-weight:800;letter-spacing:.06em;background:#111d;border:1px solid #ffffff4a;color:white;border-radius:100px;pointer-events:none;opacity:0;translate:0 8px;transition:opacity .28s ease,translate .28s ease}
.gallery .card:hover .thumb-shell::after {opacity:1;translate:0 0}
.gallery .card:focus-within .thumb-shell::after {opacity:1;translate:0 0}
.card .meta {position:relative;padding-right:95px;}
.jr-v25-project-number {position:absolute;right:20px;top:19px;font-weight:750;letter-spacing:.07em;font-size:11px;color:#a99c8e;font-variant-numeric:tabular-nums;}
#work .sub {max-width:600px;margin-left:auto;margin-right:auto;line-height:1.7}
.jr-v18-footer {display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;text-align:center!important;}
.jr-v18-footer >* {flex:none!important;width:auto!important;max-width:100%;}
.jr-v18-footer h2 {line-height:1.05;max-width:960px;margin:16px auto 22px;}
.jr-v25-contact-copy {font-size:15px;color:#bbb;line-height:1.6;margin:0 auto 20px!important;}
.jr-v18-footer .jr-v18-contact {transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;}
.jr-v18-footer .jr-v18-contact:hover {transform:translateY(-3px);background:#ff9619;color:#131313;box-shadow:0 0 22px rgba(255,150,25,.2)}
.jr-v25-linkedin {font-size:11px!important;letter-spacing:.06em;color:#999!important;margin-top:18px!important;border:0!important;padding:8px!important;}
.jr-v25-linkedin:hover{color:var(--orange)!important;background:transparent!important}
.jr-v25-top {position:fixed;z-index:38;bottom:23px;right:23px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,150,25,.65);background:#151515e8;color:var(--orange);display:grid;place-items:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.jr-v25-top.is-visible {opacity:1;transform:translateY(0);pointer-events:auto}
.jr-v25-top:hover {background:var(--orange);color:#111}
@media(max-width:650px){.jr-v25-marquee{font-size:10px;margin-top:25px}.jr-v25-top{bottom:12px;right:12px}.card .meta{padding-right:87px}.jr-v25-project-number{right:12px}.jr-v25-contact-copy{font-size:13px;padding:0 15px}}
@media(hover:none){.hero::before{display:none}.gallery .thumb-shell::after{display:none}}
@media(prefers-reduced-motion:reduce){.hero h1{animation:none}.jr-v25-marquee-track{animation:none}.jr-v25-filter-glide,.jr-v25-top,.gallery .thumb-shell::after,.portrait img {transition:none!important}.portrait img{transform:none!important}}

/* Safety for stale filter glide nodes */
.jr-v25-filter-glide{display:none!important}
