/*
 * marketing/services.html 与 marketing/services_cn.html 专用的修复层。
 *
 * 背景：.contact-info 的 background-color 在源站 style.css 里就是
 * transparent —— 源站靠 <body class="body-1"> 的固定通栏背景图
 * （hand-ia-bgremove.png，机械手托举地球）透出来做效果，而不是给
 * .contact-info 本身上色。之前这里补了纯色背景，是因为以为源站漏写了
 * 深色底；实际上只要页面 body 也带 body-1（本项目 services_cn.html /
 * updates_cn.html 的 <body> 已经是 class="body-1"），透明背景本身就不会
 * 盖在白底上，无需额外补色。保留 transparent 声明只是显式记录这一点，
 * 避免以后又被误当成"忘了写背景"再度补色。
 */
.contact-info {
    background-color: transparent;
}

/*
 * marketing/updates.html 与 marketing/updates_cn.html 专用的修复。
 *
 * .portfolio-grid 是 CSS Grid（style.css 里 grid-template-columns: repeat(4,1fr)
 * 等），.portfolio-empty 作为空状态提示只是它的第一个普通子元素，会被当成
 * 网格里的第一个单元格，只占一列宽度，文字在窄列里被挤压得几乎不可读。
 * 让它横跨所有列，撑满整个网格宽度。
 */
.portfolio-grid > .portfolio-empty {
    grid-column: 1 / -1;
}

/*
 * custom-isotope.js 初始化时只按 .portfolio-item 的数量/位置计算
 * .portfolio-grid 的高度，并把结果写成内联 style="height: 0px"（本项目列表
 * 暂无数据、0 个 .portfolio-item 时即是如此）。.portfolio-empty 作为普通
 * 文档流的子元素，几何位置（getBoundingClientRect）依然在原处，但父级
 * 高度塌陷为 0 之后，紧随其后的 .contact-info 区块在文档流中提前顶了上来，
 * 视觉上盖住了本该显示的空状态提示——不是层级/z-index 问题，是父级高度
 * 塌陷导致的重叠。用 min-height 兜底，让父级至少能容纳空状态提示自身的
 * 高度，JS 内联的 height:0 无法覆盖 CSS min-height。
 */
.portfolio-grid:has(> .portfolio-empty) {
    min-height: 200px;
}
