/* RC8-LAYOUT-1: fluid page width, proportionate imagery and document scrolling. */
:root{--page-gutter:clamp(20px,2.5vw,80px)}
html{height:auto;min-height:100%;overflow-y:auto;scroll-padding-top:110px;font-size:clamp(16px,.82vw,20px)}
body{height:auto;min-height:100vh;max-height:none;overflow:visible;font-size:1rem}
main{height:auto;max-height:none;overflow:visible;min-width:0}
.wrap{width:calc(100% - 2 * var(--page-gutter));max-width:none;margin-inline:auto}
.site-header{padding-inline:var(--page-gutter)}
.hero-copy{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.page-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,3vw,80px)}
.page-intro>*,.section>*,.rc8-grid>*,.work-grid>*,.case-grid>*,.subject-grid>*{min-width:0}
.page-intro h1{font-size:clamp(2.1rem,4.1vw,5.5rem)}
.page-intro .lead{font-size:clamp(1rem,1.1vw,1.35rem)}
.section h2{font-size:clamp(1.75rem,2.6vw,3.2rem)}
.intro-art{width:100%;max-width:none}
.intro-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.rc8-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,1.6vw,40px)}
.rc8-card>img,.rc8-grid .card-image,.rc8-grid .card-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.rc8-card-body{padding:clamp(20px,1.5vw,34px)}
.rc8-card h3,.rc8-card h4{font-size:clamp(1.12rem,1.2vw,1.5rem)}
.rc8-card p,.work-card p:not(.small-label),.case-card .case-card-copy>p:not(.small-label),.subject-card p:not(.small-label){font-size:1rem}
.rc8-card .small-label{font-size:.72rem}
.work-grid,.case-grid,.subject-grid{gap:clamp(20px,1.6vw,40px)}
.work-card h3,.case-card h3,.subject-card h3{font-size:clamp(1.4rem,1.6vw,2rem)}
.table-scroll{max-height:none;height:auto;overflow-x:auto;overscroll-behavior-y:auto}
.editorial-topic .page-intro,.toolchain-topic .page-intro{grid-template-columns:1fr}
@media(min-width:1800px){.rc8-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-copy{padding-left:var(--page-gutter)}}
@media(max-width:1100px){
 .rc8-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 .site-header:has(#primary-nav.open){position:relative}
 .site-header #primary-nav.open{position:static;max-height:none;height:auto;overflow:visible;overscroll-behavior:auto;flex-basis:100%;width:100%}
 .site-header:has(#primary-nav.open){flex-wrap:wrap}
}
@media(max-width:680px){
 :root{--page-gutter:20px}
 html{font-size:16px}
 .rc8-grid,.page-intro{grid-template-columns:1fr}
 .rc8-card>img,.rc8-grid .card-image,.rc8-grid .card-image img{height:auto;aspect-ratio:3/2}
 .hero-copy{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
 .page-intro h1{font-size:2.1rem}
}
@media print{.wrap{width:100%}html{font-size:12px}.rc8-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
