/* Shared reading and project styles for the final site. */
.v5 { --reading-offset: 1rem; }
.v5 .status { font-size: .8rem; line-height: 1.5; }
.v5 .text-link { font-size: .92rem; }
.v5 .opening-links { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin-top: 1rem; }
.v5 .current-role { font-size: 1rem; line-height: 1.7; max-width: 52ch; }
.v5 .b-home-work { margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--line); }
.v5 .b-home-work > .section-heading { margin-bottom: 1.4rem; }
.v5 .b-completed-work { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; align-items: center; }
.v5 .b-completed-work .image-group { margin: 0; }
.v5 .b-completed-work h3 { margin: .8rem 0; font-size: 1.65rem; }
.v5 .b-completed-work h3 .text-link { font: inherit; }
.v5 .b-small-projects, .v5 .b-home-tail { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin: 2rem 0; }
.v5 .b-small-projects article { padding-top: 1rem; border-top: 1px solid var(--line); }
.v5 .b-small-projects h3 { margin: .8rem 0; }
.v5 .b-home-tail { border-top: 1px solid var(--line); padding-top: 2rem; }
.v5 .b-home-tail h2 { font-size: 1.6rem; }
.v5 .b-home-tail .text-link { margin-right: 1rem; }
.v5 .b-thoughts-link { margin-block: 2rem; }
.v5 .b-project-group { margin-top: 3rem; }
.v5 .b-project-group > h2 { margin-bottom: 1.5rem; }
.v5 .b-project-collection { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; align-items: start; }
.v5 .b-project-group.tehtya .b-project-collection { grid-template-columns: 1fr; }
.v5 .project-item h3 { font-size: 1.55rem; line-height: 1.3; margin: .8rem 0; }
.v5 .b-project-group.tehtya .project-item { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.v5 .b-project-group.tehtya .image-group { grid-column: 2; grid-row: 1 / span 4; margin: 0; }
.v5 .b-project-group.tehtya .project-meta, .v5 .b-project-group.tehtya h3, .v5 .b-project-group.tehtya .project-item > p, .v5 .b-project-group.tehtya .project-item > .text-link { grid-column: 1; }
.v5 .reading-header { margin-bottom: 1.5rem; }
.v5 .reading-header .intro-copy { max-width: 65ch; }
.v5 .reading-introduction { max-width: 65ch; }
.v5 .reading-outline { align-self: start; position: sticky; top: var(--reading-offset); border-top: 1px solid var(--accent); padding-top: .75rem; font: .9rem/1.5 system-ui,sans-serif; max-height: calc(100vh - 6rem); overflow-y: auto; }
.v5 .reading-outline summary { cursor: pointer; font-weight: 600; padding: .5rem 0; }
.v5 .reading-outline ol { list-style: none; padding: 0; margin: .4rem 0; }
.v5 .reading-outline a { display: block; padding: .4rem 0; text-underline-offset: .18em; }
.v5 .outline-sub { padding-left: .8rem; border-left: 1px solid var(--line); }
.v5 .technical-appendix { padding: 1rem 0; border-block: 1px solid var(--line); margin: 1.5rem 0; }
.v5 .technical-appendix > summary { cursor: pointer; font: .95rem/1.6 system-ui,sans-serif; padding-block: .4rem; }
.v5 .technical-appendix .image-group { margin-bottom: 0; }
.v5 .quiet-empty { margin-block: 2rem; padding-block: 1.5rem; border-block: 1px solid var(--line); }
.v5 :is(.content-section,.subsection,.b-project-group) { scroll-margin-top: 1rem; }
@media (max-width:760px) {
 .v5 { --reading-offset: 0px; }
 .v5 .site-header { position: sticky; top: var(--reading-offset); z-index: 9; background: var(--paper); min-height: 64px; padding-block: .7rem; }
 .v5 .brand small { display: none; }
 .v5 .mobile-nav[open] nav { max-height: calc(100dvh - 140px); overflow-y: auto; }
 .v5 .reading-outline { position: static; max-height: none; margin: 0 0 1.5rem; padding: .3rem 0; }
 .v5 .reading-outline a { padding-block: .6rem; }
 .v5 .b-completed-work { grid-template-columns: 1fr; gap: 1rem; }
 .v5 .b-small-projects, .v5 .b-home-tail, .v5 .b-project-collection { grid-template-columns: 1fr; gap: 1.5rem; }
 .v5 .b-project-group.tehtya .project-item { display: block; }
 .v5 .b-project-group.tehtya .image-group { margin-block: 1.2rem; }
 .v5 .site-main { padding-top: 1.4rem; }
 .v5 .b-home-work { margin-top: 1.5rem; padding-top: 1.2rem; }
 .v5 :is(.content-section,.subsection,.b-project-group) { scroll-margin-top: 5rem; }
}
@media print { .v5 .site-header { position: static; } .v5 .reading-outline { display: none; } }

.v5 .resource-list { list-style:none; padding:0; margin:0; }
.v5 .resource-list li { padding:1rem 0; border-bottom:1px solid var(--line); }
.v5 .resource-list a { font-size:1rem; font-weight:600; overflow-wrap:anywhere; }
.v5 .resource-list p { font:.9rem/1.65 system-ui,sans-serif; color:var(--muted); margin-top:.5rem; }
