/* Steel category only: compact catalogue, source details and aligned galleries. */
.steel-catalogue,.steel-technology,.steel-production,.steel-gallery{padding-block:48px}
.steel-catalogue .section-head,.steel-technology .section-head,.steel-production .section-head,.steel-gallery .section-head{margin-bottom:28px}
.steel-project-card .timber-card-summary{margin-top:12px}
.steel-more-wrap{display:flex;justify-content:center;margin-top:26px}
.steel-more-wrap:has(>button[hidden]){display:none}
.steel-more-wrap button[hidden]{display:none}
.steel-project-detail .timber-project-views{grid-template-columns:repeat(2,minmax(0,1fr))}
.steel-project-detail .timber-project-views:has(>:only-child){grid-template-columns:minmax(0,760px)}
.steel-project-detail .timber-view img{aspect-ratio:1.6}
.steel-project-detail .timber-drawing img{aspect-ratio:1.15;object-fit:contain}
.steel-project-detail .timber-room-schedule{padding-bottom:16px}
.steel-technology-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:stretch}
.steel-tech-point{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:0 0 20px}
.steel-tech-point:last-child{padding-bottom:0}
.steel-tech-point>span{font-size:12px;color:var(--lime);font-weight:800;padding-top:5px}
.steel-tech-point h3{font-size:20px;margin-bottom:7px}
.steel-tech-point p{font-size:14px;line-height:1.65;color:var(--muted)}
.steel-tech-photo{padding:0;min-height:0;max-height:340px;overflow:hidden;background:var(--soft)}
.steel-tech-photo img{width:100%;height:100%;object-fit:cover}
.steel-node-section{padding-top:12px;scroll-margin-top:calc(var(--header-height,140px) + var(--section-nav-height,60px) + 20px)}
.steel-subheading{font-size:23px;letter-spacing:-.03em;margin:34px 0 20px}
.steel-node-grid,.steel-frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.steel-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.steel-node-grid .timber-node-card,.steel-frame-grid .timber-node-card{height:100%;text-align:left}
.steel-node-grid .timber-node-thumbnail,.steel-frame-grid .timber-node-thumbnail{aspect-ratio:1.55;background:#f3f5f0}
.steel-frame-grid .timber-node-thumbnail{aspect-ratio:16/9}
.steel-frame-grid .timber-node-thumbnail img{object-fit:cover;padding:0}
.steel-node-grid .timber-node-card-copy,.steel-frame-grid .timber-node-card-copy{padding:16px}
.steel-node-grid .timber-node-card-copy strong,.steel-frame-grid .timber-node-card-copy strong{font-size:15px;line-height:1.45}
.steel-small-note{font-size:12px;line-height:1.7;color:var(--muted);margin:20px 0;max-width:950px}
.steel-disclosures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.steel-disclosures>details{border:1px solid var(--line);background:var(--soft)}
.steel-disclosures summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;cursor:pointer;font-size:15px;font-weight:800;list-style:none}
.steel-disclosures summary::-webkit-details-marker{display:none}
.steel-disclosures summary>span{font-size:22px;font-weight:500;color:var(--lime)}
.steel-disclosures details[open] summary>span{transform:rotate(45deg)}
.steel-disclosure-body{padding:0 20px 20px;color:var(--muted);font-size:13px;line-height:1.7}
.steel-disclosure-body>p+p{margin-top:14px}
.steel-disclosure-body dl{margin:15px 0 0}
.steel-disclosure-body dl>div{padding:12px 0;border-top:1px solid var(--line)}
.steel-disclosure-body dt,.steel-disclosure-body h4{color:var(--ink);font-weight:800;margin:0 0 5px}
.steel-disclosure-body h4:not(:first-child){margin-top:20px}
.steel-disclosure-body dd{margin:0}
.steel-production{background:var(--tinted)}
.steel-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;list-style:none;padding:0;margin:0}
.steel-process li{display:grid;grid-template-columns:30px 1fr;gap:12px;border-top:1px solid var(--line);padding-top:15px}
.steel-process li>span{font-size:12px;font-weight:800;color:var(--lime)}
.steel-process p{font-size:13px;line-height:1.6;max-width:290px}
.steel-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.steel-architecture-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.steel-photo-grid .interior-card-image{aspect-ratio:4/3;display:block;overflow:hidden}
.steel-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.steel-photo-grid button:hover img{transform:scale(1.035)}
@media(max-width:1000px){.steel-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steel-architecture-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.steel-technology-intro{gap:24px}.steel-tech-point h3{font-size:18px}}
@media(max-width:700px){.steel-catalogue,.steel-technology,.steel-production,.steel-gallery{padding-block:36px}.steel-technology-intro{grid-template-columns:1fr}.steel-tech-photo{max-height:280px;aspect-ratio:1.6}.steel-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.steel-frame-grid .timber-node-card-copy{padding:10px}.steel-frame-grid .timber-node-card-copy strong{font-size:12px}.steel-frame-grid .timber-node-summary{display:none}.steel-frame-grid .timber-node-open{font-size:10px}.steel-disclosures{grid-template-columns:1fr}.steel-process{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.steel-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.steel-architecture-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.steel-node-grid{gap:12px}.steel-subheading{font-size:21px}.steel-project-detail .timber-project-views{grid-template-columns:1fr}.steel-project-detail .timber-project-drawings{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.steel-photo-grid img{transition:none}}

.steel-production-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:0 0 26px;font-size:14px;line-height:1.7;color:var(--muted)}
@media(max-width:700px){.steel-production-copy{grid-template-columns:1fr;gap:12px}}

.steel-disclosures>details:last-child{grid-column:1/-1}

/* Keep a partial final row centred without enlarging any thumbnail. */
.steel-production .steel-photo-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
.steel-production .steel-photo-grid>button{grid-column:span 2}
.steel-production .steel-photo-grid>button:last-child:nth-child(4n+1){grid-column:4/span 2}
@media(max-width:700px){
 .steel-production .steel-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .steel-production .steel-photo-grid>button:last-child:nth-child(odd){grid-column:2/span 2}
}

/* Technical project media: native-size zoom, including on narrow screens. */
.large-media.steel-project-media{overscroll-behavior:contain;background:#fff}
.large-media.steel-project-media.is-zoomed img{display:block;width:max(100%,var(--media-native-width));max-width:none;height:auto;object-fit:initial}
.large-media.steel-project-media:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

/* Compact source views remain fully visible; only the lightbox enlarges them. */
.steel-project-detail .timber-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.steel-project-detail .steel-project-technical .timber-view img{aspect-ratio:1.65;object-fit:contain;background:#fff}
.steel-project-detail .steel-project-technical:has(>:only-child){grid-template-columns:minmax(0,520px)}

/* Related elevations stay together on a compact, full-width architectural board. */
.steel-project-detail .steel-project-technical:has(.steel-facade-board){grid-template-columns:1fr}
.steel-project-detail .steel-facade-board{width:100%;max-width:960px}
.steel-project-detail .steel-project-technical .steel-facade-board img{width:100%;height:clamp(190px,27vw,300px);aspect-ratio:auto;object-fit:contain;background:#fff}
@media(max-width:700px){.steel-project-detail .steel-project-technical .steel-facade-board img{height:190px}}
