/* A drawer explored with native scroll: each file settles over the previous one. */
.folders {
  --folder-step: 48;
  --folder-step-default: 48;
  position: relative;
  perspective: none;
  padding: 60px 0 48px;
  isolation: isolate;
}
.project-folder {
  --folder-position: calc(var(--archive-header-height, 112px) + 60px + var(--folder-depth, var(--folder-index)) * var(--folder-step) * 1px);
  position: relative;
  top: auto;
  z-index: calc(1 + var(--folder-index));
  transform: none;
  margin: 0 0 76px;
  border-radius: 0 5px 6px 6px;
  border: 1px solid #13171c38;
  box-shadow: 0 -3px 12px #13171c0c, 0 10px 0 -6px #13171c24, 0 18px 24px #13171c12;
  scroll-margin-top: var(--folder-position);
  transition: box-shadow .25s var(--ease);
}
.folders.is-stacked .project-folder { position: sticky; top: var(--folder-position); }
.folders.is-stacked { padding-bottom: 140px; }
.project-folder:last-child { margin-bottom: 0; }
.project-folder:hover, .project-folder:active { transform: none; box-shadow: 0 -3px 15px #13171c18, 0 10px 0 -6px #13171c24, 0 18px 24px #13171c18; }
.project-folder:focus-visible { z-index: 100; outline: 3px solid var(--orange); outline-offset: 5px; }
.folders .project-folder .folder-tab {
  left: calc(var(--folder-index) * 22% - 1px);
  top: -44px;
  height: 44px;
  min-width: 0;
  width: 25%;
  padding: 0 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: .875rem;
  border-color: #13171c38;
  border-radius: 5px 20px 0 0;
  line-height: 1.2;
}
.folder-tab > span { font-size: .75rem; opacity: .8; }
.folder-inside {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  min-height: var(--folder-height, 520px);
  padding: 26px 38px 24px;
  gap: 24px;
}
.folder-meta, .folder-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.folder-meta { border-bottom: 1px solid currentColor; padding-bottom: 20px; }
.folder-meta .mono { font-size: .75rem; }
.folder-title { padding: 2px 0; }
.folder-title h2 { font-size: clamp(2.5rem, 6.7vw, 6rem); line-height: 1; letter-spacing: -.045em; }
.folder-title p { font-size: clamp(1.125rem, 1.7vw, 1.5rem); margin: 15px 0 0; line-height: 1.4; }
.folder-details { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; align-items: start; }
.folder-summary { max-width: 430px; font-size: 1rem; line-height: 1.65; }
.folder-fields { padding: 0; margin: 0; list-style: none; font-size: .875rem; line-height: 1.8; }
.folder-fields li { border-bottom: 1px solid currentColor; padding: 3px 0; }
.folder-bottom { border-top: 1px solid currentColor; padding-top: 14px; }
.folder-bottom > .mono { font-size: .75rem; line-height: 1.5; }
.folder-open { min-height: 44px; padding: 0; margin: 0; border: 0; font-size: .875rem; white-space: nowrap; gap: 24px; }
.folder-open > span { transition: transform .25s var(--ease); }
.project-folder:hover .folder-open > span { transform: translate(3px, -3px); }
#work .content-note { margin-top: 12px; }
@media (max-width: 1100px) {
  .folders .project-folder .folder-tab { padding: 0 12px; gap: 7px; font-size: .75rem; }
  .folder-inside { padding: 24px 28px; }
  .folder-title h2 { font-size: clamp(2.5rem, 7vw, 5rem); }
}
@media (max-width: 760px) {
  .folders { --folder-step: 44; --folder-step-default: 44; padding-top: 58px; }
  .project-folder { margin-bottom: 65px; }
  .folders .project-folder .folder-tab { left: -1px; width: auto; min-width: 65%; max-width: calc(100% + 2px); padding: 0 18px; font-size: .875rem !important; gap: 15px; }
  .folder-inside { padding: 21px 22px 17px; gap: 22px; }
  .folder-meta { align-items: start; padding-bottom: 15px; gap: 15px; }
  .folder-meta > span { font-size: .75rem; line-height: 1.5; max-width: 55%; }
  .folder-meta > span:last-child { text-align: right; }
  .folder-title h2 { font-size: clamp(2rem, 8.8vw, 3.5rem); overflow-wrap: normal; }
  .folder-title p { font-size: 1.125rem; margin-top: 10px; }
  .folder-details { display: block; }
  .folder-summary { font-size: 1rem; }
  .folder-fields { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 14px; font-size: .75rem; line-height: 1.6; }
  .folder-fields li { padding: 2px 0; }
  .folder-bottom { flex-wrap: wrap; gap: 7px; padding-top: 12px; }
  .folder-bottom > .mono { font-size: .75rem; }
  .folder-open { width: 100%; min-height: 44px; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .project-folder:hover .folder-open > span { transform: none; }
}
