.banner{
    background-image: url(../image/banner-28.jpg);
    background-color: rgb(0 0 0 / 37%);
    background-blend-mode: multiply;
    background-repeat: no-repeat;
    background-position: 50% 70% !important;
    background-size: cover;
    height: 20vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.banner h1{
    color: #fff;
    font-weight: 600;
}

.banner-content {
    position: absolute;
}

.banner-content p {
    text-align: center;
    color: #fff;
}


/* 基礎設定與極簡風格變數 */
        :root {
            --primary-color: #0f172a;
            --accent-color: #2563eb;
            --bg-color: #f8fafc;
            --surface-color: #ffffff;
            --text-main: #334155;
            --text-light: #64748b;
            --border-radius: 12px;
           /* --transition: all 0.3s ease;*/
        }

        body {
            /*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang TC", "Microsoft JhengHei", sans-serif;*/
            line-height: 1.7;
            color: var(--text-main);
            background-color: var(--bg-color);
            margin: 0;
            padding: 0;
        }

        h1, h2, h3 {
            color: var(--primary-color);
            line-height: 1.3;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }

        /* 圖片佔位符 (適合 2.5D 風格圖片) */
        .img-placeholder {
            background: linear-gradient(135deg, #e2e8f0 0%, #f1f5f9 100%);
            /*border-radius: var(--border-radius);*/
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-light);
            font-weight: 500;
            /*border: 1px dashed #cbd5e1;*/
            width: 100%;
            height: 100%;
            /*min-height: 300px;*/
            border: none; 
            border-radius: 0;
        }
        /* 核心修改：強制圖片填滿且裁切多餘部分 */
        .img-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* 強制裁切以填滿容器，不變形 */
            display: block;
        }

        /* 區塊共用設定 */
        section {
            padding: 80px 0;
        }

        /* Hero 區塊 */
        .hero {
            background-color: var(--surface-color);
            text-align: center;
            padding: 100px 24px;
            border-bottom: 1px solid #e2e8f0;
        }
        .hero h1 {
            font-size: 2.5rem;
            margin-bottom: 24px;
        }
        .hero p {
            font-size: 1.125rem;
            max-width: 800px;
            margin: 0 auto;
            color: var(--text-light);
        }

        /* 什麼是 OPC Server 區塊 */
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;
            align-items: center;
            margin-top: 10px;
        }

        /* 優勢區塊 */
        .advantages-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 32px;
            margin-top: 48px;
        }
        .advantage-card {
            background: var(--surface-color);
            padding: 32px;
            border-radius: var(--border-radius);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
            border-top: 4px solid var(--accent-color);
        }
        .advantage-card h3 {
            margin-top: 0;
            font-size: 1.25rem;
        }

        /* 支援設備區塊 */
        .devices {
            background-color: var(--primary-color);
            color: white;
        }
        .devices h2 {
            color: white;
            text-align: center;
            margin-bottom: 48px;
        }
        .devices h3 {
            display: block;
            color: #93c5fd;
            margin-bottom: 12px;
            font-size: 1.1rem;
        }
        .devices p {
            color: white;
            text-align: center;
            margin-bottom: 40px;
        }
        .device-list {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 24px;
            list-style: none;
            padding: 0;
        }
        .device-list li {
            background: rgba(255, 255, 255, 0.1);
            padding: 24px;
            border-radius: var(--border-radius);
            font-size: 1rem;
            color: #fff;
        }
        .devices .note {
            text-align: center;
            margin-top: 32px;
            color: #94a3b8;
            font-size: 0.9rem;
        }
        .device-list a {
            display: inline-block;
            margin-top: 15px; 
            color:#f9df7e; 
            text-decoration: underline; 
            font-size: 0.9rem;
        }

        /* 應用案例區塊 */
        .cases {
            background-color: var(--bg-color);
        }
        .cases-header {
            text-align: center;
            margin-bottom: 48px;
        }
        .case-card {
            background: var(--surface-color);
            border-radius: var(--border-radius);
            overflow: hidden;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
            margin-bottom: 32px;
            display: grid;
            grid-template-columns: 1fr 1fr; /* 改為 1:1 */
        }

        .case-content {
            padding: 40px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .case-card:nth-child(even) {
            grid-template-columns: 1fr 1fr; /* 改為 1:1 */
        }
        .case-card:nth-child(even) .case-image {
            order: 2;
        }

        /* 新增或修改此處：確保容器高度一致 */
        .case-image {
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        .case-image .img-placeholder {
            width: 100%;
            height: 100%;
            min-height: 300px; /* 設定一個固定高度，確保三張圖在電腦版看起來一樣高 */
            background: #eee;
            border-radius: 0;
        }

        /* 響應式設計 (手機與平板) */
        @media (max-width: 768px) {
            .about-grid, .case-card, .case-card:nth-child(even) {
                grid-template-columns: 1fr;
            }
            .case-card:nth-child(even) .case-image {
                order: 0;
            }
            .case-image .img-placeholder {
                min-height: 200px; /* 手機版高度可以設短一點 */
            }
            .hero h1 {
                font-size: 2rem;
            }
        }