/* Free-standing project identities; only the artwork moves, never the click target. */
.portfolio{padding-bottom:62px}
.portfolio .section-heading{margin-bottom:15px}
.project-logo-strip{position:relative;padding:0;background:none;border:0}
.project-logo-stage{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:8%;min-height:270px;padding:15px 5% 5px}
.project-logo-stage:before{content:'';position:absolute;inset:10% -3% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 28% 50%,#ee382e08,transparent 38%),radial-gradient(ellipse at 77% 65%,#11121106,transparent 36%)}
.floating-project{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:29px;width:100%;min-width:0;min-height:220px;padding:30px 15px 20px;background:none;border-radius:0;color:var(--black)}
.floating-project-rk{padding-top:56px}
.floating-project-logo{display:flex;align-items:center;justify-content:center;width:100%;height:85px;animation:project-logo-drift 5.6s ease-in-out infinite;animation-delay:-.9s;will-change:transform}
.floating-project-rk .floating-project-logo{animation-name:project-logo-drift-alternate;animation-duration:6.4s;animation-delay:-2.3s}
.floating-project-logo img{display:block;width:100%;max-width:250px;height:auto;max-height:85px;object-fit:contain}
.floating-project-rk img{max-width:265px}
.floating-project-caption{display:flex;align-items:center;justify-content:center;gap:16px;font-size:13px;line-height:1.5;color:#72776f;transition:color .3s}
.floating-project-arrow{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid #c6ccc0;border-radius:50%;color:#343c2f;transition:background .3s,color .3s,border-color .3s,transform .4s cubic-bezier(.22,1,.36,1)}
.floating-project:hover .floating-project-logo,.floating-project:focus-within .floating-project-logo,body:has(#project-dialog[open]) .floating-project-logo{animation-play-state:paused}
.floating-project:hover .floating-project-caption,.floating-project:focus-visible .floating-project-caption{color:#171c14}
.floating-project:hover .floating-project-arrow,.floating-project:focus-visible .floating-project-arrow{background:var(--red);border-color:var(--red);color:#fff;transform:translate(4px,-4px)}
@keyframes project-logo-drift{0%,100%{transform:translate3d(-12px,7px,0) rotate(-2deg)}50%{transform:translate3d(12px,-15px,0) rotate(2deg)}}
@keyframes project-logo-drift-alternate{0%,100%{transform:translate3d(10px,-10px,0) rotate(1.5deg)}50%{transform:translate3d(-10px,12px,0) rotate(-1.5deg)}}
@media(max-width:700px){
 .portfolio{padding-bottom:40px}.portfolio .section-heading{margin-bottom:10px}
 .project-logo-stage{padding:13px 0 0;column-gap:22px;min-height:210px}
 .floating-project{padding:22px 0 15px;min-height:170px;gap:25px}.floating-project-rk{padding-top:46px}
 .floating-project-logo{height:54px}.floating-project-logo img{max-height:54px;max-width:155px}
 .floating-project-caption{font-size:11px;flex-direction:column;gap:10px;text-align:center;min-height:64px}.floating-project-arrow{width:32px;height:32px}.floating-project-arrow svg{width:18px;height:18px}
 @keyframes project-logo-drift{0%,100%{transform:translate3d(-4px,4px,0) rotate(-2deg)}50%{transform:translate3d(4px,-11px,0) rotate(2deg)}}
 @keyframes project-logo-drift-alternate{0%,100%{transform:translate3d(4px,-8px,0) rotate(1.5deg)}50%{transform:translate3d(-4px,9px,0) rotate(-1.5deg)}}
}
@media(prefers-reduced-motion:reduce){.floating-project-logo{animation:none;will-change:auto}.floating-project-arrow,.floating-project-caption{transition:none}.expertise-panels>.expertise-panel:not([hidden]){animation:none;filter:none;transform:none}}

/* Child elements animate independently; the panel itself remains a stable layout. */
.expertise-panels>.expertise-panel:not([hidden]){animation:none;transform:none;filter:none}
