/* Small editorial additions share the existing typography and glass treatment. */

.project-info .project-contribution {
  margin: 10px 0 0;
  color: #bdcbc5;
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
}

.resume-role-description {
  grid-column: 2;
  grid-row: 3;
  max-width: 42ch;
  margin: 2px 0 4px;
  color: #bdcbc5;
  font-size: .82rem;
  line-height: 1.65;
}

.resume-employer-brand > .text-link { grid-row: 4; }
.resume-employer-brand > .studio-logo { grid-row: 1 / span 4; }

.resume-download {
  flex: 0 0 auto;
  gap: 18px;
  border: 1px solid rgba(211, 234, 222, .24);
  background: rgba(28, 46, 47, .64);
  color: #ecf0e9;
  font-size: .78rem;
}

.resume-credit-disclosure {
  margin-top: 24px;
  border-top: 1px solid rgba(211, 234, 222, .12);
}

.resume-credit-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 2px;
  color: #e6ede5;
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}

.resume-credit-disclosure > summary::-webkit-details-marker { display: none; }
.resume-credit-disclosure > summary::after { content: '+'; font-size: 1.2rem; font-weight: 400; }
.resume-credit-disclosure[open] > summary::after { content: '−'; }
.resume-credit-disclosure > summary:hover { color: var(--accent); }
.resume-credit-disclosure > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.resume-credit-content { padding-top: 10px; }

.projects-page .project-cutout > .personal-details h3 { margin-bottom: 12px; }
.projects-page .personal-details .project-description {
  max-width: 45ch;
  margin: 0 0 28px;
  color: #c3cec7;
  font-size: .85rem;
  line-height: 1.65;
}

/* Clip at the viewport, not at the statues or their contact patches. */
html:has(> .projects-page),
body.projects-page { overflow-x: clip; }

.setup-page .battlestation-gallery > [data-gallery-span="full"] {
  grid-column: 1 / -1;
  width: 100%;
}

.setup-page .battlestation-gallery > [data-gallery-span="full"] img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 700px) {
  .resume-section .section-heading { align-items: flex-start; gap: 22px; }
  .resume-download { align-self: flex-start; }
  .projects-page .personal-details .project-description { font-size: .82rem; }
}

@media print {
  .resume-download { display: none; }
  .resume-credit-disclosure > summary { display: none; }
  .resume-credit-disclosure::details-content { content-visibility: visible; }
}
