/* Reading roles shared by the homepage, project gallery and all three case studies. */
:root{--type-reading:1.0625rem;--type-label:.9375rem;--type-control:1rem;--type-caption:.875rem}
.hero-description,.capability-intro>p:last-child,.about-main>p:not(.section-label),.case-intro,.case-text,.story-intro p,.flow-step p{font-size:var(--type-reading);line-height:1.9}
.hero-description{max-width:430px}
.hero-description span,.hero-status,.hero-fields,.scroll-hint,.story-caption p,.story-caption-en{font-size:var(--type-caption);line-height:1.75}
.nav-links{font-size:var(--type-label)}
.hero-link,.text-link,.button,.copy-email,.copy-status,.contact-section>p{font-size:var(--type-control)}
.selected-heading h2>span,.archive-heading h2>span,.section-label{font-size:var(--type-label);line-height:1.7}
.selection-note,.selected-footer,.archive-heading>p{font-size:var(--type-reading);line-height:1.85}
.selection-note{max-width:32ch;text-wrap:pretty}
.feature-category,.feature-role,.project-type,.project-role{font-size:var(--type-label);line-height:1.7;color:#625c67}
.feature-caption{padding-top:22px}
.feature-category{margin-bottom:9px}.feature-role{margin-bottom:9px}
.feature-value,.feature-primary .feature-value,.project-summary>div:last-child{font-size:var(--type-reading);line-height:1.85}
.feature-caption h3{font-size:26px;margin-bottom:12px}.feature-primary h3{font-size:34px}
.selected-footer{gap:22px;align-items:flex-start}
.curated-archive .filter-button{font-size:var(--type-control);min-height:44px;line-height:1.6}
.archive-status{font-size:var(--type-label);line-height:1.7}
.curated-archive .archive-industry{font-size:var(--type-label)!important;line-height:1.7}
.curated-archive .archive-title{font-size:23px!important;line-height:1.45}
.capability-list h3,.experience-list h3{font-size:19px;line-height:1.6}
.capability-list p,.experience-list p{font-size:1rem;line-height:1.85}
.experience-list span,.tools-line{font-size:var(--type-caption)!important;line-height:1.75}
.site-footer,.dialog-header p{font-size:var(--type-caption);line-height:1.75}
.case-kicker,.case-meta dt{font-size:var(--type-label);line-height:1.7}
.case-meta dd,.case-toc,.case-pagination a,.case-note,.case-section summary,.case-flow li,.case-flow span{font-size:var(--type-control);line-height:1.85}
.case-caption,.case-image>figcaption,.case-phone figcaption,.flow-step figcaption,.flow-panel figcaption{font-size:var(--type-label);line-height:1.8}
.decision-notes p,.case-pair figcaption{font-size:var(--type-reading);line-height:1.85}
.flow-enhanced .flow-visual{height:calc(100% - 94px)}
/* Close framing gives actual interface details more room without altering the source artwork. */
.curated-work .feature-primary .project-cover>picture{position:absolute;inset:0}
.curated-work .feature-primary .project-cover>picture>img{position:absolute;width:170%;height:auto;max-width:none;left:-25%;top:31%;transform:translateY(-50%)}
@media(max-width:767px){
  :root{--type-reading:1rem;--type-label:.875rem;--type-caption:.8125rem}
  .nav-links{gap:15px;font-size:.875rem}.nav-links a:last-child{font-size:0}
  .hero-description{max-width:330px}.hero-description span{max-width:330px}
  .hero-link{margin-top:24px}
  .feature-caption h3,.feature-primary h3{font-size:27px}
  .curated-archive .archive-title{font-size:22px!important}
  .curated-archive .archive-filters{gap:8px 23px;flex-wrap:wrap}
  .archive-heading>p{max-width:none}
  .capability-list>div{grid-template-columns:1fr;gap:8px}
  .capability-list h3{font-size:18px}
  .case-meta{gap:22px}.case-meta dd{margin-top:7px}
  .case-toc{gap:12px 22px}
  .curated-work .feature-primary .project-cover{aspect-ratio:1.03}
  .curated-work .feature-primary .project-cover>picture>img{width:100%;left:0;top:-106%;transform:none}
}
