/* Reset & Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* PDF Viewer */
.pdf-viewer-page {
    --pdf-bg: #eef3f8;
    --pdf-panel: rgba(255, 255, 255, 0.94);
    --pdf-text: #17324a;
    --pdf-muted: #62778b;
    --pdf-accent: #165dff;
    --pdf-accent-strong: #0f4de0;
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(22, 93, 255, 0.14), transparent 32%),
        radial-gradient(circle at 85% 12%, rgba(27, 172, 117, 0.12), transparent 24%),
        linear-gradient(180deg, #f8fbff 0%, var(--pdf-bg) 100%);
    color: var(--pdf-text);
}

.pdf-viewer-page::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.32;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.8) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.8) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle at center, #000 36%, transparent 88%);
}

.pdf-viewer-page .pdf-viewer-app {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.pdf-viewer-toolbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 24px;
    color: #fff;
    background: rgba(11, 24, 38, 0.88);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 40px rgba(11, 24, 38, 0.18);
}

.pdf-viewer-brand {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    min-width: 0;
}

.pdf-viewer-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    color: #d7e6ff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: transform 0.2s ease, background 0.2s ease;
}

.pdf-viewer-back:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(-1px);
}

.pdf-viewer-heading {
    min-width: 0;
}

.pdf-viewer-kicker {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 0.22em;
    color: rgba(215, 230, 255, 0.78);
}

.pdf-viewer-heading h1 {
    margin: 8px 0 6px;
    font-size: 28px;
    line-height: 1.1;
    color: #fff;
}

.pdf-viewer-file {
    margin: 0;
    max-width: 520px;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(215, 230, 255, 0.76);
    word-break: break-all;
}

.pdf-viewer-controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.pdf-viewer-btn,
.pdf-viewer-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1;
    border: 1px solid transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.pdf-viewer-btn {
    color: #f3f7ff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    cursor: pointer;
}

.pdf-viewer-btn:hover,
.pdf-viewer-link:hover {
    transform: translateY(-1px);
}

.pdf-viewer-btn:hover {
    background: rgba(255, 255, 255, 0.16);
}

.pdf-viewer-btn.is-active {
    color: #fff;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.9), rgba(22, 93, 255, 0.95));
    box-shadow: 0 12px 24px rgba(22, 93, 255, 0.28);
}

.pdf-viewer-link {
    color: #113459;
    background: rgba(255, 255, 255, 0.9);
}

.pdf-viewer-link.accent {
    color: #fff;
    background: linear-gradient(135deg, var(--pdf-accent), var(--pdf-accent-strong));
    box-shadow: 0 12px 24px rgba(22, 93, 255, 0.25);
}

.pdf-viewer-page-jump {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.pdf-viewer-page-jump input {
    width: 72px;
    padding: 0;
    border: 0;
    outline: none;
    color: #fff;
    text-align: center;
    background: transparent;
}

.pdf-viewer-page-jump span,
.pdf-viewer-zoom-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 42px;
    padding: 0 12px;
    color: #f3f7ff;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.pdf-viewer-layout {
    flex: 1;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 24px;
    padding: 24px;
    min-height: 0;
}

.pdf-viewer-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pdf-viewer-card {
    padding: 18px 20px;
    border-radius: 24px;
    background: var(--pdf-panel);
    border: 1px solid rgba(23, 50, 74, 0.08);
    box-shadow: 0 20px 40px rgba(17, 41, 71, 0.08);
}

.pdf-viewer-card h2 {
    margin: 0 0 10px;
    font-size: 16px;
    color: var(--pdf-text);
}

.pdf-viewer-card p {
    margin: 0;
    color: var(--pdf-muted);
    line-height: 1.7;
}

.pdf-viewer-page-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pdf-viewer-note {
    margin: 0;
    color: var(--pdf-muted);
    line-height: 1.7;
}

.pdf-page-link {
    width: 100%;
    padding: 12px 14px;
    color: var(--pdf-text);
    text-align: left;
    border: 1px solid rgba(23, 50, 74, 0.08);
    border-radius: 16px;
    background: rgba(244, 248, 253, 0.96);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.pdf-page-link:hover {
    transform: translateX(2px);
    border-color: rgba(22, 93, 255, 0.18);
}

.pdf-page-link.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--pdf-accent), var(--pdf-accent-strong));
    box-shadow: 0 14px 26px rgba(22, 93, 255, 0.22);
}

.pdf-viewer-stage {
    position: relative;
    min-height: 0;
    overflow: auto;
    padding: 24px;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(14, 27, 43, 0.97), rgba(28, 41, 56, 0.95));
    box-shadow: 0 28px 56px rgba(11, 24, 38, 0.18);
}

.pdf-viewer-status {
    position: sticky;
    top: 0;
    z-index: 2;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 18px;
    padding: 12px 18px;
    color: #eef5ff;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.pdf-viewer-status[data-tone="error"] {
    color: #fff4f4;
    background: rgba(207, 36, 51, 0.78);
}

.pdf-viewer-status.is-hidden {
    display: none;
}

.pdf-viewer-canvas-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.pdf-page-card {
    width: max-content;
    max-width: 100%;
    padding: 14px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pdf-page-card.is-active {
    box-shadow: 0 22px 54px rgba(58, 133, 255, 0.24);
}

.pdf-page-card.is-rendering {
    transform: scale(0.998);
}

.pdf-page-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 6px 12px;
    color: rgba(241, 247, 255, 0.88);
    font-size: 13px;
}

.pdf-page-card-size {
    color: rgba(241, 247, 255, 0.58);
}

.pdf-page-canvas-wrap {
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
}

.pdf-page-canvas {
    display: block;
    max-width: 100%;
    height: auto;
    background: #fff;
}

.preview-image {
    display: block;
    width: 100%;
    height: auto;
    background: #fff;
}

.pdf-viewer-fallback {
    width: 100%;
    min-height: 76vh;
    padding: 14px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
}

.pdf-viewer-fallback-frame {
    width: 100%;
    min-height: calc(76vh - 28px);
    border: 0;
    border-radius: 20px;
    background: #fff;
}

@media (max-width: 1180px) {
    .pdf-viewer-layout {
        grid-template-columns: 1fr;
    }

    .pdf-viewer-sidebar {
        order: 2;
    }

    .pdf-viewer-stage {
        order: 1;
        min-height: 72vh;
    }
}

@media (max-width: 860px) {
    .pdf-viewer-toolbar {
        padding: 16px;
    }

    .pdf-viewer-heading h1 {
        font-size: 24px;
    }

    .pdf-viewer-layout {
        gap: 18px;
        padding: 16px;
    }

    .pdf-viewer-stage {
        padding: 16px;
        border-radius: 24px;
    }

    .pdf-viewer-card {
        border-radius: 20px;
    }
}

@media (max-width: 640px) {
    .pdf-viewer-toolbar {
        flex-direction: column;
    }

    .pdf-viewer-brand {
        flex-direction: column;
        width: 100%;
    }

    .pdf-viewer-controls {
        width: 100%;
        justify-content: flex-start;
    }

    .pdf-viewer-btn,
    .pdf-viewer-link,
    .pdf-viewer-page-jump,
    .pdf-viewer-zoom-label {
        min-height: 40px;
    }

    .pdf-viewer-stage {
        min-height: 64vh;
        padding: 12px;
    }

    .pdf-page-card {
        width: 100%;
        padding: 10px;
        border-radius: 20px;
    }

    .pdf-viewer-fallback {
        min-height: 68vh;
        padding: 10px;
        border-radius: 20px;
    }

    .pdf-viewer-fallback-frame {
        min-height: calc(68vh - 20px);
        border-radius: 16px;
    }

    .pdf-page-card-header {
        padding: 2px 2px 10px;
    }
}

html {
    scroll-behavior: auto;
}

body {
    font-family: 'Microsoft YaHei', 'PingFang SC', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    background: #fff;
}

/* 全屏滚动模式 */
body.fullpage-mode {
    scroll-snap-type: y mandatory;
    overflow-y: auto;
}

html.fullpage-mode {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

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

/* Header */
.header {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.home-page .header,
.home-page.fullpage-mode .header,
.fullpage-mode .header,
.header-fixed-visible {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1200;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}

.logo img {
    height: 36px;
    width: auto;
    display: block;
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 30px;
}

.nav-menu > li > a {
    display: block;
    padding: 10px 0;
    font-size: 15px;
    color: #333;
    position: relative;
}

.nav-menu > li > a:hover,
.nav-menu > li > a.active {
    color: #1890ff;
}

.nav-menu > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #1890ff;
    transition: width 0.3s;
}

.nav-menu > li:hover > a::after {
    width: 100%;
}

.has-submenu {
    position: relative;
}

.submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    min-width: 150px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border-radius: 4px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
    padding: 10px 0;
}

.has-submenu:hover .submenu {
    opacity: 1;
    visibility: visible;
}

.submenu a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    color: #333;
}

.submenu a:hover {
    background: #f5f5f5;
    color: #1890ff;
}

.header-phone {
    font-size: 18px;
    color: #1890ff;
    font-weight: bold;
}

/* Mobile Nav */
.mobile-nav {
    display: none;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: sticky;
    top: 0;
    z-index: 1300;
}

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 15px;
    min-height: 64px;
}

.mobile-nav-header a {
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 56px);
}

.mobile-nav-header img {
    height: 30px;
    width: auto;
    max-width: calc(100% - 56px);
    object-fit: cover;
    display: block;
}

.menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    color: #111;
    cursor: pointer;
    padding: 5px;
}

.mobile-menu {
    display: none;
    padding: 0;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1399;
    background: rgba(255, 255, 255, 0.98);
}

.mobile-menu.open {
    display: block !important;
}

.mobile-menu li {
    border-bottom: 1px solid #eee;
}

.mobile-menu a {
    display: block;
    padding: 14px 15px;
    font-size: 15px;
    color: #333;
}

.mobile-menu a:hover {
    color: #1890ff;
    background: #f5f5f5;
}

@media (max-width: 992px) {
    .header {
        display: none !important;
    }

    body.home-page {
        padding-top: 64px;
    }

    body:not(.home-page) {
        padding-top: 64px;
    }

    .mobile-nav {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1400;
    }

    .mobile-nav-header {
        justify-content: space-between;
        padding: 12px 16px;
    }

    .mobile-nav-header img {
        height: 28px;
        max-width: min(240px, calc(100vw - 92px));
    }

    .mobile-menu {
        display: none;
        padding: 0;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.98);
        border-top: 1px solid rgba(0, 0, 0, 0.06);
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        position: fixed;
        top: 64px;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1399;
        max-height: calc(100vh - 64px);
        overflow-y: auto;
    }

    .mobile-menu.open {
        display: block !important;
        overflow-y: auto !important;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    .mobile-menu li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    }

    .mobile-menu a {
        padding: 14px 16px;
        font-size: 15px;
        line-height: 1.4;
    }

    .ppt-slider {
        min-height: calc(100svh - 64px);
        height: calc(100svh - 64px);
        max-height: 680px;
        padding-top: 0;
        margin-top: 0;
    }

    .ppt-content {
        width: 100%;
        align-items: center;
        justify-content: center;
        padding: 24px 0 56px;
    }

    .ppt-text {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 24px;
        text-align: center;
    }

    .ppt-text h2,
    .ppt-text p {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        word-break: normal;
    }

    .ppt-text .btn {
        min-width: 136px;
    }
}

/* PPT风格跨界点切换 */
.ppt-slider {
    position: relative;
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding-top: 80px;
}

.ppt-slides {
    position: relative;
    height: 100%;
    width: 100%;
    flex: 1 1 auto;
}

.ppt-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 1s ease-in-out;
    z-index: 1;
}

.ppt-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.ppt-content {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ppt-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 1.5s ease-in-out;
}

/* 移动设备上的背景图片调整 */
@media (max-width: 768px) {
    .ppt-slider {
        min-height: calc(100svh - 64px);
        height: calc(100svh - 64px);
        max-height: 620px;
    }
    
    .ppt-background {
        background-size: cover;
        background-position: top center;
    }
    
    .ppt-slide.active .ppt-background {
        transform: none;
    }
    
    .ppt-overlay {
        background: linear-gradient(135deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.2) 100%);
    }
    
    .ppt-text h2 {
        font-size: 28px;
    }
    
    .ppt-text p {
        font-size: 16px;
    }
}

.ppt-slide.active .ppt-background {
    transform: scale(1.05);
}

.ppt-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%);
}

.ppt-content-visual .ppt-background {
    background-color: #041638;
    background-size: contain;
    background-position: center;
}

.ppt-slide-link {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: block;
}

.ppt-text {
    position: relative;
    z-index: 3;
    text-align: center;
    color: #fff;
    width: min(100%, 900px);
    max-width: 800px;
    padding: 0 20px;
    margin-top: -168px;
    animation: fadeInUp 1s ease-out;
}

.ppt-text h2 {
    font-size: 56px;
    margin-bottom: 24px;
    font-weight: bold;
    line-height: 1.15;
    text-shadow: 0 4px 12px rgba(0,0,0,0.5);
}

.ppt-text p {
    font-size: 24px;
    margin-bottom: 32px;
    line-height: 1.6;
    opacity: 0.9;
}

.ppt-text .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    padding: 16px 32px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.ppt-text .btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(24, 144, 255, 0.4);
}

.ppt-nav {
    position: absolute;
    bottom: 34px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 12;
}

.ppt-dots {
    display: flex;
    gap: 16px;
    align-items: center;
}

.ppt-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ppt-dot:hover {
    background: rgba(255, 255, 255, 0.8);
    transform: scale(1.2);
}

.ppt-dot.active {
    background: #1890ff;
    transform: scale(1.4);
    box-shadow: 0 0 10px rgba(24, 144, 255, 0.8);
}

/* 动画效果 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 响应式设计 */
@media (max-width: 768px) {
    .ppt-slider {
        min-height: calc(100svh - 64px);
        height: calc(100svh - 64px);
        max-height: 620px;
    }
    
    .ppt-text h2 {
        font-size: 36px;
    }
    
    .ppt-text p {
        font-size: 18px;
    }
    
    .ppt-nav {
        bottom: 30px;
    }
    
    .ppt-dots {
        gap: 10px;
    }
    
    .ppt-dot {
        width: 10px;
        height: 10px;
    }
    
    /* 移除全屏模式 */
    .fullpage-indicator {
        display: none !important;
    }
}

/* Home Hero */
.home-page {
    --home-scroll: 0px;
    --home-progress: 0;
    background:
        radial-gradient(circle at top left, rgba(33, 118, 255, 0.08), transparent 34%),
        linear-gradient(180deg, #eef5ff 0%, #f7faff 180px, #ffffff 181px);
    overflow-x: hidden;
}

.home-page > * {
    position: relative;
    z-index: 1;
}

.home-fx {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.home-fx::before,
.home-fx::after {
    content: '';
    position: absolute;
    inset: 0;
}

.home-fx::before {
    background:
        radial-gradient(circle at 20% 16%, rgba(90, 225, 255, 0.16), transparent 18%),
        radial-gradient(circle at 76% 22%, rgba(55, 142, 255, 0.16), transparent 20%),
        radial-gradient(circle at 64% 72%, rgba(40, 108, 255, 0.14), transparent 22%);
    animation: homeAmbientShift 14s ease-in-out infinite;
}

.home-fx::after {
    inset: -10% 0;
    background: linear-gradient(115deg, transparent 30%, rgba(113, 227, 255, 0.12) 48%, transparent 64%);
    transform: translate3d(calc(var(--home-progress) * 140px), calc(var(--home-scroll) * -0.12), 0);
    filter: blur(10px);
    opacity: 0.8;
}

.home-fx-grid,
.home-fx-glow,
.home-fx-beam,
.home-fx-orbit,
.home-fx-particles {
    position: absolute;
    inset: 0;
}

.home-fx-grid {
    background:
        linear-gradient(rgba(80, 132, 204, 0.11) 1px, transparent 1px),
        linear-gradient(90deg, rgba(80, 132, 204, 0.11) 1px, transparent 1px);
    background-size: 48px 48px;
    transform: translateY(calc(var(--home-scroll) * -0.08));
    opacity: 0.78;
    animation: homeGridDrift 22s linear infinite;
}

.home-fx-glow {
    filter: blur(48px);
    border-radius: 50%;
}

.home-fx-glow-a {
    top: 8%;
    left: -10%;
    width: 28vw;
    height: 28vw;
    background: radial-gradient(circle, rgba(71, 188, 255, 0.32), transparent 70%);
    transform: translate3d(calc(var(--home-scroll) * 0.05), calc(var(--home-scroll) * -0.04), 0);
    animation: homeGlowFloatA 11s ease-in-out infinite;
}

.home-fx-glow-b {
    right: -8%;
    top: 42%;
    width: 34vw;
    height: 34vw;
    background: radial-gradient(circle, rgba(38, 109, 255, 0.28), transparent 72%);
    transform: translate3d(calc(var(--home-scroll) * -0.04), calc(var(--home-scroll) * -0.02), 0);
    animation: homeGlowFloatB 12s ease-in-out infinite;
}

.home-fx-beam {
    width: 42vw;
    height: 110vh;
    top: -10vh;
    background: linear-gradient(180deg, rgba(99, 226, 255, 0), rgba(99, 226, 255, 0.24), rgba(99, 226, 255, 0));
    filter: blur(12px);
    opacity: 0.62;
    mix-blend-mode: screen;
}

.home-fx-beam-a {
    right: 8%;
    transform: skewX(-18deg) translateY(calc(var(--home-scroll) * -0.18));
    animation: homeBeamMoveA 10s linear infinite;
}

.home-fx-beam-b {
    left: 12%;
    width: 28vw;
    opacity: 0.24;
    transform: skewX(16deg) translateY(calc(var(--home-scroll) * -0.1));
    animation: homeBeamMoveB 14s linear infinite;
}

.home-fx-orbit {
    inset: auto;
    border-radius: 50%;
    border: 1px solid rgba(91, 169, 255, 0.14);
}

.home-fx-orbit-a {
    left: -120px;
    top: 58%;
    width: 420px;
    height: 420px;
    transform: translateY(calc(var(--home-scroll) * -0.05));
    animation: homeOrbitSpin 26s linear infinite;
}

.home-fx-orbit-b {
    right: -140px;
    top: 14%;
    width: 360px;
    height: 360px;
    border-style: dashed;
    transform: translateY(calc(var(--home-scroll) * -0.12));
    animation: homeOrbitSpinReverse 30s linear infinite;
}

.home-fx-particles span {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(135, 229, 255, 0.95), rgba(135, 229, 255, 0.2));
    box-shadow: 0 0 14px rgba(135, 229, 255, 0.7);
}

.home-fx-particles span:nth-child(1) {
    left: 12%;
    top: 18%;
    animation: homeParticleFloat 9s ease-in-out infinite;
}

.home-fx-particles span:nth-child(2) {
    left: 28%;
    top: 64%;
    animation: homeParticleFloat 11s ease-in-out infinite 1s;
}

.home-fx-particles span:nth-child(3) {
    left: 56%;
    top: 22%;
    animation: homeParticleFloat 10s ease-in-out infinite 2s;
}

.home-fx-particles span:nth-child(4) {
    left: 68%;
    top: 48%;
    animation: homeParticleFloat 12s ease-in-out infinite 0.6s;
}

.home-fx-particles span:nth-child(5) {
    left: 82%;
    top: 18%;
    animation: homeParticleFloat 8.5s ease-in-out infinite 1.2s;
}

.home-fx-particles span:nth-child(6) {
    left: 88%;
    top: 72%;
    animation: homeParticleFloat 10.5s ease-in-out infinite 2.4s;
}

.home-page .home-hero,
.home-page .home-capability-strip,
.home-page .about-section,
.home-page .products-section,
.home-page .advantages-section,
.home-page .news-section,
.home-page .video-section {
    transform: translateY(calc(var(--home-scroll) * -0.035));
    transition: transform 0.15s linear;
}

/* 全屏滚动模式下的section样式 */
body.fullpage-mode .ppt-slider,
body.fullpage-mode .home-capability-strip,
body.fullpage-mode .about-section,
body.fullpage-mode .products-section,
body.fullpage-mode .advantages-section,
body.fullpage-mode .news-section,
body.fullpage-mode .video-section,
body.fullpage-mode .partners-section {
    min-height: 100svh;
    height: 100svh;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 92px;
    padding-bottom: 36px;
    overflow: hidden;
}

body.fullpage-mode .home-capability-strip {
    margin-top: 0;
    padding-bottom: 36px;
}

body.fullpage-mode .ppt-slider {
    padding-top: 80px;
}

body.fullpage-mode .section > .container,
body.fullpage-mode .home-capability-strip > .container {
    width: min(1200px, 100%);
    max-height: calc(100svh - 128px);
}

body.fullpage-mode.home-page .home-capability-strip,
body.fullpage-mode.home-page .about-section,
body.fullpage-mode.home-page .products-section,
body.fullpage-mode.home-page .advantages-section,
body.fullpage-mode.home-page .news-section,
body.fullpage-mode.home-page .video-section {
    transform: none;
}

body.fullpage-mode .home-section-header {
    margin-bottom: 24px;
    padding: 20px 26px;
    border-radius: 22px;
}

body.fullpage-mode .section-title {
    margin-bottom: 6px;
    font-size: clamp(28px, 3.4vh, 36px);
}

body.fullpage-mode .section-intro {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.7;
}

body.fullpage-mode .section-footer {
    margin-top: 24px;
}

body.fullpage-mode .capability-grid {
    align-items: stretch;
}

body.fullpage-mode .capability-item {
    padding: clamp(24px, 4.4vh, 46px) 30px;
    border-radius: 20px;
}

body.fullpage-mode .about-content {
    gap: 24px;
}

body.fullpage-mode .about-text {
    padding: 26px;
}

body.fullpage-mode .about-text p {
    margin-bottom: 12px;
    line-height: 1.72;
}

body.fullpage-mode .about-highlights {
    margin-bottom: 16px;
}

body.fullpage-mode .about-highlight {
    padding: 14px 16px;
}

body.fullpage-mode .about-highlight strong {
    font-size: 17px;
}

body.fullpage-mode .about-stats {
    margin: 18px 0 22px;
}

body.fullpage-mode .about-stat {
    padding: 14px;
}

body.fullpage-mode .about-visual-panel {
    padding: 22px 24px;
}

body.fullpage-mode .about-visual-panel h3 {
    font-size: 22px;
}

body.fullpage-mode .about-images img {
    height: clamp(130px, 19vh, 190px);
}

body.fullpage-mode .products-grid {
    gap: 16px;
}

body.fullpage-mode .product-card {
    padding: 12px;
    border-radius: 16px;
}

body.fullpage-mode .product-img {
    padding-bottom: 58%;
}

body.fullpage-mode .product-tag {
    margin-top: 12px;
    padding: 5px 9px;
    font-size: 10px;
}

body.fullpage-mode .product-card h3 {
    padding: 10px 3px 6px;
    font-size: 14px;
    line-height: 1.35;
}

body.fullpage-mode .product-card p {
    font-size: 12px;
    line-height: 1.45;
}

body.fullpage-mode .advantages-grid,
body.fullpage-mode .partners-grid,
body.fullpage-mode .video-grid {
    gap: 18px;
}

body.fullpage-mode .advantage-item {
    padding: 24px 20px;
}

body.fullpage-mode .advantage-icon {
    margin-bottom: 12px;
    font-size: 38px;
}

body.fullpage-mode .advantage-item h3 {
    margin-bottom: 10px;
    font-size: 18px;
}

body.fullpage-mode .advantage-item p {
    line-height: 1.65;
}

body.fullpage-mode .home-news-feature {
    margin-bottom: 18px;
    padding: 20px;
}

body.fullpage-mode .home-news-feature-copy h3 {
    font-size: clamp(24px, 3.4vh, 32px);
}

body.fullpage-mode .home-news-feature-media {
    min-height: clamp(180px, 27vh, 250px);
}

body.fullpage-mode .news-grid {
    gap: 18px;
}

body.fullpage-mode .news-card {
    padding: 16px;
}

body.fullpage-mode .news-img {
    height: clamp(120px, 18vh, 180px);
    margin-bottom: 14px;
}

body.fullpage-mode .news-card h3 {
    font-size: 16px;
    line-height: 1.42;
}

body.fullpage-mode .news-card p {
    font-size: 13px;
    line-height: 1.55;
}

body.fullpage-mode .video-info {
    padding: 16px;
}

body.fullpage-mode .partner-item {
    padding: clamp(24px, 5vh, 42px) 18px;
}

body.fullpage-mode .footer {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: 92px 0 36px;
}

body.fullpage-mode .footer .container {
    width: min(1200px, 100%);
}

/* 全屏滚动指示器 */
.fullpage-indicator {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: 16px;
    pointer-events: auto;
}

.fullpage-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    border: 2px solid rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}

.fullpage-dot:hover {
    background: rgba(255, 255, 255, 0.6);
    transform: scale(1.2);
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.3);
}

.fullpage-dot.active {
    background: #1890ff;
    border-color: #1890ff;
    width: 18px;
    height: 18px;
    transform: scale(1.1);
    box-shadow: 0 0 16px rgba(24, 144, 255, 0.6);
}

@media (max-width: 768px) {
    .fullpage-indicator {
        right: 20px;
        gap: 12px;
    }
    
    .fullpage-dot {
        width: 10px;
        height: 10px;
    }
    
    .fullpage-dot.active {
        width: 14px;
        height: 14px;
    }
}



.home-page .section-header,
.home-page .product-card,
.home-page .advantage-item,
.home-page .news-card,
.home-page .video-card,
.home-page .partner-item-logo,
.home-page .about-text,
.home-page .about-visual-panel,
.home-page .about-image-card,
.home-page .capability-item {
    will-change: transform, opacity;
}

.home-reveal {
    opacity: 1;
    transform: none;
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.home-motion-ready .home-reveal {
    opacity: 0;
    transform: translateY(48px) scale(0.975);
}

.home-motion-ready .home-reveal.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.performance-mode .home-page .home-hero,
.performance-mode .home-page .home-capability-strip,
.performance-mode .home-page .about-section,
.performance-mode .home-page .products-section,
.performance-mode .home-page .advantages-section,
.performance-mode .home-page .news-section,
.performance-mode .home-page .video-section,
.performance-mode .home-page .partners-section,
.performance-mode .home-page .home-fx::after,
.performance-mode .home-page .home-fx-grid,
.performance-mode .home-page .home-fx-glow,
.performance-mode .home-page .home-fx-beam,
.performance-mode .home-page .home-fx-orbit,
.performance-mode .home-page .home-fx-particles {
    transform: none !important;
    animation: none !important;
}

.performance-mode .home-page .home-fx {
    display: none;
}

.performance-mode .home-motion-ready .home-reveal {
    opacity: 1;
    transform: none;
    transition: opacity 0.25s ease;
}

.home-hero {
    height: auto;
    min-height: 700px;
    background: #07172d;
    position: relative;
}

.home-hero .hero-slider {
    position: relative;
    min-height: 700px;
}

.home-hero .hero-slide {
    position: absolute;
    inset: 0;
    min-height: 700px;
    padding: 120px 0 170px;
    overflow: hidden;
    background: linear-gradient(90deg, #07172d 0%, #14376d 100%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

.home-hero .hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.home-hero .hero-slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(100deg, rgba(3, 11, 25, 0.92) 0%, rgba(6, 27, 64, 0.82) 36%, rgba(8, 41, 97, 0.58) 62%, rgba(18, 108, 255, 0.3) 100%),
        radial-gradient(circle at 78% 34%, rgba(103, 224, 255, 0.18), transparent 18%),
        url('../images/home-slide-1.jpg'),
        url('../images/banner1.jpg');
    background-size: auto, auto, cover, cover;
    background-position: center, center, center center, center center;
    background-repeat: no-repeat;
    animation: heroBackdropShift 16s ease-in-out infinite;
}

.home-hero .hero-slide::after {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(122, 190, 255, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(122, 190, 255, 0.12) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 92%);
    pointer-events: none;
}

.home-hero .hero-slide-lab::before {
    background:
        linear-gradient(100deg, rgba(6, 24, 22, 0.9) 0%, rgba(8, 58, 54, 0.78) 36%, rgba(20, 120, 113, 0.5) 62%, rgba(76, 235, 216, 0.18) 100%),
        radial-gradient(circle at 76% 28%, rgba(122, 255, 233, 0.18), transparent 18%),
        linear-gradient(135deg, rgba(6, 49, 54, 0.32), rgba(8, 45, 60, 0.08)),
        url('../images/about1.jpg');
    background-size: auto, auto, auto, cover;
    background-position: center, center, center, center;
}

.home-hero .hero-slide-product::before {
    background:
        linear-gradient(102deg, rgba(22, 12, 38, 0.92) 0%, rgba(48, 18, 76, 0.8) 34%, rgba(84, 28, 114, 0.52) 60%, rgba(141, 89, 255, 0.18) 100%),
        radial-gradient(circle at 74% 28%, rgba(186, 133, 255, 0.18), transparent 18%),
        linear-gradient(135deg, rgba(27, 11, 48, 0.36), rgba(23, 18, 58, 0.08)),
        url('../images/banner1.jpg');
    background-size: auto, auto, auto, cover;
    background-position: center, center, center, center;
}

.hero-layout {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 54px;
    align-items: center;
    text-align: left;
}

.hero-copy {
    max-width: 700px;
    animation: heroCopyEnter 0.9s ease both;
    position: relative;
    z-index: 2;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    padding: 8px 16px;
    border: 1px solid rgba(126, 199, 255, 0.32);
    border-radius: 999px;
    background: rgba(8, 24, 51, 0.42);
    color: #9fd0ff;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.hero-kicker::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #35d3ff;
    box-shadow: 0 0 14px rgba(53, 211, 255, 0.8);
}

.hero-copy h1 {
    margin-bottom: 22px;
    font-size: 62px;
    line-height: 1.08;
    letter-spacing: -1px;
    color: #fff;
    text-shadow: 0 12px 30px rgba(0, 18, 44, 0.28);
}

.hero-copy p {
    max-width: 640px;
    margin: 0 0 34px;
    font-size: 20px;
    line-height: 1.9;
    color: rgba(231, 241, 255, 0.88);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 34px;
}

.home-hero .btn {
    min-width: 170px;
    padding: 15px 28px;
    border-radius: 14px;
    font-size: 14px;
    letter-spacing: 0.5px;
}

.home-hero .btn-primary {
    background: linear-gradient(135deg, #19b7ff 0%, #2167ff 100%);
    box-shadow: 0 14px 28px rgba(33, 103, 255, 0.28);
}

.home-hero .btn-primary:hover {
    background: linear-gradient(135deg, #3bc4ff 0%, #3f7cff 100%);
    transform: translateY(-2px);
}

.home-hero .btn-outline {
    border: 1px solid rgba(143, 204, 255, 0.4);
    color: #dcefff;
    background: rgba(8, 24, 51, 0.28);
}

.home-hero .btn-outline:hover {
    background: rgba(86, 173, 255, 0.2);
    border-color: rgba(143, 204, 255, 0.72);
    color: #fff;
}

.hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.hero-metric {
    padding: 20px 22px;
    border: 1px solid rgba(143, 204, 255, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(8, 24, 51, 0.58), rgba(8, 24, 51, 0.28));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(10px);
}

.hero-metric strong {
    display: block;
    margin-bottom: 8px;
    font-size: 34px;
    line-height: 1;
    color: #fff;
}

.hero-metric span {
    font-size: 13px;
    color: rgba(222, 238, 255, 0.72);
    letter-spacing: 1px;
}

.hero-panel {
    position: relative;
    min-height: 560px;
    animation: heroPanelEnter 1s ease 0.08s both;
    z-index: 2;
}

.hero-panel::before {
    content: '';
    position: absolute;
    inset: 8% 12%;
    border-radius: 28px;
    background: radial-gradient(circle, rgba(53, 211, 255, 0.26), transparent 72%);
    filter: blur(14px);
}

.hero-scanline,
.hero-light-cone,
.hero-floating-chip,
.hero-data-orb,
.hero-energy-cube {
    position: absolute;
    pointer-events: none;
}

.hero-scanline {
    left: -8%;
    right: -6%;
    top: 46%;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(102, 232, 255, 0.9) 38%, rgba(160, 214, 255, 0.98) 52%, transparent 72%);
    box-shadow: 0 0 24px rgba(98, 229, 255, 0.75), 0 0 42px rgba(98, 229, 255, 0.45);
    opacity: 0.96;
    animation: heroSweep 4.4s ease-in-out infinite;
}

.hero-light-cone {
    right: -4%;
    top: 8%;
    width: 56%;
    height: 76%;
    background: linear-gradient(220deg, rgba(125, 210, 255, 0.42), rgba(70, 146, 255, 0.16) 38%, transparent 68%);
    clip-path: polygon(58% 0, 100% 12%, 52% 100%, 18% 72%);
    filter: blur(8px);
    mix-blend-mode: screen;
    transform-origin: 70% 20%;
    animation: heroConePulse 6.8s ease-in-out infinite;
}

.hero-floating-chip {
    width: 76px;
    height: 76px;
    border-radius: 18px;
    border: 1px solid rgba(125, 203, 255, 0.4);
    background:
        linear-gradient(180deg, rgba(15, 49, 95, 0.88), rgba(8, 27, 52, 0.92)),
        radial-gradient(circle at 30% 30%, rgba(71, 219, 255, 0.2), transparent 50%);
    box-shadow:
        0 16px 28px rgba(0, 10, 30, 0.36),
        inset 0 0 18px rgba(83, 214, 255, 0.12);
}

.hero-floating-chip::before,
.hero-floating-chip::after {
    content: '';
    position: absolute;
    inset: -10px;
    border-radius: 22px;
    background:
        linear-gradient(90deg, rgba(128, 204, 255, 0.55), transparent 24%, transparent 76%, rgba(128, 204, 255, 0.55)),
        linear-gradient(rgba(128, 204, 255, 0.55), transparent 24%, transparent 76%, rgba(128, 204, 255, 0.55));
    background-size: 2px 100%, 100% 2px;
    background-repeat: no-repeat;
    background-position: left center, center top;
    opacity: 0.7;
}

.hero-floating-chip::after {
    inset: auto -16px -16px auto;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    background: rgba(70, 214, 255, 0.75);
    box-shadow: 0 0 14px rgba(70, 214, 255, 0.75);
}

.hero-floating-chip-a {
    left: -3%;
    top: 18%;
    transform: rotate(-10deg);
    animation: heroChipFloatA 7.2s ease-in-out infinite;
}

.hero-floating-chip-b {
    left: 10%;
    top: 56%;
    width: 92px;
    height: 92px;
    transform: rotate(8deg);
    animation: heroChipFloatB 8s ease-in-out infinite;
}

.hero-floating-chip-c {
    left: 29%;
    top: 28%;
    width: 68px;
    height: 68px;
    transform: rotate(6deg);
    animation: heroChipFloatC 6.4s ease-in-out infinite;
}

.hero-data-orb {
    left: 3%;
    bottom: 12%;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(130, 216, 255, 0.34), rgba(68, 128, 255, 0.14) 52%, transparent 70%);
    filter: blur(4px);
    animation: heroOrbPulse 5.8s ease-in-out infinite;
}

.hero-energy-cube {
    right: 1%;
    top: 6%;
    width: 148px;
    height: 148px;
    transform: rotate(-16deg);
    animation: heroCubeFloat 7s ease-in-out infinite;
    filter: drop-shadow(0 0 26px rgba(94, 195, 255, 0.24));
}

.hero-energy-cube span {
    position: absolute;
    inset: 0;
    border-radius: 26px;
    border: 1px solid rgba(106, 226, 255, 0.36);
    background: linear-gradient(180deg, rgba(81, 225, 255, 0.2), rgba(32, 89, 210, 0.16));
    box-shadow:
        inset 0 0 24px rgba(107, 232, 255, 0.16),
        0 0 24px rgba(84, 183, 255, 0.18);
}

.hero-energy-cube span:nth-child(1) {
    transform: translate(0, 0);
}

.hero-energy-cube span:nth-child(2) {
    transform: translate(-18px, 18px);
    opacity: 0.62;
}

.hero-energy-cube span:nth-child(3) {
    transform: translate(-36px, 36px);
    opacity: 0.34;
}

.hero-mobile-art {
    display: none;
}

.hero-panel-showcase,
.hero-panel-productwall {
    display: grid;
    align-items: center;
}

.hero-showcase-card {
    position: absolute;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(171, 243, 232, 0.18);
    background: rgba(7, 24, 22, 0.32);
    box-shadow: 0 28px 60px rgba(1, 16, 17, 0.38);
}

.hero-showcase-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-showcase-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 20, 18, 0.04), rgba(5, 20, 18, 0.68));
}

.hero-showcase-card-main {
    inset: 2% 8% 20% 4%;
}

.hero-showcase-card-sub {
    width: 42%;
    height: 38%;
    right: 2%;
    bottom: 10%;
}

.hero-showcase-copy {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    z-index: 1;
    display: grid;
    gap: 6px;
}

.hero-showcase-copy span {
    color: rgba(167, 245, 232, 0.84);
    font-size: 11px;
    letter-spacing: 2px;
}

.hero-showcase-copy strong {
    color: #fff;
    font-size: 24px;
    line-height: 1.4;
}

.hero-showcase-badge {
    position: absolute;
    left: 0;
    bottom: 2%;
    z-index: 2;
    padding: 18px 22px;
    border-radius: 20px;
    border: 1px solid rgba(161, 240, 233, 0.16);
    background: linear-gradient(180deg, rgba(8, 33, 31, 0.88), rgba(8, 33, 31, 0.56));
    box-shadow: 0 18px 34px rgba(3, 18, 19, 0.32);
}

.hero-showcase-badge span {
    display: block;
    margin-bottom: 6px;
    color: rgba(161, 240, 233, 0.78);
    font-size: 11px;
    letter-spacing: 2px;
}

.hero-showcase-badge strong {
    color: #fff;
    font-size: 18px;
}

.hero-panel-productwall {
    overflow: hidden;
}

.hero-product-card {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 18px 18px;
    border-radius: 28px;
    border: 1px solid rgba(193, 164, 255, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
        linear-gradient(180deg, rgba(31, 16, 58, 0.58), rgba(18, 12, 38, 0.42));
    box-shadow:
        0 24px 48px rgba(16, 8, 31, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
}

.hero-product-card img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: contain;
    object-position: center center;
    filter: drop-shadow(0 18px 22px rgba(8, 3, 22, 0.22));
}

.hero-product-card span {
    color: #f6f0ff;
    font-size: 13px;
    letter-spacing: 2px;
    line-height: 1.2;
}

.hero-product-card-a {
    width: 46%;
    left: 2%;
    top: 12%;
    transform: rotate(-8deg);
}

.hero-product-card-b {
    width: 44%;
    right: 4%;
    top: 2%;
    transform: rotate(10deg);
}

.hero-product-card-c {
    width: 52%;
    left: 24%;
    bottom: 6%;
}

.hero-product-line {
    position: absolute;
    inset: 10% 12%;
    border-radius: 36px;
    border: 1px solid rgba(193, 164, 255, 0.1);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
}

.hero-slider-ui {
    position: absolute;
    left: 50%;
    bottom: 34px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 16px;
    transform: translateX(-50%);
}

.hero-slider-arrow {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(173, 216, 255, 0.22);
    border-radius: 50%;
    background: rgba(8, 24, 51, 0.34);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.hero-slider-arrow:hover {
    transform: translateY(-2px);
    background: rgba(32, 89, 210, 0.46);
    border-color: rgba(173, 216, 255, 0.5);
}

.hero-slider-dots {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hero-slider-dot {
    width: 58px;
    height: 4px;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.hero-slider-dot.is-active {
    background: linear-gradient(90deg, #35d3ff, #2167ff);
    transform: scaleX(1.08);
}

.hero-chip-card {
    position: relative;
    z-index: 2;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(148, 211, 255, 0.18);
    background: linear-gradient(180deg, rgba(10, 27, 55, 0.9), rgba(8, 20, 42, 0.74));
    box-shadow: 0 28px 60px rgba(1, 10, 25, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.hero-chip-card::before,
.hero-chip-card::after {
    content: '';
    position: absolute;
    border: 1px solid rgba(143, 204, 255, 0.14);
    border-radius: 22px;
}

.hero-chip-card::before {
    inset: 14px;
}

.hero-chip-card::after {
    inset: 26px;
}

.hero-chip-glow {
    position: absolute;
    right: -40px;
    top: -28px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(53, 211, 255, 0.34), transparent 72%);
    filter: blur(12px);
}

.hero-chip-top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 34px;
    font-size: 12px;
    letter-spacing: 2px;
    color: rgba(184, 220, 255, 0.72);
}

.hero-chip-core {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    margin-bottom: 32px;
}

.chip-ring {
    position: absolute;
    width: 248px;
    height: 248px;
    border-radius: 32px;
    border: 1px solid rgba(118, 196, 255, 0.22);
    box-shadow: inset 0 0 42px rgba(53, 211, 255, 0.08);
    transform: rotate(45deg);
}

.chip-ring::before,
.chip-ring::after {
    content: '';
    position: absolute;
    background: linear-gradient(180deg, rgba(120, 201, 255, 0.9), rgba(33, 103, 255, 0.12));
}

.chip-ring::before {
    top: 22px;
    bottom: 22px;
    left: -1px;
    width: 2px;
    box-shadow: 248px 0 0 rgba(120, 201, 255, 0.42);
}

.chip-ring::after {
    left: 22px;
    right: 22px;
    top: -1px;
    height: 2px;
    box-shadow: 0 248px 0 rgba(120, 201, 255, 0.42);
}

.chip-ring-inner {
    width: 168px;
    height: 168px;
    opacity: 0.82;
}

.chip-center {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 124px;
    height: 124px;
    border-radius: 24px;
    background: linear-gradient(180deg, #0d2952, #08172d);
    border: 1px solid rgba(137, 209, 255, 0.28);
    color: #f4fbff;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 3px;
    box-shadow: 0 16px 40px rgba(3, 10, 24, 0.42), inset 0 0 22px rgba(53, 211, 255, 0.12);
}

.hero-chip-specs {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
}

.hero-chip-specs div {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(143, 204, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
}

.hero-chip-specs strong {
    font-size: 22px;
    color: #35d3ff;
}

.hero-chip-specs span {
    color: rgba(232, 242, 255, 0.84);
    font-size: 14px;
}

@keyframes heroSweep {
    0%, 100% {
        transform: translateX(-6%) scaleX(0.92);
        opacity: 0.35;
    }
    50% {
        transform: translateX(6%) scaleX(1.04);
        opacity: 0.92;
    }
}

@keyframes heroConePulse {
    0%, 100% {
        opacity: 0.34;
        transform: rotate(0deg) scale(0.96);
    }
    50% {
        opacity: 0.72;
        transform: rotate(3deg) scale(1.03);
    }
}

@keyframes heroChipFloatA {
    0%, 100% {
        transform: translateY(0) rotate(-10deg);
    }
    50% {
        transform: translateY(-18px) rotate(-6deg);
    }
}

@keyframes heroChipFloatB {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(8deg);
    }
    50% {
        transform: translate3d(14px, -16px, 0) rotate(14deg);
    }
}

@keyframes heroChipFloatC {
    0%, 100% {
        transform: translateY(0) rotate(6deg);
        opacity: 0.74;
    }
    50% {
        transform: translateY(-14px) rotate(11deg);
        opacity: 1;
    }
}

@keyframes heroOrbPulse {
    0%, 100% {
        transform: scale(0.92);
        opacity: 0.34;
    }
    50% {
        transform: scale(1.08);
        opacity: 0.72;
    }
}

@keyframes heroCubeFloat {
    0%, 100% {
        transform: translateY(0) rotate(-16deg);
    }
    50% {
        transform: translateY(-14px) rotate(-10deg);
    }
}

@keyframes heroBackdropShift {
    0%, 100% {
        background-position: center, center, center center, center center;
        filter: saturate(1);
    }
    50% {
        background-position: center, center, 56% center, 52% center;
        filter: saturate(1.08);
    }
}

@keyframes heroCopyEnter {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroPanelEnter {
    from {
        opacity: 0;
        transform: translateY(36px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes homeGlowFloatA {
    0%, 100% {
        transform: translate3d(calc(var(--home-scroll) * 0.05), calc(var(--home-scroll) * -0.04), 0) scale(0.92);
    }
    50% {
        transform: translate3d(calc(var(--home-scroll) * 0.05 + 20px), calc(var(--home-scroll) * -0.04 - 16px), 0) scale(1.08);
    }
}

@keyframes homeGlowFloatB {
    0%, 100% {
        transform: translate3d(calc(var(--home-scroll) * -0.04), calc(var(--home-scroll) * -0.02), 0) scale(0.95);
    }
    50% {
        transform: translate3d(calc(var(--home-scroll) * -0.04 - 18px), calc(var(--home-scroll) * -0.02 + 14px), 0) scale(1.1);
    }
}

@keyframes homeBeamMoveA {
    0%, 100% {
        opacity: 0.2;
    }
    50% {
        opacity: 0.58;
    }
}

@keyframes homeBeamMoveB {
    0%, 100% {
        opacity: 0.14;
    }
    50% {
        opacity: 0.34;
    }
}

@keyframes homeOrbitSpin {
    from {
        transform: translateY(calc(var(--home-scroll) * -0.05)) rotate(0deg);
    }
    to {
        transform: translateY(calc(var(--home-scroll) * -0.05)) rotate(360deg);
    }
}

@keyframes homeOrbitSpinReverse {
    from {
        transform: translateY(calc(var(--home-scroll) * -0.12)) rotate(360deg);
    }
    to {
        transform: translateY(calc(var(--home-scroll) * -0.12)) rotate(0deg);
    }
}

@keyframes homeParticleFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(0.8);
        opacity: 0.35;
    }
    50% {
        transform: translate3d(18px, -26px, 0) scale(1.15);
        opacity: 1;
    }
}

@keyframes homeGridDrift {
    0% {
        transform: translate3d(0, calc(var(--home-scroll) * -0.08), 0);
    }
    50% {
        transform: translate3d(-16px, calc(var(--home-scroll) * -0.08 - 14px), 0);
    }
    100% {
        transform: translate3d(0, calc(var(--home-scroll) * -0.08), 0);
    }
}

@keyframes homeAmbientShift {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.86;
    }
    50% {
        transform: translate3d(14px, -18px, 0) scale(1.06);
        opacity: 1;
    }
}

.home-capability-strip {
    position: relative;
    z-index: 2;
    margin-top: -86px;
    padding-bottom: 18px;
}

.ppt-capability-grid {
    position: absolute;
    left: 50%;
    bottom: 78px;
    z-index: 11;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: min(1200px, calc(100% - 40px));
    pointer-events: none;
}

.capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.capability-item {
    position: relative;
    padding: 28px 28px 26px;
    border-radius: 22px;
    border: 1px solid rgba(115, 156, 217, 0.14);
    background: linear-gradient(180deg, rgba(7, 26, 54, 0.96), rgba(11, 31, 59, 0.88));
    box-shadow: 0 24px 44px rgba(9, 26, 57, 0.14);
    color: #fff;
    overflow: hidden;
}

.ppt-capability-grid .capability-item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px 16px;
    min-height: 72px;
    padding: 12px 18px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(7, 26, 54, 0.88), rgba(11, 31, 59, 0.76));
    border-color: rgba(157, 205, 255, 0.2);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(12px);
}

.ppt-capability-grid .capability-item::before {
    left: 18px;
    width: 42px;
}

.ppt-capability-grid .capability-label {
    margin-bottom: 0;
    font-size: 11px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.ppt-capability-grid .capability-item strong {
    font-size: 18px;
    line-height: 1.25;
}

.ppt-capability-grid .capability-item p {
    display: none;
}

.capability-item::before {
    content: '';
    position: absolute;
    left: 28px;
    top: 0;
    width: 76px;
    height: 3px;
    background: linear-gradient(90deg, #35d3ff, #2167ff);
}

.capability-label {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 12px;
    letter-spacing: 2px;
    color: rgba(157, 205, 255, 0.72);
    text-transform: uppercase;
}

.capability-item strong {
    display: block;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 600;
}

.capability-item p {
    margin-top: 12px;
    color: rgba(214, 231, 255, 0.76);
    font-size: 14px;
    line-height: 1.85;
}

@media (max-width: 1180px) {
    .ppt-capability-grid {
        width: calc(100% - 32px);
        gap: 14px;
    }

    .ppt-capability-grid .capability-item {
        min-height: 66px;
        padding: 10px 14px;
    }

    .ppt-capability-grid .capability-item strong {
        font-size: 16px;
    }

    .ppt-capability-grid .capability-item p {
        font-size: 13px;
        line-height: 1.65;
    }
}

@media (max-width: 768px) {
    .ppt-text {
        margin-top: -148px;
    }

    .ppt-capability-grid {
        bottom: 54px;
        grid-template-columns: 1fr;
        gap: 10px;
        width: calc(100% - 28px);
    }

    .ppt-capability-grid .capability-item {
        padding: 13px 16px 12px;
        border-radius: 16px;
    }

    .ppt-capability-grid .capability-item::before {
        left: 16px;
        width: 48px;
    }

    .ppt-capability-grid .capability-label {
        margin-bottom: 6px;
        font-size: 10px;
        letter-spacing: 1.2px;
    }

    .ppt-capability-grid .capability-item strong {
        font-size: 15px;
        line-height: 1.35;
    }

    .ppt-capability-grid .capability-item p {
        display: none;
    }

    .ppt-nav {
        bottom: 18px;
    }
}

.home-immersive-band {
    position: relative;
    padding: 36px 0 24px;
}

.home-immersive-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
    gap: 32px;
    align-items: stretch;
}

.home-immersive-copy {
    padding: 36px 38px;
    border-radius: 32px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(6, 20, 42, 0.98) 0%, rgba(8, 36, 68, 0.94) 54%, rgba(16, 96, 172, 0.72) 100%),
        radial-gradient(circle at top right, rgba(122, 230, 255, 0.2), transparent 24%);
    box-shadow: 0 28px 62px rgba(9, 26, 57, 0.18);
    overflow: hidden;
    position: relative;
}

.home-immersive-copy::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(132, 205, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(132, 205, 255, 0.08) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.62), transparent 88%);
    pointer-events: none;
}

.home-immersive-copy > * {
    position: relative;
    z-index: 1;
}

.home-immersive-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(146, 226, 255, 0.22);
    background: rgba(7, 24, 51, 0.38);
    color: #9fd0ff;
    font-size: 12px;
    letter-spacing: 2px;
}

.home-immersive-kicker::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #69e8ff;
    box-shadow: 0 0 16px rgba(105, 232, 255, 0.75);
}

.home-immersive-copy h2 {
    margin-bottom: 18px;
    font-size: 44px;
    line-height: 1.12;
    letter-spacing: -1px;
}

.home-immersive-copy p {
    max-width: 620px;
    color: rgba(224, 239, 255, 0.82);
    font-size: 16px;
    line-height: 1.95;
}

.home-immersive-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.home-immersive-cards {
    display: grid;
    gap: 18px;
}

.home-immersive-card {
    padding: 26px 26px 24px;
    border-radius: 28px;
    border: 1px solid rgba(120, 162, 222, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 248, 255, 0.98));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
}

.home-immersive-card-main {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(239, 247, 255, 0.98)),
        radial-gradient(circle at top right, rgba(95, 214, 255, 0.14), transparent 26%);
}

.home-immersive-card span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: #6f87a6;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.home-immersive-card span::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #35d3ff;
    box-shadow: 0 0 14px rgba(53, 211, 255, 0.5);
}

.home-immersive-card strong {
    display: block;
    margin-bottom: 10px;
    color: #13294a;
    font-size: 24px;
    line-height: 1.5;
}

.home-immersive-card p {
    color: #61758f;
    font-size: 14px;
    line-height: 1.9;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .banner {
        height: 300px;
    }
    .banner-content h2 {
        font-size: 28px;
    }
    .banner-content p {
        font-size: 16px;
    }
    .home-hero {
        min-height: 0;
    }
    .home-hero .banner-slide {
        min-height: 0;
        padding: 92px 0 140px;
    }
    .home-hero .hero-slide {
        min-height: 0;
        padding: 92px 0 140px;
    }
    .hero-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .hero-copy h1 {
        font-size: 38px;
    }
    .hero-copy p {
        font-size: 16px;
        line-height: 1.8;
    }
    .hero-metrics {
        grid-template-columns: 1fr;
    }
    .hero-panel {
        max-width: 520px;
        width: 100%;
        min-height: 0;
    }
    .hero-panel-showcase,
    .hero-panel-productwall {
        min-height: 280px;
    }
    .home-capability-strip {
        margin-top: -92px;
    }

    .capability-item p {
        font-size: 13px;
    }

    .home-immersive-band {
        padding-top: 24px;
    }

    .home-immersive-layout {
        grid-template-columns: 1fr;
    }

    .home-immersive-copy {
        padding: 26px 20px;
        border-radius: 24px;
    }

    .home-immersive-copy h2 {
        font-size: 30px;
    }

    .home-immersive-copy p {
        font-size: 15px;
    }

    .home-immersive-card {
        padding: 22px 20px;
        border-radius: 22px;
    }

    .home-immersive-card strong {
        font-size: 20px;
    }

    .home-section-header {
        padding: 24px 20px;
        border-radius: 22px;
        margin-bottom: 34px;
    }

    .capability-grid {
        grid-template-columns: 1fr;
    }
    .capability-item strong {
        font-size: 20px;
    }
    .hero-slider-ui {
        bottom: 20px;
        gap: 10px;
    }
    .hero-slider-arrow {
        width: 38px;
        height: 38px;
        font-size: 22px;
    }
    .hero-slider-dot {
        width: 36px;
    }
    .hero-showcase-card-main {
        inset: 0 0 28% 0;
    }
    .hero-showcase-card-sub {
        width: 44%;
        height: 34%;
        right: 0;
        bottom: 4%;
    }
    .hero-showcase-badge {
        left: 0;
        right: auto;
        bottom: 2%;
        padding: 14px 16px;
    }
    .hero-showcase-copy strong {
        font-size: 18px;
    }
    .hero-product-card {
        padding: 14px 10px;
        border-radius: 20px;
    }
    .hero-product-card img {
        width: 100%;
        height: 110px;
        max-height: none;
    }
}

/* Section */
.section {
    padding: 80px 0;
}

.section-header {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    z-index: 1;
}

.section-title {
    font-size: 36px;
    color: #333;
    margin-bottom: 10px;
}

.section-subtitle {
    font-size: 14px;
    color: #999;
    letter-spacing: 3px;
}

.section-intro {
    max-width: 720px;
    margin: 18px auto 0;
    font-size: 16px;
    line-height: 1.9;
    color: #5f6f86;
}

.home-page .section-title {
    color: #142847;
    letter-spacing: -0.5px;
}

.home-page .section-subtitle {
    color: #86a2c5;
    letter-spacing: 4px;
}

.home-section-header {
    max-width: 900px;
    margin: 0 auto 50px;
    padding: 28px 32px;
    border-radius: 30px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(245, 249, 255, 0.92));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
    backdrop-filter: blur(12px);
}

.home-section-header-dark {
    border-color: rgba(119, 185, 255, 0.18);
    background: linear-gradient(180deg, rgba(10, 28, 55, 0.66), rgba(9, 26, 52, 0.42));
    box-shadow: 0 24px 48px rgba(0, 8, 24, 0.22);
}

.home-section-header-dark .section-title,
.home-section-header-dark .section-subtitle,
.home-section-header-dark .section-intro {
    color: #fff;
}

.home-section-header-dark .section-subtitle {
    color: rgba(180, 213, 255, 0.72);
}

.home-section-header-dark .section-intro {
    color: rgba(216, 229, 246, 0.82);
}

.section-footer {
    text-align: center;
    margin-top: 50px;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 30px;
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
    border: none;
}

.btn-primary {
    background: #1890ff;
    color: #fff;
}

.btn-primary:hover {
    background: #40a9ff;
}

.btn-outline {
    border: 1px solid #1890ff;
    color: #1890ff;
    background: transparent;
}

.btn-outline:hover {
    background: #1890ff;
    color: #fff;
}

/* About Section */
.about-section {
    position: relative;
    background:
        linear-gradient(180deg, rgba(246, 250, 255, 0.88), rgba(232, 241, 255, 0.92)),
        radial-gradient(circle at top left, rgba(33, 103, 255, 0.08), transparent 26%),
        url('../images/home-slide-1.jpg'),
        url('../images/banner1.jpg');
    background-size: auto, auto, cover, cover;
    background-position: center, center, center center, center center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.about-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 45%, rgba(104, 180, 255, 0.18), transparent 18%),
        radial-gradient(circle at 80% 22%, rgba(54, 220, 255, 0.14), transparent 18%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0.12));
    pointer-events: none;
}

.about-content {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
    gap: 36px;
    align-items: stretch;
}

.about-text {
    padding: 36px;
    border-radius: 28px;
    border: 1px solid rgba(125, 162, 214, 0.14);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 18px 36px rgba(24, 52, 92, 0.08);
    backdrop-filter: blur(14px);
}

.about-text p {
    margin-bottom: 18px;
    line-height: 1.95;
    font-size: 15px;
    color: #44556d;
}

.about-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.about-highlight {
    padding: 20px 22px;
    border-radius: 18px;
    border: 1px solid rgba(109, 152, 214, 0.14);
    background: linear-gradient(180deg, #ffffff 0%, #f1f7ff 100%);
}

.about-highlight span {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    color: #6f87a6;
    letter-spacing: 1.5px;
}

.about-highlight strong {
    display: block;
    font-size: 20px;
    line-height: 1.5;
    color: #13294a;
}

.about-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 30px 0 34px;
}

.about-stat {
    padding: 18px;
    border-radius: 18px;
    background: #0b203e;
    box-shadow: 0 18px 32px rgba(11, 32, 62, 0.16);
}

.about-stat strong {
    display: block;
    margin-bottom: 6px;
    font-size: 28px;
    line-height: 1;
    color: #fff;
}

.about-stat span {
    font-size: 13px;
    color: rgba(205, 226, 255, 0.72);
}

.about-visual {
    display: grid;
    gap: 18px;
}

.about-visual-panel {
    padding: 28px 30px;
    border-radius: 24px;
    background: linear-gradient(135deg, #071a35 0%, #0d2f60 100%);
    box-shadow: 0 26px 48px rgba(9, 26, 57, 0.18);
    color: #fff;
}

.about-panel-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: #8fcfff;
    font-size: 12px;
    letter-spacing: 2px;
}

.about-visual-panel h3 {
    margin-bottom: 14px;
    font-size: 28px;
    line-height: 1.35;
}

.about-visual-panel p {
    color: rgba(228, 240, 255, 0.8);
    font-size: 14px;
    line-height: 1.9;
}

.about-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.about-image-card {
    padding: 12px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 38px rgba(24, 52, 92, 0.1);
}

.about-images img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    border-radius: 18px;
}

.about-image-card span {
    display: block;
    padding: 16px 8px 6px;
    font-size: 18px;
    color: #163159;
    font-weight: 600;
}

@media (max-width: 768px) {
    .about-content {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .about-text {
        padding: 24px 20px;
    }
    .about-highlights,
    .about-stats,
    .about-images {
        grid-template-columns: 1fr;
    }
    .about-visual-panel h3 {
        font-size: 22px;
    }
}

/* Products Section */
.products-section {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(54, 220, 255, 0.14), transparent 18%),
        linear-gradient(135deg, #051a38 0%, #0b2b58 48%, #11479a 100%);
    overflow: hidden;
}

.products-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(111, 185, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(111, 185, 255, 0.08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 92%);
    pointer-events: none;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.product-card {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 248, 255, 0.98));
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(130, 157, 196, 0.12);
    box-shadow: 0 16px 30px rgba(19, 36, 68, 0.08);
    transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 18px;
}

.product-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #28c8ff, #2167ff 65%, transparent);
}

.product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 22px 42px rgba(19, 36, 68, 0.14);
    border-color: rgba(33, 103, 255, 0.22);
}

.cases-page .section-header {
    padding: 28px 32px;
    border-radius: 28px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
    backdrop-filter: blur(12px);
}

.cases-page .products-grid {
    gap: 28px;
}

.cases-page .product-card {
    border-radius: 24px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
}

.cases-page .product-card::before {
    background: linear-gradient(90deg, var(--page-accent-2) 0%, var(--page-accent) 100%);
}

.cases-page .product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 56px rgba(10, 30, 60, 0.14);
}

.product-card h3 {
    padding: 18px 4px 10px;
    font-size: 16px;
    color: #333;
}

.product-card p {
    padding: 0 4px 4px;
    font-size: 14px;
    color: #6c7d95;
    line-height: 1.8;
}

.product-tag {
    display: inline-flex;
    margin: 18px 4px 0;
    padding: 7px 12px;
    border-radius: 999px;
    background: #edf5ff;
    color: #2167ff;
    font-size: 12px;
    letter-spacing: 0.8px;
}

.product-img {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 82%;
    border-radius: 12px;
    overflow: hidden;
    background:
        radial-gradient(circle at top, rgba(53, 211, 255, 0.18), transparent 42%),
        linear-gradient(180deg, #f5f9ff 0%, #e8f2ff 100%);
}

.product-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    max-height: 90%;
}

@media (max-width: 992px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .products-grid {
        grid-template-columns: 1fr;
    }
}

/* Advantages Section */
.advantages-section {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(41, 126, 255, 0.1), transparent 22%),
        linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    color: #13294a;
    overflow: hidden;
}

.advantages-section .section-title,
.advantages-section .section-subtitle {
    color: #13294a;
}

.advantages-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(111, 160, 224, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(111, 160, 224, 0.08) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 85%);
    pointer-events: none;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
    z-index: 1;
}

.advantage-item {
    text-align: center;
    padding: 34px 28px;
    border: 1px solid rgba(109, 152, 214, 0.14);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 247, 255, 0.98));
    box-shadow: 0 16px 30px rgba(19, 36, 68, 0.08);
    backdrop-filter: blur(10px);
}

.advantage-icon {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 20px;
    opacity: 0.2;
    color: #2167ff;
}

.advantage-item h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.advantage-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(109, 152, 214, 0.14);
    color: #6f87a6;
    font-size: 12px;
    letter-spacing: 1.6px;
}

.advantage-item p {
    font-size: 14px;
    color: #44556d;
    line-height: 1.8;
}

@media (max-width: 992px) {
    .advantages-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .advantages-grid {
        grid-template-columns: 1fr;
    }
}

/* News Section */
.news-section {
    position: relative;
    background: linear-gradient(180deg, #071a34 0%, #0e2346 100%);
    overflow: hidden;
}

.news-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 18%, rgba(43, 204, 255, 0.16), transparent 14%),
        radial-gradient(circle at 84% 72%, rgba(40, 111, 255, 0.16), transparent 18%);
    pointer-events: none;
}

.news-section .section-title,
.news-section .section-subtitle {
    color: #fff;
}

.news-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 30px;
}

.home-news-feature {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    gap: 26px;
    align-items: stretch;
    margin-bottom: 28px;
    padding: 26px;
    border-radius: 30px;
    border: 1px solid rgba(109, 169, 255, 0.14);
    background: linear-gradient(180deg, rgba(12, 34, 68, 0.96), rgba(9, 25, 49, 0.92));
    box-shadow: 0 22px 42px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.home-news-feature::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 22%, rgba(61, 212, 255, 0.18), transparent 16%),
        linear-gradient(90deg, rgba(84, 168, 255, 0.08) 1px, transparent 1px);
    background-size: auto, 44px 44px;
    opacity: 0.84;
    pointer-events: none;
}

.home-news-feature-copy,
.home-news-feature-media {
    position: relative;
    z-index: 1;
}

.home-news-feature-copy {
    padding: 14px 4px 14px 2px;
}

.home-news-feature-copy span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: #9dd1ff;
    font-size: 12px;
    letter-spacing: 2px;
}

.home-news-feature-copy span::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #35d3ff;
    box-shadow: 0 0 14px rgba(53, 211, 255, 0.6);
}

.home-news-feature-copy h3 {
    margin-bottom: 14px;
    color: #fff;
    font-size: 34px;
    line-height: 1.24;
}

.home-news-feature-copy p {
    color: rgba(214, 229, 248, 0.8);
    font-size: 15px;
    line-height: 1.9;
}

.home-news-feature-media {
    overflow: hidden;
    border-radius: 22px;
    min-height: 260px;
}

.home-news-feature-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.home-news-feature:hover .home-news-feature-media img {
    transform: scale(1.04);
}

.news-large {
    grid-row: span 2;
}

.news-card {
    position: relative;
    background: linear-gradient(180deg, rgba(12, 34, 68, 0.94), rgba(10, 26, 52, 0.92));
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(109, 169, 255, 0.14);
    box-shadow: 0 18px 34px rgba(0,0,0,0.18);
    padding: 20px;
}

.news-card::before {
    content: '';
    position: absolute;
    inset: 0 auto auto 0;
    width: 90px;
    height: 3px;
    background: linear-gradient(90deg, #34d2ff, #2167ff);
}

.news-img {
    height: 200px;
    overflow: hidden;
    margin-bottom: 20px;
}

.news-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.news-card:hover .news-img img {
    transform: scale(1.1);
}

.news-date {
    display: block;
    font-size: 13px;
    color: #7ea6d6;
    margin-bottom: 10px;
}

.news-card h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #fff;
}

.news-card p {
    font-size: 14px;
    color: rgba(214, 229, 248, 0.78);
    line-height: 1.8;
}

@media (max-width: 768px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
    .news-large {
        grid-row: auto;
    }

    .home-news-feature {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .home-news-feature-copy h3 {
        font-size: 24px;
    }
}

/* Partners Section */
.partners-section {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(54, 220, 255, 0.14), transparent 18%),
        linear-gradient(135deg, #051a38 0%, #0b2b58 48%, #11479a 100%);
    overflow: hidden;
}

.partners-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(111, 185, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(111, 185, 255, 0.08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 92%);
    pointer-events: none;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
    z-index: 1;
}

.partner-item {
    background: #fff;
    padding: 40px 20px;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    font-size: 16px;
    color: #333;
    transition: all 0.3s;
}

.partner-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
    color: #1890ff;
}

.partner-item-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 180px;
    border-radius: 22px;
    border: 1px solid rgba(123, 164, 224, 0.12);
    box-shadow: 0 16px 30px rgba(19, 36, 68, 0.08);
}

.partner-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    height: 88px;
    padding: 0 14px;
    border-radius: 24px;
    background: linear-gradient(135deg, #eef6ff 0%, #dcecff 100%);
    border: 1px solid rgba(33, 103, 255, 0.12);
    color: #2167ff;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.partner-mark-image {
    padding: 10px;
    background: #fff;
}

.partner-mark-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.partner-mark-image-red {
    background: #8b1111;
}

.partner-item-logo strong {
    font-size: 20px;
    line-height: 1.4;
    color: #162b4d;
}

.partner-item-logo span:last-child {
    font-size: 13px;
    color: #7c8da5;
    letter-spacing: 0.8px;
}

@media (max-width: 768px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Footer */
.footer {
    position: relative;
    z-index: 2;
    background: #1a1a1a;
    color: #fff;
    padding: 60px 0 30px;
}

.footer-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
    margin-bottom: 40px;
}

.footer-col h4 {
    font-size: 18px;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 10px;
}

.footer-col h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: #1890ff;
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul a {
    font-size: 14px;
    color: #999;
}

.footer-col ul a:hover {
    color: #1890ff;
}

.footer-contact p {
    font-size: 14px;
    color: #999;
    margin-bottom: 12px;
    line-height: 1.8;
}

.footer-contact strong {
    color: #fff;
}

.footer-bottom {
    position: relative;
    z-index: 1;
    border-top: 1px solid #333;
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #666;
}

.footer-bottom a {
    color: inherit;
    text-decoration: none;
}

.footer-bottom a:hover {
    color: #fff;
}

@media (max-width: 992px) {
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .footer-content {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}

/* Fixed Tools */
.fixed-tools {
    position: fixed;
    right: 20px;
    bottom: 100px;
    z-index: 999;
}

.tool-item {
    width: 45px;
    height: 45px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    position: relative;
    font-size: 18px;
    color: #1890ff;
    transition: all 0.3s;
}

.tool-item:hover {
    background: #1890ff;
    color: #fff;
}

.tool-item:hover .tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.tooltip {
    position: absolute;
    right: 55px;
    background: #333;
    color: #fff;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 14px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: all 0.3s;
}

.back-to-top {
    display: none;
}

.back-to-top.show {
    display: flex;
}

/* Page Banner */
.page-banner {
    height: 386px;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(24,144,255,0.8) 0%, rgba(24,144,255,0.4) 100%);
}

.page-banner-content {
    position: relative;
    z-index: 1;
    text-align: center;
    color: #fff;
}

.page-banner-content h1 {
    font-size: 42px;
    margin-bottom: 10px;
}

.page-banner-content p {
    font-size: 16px;
    letter-spacing: 3px;
}

.page-banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(154, 214, 255, 0.34);
    background: rgba(7, 26, 54, 0.28);
    color: rgba(227, 242, 255, 0.9);
    font-size: 12px;
    letter-spacing: 2px;
}

.page-banner-tag::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #52ddff;
    box-shadow: 0 0 16px rgba(82, 221, 255, 0.8);
}

.about-page,
.news-page,
.cases-page,
.competition-page,
.download-page,
.videos-page,
.contact-page {
    --page-accent: #2f8cff;
    --page-accent-2: #58dcff;
    --page-accent-soft: rgba(47, 140, 255, 0.12);
    --page-surface-top: rgba(255, 255, 255, 0.9);
    --page-surface-bottom: rgba(243, 248, 255, 0.94);
    --page-title: #10274b;
    --page-text: #55657c;
    --page-kicker: #7fbfff;
    background:
        radial-gradient(circle at 10% 10%, rgba(52, 130, 255, 0.08), transparent 20%),
        linear-gradient(180deg, #eef5ff 0%, #f8fbff 240px, #ffffff 241px);
}

.about-page {
    --page-accent: #2f8cff;
    --page-accent-2: #68d8ff;
    --page-accent-soft: rgba(47, 140, 255, 0.12);
    --page-title: #17355f;
    --page-text: #536983;
    --page-kicker: #9ad9ff;
    background:
        radial-gradient(circle at 12% 10%, rgba(47, 140, 255, 0.1), transparent 22%),
        linear-gradient(180deg, #edf5ff 0%, #f7fbff 240px, #ffffff 241px);
}

.news-page {
    --page-accent: #00b894;
    --page-accent-2: #57f0c7;
    --page-accent-soft: rgba(0, 184, 148, 0.14);
    --page-title: #123a37;
    --page-text: #55716d;
    --page-kicker: #85f0d3;
    background:
        radial-gradient(circle at 12% 10%, rgba(0, 184, 148, 0.09), transparent 22%),
        linear-gradient(180deg, #effcf8 0%, #f7fffc 240px, #ffffff 241px);
}

.cases-page {
    --page-accent: #7c5cff;
    --page-accent-2: #7fd7ff;
    --page-accent-soft: rgba(124, 92, 255, 0.12);
    --page-title: #241f5b;
    --page-text: #635f87;
    --page-kicker: #b3a4ff;
    background:
        radial-gradient(circle at 12% 10%, rgba(124, 92, 255, 0.1), transparent 22%),
        linear-gradient(180deg, #f2f0ff 0%, #faf9ff 240px, #ffffff 241px);
}

.competition-page {
    --page-accent: #2b4c9b;
    --page-accent-2: #63c8ff;
    --page-accent-soft: rgba(43, 76, 155, 0.14);
    --page-title: #16305f;
    --page-text: #586987;
    --page-kicker: #9accff;
    background:
        radial-gradient(circle at 12% 10%, rgba(43, 76, 155, 0.12), transparent 22%),
        linear-gradient(180deg, #edf2fb 0%, #f7fbff 240px, #ffffff 241px);
}

.download-page {
    --page-accent: #f59e0b;
    --page-accent-2: #ffd166;
    --page-accent-soft: rgba(245, 158, 11, 0.14);
    --page-title: #5a3b09;
    --page-text: #7d6743;
    --page-kicker: #ffd98b;
    background:
        radial-gradient(circle at 12% 10%, rgba(245, 158, 11, 0.1), transparent 22%),
        linear-gradient(180deg, #fff8ea 0%, #fffdf7 240px, #ffffff 241px);
}

.videos-page {
    --page-accent: #ff4d8d;
    --page-accent-2: #7f8cff;
    --page-accent-soft: rgba(255, 77, 141, 0.12);
    --page-title: #4a1f45;
    --page-text: #735c76;
    --page-kicker: #ff9ac0;
    background:
        radial-gradient(circle at 12% 10%, rgba(255, 77, 141, 0.09), transparent 22%),
        linear-gradient(180deg, #fff0f7 0%, #fff9fc 240px, #ffffff 241px);
}

.contact-page {
    --page-accent: #14b8a6;
    --page-accent-2: #60a5fa;
    --page-accent-soft: rgba(20, 184, 166, 0.13);
    --page-title: #103d47;
    --page-text: #55737a;
    --page-kicker: #94e7de;
    background:
        radial-gradient(circle at 12% 10%, rgba(20, 184, 166, 0.09), transparent 22%),
        linear-gradient(180deg, #edfdfa 0%, #f8fffe 240px, #ffffff 241px);
}

.about-page .content-page,
.news-page .content-page,
.cases-page .content-page,
.competition-page .content-page,
.download-page .content-page,
.videos-page .content-page,
.contact-page .content-page {
    position: relative;
    overflow: hidden;
}

.about-page .content-page::before,
.news-page .content-page::before,
.cases-page .content-page::before,
.competition-page .content-page::before,
.download-page .content-page::before,
.videos-page .content-page::before,
.contact-page .content-page::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 18%, var(--page-accent-soft), transparent 18%),
        radial-gradient(circle at 84% 20%, color-mix(in srgb, var(--page-accent-2) 14%, transparent), transparent 18%),
        linear-gradient(color-mix(in srgb, var(--page-accent) 8%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--page-accent) 8%, transparent) 1px, transparent 1px);
    background-size: auto, auto, 42px 42px, 42px 42px;
    pointer-events: none;
}

.about-page .container,
.news-page .container,
.cases-page .container,
.competition-page .container,
.download-page .container,
.videos-page .container,
.contact-page .container {
    position: relative;
    z-index: 1;
}

.about-page-banner,
.news-page-banner,
.cases-page-banner,
.competition-page-banner,
.download-page-banner,
.videos-page-banner,
.contact-page-banner {
    overflow: hidden;
    background:
        linear-gradient(98deg, rgba(3, 11, 25, 0.9) 0%, rgba(6, 27, 64, 0.82) 36%, rgba(8, 41, 97, 0.56) 62%, rgba(18, 108, 255, 0.22) 100%),
        radial-gradient(circle at 80% 28%, rgba(103, 224, 255, 0.14), transparent 18%),
        url('../images/home-slide-1.jpg'),
        url('../images/banner1.jpg');
    background-size: auto, auto, cover, cover;
    background-position: center, center, center center, center center;
    background-repeat: no-repeat;
}

.about-page-banner::before,
.news-page-banner::before,
.cases-page-banner::before,
.competition-page-banner::before,
.download-page-banner::before,
.videos-page-banner::before,
.contact-page-banner::before {
    background-size: auto, 48px 48px, 48px 48px;
}

.about-page-banner::after,
.news-page-banner::after,
.cases-page-banner::after,
.competition-page-banner::after,
.download-page-banner::after,
.videos-page-banner::after,
.contact-page-banner::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(14px);
}

.about-page .page-banner-content,
.news-page .page-banner-content,
.cases-page .page-banner-content,
.competition-page .page-banner-content,
.download-page .page-banner-content,
.videos-page .page-banner-content,
.contact-page .page-banner-content {
    max-width: 760px;
    text-align: left;
    padding: 0 20px;
}

.about-page .page-banner-content h1,
.news-page .page-banner-content h1,
.cases-page .page-banner-content h1,
.competition-page .page-banner-content h1,
.download-page .page-banner-content h1,
.videos-page .page-banner-content h1,
.contact-page .page-banner-content h1 {
    font-size: 54px;
    letter-spacing: -1px;
    text-shadow: 0 18px 36px rgba(0, 13, 34, 0.36);
}

.about-page .page-banner-content p,
.news-page .page-banner-content p,
.cases-page .page-banner-content p,
.competition-page .page-banner-content p,
.download-page .page-banner-content p,
.videos-page .page-banner-content p,
.contact-page .page-banner-content p {
    color: var(--page-kicker);
}

.about-page .section-title,
.news-page .section-title,
.cases-page .section-title,
.competition-page .section-title,
.download-page .section-title,
.videos-page .section-title,
.contact-page .section-title {
    color: var(--page-title);
}

.about-page .section-subtitle,
.news-page .section-subtitle,
.cases-page .section-subtitle,
.competition-page .section-subtitle,
.download-page .section-subtitle,
.videos-page .section-subtitle,
.contact-page .section-subtitle {
    color: color-mix(in srgb, var(--page-title) 45%, white);
}

.about-page .section-intro,
.news-page .section-intro,
.cases-page .section-intro,
.competition-page .section-intro,
.download-page .section-intro,
.videos-page .section-intro,
.contact-page .section-intro {
    color: var(--page-text);
}

.about-page-banner::before {
    background:
        linear-gradient(90deg, rgba(7, 19, 44, 0.9), rgba(19, 50, 96, 0.56) 44%, rgba(47, 140, 255, 0.18)),
        radial-gradient(circle at 18% 50%, rgba(86, 183, 255, 0.16), transparent 18%),
        linear-gradient(90deg, rgba(122, 190, 255, 0.08) 1px, transparent 1px);
}

.about-page-banner::after {
    inset: auto auto -80px 8%;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(87, 188, 255, 0.18), transparent 72%);
}

.news-page-banner::before {
    background:
        linear-gradient(90deg, rgba(6, 28, 27, 0.92), rgba(12, 58, 50, 0.58) 42%, rgba(0, 184, 148, 0.22)),
        linear-gradient(rgba(120, 242, 211, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 242, 211, 0.1) 1px, transparent 1px);
}

.news-page-banner::after {
    inset: 16% 10% auto auto;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(87, 240, 199, 0.2), transparent 72%);
}

.cases-page-banner::before {
    background:
        linear-gradient(90deg, rgba(16, 12, 44, 0.9), rgba(40, 28, 89, 0.58) 42%, rgba(124, 92, 255, 0.22)),
        radial-gradient(circle at 72% 36%, rgba(179, 164, 255, 0.14), transparent 16%),
        linear-gradient(90deg, rgba(169, 153, 255, 0.08) 1px, transparent 1px);
}

.cases-page-banner::after {
    inset: auto 16% -90px auto;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(124, 92, 255, 0.18), transparent 72%);
}

.competition-page-banner::before {
    background:
        linear-gradient(90deg, rgba(8, 18, 42, 0.92), rgba(21, 46, 95, 0.6) 42%, rgba(43, 76, 155, 0.24)),
        radial-gradient(circle at 74% 36%, rgba(99, 200, 255, 0.14), transparent 18%),
        linear-gradient(90deg, rgba(132, 198, 255, 0.08) 1px, transparent 1px);
}

.competition-page-banner::after {
    inset: auto 14% -92px auto;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(99, 200, 255, 0.2), transparent 72%);
}

.download-page-banner::before {
    background:
        linear-gradient(90deg, rgba(43, 24, 6, 0.92), rgba(89, 55, 14, 0.58) 40%, rgba(245, 158, 11, 0.24)),
        linear-gradient(rgba(255, 215, 138, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 215, 138, 0.1) 1px, transparent 1px);
}

.download-page-banner::after {
    inset: 10% auto auto 62%;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(255, 209, 102, 0.22), transparent 70%);
}

.videos-page-banner::before {
    background:
        linear-gradient(90deg, rgba(43, 10, 31, 0.92), rgba(83, 24, 74, 0.58) 42%, rgba(255, 77, 141, 0.24)),
        linear-gradient(rgba(255, 159, 196, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(127, 140, 255, 0.08) 1px, transparent 1px);
}

.videos-page-banner::after {
    inset: auto auto -70px 54%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 77, 141, 0.18), transparent 70%);
}

.contact-page-banner::before {
    background:
        linear-gradient(90deg, rgba(5, 26, 29, 0.92), rgba(12, 63, 69, 0.58) 42%, rgba(20, 184, 166, 0.22)),
        radial-gradient(circle at 18% 50%, rgba(148, 231, 222, 0.16), transparent 18%),
        linear-gradient(90deg, rgba(148, 231, 222, 0.08) 1px, transparent 1px);
}

.contact-page-banner::after {
    inset: auto 8% -90px auto;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(96, 165, 250, 0.18), transparent 72%);
}

/* Content Page */
.content-page {
    padding: 60px 0;
}

.content-box {
    background: #fff;
    border-radius: 8px;
    padding: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.content-box h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}

.content-box p {
    line-height: 2;
    margin-bottom: 15px;
    color: #666;
}

.content-box img {
    max-width: 100%;
    margin: 20px 0;
    border-radius: 8px;
}

.content-box ul {
    margin: 20px 0;
    padding-left: 20px;
}

.content-box ul li {
    list-style: disc;
    margin-bottom: 10px;
    color: #666;
}

.about-page .content-box {
    border-radius: 28px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 22px 48px rgba(16, 38, 72, 0.08);
    backdrop-filter: blur(12px);
}

.about-page .content-box h2 {
    color: var(--page-title);
}

.about-page .content-box p {
    color: var(--page-text);
}

.about-page .content-box img {
    border-radius: 18px;
    box-shadow: 0 18px 32px rgba(16, 38, 72, 0.12);
}

.about-page .content-box {
    position: relative;
    overflow: hidden;
    margin: 0 calc(50% - 50vw);
    padding: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(239, 246, 255, 0.94));
}

.about-page .content-box::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(83, 208, 255, 0.12), transparent 18%),
        radial-gradient(circle at 88% 18%, rgba(47, 140, 255, 0.1), transparent 18%),
        linear-gradient(rgba(106, 168, 224, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(106, 168, 224, 0.06) 1px, transparent 1px);
    background-size: auto, auto, 34px 34px, 34px 34px;
    pointer-events: none;
}

.about-page .content-box > * {
    position: relative;
    z-index: 1;
}

.about-kicker,
.about-card-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: #3e9dff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.4px;
}

.about-intro-video-panel {
    margin-bottom: 28px;
}

.about-intro-video-frame {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(126, 167, 224, 0.18);
    background:
        linear-gradient(135deg, rgba(7, 28, 58, 0.96), rgba(13, 48, 94, 0.84));
    box-shadow: 0 22px 48px rgba(16, 38, 72, 0.18);
}

.about-intro-video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    object-fit: cover;
    background: #09192f;
}

.about-hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 32px;
    align-items: center;
    padding: 34px;
    border-radius: 30px;
    border: 1px solid rgba(126, 167, 224, 0.16);
    background:
        linear-gradient(120deg, rgba(6, 26, 54, 0.96) 0%, rgba(10, 44, 92, 0.86) 52%, rgba(19, 104, 180, 0.58) 100%);
    box-shadow: 0 28px 56px rgba(12, 31, 60, 0.2);
    overflow: hidden;
}

.about-hero-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(120, 188, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 188, 255, 0.08) 1px, transparent 1px);
    background-size: 42px 42px;
    opacity: 0.8;
    pointer-events: none;
}

.about-hero-copy h2 {
    margin-bottom: 18px;
    color: #f7fbff;
    font-size: 44px;
    line-height: 1.18;
    letter-spacing: -1px;
    text-shadow: 0 10px 30px rgba(2, 10, 28, 0.48);
    position: relative;
    z-index: 2;
}

.about-page .about-hero-copy p {
    margin-bottom: 0;
    color: rgba(223, 241, 255, 0.82);
    font-size: 16px;
    line-height: 1.95;
}

.about-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.about-hero-tags span {
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(142, 211, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: #dff4ff;
    font-size: 12px;
    letter-spacing: 1.2px;
}

.about-page .content-box .about-hero-panel .about-hero-copy h2 {
    color: #f7fbff !important;
    text-shadow: 0 12px 34px rgba(0, 10, 28, 0.56);
}

.about-page .content-box .about-hero-copy {
    position: relative;
    z-index: 2;
}

.about-hero-visual {
    position: relative;
    min-height: 380px;
}

.about-hero-ring {
    position: absolute;
    inset: 50% auto auto 50%;
    border-radius: 50%;
    border: 1px solid rgba(132, 215, 255, 0.18);
    transform: translate(-50%, -50%);
}

.about-hero-ring-a {
    width: 300px;
    height: 300px;
    box-shadow: inset 0 0 36px rgba(91, 211, 255, 0.08);
}

.about-hero-ring-b {
    width: 210px;
    height: 210px;
    border-style: dashed;
}

.about-hero-core {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 184px;
    height: 184px;
    transform: translate(-50%, -50%);
    border-radius: 28px;
    border: 1px solid rgba(153, 227, 255, 0.24);
    background:
        linear-gradient(180deg, rgba(11, 36, 70, 0.96), rgba(7, 19, 44, 0.98));
    box-shadow: 0 24px 42px rgba(4, 12, 31, 0.34), inset 0 0 28px rgba(88, 203, 255, 0.12);
    display: grid;
    place-items: center;
    text-align: center;
}

.about-hero-core span {
    display: block;
    margin-bottom: 8px;
    color: #5ed8ff;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 3px;
}

.about-hero-core strong {
    color: #f5fbff;
    font-size: 18px;
    line-height: 1.5;
}

.about-hero-node {
    position: absolute;
    width: 180px;
    padding: 16px 18px;
    border-radius: 22px;
    border: 1px solid rgba(143, 210, 255, 0.18);
    background: rgba(8, 26, 53, 0.78);
    box-shadow: 0 18px 28px rgba(3, 10, 27, 0.28);
}

.about-hero-node em {
    display: block;
    margin-bottom: 6px;
    color: #5ed8ff;
    font-style: normal;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.about-hero-node span {
    color: rgba(230, 244, 255, 0.84);
    font-size: 14px;
    line-height: 1.7;
}

.about-hero-node-a {
    left: 0;
    top: 14%;
}

.about-hero-node-b {
    right: 0;
    top: 12%;
}

.about-hero-node-c {
    left: 50%;
    bottom: 4%;
    transform: translateX(-50%);
}

.about-dashboard,
.about-story-grid,
.about-capability-grid,
.about-sites-grid,
.about-timeline {
    display: grid;
    gap: 22px;
}

.about-dashboard {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 28px;
}

.about-metric-card,
.about-story-card,
.about-capability-card,
.about-site-card,
.about-timeline-item {
    position: relative;
    border-radius: 24px;
    border: 1px solid rgba(126, 167, 224, 0.16);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(243, 248, 255, 0.96));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
    overflow: hidden;
}

.about-metric-card {
    padding: 24px 22px;
}

.about-metric-card::before,
.about-story-card::before,
.about-capability-card::before,
.about-site-card::before,
.about-timeline-item::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #35d3ff, #2167ff);
}

.about-metric-card span {
    display: block;
    color: #6b8bb3;
    font-size: 13px;
    margin-bottom: 12px;
}

.about-metric-card strong {
    display: block;
    color: #11284c;
    font-size: 34px;
    line-height: 1.1;
    margin-bottom: 12px;
}

.about-page .about-metric-card p,
.about-page .about-story-card p,
.about-page .about-capability-card p,
.about-page .about-site-copy p,
.about-page .about-timeline-item p {
    margin-bottom: 0;
    color: #55657c;
}

.about-story-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 28px;
}

.about-story-card,
.about-capability-panel,
.about-sites-panel,
.about-timeline-panel {
    margin-top: 28px;
}

.about-story-card {
    padding: 28px;
}

.about-story-card h3,
.about-capability-card h3,
.about-site-copy h3 {
    color: #11284c;
}

.about-inner-header {
    margin-bottom: 24px;
    text-align: left;
}

.about-capability-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-capability-card {
    padding: 26px 22px;
}

.about-capability-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(53, 211, 255, 0.14), rgba(33, 103, 255, 0.16));
    color: #247cff;
    font-weight: 700;
}

.about-sites-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-site-card img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
}

.about-site-copy {
    padding: 22px 22px 26px;
}

.about-site-copy span {
    display: inline-block;
    margin-bottom: 10px;
    color: #2c8bff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.about-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-timeline-item {
    padding: 26px 24px;
}

.about-timeline-item strong {
    display: block;
    margin-bottom: 14px;
    color: #11284c;
    font-size: 28px;
}

@media (max-width: 1100px) {
    .about-hero-panel {
        grid-template-columns: 1fr;
    }

    .about-dashboard,
    .about-capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .about-page .content-box {
        padding: 18px;
    }

    .about-intro-video-panel {
        margin-bottom: 18px;
    }

    .about-intro-video-frame {
        border-radius: 18px;
    }

    .about-hero-panel {
        padding: 22px 18px;
        border-radius: 24px;
    }

    .about-hero-copy h2 {
        font-size: 32px;
    }

    .about-hero-visual {
        min-height: 420px;
    }

    .about-dashboard,
    .about-story-grid,
    .about-capability-grid,
    .about-sites-grid,
    .about-timeline {
        grid-template-columns: 1fr;
    }

    .about-hero-node-a,
    .about-hero-node-b,
    .about-hero-node-c {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        margin-top: 14px;
    }

    .about-hero-visual {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }
}

/* Product List */
.product-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.product-item {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    display: flex;
}

.product-item-img {
    width: 300px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.product-item-img img {
    max-height: 200px;
}

.product-item-content {
    flex: 1;
    padding: 30px;
}

.product-item-content h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.product-item-content p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 20px;
}

.product-center-page {
    background:
        radial-gradient(circle at 10% 8%, rgba(51, 139, 255, 0.12), transparent 20%),
        radial-gradient(circle at 88% 18%, rgba(61, 226, 255, 0.12), transparent 22%),
        linear-gradient(180deg, #eef5ff 0%, #f9fbff 240px, #ffffff 241px);
}

.product-page-banner {
    overflow: hidden;
    background:
        linear-gradient(98deg, rgba(3, 11, 25, 0.92) 0%, rgba(6, 27, 64, 0.82) 36%, rgba(8, 41, 97, 0.58) 62%, rgba(18, 108, 255, 0.3) 100%),
        radial-gradient(circle at 80% 28%, rgba(103, 224, 255, 0.18), transparent 18%),
        url('../images/home-slide-1.jpg'),
        url('../images/banner1.jpg');
    background-size: auto, auto, cover, cover;
    background-position: center, center, center center, center center;
    background-repeat: no-repeat;
}

.product-page-banner::before {
    background:
        linear-gradient(90deg, rgba(3, 12, 28, 0.86), rgba(5, 23, 52, 0.48) 42%, rgba(24, 144, 255, 0.16)),
        linear-gradient(rgba(122, 190, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(122, 190, 255, 0.1) 1px, transparent 1px);
    background-size: auto, 48px 48px, 48px 48px;
}

.product-page-banner::after {
    content: '';
    position: absolute;
    inset: -10% auto auto 58%;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(66, 209, 255, 0.2), transparent 70%);
    filter: blur(14px);
    animation: productBannerGlow 12s ease-in-out infinite;
}

.product-center-page .page-banner-content {
    max-width: 720px;
    text-align: left;
    padding: 0 20px;
}

.product-center-page .page-banner-content h1 {
    font-size: 56px;
    letter-spacing: -1px;
    text-shadow: 0 18px 36px rgba(0, 13, 34, 0.36);
}

.product-center-page .page-banner-content p {
    color: #93d4ff;
}

.product-center-page .content-page {
    position: relative;
    overflow: hidden;
}

.product-center-page .content-page::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 18%, rgba(55, 158, 255, 0.08), transparent 18%),
        radial-gradient(circle at 88% 24%, rgba(65, 223, 255, 0.08), transparent 18%),
        linear-gradient(rgba(120, 167, 224, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 167, 224, 0.05) 1px, transparent 1px);
    background-size: auto, auto, 42px 42px, 42px 42px;
    pointer-events: none;
}

.product-section-header {
    position: relative;
    padding: 28px 32px;
    border-radius: 28px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(241, 247, 255, 0.92));
    box-shadow: 0 20px 42px rgba(18, 39, 72, 0.08);
    backdrop-filter: blur(14px);
}

.product-section-header::before {
    content: '';
    position: absolute;
    left: 32px;
    top: 0;
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, #35d3ff, #2167ff);
}

.product-section-header .section-title {
    color: #10274b;
}

.product-section-header .section-subtitle {
    color: #6e8db1;
}

.product-center-page .product-list {
    position: relative;
    z-index: 1;
    gap: 28px;
}

.product-center-page .product-item {
    position: relative;
    border-radius: 24px;
    border: 1px solid rgba(126, 166, 224, 0.16);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 249, 255, 0.96));
    box-shadow: 0 20px 42px rgba(15, 36, 68, 0.1);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.product-center-page .product-item::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #35d3ff 0%, #2167ff 100%);
}

.product-center-page .product-item:hover {
    transform: translateY(-8px);
    border-color: rgba(83, 174, 255, 0.28);
    box-shadow: 0 28px 56px rgba(10, 30, 60, 0.16);
}

.product-center-page .product-item-img {
    position: relative;
    background:
        radial-gradient(circle at center, rgba(83, 214, 255, 0.08), transparent 48%),
        linear-gradient(180deg, #eef5ff 0%, #f9fbff 100%);
}

.product-center-page .product-item-img::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(128, 173, 224, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(128, 173, 224, 0.08) 1px, transparent 1px);
    background-size: 32px 32px;
}

.product-center-page .product-item-img img {
    position: relative;
    z-index: 1;
    max-height: 220px;
    filter: drop-shadow(0 18px 22px rgba(17, 47, 96, 0.22));
}

.product-item-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: #278cff;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 600;
}

.product-center-page .product-item-content h3 {
    color: #11284c;
    line-height: 1.45;
}

.product-center-page .product-item-content p {
    color: #55657c;
}

.product-center-page .product-item .btn-primary {
    border-radius: 12px;
    background: linear-gradient(135deg, #1ab7ff 0%, #2167ff 100%);
    box-shadow: 0 12px 24px rgba(33, 103, 255, 0.2);
}

@keyframes productBannerGlow {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(0.96);
        opacity: 0.78;
    }
    50% {
        transform: translate3d(-18px, 14px, 0) scale(1.08);
        opacity: 1;
    }
}

@media (max-width: 992px) {
    .product-list {
        grid-template-columns: 1fr;
    }
    .product-item {
        flex-direction: column;
    }
    .product-item-img {
        width: 100%;
    }
    .product-center-page .page-banner-content {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .product-center-page .page-banner-content h1 {
        font-size: 38px;
    }

    .product-section-header {
        padding: 22px 18px;
        border-radius: 22px;
    }

    .product-section-header::before {
        left: 18px;
        width: 84px;
    }

    .product-center-page .product-item {
        border-radius: 20px;
    }

    .product-center-page .product-item-content {
        padding: 22px 20px 24px;
    }
}

/* Honor Grid */
.honor-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.honor-item {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.honor-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.honor-item h3 {
    padding: 20px;
    text-align: center;
    font-size: 16px;
}

@media (max-width: 992px) {
    .honor-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .honor-grid {
        grid-template-columns: 1fr;
    }
}

/* Team List */
.team-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.team-item {
    display: flex;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.team-item-img {
    width: 300px;
    overflow: hidden;
}

.team-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-item-content {
    flex: 1;
    padding: 30px;
}

.team-item-content h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.team-item-content h3 span {
    font-size: 16px;
    color: #999;
    font-weight: normal;
}

.team-item-content p {
    color: #666;
    line-height: 1.8;
}

@media (max-width: 768px) {
    .team-item {
        flex-direction: column;
    }
    .team-item-img {
        width: 100%;
        height: 250px;
    }
}

/* Contact Page */
.contact-capability-board {
    position: relative;
    margin: -22px calc(50% - 50vw) 54px;
    padding: clamp(10px, 1.2vw, 18px);
    border: 1px solid #8bbdff;
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(249, 253, 255, 0.98), rgba(235, 246, 255, 0.98)),
        linear-gradient(90deg, rgba(22, 93, 255, 0.07) 1px, transparent 1px),
        linear-gradient(rgba(22, 93, 255, 0.06) 1px, transparent 1px);
    background-size: auto, 28px 28px, 28px 28px;
    box-shadow: 0 18px 42px rgba(17, 69, 144, 0.14);
    overflow: hidden;
}

.contact-capability-board::before {
    content: '';
    position: absolute;
    left: -3%;
    right: -3%;
    top: 226px;
    height: 72px;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    border-top: 10px solid #0452b8;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
    pointer-events: none;
    z-index: 1;
}

.contact-board-head {
    position: relative;
    min-height: 252px;
    padding: clamp(22px, 2.2vw, 38px) clamp(22px, 2.8vw, 54px);
    border: 1px solid rgba(120, 179, 255, 0.45);
    border-radius: 8px 8px 22px 22px;
    background:
        linear-gradient(90deg, rgba(217, 239, 255, 0.96) 0%, rgba(227, 245, 255, 0.84) 44%, rgba(227, 245, 255, 0.24) 72%, rgba(255, 255, 255, 0.08) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0.82) 100%),
        url('../images/banner1.jpg');
    background-size: cover;
    background-position: center 42%;
    color: #0d3990;
    overflow: hidden;
    z-index: 2;
}

.contact-board-head::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -28px;
    height: 70px;
    background: linear-gradient(100deg, #0b64cb 0%, #0753b5 36%, #ffffff 37%, rgba(255, 255, 255, 0.92) 100%);
    clip-path: ellipse(62% 58% at 58% 100%);
    opacity: 0.96;
}

.contact-board-brand {
    display: flex;
    align-items: flex-start;
    gap: clamp(18px, 2vw, 30px);
    max-width: 920px;
    position: relative;
    z-index: 2;
}

.contact-board-brand img {
    width: clamp(190px, 20vw, 330px);
    height: auto;
    object-fit: contain;
    padding-top: 4px;
}

.contact-board-brand p {
    margin: 2px 0 12px;
    color: #153f96;
    font-size: clamp(18px, 1.8vw, 28px);
    font-weight: 700;
    line-height: 1.25;
}

.contact-board-brand h2 {
    margin: 0;
    color: #082d87;
    font-size: clamp(30px, 3.1vw, 52px);
    line-height: 1.18;
    font-weight: 900;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.82);
}

.contact-board-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 26px;
    margin-top: 30px;
    position: relative;
    z-index: 2;
}

.contact-board-tags span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #07327f;
    font-size: 17px;
    font-weight: 800;
}

.contact-board-tags span::before {
    content: '';
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0749ae, #087de5);
    box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.48);
}

.contact-board-grid {
    display: grid;
    grid-template-columns: 0.92fr 1.12fr 2fr;
    gap: 10px;
    margin-top: 10px;
    position: relative;
    z-index: 3;
}

.contact-board-panel {
    position: relative;
    padding: 44px 14px 14px;
    border: 1px solid #82b7ff;
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(246, 251, 255, 0.96)),
        linear-gradient(90deg, rgba(22, 93, 255, 0.05) 1px, transparent 1px);
    background-size: auto, 22px 22px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.contact-board-panel h3 {
    display: inline-flex;
    align-items: center;
    position: absolute;
    left: 12px;
    top: -1px;
    min-height: 30px;
    margin: 0;
    padding: 6px 18px 6px 13px;
    border-radius: 0 0 7px 7px;
    background: linear-gradient(135deg, #0b6bdb 0%, #053a99 100%);
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
    box-shadow: 0 7px 14px rgba(5, 58, 153, 0.18);
}

.contact-board-panel h3::after {
    content: '';
    position: absolute;
    right: -17px;
    top: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 17px solid #053a99;
}

.contact-board-panel p {
    margin: 0 0 12px;
    color: #143a7b;
    font-size: 13px;
    line-height: 1.78;
}

.contact-board-intro {
    grid-column: span 1;
}

.contact-board-honors {
    grid-column: span 1;
}

.contact-board-products {
    grid-column: span 1;
}

.contact-board-business,
.contact-board-cases {
    grid-column: span 3;
}

.contact-honor-list,
.contact-product-list,
.contact-business-list,
.contact-case-list {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.contact-honor-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-product-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-business-list,
.contact-case-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-honor-list div,
.contact-product-list div,
.contact-business-list div,
.contact-case-list div {
    min-width: 0;
    padding: 10px;
    border: 1px solid #9cc8ff;
    border-radius: 7px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 250, 255, 0.96)),
        radial-gradient(circle at 50% 0, rgba(9, 100, 216, 0.12), transparent 52%);
    box-shadow: 0 7px 16px rgba(15, 83, 166, 0.08);
}

.contact-honor-list img {
    width: 100%;
    height: 86px;
    object-fit: contain;
    margin-bottom: 8px;
    border-radius: 5px;
}

.contact-product-list img {
    display: block;
    width: 100%;
    height: 116px;
    object-fit: contain;
    margin-bottom: 8px;
}

.contact-business-list img,
.contact-case-list img {
    display: block;
    width: 100%;
    height: 126px;
    object-fit: cover;
    background: #f8fbff;
    border-radius: 4px;
    margin-bottom: 10px;
    border: 1px solid rgba(120, 179, 255, 0.4);
}

.contact-honor-list strong,
.contact-product-list strong,
.contact-business-list strong,
.contact-case-list strong {
    display: block;
    color: #082d87;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 800;
    text-align: center;
}

.contact-product-list span {
    display: block;
    margin-top: 7px;
    color: #174982;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

.contact-business-list p {
    margin-top: 7px;
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.62;
    text-align: left;
}

.contact-board-footer {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, 0.72fr);
    gap: 10px;
    margin-top: 10px;
    position: relative;
    z-index: 3;
}

.contact-board-slogan,
.contact-board-cta {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 16px 20px;
    border: 1px solid #82b7ff;
    border-radius: 7px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(240, 249, 255, 0.98)),
        radial-gradient(circle at 25% 50%, rgba(0, 120, 255, 0.12), transparent 28%);
}

.contact-board-slogan span {
    flex: 0 0 auto;
    padding: 8px 14px;
    border-radius: 6px;
    background: linear-gradient(135deg, #0b6bdb, #053a99);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
}

.contact-board-slogan p {
    margin: 0;
    color: #0a2d88;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.62;
    text-align: center;
}

.contact-board-cta {
    justify-content: space-between;
}

.contact-board-cta strong,
.contact-board-cta span {
    display: block;
    color: #0a2d88;
}

.contact-board-cta strong {
    margin-bottom: 8px;
    font-size: 21px;
    font-weight: 900;
}

.contact-board-cta span {
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.5;
}

.contact-board-cta img {
    width: 104px;
    height: 104px;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 10px 22px rgba(16, 38, 72, 0.12);
}

.contact-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-bottom: 50px;
}

.contact-item {
    display: flex;
    gap: 20px;
    padding: 30px;
    background: #f9f9f9;
    border-radius: 8px;
}

.contact-item-icon {
    width: 60px;
    height: 60px;
    background: #1890ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 24px;
}

.contact-item-content h4 {
    font-size: 14px;
    color: #999;
    margin-bottom: 5px;
}

.contact-item-content p {
    font-size: 18px;
    color: #333;
}

.contact-page .contact-info {
    gap: 28px;
}

.contact-page .contact-item {
    border-radius: 24px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 18px 40px rgba(16, 38, 72, 0.08);
}

.contact-page .contact-item-icon {
    background: linear-gradient(135deg, var(--page-accent-2) 0%, var(--page-accent) 100%);
    box-shadow: 0 10px 22px rgba(33, 103, 255, 0.24);
}

.contact-page .contact-item-content h4 {
    color: color-mix(in srgb, var(--page-title) 58%, white);
}

.contact-page .contact-item-content p {
    color: var(--page-title);
}

@media (max-width: 768px) {
    .contact-capability-board {
        margin: -8px 0 36px;
        padding: 12px;
    }

    .contact-board-head {
        min-height: 0;
        padding: 22px 18px;
    }

    .contact-board-brand {
        flex-direction: column;
        gap: 14px;
    }

    .contact-board-brand img {
        width: 140px;
    }

    .contact-board-brand p {
        font-size: 16px;
    }

    .contact-board-brand h2 {
        font-size: 24px;
    }

    .contact-board-tags {
        gap: 10px 16px;
        margin-top: 18px;
    }

    .contact-board-grid,
    .contact-board-footer,
    .contact-honor-list,
    .contact-product-list,
    .contact-business-list,
    .contact-case-list {
        grid-template-columns: 1fr;
    }

    .contact-board-intro,
    .contact-board-honors,
    .contact-board-products,
    .contact-board-business,
    .contact-board-cases {
        grid-column: span 1;
    }

    .contact-board-panel {
        padding: 42px 18px 18px;
    }

    .contact-board-footer {
        gap: 12px;
    }

    .contact-board-slogan,
    .contact-board-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        padding: 18px;
    }

    .contact-board-slogan p {
        font-size: 16px;
    }

    .contact-info {
        grid-template-columns: 1fr;
    }
}

/* Form */
.contact-form {
    background: #fff;
    border-radius: 8px;
    padding: 40px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.contact-page .contact-form {
    border-radius: 28px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 22px 48px rgba(16, 38, 72, 0.08);
}

.form-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.form-row.full {
    grid-template-columns: 1fr;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

.form-group input,
.form-group textarea {
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.3s;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #1890ff;
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

.form-submit {
    text-align: center;
    margin-top: 30px;
}

.form-submit .btn {
    padding: 15px 60px;
    font-size: 16px;
}

@media (max-width: 768px) {
    .form-row {
        grid-template-columns: 1fr;
    }
}

/* Map */
.map-container {
    position: relative;
    height: 420px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(240, 247, 255, 0.96));
    border-radius: 28px;
    margin-top: 50px;
    overflow: hidden;
    border: 1px solid rgba(126, 167, 224, 0.14);
    box-shadow: 0 22px 48px rgba(16, 38, 72, 0.08);
}

.map-canvas {
    width: 100%;
    height: 100%;
}

.map-link {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    position: relative;
}

.map-link::after {
    content: '点击打开百度地图';
    position: absolute;
    right: 24px;
    bottom: 24px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(23, 53, 95, 0.82);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    box-shadow: 0 12px 28px rgba(16, 38, 72, 0.16);
}

.map-static-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.map-container:hover .map-static-image {
    transform: scale(1.01);
    filter: brightness(1.02);
}

.map-container:hover .map-link::after {
    background: rgba(33, 103, 255, 0.92);
}

.map-overlay {
    position: absolute;
    left: 24px;
    top: 24px;
    max-width: 360px;
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(126, 167, 224, 0.18);
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 36px rgba(16, 38, 72, 0.12);
    z-index: 2;
    pointer-events: none;
}

.map-overlay span {
    display: inline-block;
    margin-bottom: 8px;
    color: #2f8cff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.map-overlay strong {
    display: block;
    margin-bottom: 8px;
    color: #17355f;
    font-size: 18px;
}

.map-overlay p {
    margin: 0;
    color: #536983;
    font-size: 14px;
    line-height: 1.8;
}

/* FAQ */
.faq-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-item {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
}

.faq-question {
    padding: 20px 30px;
    font-size: 16px;
    color: #333;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-question::before {
    content: 'Q';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #1890ff;
    color: #fff;
    border-radius: 50%;
    margin-right: 15px;
    font-size: 14px;
}

.faq-answer {
    padding: 0 30px 20px 75px;
    color: #666;
    line-height: 1.8;
    display: none;
}

.faq-item.active .faq-answer {
    display: block;
}

/* Download List */
.download-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.download-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    padding: 25px 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.download-info h4 {
    font-size: 16px;
    margin-bottom: 5px;
}

.download-info p {
    font-size: 14px;
    color: #999;
}

.download-actions {
    display: flex;
    gap: 10px;
}

.download-btn {
    padding: 10px 25px;
    background: #1890ff;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
}

.download-btn:hover {
    background: #40a9ff;
}

.view-btn {
    background: #f5f5f5;
    color: #666;
    border: 1px solid #ddd;
}

.view-btn:hover {
    background: #e8e8e8;
    color: #333;
    border-color: #ccc;
}

.download-page .download-list {
    display: grid;
    gap: 24px;
}

.download-page .download-item {
    position: relative;
    padding: 28px 30px;
    border-radius: 24px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
}

.download-page .download-item::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 24px 0 0 24px;
    background: linear-gradient(180deg, var(--page-accent-2), var(--page-accent));
}

.download-page .download-info h4 {
    color: var(--page-title);
    margin-bottom: 8px;
}

.download-page .download-info p {
    color: var(--page-text);
}

.download-page .download-btn {
    border-radius: 12px;
    background: linear-gradient(135deg, var(--page-accent-2) 0%, var(--page-accent) 100%);
    box-shadow: 0 12px 24px rgba(33, 103, 255, 0.2);
}

/* Competition Page */
.competition-shell {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.competition-overview,
.competition-list-block,
.competition-section-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 24px 52px rgba(13, 30, 61, 0.08);
    backdrop-filter: blur(12px);
}

.competition-overview::before,
.competition-list-block::before,
.competition-section-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(99, 200, 255, 0.12), transparent 20%),
        radial-gradient(circle at 88% 18%, rgba(43, 76, 155, 0.12), transparent 18%),
        linear-gradient(rgba(118, 149, 201, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(118, 149, 201, 0.06) 1px, transparent 1px);
    background-size: auto, auto, 34px 34px, 34px 34px;
    pointer-events: none;
}

.competition-overview > *,
.competition-list-block > *,
.competition-section-card > * {
    position: relative;
    z-index: 1;
}

.competition-overview,
.competition-list-block,
.competition-section-card {
    padding: 34px;
}

.competition-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: #3d88ff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.4px;
}

.competition-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.75fr);
    gap: 24px;
    align-items: stretch;
}

.competition-overview h2,
.competition-section-head h2,
.competition-section-head h3,
.competition-detail-hero h2 {
    color: var(--page-title);
    line-height: 1.18;
}

.competition-overview h2 {
    margin-bottom: 14px;
    font-size: 38px;
}

.competition-overview p,
.competition-section-head p,
.competition-card-desc,
.competition-panel p,
.competition-value-card p,
.competition-future-card p {
    margin: 0;
    color: var(--page-text);
    line-height: 1.85;
}

.competition-summary {
    position: relative;
    padding: 26px 28px;
    border-radius: 24px;
    color: #f7fbff;
    background:
        linear-gradient(135deg, rgba(8, 22, 48, 0.98) 0%, rgba(26, 64, 132, 0.88) 60%, rgba(77, 163, 255, 0.68) 100%);
    box-shadow: 0 28px 56px rgba(11, 28, 56, 0.2);
    overflow: hidden;
}

.competition-summary::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(158, 212, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(158, 212, 255, 0.1) 1px, transparent 1px);
    background-size: 38px 38px;
    opacity: 0.7;
    pointer-events: none;
}

.competition-summary > * {
    position: relative;
    z-index: 1;
}

.competition-summary span {
    display: inline-block;
    margin-bottom: 10px;
    color: rgba(229, 241, 255, 0.82);
    font-size: 13px;
    letter-spacing: 0.18em;
}

.competition-summary strong {
    display: block;
    margin-bottom: 10px;
    font-size: 58px;
    line-height: 1;
    font-weight: 700;
}

.competition-summary p {
    color: rgba(235, 243, 255, 0.86);
}

.competition-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 24px;
}

.competition-section-head h2,
.competition-section-head h3 {
    margin: 0;
    font-size: 32px;
}

.competition-section-head p {
    max-width: 640px;
}

.competition-scheme-list,
.competition-detail {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.competition-card {
    padding: 30px;
    border-radius: 26px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 246, 255, 0.94));
    box-shadow: 0 20px 42px rgba(13, 30, 61, 0.08);
}

.competition-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.competition-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    min-height: 30px;
    margin-bottom: 14px;
    padding: 0 14px;
    border-radius: 999px;
    color: var(--page-accent);
    background: color-mix(in srgb, var(--page-accent) 14%, white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.competition-card h3 {
    margin: 0 0 10px;
    color: var(--page-title);
    font-size: 32px;
    line-height: 1.2;
}

.competition-card-subtitle {
    margin: 0;
    color: color-mix(in srgb, var(--page-title) 58%, white);
    font-size: 18px;
    font-weight: 600;
}

.competition-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 116px;
    padding: 12px 22px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--page-accent-2), var(--page-accent));
    box-shadow: 0 14px 28px rgba(35, 88, 183, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.competition-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(35, 88, 183, 0.24);
}

.competition-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.competition-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    color: var(--page-title);
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(99, 131, 183, 0.12);
    font-size: 13px;
    font-weight: 600;
}

.competition-metrics,
.competition-hero-stats,
.competition-highlight-bar,
.competition-values-grid,
.competition-future-grid,
.competition-check-grid,
.competition-two-col {
    display: grid;
    gap: 18px;
}

.competition-metrics,
.competition-highlight-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.competition-hero-stats,
.competition-values-grid,
.competition-check-grid,
.competition-two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.competition-future-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

.competition-metric,
.competition-panel,
.competition-value-card,
.competition-future-card {
    padding: 22px;
    border-radius: 22px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(240, 246, 255, 0.82));
}

.competition-metric span,
.competition-hero-stat span,
.competition-highlight-item span {
    display: block;
    margin-bottom: 8px;
    color: color-mix(in srgb, var(--page-title) 48%, white);
    font-size: 13px;
}

.competition-metric strong {
    color: var(--page-title);
    font-size: 24px;
    line-height: 1.2;
}

.competition-detail-hero {
    position: relative;
    overflow: hidden;
    padding: 34px;
    border-radius: 30px;
    color: #f7fbff;
    background:
        linear-gradient(120deg, rgba(6, 17, 38, 0.98) 0%, rgba(15, 40, 84, 0.9) 48%, rgba(43, 76, 155, 0.72) 100%);
    box-shadow: 0 28px 56px rgba(12, 31, 60, 0.2);
}

.competition-detail-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(126, 187, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(126, 187, 255, 0.08) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.78;
    pointer-events: none;
}

.competition-detail-hero > * {
    position: relative;
    z-index: 1;
}

.competition-detail-hero h2 {
    margin: 0 0 16px;
    color: #f7fbff;
    font-size: 40px;
    letter-spacing: -0.8px;
}

.competition-detail-hero p {
    max-width: 760px;
    color: rgba(233, 242, 255, 0.82);
}

.competition-hero-stats {
    margin-top: 24px;
}

.competition-hero-stat {
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
}

.competition-hero-stat strong {
    display: block;
    color: #fff;
    font-size: 20px;
    line-height: 1.35;
}

.competition-panel h4,
.competition-value-card h4,
.competition-future-card h4 {
    margin: 0 0 12px;
    color: var(--page-title);
    font-size: 22px;
    line-height: 1.25;
}

.competition-mini-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.competition-mini-list li {
    position: relative;
    padding-left: 20px;
    color: var(--page-text);
    line-height: 1.8;
}

.competition-mini-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--page-accent-2), var(--page-accent));
}

.competition-roadmap-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.competition-step {
    display: flex;
    flex-direction: column;
    min-height: 230px;
    padding: 24px;
    border-radius: 22px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(240, 246, 255, 0.88));
    box-shadow: 0 16px 30px rgba(13, 30, 61, 0.06);
}

.competition-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    border-radius: 14px;
    color: var(--page-accent);
    background: color-mix(in srgb, var(--page-accent) 12%, white);
    font-weight: 700;
}

.competition-step h4 {
    margin: 0 0 12px;
    color: var(--page-title);
    font-size: 20px;
    line-height: 1.3;
}

.competition-step p {
    margin: 0;
    color: var(--page-text);
    line-height: 1.75;
}

.competition-step-note {
    margin-top: auto;
    padding-top: 18px;
    color: var(--page-accent);
    font-weight: 700;
    line-height: 1.6;
}

.competition-highlight-item {
    padding: 20px 22px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, rgba(13, 34, 72, 0.96), rgba(43, 76, 155, 0.82));
    box-shadow: 0 18px 36px rgba(13, 30, 61, 0.16);
}

.competition-highlight-item strong {
    font-size: 26px;
    line-height: 1.2;
}

.competition-table-wrap {
    margin-top: 24px;
    overflow-x: auto;
    border-radius: 24px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    box-shadow: 0 18px 34px rgba(13, 30, 61, 0.06);
}

.competition-compare-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    text-align: center;
    background: rgba(255, 255, 255, 0.98);
}

.competition-compare-table thead th {
    padding: 20px 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    background: linear-gradient(135deg, var(--page-accent), color-mix(in srgb, var(--page-accent) 58%, black));
}

.competition-compare-table tbody td {
    padding: 20px 18px;
    border-top: 1px solid rgba(93, 126, 184, 0.12);
    color: var(--page-text);
    font-size: 15px;
}

.competition-compare-table tbody td:first-child {
    color: var(--page-title);
    font-weight: 700;
    background: rgba(239, 245, 255, 0.72);
}

.competition-compare-table tbody td:last-child {
    color: var(--page-accent);
    font-weight: 700;
    background: color-mix(in srgb, var(--page-accent) 8%, white);
}

/* Package Simulation */
.package-sim-section {
    margin-top: 4px;
}

.package-sim-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
}

.package-sim-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    color: var(--page-title);
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(93, 126, 184, 0.14);
    box-shadow: 0 10px 24px rgba(13, 30, 61, 0.06);
    font-weight: 600;
}

.package-sim-tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--page-accent), var(--page-accent-2));
    box-shadow: 0 14px 28px rgba(35, 88, 183, 0.18);
}

.package-sim-grid,
.package-sim-bottom {
    display: grid;
    gap: 20px;
}

.package-sim-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.package-sim-bottom {
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.9fr);
    margin-top: 24px;
}

.package-sim-panel,
.package-sim-note {
    padding: 28px;
    border-radius: 26px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 246, 255, 0.9));
    box-shadow: 0 18px 36px rgba(13, 30, 61, 0.08);
}

.package-sim-panel-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.package-sim-panel-dot {
    width: 10px;
    height: 42px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--page-accent-2), var(--page-accent));
    box-shadow: 0 0 16px rgba(63, 166, 255, 0.26);
}

.package-sim-panel-head h3,
.package-sim-note h3 {
    margin: 0;
    color: var(--page-title);
    font-size: 34px;
    line-height: 1.2;
}

.package-sim-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.package-sim-card-grid-advanced {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.package-sim-card {
    min-height: 152px;
    padding: 20px 18px;
    border-radius: 22px;
    color: #fff;
    background:
        linear-gradient(160deg, color-mix(in srgb, var(--page-accent-2) 78%, white) 0%, var(--page-accent) 64%, color-mix(in srgb, var(--page-accent) 76%, black) 100%);
    box-shadow: 0 18px 30px rgba(27, 75, 150, 0.18);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.package-sim-card-tag,
.package-sim-tool-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.package-sim-card-tag {
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.package-sim-card strong {
    display: block;
    font-size: 30px;
    line-height: 1.18;
    letter-spacing: -0.4px;
}

.package-sim-card-grid-advanced .package-sim-card strong {
    font-size: 24px;
}

.package-sim-strip {
    margin-top: 22px;
    padding: 22px 24px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, rgba(13, 34, 72, 0.98), rgba(39, 88, 176, 0.88));
    box-shadow: 0 18px 36px rgba(13, 30, 61, 0.18);
}

.package-sim-strip h4 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.25;
}

.package-sim-strip p {
    margin: 0;
    color: rgba(235, 243, 255, 0.84);
    line-height: 1.75;
    font-size: 16px;
}

.package-sim-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.package-sim-tool {
    padding: 22px;
    border-radius: 22px;
    border: 1px solid rgba(93, 126, 184, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.9));
    box-shadow: 0 16px 30px rgba(13, 30, 61, 0.07);
}

.package-sim-tool-tag {
    color: var(--page-accent);
    background: color-mix(in srgb, var(--page-accent) 12%, white);
}

.package-sim-tool h4 {
    margin: 14px 0 10px;
    color: var(--page-title);
    font-size: 26px;
    line-height: 1.2;
}

.package-sim-tool p,
.package-sim-note p {
    margin: 0;
    color: var(--page-text);
    line-height: 1.8;
}

.package-sim-note {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 1320px) {
    .package-sim-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .package-sim-card-grid-advanced {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .competition-lead,
    .competition-metrics,
    .competition-hero-stats,
    .competition-highlight-bar,
    .competition-values-grid,
    .competition-future-grid,
    .competition-check-grid,
    .competition-two-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .competition-roadmap-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .package-sim-grid,
    .package-sim-bottom {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 860px) {
    .competition-overview,
    .competition-list-block,
    .competition-section-card,
    .competition-detail-hero {
        padding: 26px;
    }

    .competition-lead,
    .competition-metrics,
    .competition-hero-stats,
    .competition-highlight-bar,
    .competition-values-grid,
    .competition-future-grid,
    .competition-check-grid,
    .competition-two-col,
    .competition-roadmap-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .competition-card-top,
    .competition-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .competition-card h3,
    .competition-detail-hero h2 {
        font-size: 28px;
    }

    .competition-overview h2,
    .competition-section-head h2,
    .competition-section-head h3 {
        font-size: 28px;
    }

    .package-sim-panel,
    .package-sim-note {
        padding: 22px;
    }

    .package-sim-panel-head h3,
    .package-sim-note h3 {
        font-size: 28px;
    }

    .package-sim-strip h4,
    .package-sim-tool h4 {
        font-size: 24px;
    }

    .package-sim-tools {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .competition-card,
    .competition-metric,
    .competition-panel,
    .competition-value-card,
    .competition-future-card,
    .competition-step,
    .competition-hero-stat,
    .competition-highlight-item {
        padding: 18px;
    }

    .competition-summary {
        padding: 22px;
    }

    .competition-summary strong {
        font-size: 46px;
    }

    .competition-card-subtitle {
        font-size: 16px;
    }

    .competition-link {
        width: 100%;
    }

    .competition-metric strong,
    .competition-highlight-item strong,
    .competition-hero-stat strong {
        font-size: 20px;
    }

    .competition-compare-table {
        min-width: 680px;
    }

    .package-sim-tab {
        width: 100%;
    }

    .package-sim-card-grid,
    .package-sim-card-grid-advanced {
        grid-template-columns: minmax(0, 1fr);
    }

    .package-sim-card {
        min-height: 128px;
    }

    .package-sim-card strong {
        font-size: 24px;
    }

    .package-sim-card-grid-advanced .package-sim-card strong {
        font-size: 21px;
    }

    .package-sim-strip,
    .package-sim-tool {
        padding: 18px;
    }
}

/* Simulation Lab Page */
.package-simulation-page {
    --page-accent: #00d8ff;
    --page-accent-2: #1b67ff;
    --page-accent-soft: rgba(0, 216, 255, 0.16);
    --page-title: #d8fbff;
    --page-text: #82aecd;
    --page-kicker: #59efff;
    --page-surface-top: rgba(6, 14, 34, 0.96);
    --page-surface-bottom: rgba(4, 10, 26, 0.96);
    background:
        radial-gradient(circle at 15% 12%, rgba(0, 216, 255, 0.12), transparent 24%),
        radial-gradient(circle at 86% 18%, rgba(27, 103, 255, 0.16), transparent 20%),
        linear-gradient(180deg, #061027 0%, #08142d 240px, #050d21 241px);
}

.package-simulation-page .container {
    width: 100%;
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

.package-simulation-page .content-page {
    padding: 32px 0 56px;
}

.package-simulation-page .simlab-shell {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    margin-left: calc(50% - 50vw + 10px);
    margin-right: calc(50% - 50vw + 10px);
}

.package-simulation-page .content-page::before {
    background:
        radial-gradient(circle at 16% 18%, rgba(0, 216, 255, 0.08), transparent 16%),
        radial-gradient(circle at 82% 20%, rgba(27, 103, 255, 0.08), transparent 18%),
        linear-gradient(rgba(0, 216, 255, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 216, 255, 0.06) 1px, transparent 1px);
    background-size: auto, auto, 28px 28px, 28px 28px;
}

.package-simulation-page .competition-page-banner {
    background:
        linear-gradient(105deg, rgba(2, 8, 26, 0.96) 0%, rgba(5, 28, 68, 0.9) 40%, rgba(0, 120, 255, 0.35) 100%),
        radial-gradient(circle at 78% 26%, rgba(0, 229, 255, 0.18), transparent 18%),
        url('../images/banner1.jpg');
    background-size: auto, auto, cover;
    background-position: center, center, center;
}

.package-simulation-page .competition-page-banner::before {
    background:
        linear-gradient(90deg, rgba(1, 7, 20, 0.98), rgba(0, 48, 96, 0.68) 42%, rgba(0, 216, 255, 0.2)),
        linear-gradient(rgba(76, 244, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(76, 244, 255, 0.1) 1px, transparent 1px);
}

.package-simulation-page .competition-page-banner::after {
    background: radial-gradient(circle, rgba(0, 216, 255, 0.22), transparent 72%);
}

.simlab-shell {
    display: flex;
    flex-direction: column;
    gap: 26px;
    width: 100%;
}

.simlab-intro,
.simlab-console,
.simlab-library-card,
.simlab-side-note,
.simlab-tool-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(0, 216, 255, 0.42);
    background: linear-gradient(180deg, rgba(5, 14, 34, 0.98), rgba(4, 11, 28, 0.96));
    box-shadow:
        0 0 0 1px rgba(0, 216, 255, 0.06) inset,
        0 20px 44px rgba(0, 0, 0, 0.28),
        0 0 28px rgba(0, 216, 255, 0.08);
}

.simlab-intro::before,
.simlab-console::before,
.simlab-library-card::before,
.simlab-side-note::before,
.simlab-tool-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(0, 216, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 216, 255, 0.04) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}

.simlab-intro > *,
.simlab-console > *,
.simlab-library-card > *,
.simlab-side-note > *,
.simlab-tool-card > * {
    position: relative;
    z-index: 1;
}

.simlab-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.9fr);
    gap: 24px;
    padding: 28px 30px;
    border-radius: 28px;
}

.simlab-intro-copy h2 {
    margin: 0 0 12px;
    color: #ecfeff;
    font-size: 42px;
    line-height: 1.14;
    letter-spacing: -0.8px;
}

.simlab-intro-copy p {
    margin: 0;
    color: #89b9d3;
    line-height: 1.85;
    max-width: 760px;
}

.simlab-intro-badges {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 12px;
}

.simlab-intro-badges span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    color: #cbf9ff;
    background: rgba(0, 216, 255, 0.08);
    border: 1px solid rgba(0, 216, 255, 0.3);
    box-shadow: 0 0 16px rgba(0, 216, 255, 0.08);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.simlab-console {
    padding: 12px;
    border-radius: 30px;
}

.simlab-console-topbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 12px 18px 14px;
    border-bottom: 1px solid rgba(0, 216, 255, 0.28);
}

.simlab-lights {
    display: flex;
    gap: 10px;
}

.simlab-lights span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.simlab-lights span:nth-child(1) { background: #ff6d5d; }
.simlab-lights span:nth-child(2) { background: #f7c84d; }
.simlab-lights span:nth-child(3) { background: #2fd16b; }

.simlab-console-title {
    color: #ecfeff;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.simlab-console-mode {
    color: #59efff;
    font-size: 13px;
    font-weight: 600;
}

.simlab-console-grid {
    display: grid;
    grid-template-columns: 190px minmax(0, 1.8fr) 220px;
    gap: 16px;
    padding: 16px 6px 10px;
}

.simlab-sidebar,
.simlab-stage-panel,
.simlab-params-panel {
    min-height: 420px;
    padding: 18px;
    border: 1px solid rgba(0, 216, 255, 0.32);
    background: rgba(7, 16, 38, 0.92);
    box-shadow: 0 0 0 1px rgba(0, 216, 255, 0.06) inset;
}

.simlab-panel-title {
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 216, 255, 0.22);
    color: #7ff6ff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
}

.simlab-mode-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.simlab-mode-btn,
.simlab-start-btn {
    border: 1px solid rgba(0, 216, 255, 0.24);
    color: #d6fbff;
    background: linear-gradient(180deg, rgba(18, 63, 105, 0.74), rgba(10, 39, 72, 0.88));
}

.simlab-mode-btn {
    min-height: 44px;
    padding: 0 14px;
    font-size: 15px;
    cursor: default;
    box-shadow: 0 0 16px rgba(0, 216, 255, 0.06);
}

.simlab-mode-btn.is-active {
    color: #061027;
    background: linear-gradient(135deg, #4cf4ff, #1da1ff);
    box-shadow: 0 0 18px rgba(76, 244, 255, 0.24);
}

.simlab-stage-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: stretch;
    aspect-ratio: 16 / 9;
    min-height: auto;
}

.simlab-stage-panel {
    padding-left: 16px;
    padding-right: 16px;
}

.simlab-stage {
    flex: 1;
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border: 1px solid rgba(0, 216, 255, 0.36);
    background:
        radial-gradient(circle at center, rgba(0, 216, 255, 0.05), transparent 42%),
        linear-gradient(180deg, rgba(10, 18, 44, 0.96), rgba(8, 14, 32, 0.92));
}

.simlab-chip {
    position: relative;
    width: 220px;
    height: 120px;
    border: 3px solid #15e9ff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 0 0 1px rgba(21, 233, 255, 0.16) inset,
        0 0 24px rgba(21, 233, 255, 0.12);
}

.simlab-chip-core {
    position: relative;
    width: 86px;
    height: 44px;
    border: 2px solid #15e9ff;
    background: linear-gradient(180deg, rgba(11, 47, 90, 0.96), rgba(7, 25, 52, 0.92));
    box-shadow: 0 0 18px rgba(21, 233, 255, 0.14);
}

.simlab-chip-line {
    position: absolute;
    width: 20px;
    height: 20px;
    border-top: 3px solid #ffcc00;
}

.simlab-chip-line-a {
    left: 54px;
    top: 34px;
    border-left: 3px solid #ffcc00;
}

.simlab-chip-line-b {
    right: 54px;
    top: 34px;
    border-right: 3px solid #ffcc00;
}

.simlab-stage-labels {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.simlab-stage-labels span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    color: #7ff6ff;
    background: rgba(0, 216, 255, 0.08);
    border: 1px solid rgba(0, 216, 255, 0.22);
    font-size: 12px;
    font-weight: 600;
}

.simlab-start-btn {
    min-width: 220px;
    min-height: 54px;
    margin-top: 16px;
    justify-self: center;
    color: #bffaff;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.04em;
    box-shadow: 0 0 24px rgba(0, 216, 255, 0.12);
}

.simlab-params-panel {
    display: flex;
    flex-direction: column;
}

.simlab-params-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.simlab-param-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 216, 255, 0.18);
}

.simlab-param-row span {
    color: #c0e7ff;
}

.simlab-param-row strong {
    min-width: 92px;
    padding: 6px 10px;
    color: #7ff6ff;
    text-align: center;
    border: 1px solid rgba(0, 216, 255, 0.34);
    background: rgba(0, 216, 255, 0.06);
    font-size: 18px;
}

.simlab-predict-box {
    margin-top: auto;
    padding-top: 28px;
    text-align: center;
}

.simlab-predict-box span {
    display: block;
    margin-bottom: 14px;
    color: #ffdb48;
    font-size: 18px;
    font-weight: 700;
}

.simlab-predict-box strong {
    color: #ffeb66;
    font-size: 38px;
    line-height: 1.1;
    text-shadow: 0 0 18px rgba(255, 219, 72, 0.18);
}

.simlab-statusbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 10px;
    padding: 10px 16px 4px;
    color: #96bdd8;
    font-size: 14px;
}

.simlab-statusbar strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 30px;
    color: #7ff6ff;
    background: rgba(0, 216, 255, 0.1);
    border: 1px solid rgba(0, 216, 255, 0.22);
    font-size: 13px;
    font-weight: 700;
}

.simlab-library-grid,
.simlab-bottom-grid {
    display: grid;
    gap: 22px;
}

.simlab-library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.simlab-bottom-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr);
}

.simlab-library-card,
.simlab-side-note {
    padding: 24px 26px;
    border-radius: 28px;
}

.simlab-library-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.simlab-library-dot {
    width: 10px;
    height: 40px;
    border-radius: 999px;
    background: linear-gradient(180deg, #4cf4ff, #168dff);
    box-shadow: 0 0 18px rgba(76, 244, 255, 0.24);
}

.simlab-library-head h3,
.simlab-side-note h3 {
    margin: 0;
    color: #ecfeff;
    font-size: 30px;
    line-height: 1.18;
}

.simlab-library-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.simlab-library-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    color: #cbf9ff;
    background: linear-gradient(180deg, rgba(14, 60, 110, 0.72), rgba(8, 35, 66, 0.9));
    border: 1px solid rgba(0, 216, 255, 0.24);
    box-shadow: 0 0 16px rgba(0, 216, 255, 0.06);
    font-size: 14px;
    font-weight: 600;
}

.simlab-library-tags-wide span {
    min-height: 40px;
}

.simlab-library-card p,
.simlab-side-note p {
    margin: 0;
    color: #89b9d3;
    line-height: 1.8;
}

.simlab-tools-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.simlab-tool-card {
    padding: 22px 24px;
    border-radius: 24px;
}

.simlab-tool-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    min-height: 28px;
    padding: 0 12px;
    color: #0b1530;
    background: linear-gradient(135deg, #4cf4ff, #1da1ff);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.simlab-tool-card h4 {
    margin: 16px 0 10px;
    color: #ecfeff;
    font-size: 28px;
    line-height: 1.2;
}

.simlab-tool-card p {
    margin: 0;
    color: #89b9d3;
    line-height: 1.75;
}

.package-simulation-page .competition-mini-list li {
    color: #89b9d3;
}

@media (max-width: 1260px) {
    .simlab-console-grid {
        grid-template-columns: 180px minmax(0, 1.6fr);
    }

    .simlab-params-panel {
        grid-column: span 2;
        min-height: auto;
    }

    .simlab-params-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .simlab-predict-box {
        margin-top: 18px;
        padding-top: 18px;
    }

    .simlab-library-grid,
    .simlab-bottom-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 960px) {
    .simlab-intro {
        grid-template-columns: minmax(0, 1fr);
    }

    .simlab-console-grid,
    .simlab-tools-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .simlab-sidebar,
    .simlab-stage-panel,
    .simlab-params-panel {
        min-height: auto;
    }

    .simlab-stage-panel {
        aspect-ratio: auto;
    }

    .simlab-stage {
        min-height: 320px;
    }

    .simlab-params-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .simlab-statusbar {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .package-simulation-page .container {
        padding-left: 8px;
        padding-right: 8px;
    }

    .package-simulation-page .content-page {
        padding: 24px 0 44px;
    }

    .package-simulation-page .simlab-shell {
        width: calc(100vw - 16px);
        max-width: calc(100vw - 16px);
        margin-left: calc(50% - 50vw + 8px);
        margin-right: calc(50% - 50vw + 8px);
    }

    .simlab-intro,
    .simlab-console,
    .simlab-library-card,
    .simlab-side-note,
    .simlab-tool-card {
        border-radius: 22px;
    }

    .simlab-intro,
    .simlab-library-card,
    .simlab-side-note,
    .simlab-tool-card {
        padding: 20px;
    }

    .simlab-console {
        padding: 10px;
    }

    .simlab-console-topbar {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .simlab-console-title {
        text-align: left;
        font-size: 20px;
    }

    .simlab-intro-copy h2 {
        font-size: 32px;
    }

    .simlab-stage {
        min-height: 260px;
    }

    .simlab-chip {
        width: 160px;
        height: 96px;
    }

    .simlab-chip-core {
        width: 68px;
        height: 36px;
    }

    .simlab-chip-line-a {
        left: 38px;
    }

    .simlab-chip-line-b {
        right: 38px;
    }

    .simlab-start-btn {
        width: 100%;
        min-width: 0;
        font-size: 20px;
    }

    .simlab-library-head h3,
    .simlab-side-note h3,
    .simlab-tool-card h4 {
        font-size: 24px;
    }

    .simlab-predict-box strong {
        font-size: 32px;
    }
}

/* Animation */
.fade-in {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Product Detail Page */
.product-detail-page {
    background:
        radial-gradient(circle at 10% 8%, rgba(51, 139, 255, 0.12), transparent 20%),
        radial-gradient(circle at 88% 18%, rgba(61, 226, 255, 0.12), transparent 22%),
        linear-gradient(180deg, #eef5ff 0%, #f9fbff 240px, #ffffff 241px);
}

.product-detail-page .page-banner-content {
    max-width: 760px;
    text-align: left;
    padding: 0 20px;
}

.product-detail-page .page-banner-content h1 {
    font-size: 52px;
    letter-spacing: -1px;
    text-shadow: 0 18px 36px rgba(0, 13, 34, 0.36);
}

.product-detail-page .page-banner-content p {
    color: #93d4ff;
}

.product-detail-page .content-page {
    position: relative;
    overflow: hidden;
}

.product-detail-page .content-page::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 18%, rgba(55, 158, 255, 0.08), transparent 18%),
        radial-gradient(circle at 88% 24%, rgba(65, 223, 255, 0.08), transparent 18%),
        linear-gradient(rgba(120, 167, 224, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 167, 224, 0.05) 1px, transparent 1px);
    background-size: auto, auto, 42px 42px, 42px 42px;
    pointer-events: none;
}

.product-detail-page .container {
    position: relative;
    z-index: 1;
}

.product-detail {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 249, 255, 0.96));
    border-radius: 28px;
    border: 1px solid rgba(126, 166, 224, 0.16);
    padding: 40px;
    box-shadow: 0 22px 48px rgba(15, 36, 68, 0.1);
    overflow: hidden;
    backdrop-filter: blur(14px);
}

.product-detail::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #35d3ff 0%, #2167ff 100%);
}

.product-detail-grid {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 50px;
}

.product-detail-images {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.product-detail-main-img {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background:
        radial-gradient(circle at center, rgba(83, 214, 255, 0.08), transparent 48%),
        linear-gradient(180deg, #eef5ff 0%, #f9fbff 100%);
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(126, 166, 224, 0.14);
}

.product-detail-main-img::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(128, 173, 224, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(128, 173, 224, 0.08) 1px, transparent 1px);
    background-size: 32px 32px;
}

.product-detail-main-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
    z-index: 1;
    filter: drop-shadow(0 18px 22px rgba(17, 47, 96, 0.22));
}

.product-detail-thumb {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.product-detail-thumb img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 14px;
    cursor: pointer;
    border: 1px solid rgba(126, 166, 224, 0.16);
    background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(244,249,255,0.96));
    padding: 6px;
    transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.product-detail-thumb img:hover,
.product-detail-thumb img.active {
    border-color: #2167ff;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(33, 103, 255, 0.16);
}

.product-detail-info h2 {
    font-size: 34px;
    color: #11284c;
    margin-bottom: 12px;
    line-height: 1.25;
}

.product-detail-desc {
    font-size: 16px;
    color: #278cff;
    margin-bottom: 28px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid rgba(126, 166, 224, 0.16);
    background: rgba(237, 245, 255, 0.86);
    display: inline-flex;
}

.product-detail-content h3 {
    font-size: 18px;
    color: #11284c;
    margin: 28px 0 14px;
    padding-left: 14px;
    position: relative;
}

.product-detail-content h3:first-child {
    margin-top: 0;
}

.product-detail-content h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #35d3ff, #2167ff);
}

.product-detail-content p {
    font-size: 15px;
    color: #55657c;
    line-height: 2;
}

.product-detail-content ul {
    padding-left: 20px;
    margin: 10px 0;
}

.product-detail-content ul li {
    list-style: disc;
    font-size: 15px;
    color: #55657c;
    margin-bottom: 8px;
    line-height: 1.8;
}

.product-detail-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
    border: 1px solid rgba(126, 166, 224, 0.12);
    border-radius: 18px;
    overflow: hidden;
}

.product-detail-table tr {
    border-bottom: 1px solid rgba(126, 166, 224, 0.12);
    background: rgba(255,255,255,0.74);
}

.product-detail-table td {
    padding: 14px 18px;
    font-size: 15px;
}

.product-detail-table td:first-child {
    color: #7186a3;
    width: 170px;
    background: rgba(237, 245, 255, 0.72);
}

.product-detail-table td:last-child {
    color: #11284c;
}

.product-detail-action {
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid rgba(126, 166, 224, 0.12);
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.product-detail-action .btn {
    border-radius: 12px;
    text-align: center;
}

.product-detail-action .btn-primary {
    background: linear-gradient(135deg, #1ab7ff 0%, #2167ff 100%);
    box-shadow: 0 12px 24px rgba(33, 103, 255, 0.2);
}

.detail-back-nav {
    margin-bottom: 22px;
}

.detail-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: 999px;
    border: 1px solid rgba(126, 166, 224, 0.2);
    background: rgba(255, 255, 255, 0.82);
    color: #1d4f9c;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(16, 38, 72, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.detail-back-link::before {
    content: '←';
    font-size: 14px;
    line-height: 1;
}

.detail-back-link:hover {
    transform: translateY(-2px);
    border-color: rgba(33, 103, 255, 0.28);
    color: #2167ff;
    box-shadow: 0 18px 30px rgba(16, 38, 72, 0.12);
}

.product-detail-related {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid rgba(126, 166, 224, 0.12);
}

.product-detail-related h3 {
    font-size: 22px;
    color: #11284c;
    margin-bottom: 30px;
}

@media (max-width: 992px) {
    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .product-detail-images {
        max-width: 400px;
        margin: 0 auto;
    }
    
    .product-detail-action {
        flex-direction: column;
    }
}

/* Mobile Responsive Fixes */
@media (max-width: 768px) {
    .mobile-nav {
        box-shadow: 0 12px 24px rgba(10, 24, 48, 0.08);
    }

    .header-inner {
        height: 60px;
    }
    
    .logo img {
        height: 30px;
    }
    
    .header-phone {
        font-size: 14px;
    }
    
    .banner {
        height: 250px;
    }

    .home-hero {
        height: auto;
        min-height: 0;
    }

    .banner-slider {
        height: auto;
    }

    .banner-slide {
        min-height: auto;
    }
    
    .banner-content h2 {
        font-size: 24px;
    }
    
    .banner-content p {
        font-size: 14px;
    }
    
    /* 下载页面移动端样式 */
    .download-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .download-actions {
        width: 100%;
        justify-content: space-between;
    }
    
    .download-btn {
        flex: 1;
        text-align: center;
        padding: 12px;
        font-size: 14px;
    }
    
    .view-btn {
        flex: 1;
    }

    .home-hero .hero-slider {
        min-height: 0;
        padding-bottom: 88px;
    }

    .mobile-nav-header {
        padding: 12px 16px;
    }

    .mobile-nav-header img {
        height: 28px;
        max-width: min(240px, calc(100vw - 92px));
    }

    .home-hero .banner-slide {
        padding: 88px 0 64px;
    }

    .home-hero .hero-slide {
        position: absolute;
        inset: 0;
        min-height: 0;
        padding: 88px 0 56px;
    }

    .home-hero .hero-slide.is-active {
        position: relative;
        inset: auto;
    }

    .hero-layout {
        grid-template-columns: 1fr;
        gap: 24px;
        align-items: start;
    }

    .hero-copy {
        max-width: none;
        text-align: left;
    }

    .hero-kicker {
        max-width: 100%;
        flex-wrap: wrap;
        margin-bottom: 14px;
        padding: 7px 12px;
        font-size: 11px;
        letter-spacing: 1px;
        line-height: 1.5;
    }

    .hero-copy h1 {
        font-size: 30px;
        margin-bottom: 14px;
    }

    .hero-copy p {
        margin-bottom: 22px;
        font-size: 14px;
        line-height: 1.75;
    }

    .hero-actions {
        gap: 10px;
        margin-bottom: 20px;
    }

    .home-hero .btn {
        min-width: 0;
        flex: 1 1 calc(50% - 5px);
        padding: 13px 16px;
        border-radius: 12px;
        text-align: center;
    }

    .hero-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .hero-metric {
        padding: 16px 14px;
        border-radius: 14px;
    }

    .hero-metric strong {
        font-size: 22px;
        margin-bottom: 6px;
    }

    .hero-metric span {
        font-size: 11px;
        letter-spacing: 0.4px;
    }

    .hero-panel {
        width: 100%;
        margin-top: 4px;
        min-height: 0;
    }

    .hero-panel::before,
    .hero-scanline,
    .hero-light-cone,
    .hero-floating-chip,
    .hero-data-orb,
    .hero-energy-cube,
    .hero-chip-card {
        display: none;
    }

    .home-fx-beam,
    .home-fx-orbit {
        display: none;
    }

    .hero-mobile-art {
        position: relative;
        display: flex;
        align-items: flex-end;
        min-height: 260px;
        padding: 18px;
        border-radius: 24px;
        overflow: hidden;
        border: 1px solid rgba(143, 204, 255, 0.24);
        background-image:
            linear-gradient(180deg, rgba(5, 18, 40, 0.12), rgba(5, 18, 40, 0.78)),
            url('../images/home-slide-1.jpg'),
            url('../images/banner1.jpg');
        background-size: cover, cover, cover;
        background-position: center, center, center;
        box-shadow: 0 20px 40px rgba(2, 12, 28, 0.34);
    }

    .hero-mobile-art::before {
        content: '';
        position: absolute;
        inset: auto 0 0 0;
        height: 110px;
        background: linear-gradient(180deg, transparent, rgba(4, 14, 32, 0.88));
    }

    .hero-mobile-art-copy {
        position: relative;
        z-index: 1;
        display: grid;
        gap: 8px;
        max-width: 210px;
    }

    .hero-mobile-art-copy span {
        display: inline-flex;
        width: fit-content;
        padding: 6px 10px;
        border-radius: 999px;
        background: rgba(12, 88, 255, 0.28);
        color: #cde8ff;
        font-size: 10px;
        letter-spacing: 1.2px;
    }

    .hero-mobile-art-copy strong {
        font-size: 20px;
        line-height: 1.45;
        color: #fff;
    }

    .home-capability-strip {
        margin-top: 0;
        padding: 18px 0 0;
    }

    .capability-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .capability-item {
        padding: 20px 18px 18px;
        border-radius: 18px;
        box-shadow: 0 14px 28px rgba(9, 26, 57, 0.12);
    }

    .capability-item::before {
        left: 18px;
        width: 54px;
    }

    .capability-label {
        margin-bottom: 10px;
        font-size: 11px;
        letter-spacing: 1.4px;
    }

    .capability-item strong {
        font-size: 17px;
        line-height: 1.5;
    }

    .section {
        padding: 42px 0;
    }
    
    .section-title {
        font-size: 28px;
    }
    
    .section-header {
        margin-bottom: 30px;
    }

    .about-section {
        padding-top: 56px;
    }
    
    .about-content {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    
    .about-images {
        grid-template-columns: 1fr;
    }

    .about-visual-panel,
    .about-text {
        padding: 22px 18px;
        border-radius: 20px;
    }
    
    .about-text p {
        font-size: 14px;
    }

    .about-highlights,
    .about-stats {
        grid-template-columns: 1fr;
    }
    
    .product-img {
        padding-bottom: 80%;
    }
    
    .product-card h3 {
        font-size: 14px;
        padding: 15px 4px 8px;
    }
    
    .product-card p {
        font-size: 12px;
        padding: 0 4px 4px;
    }
    
    .products-grid,
    .advantages-grid,
    .partners-grid,
    .footer-content {
        grid-template-columns: 1fr;
    }

    .products-grid {
        gap: 18px;
    }

    .advantages-grid {
        gap: 15px;
    }
    
    .advantage-item {
        padding: 20px 15px;
    }
    
    .advantage-item h3 {
        font-size: 16px;
    }
    
    .advantage-item p {
        font-size: 12px;
    }
    
    .news-grid {
        grid-template-columns: 1fr;
    }
    
    .news-large {
        grid-row: auto;
    }
    
    .news-card {
        padding: 15px;
    }
    
    .news-card h3 {
        font-size: 16px;
    }
    
    .news-card p {
        font-size: 13px;
    }
    
    .news-img {
        height: 150px;
    }
    
    .partners-grid {
        gap: 15px;
    }
    
    .partner-item {
        padding: 25px 15px;
        font-size: 14px;
    }

    .partner-item-logo {
        min-height: 158px;
        gap: 10px;
        border-radius: 18px;
    }

    .partner-mark {
        min-width: 72px;
        height: 72px;
        border-radius: 20px;
        font-size: 18px;
    }

    .partner-mark-image {
        padding: 8px;
    }

    .partner-item-logo strong {
        font-size: 16px;
    }
    
    .footer-content {
        gap: 22px;
    }
    
    .footer-col h4 {
        font-size: 16px;
    }
    
    .footer-col ul a {
        font-size: 13px;
    }
    
    .footer-contact p {
        font-size: 13px;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    
    .page-banner {
        height: 250px;
    }
    
    .page-banner-content h1 {
        font-size: 28px;
    }
    
    .content-page {
        padding: 40px 0;
    }
    
    .content-box {
        padding: 25px 20px;
    }
    
    .content-box h2 {
        font-size: 20px;
    }
    
    .content-box p {
        font-size: 14px;
    }
    
    .product-list {
        grid-template-columns: 1fr;
    }
    
    .product-item {
        flex-direction: column;
    }
    
    .product-item-img {
        width: 100%;
        height: 200px;
    }
    
    .product-item-img img {
        max-height: 150px;
    }
    
    .product-item-content {
        padding: 20px;
    }
    
    .product-item-content h3 {
        font-size: 18px;
    }
    
    .product-item-content p {
        font-size: 14px;
    }
    
    .honor-grid {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }
    
    .honor-item img {
        height: 180px;
    }
    
    .honor-item h3 {
        font-size: 14px;
        padding: 15px;
    }
    
    .team-item {
        flex-direction: column;
    }
    
    .team-item-img {
        width: 100%;
        height: 200px;
    }
    
    .team-item-content {
        padding: 20px;
    }
    
    .contact-info {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .contact-item {
        padding: 20px;
    }
    
    .contact-item-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }
    
    .contact-item-content h4 {
        font-size: 13px;
    }
    
    .contact-item-content p {
        font-size: 15px;
    }
    
    .contact-form {
        padding: 25px 20px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .form-group label {
        font-size: 13px;
    }
    
    .form-group input,
    .form-group textarea {
        padding: 12px;
        font-size: 14px;
    }
    
    .form-submit .btn {
        padding: 12px 40px;
        font-size: 14px;
    }
    
    .map-container {
        height: 300px;
        margin-top: 30px;
    }
    
    .faq-question {
        padding: 15px 20px;
        font-size: 14px;
    }
    
    .faq-answer {
        padding: 0 20px 15px 55px;
        font-size: 14px;
    }
    
    .download-item {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
        text-align: center;
    }
    
    .download-btn {
        width: 100%;
    }
    
    .fixed-tools {
        display: none;
    }
    
    .product-detail {
        padding: 25px 20px;
    }
    
    .product-detail-info h2 {
        font-size: 22px;
    }
    
    .product-detail-desc {
        font-size: 14px;
    }
    
    .product-detail-content h3 {
        font-size: 16px;
    }
    
    .product-detail-content p,
    .product-detail-content ul li {
        font-size: 14px;
    }
    
    .product-detail-main-img {
        height: 280px;
    }
    
    .product-detail-thumb img {
        width: 60px;
        height: 60px;
    }
    
    .product-detail-table td {
        font-size: 13px;
        padding: 10px 0;
    }
    
    .product-detail-table td:first-child {
        width: 110px;
    }
    
    .product-detail-action .btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    body.home-page {
        padding-top: 60px;
    }

    .mobile-nav-header {
        min-height: 60px;
        padding: 10px 14px;
    }

    .mobile-nav-header img {
        height: 24px;
        max-width: min(210px, calc(100vw - 84px));
    }

    .container {
        padding: 0 15px;
    }
    
    .banner {
        height: 200px;
    }
    
    .banner-content h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    
    .banner-content p {
        font-size: 12px;
    }

    .home-hero .hero-slider {
        padding-bottom: 40px;
    }

    .home-hero .hero-slide {
        padding: 82px 0 40px;
    }

    .hero-layout {
        gap: 18px;
    }

    .hero-kicker {
        font-size: 10px;
        padding: 7px 11px;
    }

    .hero-copy h1 {
        font-size: 26px;
        line-height: 1.18;
    }

    .hero-copy p {
        font-size: 13px;
        margin-bottom: 18px;
    }

    .hero-actions {
        flex-direction: column;
    }

    .home-hero .btn {
        width: 100%;
        flex: none;
    }

    .hero-metrics {
        grid-template-columns: 1fr;
    }

    .hero-metric {
        padding: 15px 14px;
    }

    .hero-mobile-art {
        min-height: 200px;
        padding: 16px;
    }

    .hero-mobile-art-copy {
        max-width: none;
    }

    .hero-mobile-art-copy strong {
        font-size: 18px;
        line-height: 1.4;
    }

    .home-capability-strip {
        padding-top: 14px;
    }

    .capability-item {
        padding: 18px 16px 16px;
    }

    .capability-item strong {
        font-size: 16px;
    }
    
    .about-images {
        grid-template-columns: 1fr;
    }
    
    .advantages-grid {
        grid-template-columns: 1fr;
    }
    
    .advantage-item {
        padding: 25px 20px;
    }
    
    .news-img {
        height: 120px;
    }
    
    .partners-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
    }

    .about-visual-panel,
    .about-text,
    .advantage-item,
    .partner-item,
    .product-card,
    .news-card {
        border-radius: 18px;
    }
    
    .page-banner {
        height: 200px;
    }
    
    .page-banner-content h1 {
        font-size: 24px;
    }
    
    .honor-grid {
        grid-template-columns: 1fr;
    }
    
    .product-detail-main-img {
        height: 220px;
    }
}

/* News Tabs */
.news-tabs {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 40px;
    border-bottom: 1px solid #eee;
}

.news-tab {
    padding: 15px 25px;
    font-size: 16px;
    color: #666;
    border-bottom: 2px solid transparent;
    transition: all 0.3s;
}

.news-tab:hover,
.news-tab.active {
    color: #1890ff;
    border-bottom-color: #1890ff;
}

.news-page .news-tabs {
    gap: 18px;
    padding: 12px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    border-radius: 22px;
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 18px 38px rgba(16, 38, 72, 0.08);
    backdrop-filter: blur(12px);
    border-bottom: none;
}

.news-page .news-tab {
    padding: 13px 22px;
    border-radius: 14px;
    border-bottom: none;
}

.news-page .news-tab:hover,
.news-page .news-tab.active {
    color: #fff;
    background: linear-gradient(135deg, var(--page-accent-2) 0%, var(--page-accent) 100%);
    box-shadow: 0 10px 20px rgba(33, 103, 255, 0.2);
}

/* News List */
.news-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.news-item {
    display: flex;
    gap: 30px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: all 0.3s;
    text-decoration: none;
    color: inherit;
}

.news-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.news-item-img {
    width: 300px;
    height: 200px;
    flex-shrink: 0;
    overflow: hidden;
}

.news-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.news-item:hover .news-item-img img {
    transform: scale(1.1);
}

.news-item-content {
    flex: 1;
    padding: 25px 25px 25px 0;
    display: flex;
    flex-direction: column;
}

.news-item-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.news-tag {
    background: #e6f7ff;
    color: #1890ff;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
}

.news-date {
    color: #999;
    font-size: 13px;
}

.news-item-content h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.4;
}

.news-item-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    flex: 1;
}

.news-page .news-item {
    border: 1px solid rgba(126, 167, 224, 0.14);
    border-radius: 24px;
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
}

.news-page .news-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 56px rgba(10, 30, 60, 0.14);
}

.news-page .news-item-img {
    position: relative;
}

.news-page .news-item-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 26, 54, 0.04), rgba(7, 26, 54, 0.28));
}

.news-icon {
    font-size: 48px;
    color: #1890ff;
    z-index: 1;
    position: relative;
}

.news-page .news-item-content {
    padding-right: 30px;
}

.news-page .news-tag {
    background: color-mix(in srgb, var(--page-accent) 14%, white);
    color: var(--page-accent);
    border-radius: 999px;
}

.news-page .news-date {
    color: color-mix(in srgb, var(--page-title) 50%, white);
}

.news-page .news-item-content h3 {
    color: var(--page-title);
}

.news-page .news-item-content p {
    color: var(--page-text);
}

.news-showcase-page {
    --news-dark: #04101f;
    --news-dark-2: #0a1b31;
    --news-cyan: #6ef7d3;
    --news-mint: #0cc8a2;
    --news-line: rgba(148, 255, 232, 0.18);
    background:
        radial-gradient(circle at 12% 8%, rgba(17, 215, 168, 0.16), transparent 18%),
        linear-gradient(180deg, #071423 0%, #0a1829 620px, #effcf8 621px, #f7fffc 100%);
}

.news-showcase-main {
    position: relative;
    overflow: hidden;
}

.news-showcase-hero {
    position: relative;
    min-height: calc(100vh - 80px);
    padding: 88px 0 70px;
    background:
        linear-gradient(115deg, rgba(2, 10, 23, 0.96) 8%, rgba(4, 24, 42, 0.92) 42%, rgba(7, 70, 60, 0.62) 100%),
        radial-gradient(circle at 74% 28%, rgba(106, 247, 222, 0.2), transparent 18%),
        url('../images/banner1.jpg');
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.news-showcase-hero::before,
.news-showcase-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.news-showcase-hero::before {
    background:
        linear-gradient(rgba(118, 251, 222, 0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(118, 251, 222, 0.09) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.82), transparent 90%);
}

.news-showcase-hero::after {
    background:
        radial-gradient(circle at 50% 120%, rgba(110, 247, 211, 0.18), transparent 38%),
        linear-gradient(180deg, transparent 0%, rgba(1, 9, 18, 0.46) 72%, rgba(1, 9, 18, 0.72) 100%);
}

.news-showcase-grid {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(126, 253, 227, 0.1) 0, rgba(126, 253, 227, 0.1) 1px, transparent 1px, transparent calc(20% - 1px)),
        linear-gradient(rgba(126, 253, 227, 0.06) 0, rgba(126, 253, 227, 0.06) 1px, transparent 1px, transparent 96px);
    background-size: 20% 100%, 100% 96px;
    opacity: 0.35;
    transform: perspective(960px) rotateX(70deg) translateY(32%);
    transform-origin: center bottom;
}

.news-showcase-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: 54px;
    align-items: center;
}

.news-showcase-copy {
    max-width: 700px;
    color: #fff;
}

.news-showcase-kicker,
.news-showcase-heading span,
.news-stage-float span,
.news-strip-card span,
.news-side-card span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.news-showcase-kicker {
    margin-bottom: 24px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(133, 255, 231, 0.24);
    background: rgba(9, 30, 47, 0.52);
    color: #9effea;
}

.news-showcase-kicker::before,
.news-showcase-heading span::before,
.news-stage-float span::before,
.news-strip-card span::before,
.news-side-card span::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--news-cyan);
    box-shadow: 0 0 16px rgba(110, 247, 211, 0.65);
}

.news-showcase-copy h1 {
    margin-bottom: 22px;
    font-size: 64px;
    line-height: 1.06;
    letter-spacing: -1.6px;
    text-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.news-showcase-copy p {
    max-width: 640px;
    margin-bottom: 34px;
    color: rgba(226, 243, 239, 0.82);
    font-size: 19px;
    line-height: 1.95;
}

.news-showcase-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 34px;
}

.news-showcase-page .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 54px;
    padding: 0 28px;
    border-radius: 16px;
    font-size: 14px;
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, color 0.28s ease;
}

.news-showcase-page .btn-primary {
    color: #032319;
    background: linear-gradient(135deg, #9dffe6 0%, #38f5c6 100%);
    box-shadow: 0 18px 34px rgba(26, 210, 162, 0.24);
}

.news-showcase-page .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 42px rgba(26, 210, 162, 0.3);
}

.news-showcase-page .btn-outline {
    color: #eafff7;
    border: 1px solid rgba(146, 255, 232, 0.26);
    background: rgba(9, 30, 47, 0.42);
}

.news-showcase-page .btn-outline:hover {
    transform: translateY(-2px);
    background: rgba(68, 226, 189, 0.12);
}

.news-showcase-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.news-showcase-metric {
    padding: 22px;
    border-radius: 22px;
    border: 1px solid rgba(148, 255, 232, 0.14);
    background: linear-gradient(180deg, rgba(9, 28, 45, 0.68), rgba(7, 22, 35, 0.34));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
}

.news-showcase-metric strong {
    display: block;
    margin-bottom: 8px;
    font-size: 34px;
    line-height: 1;
}

.news-showcase-metric span {
    color: rgba(213, 240, 233, 0.72);
    font-size: 13px;
    letter-spacing: 1px;
}

.news-showcase-stage {
    position: relative;
    min-height: 620px;
}

.news-stage-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(20px);
    pointer-events: none;
}

.news-stage-glow-a {
    top: 3%;
    right: 6%;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(126, 255, 232, 0.34), transparent 70%);
}

.news-stage-glow-b {
    left: 8%;
    bottom: 4%;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(31, 195, 160, 0.28), transparent 70%);
}

.news-stage-device {
    position: relative;
    margin-left: auto;
    width: min(100%, 560px);
    min-height: 620px;
}

.news-stage-screen {
    position: absolute;
    inset: 42px 20px 42px 66px;
    overflow: hidden;
    border-radius: 34px;
    border: 1px solid rgba(155, 255, 236, 0.22);
    background: linear-gradient(180deg, rgba(8, 24, 39, 0.86), rgba(7, 21, 35, 0.7));
    box-shadow: 0 34px 74px rgba(0, 0, 0, 0.34);
}

.news-stage-screen::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(1, 10, 20, 0.1), rgba(1, 10, 20, 0.46)),
        linear-gradient(125deg, rgba(149, 255, 232, 0.18), transparent 28%, transparent 62%, rgba(149, 255, 232, 0.16));
    z-index: 1;
}

.news-stage-screen img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-stage-screen-copy {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 2;
    color: #fff;
}

.news-stage-screen-copy span {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(6, 24, 34, 0.55);
    border: 1px solid rgba(163, 255, 238, 0.22);
    color: #b4fff0;
    font-size: 12px;
    letter-spacing: 2px;
}

.news-stage-screen-copy strong {
    display: block;
    margin-bottom: 8px;
    font-size: 42px;
    line-height: 1.05;
}

.news-stage-screen-copy p {
    color: rgba(229, 246, 241, 0.82);
    font-size: 15px;
    line-height: 1.8;
}

.news-stage-float {
    position: absolute;
    width: 220px;
    padding: 20px 18px;
    border-radius: 24px;
    border: 1px solid rgba(148, 255, 232, 0.16);
    background: linear-gradient(180deg, rgba(9, 28, 45, 0.86), rgba(7, 21, 35, 0.72));
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.28);
    color: #fff;
    backdrop-filter: blur(14px);
}

.news-stage-float strong {
    display: block;
    margin: 10px 0 8px;
    font-size: 24px;
    line-height: 1.2;
}

.news-stage-float p {
    color: rgba(223, 244, 238, 0.72);
    font-size: 13px;
    line-height: 1.8;
}

.news-stage-float-top {
    top: 0;
    left: 0;
}

.news-stage-float-bottom {
    right: 0;
    bottom: 12px;
}

.news-showcase-strip {
    position: relative;
    z-index: 2;
    margin-top: -48px;
}

.news-showcase-strip-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.news-strip-card {
    padding: 24px 26px;
    border-radius: 28px;
    border: 1px solid rgba(154, 255, 235, 0.14);
    background: linear-gradient(180deg, rgba(7, 23, 36, 0.88), rgba(10, 26, 41, 0.76));
    color: #fff;
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(12px);
}

.news-strip-card strong {
    display: block;
    margin-top: 14px;
    font-size: 20px;
    line-height: 1.6;
}

.news-showcase-content {
    padding-top: 80px;
}

.news-showcase-heading {
    max-width: 760px;
    margin-bottom: 32px;
}

.news-showcase-heading span {
    margin-bottom: 18px;
    color: #13a482;
}

.news-showcase-heading h2 {
    margin-bottom: 14px;
    font-size: 42px;
    line-height: 1.16;
    color: #102c29;
    letter-spacing: -0.8px;
}

.news-showcase-heading p {
    color: #5f7773;
    font-size: 16px;
    line-height: 1.95;
}

.news-showcase-focus,
.news-showcase-highlight,
.news-showcase-feed {
    margin-top: 42px;
}

.news-focus-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 24px;
}

.news-focus-main {
    overflow: hidden;
    border-radius: 34px;
    border: 1px solid rgba(102, 188, 166, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(243, 252, 248, 0.98));
    box-shadow: 0 24px 52px rgba(9, 37, 31, 0.09);
}

.news-focus-media {
    position: relative;
    min-height: 420px;
}

.news-focus-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(3, 18, 18, 0.02), rgba(3, 18, 18, 0.22));
}

.news-focus-media img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.news-focus-body {
    padding: 30px 32px 34px;
}

.news-focus-body h3 {
    margin-bottom: 14px;
    color: #0d2d2a;
    font-size: 32px;
    line-height: 1.25;
}

.news-focus-body p {
    color: #617b76;
    font-size: 16px;
    line-height: 1.95;
}

.news-focus-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 22px;
    padding: 0 22px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #1fd2a9 0%, #089b7b 100%);
    box-shadow: 0 16px 28px rgba(12, 173, 136, 0.18);
}

.news-focus-link:hover {
    transform: translateY(-2px);
}

.news-focus-side {
    display: grid;
    gap: 18px;
}

.news-side-card {
    padding: 26px 24px;
    border-radius: 26px;
    border: 1px solid rgba(102, 188, 166, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 252, 249, 0.98));
    box-shadow: 0 20px 42px rgba(9, 37, 31, 0.08);
}

.news-side-card strong {
    display: block;
    margin: 12px 0 10px;
    color: #102c29;
    font-size: 24px;
    line-height: 1.3;
}

.news-side-card p {
    color: #617b76;
    font-size: 14px;
    line-height: 1.85;
}

.news-highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.news-highlight-card {
    position: relative;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(102, 188, 166, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 250, 247, 0.98)),
        radial-gradient(circle at top right, rgba(107, 245, 216, 0.16), transparent 28%);
    box-shadow: 0 22px 48px rgba(9, 37, 31, 0.08);
}

.news-highlight-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 18px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #07382f;
    font-weight: 700;
    background: linear-gradient(135deg, #a8ffea 0%, #48f0c7 100%);
    box-shadow: 0 14px 24px rgba(17, 185, 148, 0.18);
}

.news-highlight-card h3 {
    margin-bottom: 12px;
    color: #102c29;
    font-size: 24px;
}

.news-highlight-card p {
    color: #617b76;
    font-size: 15px;
    line-height: 1.88;
}

.news-timeline-list {
    position: relative;
    gap: 24px;
}

.news-timeline-list::before {
    content: '';
    position: absolute;
    left: 150px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: linear-gradient(180deg, rgba(9, 155, 123, 0.22), rgba(9, 155, 123, 0.04));
}

.news-timeline-item {
    position: relative;
    margin-left: 56px;
}

.news-timeline-item::before {
    content: '';
    position: absolute;
    left: -42px;
    top: 54px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #9dffe6 0%, #0cc8a2 100%);
    box-shadow: 0 0 0 8px rgba(12, 200, 162, 0.12);
}

@media (max-width: 1200px) {
    .news-showcase-copy h1 {
        font-size: 56px;
    }

    .news-showcase-hero-inner,
    .news-focus-layout {
        grid-template-columns: 1fr;
    }

    .news-showcase-stage {
        min-height: 560px;
    }

    .news-stage-device {
        margin: 0 auto;
    }

    .news-showcase-strip-inner,
    .news-highlight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .news-showcase-hero {
        min-height: auto;
        padding: 68px 0 54px;
    }

    .news-showcase-hero-inner {
        gap: 34px;
    }

    .news-showcase-copy h1 {
        font-size: 40px;
        line-height: 1.12;
    }

    .news-showcase-copy p,
    .news-showcase-heading p,
    .news-focus-body p,
    .news-highlight-card p {
        font-size: 15px;
    }

    .news-showcase-metrics,
    .news-showcase-strip-inner,
    .news-highlight-grid {
        grid-template-columns: 1fr;
    }

    .news-showcase-stage,
    .news-stage-device {
        min-height: 420px;
    }

    .news-stage-screen {
        inset: 28px 0 90px;
    }

    .news-stage-screen-copy {
        left: 22px;
        right: 22px;
        bottom: 24px;
    }

    .news-stage-screen-copy strong {
        font-size: 28px;
    }

    .news-stage-float {
        position: absolute;
        width: auto;
        max-width: 210px;
        padding: 16px 15px;
    }

    .news-stage-float strong {
        font-size: 18px;
    }

    .news-stage-float-top {
        top: 0;
        left: 8px;
    }

    .news-stage-float-bottom {
        right: 8px;
        bottom: 0;
    }

    .news-showcase-strip {
        margin-top: -24px;
    }

    .news-showcase-content {
        padding-top: 54px;
    }

    .news-showcase-heading h2 {
        font-size: 30px;
    }

    .news-focus-media,
    .news-focus-media img {
        min-height: 260px;
    }

    .news-focus-body {
        padding: 22px 20px 24px;
    }

    .news-focus-body h3 {
        font-size: 24px;
    }

    .news-side-card strong,
    .news-highlight-card h3 {
        font-size: 20px;
    }

    .news-timeline-list::before,
    .news-timeline-item::before {
        display: none;
    }

    .news-timeline-item {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .detail-back-nav {
        margin-bottom: 18px;
    }

    .detail-back-link {
        width: 100%;
        justify-content: center;
    }

    .product-detail-page .page-banner-content {
        text-align: center;
    }

    .product-detail-page .page-banner-content h1 {
        font-size: 34px;
    }

    .about-page .page-banner-content,
    .news-page .page-banner-content,
    .cases-page .page-banner-content,
    .competition-page .page-banner-content,
    .download-page .page-banner-content,
    .videos-page .page-banner-content,
    .contact-page .page-banner-content {
        text-align: center;
    }

    .about-page .page-banner-content h1,
    .news-page .page-banner-content h1,
    .cases-page .page-banner-content h1,
    .competition-page .page-banner-content h1,
    .download-page .page-banner-content h1,
    .videos-page .page-banner-content h1,
    .contact-page .page-banner-content h1 {
        font-size: 36px;
    }

    .page-banner-tag {
        margin-top: 12px;
        padding: 7px 12px;
        font-size: 11px;
        letter-spacing: 1.4px;
    }

    .news-tabs {
        gap: 15px;
    }
    
    .news-tab {
        padding: 12px 15px;
        font-size: 14px;
    }
    
    .news-item {
        flex-direction: column;
    }
    
    .news-item-img {
        width: 100%;
        height: 180px;
    }
    
    .news-item-content {
        padding: 20px;
    }
    
    .news-item-content h3 {
        font-size: 18px;
    }
}

/* Video Section */
.video-section {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(41, 126, 255, 0.1), transparent 22%),
        linear-gradient(180deg, #f7fbff 0%, #edf4ff 100%);
    overflow: hidden;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.video-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,255,0.98));
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(123, 164, 224, 0.12);
    box-shadow: 0 18px 34px rgba(19, 36, 68, 0.1);
    transition: all 0.3s;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.videos-page .video-section {
    background: transparent;
    padding-top: 0;
}

.videos-page .section-header {
    padding: 28px 32px;
    border-radius: 28px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
    backdrop-filter: blur(12px);
}

.videos-page .video-card {
    border: 1px solid rgba(126, 167, 224, 0.14);
    border-radius: 24px;
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
}

.videos-page .video-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 56px rgba(10, 30, 60, 0.14);
}

.videos-page .video-info h3 {
    color: var(--page-title);
}

.videos-page .video-info p {
    color: var(--page-text);
}

.video-thumbnail {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    background: #000;
    overflow: hidden;
    cursor: pointer;
}

.video-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
}

.video-play-btn::after {
    content: '';
    border-left: 20px solid #1890ff;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    margin-left: 5px;
}

.video-card:hover .video-play-btn {
    background: #1890ff;
}

.video-card:hover .video-play-btn::after {
    border-left-color: #fff;
}

.video-info {
    padding: 20px;
}

.video-info h3 {
    font-size: 16px;
    color: #13284b;
    margin-bottom: 8px;
    line-height: 1.4;
}

.video-info p {
    font-size: 13px;
    color: #7788a2;
}

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
}

.video-modal.is-open {
    display: block;
}

.video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 12, 28, 0.78);
    backdrop-filter: blur(8px);
}

.video-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(1080px, calc(100vw - 32px));
    margin: 6vh auto 0;
    padding: 20px;
    border-radius: 24px;
    background: #08172d;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
}

.video-modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.video-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 8px 36px 18px 4px;
    color: #fff;
}

.video-modal-header h3 {
    font-size: 24px;
    line-height: 1.4;
}

.video-modal-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(122, 190, 255, 0.28);
    background: rgba(23, 100, 255, 0.14);
    color: #d4e8ff;
}

.video-modal-link:hover {
    color: #fff;
    border-color: rgba(122, 190, 255, 0.5);
}

.video-modal-frame-wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    border-radius: 18px;
    background: #020811;
}

.video-modal-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.video-modal-native {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    background: #000;
    display: none;
}

.video-modal-frame.is-active,
.video-modal-native.is-active {
    display: block;
}

@media (max-width: 992px) {
    .video-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .video-grid {
        grid-template-columns: 1fr;
    }

    .video-modal-dialog {
        width: calc(100vw - 20px);
        margin-top: 10vh;
        padding: 16px;
        border-radius: 18px;
    }

    .video-modal-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding: 6px 36px 16px 2px;
    }

    .video-modal-header h3 {
        font-size: 18px;
    }

    .video-modal-link {
        min-height: 38px;
        font-size: 13px;
    }
}

/* Home Section Scenes */
.home-page [data-home-scene] {
    --section-progress: 0;
    --section-active-strength: 0;
    --scene-image: none;
    --scene-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(245, 249, 255, 0.9));
    --scene-position: center center;
    position: relative;
    isolation: isolate;
}

.home-page [data-home-scene]::before {
    z-index: 0;
}

.home-page [data-home-scene]::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--scene-overlay), var(--scene-image);
    background-size: cover, cover;
    background-position: center, var(--scene-position);
    background-repeat: no-repeat;
    opacity: 0.16;
    transform: scale(1.12) translate3d(0, calc((0.5 - var(--section-progress)) * 88px), 0);
    filter: saturate(1.02) brightness(0.84);
    transition: opacity 0.75s ease, transform 0.75s ease, filter 0.75s ease;
}

.home-page [data-home-scene] > .container {
    position: relative;
    z-index: 1;
}

.home-page [data-home-scene].is-home-active::after {
    opacity: 0.34;
    transform: scale(1.04) translate3d(0, calc((0.5 - var(--section-progress)) * 38px), 0);
    filter: saturate(1.08) brightness(0.78);
}

.home-page [data-home-scene].is-home-past::after {
    opacity: 0.2;
}

.home-page [data-home-scene] .home-section-header,
.home-page [data-home-scene] .about-text,
.home-page [data-home-scene] .about-visual-panel,
.home-page [data-home-scene] .home-news-feature,
.home-page [data-home-scene] .product-card,
.home-page [data-home-scene] .advantage-item,
.home-page [data-home-scene] .news-card,
.home-page [data-home-scene] .video-card,
.home-page [data-home-scene] .partner-item-logo {
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease, background 0.45s ease;
}

.home-page [data-home-scene].is-home-active .about-text,
.home-page [data-home-scene].is-home-active .about-visual-panel,
.home-page [data-home-scene].is-home-active .home-news-feature,
.home-page [data-home-scene].is-home-active .product-card,
.home-page [data-home-scene].is-home-active .advantage-item,
.home-page [data-home-scene].is-home-active .news-card,
.home-page [data-home-scene].is-home-active .video-card,
.home-page [data-home-scene].is-home-active .partner-item-logo {
    box-shadow: 0 24px 48px rgba(7, 20, 42, 0.16);
}

.home-page .about-section {
    --scene-image: url('../images/about1.jpg');
    --scene-overlay:
        linear-gradient(180deg, rgba(246, 250, 255, 0.78), rgba(232, 241, 255, 0.84)),
        radial-gradient(circle at 16% 42%, rgba(88, 164, 255, 0.12), transparent 18%);
    --scene-position: center 34%;
}

.home-page .products-section {
    --scene-image: url('../images/home-slide-1.jpg');
    --scene-overlay:
        linear-gradient(135deg, rgba(5, 26, 56, 0.92), rgba(11, 43, 88, 0.82) 48%, rgba(17, 71, 154, 0.72) 100%),
        radial-gradient(circle at 82% 20%, rgba(69, 162, 255, 0.16), transparent 20%);
}

.home-page .advantages-section {
    --scene-image: url('../images/home-slide-2.jpg');
    --scene-overlay:
        linear-gradient(180deg, rgba(248, 251, 255, 0.8), rgba(238, 245, 255, 0.86)),
        radial-gradient(circle at 78% 22%, rgba(83, 221, 255, 0.12), transparent 20%);
}

.home-page .news-section {
    --scene-image: url('../images/news-ictc2025.jpg');
    --scene-overlay:
        linear-gradient(180deg, rgba(7, 26, 52, 0.9), rgba(14, 35, 70, 0.86)),
        radial-gradient(circle at 18% 20%, rgba(59, 212, 255, 0.16), transparent 16%);
    --scene-position: center 26%;
}

.home-page .video-section {
    --scene-image: url('../images/home-slide-4.jpg');
    --scene-overlay:
        linear-gradient(180deg, rgba(247, 251, 255, 0.8), rgba(237, 244, 255, 0.84)),
        radial-gradient(circle at 18% 22%, rgba(67, 152, 255, 0.12), transparent 18%);
}

.home-page .partners-section {
    --scene-image: url('../images/home-slide-3.jpg');
    --scene-overlay:
        linear-gradient(135deg, rgba(5, 26, 56, 0.92), rgba(11, 43, 88, 0.82) 48%, rgba(17, 71, 154, 0.72) 100%),
        radial-gradient(circle at 82% 18%, rgba(61, 170, 255, 0.16), transparent 18%);
}

.home-page .about-section.is-home-active::after,
.home-page .products-section.is-home-active::after,
.home-page .video-section.is-home-active::after,
.home-page .partners-section.is-home-active::after {
    opacity: 0.28;
}

.home-page .advantages-section.is-home-active::after,
.home-page .news-section.is-home-active::after {
    opacity: 0.42;
}

/* Home Products redesign */
.home-page .products-section {
    background:
        linear-gradient(180deg, rgba(2, 13, 38, 0.98), rgba(2, 29, 70, 0.98) 48%, rgba(2, 11, 30, 0.98)),
        radial-gradient(ellipse at 50% 103%, rgba(0, 156, 255, 0.34), transparent 34%),
        radial-gradient(ellipse at 50% 48%, rgba(16, 84, 201, 0.34), transparent 62%);
    color: #fff;
}

.home-page .products-section::before {
    background:
        linear-gradient(135deg, transparent 0 43%, rgba(0, 164, 255, 0.18) 43% 44%, transparent 44% 56%, rgba(0, 164, 255, 0.12) 56% 57%, transparent 57%),
        linear-gradient(45deg, transparent 0 45%, rgba(0, 164, 255, 0.16) 45% 46%, transparent 46%),
        linear-gradient(rgba(27, 137, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(27, 137, 255, 0.08) 1px, transparent 1px);
    background-size: 520px 180px, 420px 160px, 44px 44px, 44px 44px;
    background-position: left bottom, right bottom, center, center;
    opacity: 0.78;
}

.home-page .products-section::after {
    background:
        radial-gradient(ellipse at 50% 102%, rgba(0, 149, 255, 0.45), transparent 24%),
        linear-gradient(180deg, rgba(1, 9, 29, 0.26), rgba(0, 48, 118, 0.14));
    opacity: 1;
    filter: none;
    transform: none;
}

body.fullpage-mode .products-section > .container,
.home-page .products-section > .container {
    position: relative;
    z-index: 1;
    width: min(1420px, calc(100% - 64px));
    max-width: none;
}

.home-products-heading {
    position: relative;
    z-index: 1;
    margin: 0 auto clamp(20px, 3vh, 34px);
    text-align: center;
}

.home-products-heading::before,
.home-products-heading::after {
    content: '';
    position: absolute;
    top: 34px;
    width: min(350px, 27vw);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(48, 173, 255, 0.86), transparent);
    box-shadow: 0 0 16px rgba(48, 173, 255, 0.48);
}

.home-products-heading::before {
    right: calc(50% + 165px);
}

.home-products-heading::after {
    left: calc(50% + 165px);
}

.home-products-heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1;
    font-weight: 900;
    text-shadow: 0 0 18px rgba(45, 158, 255, 0.7), 0 6px 0 rgba(0, 0, 0, 0.18);
}

.home-products-heading span {
    display: block;
    margin-top: 10px;
    color: #27b8ff;
    font-size: clamp(16px, 1.4vw, 23px);
    line-height: 1;
    letter-spacing: 0.36em;
}

.home-products-heading .section-intro {
    max-width: none;
    margin: 22px auto 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(17px, 1.45vw, 24px);
    line-height: 1.45;
    font-weight: 700;
}

.home-page .products-grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(14px, 1.5vw, 22px);
}

.home-page .product-card {
    flex: 0 1 calc((100% - 66px) / 4);
    min-width: 240px;
    padding: clamp(18px, 1.7vw, 26px);
    border-radius: 10px;
    border: 1px solid rgba(57, 181, 255, 0.78);
    background:
        linear-gradient(180deg, rgba(11, 52, 112, 0.7), rgba(8, 34, 83, 0.76)),
        radial-gradient(circle at 50% 34%, rgba(63, 169, 255, 0.3), transparent 58%);
    box-shadow:
        inset 0 0 28px rgba(39, 160, 255, 0.2),
        0 0 18px rgba(30, 151, 255, 0.24);
    color: #fff;
    overflow: visible;
}

.home-page .product-card::before {
    inset: -2px;
    height: auto;
    border-radius: inherit;
    background:
        linear-gradient(90deg, #2ec5ff 0 12%, transparent 12% 88%, #2ec5ff 88% 100%) top left / 100% 2px no-repeat,
        linear-gradient(90deg, #2ec5ff 0 12%, transparent 12% 88%, #2ec5ff 88% 100%) bottom left / 100% 2px no-repeat,
        linear-gradient(180deg, #2ec5ff 0 16%, transparent 16% 84%, #2ec5ff 84% 100%) top left / 2px 100% no-repeat,
        linear-gradient(180deg, #2ec5ff 0 16%, transparent 16% 84%, #2ec5ff 84% 100%) top right / 2px 100% no-repeat;
    opacity: 0.82;
    pointer-events: none;
}

.home-page .product-card::after {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: 8px;
    background: radial-gradient(circle at 50% 0, rgba(81, 184, 255, 0.22), transparent 58%);
    pointer-events: none;
}

.home-page .product-card:hover {
    transform: translateY(-8px);
    border-color: rgba(91, 211, 255, 0.98);
    box-shadow:
        inset 0 0 34px rgba(39, 160, 255, 0.27),
        0 0 28px rgba(30, 151, 255, 0.42),
        0 18px 42px rgba(0, 8, 30, 0.34);
}

.home-page .product-img,
.home-page .product-tag,
.home-page .product-card h3,
.home-page .product-card p {
    position: relative;
    z-index: 1;
}

.home-page .product-img {
    height: clamp(150px, 20vh, 230px);
    padding-bottom: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}

.home-page .product-img img {
    max-width: 86%;
    max-height: 100%;
    filter: drop-shadow(0 20px 22px rgba(0, 7, 26, 0.38));
}

.home-page .product-tag {
    gap: 9px;
    align-items: center;
    margin: 14px 0 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #31c4ff;
    font-size: clamp(14px, 1vw, 18px);
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 800;
}

.home-page .product-tag::before {
    content: '';
    width: 22px;
    height: 16px;
    flex: 0 0 auto;
    border: 2px solid currentColor;
    border-radius: 4px;
    box-shadow: inset 0 0 0 3px rgba(49, 196, 255, 0.12);
}

.home-page .product-tag[data-product-icon="wave"]::before {
    height: 14px;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(90deg, transparent 0 10%, currentColor 10% 18%, transparent 18% 30%, currentColor 30% 38%, transparent 38% 50%, currentColor 50% 58%, transparent 58%),
        linear-gradient(180deg, transparent 0 44%, currentColor 44% 56%, transparent 56%);
}

.home-page .product-tag[data-product-icon="chip"]::before,
.home-page .product-tag[data-product-icon="memory"]::before {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    background: linear-gradient(90deg, currentColor 0 2px, transparent 2px 18px, currentColor 18px);
}

.home-page .product-tag[data-product-icon="thermo"]::before {
    width: 12px;
    height: 24px;
    border-radius: 999px;
}

.home-page .product-tag[data-product-icon="eye"]::before {
    width: 24px;
    height: 14px;
    border-radius: 50%;
}

.home-page .product-tag[data-product-icon="cable"]::before {
    width: 24px;
    height: 15px;
    border-radius: 7px 7px 3px 3px;
}

.home-page .product-card h3 {
    padding: 12px 0 0;
    color: #fff;
    font-size: clamp(18px, 1.35vw, 25px);
    line-height: 1.25;
    font-weight: 900;
    text-shadow: 0 3px 12px rgba(0, 6, 24, 0.45);
}

.home-page .product-card p {
    padding: 10px 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(14px, 1vw, 18px);
    line-height: 1.4;
    font-weight: 500;
}

.home-page .products-section .section-footer {
    position: relative;
    z-index: 1;
    margin-top: clamp(18px, 2.5vh, 30px);
}

.home-products-more {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-height: 58px;
    padding: 0 36px;
    border: 1px solid rgba(77, 206, 255, 0.78);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(0, 149, 255, 0.34), rgba(0, 81, 198, 0.72)),
        radial-gradient(circle at 50% 0, rgba(85, 218, 255, 0.54), transparent 72%);
    box-shadow: inset 0 0 18px rgba(55, 207, 255, 0.38), 0 0 22px rgba(0, 149, 255, 0.42);
    color: #fff;
    font-size: clamp(20px, 1.8vw, 30px);
    line-height: 1;
    font-weight: 900;
}

.home-products-more > span {
    width: 28px;
    height: 28px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
}

.home-products-more > span::before,
.home-products-more > span::after,
.home-products-more i::before,
.home-products-more i::after {
    content: '';
    border: 2px solid currentColor;
    border-radius: 4px;
}

.home-products-more i {
    position: relative;
    width: 15px;
    height: 15px;
    border-right: 4px solid currentColor;
    border-bottom: 4px solid currentColor;
    transform: rotate(-45deg);
}

.home-products-more i::before,
.home-products-more i::after {
    display: none;
}

body.fullpage-mode .home-products-heading {
    margin-bottom: clamp(14px, 2vh, 24px);
}

body.fullpage-mode .home-products-heading h2 {
    font-size: clamp(38px, 6vh, 64px);
}

body.fullpage-mode .home-products-heading .section-intro {
    margin-top: 14px;
    font-size: clamp(16px, 2.1vh, 22px);
}

body.fullpage-mode .home-page .product-card,
body.fullpage-mode.home-page .product-card {
    flex-basis: calc((100% - 66px) / 4);
    padding: clamp(14px, 1.8vh, 22px);
    border-radius: 10px;
}

body.fullpage-mode .home-page .product-img,
body.fullpage-mode.home-page .product-img {
    height: clamp(118px, 17vh, 190px);
    padding-bottom: 0;
}

body.fullpage-mode .home-page .product-tag,
body.fullpage-mode.home-page .product-tag {
    margin-top: 10px;
    padding: 0;
    font-size: clamp(12px, 1.6vh, 16px);
}

body.fullpage-mode .home-page .product-card h3,
body.fullpage-mode.home-page .product-card h3 {
    padding-top: 8px;
    font-size: clamp(16px, 2.2vh, 22px);
}

body.fullpage-mode .home-page .product-card p,
body.fullpage-mode.home-page .product-card p {
    padding-top: 7px;
    font-size: clamp(12px, 1.6vh, 16px);
}

body.fullpage-mode .home-products-more {
    min-height: 48px;
    padding: 0 28px;
    font-size: clamp(18px, 2.4vh, 25px);
}

@media (max-width: 1100px) {
    .home-page .product-card {
        flex-basis: calc((100% - 44px) / 3);
    }

    body.fullpage-mode.home-page .product-card {
        flex-basis: calc((100% - 44px) / 3);
    }
}

@media (max-width: 767px) {
    body.fullpage-mode .products-section > .container,
    .home-page .products-section > .container {
        width: min(100% - 28px, 560px);
    }

    .home-products-heading::before,
    .home-products-heading::after {
        display: none;
    }

    .home-products-heading .section-intro {
        font-size: 16px;
    }

    .home-page .products-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .home-page .product-card,
    body.fullpage-mode.home-page .product-card {
        min-width: 0;
    }

    .home-page .product-img,
    body.fullpage-mode.home-page .product-img {
        height: 170px;
    }
}

/* Home Advantages redesign */
.home-page .advantages-section {
    background:
        linear-gradient(180deg, rgba(238, 246, 255, 0.9), rgba(231, 243, 255, 0.9)),
        radial-gradient(circle at 50% 62%, rgba(115, 217, 255, 0.24), transparent 26%),
        linear-gradient(180deg, #f7fbff 0%, #dcecff 100%);
    color: #12325f;
}

.home-page .advantages-section::before {
    background:
        linear-gradient(rgba(88, 151, 220, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(88, 151, 220, 0.07) 1px, transparent 1px),
        radial-gradient(ellipse at 50% 100%, rgba(99, 203, 255, 0.28), transparent 42%);
    background-size: 42px 42px, 42px 42px, 100% 100%;
    mask-image: none;
    opacity: 0.9;
}

.home-page .advantages-section::after {
    background:
        linear-gradient(90deg, rgba(238, 247, 255, 0.78), rgba(255, 255, 255, 0.34) 50%, rgba(238, 247, 255, 0.78)),
        url('../images/about1.jpg');
    background-size: cover, cover;
    background-position: center, center 42%;
    opacity: 0.2;
    filter: blur(2px) saturate(0.65) brightness(1.35);
    transform: scale(1.08);
}

body.fullpage-mode .advantages-section > .container,
.home-page .advantages-section > .container {
    position: relative;
    z-index: 1;
    width: min(1320px, calc(100% - 64px));
    max-width: none;
}

.home-page .advantages-section .home-section-header {
    width: min(860px, 100%);
    margin: 0 auto clamp(28px, 4vh, 48px);
    padding: clamp(28px, 4vh, 42px) 36px;
    border: 1px solid rgba(161, 190, 228, 0.22);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 45px rgba(64, 116, 184, 0.14);
    backdrop-filter: blur(16px);
    text-align: center;
}

.home-page .advantages-section .section-title {
    margin: 0;
    color: #12386f;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
    font-weight: 900;
}

.home-page .advantages-section .section-subtitle {
    margin-top: 22px;
    color: #1b4379;
    font-size: clamp(16px, 1.5vw, 22px);
    line-height: 1;
    letter-spacing: 0.46em;
    font-weight: 500;
}

.home-page .advantages-section .section-intro {
    max-width: none;
    margin-top: 22px;
    color: #31537d;
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.6;
    font-weight: 600;
}

.home-page .advantages-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
}

.home-page .advantage-item {
    min-height: clamp(330px, 42vh, 420px);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(30px, 4vh, 45px) clamp(20px, 2vw, 32px);
    border: 1px solid rgba(156, 188, 231, 0.32);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 20px 42px rgba(55, 103, 162, 0.13);
    backdrop-filter: blur(18px);
}

.home-page .advantage-icon {
    margin: 0 0 clamp(18px, 3vh, 28px);
    color: rgba(43, 103, 220, 0.22);
    font-size: clamp(34px, 3.2vw, 48px);
    line-height: 1;
    font-weight: 900;
    opacity: 1;
    letter-spacing: 0.04em;
}

.home-page .advantage-symbol {
    position: relative;
    width: 84px;
    height: 84px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: linear-gradient(180deg, #ffffff, #edf6ff);
    box-shadow: 0 16px 28px rgba(48, 100, 168, 0.16), inset 0 0 0 1px rgba(170, 201, 239, 0.24);
    color: #1e74e8;
}

.home-page .advantage-symbol::before,
.home-page .advantage-symbol::after,
.home-page .advantage-symbol span,
.home-page .advantage-symbol span::before,
.home-page .advantage-symbol span::after {
    content: '';
    position: absolute;
    display: block;
}

.home-page .advantage-symbol-rd::before,
.home-page .advantage-symbol-rd::after,
.home-page .advantage-symbol-rd span {
    top: 27px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: currentColor;
}

.home-page .advantage-symbol-rd span {
    left: 32px;
    top: 21px;
    width: 22px;
    height: 22px;
}

.home-page .advantage-symbol-rd::before {
    left: 19px;
}

.home-page .advantage-symbol-rd::after {
    right: 19px;
}

.home-page .advantage-symbol-rd span::before {
    left: -18px;
    top: 24px;
    width: 58px;
    height: 19px;
    border-radius: 18px 18px 6px 6px;
    background: currentColor;
}

.home-page .advantage-symbol-tech span {
    left: 28px;
    top: 25px;
    width: 30px;
    height: 34px;
    border-radius: 5px;
    background: currentColor;
    box-shadow:
        -12px 5px 0 -8px currentColor,
        12px 5px 0 -8px currentColor,
        -12px 17px 0 -8px currentColor,
        12px 17px 0 -8px currentColor;
}

.home-page .advantage-symbol-tech span::before {
    inset: 8px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.72);
}

.home-page .advantage-symbol-base span {
    left: 25px;
    bottom: 24px;
    width: 39px;
    height: 30px;
    background: currentColor;
    clip-path: polygon(0 18%, 26% 18%, 26% 52%, 56% 35%, 56% 52%, 100% 28%, 100% 100%, 0 100%);
}

.home-page .advantage-symbol-base span::before {
    left: 9px;
    bottom: 7px;
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 14px 0 0 rgba(255, 255, 255, 0.78);
}

.home-page .advantage-symbol-service span {
    left: 22px;
    top: 22px;
    width: 42px;
    height: 42px;
    border: 5px solid currentColor;
    border-bottom-color: transparent;
    border-radius: 50%;
}

.home-page .advantage-symbol-service span::before,
.home-page .advantage-symbol-service span::after {
    top: 24px;
    width: 9px;
    height: 18px;
    border-radius: 8px;
    background: currentColor;
}

.home-page .advantage-symbol-service span::before {
    left: -8px;
}

.home-page .advantage-symbol-service span::after {
    right: -8px;
}

.home-page .advantage-label {
    margin: 0 0 18px;
    padding: 7px 16px;
    border: 1px solid rgba(80, 141, 222, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.52);
    color: #1c3f71;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.18em;
    font-weight: 700;
}

.home-page .advantage-item h3 {
    margin: 0 0 24px;
    color: #0b3367;
    font-size: clamp(18px, 1.5vw, 24px);
    line-height: 1.25;
    font-weight: 900;
}

.home-page .advantage-item p {
    margin: 0;
    color: #2a4770;
    font-size: clamp(14px, 1vw, 17px);
    line-height: 1.85;
    font-weight: 600;
}

body.fullpage-mode .home-page .advantages-section .home-section-header,
body.fullpage-mode.home-page .advantages-section .home-section-header {
    margin-bottom: clamp(20px, 3vh, 34px);
    padding: clamp(22px, 3vh, 34px) 32px;
}

body.fullpage-mode .home-page .advantage-item,
body.fullpage-mode.home-page .advantage-item {
    min-height: clamp(300px, 40vh, 380px);
    padding: clamp(24px, 3.5vh, 38px) 24px;
}

body.fullpage-mode .home-page .advantage-symbol,
body.fullpage-mode.home-page .advantage-symbol {
    width: 76px;
    height: 76px;
}

body.fullpage-mode .home-page .advantage-item p,
body.fullpage-mode.home-page .advantage-item p {
    line-height: 1.72;
}

@media (max-width: 992px) {
    .home-page .advantages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    body.fullpage-mode .advantages-section > .container,
    .home-page .advantages-section > .container {
        width: min(100% - 28px, 560px);
    }

    .home-page .advantages-section .home-section-header {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .home-page .advantages-section .section-subtitle {
        letter-spacing: 0.28em;
    }

    .home-page .advantages-grid {
        grid-template-columns: 1fr;
    }

    .home-page .advantage-item {
        min-height: auto;
    }
}

/* Home Partners redesign */
.customers-page .customers-partners-page {
    padding: 0;
}

.customers-page .customers-partners-section {
    min-height: auto;
    padding: clamp(84px, 10vw, 140px) 0 clamp(72px, 8vw, 112px);
    background:
        radial-gradient(circle at 7% 2%, rgba(50, 125, 232, 0.12), transparent 22%),
        radial-gradient(circle at 94% 74%, rgba(41, 135, 255, 0.12), transparent 24%),
        linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
    color: #102f5e;
    overflow: hidden;
}

.customers-page .customers-partners-section::before {
    background:
        radial-gradient(circle at 0 0, rgba(41, 117, 222, 0.1) 0 1px, transparent 1.5px),
        linear-gradient(rgba(83, 142, 212, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(83, 142, 212, 0.05) 1px, transparent 1px);
    background-size: 16px 16px, 46px 46px, 46px 46px;
    mask-image: radial-gradient(circle at 3% 7%, #000, transparent 22%), linear-gradient(#000, #000);
    opacity: 0.86;
}

.customers-page .customers-partners-section::after {
    background: radial-gradient(circle at 91% 80%, rgba(63, 145, 255, 0.12), transparent 18%);
    opacity: 1;
    filter: none;
    transform: none;
}

.customers-page .customers-partners-section > .container {
    position: relative;
    z-index: 1;
    width: min(1500px, calc(100% - 64px));
    max-width: none;
}

.customers-page .partners-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(12px, 1.35vw, 18px);
}

.customers-page .partner-item-logo {
    min-height: clamp(118px, 13vw, 144px);
    gap: 16px;
    padding: 24px 16px;
    border: 1px solid rgba(202, 218, 240, 0.68);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 30px rgba(72, 113, 164, 0.08);
    color: #142e57;
}

.customers-page .partner-item-logo:hover {
    transform: translateY(-4px);
    border-color: rgba(52, 124, 238, 0.26);
    box-shadow: 0 20px 38px rgba(72, 113, 164, 0.14);
}

.customers-page .partner-item-logo strong {
    color: #1a3155;
    font-size: clamp(14px, 1vw, 17px);
    line-height: 1.3;
    font-weight: 800;
}

.customers-page .partner-logo {
    width: 100%;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.customers-page .partner-logo img {
    display: block;
    max-width: min(168px, 100%);
    max-height: 48px;
    object-fit: contain;
}

.home-page .partners-section {
    background:
        radial-gradient(circle at 7% 2%, rgba(50, 125, 232, 0.12), transparent 22%),
        radial-gradient(circle at 94% 74%, rgba(41, 135, 255, 0.12), transparent 24%),
        linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
    color: #102f5e;
}

.home-page .partners-section::before {
    background:
        radial-gradient(circle at 0 0, rgba(41, 117, 222, 0.1) 0 1px, transparent 1.5px),
        linear-gradient(rgba(83, 142, 212, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(83, 142, 212, 0.05) 1px, transparent 1px);
    background-size: 16px 16px, 46px 46px, 46px 46px;
    mask-image: radial-gradient(circle at 3% 7%, #000, transparent 22%), linear-gradient(#000, #000);
    opacity: 0.86;
}

.home-page .partners-section::after {
    background: radial-gradient(circle at 91% 80%, rgba(63, 145, 255, 0.12), transparent 18%);
    opacity: 1;
    filter: none;
    transform: none;
}

body.fullpage-mode .partners-section > .container,
.home-page .partners-section > .container {
    position: relative;
    z-index: 1;
    width: min(1500px, calc(100% - 64px));
    max-width: none;
}

.home-partners-heading {
    position: relative;
    margin: 0 auto clamp(18px, 2.6vh, 30px);
    text-align: center;
}

.home-partners-heading > span {
    position: absolute;
    left: 50%;
    top: -34px;
    transform: translateX(-50%);
    color: rgba(41, 93, 176, 0.08);
    font-size: clamp(54px, 7vw, 96px);
    line-height: 1;
    letter-spacing: 0.15em;
    font-weight: 900;
    white-space: nowrap;
    pointer-events: none;
}

.home-partners-heading h2 {
    position: relative;
    margin: 0;
    color: #102f5e;
    font-size: clamp(38px, 4.2vw, 58px);
    line-height: 1;
    font-weight: 900;
}

.home-partners-heading h2::after {
    content: '';
    display: block;
    width: 42px;
    height: 4px;
    margin: 20px auto 0;
    border-radius: 999px;
    background: #1d70f0;
}

.home-partners-heading p {
    max-width: 840px;
    margin: 22px auto 0;
    color: #29456f;
    font-size: clamp(14px, 1.05vw, 18px);
    line-height: 1.75;
    font-weight: 700;
}

.home-partner-tabs {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin-bottom: clamp(22px, 3.5vh, 42px);
}

.home-partner-tabs button {
    min-width: 126px;
    height: 44px;
    padding: 0 26px;
    border: 1px solid rgba(63, 121, 218, 0.22);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.46);
    color: #24446e;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
    cursor: default;
}

.home-partner-tabs button.active {
    border-color: transparent;
    background: linear-gradient(135deg, #165ff0, #2e84ff);
    color: #fff;
    box-shadow: 0 12px 22px rgba(31, 103, 239, 0.22);
}

.home-page .partners-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(12px, 1.35vw, 18px);
}

.home-page .partner-item-logo {
    min-height: clamp(118px, 16vh, 144px);
    gap: 16px;
    padding: 24px 16px;
    border: 1px solid rgba(202, 218, 240, 0.68);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 30px rgba(72, 113, 164, 0.08);
    color: #142e57;
}

.home-page .partner-item-logo:hover {
    transform: translateY(-4px);
    border-color: rgba(52, 124, 238, 0.26);
    box-shadow: 0 20px 38px rgba(72, 113, 164, 0.14);
}

.home-page .partner-brand {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1559c7;
    font-size: clamp(19px, 1.35vw, 26px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.01em;
}

.home-page .partner-brand-image {
    width: 150px;
    height: 46px;
}

.home-page .partner-brand-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.home-page .partner-brand-red {
    color: #c92024;
}

.home-page .partner-brand-dark {
    color: #17223d;
}

.home-page .partner-brand-purple {
    color: #5b3aa9;
}

.home-page .partner-brand-huawei {
    color: #111;
}

.home-page .partner-brand-huawei::before {
    content: '';
    width: 34px;
    height: 27px;
    margin-right: 8px;
    border-radius: 18px 18px 4px 4px;
    background: radial-gradient(circle at 50% 100%, transparent 0 34%, #e42225 35% 100%);
}

.home-page .partner-item-logo strong {
    color: #1a3155;
    font-size: clamp(14px, 1vw, 17px);
    line-height: 1.3;
    font-weight: 800;
}

.home-page .partner-logo {
    width: 100%;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.home-page .partner-logo img {
    display: block;
    max-width: min(168px, 100%);
    max-height: 48px;
    object-fit: contain;
}

.home-page .partner-logo em,
.home-page .partner-logo b,
.home-page .partner-logo small {
    display: block;
    font-style: normal;
}

.home-page .partner-logo small {
    margin-top: 4px;
    font-size: 8px;
    line-height: 1;
    letter-spacing: 0;
    transform-origin: left center;
}

.home-page .partner-logo i {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-style: normal;
}

.home-page .partner-logo-xafu i,
.home-page .partner-logo-uestc i,
.home-page .partner-logo-foshan i,
.home-page .partner-logo-lut i {
    width: 42px;
    height: 42px;
    border: 3px solid currentColor;
    border-radius: 50%;
}

.home-page .partner-logo-xafu i::before,
.home-page .partner-logo-uestc i::before,
.home-page .partner-logo-foshan i::before,
.home-page .partner-logo-lut i::before {
    content: '';
    position: absolute;
    inset: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
    opacity: 0.8;
}

.home-page .partner-logo-xafu i::after {
    content: 'X';
    color: currentColor;
    font-size: 18px;
    font-weight: 900;
}

.home-page .partner-logo-xafu em b {
    font-size: 16px;
    letter-spacing: 0.08em;
}

.home-page .partner-logo-xafu em small,
.home-page .partner-logo-uestc em small,
.home-page .partner-logo-lut em small {
    color: currentColor;
    opacity: 0.82;
}

.home-page .partner-logo-uestc {
    color: #111827;
}

.home-page .partner-logo-uestc i {
    color: #0f67b1;
    border-color: #0f67b1;
}

.home-page .partner-logo-uestc i::after {
    content: '70';
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ec6d2d;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

.home-page .partner-logo-uestc em b {
    font-size: 16px;
    letter-spacing: 0.22em;
}

.home-page .partner-logo-foshan {
    color: #cf1f23;
}

.home-page .partner-logo-foshan i::after {
    content: '';
    width: 16px;
    height: 22px;
    border-radius: 50% 50% 8px 8px;
    background: currentColor;
}

.home-page .partner-logo-foshan em b {
    font-size: 20px;
    letter-spacing: 0.22em;
}

.home-page .partner-logo-foshan em small {
    font-size: 10px;
    letter-spacing: 0.1em;
}

.home-page .partner-logo-huawei {
    color: #101010;
    gap: 12px;
}

.home-page .partner-logo-huawei i {
    width: 48px;
    height: 35px;
}

.home-page .partner-logo-huawei i b {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 13px;
    height: 30px;
    border-radius: 13px 13px 2px 2px;
    background: #e82429;
    transform-origin: 50% 100%;
}

.home-page .partner-logo-huawei i b:nth-child(1) { transform: translateX(-50%) rotate(-46deg); }
.home-page .partner-logo-huawei i b:nth-child(2) { transform: translateX(-50%) rotate(-24deg); }
.home-page .partner-logo-huawei i b:nth-child(3) { transform: translateX(-50%); }
.home-page .partner-logo-huawei i b:nth-child(4) { transform: translateX(-50%) rotate(24deg); }
.home-page .partner-logo-huawei i b:nth-child(5) { transform: translateX(-50%) rotate(46deg); }

.home-page .partner-logo-huawei em {
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.home-page .partner-logo-aonlay {
    color: #0759ad;
    gap: 6px;
}

.home-page .partner-logo-aonlay em {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.home-page .partner-logo-aonlay small {
    margin-top: 0;
    color: #1d4b85;
    font-size: 13px;
    line-height: 1.08;
    font-weight: 900;
}

.home-page .partner-logo-hw {
    gap: 8px;
}

.home-page .partner-logo-hw i {
    width: 66px;
    height: 34px;
    border: 5px solid #159bd8;
    border-radius: 50%;
    color: #0d65b3;
    font-size: 20px;
    font-weight: 900;
    transform: skewX(-12deg);
}

.home-page .partner-logo-hw em {
    color: #0b4d95;
    font-size: 18px;
    font-weight: 900;
}

.home-page .partner-logo-acontech {
    color: #0a59ac;
}

.home-page .partner-logo-acontech i {
    width: 32px;
    height: 28px;
    margin-right: -5px;
    background: linear-gradient(135deg, #e5252d 0 38%, transparent 38%), linear-gradient(135deg, transparent 0 38%, #095bb3 38%);
    clip-path: polygon(0 100%, 48% 0, 100% 100%, 72% 100%, 49% 44%, 25% 100%);
}

.home-page .partner-logo-acontech em {
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.home-page .partner-logo-sziit img,
.home-page .partner-logo-image img {
    max-width: 150px;
    max-height: 48px;
    object-fit: contain;
}

.home-page .partner-logo-cmsemi i {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #063f89, #168ed9);
}

.home-page .partner-logo-cmsemi i::before {
    content: '';
    width: 17px;
    height: 23px;
    border: 3px solid #fff;
    border-top: 0;
    border-radius: 0 0 14px 14px;
}

.home-page .partner-logo-cmsemi em b {
    font-size: 17px;
    color: #0a55a8;
}

.home-page .partner-logo-cmsemi em small {
    font-size: 13px;
    color: #0a55a8;
    font-weight: 900;
    letter-spacing: 0.24em;
}

.home-page .partner-logo-auto {
    flex-direction: column;
    gap: 4px;
    color: #0a53b3;
}

.home-page .partner-logo-auto i {
    width: 82px;
    height: 26px;
    border: 4px solid currentColor;
    border-bottom: 0;
    border-radius: 44px 44px 0 0;
}

.home-page .partner-logo-auto em {
    font-size: 21px;
    font-weight: 900;
}

.home-page .partner-logo-wanliyan {
    flex-direction: column;
    gap: 4px;
    color: #171717;
}

.home-page .partner-logo-wanliyan em {
    position: relative;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.home-page .partner-logo-wanliyan em::before {
    content: '';
    position: absolute;
    left: 3px;
    top: -8px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e22226;
}

.home-page .partner-logo-wanliyan small {
    color: #852a2a;
    font-size: 13px;
    font-weight: 800;
}

.home-page .partner-logo-mt i {
    width: 42px;
    height: 42px;
    border: 4px solid #0a59b6;
    border-radius: 50%;
    color: #0a59b6;
    font-size: 18px;
    font-weight: 900;
}

.home-page .partner-logo-mt em {
    color: #0a59b6;
    font-size: 22px;
    font-weight: 900;
}

.home-page .partner-logo-lut {
    color: #0e4a9a;
}

.home-page .partner-logo-lut i::after {
    content: '';
    width: 16px;
    height: 24px;
    border: 3px solid currentColor;
    border-radius: 12px 12px 2px 2px;
}

.home-page .partner-logo-lut em b {
    font-size: 19px;
    letter-spacing: 0.16em;
}

.home-page .partner-logo-tsingsoft {
    color: #262233;
}

.home-page .partner-logo-tsingsoft i {
    width: 42px;
    height: 42px;
    border-radius: 5px;
    background: linear-gradient(135deg, #5831a6, #7b55c7);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

.home-page .partner-logo-tsingsoft em b {
    font-size: 28px;
    font-weight: 500;
}

.home-page .partner-logo-tsingsoft em small {
    font-size: 11px;
    color: #555;
}

.home-page .partner-logo-dtwin i {
    width: 42px;
    height: 42px;
    border-radius: 4px 16px 16px 4px;
    background: linear-gradient(90deg, #16a357 0 45%, #0063c7 45%);
    color: #fff;
    font-size: 24px;
    font-weight: 900;
}

.home-page .partner-logo-dtwin em b {
    color: #075bbb;
    font-size: 21px;
}

.home-page .partner-logo-dtwin em small {
    color: #075bbb;
    font-size: 12px;
    font-weight: 900;
}

.home-page .partner-logo-xinzhuang i {
    width: 42px;
    height: 42px;
    border: 4px solid #0c56a8;
    border-radius: 50% 50% 45% 45%;
    color: #0c56a8;
    font-size: 17px;
    font-weight: 900;
}

.home-page .partner-logo-xinzhuang em {
    color: #0c56a8;
    font-size: 25px;
    font-weight: 900;
}

.home-page .partner-logo-hdsc {
    gap: 8px;
}

.home-page .partner-logo-hdsc em {
    color: #0c63b6;
    font-size: 28px;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -0.04em;
}

.home-page .partner-logo-hdsc b {
    color: #101928;
    font-size: 22px;
    font-weight: 900;
}

body.fullpage-mode .home-partners-heading {
    margin-bottom: clamp(14px, 2vh, 22px);
}

body.fullpage-mode .home-partners-heading > span {
    top: -26px;
    font-size: clamp(48px, 7vh, 82px);
}

body.fullpage-mode .home-partners-heading h2 {
    font-size: clamp(34px, 5vh, 52px);
}

body.fullpage-mode .home-partners-heading p {
    margin-top: 16px;
    font-size: clamp(13px, 1.7vh, 16px);
}

body.fullpage-mode .home-partner-tabs {
    gap: 14px;
    margin-bottom: clamp(16px, 2.5vh, 28px);
}

body.fullpage-mode .home-partner-tabs button {
    height: 38px;
    min-width: 112px;
    padding: 0 20px;
    font-size: 14px;
}

body.fullpage-mode .home-page .partner-item-logo,
body.fullpage-mode.home-page .partner-item-logo {
    min-height: clamp(102px, 13.5vh, 126px);
    gap: 12px;
    padding: 18px 12px;
}

body.fullpage-mode .home-page .partner-brand,
body.fullpage-mode.home-page .partner-brand {
    min-height: 34px;
    font-size: clamp(17px, 2.2vh, 24px);
}

@media (max-width: 1200px) {
    .customers-page .partners-grid,
    .home-page .partners-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .customers-page .customers-partners-section > .container,
    body.fullpage-mode .partners-section > .container,
    .home-page .partners-section > .container {
        width: min(100% - 28px, 620px);
    }

    .home-partner-tabs {
        gap: 10px;
    }

    .home-partner-tabs button {
        min-width: 0;
        height: 38px;
        padding: 0 16px;
        font-size: 13px;
    }

    .customers-page .partners-grid,
    .home-page .partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .customers-page .partners-grid,
    .home-page .partners-grid {
        grid-template-columns: 1fr;
    }
}

/* Home About redesign */
.home-page .about-section {
    background:
        linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(231, 241, 255, 0.92)),
        radial-gradient(circle at 9% 13%, rgba(24, 91, 221, 0.1), transparent 22%),
        radial-gradient(circle at 88% 18%, rgba(53, 135, 255, 0.12), transparent 23%);
}

.home-page .about-section::before {
    background:
        linear-gradient(135deg, transparent 0 67%, rgba(42, 117, 255, 0.08) 67% 68%, transparent 68%),
        linear-gradient(0deg, transparent 0 78%, rgba(42, 117, 255, 0.08) 78% 79%, transparent 79%),
        radial-gradient(circle at 84% 10%, rgba(23, 92, 220, 0.15) 0 4px, transparent 5px),
        radial-gradient(circle at 78% 18%, rgba(23, 92, 220, 0.13) 0 4px, transparent 5px);
    background-size: 220px 120px, 280px 120px, 100% 100%, 100% 100%;
    opacity: 0.7;
}

.home-page .about-section::after {
    opacity: 0.08;
}

body.fullpage-mode .about-section > .container,
.home-page .about-section > .container {
    width: min(1500px, calc(100% - 64px));
    max-width: none;
}

.home-about-heading {
    position: relative;
    z-index: 1;
    margin-bottom: clamp(18px, 2.6vh, 30px);
}

.home-about-titleline {
    display: flex;
    align-items: flex-end;
    gap: 28px;
    margin-bottom: 20px;
}

.home-about-titleline h2 {
    position: relative;
    margin: 0;
    padding-bottom: 16px;
    color: #1040c7;
    font-size: clamp(36px, 4.6vw, 70px);
    line-height: 1;
    font-weight: 900;
}

.home-about-titleline h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 130px;
    height: 5px;
    border-radius: 999px;
    background: #124ce0;
}

.home-about-titleline span {
    padding-bottom: 19px;
    color: #98a3b7;
    font-size: clamp(22px, 2.2vw, 38px);
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1px;
}

.home-about-heading p {
    margin: 0;
    color: #172031;
    font-size: clamp(20px, 2vw, 31px);
    line-height: 1.35;
    font-weight: 800;
}

.home-about-heading p span {
    color: #104be0;
}

.home-about-board {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(430px, 0.92fr) minmax(0, 1.18fr);
    gap: 22px;
    align-items: stretch;
}

.home-about-core,
.home-about-mini,
.home-about-site {
    border: 1px solid rgba(151, 181, 226, 0.2);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 38px rgba(26, 74, 145, 0.12);
    backdrop-filter: blur(12px);
}

.home-about-core {
    display: flex;
    flex-direction: column;
    padding: clamp(26px, 3vw, 38px);
    min-height: 100%;
}

.home-about-core-head,
.home-about-mini-head {
    display: flex;
    align-items: center;
    gap: 18px;
}

.home-about-icon {
    position: relative;
    flex: 0 0 auto;
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #1746ea, #1f76ff);
    box-shadow: 0 10px 20px rgba(25, 82, 229, 0.28);
    font-weight: 900;
}

.home-about-icon-stack span,
.home-about-icon-stack::before,
.home-about-icon-stack::after {
    content: '';
    display: block;
    width: 28px;
    height: 17px;
    border: 4px solid #fff;
    border-top: 0;
    transform: skewY(-28deg) rotate(45deg);
}

.home-about-icon-stack span {
    position: absolute;
    margin-top: -13px;
}

.home-about-icon-stack::before {
    margin-top: 4px;
}

.home-about-icon-stack::after {
    position: absolute;
    margin-top: 18px;
}

.home-about-core-head > div:last-child > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #104be0;
    font-size: clamp(17px, 1.45vw, 25px);
    line-height: 1;
    font-weight: 900;
}

.home-about-core h3,
.home-about-mini h3 {
    margin: 0;
    color: #101827;
    font-size: clamp(18px, 1.5vw, 26px);
    line-height: 1.3;
    font-weight: 900;
}

.home-about-core h3::before,
.home-about-mini h3::after {
    content: '';
    display: block;
    width: 72px;
    height: 4px;
    margin: 12px 0 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, #104be0, rgba(16, 75, 224, 0));
}

.home-about-core p {
    margin: 28px 0 0;
    color: #2a3342;
    font-size: clamp(15px, 1vw, 18px);
    line-height: 2;
    font-weight: 600;
}

.home-about-core p + p {
    padding-top: 28px;
    border-top: 1px solid rgba(135, 159, 197, 0.26);
}

.home-about-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: auto;
    padding-top: clamp(34px, 5vh, 76px);
}

.home-about-stats div {
    display: grid;
    grid-template-columns: 54px minmax(0, auto);
    column-gap: 14px;
    align-items: center;
    min-width: 0;
}

.home-about-stats i {
    grid-row: span 2;
    width: 46px;
    height: 46px;
    border-radius: 9px;
    background: #1554e8;
    box-shadow: inset 0 -8px 0 rgba(255, 255, 255, 0.2);
}

.home-about-stats div:nth-child(2) i {
    border-radius: 50%;
}

.home-about-stats div:nth-child(3) i {
    transform: rotate(45deg);
}

.home-about-stats strong {
    color: #1147db;
    font-size: clamp(24px, 2.2vw, 36px);
    line-height: 1;
    font-weight: 900;
}

.home-about-stats div:nth-child(3) strong {
    display: none;
}

.home-about-stats span {
    color: #101827;
    font-size: clamp(13px, 1vw, 17px);
    line-height: 1.35;
    font-weight: 800;
}

.home-about-side {
    display: grid;
    gap: 16px;
}

.home-about-mini-grid,
.home-about-site-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.home-about-mini {
    padding: 20px 22px;
}

.home-about-mini .home-about-icon {
    width: 58px;
    height: 58px;
    font-size: 22px;
}

.home-about-mini-head span {
    color: #111827;
    font-size: 15px;
    font-weight: 800;
}

.home-about-photo-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 22px;
}

.home-about-photo-pair img,
.home-about-site > img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.home-about-photo-pair img {
    height: clamp(92px, 14vh, 132px);
    border-radius: 8px;
}

.home-about-site {
    overflow: hidden;
}

.home-about-site header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 22px 12px;
}

.home-about-site header span {
    color: #104be0;
    font-size: clamp(17px, 1.35vw, 22px);
    line-height: 1;
    font-weight: 900;
}

.home-about-site-green header span {
    color: #08a169;
}

.home-about-site header span::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    border-radius: 50% 50% 50% 0;
    background: currentColor;
    transform: rotate(-45deg) translateY(2px);
}

.home-about-site header em {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 14px;
    border-left: 1px solid rgba(101, 127, 169, 0.2);
    color: #273244;
    font-style: normal;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
}

.home-about-site > img {
    height: clamp(132px, 20vh, 188px);
}

.home-about-tags {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: linear-gradient(180deg, #eff6ff, #dbe9ff);
}

.home-about-site-green .home-about-tags {
    background: linear-gradient(180deg, #effbf5, #d8f0e5);
}

.home-about-tags span {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 8px;
    color: #172033;
    text-align: center;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
}

.home-about-link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 11px 18px;
    border-radius: 999px;
    background: #104be0;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(16, 75, 224, 0.22);
}

.home-about-link span {
    width: 16px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

body.fullpage-mode .home-about-heading {
    margin-bottom: clamp(14px, 2vh, 22px);
}

body.fullpage-mode .home-about-core {
    padding: clamp(22px, 2.4vw, 32px);
}

body.fullpage-mode .home-about-core p {
    margin-top: clamp(18px, 2vh, 26px);
    line-height: 1.78;
}

body.fullpage-mode .home-about-stats {
    padding-top: clamp(22px, 3vh, 42px);
}

body.fullpage-mode .home-about-link {
    display: none;
}

@media (max-width: 1180px) {
    .home-about-board {
        grid-template-columns: 1fr;
    }

    .home-about-core {
        min-height: auto;
    }
}

@media (max-width: 767px) {
    body.fullpage-mode .about-section > .container,
    .home-page .about-section > .container {
        width: min(100% - 28px, 560px);
    }

    .home-about-titleline {
        display: block;
        margin-bottom: 14px;
    }

    .home-about-titleline h2 {
        display: inline-block;
    }

    .home-about-titleline span {
        display: block;
        margin-top: 8px;
        padding-bottom: 0;
    }

    .home-about-mini-grid,
    .home-about-site-grid,
    .home-about-stats {
        grid-template-columns: 1fr;
    }

    .home-about-core-head,
    .home-about-mini-head {
        align-items: flex-start;
    }

    .home-about-icon {
        width: 54px;
        height: 54px;
    }

    .home-about-core {
        padding: 22px 18px;
    }

    .home-about-core p {
        line-height: 1.75;
    }

    .home-about-site header {
        display: block;
    }

    .home-about-site header em {
        display: block;
        margin-top: 10px;
        padding-left: 0;
        border-left: 0;
        white-space: normal;
    }

    .home-about-tags {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .home-page [data-home-scene]::after {
        transform: scale(1.08) translate3d(0, calc((0.5 - var(--section-progress)) * 48px), 0);
    }

    .home-page [data-home-scene].is-home-active::after {
        transform: scale(1.03) translate3d(0, calc((0.5 - var(--section-progress)) * 24px), 0);
    }
}

@media (max-width: 767px) {
    .home-page [data-home-scene]::after {
        opacity: 0.12;
        transform: scale(1.04);
    }

    .home-page [data-home-scene].is-home-active::after {
        opacity: 0.2;
        transform: scale(1.01);
    }

    .home-page .advantages-section.is-home-active::after,
    .home-page .news-section.is-home-active::after {
        opacity: 0.28;
    }
}

/* News Detail Page */
.news-detail-page .news-detail {
    position: relative;
    background: linear-gradient(180deg, var(--page-surface-top), var(--page-surface-bottom));
    border-radius: 28px;
    border: 1px solid rgba(126, 167, 224, 0.14);
    padding: 40px;
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.08);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.news-detail-page .news-detail::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--page-accent-2), var(--page-accent));
}

.news-detail-page .news-detail-header {
    border-bottom: 1px solid rgba(126, 167, 224, 0.12);
    padding-bottom: 28px;
    margin-bottom: 30px;
}

.news-detail-page .news-detail-header > h1:not(.news-detail-title) {
    font-size: 34px;
    color: var(--page-title);
    line-height: 1.35;
    margin-bottom: 20px;
}

.news-detail-page .news-detail-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.news-detail-page .news-detail-title {
    font-size: 34px;
    color: var(--page-title);
    line-height: 1.35;
    margin-bottom: 20px;
}

.news-detail-page .news-detail-cover {
    margin: 30px 0;
}

.news-detail-page .news-detail-cover img,
.news-detail-page .news-detail-content img {
    max-width: 100%;
    border-radius: 22px;
    margin: 20px 0;
    box-shadow: 0 18px 36px rgba(16, 38, 72, 0.12);
}

.news-detail-page .news-detail-content {
    font-size: 16px;
    line-height: 2;
    color: var(--page-text);
}

.news-detail-page .news-detail-content p {
    margin-bottom: 20px;
}

.sy1000-competition-page .competition-poster-cover {
    display: flex;
    justify-content: center;
    margin: 34px 0;
}

.sy1000-competition-page .sy1000-competition-banner .page-banner-content {
    display: none;
}

.sy1000-competition-page .competition-poster-cover img {
    width: min(100%, 860px);
    max-height: none;
    object-fit: contain;
    background: #041638;
}

.competition-resource-block {
    margin: 18px 0 38px;
    padding: 28px;
    border: 1px solid rgba(36, 105, 191, 0.12);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(247, 251, 255, 0.98), rgba(235, 244, 255, 0.92));
    box-shadow: 0 18px 42px rgba(16, 38, 72, 0.08);
}

.competition-resource-head {
    max-width: 720px;
    margin-bottom: 20px;
}

.competition-resource-kicker {
    display: block;
    margin-bottom: 8px;
    color: #0b63ce;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.competition-resource-head h2 {
    margin: 0 0 8px;
    color: #14345f;
    font-size: 28px;
    line-height: 1.25;
}

.competition-resource-head p {
    margin: 0;
    color: #536983;
    line-height: 1.8;
}

.competition-resource-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.competition-resource-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 14px;
    align-items: start;
    min-height: 128px;
    padding: 18px;
    border: 1px solid rgba(126, 167, 224, 0.2);
    border-radius: 14px;
    color: inherit;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.82);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.competition-resource-card:hover {
    transform: translateY(-3px);
    border-color: rgba(20, 109, 226, 0.34);
    box-shadow: 0 16px 30px rgba(16, 38, 72, 0.1);
}

.competition-resource-card span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    background: linear-gradient(135deg, #146de2, #19a28b);
}

.competition-resource-card strong {
    color: #173b67;
    font-size: 17px;
    line-height: 1.45;
}

.competition-resource-card p {
    margin: 0;
    color: #5b7089;
    font-size: 14px;
    line-height: 1.7;
}

.sy1000-competition-page .news-detail-content ul {
    margin: 0 0 22px 24px;
    padding-left: 18px;
}

.sy1000-competition-page .news-detail-content li {
    margin-bottom: 10px;
    list-style: disc;
}

.competition-copy-table {
    width: 100%;
    margin: 12px 0 28px;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 16px 32px rgba(16, 38, 72, 0.08);
}

.competition-copy-table th,
.competition-copy-table td {
    padding: 16px 18px;
    text-align: left;
    border: 1px solid rgba(126, 167, 224, 0.18);
}

.competition-copy-table th {
    color: #fff;
    background: linear-gradient(135deg, #146de2, #0c54bd);
}

.competition-copy-table td {
    color: var(--page-text);
    background: rgba(244, 249, 255, 0.82);
}

@media (max-width: 768px) {
    .competition-resource-block {
        padding: 22px 16px;
        border-radius: 16px;
    }

    .competition-resource-head h2 {
        font-size: 24px;
    }

    .competition-resource-grid {
        grid-template-columns: 1fr;
    }

    .competition-resource-card {
        min-height: auto;
        padding: 16px;
    }
}

.about-page .content-box img,
.product-detail-page .product-detail-main-img img,
.product-detail-page .product-detail-thumb img,
.home-page .about-image-card img,
.news-detail-page .news-detail-cover img,
.news-detail-page .news-detail-content img {
    cursor: zoom-in;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.about-page .content-box img:hover,
.home-page .about-image-card img:hover,
.news-detail-page .news-detail-cover img:hover,
.news-detail-page .news-detail-content img:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

.product-detail-page .product-detail-thumb img:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

.product-detail-page .product-detail-main-img img:hover {
    transform: translate(-50%, -50%) scale(1.02);
    filter: brightness(1.03);
}

.news-detail-page .news-detail-content h2 {
    font-size: 24px;
    color: var(--page-title);
    margin: 34px 0 18px;
    padding-left: 14px;
    position: relative;
}

.news-detail-page .news-detail-content h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--page-accent-2), var(--page-accent));
}

.news-detail-page .news-share {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid rgba(126, 167, 224, 0.12);
}

.news-detail-page .news-share span {
    color: color-mix(in srgb, var(--page-title) 50%, white);
    font-size: 14px;
}

.news-detail-page .news-share-btn {
    display: flex;
    align-items: center;
    gap: 10px;
}

.news-detail-page .share-item {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 18px;
}

.news-detail-page .share-item.wx { background: #07c160; color: #fff; }
.news-detail-page .share-item.qq { background: #1296db; color: #fff; }
.news-detail-page .share-item.wb { background: #e6162d; color: #fff; }

.news-detail-page .share-item:hover {
    transform: scale(1.1);
}

.case-detail-page .case-detail {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(245, 249, 255, 0.98));
    border-radius: 28px;
    border: 1px solid rgba(126, 166, 224, 0.16);
    padding: 40px;
    box-shadow: 0 22px 48px rgba(15, 36, 68, 0.1);
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.case-detail-page .case-detail::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #35d3ff 0%, #2167ff 100%);
}

.case-detail-header {
    margin-bottom: 28px;
}

.case-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.case-detail-tag,
.case-detail-date {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(126, 166, 224, 0.16);
    background: rgba(237, 245, 255, 0.86);
    color: #2a78db;
    font-size: 14px;
}

.case-detail-title {
    font-size: 36px;
    line-height: 1.3;
    color: #11284c;
    margin-bottom: 16px;
}

.case-detail-intro {
    max-width: 920px;
    color: #55657c;
    font-size: 16px;
    line-height: 1.9;
}

.case-detail-cover {
    margin-bottom: 32px;
}

.case-detail-cover img {
    display: block;
    width: 100%;
    min-height: 520px;
    max-height: 680px;
    object-fit: contain;
    border-radius: 24px;
    padding: 20px;
    background:
        radial-gradient(circle at center, rgba(83, 214, 255, 0.08), transparent 48%),
        linear-gradient(180deg, #eef5ff 0%, #f9fbff 100%);
    border: 1px solid rgba(126, 166, 224, 0.14);
    box-shadow: 0 20px 42px rgba(16, 38, 72, 0.12);
}

.case-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 30px;
    align-items: start;
}

.case-detail-content h3 {
    position: relative;
    margin: 30px 0 14px;
    padding-left: 14px;
    font-size: 20px;
    color: #11284c;
}

.case-detail-content h3:first-child {
    margin-top: 0;
}

.case-detail-content h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #35d3ff, #2167ff);
}

.case-detail-content p {
    color: #55657c;
    font-size: 15px;
    line-height: 2;
}

.case-detail-content ul {
    padding-left: 20px;
    margin: 10px 0;
}

.case-detail-content ul li {
    list-style: disc;
    color: #55657c;
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 8px;
}

.case-detail-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
    border: 1px solid rgba(126, 166, 224, 0.12);
    border-radius: 18px;
    overflow: hidden;
}

.case-detail-table tr {
    border-bottom: 1px solid rgba(126, 166, 224, 0.12);
    background: rgba(255, 255, 255, 0.74);
}

.case-detail-table td {
    padding: 14px 18px;
    font-size: 15px;
}

.case-detail-table td:first-child {
    width: 160px;
    color: #7186a3;
    background: rgba(237, 245, 255, 0.72);
}

.case-detail-table td:last-child {
    color: #11284c;
}

.case-detail-side {
    display: grid;
    gap: 14px;
}

.case-detail-card {
    padding: 22px 20px;
    border-radius: 20px;
    border: 1px solid rgba(126, 166, 224, 0.14);
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 14px 30px rgba(16, 38, 72, 0.08);
}

.case-detail-card span {
    display: block;
    margin-bottom: 8px;
    color: #7186a3;
    font-size: 13px;
}

.case-detail-card strong {
    color: #11284c;
    font-size: 19px;
    line-height: 1.5;
}

.case-detail-gallery {
    margin-top: 40px;
}

.case-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 24px;
}

.case-gallery-item:only-child {
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
}

.case-gallery-item img {
    display: block;
    width: 100%;
    height: 380px;
    object-fit: contain;
    border-radius: 22px;
    padding: 18px;
    background:
        radial-gradient(circle at center, rgba(83, 214, 255, 0.08), transparent 48%),
        linear-gradient(180deg, #eef5ff 0%, #f9fbff 100%);
    border: 1px solid rgba(126, 166, 224, 0.14);
    box-shadow: 0 18px 38px rgba(16, 38, 72, 0.1);
}

.case-detail-page .case-detail-cover img,
.case-detail-page .case-gallery-item img {
    cursor: zoom-in;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.case-detail-page .case-detail-cover img:hover,
.case-detail-page .case-gallery-item img:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
}

@media (max-width: 992px) {
    body {
        padding-top: 64px !important;
    }

    .mobile-nav {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 2000 !important;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 10px 24px rgba(8, 24, 48, 0.12) !important;
    }

    .mobile-nav-header {
        min-height: 64px !important;
    }
}

@media (max-width: 480px) {
    body {
        padding-top: 60px !important;
    }

    .mobile-nav-header {
        min-height: 60px !important;
    }
}

.case-detail-related {
    margin-top: 48px;
    padding-top: 34px;
    border-top: 1px solid rgba(126, 166, 224, 0.12);
}

.case-detail-related h3 {
    margin-bottom: 24px;
    font-size: 24px;
    color: #11284c;
}

.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.image-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.image-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 12, 25, 0.78);
    backdrop-filter: blur(10px);
}

.image-lightbox-dialog {
    position: relative;
    z-index: 1;
    width: min(1120px, 100%);
    max-height: min(86vh, 900px);
    padding: 22px;
    border-radius: 28px;
    border: 1px solid rgba(154, 196, 255, 0.18);
    background: linear-gradient(180deg, rgba(10, 22, 44, 0.94), rgba(8, 18, 36, 0.9));
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.image-lightbox-stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
}

.image-lightbox-image {
    display: block;
    max-width: 100%;
    max-height: calc(86vh - 150px);
    width: auto;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
    object-fit: contain;
}

.image-lightbox-close,
.image-lightbox-nav {
    position: absolute;
    border: 1px solid rgba(173, 216, 255, 0.22);
    background: rgba(8, 24, 51, 0.72);
    color: #fff;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.image-lightbox-close:hover,
.image-lightbox-nav:hover {
    transform: translateY(-2px);
    background: rgba(32, 89, 210, 0.72);
    border-color: rgba(173, 216, 255, 0.5);
}

.image-lightbox-close {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 26px;
    line-height: 1;
    z-index: 3;
}

.image-lightbox-nav {
    top: 50%;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    font-size: 34px;
    line-height: 1;
    transform: translateY(-50%);
}

.image-lightbox-nav:hover {
    transform: translateY(calc(-50% - 2px));
}

.image-lightbox-prev {
    left: 16px;
}

.image-lightbox-next {
    right: 16px;
}

.image-lightbox-nav.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.image-lightbox-caption {
    margin-top: 16px;
    text-align: center;
    color: rgba(222, 238, 255, 0.84);
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .news-detail-page .news-detail {
        padding: 25px 20px;
        border-radius: 22px;
    }
    
    .news-detail-page .news-detail-title,
    .news-detail-page .news-detail-header > h1:not(.news-detail-title) {
        font-size: 24px;
    }
    
    .news-detail-page .news-detail-content {
        font-size: 15px;
    }

    .case-detail-page .case-detail {
        padding: 24px 20px;
        border-radius: 22px;
    }

    .case-detail-title {
        font-size: 26px;
    }

    .case-detail-intro {
        font-size: 15px;
    }

    .case-detail-grid {
        grid-template-columns: 1fr;
    }

    .case-gallery-grid {
        grid-template-columns: 1fr;
    }

    .case-detail-cover img {
        min-height: 340px;
        max-height: none;
        padding: 14px;
    }

    .case-gallery-item img {
        height: auto;
        min-height: 280px;
        padding: 14px;
    }

    .image-lightbox {
        padding: 18px;
    }

    .image-lightbox-dialog {
        padding: 16px;
        border-radius: 22px;
    }

    .image-lightbox-image {
        max-height: calc(82vh - 120px);
        border-radius: 16px;
    }

    .image-lightbox-close {
        top: 10px;
        right: 10px;
        width: 38px;
        height: 38px;
        font-size: 22px;
    }

    .image-lightbox-nav {
        width: 42px;
        height: 42px;
        font-size: 28px;
    }

    .image-lightbox-prev {
        left: 8px;
    }

    .image-lightbox-next {
        right: 8px;
    }

    .image-lightbox-caption {
        margin-top: 12px;
        font-size: 13px;
    }
}

/* Keep the home first-screen capability cards anchored on desktop after deployment.
   Some hosts can serve cached CSS next to fresh HTML, so this late rule restores
   the intended desktop layout even if earlier responsive rules win. */
@media (min-width: 769px) {
    body.home-page .ppt-slider {
        position: relative;
        display: block;
        height: 100svh;
        min-height: 720px;
        overflow: hidden;
    }

    body.home-page .ppt-slides {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    body.home-page .ppt-capability-grid {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: 54px !important;
        transform: translateX(-50%) !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
        width: min(1200px, calc(100% - 40px)) !important;
        max-width: 1200px !important;
        z-index: 11;
        pointer-events: none;
    }

    body.home-page .ppt-capability-grid .capability-item {
        min-height: 72px;
        padding: 12px 18px;
        border-radius: 14px;
    }

    body.home-page .ppt-capability-grid .capability-item strong {
        font-size: 18px;
        line-height: 1.25;
    }

    body.home-page .ppt-capability-grid .capability-item p {
        display: none;
    }

    body.home-page .ppt-nav {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: 18px !important;
        transform: translateX(-50%) !important;
        z-index: 12;
    }

    body.home-page .ppt-dots {
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        justify-content: center;
    }
}
