/* The category selector follows the hero and stays below the shared navigation. */
.projects-index { --category-height: 5.4rem; }
.project-categories { position: sticky; top: var(--header-height); z-index: 15; background: #f7f2e9f5; border-bottom: 1px solid #cdd5ed; backdrop-filter: blur(16px); }
.project-categories__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-categories__list > a { position: relative; display: flex; gap: 1.1rem; align-items: center; min-height: var(--category-height); padding: 1rem 0; color: #727b8d; text-decoration: none; font-size: clamp(1rem, 1.8vw, 1.4rem); font-weight: 500; letter-spacing: -.025em; transition: color 160ms ease; }
.project-categories__list > a::after { content: ''; position: absolute; inset: auto 2rem -1px 0; height: 2px; background: #425fc7; transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.project-categories__list > a:hover, .project-categories__list > a[aria-selected="true"] { color: #19213b; }
.project-categories__list > a[aria-selected="true"]::after { transform: scaleX(1); }
.project-categories__list > a:focus-visible { outline: 2px solid #425fc7; outline-offset: -6px; border-radius: .35rem; }
.projects-index .project-gallery { padding-top: clamp(2.5rem, 4vw, 4rem); }
.projects-index .project-gallery [id], .projects-index #projekt-einblick { scroll-margin-top: calc(var(--header-height) + var(--category-height) + 2rem); }
.project-category-panel[hidden] { display: none !important; }
.project-category-panel:focus { outline: none; }
.project-category-panel:focus-visible .project-gallery__heading h2 { outline: 2px solid #425fc7; outline-offset: .35rem; border-radius: .15rem; }
.project-category-panel + .project-category-panel { margin-top: 6rem; }
.project-gallery:has([role="tabpanel"]) .project-category-panel { margin-top: 0; }
.projects-index .website-entry:first-child { padding-top: 2.5rem; }
.dashboard-entry { margin-top: clamp(3.5rem, 7vw, 7rem); }
.print-projects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; row-gap: 4.5rem; margin-top: 0; }
.print-project { min-width: 0; padding-top: 1.25rem; border-top: 1px solid #b4bfd780; }
.print-project h3 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(1.7rem, 2.7vw, 2.7rem); letter-spacing: -.04em; line-height: 1.15; }
.print-project__caption { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; color: #626e86; font-size: .8rem; flex-wrap: wrap; }
.print-project__caption a { color: #304796; text-underline-offset: .3em; }
.project-preview-dialog:is([data-preview-kind="print"], [data-preview-kind="app"]) { background: #ececf0; }
.project-preview-dialog:is([data-preview-kind="print"], [data-preview-kind="app"]) .project-preview-dialog__content { padding: clamp(1rem, 3vw, 3rem); }
.project-preview-dialog:is([data-preview-kind="print"], [data-preview-kind="app"]) .project-preview-dialog__image { max-width: 68rem; margin-inline: auto; box-shadow: 0 1rem 2rem #19213b1c; }
@media (max-width: 960px) {
  /* Keep the categories below the first screen, including mobile browser chrome. */
  .projects-index .project-gallery-hero .leistungen-story__scene--intro {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
  }
}
@media (max-width: 820px) {
  .projects-index { --category-height: 4.5rem; }
  .project-categories__list { column-gap: 1rem; }
  .project-categories__list > a { gap: .45rem; font-size: .9375rem; line-height: 1.25; }
  .project-categories__list > a::after { right: 0; }
  .project-gallery__heading { flex-wrap: wrap; }
  .print-projects { gap: 3rem; grid-template-columns: minmax(0, 1fr); }
  .print-project h3 { font-size: 2.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .project-categories__list > a, .project-categories__list > a::after { transition: none; }
}
.project-preview-dialog__pagination { display: flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 1.5rem; padding: .65rem 1rem; border-bottom: 1px solid #cdd5ed; background: #f7f2e9; }
.project-preview-dialog__pagination p { margin: 0; min-width: 5.5rem; text-align: center; color: #53607a; font-size: .8rem; }
.project-preview-dialog__pagination button { min-height: 40px; border: 0; border-radius: .3rem; font-size: .8rem; }
.project-preview-dialog__pagination button:disabled { opacity: .4; cursor: default; }
.project-preview-dialog:is([data-preview-kind="print"], [data-preview-kind="app"]) .project-preview-dialog__image { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
@media(max-width:600px) {
  .project-preview-dialog__pagination { gap: .3rem; padding: .5rem; }
  .project-preview-dialog__pagination button { font-size: .7rem; padding-inline: .4rem; }
  .project-preview-dialog__pagination p { font-size: .7rem; min-width: 4.5rem; }
}

.app-entry__link { margin-top: 2rem; }
.app-entry .tausch-case__media { width: 100%; }
