/* Approach and Research share the homepage's editorial type and 12-column grid. */
.buildcraft-subpage { --subpage-heading:40px; --subpage-card:28px; }
.buildcraft-subpage .spec-page-header { background:#0a0a0a; color:#fff; padding:160px 40px 96px; border-bottom:1px solid #292929; }
.buildcraft-subpage .spec-page-title { grid-column:1 / 11; font-size:clamp(40px,4.45vw,64px); font-weight:300; line-height:1.06; letter-spacing:-.04em; margin:24px 0 32px; }
.buildcraft-subpage :is(.page-intro,.spec-copy > p,.spec-model p,.spec-row p,.spec-service p,.spec-service li) { font-family:var(--font-body); font-size:16px; font-weight:400; line-height:1.6; letter-spacing:0; opacity:1; color:#bcbcbc; }
.buildcraft-subpage :is(.section-label,.spec-number,.footer-label) { font-family:var(--font-body); font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:#aaa; padding:0; border:0; border-radius:0; background:none; margin:0; }
.buildcraft-subpage .spec-section { padding:96px 40px; border-top:1px solid #292929; }
.buildcraft-subpage .spec-section-head { row-gap:24px; margin-bottom:48px; }
.buildcraft-subpage .spec-section-head > .section-label { grid-column:1 / -1; }
.buildcraft-subpage .spec-section-head > h2 { grid-column:1 / 9; font-family:var(--font-display); font-size:var(--subpage-heading); font-weight:400; line-height:1.12; letter-spacing:-.035em; }
.buildcraft-subpage .spec-copy > :is(p,.spec-link) { grid-column:1 / 7; }
.buildcraft-subpage :is(.spec-model h3,.spec-row h3,.spec-service h3) { font-family:var(--font-display); font-size:var(--subpage-card); font-weight:400; line-height:1.15; letter-spacing:-.025em; }
.buildcraft-subpage .spec-model { margin:0; gap:48px var(--spec-gap); }
.buildcraft-subpage .spec-model article { border:0; padding:0; min-width:0; }
.buildcraft-subpage .spec-model :is(h3,p) { max-width:none; }
.subpage-model-image { height:380px; overflow:hidden; margin-bottom:20px; }
.subpage-model-image img { width:100%; height:100%; object-fit:cover; display:block; }
.buildcraft-subpage .subpage-section-light { background:#ededea; color:#111; border-color:#d0d0cd; }
.buildcraft-subpage .subpage-section-light :is(.spec-copy > p,.spec-row p) { color:#555; }
.buildcraft-subpage .subpage-section-light :is(.section-label,.spec-number) { color:#555; }
.buildcraft-subpage .subpage-section-light .spec-row { border-color:#c8c8c5; padding:32px 0 48px; }
.buildcraft-subpage .subpage-section-light .spec-link { color:#111; }
.buildcraft-subpage .subpage-section-charcoal { background:#171717; }
.buildcraft-subpage .spec-service { padding:48px 0 64px; margin:0 0 32px; border-color:#444; }
.buildcraft-subpage .spec-service:last-child { margin:0; padding-bottom:0; }
.buildcraft-subpage .spec-service h3 { margin-top:24px; }
.buildcraft-subpage .spec-service li { margin-bottom:8px; }
.buildcraft-subpage .spec-blueprint { padding:28px; background:#242424; border:1px solid #444; }
.buildcraft-subpage .spec-blueprint h4 { font-size:24px; line-height:1.2; letter-spacing:-.025em; }
.buildcraft-subpage .subpage-research-intro { display:grid; grid-template-columns:var(--spec-columns); grid-template-rows:min-content 1fr; gap:0 var(--spec-gap); align-items:start; }
.subpage-research-intro .spec-section-head { grid-column:1 / 7; grid-row:1; }
.subpage-research-intro .spec-copy { grid-column:1 / 7; grid-row:2; }
.buildcraft-subpage .subpage-research-intro :is(.spec-section-head > h2,.spec-copy > p,.spec-copy > .spec-link) { grid-column:1 / -1; }
.subpage-research-visual { grid-column:8 / -1; grid-row:1 / 3; margin:0; }
.subpage-research-visual img { display:block; width:100%; height:560px; object-fit:cover; }
.buildcraft-subpage main section { scroll-margin-top:100px; }
.buildcraft-subpage img { border-radius:0; }
.buildcraft-subpage .footer { border-top:1px solid #333; }
@media(max-width:1000px) {
 .buildcraft-subpage { --subpage-heading:36px; --subpage-card:26px; }
 .buildcraft-subpage .spec-page-title { grid-column:1 / -1; font-size:52px; }
 .buildcraft-subpage .spec-model article { grid-column:span 6; }
 .subpage-model-image { height:320px; }
 .subpage-research-visual img { height:480px; }
}
@media(max-width:600px) {
 .buildcraft-subpage { --subpage-heading:30px; --subpage-card:24px; }
 .buildcraft-subpage .spec-page-header { padding:132px 20px 64px; }
 .buildcraft-subpage .spec-page-title { font-size:36px; }
 .buildcraft-subpage .spec-page-header .page-intro { grid-column:1 / -1; }
 .buildcraft-subpage .spec-section { padding:64px 20px; }
 .buildcraft-subpage .spec-section-head { margin-bottom:32px; }
 .buildcraft-subpage .spec-section-head > h2,.buildcraft-subpage .spec-copy > :is(p,.spec-link),.buildcraft-subpage .spec-model article,.buildcraft-subpage .spec-row > *,.buildcraft-subpage .spec-service > div { grid-column:1 / -1; }
 .buildcraft-subpage .spec-service { padding:32px 0 48px; gap:24px; margin-bottom:16px; }
 .buildcraft-subpage .spec-blueprint { padding:24px; }
 .buildcraft-subpage .subpage-research-intro > * { grid-column:1 / -1; grid-row:auto; }
 .buildcraft-subpage .subpage-research-intro { grid-template-rows:auto; }
 .subpage-research-visual { margin-top:32px; }
 .subpage-research-visual img { height:400px; }
 .subpage-model-image { height:300px; }
}
