/* Scoped repairs for the exported header and existing card captions. */
.portfolio-nav > a { flex-shrink: 0; }
.portfolio-nav > a img { display: block; }
.portfolio-nav ul a { white-space: nowrap; }
.portfolio-profile-menu { position: absolute; right: 0; top: calc(100% + 10px); background: rgba(20,20,20,.98); border: 1px solid rgba(255,255,255,.15); border-radius: 6px; min-width: 190px; padding: .5rem 0; box-shadow: 0 10px 30px rgba(0,0,0,.7); }
.portfolio-profile-menu button, .portfolio-profile-menu a { display: block; width: 100%; padding: .5rem .9rem; border: 0; background: none; color: #ddd; text-align: left; font: inherit; font-size: .85rem; text-decoration: none; cursor: pointer; }
.portfolio-profile-menu :is(button,a):hover, .portfolio-profile-menu :is(button,a):focus-visible { background: #303030; }
.project-card .project-overlay { background: linear-gradient(rgba(0,0,0,.82), rgba(0,0,0,.94)); }
.project-card .project-desc { color: #eee; -webkit-line-clamp: 3; }
:is(.profile-card,.project-card,.intro-container,[role="button"]):focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 700px) {
  .portfolio-nav { flex-wrap: wrap; row-gap: .5rem; background-color: rgba(20,20,20,.97) !important; }
  .portfolio-nav > a { order: 0; flex: 0 0 auto; }
  .portfolio-nav > a img { max-width: 180px; height: 28px !important; }
  .portfolio-nav > div { order: 1; margin-left: auto; flex: 0 0 32px; }
  .portfolio-nav > ul { order: 2; flex: 0 0 100%; justify-content: space-between; gap: .5rem !important; }
  .portfolio-nav .nav-link { font-size: .78rem; }
  .portfolio-nav + .banner { height: auto; min-height: 60vh; padding-top: 110px; }
  .portfolio-nav + main { padding-top: 100px !important; }
  .project-card { min-height: 155px; }
  .project-card .project-overlay { padding: .65rem; }
}
