/* Independent URLs preserve the established project window, including before JS. */
/* Image cards keep the white overlay color defined in portfolio.css. */
.project-card { text-decoration: none; }
.project-topic, .related-project, .manifesto-project, .project-close { color: inherit; text-decoration: none; }
.project-close { display: inline-flex; align-items: center; justify-content: center; }
/* Narrative precedes imagery in reading order; desktop retains gallery left. */
.project-detail { grid-template-areas: "gallery info"; }
.project-detail-info { grid-area: info; }
.project-gallery { grid-area: gallery; }
.project-detail-info h1 { margin: 18px 0 24px; font-size: clamp(35px,4vw,60px); letter-spacing: -.055em; font-weight: 400; line-height: 1.03; }
.practice-services .service-learn-more { display: inline-block; margin-top: 18px; }
.service-sections { display: grid; gap: 24px; }
.service-sections section { padding-top: 24px; border-top: 1px solid var(--folio-line); }
.service-sections section:first-child { padding-top: 0; border-top: 0; }
.service-story-section figure { margin-bottom: 24px; }
.service-illustration { margin-inline: auto; }
.service-sections h2 { margin: 0 0 12px; font-size: 23px; font-weight: 400; letter-spacing: -.035em; }
.service-sections p { max-width: 70ch; font-size: 14px; line-height: 1.8; }
.project-detail-info .service-section-heading { margin: 0 0 15px; font-size: 11px; letter-spacing: .1em; line-height: 1.6; }
.project-related .manifesto-project { display: block; width: fit-content; margin-top: 10px; }
.project-gallery a.gallery-image { display: block; color: inherit; }
.service-learn-more:focus-visible, .project-gallery a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
/* This non-interactive heading receives announcement focus after a route change. */
#project-detail-title:focus { outline: none; }
.project-dialog[data-server-rendered][open] { position: fixed; inset: 0; margin: auto; z-index: 100; overflow: auto; box-shadow: 0 0 0 100vmax #11180fb8; }
#landing[inert] { pointer-events: none; }
.project-card:focus-visible, .manifesto-project:focus-visible, .project-close:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 700px) {
  .project-detail { grid-template-areas: "info" "gallery"; }
  .project-detail-info h1 { font-size: 42px; }
}
