        :root {
            --primary-color: #0f172a; 
            --accent-color: #06b6d4; 
            --text-color: #334155;
            --light-bg: #f8fafc;
            --white: #ffffff;
            --transition: all 0.4s ease;
        }


        h1, h2, h3 {
            font-weight: 700;
            line-height: 1.3;
        }

        .container {
            max-width: 1320px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* === 動畫類別 (Scroll Reveal) === */
       /*  .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: all 1s ease;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
            margin-bottom: 0;
        } */

        /* === Hero Section (首頁大圖 - 已加入背景圖片) === */
        .hero {
            height: 100vh;
            /* 這裡使用了雙重背景：上一層是半透明深藍色遮罩，下一層是網路圖片 */
            
            background: url(../images/ys_main.png) no-repeat center center;
            /* background-color: #7ab3e1; */
            background-size: cover;
            background-attachment: fixed; /* 讓背景圖片固定，產生視差滾動效果 */
            display: flex;
            align-items: center;
            justify-content: center;
            /* text-align: center */;
            color: var(--white);
            position: relative;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding: 20px;
        }

        .hero h1 {
            font-family: sans-serif;
            font-size: 3.5rem;
            margin-bottom: 20px;
            letter-spacing: 2px;
            text-shadow: 2px 2px 10px rgba(0,0,0,0.5);
        }
        .hero h1 p {
            font-size: 18px;
            color: #e2e8f0;
            letter-spacing: 1px;
            font-family: system-ui;
            font-weight: 100;
        }
        .hero h1 span {
            font-size: 30px;
            font-weight: normal;
            letter-spacing: 1px;
        }
        .hero h1 + p {
            font-size: 1.2em;
            color: #ffffff;
            width: 40vw;
            margin: 0 0 40px;
            font-weight: 300;
            text-shadow: 0 0 5px #000;
            padding: 1em 1.5em;
            transition: all .25s;
            background: #10407352;
            border-radius: 3px;
        }
        .btn-scroll {
            display: inline-block;
            color: var(--white);
            font-size: 2rem;
            animation: bounce 2s infinite;
            cursor: pointer;
            text-decoration: none;
            opacity: 0.8;
            margin-left: 30%;
        }
        
        .btn-scroll:hover {
            opacity: 1;
            color: var(--accent-color);
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
            40% {transform: translateY(-10px);}
            60% {transform: translateY(-5px);}
        }

        /* === Section Styles === */
        section {
            padding: 100px 0;
        }

        .section-title {
            text-align: center;
            margin-bottom: 60px;
        }

        .section-title h2 {
            font-size: 2.5rem;
            color: var(--primary-color);
            margin-bottom: 20px;
        }

        .section-title .line {
            width: 60px;
            height: 4px;
            background: var(--accent-color);
            margin: 0 auto;
            border-radius: 2px;
        }

        /* === About Section === */
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: start;
        }

        .about-text h3 {
            font-size: 1.8rem;
            margin-bottom: 20px;
            color: var(--primary-color);
        }

        /* 右側品牌故事區塊 */
        .brand-box {
            background: var(--white);
            padding: 50px;
            border-top: 5px solid var(--accent-color);
            border-radius: 10px;
            box-shadow: 0 20px 40px rgba(0,0,0,0.08);
            position: relative;
        }
        
        /* 裝飾用的大引號 */
        .brand-box::before {
            content: '\f10d'; /* FontAwesome quote icon */
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            position: absolute;
            top: -30px;
            left: 30px;
            font-size: 60px;
            color: var(--accent-color);
            background: var(--white);
            padding: 0 10px;
        }

        .brand-box strong {
            color: var(--accent-color);
            font-size: 1.2rem;
            display: block;
            margin-bottom: 15px;
        }

        /* === Service Section (Customer Centric) - 這裡有三個重要圖示 === */
        #challenge.services-section {
/*             background-color: var(--primary-color);
 */            color: var(--white);
            position: relative;
            /* background-image: linear-gradient(rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.9)), url('https://www.transparenttextures.com/patterns/cubes.png'); /* 加入細微紋理背景 */ 
        }

       /*  .services-section .section-title h2 {
            color: var(--white);
        }
 */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
        }

        .service-card {
            background: rgba(255, 255, 255, 0.05);
            padding: 50px 35px;
            border-radius: 15px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: var(--transition);
            text-align: left; 
        }

        .service-card:hover {
            transform: translateY(-10px);
            background: rgba(255, 255, 255, 0.1);
            border-color: var(--accent-color);
            box-shadow: 0 15px 30px rgba(0,0,0,0.2);
        }

        /* 這就是您需要的「圖片」圖示 */
        .service-icon {
            font-size: 3.5rem;
            color: var(--accent-color);
            margin-bottom: 25px;
            display: inline-block;
        }

        .service-card h3 {
            margin-bottom: 15px;
            font-size: 1.5rem;
        }

        .service-card p {
            color: #cbd5e1;
            font-size: 1rem;
        }

        /* === Solutions Section (Point, Line, Plane) - 視覺化圖表 === */
        .solutions-section {
            background-color: var(--light-bg);
        }

        .solution-flow {
            display: flex;
            position: relative;
            flex-wrap: wrap;
            gap: 30px;
            margin-top: 20px;
            flex-direction: row;
            align-content: center;
            justify-content: center;
        }

        .solution-item {
            
            width: 380px;
            text-align: center;
            position: relative;
            z-index: 1;
            background: var(--white);
            padding: 20px 30px;
            border-radius: 15px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.05);
            transition: var(--transition);
            border-bottom: 4px solid transparent;
        }

        .solution-item:hover {
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
            transform: translateY(-5px);
            border-bottom-color: var(--accent-color);
        }

        /* 圓形圖示 */
        .circle-icon {
            width: 100px;
            height: 100px;
            background: var(--white);
            border: 4px solid var(--accent-color);
            color: var(--primary-color);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.2rem;
            margin: -90px auto 30px; 
            font-weight: 700;
            box-shadow: 0 10px 20px rgba(6, 182, 212, 0.2);
        }
        
        
        .item-line .circle-icon { border-color: #3b82f6; color: #3b82f6; box-shadow: 0 10px 20px rgba(59, 130, 246, 0.2);}
        .item-plane .circle-icon { border-color: #8b5cf6; color: #8b5cf6; box-shadow: 0 10px 20px rgba(139, 92, 246, 0.2);}

        .solution-item h3 {
            color: var(--primary-color);
            margin-bottom: 15px;
            font-size: 1.4rem;
        }

        .solution-tags {
            margin-top: 20px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
        }

        .tag {
            background: linear-gradient(45deg, #c3e7ff, #e0f2fe);
            color: #0369a1;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 500;
        }
        
        .item-line .tag { background: #dbeafe; color: #1e40af; }
        .item-plane .tag { background: #ede9fe; color: #5b21b6; }

        
        #challenge .container {
            max-width: 1200px;
        }
        #challenge {
            padding: 18.5vh;
            background:linear-gradient(45deg, #c4ddf5c4, #90aac3c4);
        }
        
        #challenge .section-title .line {
            background: #ff695a;
        }
        #challenge .service-card {
            background: #d7e6f5;
        }
        #challenge .section-title.reveal h2 {
            color: #4b5e77;
        }
        #challenge .section-title.reveal h2 span {
            color: #fff;
            text-shadow: 0 0 13px #4b7ba5;
        }
        .section-title::after {
            display: none!important;
        }
        #challenge .service-icon img {
            height: 1.75em;
        }
        #challenge .service-card p {
            font-size: 1.2rem;
            line-height: 1.5;
            color: #4873a7;
        }
        #challenge .service-card h3 {
            color: #0b4c7b;
        }
        .services-section  .line + p {
            margin-top: 15px;
            color: #284e83;
            font-size: 1.35rem;
            font-weight: normal;
        }
        #design.services-section {
            background-color: #f6fbff;
        }
        #design .service-card p {
            color: #6e839b;
            font-size: 1.2rem;
        }

        #design .container {
            width: 1366px;
            height: 600px;
            max-width: initial;
            display: flex;
            align-items: center;
            justify-content: space-between;
            overflow: hidden;
            position: relative
        }

        #design .text-section {
            flex: 0 0 40%;
            z-index: 10;
        }

        #design h1 {
            font-size: 3rem;
            line-height: 1.35;
            margin-bottom: 30px;
            font-weight: 700;
            color: #1a1a1a;
        }

        #design h1 span {
            color: #1978dd; 
            display: block;
        }

        #design .subtitle {
            font-size: 1.35rem;
        }
        #design .graphic-section {
            flex: 1;
            height: 100%;
            position: relative;
        }

        #design .main-image-circle {
            position: absolute;
            width: 400px;
            height: 400px;
            border-radius: 50%;
            overflow: hidden;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1;
        }

        #design .main-image-circle img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        #design .bubble {
            position: absolute;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            padding: 20px;
            /* transition: transform 0.3s ease; */
            transition: var(--transition);
        }

        #design .bubble:hover {
            transform: scale(1.05);
        }

        #design .bubble h3 {
            font-size: 1.5rem;
            margin: 5px 0;
        }

        #design .bubble p {
            font-size: 1.1rem;
            line-height: 1.4;
        }

        #design .bubble.blue {
            width: 260px;
            height: 260px;
            background-color: #1a71e3;
            color: white;
            z-index: 5; 
            left: 175px; 
            top: 50%;
            transform: translateY(-50%);
            box-shadow: 0 15px 35px rgba(26, 90, 255, 0.4);
        }

        #design .bubble.blue:hover {
            transform: translateY(-50%) scale(1.05);
        }

        #design .bubble.white {
            width: 240px;
            height: 240px;
            background-color:#ffffffa1;
            color: #333;
            z-index: 4;
        }
        
        #design .bubble img {
            width: 60px;
        }

        #design .bubble.top {
            top: 5%;
            left: 380px;
        }

        #design .bubble.right {
            top: 50%;
            right: 0;
            transform: translateY(-50%);
        }
        #design .bubble.right:hover {
             transform: translateY(-50%) scale(1.05);
        }

        #design .bubble.bottom {
            bottom: 5%;
            left: 380px;
        }

        #system {
            background-color:#f3f3f3;
        }
        #system .container {
            width: 1366px;
            height: 400px;
            max-width: initial;
            display: flex;
            align-items: center;
            justify-content: space-between;
            overflow: hidden;
            position: relative;
            color: #333;
        }
        #system .text-section {
            flex: 0 0 40%;
            z-index: 10;
        }
        #system h2 {
            font-size: 2.5rem;
            margin: 0 0 1.5rem;
        }
        #system .image-frame img {
            max-width: 780px;
        }
        #system .subtitle {
            font-size: 1.35rem;
        }
        #ui {
            background-color: #4580d3;
        }
        #ui .solution-flow img {
            width: 85%;
            height: auto;
            margin: 0 auto 1em;
        }
        #ui .solution-flow p {
            line-height: 1.5;
            font-size: 1.1em;
            text-align: justify;
        }
        #ui .section-title h2 {
            color: #fff;
        }
        #ui .container {
            max-width: 1366px;
        }
        #uninterrupted .section-title p,
        #ui .section-title p {
            color: #fff;
            margin-top: 15px;
            font-size: 1.35em;
            font-weight: normal;
        }
        #ui .solution-item h3 {
            color: #333;
        }
        #ui .solution-item .tag {
            font-size: 15px;
        }
        #uninterrupted .section-title p {            color: #fff;
            color: #333;
        }
        #uninterrupted img {
            max-width: 445px;
        }
        #uninterrupted .container {
            width: 1200px;
            max-width: initial;
            display: flex;
            align-items: center;
            justify-content: space-between;
            overflow: hidden;
            position: relative;
        }
        #uninterrupted .text-section {
            flex: 0 0 60%;
            z-index: 10;
            margin: 0;
        }
        #uninterrupted .graphic-section {
            flex: 1;
            height: 100%;
            position: relative;
            margin: 0 0 0 3%;
        }
        #uninterrupted .tag {
            font-size: 20px;
            margin: .5em 0;
            padding-left: 1.5em;
        }
        #industries div img {
            width: 100%;
        }
        #industries .line + p {
            margin-top: 15px;
            font-size: 1.35em;
            font-weight: normal;
        }
        .industries table {
            margin-bottom: 2em;
            max-width: 61em;
        }
        .industries table tr td {
            text-shadow: 0 0 5px #000;
        }
        .industries > label {
            background-color: #000000d4;
            color: #fff;
            padding: 3px 50px;
            margin-bottom: 10px;
            font-size: 1.1em;
        }
        .industries table tr td {
            padding: 3px 6px;
            font-size: 17px;
            border-bottom: 1px solid #ffffff52;
        }
        .industries table td img {
            margin: 5px 10px;
            width: 28px;
            filter: invert(1);
        }
        #uninterrupted table,
        #industries table {
            background-color: #fff;
            padding: 5px;
            display: inline-block;
        }
        #uninterrupted table {
            margin: .5em auto 0;
            display: table;
        }
        #uninterrupted table tr th, 
        #industries table tr th {
            text-align: center;
            font-weight: normal;
            background-color: #ebebeb;
            font-size: 1.1em;
            color: #424242;
            padding: 3px 10px;
            border-right: 1px solid #ffffff;
            border-bottom: 2px solid #6eabed;
        }
        #uninterrupted table tr th:last-child, 
        #industries table tr th:last-child {
            border-right: none;
        }
        #uninterrupted table tr td,
        #industries table tr td {
            padding: 10px 16px;
            font-size: 17px;
            border-bottom: 1px solid #84a5c052;
            border-right: 1px solid #84a5c052;
        }
        #uninterrupted  table tr td:first-child,
        #industries table tr td:first-child {
            font-weight: bold;
            text-align: center;
            white-space: nowrap;
        }
        #industries table tr td:last-child {
            border-right: none;
            max-width: 45em;
        }
        #industries .solution-flow {
            display: flex;
            justify-content: center;
            position: relative;
            flex-wrap: wrap;
            gap: 30px;
            margin-top: 20px;
        }
        #industries h3 {
            font-size: 1.65em;
        }
        #industries h3 img {
            width: 4em;
            display: block;
            margin: 1.5em auto .5em;
            border: 1px solid #ffffff;
            background-color: #ffffff59;
            border-radius: 50em;
            padding: .5em;
        }
        #industries {
            background-color: #daefff;
        }

        section#ui {
            padding: 70px 0;
        }
        td ul {
            margin: 0;
        }
        .ys_business > span {
            display: inline-block;
            width: 85%;
            vertical-align: text-top;
        }
        html[lang="en"] #ui .solution-flow p {
            text-align: center;
        }
        /* === RWD Media Queries === */
        @media (max-width: 1366px) {
            .hero h1 + p {
                width: 57vw;
            }
            #uninterrupted table tr td:first-child, #industries table tr td:first-child {
                min-width: 15em;
            }
            #industries table tr td:last-child {
                border-right: none;
                max-width: 37em;
            }
            .hero h1 + p {
                width: 57vw;
            }
            .hero h1 + p {
                width: 70vw;
            }
            .industries table tr td {
                padding: 0 6px;
            }
            .hero h1 + p {
                margin: 0 0 20px;
            }
            .industries table {
                margin-bottom: 0!important;
            }

            .hero h1 + p {
                width: 57vw;
            }
            
            .hero h1 + p {
                width: 57vw;
            }
            #design h1 {
                font-size: 2.5em;
                margin-bottom: 10px;
                max-width: 82%;
            }
            #design .container {
                height: 77vh;
            }
            #design .subtitle {
                font-size: 1.25rem;
                width: 94%;
                line-height: 1.5;
            }
            #design .bubble {
                padding: 12px;
                width: 230px !important;
                height: 230px !important;
            }
            #design .bubble h3 {
                font-size: 1.35em;
                margin: 5px 0 0;
            }
            #design .bubble p {
                font-size: 1em;
            }
            #design .main-image-circle {
                width: 300px;
                height: 300px;
            }
            #design .bubble.blue {
                left: 21%;
            }
            #design .bubble img {
                width: 50px;
            }
            #design .bubble.bottom,
            #design .bubble.top {
                left: 45%;
            }
            #design .text-section {
                flex: .6;
            }
            .solution-flow {
                margin-top: 20px;
            }
            section {
            padding: 70px 0;
            }
            .solution-item {
                width: 30%;
            }

            
        }
        @media (min-width: 992px) {
            .solution-flow::before {
                display: block;
            }
            .navbar-nav .dropdown:hover .dropdown-menu {
                display: block;
                margin-top: 0; 
                animation: fadeIn 0.3s ease-in-out; 
            }
        }

        @media (max-width: 768px) {
            .hero h1 { font-size: 2.5rem; }
            .about-grid { grid-template-columns: 1fr; gap: 40px;}
            .brand-box { padding: 30px; margin-top: 20px;}
            .solution-flow { flex-direction: column; gap: 60px; margin-top: 50px;}
            .circle-icon { margin-top: -70px; width: 80px; height: 80px; font-size: 1.8rem;}
        }

        @media screen and (max-width:576px) {
            #industries table tr {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                align-items: center;
            }
            #industries table tr td {
                line-height: 1.35;
                padding: 10px;
                /* border: none !important; */
            }
            #industries table tr td:nth-child(2) {
                min-width: initial;
                max-width: initial;
            }
            #industries table tr td:nth-child(3) {
                display: none!important;
            }
            .hero h1 {
                margin-top: initial;
            }
            #design .subtitle {
                font-size: 18px;
                width: 100%;
                margin-bottom: 1em;
            }
            .hero h1 + p {
                font-size: 18px;
                padding: 0;
                background: initial;
                width: initial !important;
            }
            #design .container {
                flex-direction: column !important;
                height: auto;
                width: initial;
            }
            #uninterrupted .section-title p, #ui .section-title p {
                font-size: 18px;
                line-height: 1.5;
                width: 100%;
            }
            .solution-item {
                width: 100%;
                margin: 0 auto;
            }
            .solution-flow {
                margin-top: 5%;
                gap: 1em;
            }
            .section-title h2 {
                font-size: 1.75em !important;
            }
            #uninterrupted table tr td:first-child,
            #industries table tr td:first-child {
                width: 36%;
                line-height: 1.35;
            }
            #uninterrupted table tr td, #industries table tr td {
                line-height: 1.5;
            }
            section#ui {
                padding: 10% 0;
            }
            #design h1 {
                font-size: 1.75em;
            }
            .detect {
                display: none;
            }
            #design .main-image-circle {
                position: initial;
                width: initial;
                height: initial;
                border-radius: initial;
                overflow: initial;
                transform: initial!important;
            }
            .main-image-circle.reveal.active {
                display: none;
            }
            #design .bubble {
                position: initial;
                width: initial !important;
                height: initial !important;
                border-radius: initial;
                color: initial !important;
                background-color: initial !important;
                transform: initial !important;
                padding: 5px 0;
                box-shadow: none !important;
            }
            #design .bubble::after {
                content: '';
                width: 90%;
                height: 1px;
                border-bottom: 1px dashed #a8d5fd;
            }
            #design .bubble:last-child::after {
                display: none;
            }
            section {
                padding: 10% 0;
            }
            .hero {
                height: auto;
                padding: 0 0 2em;
            }
            #design h1 span br {
                display: none;
            }
            #industries table tr td:first-child {
                min-width: 100%;
                text-align: left;
            }
    }