/* Opening effects for company pages */
.fly { position: fixed; z-index: 60; margin: 0; pointer-events: none; box-shadow: 0 16px 40px rgba(0,0,0,0.16); will-change: transform; transform-origin: 50% 50%; }
.co .st { animation: stIn .4s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(60ms + var(--i, 0) * 40ms); }
@keyframes stIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.co-logo-wrap .co-logo { animation: stIn .4s cubic-bezier(.2,.8,.2,1) .05s both; }
.rise { opacity: 0; transform: translateY(24px); transition: opacity .5s ease, transform .55s cubic-bezier(.2,.8,.2,1); }
.rise.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rise { opacity: 1; transform: none; } .co .st { animation: none; } }

/* Company page — refined, lighter scale */
.page-wrap.co { width: min(520px, calc(100% - 32px)); padding-top: 28px; padding-bottom: 0; }
.co .back-btn, .page-foot .back-btn { height: 28px; padding: 0 12px 0 8px; font-size: 13px; }
.co .back-btn svg, .page-foot .back-btn svg { width: 12px; height: 12px; }
.co-head { margin-top: 30px; }
.co-mark { width: 52px; height: 52px; border-radius: 14px; margin-bottom: 14px; }
.co-mark svg { width: 26px; height: 26px; }
.co-name { font-size: clamp(34px, 4.2vw, 46px); font-weight: 700; letter-spacing: -0.045em; }
.co-logo { max-width: 170px; max-height: 64px; }
.chip-role { margin-top: 14px; padding: 5px 12px; font-size: 12.5px; }
.co-period { margin-top: 8px; font-size: 12.5px; }
.co-text { margin-top: 22px; }
.co-text p { font-size: 15.5px; line-height: 1.6; color: var(--text); }
.co-text p + p { margin-top: 14px; }
.media { width: min(940px, calc(100vw - 32px)); margin-top: 48px; gap: 20px; }
.media > * { border-radius: 12px; }
.page-foot { margin-top: 32px; padding-bottom: 64px !important; }
@media (max-width: 700px) {
  .page-wrap.co { padding-top: 22px; }
  .co-head { margin-top: 24px; }
  .co-mark { width: 46px; height: 46px; border-radius: 12px; }
  .co-mark svg { width: 23px; height: 23px; }
  .co-name { font-size: 34px; }
  .co-text p { font-size: 15px; }
  .media { margin-top: 36px; gap: 14px; }
}

/* Skills icon nudge — slow, soft bump so visitors know it's clickable */
h1 .skills-btn.nudge svg { animation: nudge 1.4s cubic-bezier(.35,0,.25,1); transform-origin: 50% 60%; }
@keyframes nudge {
  0%   { transform: scale(1) rotate(0); }
  22%  { transform: scale(1.12) rotate(-7deg); }
  44%  { transform: scale(0.97) rotate(5deg); }
  64%  { transform: scale(1.04) rotate(-2deg); }
  82%  { transform: scale(0.995) rotate(0.5deg); }
  100% { transform: scale(1) rotate(0); }
}
@media (prefers-reduced-motion: reduce) { h1 .skills-btn.nudge svg { animation: none; } }
