﻿* { margin: 0; padding: 0; box-sizing: border-box; }
:root { --font-sans: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif; }
html { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
body, button, input, textarea, select { font-family: inherit; }
body { overflow-x: hidden; background: #000; }

/*
 * ============================================================
 *  缁熶竴瀛椾綋绠＄悊绯荤粺
 * ============================================================
 *  鍏ㄧ珯鎵€鏈夋枃瀛楁牱寮忛€氳繃浠ヤ笅 CSS 绫婚泦涓帶鍒躲€? *  淇敼鏌愪竴绫诲瓧浣撴椂锛屽彧鏀瑰搴旂被鍗冲彲鍏ㄥ眬鐢熸晥銆? *
 *  绫诲悕瑙勫垯锛歵-{鐢ㄩ€攠
 *  棰滆壊鍚庣紑锛?light锛堟祬鑹茶儗鏅敤锛夌渷鐣ワ紙娣辫壊鑳屾櫙鐢級
 * ============================================================
 */

/* ---- 椤甸潰鏍囬 ----
   [鐢ㄥ湪鍝猐 鍚勯〉闈?hero 鍖轰富鏍囬
   [璋冧粈涔圿 鏀瑰瓧鍙?鈫?鍏ㄥ眬 hero 鏍囬澶у皬锛涙敼棰滆壊 鈫?鍏ㄥ眬 hero 鏍囬棰滆壊 */
.t-hero-title { font-size: clamp(36px, 4.5vw, 56px); font-weight: 700; color: #f5f5f7; letter-spacing: 8px; }

/* ---- 椤甸潰鍓爣棰?----
   [鐢ㄥ湪鍝猐 hero 鍖哄壇鏍囬 */
.t-hero-sub { font-size: clamp(14px, 1.3vw, 17px); font-weight: 300; color: rgba(255,255,255,0.4); letter-spacing: 4px; }

/* ---- Section 澶ф爣棰?----
   [鐢ㄥ湪鍝猐 鍚勯〉闈㈠唴瀹瑰尯涓绘爣棰橈紙濡?鐩稿叧璁惧""閫夐厤妯″潡""鏍稿績鐗圭偣"锛?*/
.t-section-title { font-size: clamp(32px, 4vw, 52px); font-weight: 700; color: #f5f5f7; letter-spacing: 6px; }

/* ---- Section 寮曞璇?----
   [鐢ㄥ湪鍝猐 section 鏍囬涓嬫柟鐨勮鏄庢枃瀛?*/
.t-section-lead { font-size: clamp(14px, 1.3vw, 16px); font-weight: 300; color: rgba(255,255,255,0.45); letter-spacing: 2px; line-height: 1.8; }

/* ---- 绯诲垪/鍖哄潡鏍囬 ----
   [鐢ㄥ湪鍝猐 浜у搧绯诲垪鍚嶃€佸ぇ鍗＄墖鏍囬锛堝"鎵嬪绠辨縺鍏夊皝鐒婄郴缁熺郴鍒?锛?*/
.t-series-title { font-size: clamp(24px, 2.5vw, 32px); font-weight: 700; color: #f5f5f7; letter-spacing: 3px; }

.desktop-only li a{font-size: 13px;font-weight: 400}

/* ---- 涓彿鏍囬 ----
   [鐢ㄥ湪鍝猐 涓瓑鍗＄墖鏍囬銆佸姛鑳藉悕锛堝 model-card-name銆乤dvantage-title锛?*/
.t-heading-md { font-size: 14px; font-weight: 600; color: #e5e5e5; letter-spacing: 1px; }

/* ---- 灏忓彿鏍囬 ----
   [鐢ㄥ湪鍝猐 鍒楄〃椤瑰悕绉般€佸皬鍗＄墖鏍囬 */
.t-heading-sm { font-size: 14px; font-weight: 500; color: #d1d5db; letter-spacing: 1px; }

/* ---- 姝ｆ枃 ----
   [鐢ㄥ湪鍝猐 娈佃惤姝ｆ枃銆佹弿杩版枃瀛?*/
.t-body { font-size: clamp(14px, 1.1vw, 15px); color: rgba(255,255,255,0.35); letter-spacing: 0.5px; line-height: 1.8; }

/* ---- 灏忓彿姝ｆ枃 ----
   [鐢ㄥ湪鍝猐 杈呭姪璇存槑銆佸弬鏁板€笺€佹爣绛炬弿杩?*/
.t-body-sm { font-size: 13px; color: rgba(255,255,255,0.35); letter-spacing: 0.5px; line-height: 1.7; }

/* ---- 璇存槑/鏍囩鏂囧瓧 ----
   [鐢ㄥ湪鍝猐 鍥捐〃鏍囩銆佺粺璁¤鏄庛€佸簳閮ㄦ爣娉?*/
.t-caption { font-size: 11px; color: rgba(255,255,255,0.25); letter-spacing: 1px; }

/* ---- 姗欒壊楂樹寒 ----
   [鐢ㄥ湪鍝猐 鍏抽敭鏁版嵁銆佸己璋冩枃瀛椼€佺壒鑹叉爣绛?*/
.t-accent { color: #FF6600; }

/* ---- 姗欒壊楂樹寒鍔犵矖 ----
   [鐢ㄥ湪鍝猐 姝ｆ枃涓渶瑕佺獊鍑虹殑鍏抽敭璇?*/
.t-accent-strong { color: #FF6600; font-weight: 500; }

/* ---- 鎸夐挳鏂囧瓧 ----
   [鐢ㄥ湪鍝猐 涓绘寜閽紙瀹炲績姗欒壊鎸夐挳锛?*/
.t-btn-primary { font-size: 15px; font-weight: 500; color: #fff; letter-spacing: 1px; }

/* ---- 澶у彿鎸夐挳鏂囧瓧 ----
   [鐢ㄥ湪鍝猐 CTA 妯箙涓殑澶ф寜閽?*/
.t-btn-lg { font-size: 16px; font-weight: 500; color: #fff; letter-spacing: 2px; }

/* ============================================================
   娴呰壊鑳屾櫙鐢紙涓嬫媺闈㈡澘銆佺櫧鑹插崱鐗囷級
   ============================================================ */

/* ---- 涓嬫媺鍒嗙被涓绘爣棰?----
   [鐢ㄥ湪鍝猐 涓嬫媺闈㈡澘鍐呬骇鍝佸垎绫绘爣棰?*/
.t-dropdown-title { font-size: 18px; font-weight: 700; color: #1a1a1a; letter-spacing: 1px; }

/* ---- 涓嬫媺鍒嗙被鍓爣棰?----
   [鐢ㄥ湪鍝猐 涓嬫媺闈㈡澘鍐呬骇鍝佸垎绫诲壇鏍囬 */
.t-dropdown-sub { font-size: 13px; color: #999; letter-spacing: 0.5px; }

/* ---- 涓嬫媺浜у搧鍗＄墖鍚?----
   [鐢ㄥ湪鍝猐 涓嬫媺闈㈡澘鍐呬骇鍝佸崱鐗囧悕绉?*/
.t-dropdown-card-name { font-size: 14px; font-weight: 500; color: #61687C; letter-spacing: 0.5px; }

/* ---- 涓嬫媺妯″潡鍚?----
   [鐢ㄥ湪鍝猐 閫夐厤妯″潡鍚嶇О */
.t-dropdown-module-name { font-size: 13px; font-weight: 600; color: #1a1a1a; letter-spacing: 0.5px; }

/* ---- 涓嬫媺妯″潡鎻忚堪 ----
   [鐢ㄥ湪鍝猐 閫夐厤妯″潡涓€鍙ヨ瘽鎻忚堪 */
.t-dropdown-module-desc { font-size: 11px; color: #999; line-height: 1.5; }

/* ---- 涓嬫媺鍒嗙被渚ф爮鎸夐挳 ----
   [鐢ㄥ湪鍝猐 涓嬫媺闈㈡澘宸︿晶鍒嗙被鎸夐挳鏂囧瓧 */
.t-dropdown-cat-btn { font-size: 14px; font-weight: 500; color: #333; }

/* ---- 鏁版嵁/缁熻澶ф暟瀛?----
   [鐢ㄥ湪鍝猐 缁熻鍖哄潡鐨勫ぇ鏁板瓧 */
.t-stat-number { font-size: clamp(48px, 5vw, 64px); font-weight: 700; letter-spacing: 2px; line-height: 1.1; }

/* ---- 鏁版嵁/缁熻鍗曚綅 ----
   [鐢ㄥ湪鍝猐 缁熻鏁板瓧鏃佽竟鐨勫崟浣?*/
.t-stat-unit { font-size: clamp(20px, 2.5vw, 28px); font-weight: 600; }

/* ---- 瀵艰埅閾炬帴 ----
   [鐢ㄥ湪鍝猐 妗岄潰绔鑸爮鏂囧瓧 */
.t-nav-link { font-size: 14px; font-weight: 500; letter-spacing: 0.025em; }

/* ---- 绉诲姩绔鑸?----
   [鐢ㄥ湪鍝猐 绉诲姩绔娊灞変竴绾ц彍鍗?*/
.t-mobile-nav { font-size: 15px; color: #d1d5db; }

/* ---- 绉诲姩绔鑸瓙椤?----
   [鐢ㄥ湪鍝猐 绉诲姩绔娊灞変簩绾?涓夌骇鑿滃崟 */
.t-mobile-sub { font-size: 13px; color: #9ca3af; }

/* ---- Footer 鏍囬 ----
   [鐢ㄥ湪鍝猐 椤佃剼鏍忕洰鏍囬 */
.t-footer-title { font-size: 14px; font-weight: 600; color: #f5f5f7; letter-spacing: 2px; }

/* ---- Footer 閾炬帴 ----
   [鐢ㄥ湪鍝猐 椤佃剼鏍忕洰閾炬帴 */
.t-footer-link { font-size: 13px; color: rgba(255,255,255,0.3); letter-spacing: 1px; }

/* ---- Footer 鐗堟潈 ----
   [鐢ㄥ湪鍝猐 椤佃剼搴曢儴鐗堟潈淇℃伅 */
.t-footer-copyright { font-size: 12px; color: rgba(255,255,255,0.15); letter-spacing: 1px; }


/* ---- 闅愯棌鍘熺敓婊氬姩鏉★紙鍏ㄦ祻瑙堝櫒锛?---- */
html { -ms-overflow-style: none; scrollbar-width: none; }
html::-webkit-scrollbar { width: 0; display: none; }
body::-webkit-scrollbar { width: 0; display: none; }

.navbar {
    --nav-background: transparent;
    --nav-foreground: rgba(255,255,255,0.9);
    --nav-border: transparent;
    --nav-backdrop-filter: none;
    height: 64px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 9999;
    color: var(--nav-foreground);
    background: var(--nav-background) !important;
    border-bottom: 1px solid var(--nav-border);
    backdrop-filter: var(--nav-backdrop-filter);
    -webkit-backdrop-filter: var(--nav-backdrop-filter);
    transition: opacity var(--home-intro-reveal-duration, 1s) ease,
                color 0.3s, background 0.3s, border-color 0.3s, backdrop-filter 0.3s;
}

/* ============================================================
   Homepage mosaic reveal
   ============================================================ */
.home-mosaic-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 100vh;
    background: #020202;
    color: #fff;
    perspective: 1400px;
}

.home-mosaic-stage,
.home-mosaic-columns,
.home-mosaic-shade {
    position: absolute;
    inset: 0;
}

.home-mosaic-stage {
    z-index: 1;
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    background: #050505;
}

.home-mosaic-columns {
    display: grid;
    transform-style: preserve-3d;
}

.home-mosaic-cards {
    z-index: 2;
    right: 0;
    display: block;
    width: 100vw;
    transform: none;
    left: 0;
    height: 100vh;
}

.home-mosaic-columns--front {
    z-index: 2;
    grid-template-columns: repeat(16, minmax(0, 1fr));
}

.home-mosaic-columns--final {
    z-index: 1;
    grid-template-columns: repeat(20, minmax(0, 1fr));
}

.home-mosaic-column {
    position: relative;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    background: #090909;
    transform-origin: center center;
    backface-visibility: hidden;
    will-change: transform, opacity, filter;
}

.home-mosaic-column--left {
    --mosaic-turn: -92deg;
    --mosaic-turn-mid: -66deg;
    --mosaic-entry-turn: 92deg;
    --mosaic-entry-mid: 35deg;
    --mosaic-card-mid: -88deg;
    --mosaic-card-edge: -90deg;
    --mosaic-card-cross: -98deg;
    --mosaic-card-turn: -360deg;
    --mosaic-front-fold: -90deg;
    --mosaic-back-fold: 90deg;
    --mosaic-face-origin: right center;
    transform-origin: right center;
}

.home-mosaic-column--right {
    --mosaic-turn: 92deg;
    --mosaic-turn-mid: 66deg;
    --mosaic-entry-turn: -92deg;
    --mosaic-entry-mid: -35deg;
    --mosaic-card-mid: 88deg;
    --mosaic-card-edge: 90deg;
    --mosaic-card-cross: 98deg;
    --mosaic-card-turn: 360deg;
    --mosaic-front-fold: 90deg;
    --mosaic-back-fold: -90deg;
    --mosaic-face-origin: left center;
    transform-origin: left center;
}

.home-mosaic-cards .home-mosaic-column {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--mosaic-left-start);
    width: 6.25vw;
    min-width: 6.25vw;
    flex: none;
    overflow: visible;
    perspective: 850px;
    background: #020202;
    will-change: left, width, min-width;
    height: 100vh;
}

.home-mosaic-card,
.home-mosaic-face {
    position: absolute;
    inset: 0;
}

.home-mosaic-card {
    height: 100vh;
    transform-style: preserve-3d;
    transform: rotateY(0deg) translateZ(0);
    transform-origin: center center;
    will-change: transform;
}

.home-mosaic-face {
    height: 100vh;
    overflow: hidden;
    background: #050505;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-origin: center center;
}

.home-mosaic-face--front {
    z-index: 2;
    transform: rotateY(0deg);
    opacity: 1;
}

.home-mosaic-face--back {
    z-index: 1;
    transform: rotateY(180deg) translateZ(.1px);
    opacity: 1;
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-card {
    animation: mosaic-horizontal-flip var(--mosaic-flip-duration, 1400ms) cubic-bezier(.45, 0, .55, 1) forwards;
    animation-delay: calc(var(--mosaic-start-delay, 360ms) + var(--mosaic-delay, 0ms));
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-face--front img {
    animation: mosaic-image-settle var(--mosaic-flip-duration, 1400ms) cubic-bezier(.45, 0, .55, 1) forwards;
    animation-delay: calc(var(--mosaic-start-delay, 360ms) + var(--mosaic-delay, 0ms));
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-cards .home-mosaic-column {
    animation: mosaic-column-settle var(--mosaic-resize-duration, 1400ms) cubic-bezier(.45, 0, .55, 1) forwards;
    animation-delay: calc(var(--mosaic-start-delay, 360ms) + var(--mosaic-delay, 0ms) + var(--mosaic-resize-delay, 0ms));
}

@keyframes mosaic-card-flip {
    0%, 18% { transform: rotateY(0deg) scaleX(1); }
    46% { transform: rotateY(var(--mosaic-card-mid)) scaleX(.2); }
    50% { transform: rotateY(var(--mosaic-card-edge)) scaleX(.025); }
    54% { transform: rotateY(var(--mosaic-card-cross)) scaleX(.2); }
    100% { transform: rotateY(var(--mosaic-card-turn)) scaleX(1); }
}

@keyframes mosaic-horizontal-flip {
    from { transform: rotateY(0deg); }
    to { transform: rotateY(var(--mosaic-card-turn)); }
}

@keyframes mosaic-front-face-flip {
    0%, 16% { transform: rotateY(0deg); opacity: 1; }
    46% { transform: rotateY(var(--mosaic-front-fold)); opacity: 1; }
    50%, 100% { transform: rotateY(var(--mosaic-front-fold)); opacity: 0; }
}

@keyframes mosaic-back-face-flip {
    0%, 50% { transform: rotateY(var(--mosaic-back-fold)); opacity: 0; }
    54% { transform: rotateY(var(--mosaic-back-fold)); opacity: 1; }
    100% { transform: rotateY(0deg); opacity: 1; }
}

@keyframes mosaic-column-settle {
    0% { left: var(--mosaic-left-start); width: 6.25vw; min-width: 6.25vw; }
    100% { left: var(--mosaic-left-end); width: 5vw; min-width: 5vw; }
}

@keyframes mosaic-image-settle {
    from { transform: scale(1.2); }
    to { transform: scale(1); }
}

.home-mosaic-column img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    backface-visibility: hidden;
    user-select: none;
    pointer-events: none;
}

.home-mosaic-face--front img {
    transform: scale(1.2);
}

.home-mosaic-face--back img {
    transform: scale(1);
    object-fit: cover;
}

.home-mosaic-columns--front .home-mosaic-column img {
    transform: scale(1.22);
}

.home-mosaic-columns--final .home-mosaic-column {
    opacity: 0;
    transform: rotateY(var(--mosaic-entry-turn)) scale(.82);
    filter: brightness(.16);
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-columns--front .home-mosaic-column {
    animation: mosaic-front-flip var(--mosaic-flip-duration, 900ms) cubic-bezier(.55, .02, .25, 1) forwards;
    animation-delay: calc(var(--mosaic-start-delay, 260ms) + var(--mosaic-delay, 0ms));
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-columns--final .home-mosaic-column {
    animation: mosaic-final-flip var(--mosaic-flip-duration, 1250ms) cubic-bezier(.22, .76, .18, 1) forwards;
    animation-delay: calc(var(--mosaic-start-delay, 360ms) + var(--mosaic-delay, 0ms) + var(--mosaic-backface-delay, 430ms));
}

@keyframes mosaic-front-flip {
    0% { opacity: 1; transform: rotateY(0deg) scale(1); filter: brightness(1); }
    42% { opacity: 1; transform: rotateY(var(--mosaic-turn-mid)) scale(.97); filter: brightness(.55); }
    72% { opacity: .72; transform: rotateY(var(--mosaic-turn)) scale(.9); filter: brightness(.08); }
    100% { opacity: 0; transform: rotateY(var(--mosaic-turn)) scale(.86); filter: brightness(0); }
}

@keyframes mosaic-final-flip {
    0% { opacity: 0; transform: rotateY(var(--mosaic-entry-turn)) scale(.82); filter: brightness(.08); }
    18% { opacity: .35; }
    52% { opacity: 1; transform: rotateY(var(--mosaic-entry-mid)) scale(.94); filter: brightness(.48); }
    100% { opacity: 1; transform: rotateY(0deg) scale(1); filter: brightness(.72); }
}

.home-mosaic-shade {
    z-index: 3;
    opacity: 1;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .68) 26%, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .68) 74%, rgba(0, 0, 0, .78) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .16), rgba(0, 0, 0, .03) 48%, rgba(0, 0, 0, .2));
    pointer-events: none;
}

.home-mosaic-shade::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .68) 0%, rgba(0, 0, 0, .38) 26%, rgba(0, 0, 0, .17) 50%, rgba(0, 0, 0, .38) 74%, rgba(0, 0, 0, .68) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .22), rgba(0, 0, 0, .04) 48%, rgba(0, 0, 0, .3));
    transition: opacity 1100ms cubic-bezier(.22, .7, .2, 1);
}

.home-mosaic-section.is-mosaic-complete .home-mosaic-shade::after {
    opacity: 1;
}

.home-mosaic-message {
    position: absolute;
    z-index: 4;
    inset: 0;
    padding: 88px 7vw 40px;
    opacity: 0;
    transform: scale(.94);
    filter: brightness(.55);
    pointer-events: none;
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-message {
    animation: mosaic-message-reveal 600ms ease forwards;
    animation-delay: var(--mosaic-reveal-delay, 2100ms);
}

.home-mosaic-title {
    position: absolute;
    left: 24px;
    top: clamp(208px, calc(14vh + 100px), 250px);
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 2.2vw, 40px);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: .06em;
    text-align: left;
    text-shadow: 0 3px 28px rgba(0, 0, 0, .75);
}

.home-mosaic-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(90vw, 1000px);
    height: auto;
    display: block;
    transform: translate(-50%, -50%);
    opacity: 0;
    filter: brightness(1.15) drop-shadow(0 0 18px rgba(255, 255, 255, .12));
}

.home-mosaic-section.is-mosaic-playing .home-mosaic-logo {
    animation-name: mosaic-logo-fade, mosaic-logo-breathe;
    animation-duration: var(--mosaic-logo-fade-duration, 700ms), var(--mosaic-logo-breath-duration, 2600ms);
    animation-timing-function: ease, linear;
    animation-delay:
        var(--mosaic-reveal-delay, 2100ms),
        calc(var(--mosaic-reveal-delay, 2100ms) + var(--mosaic-logo-fade-duration, 700ms));
    animation-iteration-count: 1, var(--mosaic-logo-breath-count, 2);
    animation-fill-mode: forwards, forwards;
}

@keyframes mosaic-message-reveal {
    0% { opacity: 0; transform: scale(.98); filter: brightness(.75); }
    100% { opacity: 1; transform: scale(1); filter: brightness(1); }
}

@keyframes mosaic-logo-breathe {
    0% {
        opacity: .84;
        animation-timing-function: cubic-bezier(.45, 0, .55, 1);
    }
    58% {
        opacity: 1;
        animation-timing-function: cubic-bezier(.18, .72, .32, 1);
    }
    76% {
        opacity: .9;
        animation-timing-function: cubic-bezier(.4, 0, 1, 1);
    }
    86%, 100% { opacity: .84; }
}

@keyframes mosaic-logo-fade {
    0% { opacity: 0; }
    100% { opacity: .84; }
}

@media (min-width: 1280px) {
    .home-mosaic-title {
        left: max(40px, calc((100vw - 1440px) / 2 + 40px));
    }
}

@media (max-width: 767px) {
    .home-mosaic-message {
        gap: 20px;
        padding-inline: 24px;
    }

    .home-mosaic-title {
        left: 24px;
        top: 196px;
        bottom: auto;
        font-size: clamp(22px, 6vw, 32px);
        letter-spacing: .03em;
        transform: none;
    }

    .home-mosaic-logo {
        width: min(88vw, 560px);
    }
}

.home-intro-active .navbar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.home-intro-revealing .navbar,
.home-intro-complete .navbar {
    opacity: 1;
    visibility: visible;
}
.home-scroll-locked {
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: none;
}
.navbar[data-nav-theme="transparent-dark"] {
    --nav-background: transparent;
    --nav-foreground: #1a1a1a;
}
.navbar[data-nav-theme="transparent-light"] {
    --nav-background: transparent;
    --nav-foreground: rgba(255,255,255,0.9);
}
.navbar[data-nav-theme="light-dark"] {
    --nav-background: rgba(255,255,255,0.92);
    --nav-foreground: #1a1a1a;
    --nav-border: rgba(20,24,30,0.1);
    --nav-backdrop-filter: blur(14px);
}
.navbar[data-nav-theme="dark-light"] {
    --nav-background: rgba(0,0,0,0.85);
    --nav-foreground: rgba(255,255,255,0.9);
    --nav-border: rgba(255,255,255,0.08);
    --nav-backdrop-filter: blur(12px);
}
.navbar:hover,
.navbar.nav-panel-open {
    --nav-background: #fff;
    --nav-foreground: #1a1a1a;
    --nav-border: rgba(20,24,30,0.1);
    --nav-backdrop-filter: none;
}
.navbar a,
.navbar .text-white,
.navbar .text-white\/90,
.navbar .mobile-only {
    color: var(--nav-foreground) !important;
}
.navbar .nav-item > a:hover {
    color: #FF6600 !important;
}
.navbar .desktop-only:last-of-type > a {
    color: #fff !important;
}
.nav-logo { display: none; }
.navbar[data-nav-theme="transparent-dark"] .nav-logo--dark,
.navbar[data-nav-theme="light-dark"] .nav-logo--dark,
.navbar:hover .nav-logo--dark,
.navbar.nav-panel-open .nav-logo--dark { display: block; }
.navbar[data-nav-theme="transparent-light"] .nav-logo--light,
.navbar[data-nav-theme="dark-light"] .nav-logo--light { display: block; }
.navbar:hover .nav-logo--light,
.navbar.nav-panel-open .nav-logo--light { display: none; }

.dropdown-panel {
    position: fixed; top: 64px; left: 0; width: 100vw; z-index: 9998;
    opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px);
    transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0ms 320ms;
}
/* 寮哄埗涓嬫媺闈㈡澘鍐呯殑鐧借壊鑳屾櫙涓嶉€忔槑 */
.dropdown-panel > div { background-color: #fff; }
.dropdown-panel.active {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
    transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0ms 0ms;
}
.category-btn {
    display: flex; align-items: center; justify-content: space-between;
    height: 48px; padding: 12px 20px; cursor: pointer;
    color: #333; font-size: 16px; font-weight: 500;
    transition: background-color 0.2s, color 0.2s; border: none; background: none;
    width: calc(100% - 16px); text-align: left; border-radius: 999px; margin: 2px 8px;
}
.category-btn:hover { background: #f1f2f3; color: #FF6600; }
.category-btn.active { background: #f1f2f3; color: #FF6600; }
.category-btn .arrow { transition: transform 0.2s; }
.category-btn.active .arrow { filter: none; }
.category-btn.active:hover { background: #f1f2f3; color: #FF6600; }

.product-card { border-radius: 8px; overflow: hidden; transition: box-shadow 0.25s; cursor: pointer; border: 1px solid #e5e7eb; display: flex; flex-direction: column; }
.product-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.10); }
.product-img-placeholder { background: #f3f4f6; height: 130px; display: flex; align-items: center; justify-content: center; color: #9ca3af; font-size: 13px; flex-shrink: 0; }
.panel-close { position: absolute; top: 12px; right: 16px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 50%; cursor: pointer; color: #6b7280; font-size: 18px; line-height: 1; transition: background 0.2s; background: none; border: none; }
.panel-close:hover { background: #f3f4f6; color: #111; }

.mobile-drawer { position: fixed; top: 0; right: 0; width: 300px; height: 100vh; background: #111; z-index: 10001; transform: translateX(100%); transition: transform 300ms ease-in-out; overflow-y: auto; }
.mobile-drawer.open { transform: translateX(0); }
.mobile-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.5); z-index: 10000; opacity: 0; visibility: hidden; transition: opacity 300ms ease-in-out; }
.mobile-overlay.open { opacity: 1; visibility: visible; }
.mobile-nav-item > .mobile-nav-link { display: block; padding: 16px 24px; color: #d1d5db; font-size: 15px; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.05); }
.mobile-sub { display: none; background: rgba(255,255,255,0.03); padding: 8px 0; }
.mobile-sub.open { display: block; }
.mobile-sub a { display: block; padding: 10px 24px 10px 40px; color: #9ca3af; font-size: 13px; text-decoration: none; }
.mobile-sub a:hover { color: #ff6b00; }
.mobile-category-header { display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.mobile-category-header .chevron { transition: transform 0.2s; font-size: 12px; }
.mobile-category-header.open .chevron { transform: rotate(90deg); }
.mobile-sub-sub { display: none; padding-left: 16px; }
.mobile-sub-sub.open { display: block; }
.badge-new { display: inline-block; font-size: 10px; font-weight: 700; background: #FF6600; color: #fff; border-radius: 10px; padding: 1px 8px; line-height: 1.6; vertical-align: middle; margin-left: 6px; }

/* ---- 涓嬫媺闈㈡澘锛氫骇鍝佸垎绫诲尯 ---- */
.dropdown-panel .flex-1.p-8 {
    will-change: height;
}
.product-cat-section {
    display: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 240ms ease, transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
.product-cat-section.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}
.product-cat-section.active.is-entering {
    opacity: 0;
    transform: translateY(10px);
}

/* 鍒嗙被鏍囬 */
.cat-section-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 24px; }
.cat-section-title { font-size: 18px; font-weight: 700; color: #1a1a1a; letter-spacing: 1px; white-space: nowrap; }
.cat-section-sub { font-size: 13px; color: #999; letter-spacing: 0.5px; }

/* 浜у搧鍗＄墖缃戞牸 */
.dropdown-product-grid { display: grid; gap: 16px; }
.dropdown-product-grid--3col { grid-template-columns: repeat(3, 1fr); }
.dropdown-product-grid--2col { grid-template-columns: 1fr 1fr; }
.dropdown-product-grid--stacked { grid-template-columns: 1fr; gap: 20px; }

/* 浜у搧鍗＄墖 */
.dropdown-product-card {
    border: none;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
}
.dropdown-product-card-img {
    position: relative;
    background: #e8e8e8;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.dropdown-product-card-img::before {
    position: absolute;
    content: "";
    inset: 0;
    opacity: 0;
    background-image: linear-gradient(180deg, #000000 0%, #828898 77%, #828898 100%);
    transition: 0.3s all ease-in-out;
    border-radius: 8px;
    z-index: 0;
}
.dropdown-product-card:hover .dropdown-product-card-img::before { opacity: 1; }
.dropdown-product-card-img img {
    position: relative;
    z-index: 1;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.dropdown-product-grid--3col .dropdown-product-card-img { aspect-ratio: 2/1; }
.dropdown-product-grid--2col .dropdown-product-card-img { aspect-ratio: 6/5; }
.dropdown-product-card-name {
    display: block;
    padding: 12px 16px;
    font-size: 14px; font-weight: 500;
    color: #61687C;
    letter-spacing: 0.5px;
    text-align: left;
}
.dropdown-product-card-copy { padding: 12px 0 2px; text-align: left; }
.dropdown-product-card-model {
    font-family: var(--font-sans);
    display: block;
    color: #20242d;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
}
.dropdown-product-card-desc {
    display: block;
    margin-top: 4px;
    color: #8b919e;
    font-size: 13px;
    line-height: 1.5;
}

/* 瀹氬埗鍖栦骇绾匡細涓婁笅鍫嗗彔锛屾洿瀹界殑鍥剧墖姣斾緥 */
.dropdown-product-card--custom .dropdown-product-card-img { height: 210px; }
.dropdown-product-card--custom .dropdown-product-card-name { font-size: 14px; padding: 14px 20px; }

/* 閫夐厤妯″潡锛氬浘鏍?鏂囧瓧 缃戞牸 */
.dropdown-module-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.dropdown-module-item {
    display: flex; align-items: flex-start; gap: 16px;
    padding: 18px 20px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.25s;
}
.dropdown-module-item:hover { background: #f5f5f5; }
.dropdown-module-icon {
    flex-shrink: 0;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 8px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
}
.dropdown-module-text { display: flex; flex-direction: column; gap: 3px; }
.dropdown-module-name { font-size: 13px; font-weight: 600; color: #1a1a1a; letter-spacing: 0.5px; }
.dropdown-module-desc { font-size: 11px; color: #999; line-height: 1.5; }

/* 鍝嶅簲寮忥細绉诲姩绔笅鎷夐潰鏉垮唴璋冩暣 */
@media (max-width: 768px) {
    .dropdown-product-grid--3col { grid-template-columns: repeat(2, 1fr); }
    .dropdown-product-grid--2col { grid-template-columns: 1fr; }
    .dropdown-module-grid { grid-template-columns: 1fr; }
}

/* ===== Hero ===== */
.hero { position: relative; width: 100%; height: 100vh; overflow: hidden; }
.hero-bg-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #0a0a0a url('../images/bg-1.webp') center center / cover no-repeat; z-index: 0; }
.hero-bg-layer.zooming { animation: heroBreathe 8s ease-in-out infinite; }
/*
 * [璋冨懠鍚稿箙搴 鏀?scale(1.06) 鐨?1.06 鈫?鏁板€艰秺澶у懠鍚歌秺鏄庢樉
 * [璋冨懠鍚搁€熷害] 鏀?8s 鈫?鏀瑰ぇ鏇存參銆佹敼灏忔洿蹇? */
@keyframes heroBreathe { 0% { transform: scale(1); } 50% { transform: scale(1.06); } 100% { transform: scale(1); } }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); z-index: 1; }

/*
 * ============================================================
 *  鍚屼竴琛屾爣璇細璐┛寮€灞忓姩鐢讳笌鏈€缁?banner锛堝悓涓€鍏冪礌锛屼笉鍙樹綅缃級
 * ============================================================
 *  - 鍒濆鐘舵€侊細鏀惧ぇ 1.5 鍊嶃€侀€忔槑銆佸眳涓? *  - .show锛氭贰鍏ュ彲瑙? *  - .settle锛氱缉灏忓埌姝ｅ父灏哄
 */
#heroSlogan {
    position: absolute;
    /* [璋冧綅缃甝 top 鎺у埗鏍囪鍨傜洿浣嶇疆锛氭敼灏忊啋涓婄Щ锛屾敼澶р啋涓嬬Щ锛堝崰瑙嗗彛楂樺害鐧惧垎姣旓級 */
    top: 45%;
    left: 0; right: 0;
    /* [璋冨垵濮嬪ぇ灏廬 scale(1.5) 鏄紑灞忔椂鐨勬斁澶у€嶆暟锛氭敼灏忊啋鍒濆鏇磋创杩戞渶缁堝昂瀵?*/
    transform: translateY(-45%) scale(1.5);
    z-index: 99;
    text-align: center; padding: 0 24px;
    pointer-events: none;
    opacity: 0;
    font-size: clamp(36px, 5.5vw, 68px);
    font-weight: 700; color: #f5f5f7;
    letter-spacing: 4px; line-height: 1.3;
}
/* [璋冩贰鍏ラ€熷害] 鏀?0.6s 鎺у埗鏍囪浠庨€忔槑鈫掑彲瑙佺殑蹇參 */
#heroSlogan.show { opacity: 1; transition: opacity 0.6s ease; }
/*
 * [璋冧笂娴窛绂籡 鏀?translateY 鍊?鈫?鏍囪浠庡杩滅殑涓嬫柟娴笂鏉ワ紙鐢ㄤ簬鍔ㄧ敾鏂规 C锛? * 姝ｅ€?浠庝笅鏂规潵锛岃礋鍊?浠庝笂鏂规潵
 */

#heroSlogan .hl { background: linear-gradient(135deg, #ff6b00, #ffb366); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
/* [璋冪缉灏忛€熷害] 鏀?0.8s 鎺у埗鏍囪浠?1.5x 缂╁皬鍒?1x 鐨勫揩鎱? * [璋冪缉灏忚妭濂廬 cubic-bezier(0.22, 1, 0.36, 1) 鏄紦鍔ㄦ洸绾库€斺€斿墠蹇悗鎱㈡湁杞诲井鍥炲脊
 *   鏀规垚 ease 灏辨槸鍖€閫燂紱鏀规垚 ease-in-out 灏辨槸鍏堟參鍚庡揩鍐嶆參
 */
#heroSlogan.settle {
    transform: translateY(-50%) scale(1);
    transition: transform var(--home-intro-reveal-duration, 1s) cubic-bezier(0.22, 1, 0.36, 1);
}

/*
 * ============================================================
 *  Splash 閬僵锛氱函榛戣鐩栧眰锛屾贰鍑哄悗闇插嚭鑳屾櫙 & 瀵艰埅
 * ============================================================
 */
#splash {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background: #000; z-index: 98;
    pointer-events: auto;
    /* [璋冮伄缃╂贰鍑洪€熷害] 鏀?0.8s 鎺у埗榛戝睆娑堝け鐨勫揩鎱?*/
    transition: opacity var(--home-intro-reveal-duration, 1s) cubic-bezier(0.22, 1, 0.36, 1);
}
#splash.hidden { opacity: 0; pointer-events: none; }

/*
 * ============================================================
 *  鍓爣棰?+ 鎸夐挳鍖哄煙
 * ============================================================
 */
.hero-content {
    position: absolute;
    /* [璋冮棿璺漖 bottom 鎺у埗鍓爣棰樿窛瑙嗗彛搴曢儴鐨勮窛绂伙細鏀瑰ぇ鈫掍笂绉婚潬杩戞爣璇紝鏀瑰皬鈫掍笅绉?*/
    bottom: 35vh;
    left: 50%; transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    width: 100%;
    padding: 0 24px;
}
/* [璋冨壇鏍囬涓嬮棿璺漖 margin 鎺у埗鍓爣棰樹笌鎸夐挳涔嬮棿鐨勭┖鐧斤細鏀?36px 璋冨ぇ灏?*/
.hero-sub { font-size: clamp(14px, 1.5vw, 18px); color: rgba(255,255,255,0.55); letter-spacing: 3px; font-weight: 300; max-width: 640px; margin: 0 auto 36px; }
.hero-btns { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
.hero-btns .btn-primary { padding: 14px 36px; font-size: 15px; font-weight: 500; color: #fff; background: linear-gradient(135deg, #ff6b00, #ff7a00); border-radius: 28px; text-decoration: none; transition: all 0.3s; box-shadow: 0 4px 16px rgba(255,107,0,0.3); }
.hero-btns .btn-primary:hover { box-shadow: 0 6px 24px rgba(255,107,0,0.45); transform: translateY(-2px); }
.hero-btns .btn-outline { padding: 14px 36px; font-size: 15px; font-weight: 500; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 28px; text-decoration: none; transition: all 0.3s; }
.hero-btns .btn-outline:hover { border-color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.06); }

#heroSub, #heroBtns { opacity: 0; }
/* [璋冨壇鏍囬娣″叆閫熷害] 鏀?0.8s 鎺у埗鍓爣棰樺拰鎸夐挳浠庨€忔槑鈫掑彲瑙佺殑蹇參 */
#heroSub.show, #heroBtns.show {
    opacity: 1;
    transition: opacity var(--home-intro-reveal-duration, 1s) ease;
}

/* ============================================================
 *  婊氬姩鎸囩ず鍣紙灞忓箷搴曢儴鐨勯紶鏍囧浘鏍?+ SCROLL 鏂囧瓧锛? * ============================================================ */
/* [璋冨嚭鐜伴€熷害] 鏀?1s 鎺у埗婊氬姩鎸囩ず鍣ㄦ贰鍏ョ殑蹇參 */
#scroll-indicator { position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; flex-direction: column; align-items: center; gap: 8px; opacity: 0; transition: opacity 1s ease; }
#scroll-indicator.show { opacity: 1; }
/* [璋冨脊璺抽€熷害] 鏀?2.4s 鎺у埗榧犳爣鍥炬爣涓婁笅寮硅烦鐨勮妭濂?*/
.scroll-mouse { width: 26px; height: 40px; border: 2px solid rgba(255,255,255,0.35); border-radius: 13px; display: flex; justify-content: center; animation: scrollBounce 2.4s ease-in-out infinite; }
.scroll-wheel { width: 3px; height: 10px; background: rgba(255,255,255,0.5); border-radius: 2px; margin-top: 8px; animation: scrollWheel 2.4s ease-in-out infinite; }
.scroll-text { font-size: 10px; color: rgba(255,255,255,0.25); letter-spacing: 3px; font-weight: 300; }
@keyframes scrollBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
@keyframes scrollWheel { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0.15; transform: translateY(10px); } }

/* ===== 椤佃剼 ===== */
.site-footer { background: #0a0a0a; color: #9ca3af; }
.site-footer a { color: #d1d5db; text-decoration: none; transition: color 0.2s; }
.site-footer a:hover { color: #FF6600; }
.site-footer .footer-title { color: #f5f5f7; font-weight: 600; font-size: 14px; letter-spacing: 1px; }

/* ============================================================
 *  鍏ㄥ睆 Section 閫氱敤
 * ============================================================ */
.fullscreen-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.section-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0;
}
.section-inner {
    position: relative; z-index: 1;
    height: 100%;
    max-width: 95%;
    margin: 0 auto;
    padding: 0 40px;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center;
}

/* ---- 鏍囬 ---- */
.section-heading {
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 700;
    color: #f5f5f7;
    letter-spacing: 6px;
    margin-bottom: 20px;
}
/*
 * 鏍囬娓愬彉閰嶈壊 鈥斺€?閫氳繃 data-heading-style 灞炴€у垏鎹? * 鐢ㄦ硶锛?h2 class="section-heading" data-heading-style="silver">鏍囬</h2>
 *
 * [璋冩笎鍙樿搴 鏀?deg 鍊?鈫?娓愬彉鏂瑰悜
 * [璋冩笎鍙橀鑹瞉 鏀硅壊鍊?鈫?娓愬彉鑹插僵
 *
 * silver  鈥?閾剁櫧閲戝睘璐ㄦ劅锛岄€傚悎"鐪艰涓哄疄"
 * warm    鈥?鏆栨閲戣壊锛岄€傚悎"閲忚韩瀹氬埗"
 * mixed   鈥?鐧解啋姗欐笎鍙橈紝閫傚悎"涓撲笟锛屾簮浜庣粡楠?
 * pure    鈥?绾櫧寰厜锛岄€傚悎搴曢儴鍝佺墝鍚? */
.section-heading[data-heading-style="silver"] {
    background: linear-gradient(135deg, #e0e0e0 0%, #f5f5f7 40%, #a0a0a0 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.section-heading[data-heading-style="warm"] {
    background: linear-gradient(135deg, #ffb366 0%, #fff 50%, #ff8c42 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.section-heading[data-heading-style="mixed"] {
    background: linear-gradient(135deg, #ffffff 0%, #d4d4d4 30%, #ff8c42 70%, #ffb366 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.section-heading[data-heading-style="pure"] {
    background: linear-gradient(180deg, #ffffff 0%, #c0c0c0 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.section-lead {
    font-size: clamp(14px, 1.3vw, 16px);
    color: rgba(255,255,255,0.45);
    letter-spacing: 2px;
    font-weight: 300;
    max-width: 700px;
    line-height: 1.8;
    margin-bottom: 56px;
}
.section-cta { margin-top: 48px; }
.section-cta .btn-primary {
    display: inline-block;
    padding: 14px 42px;
    font-size: 15px; font-weight: 500;
    color: #fff;
    background: linear-gradient(135deg, #ff6b00, #ff7a00);
    border-radius: 28px; text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 4px 16px rgba(255,107,0,0.3);
    letter-spacing: 1px;
}
.section-cta .btn-primary:hover {
    box-shadow: 0 6px 24px rgba(255,107,0,0.45);
    transform: translateY(-2px);
}

/* ============================================================
 *  鐒婃帴娴嬭瘯 鈥斺€?鍥涘鏍肩壒鎬у崱鐗? * ============================================================ */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
    max-width: 960px;
}
.feature-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    padding: 32px 20px 28px;
    text-align: left;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.feature-card:hover {
    border-color: rgba(255,102,0,0.3);
    background: rgba(255,255,255,0.05);
    transform: translateY(-4px);
}
.feature-num {
    display: block;
    font-size: 13px; font-weight: 600;
    color: rgba(255,102,0,0.6);
    letter-spacing: 2px;
    margin-bottom: 14px;
}
.feature-title {
    font-size: 14px; font-weight: 500;
    color: #d1d5db;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}
.feature-desc {
    font-size: 12px;
    color: rgba(255,255,255,0.3);
    letter-spacing: 0.5px;
}

/* ============================================================
 *  鐒婃帴娴嬭瘯 鈥斺€?涓ゆ€佹粴鍔ㄥ竷灞€
 * ============================================================
 *  闃舵 0锛氬叏灞忓浘鐗囪儗鏅紝鏍囬/鍓爣棰樺湪鍙充晶 1/3 澶勶紝鏂囧瓧娣辫壊
 *  闃舵 1锛氬浘鐗囩缉灏忎负灞呬腑鍗＄墖锛?0%瀹?鍦嗚锛夛紝鎵€鏈夊唴瀹逛粛鍦ㄥ浘鐗囦箣涓? *
 *  JS 閫氳繃 data-welding-stage 灞炴€у垏鎹?0 鈫?1銆? *  [璋冭妭濂廬 transition 鏃堕暱缁熶竴 0.9s锛屽鍚堢紦鍔ㄤ富棰? */

/* ---- 闃舵鍒囨崲杩囨浮 ---- */
.welding-section { background: #080808; }
/*
 * [璋冨浘鐗囩缉鏀鹃€熷害] 鏀?1.4s 鈫?澶?鏇存參鏇存叺鎳掞紝灏?鏇村共鑴? * [璋冭妭濂忔洸绾縘 cubic-bezier(0.22, 1, 0.36, 1) = 鍓嶅揩鍚庢參杞诲井鍥炲脊
 */
.welding-bg {
    z-index: 1;
    transition: width 1.4s cubic-bezier(0.22, 1, 0.36, 1),
                height 1.4s cubic-bezier(0.22, 1, 0.36, 1),
                border-radius 1.4s cubic-bezier(0.22, 1, 0.36, 1),
                top 1.4s cubic-bezier(0.22, 1, 0.36, 1),
                left 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- 闃舵 0锛氬叏灞忓浘 + 灞呬腑娣卞瓧 ---- */
.welding-section[data-welding-stage="0"] .welding-heading {
    background: linear-gradient(135deg, #1a1a1a 0%, #333 50%, #555 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.welding-section[data-welding-stage="0"] .welding-lead {
    color: rgba(0,0,0,0.55);
}
.welding-section[data-welding-stage="0"] .welding-features {
    opacity: 0; pointer-events: none;
}

/* ---- 闃舵 1锛氬崱鐗囧浘 + 鍐呭鍙犲湪鍗＄墖涔嬩笂 ---- */
.welding-section[data-welding-stage="1"] .welding-bg {
    width: 82%; height: 82%; top: 9%; left: 9%;
    border-radius: 24px;
}
/* 闃舵 1 鏂囧瓧浠嶅湪鍥剧墖涓?鈫?淇濇寔娣辫壊 */
.welding-section[data-welding-stage="1"] .welding-heading {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #444 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.welding-section[data-welding-stage="1"] .welding-lead {
    color: rgba(0,0,0,0.5);
}
/*
 * [璋冪壒鎬ф贰鍏ラ€熷害] 鏀?0.8s 鈫?澶?鏇存參
 * [璋冪壒鎬у欢杩熷叆鍦篯 鏀?0.8s 鈫?澶?鍥剧墖缂╁皬鍚庣瓑鏇翠箙鎵嶅嚭鐜? */
.welding-section[data-welding-stage="1"] .welding-features {
    opacity: 1; pointer-events: auto;
    transition: opacity 0.8s 0.8s;
}

/* ---- 鍐呭鍖哄缁堝彔鍦ㄥ浘鐗囦箣涓?---- */
.welding-inner {
    justify-content: center;
}
/* 闃舵 0锛氬唴瀹归潬鍙?*/
.welding-section[data-welding-stage="0"] .welding-content {
    display: flex; flex-direction: column;
    align-items: flex-end;
    max-width: 500px;
    margin-left: auto;
    margin-right: clamp(40px, 8vw, 120px);
    width: 100%;
}
.welding-section[data-welding-stage="0"] .welding-heading,
.welding-section[data-welding-stage="0"] .welding-lead {
    text-align: right;
}
/* 闃舵 1锛氬唴瀹归潬鍙筹紝绾︽潫鍦ㄥ崱鐗囪寖鍥村唴 */
.welding-section[data-welding-stage="1"] .welding-content {
    display: flex; flex-direction: column;
    align-items: flex-end;
    text-align: right;
    max-width: 64%;
    margin-left: auto;
    margin-right: 12%;
    width: 100%;
}
.welding-section[data-welding-stage="1"] .welding-heading,
.welding-section[data-welding-stage="1"] .welding-lead {
    text-align: right;
}

/* ---- 鏍囬鍜屽璇渶澶у搴?---- */
.welding-heading { max-width: 520px; }
.welding-lead   { max-width: 420px; }
.welding-section[data-welding-stage="0"] .welding-lead { max-width: 380px; }

/* ---- 鐗规€?2脳2 缃戞牸 ---- */
.welding-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 640px;
    width: 100%;
    margin-top: 32px;
}
.welding-feature-card {
    display: flex; align-items: flex-start; gap: 16px;
    background: rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 14px;
    padding: 24px 20px;
    text-align: left;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.welding-feature-card:hover {
    border-color: rgba(255,102,0,0.3);
    background: rgba(0,0,0,0.06);
    transform: translateY(-3px);
}
.feature-icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: rgba(255,102,0,0.12);
    color: #FF6600;
}
.welding-feature-card .feature-title  { margin-bottom: 4px; color: #1a1a1a; }
.welding-feature-card .feature-desc   { font-size: 12px; color: rgba(0,0,0,0.4); }

/* ---- 鍝嶅簲寮?---- */
@media (max-width: 768px) {
    .welding-section[data-welding-stage="0"] .welding-content {
        max-width: 90%; margin-right: auto; align-items: center;
    }
    .welding-section[data-welding-stage="0"] .welding-heading,
    .welding-section[data-welding-stage="0"] .welding-lead {
        text-align: center;
    }
    .welding-section[data-welding-stage="1"] .welding-bg {
        width: 90%; height: 78%; top: 11%; left: 5%;
        border-radius: 16px;
    }
    .welding-section[data-welding-stage="1"] .welding-content {
        max-width: 82%; margin-right: auto; align-items: center; text-align: center;
    }
    .welding-section[data-welding-stage="1"] .welding-heading,
    .welding-section[data-welding-stage="1"] .welding-lead {
        text-align: center;
    }
    .welding-features { grid-template-columns: 1fr; gap: 12px; max-width: 400px; }
    .welding-feature-card { padding: 18px 16px; }
}

/* ============================================================
 *  鏍稿績璁惧 鈥斺€?鍙屾爮璁惧鍗＄墖
 * ============================================================ */
.equipment-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    width: 100%;
    max-width: 1000px;
}
.equipment-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s, transform 0.3s;
}
.equipment-card:hover {
    border-color: rgba(255,102,0,0.25);
    transform: translateY(-6px);
}
.equipment-img {
    height: 200px;
    background: rgba(255,255,255,0.03);
    display: flex; align-items: center; justify-content: center;
}
.equipment-body { padding: 28px 32px 32px; text-align: left; }
.equipment-name {
    font-size: 18px; font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
.equipment-specs {
    display: flex; align-items: center; gap: 24px;
    margin-bottom: 16px;
}
.spec-item { text-align: center; }
.spec-value {
    display: block;
    font-size: 28px; font-weight: 700;
    color: #FF6600;
    letter-spacing: 1px;
    line-height: 1.2;
}
.spec-label {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,0.3);
    letter-spacing: 1px;
    margin-top: 2px;
}
.spec-divider { width: 1px; height: 36px; background: rgba(255,255,255,0.08); }
.equipment-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.7;
}

/* ============================================================
 *  鏍稿績璁惧 V2 鈥斺€?绾靛悜澶у浘鐗堝紡
 *  涓や釜鍗＄墖涓婁笅鎺掑垪锛堟垨 2 鍒楋級锛屽浘鐗囧尯鍩熸洿澶э紙280px 楂橈級锛? *  寮鸿皟璁惧瀹炵墿鍥剧殑瑙嗚鍐插嚮鍔涖€? * ============================================================ */
.equipment-v2-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px;
    width: 100%;
    max-width: 1080px;
}
.equipment-v2-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s, transform 0.3s;
}
.equipment-v2-card:hover {
    border-color: rgba(255,102,0,0.25);
    transform: translateY(-4px);
}
.equipment-v2-img {
    height: 280px;
    background: rgba(255,255,255,0.03);
    display: flex; align-items: center; justify-content: center;
}
.equipment-v2-body {
    padding: 24px 28px 28px;
    text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 16px;
}

/* ============================================================
 *  鏍稿績璁惧 V3 鈥斺€?宸﹀彸鍒嗘爮鐗堝紡
 *  姣忎釜璁惧涓€琛岋細宸︿晶澶у浘锛?80px 瀹斤級锛屽彸渚т俊鎭尯銆? *  [璋冨浘鐗囧搴 鏀?.equipment-v3-img 鐨?width
 *  [璋冭闂磋窛]   鏀?.equipment-v3-row 鐨?gap
 * ============================================================ */
.equipment-v3-wrap {
    width: 100%;
    max-width: 1100px;
    display: flex; flex-direction: column; gap: 20px;
}
.equipment-v3-row {
    display: flex; align-items: stretch; gap: 44px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s;
    padding-right: 40px;
}
.equipment-v3-row:hover { border-color: rgba(255,102,0,0.25); }
.equipment-v3-img {
    width: 380px; min-height: 180px; flex-shrink: 0;
    background: rgba(255,255,255,0.03);
    display: flex; align-items: center; justify-content: center;
}
.equipment-v3-info {
    flex: 1; display: flex; flex-direction: column; justify-content: center;
    padding: 24px 0; text-align: left;
}
.equipment-v3-info .equipment-specs { justify-content: flex-start; margin-bottom: 10px; }
.equipment-v3-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
    margin: 0 20px;
}

/* ============================================================
 *  缁忛獙绉疮 鈥斺€?鍥涙爮鏁板瓧鍗＄墖
 * ============================================================ */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    width: 100%;
    max-width: 1060px;
}
.stat-card {
    text-align: center;
    padding: 20px 12px;
}
.stat-number {
    font-size: clamp(48px, 5vw, 64px);
    font-weight: 700;
    background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,0.7) 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
    line-height: 1.1;
    margin-bottom: 14px;
}
.stat-unit {
    font-size: clamp(20px, 2.5vw, 28px);
    background: linear-gradient(135deg, #ff6b00, #ffb366);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 600;
}
.stat-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 1px;
    line-height: 1.8;
    max-width: 180px;
    margin: 0 auto;
}

/* ============================================================
 *  鍏ュ満鍔ㄧ敾锛堢敱 JS 瑙﹀彂 .visible锛? * ============================================================
 *  鎵€鏈夊惈 [data-animate="fade-up"] 鐨勫厓绱犻粯璁ら€忔槑+涓嬬Щ锛? *  JS 婊氬姩鍒板搴?Section 鏃舵坊鍔?.visible 鈫?娣″叆涓婃诞銆? *  鑺傚 cubic-bezier(0.22, 1, 0.36, 1) 涓庡紑灞忔爣璇竴鑷粹€斺€斿墠蹇悗鎱㈣交寰洖寮广€? */
[data-animate="fade-up"] {
    opacity: 0;
    transform: translateY(36px);
    transition:
        opacity  0.9s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-animate="fade-up"].visible {
    opacity: 1;
    transform: translateY(0);
}
/* data-delay 鐢?JS 璇诲彇骞跺姩鎬佽缃?transition-delay锛屽厑璁告瘡涓厓绱犻敊寮€鍏ュ満 */


/* ============================================================
 *  鍙充晶鍦嗙偣瀵艰埅
 * ============================================================
 *  鍥哄畾浜庤鍙ｅ彸渚э紝绔栫洿灞呬腑銆? *  姣忎釜鍦嗙偣浠ｈ〃涓€涓叏灞?Section锛屽綋鍓嶆縺娲荤殑鍦嗙偣楂樹寒涓烘鑹层€? *  [璋冨渾鐐瑰ぇ灏廬      鏀?width/height
 *  [璋冨渾鐐归棿璺漖      鏀?gap
 *  [璋冨鑸爮浣嶇疆]    鏀?right
 *  [璋冩縺娲婚鑹瞉      鏀?background
 *  [璋冮潪婵€娲婚鑹瞉    鏀?border-color / background
 */
#section-dots {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 88;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    pointer-events: none;
}
#section-dots .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.1);
    transition: background 0.4s, border-color 0.4s, transform 0.4s;
    pointer-events: auto;
    cursor: pointer;
}
#section-dots .dot.active {
    background: #FF6600;
    border-color: #FF6600;
    box-shadow: 0 0 12px rgba(255,102,0,0.4);
    transform: scale(1.3);
}

/* ============================================================
 *  搴曢儴淇℃伅鏍忥紙鏂扮増锛氬鍒楀鑸粨鏋勶級
 * ============================================================ */

/* ---- 涓诲鑸垪瀹瑰櫒 ---- */
.footer-columns {
    display: flex;
    justify-content: center;
    gap: clamp(40px, 6vw, 80px);
    flex-wrap: wrap;
    margin-bottom: 48px;
    width: 100%;
    max-width: 960px;
}
.footer-col {
    text-align: left;
    min-width: 100px;
}
.footer-col-title {
    font-size: 14px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 2px;
    margin-bottom: 16px;
}
.footer-col-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-col-list li {
    margin-bottom: 8px;
}
.footer-col-list a {
    font-size: 13px;
    color: rgba(255,255,255,0.3);
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.2s;
}
.footer-col-list a:hover { color: #FF6600; }

/* ---- 鍒嗗壊绾?---- */
.footer-divider {
    width: 100%;
    max-width: 960px;
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
    margin-bottom: 0;
}

/* ---- 搴曢儴淇℃伅琛岋紙鑱旂郴鏂瑰紡 + 绀惧獟锛?---- */
.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 24px 56px;
    margin-bottom: 32px;
}
.footer-contact-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 36px;
}
.footer-contact-item {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
}
.footer-contact-item svg {
    flex-shrink: 0;
    color: rgba(255,102,0,0.45);
}
.footer-social-row {
    display: flex; align-items: center; gap: 16px;
}
.footer-social-label {
    font-size: 11px; color: rgba(255,255,255,0.2);
    letter-spacing: 2px; text-transform: uppercase;
}
.footer-social-links {
    display: flex; gap: 20px;
}
.footer-social-links a {
    font-size: 13px; color: rgba(255,255,255,0.3);
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.2s;
}
.footer-social-links a:hover { color: #FF6600; }
.footer-copyright {
    font-size: 12px; color: rgba(255,255,255,0.15);
    letter-spacing: 1px;
}

/* ============================================================
 *  鍝嶅簲寮? * ============================================================ */
@media (max-width: 768px) {
    .section-inner { padding: 0 24px; }
    .section-heading { letter-spacing: 4px; }
    .section-lead { margin-bottom: 40px; }
    .feature-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .feature-card { padding: 24px 16px; }
    .equipment-grid { grid-template-columns: 1fr; gap: 24px; max-width: 440px; }
    .equipment-body { padding: 20px 24px 24px; }
    .equipment-img { height: 160px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .stat-number { font-size: 40px; }
    .stat-desc { font-size: 12px; }
    .section-cta { margin-top: 36px; }
    .footer-columns { gap: 32px; justify-content: flex-start; }
    .footer-col { min-width: 80px; }
    .footer-bottom { flex-direction: column; gap: 20px; }
    .footer-contact-row { flex-direction: column; gap: 10px; align-items: center; }
    .footer-social-links { gap: 20px; }
    .spec-value { font-size: 24px; }
    .equipment-v2-grid { grid-template-columns: 1fr; gap: 24px; max-width: 440px; }
    .equipment-v2-img { height: 200px; }
    .equipment-v3-row { flex-direction: column; gap: 0; padding-right: 0; }
    .equipment-v3-img { width: 100%; min-height: 160px; }
    .equipment-v3-info { padding: 20px 24px 24px; }
    /* 鐒婃帴 Section 鍙充晶甯冨眬 鈫?绉诲姩绔眳涓摵婊?*/
    .section-bg-overlay { background: rgba(5,5,5,0.78); }
    .section-inner-right { align-items: center; text-align: center; padding-right: 24px; }
    .section-inner-right .section-heading { text-align: center; max-width: 100%; }
    .section-inner-right .section-lead { max-width: 100%; }
    .feature-grid-2x2 { max-width: 100%; }
}

/* ---- 淇濇寔鍘熸湁鍝嶅簲寮?---- */
@media (max-width: 768px) {
    .desktop-only { display: none !important; }
    .mobile-only { display: flex !important; }
    .navbar #mobileMenuBtn { margin-left: auto; }
    #heroSlogan {
        white-space: pre-line;
        line-height: 1.16;
    }
    #heroSlogan .home-slogan-line {
        display: inline-block;
    }
    .hero-content { bottom: 18vh; }
    .welding-section .feature-grid.welding-features {
        grid-template-columns: 1fr !important;
        gap: 10px;
        width: min(100%, 340px);
        max-width: 340px;
        margin-top: 18px;
    }
    .welding-section .welding-feature-card {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        min-height: 76px;
        padding: 12px 14px;
        background: rgba(255,255,255,0.72);
        border-color: rgba(255,255,255,0.46);
        box-shadow: 0 10px 28px rgba(0,0,0,0.08);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }
    .welding-section .welding-feature-card .feature-icon {
        width: 38px;
        height: 38px;
        border-radius: 9px;
        background: rgba(255,102,0,0.14);
    }
    .welding-section .welding-feature-card .feature-title {
        margin-bottom: 3px;
        color: #1f2328;
        font-size: 13px;
        line-height: 1.35;
    }
    .welding-section .welding-feature-card .feature-desc {
        color: rgba(25,29,35,0.66);
        font-size: 12px;
        line-height: 1.55;
    }
    .site-cta-wrap,
    .product-cta,
    .plandetail-cta-wrap {
        display: none !important;
    }
    #section-footer .footer-columns .footer-col:nth-child(4) {
        display: none !important;
    }
}
@media (min-width: 769px) { .mobile-only { display: none !important; } }


/* ============================================================
 *  浜у搧鍒楄〃椤碉紙娴呯櫧涓婚 路 姗欑郴閰嶈壊锛? * ============================================================ */

/* ---- Hero ---- */
.product-hero {
    position: relative;
    width: 100%;
    height: 80vh;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #1a1a1e;
}
.product-hero-bg-layer {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: #1a1a1e url('../images/bg-prolist1.webp') center center / cover no-repeat;
    z-index: 0;
    will-change: transform;
}
.product-hero-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: transparent;
    z-index: 1;
}
.product-hero-content {
    position: relative; z-index: 2;
    text-align: center;
    padding: 0 24px;
    margin-bottom: 350px;
}
.product-hero-title {
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 700;
    background: linear-gradient(135deg, #ffffff 0%, #cccccc 40%, #e8550a 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 8px;
    margin-bottom: 200px;
}
.product-hero-title[data-animate="fade-up"] {
    transition:
        opacity  1.6s cubic-bezier(0.22, 1, 0.36, 1),
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.product-hero-sub {
    font-size: clamp(14px, 1.3vw, 17px);
    color: rgba(255,255,255,0.45);
    letter-spacing: 4px;
    font-weight: 300;
    line-height: 1.6;
}

/* ============================================================
 *  投资页 Hero
 * ============================================================ */
.invest-page .invest-hero {
    height: 100vh;
    min-height: 720px;
    display: block;
    background: #080a0b;
}
.invest-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #080a0b url("../images/invest/bg1.webp") center / cover no-repeat;
}
.invest-hero-content {
    position: relative;
    z-index: 2;
    width: min(1440px, calc(100% - 48px));
    height: 100%;
    margin: 0 auto;
    padding-top: clamp(178px, 25.6vh, 238px);
}
.invest-hero-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    color: #f5f5f5;
    font-size: clamp(52px, 4.35vw, 76px);
    font-weight: 700;
    line-height: 1.34;
    letter-spacing: 0.08em;
    text-shadow: 0 2px 18px rgba(0,0,0,0.24);
}
.invest-hero-title span {
    display: block;
}
.invest-hero-title .invest-hero-accent {
    display: inline;
    color: #ff7a32;
}
.invest-hero-sub {
    margin-top: 22px;
    color: rgba(255,255,255,0.66);
    font-size: clamp(16px, 1.05vw, 20px);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.035em;
}
.invest-hero-rule {
    display: block;
    width: 38px;
    height: 2px;
    margin-top: 47px;
    background: #ff6a00;
}
.invest-hero-metrics {
    display: flex;
    align-items: stretch;
    margin-top: 60px;
}
.invest-hero-metric {
    display: flex;
    align-items: center;
    min-width: 250px;
    min-height: 76px;
    padding: 0 44px;
    border-left: 1px solid rgba(255,255,255,0.24);
}
.invest-hero-metric:first-child {
    padding-left: 0;
    border-left: 0;
}
.invest-hero-metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    margin-right: 22px;
    border: 2px solid rgba(255,112,25,0.38);
    border-radius: 50%;
    color: #e67632;
    font-size: 28px;
}
.invest-hero-metric-copy {
    display: flex;
    flex-direction: column;
    white-space: nowrap;
}
.invest-hero-metric-copy strong {
    color: #f7f7f7;
    font-size: 31px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0.01em;
}
.invest-hero-metric-copy strong small {
    color: rgba(255,255,255,0.68);
    font-size: 14px;
    font-weight: 400;
}
.invest-hero-metric-copy > span {
    margin-top: 7px;
    color: rgba(255,255,255,0.56);
    font-size: 15px;
    font-weight: 300;
    line-height: 1.3;
}
@media (max-width: 1200px) {
    .invest-hero-content {
        width: calc(100% - 80px);
        padding-top: 170px;
    }
    .invest-hero-title {
        font-size: clamp(48px, 6vw, 66px);
    }
    .invest-hero-metric {
        min-width: 0;
        padding: 0 28px;
    }
    .invest-hero-metric-icon {
        margin-right: 15px;
    }
}

@media (max-width: 768px) {
    .invest-page .invest-hero {
        height: auto;
        min-height: 100svh;
    }
    .invest-hero-bg {
        background-position: 63% center;
    }
    .invest-hero-bg::after {
        position: absolute;
        inset: 0;
        content: "";
        background: rgba(4,5,6,0.48);
    }
    .invest-hero-content {
        width: calc(100% - 40px);
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 12vh 0 64px;
    }
    .invest-hero-title {
        font-size: clamp(38px, 11vw, 54px);
        line-height: 1.38;
        letter-spacing: 0.04em;
    }
    .invest-hero-sub {
        max-width: 560px;
        margin-top: 20px;
        font-size: 15px;
    }
    .invest-hero-rule {
        margin-top: 34px;
    }
    .invest-hero-metrics {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        margin-top: 42px;
    }
    .invest-hero-metric,
    .invest-hero-metric:first-child {
        width: 100%;
        min-height: 62px;
        padding: 0 0 0 18px;
        border-left: 1px solid rgba(255,255,255,0.22);
    }
    .invest-hero-metric-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 23px;
    }
    .invest-hero-metric-copy strong {
        font-size: 28px;
    }
    .invest-hero-metric-copy > span {
        font-size: 14px;
    }
}

/* Hero 婊氬姩鎸囩ず鍣?*/
.product-hero-scroll-indicator {
    position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
    z-index: 3;
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    opacity: 0;
    transition: opacity 1s ease 0.5s;
}
.product-hero-scroll-indicator.visible {
    opacity: 1;
}
.scroll-mouse-line {
    width: 1px; height: 40px;
    background: linear-gradient(180deg, rgba(255,255,255,0.5), rgba(255,255,255,0.05));
    animation: scrollLinePulse 2.4s ease-in-out infinite;
}
.scroll-hint-text {
    font-size: 10px; color: rgba(255,255,255,0.3); letter-spacing: 3px; font-weight: 300;
}
@keyframes scrollLinePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

/* ---- 閫氱敤浜у搧 Section ---- */
.product-section {
    position: relative;
    padding: 38px 0;
    overflow: hidden;
}
.product-section--glovebox,
.product-section--vacuum,
.product-section--related,
.product-section--modules,
.product-section--custom {
    background: #0d1016;
}
.product-section-inner {
    position: relative; z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
}
.device-carousel-shell {
    --left-gutter: max(24px, calc((100vw - 1200px) / 2 + 40px));
    margin-left: calc(-1 * var(--left-gutter));
    width: 100vw;
    overflow: hidden;
}

/* ---- 浜у搧绯诲垪鍧?---- */
.series-block {
    margin-bottom: 44px;
}
.series-block:last-child {
    margin-bottom: 0;
}

/* 灞呬腑鏍囬鍖猴紙鐩稿叧璁惧/閫夐厤妯″潡/瀹氬埗锛?*/
.series-header--center,
.section-heading-wrap {
    text-align: center;
    margin-bottom: 48px;
}

/* 宸﹀榻愭爣棰樺尯 鈥?鏍囬涓庢爣绛惧悓琛屻€佸簳閮ㄥ榻?*/
.series-header--left {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 32px;
    margin-bottom: 24px;
}
.series-header--left .series-title {
    margin-bottom: 0;
    flex-shrink: 0;
}
.series-header--left .series-tags {
    justify-content: flex-end;
    flex-shrink: 0;
}

/* ===== 鏍囬娓愬彉鑹诧紙缁熶竴瀛楀彿锛屼笉鍚屾绯绘笎鍙橈級 ===== */
.series-title,
.section-heading {
    font-size: clamp(26px, 2.8vw, 34px);
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 20px;
}
/* 鎵嬪绠憋細娲诲姏姗欌啋鏆栭噾 */
.series-title--g1 {
    background: linear-gradient(135deg, #e8550a 0%, #f08230 50%, #f5a860 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* 鐪熺┖锛氭繁姗欌啋浜 */
.series-title--g2 {
    background: linear-gradient(135deg, #c8400a 0%, #e86828 50%, #f59050 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* 鐩稿叧璁惧锛氶摐姗欌啋鐞ョ弨閲?*/
.section-heading--g3 {
    background: linear-gradient(135deg, #d46820 0%, #e88038 50%, #f5b870 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* 閫夐厤妯″潡锛氳丹閾溾啋铚滄 */
.section-heading--g4 {
    background: linear-gradient(135deg, #c05828 0%, #e07040 50%, #f5a878 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
/* 闈炴爣瀹氬埗锛氭殩姗?*/
.section-heading--g5 {
    background: linear-gradient(135deg, #e06520 0%, #f08050 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}

.series-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.series-tag {
    display: inline-block;
    padding: 6px 18px;
    font-size: 13px;
    color: #FF6600;
    border: 1px solid rgba(255,102,0,0.3);
    border-radius: 20px;
    letter-spacing: 1px;
    background: rgba(255,102,0,0.05);
    transition: background 0.3s, border-color 0.3s, transform 0.3s;
}
.series-tag:hover {
    background: rgba(255,102,0,0.12);
    border-color: rgba(255,102,0,0.55);
    transform: translateY(-1px);
}

/* ---- 鍗＄墖閫氱敤锛氭棤杈规銆佸渾瑙掋€佸浘鐗囧垏鎹?---- */
/* 绯诲垪浜у搧鍗＄墖 */
.series-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
/* 鐪熺┖绯诲垪浠?娆撅細鍗犳弧涓夊垪绛夊 */
.series-products--two {
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
}
.series-carousel-track {
    display: flex;
    gap: 16px;
    transition: transform 720ms cubic-bezier(0.22, 0.68, 0, 1);
    will-change: transform;
    padding-bottom: 2px;
}
.series-carousel-viewport {
    width: 100%;
    overflow: hidden;
}
.series-carousel-track .series-product-card {
    flex: 0 0 clamp(340px, 23vw, 430px);
    min-width: clamp(340px, 23vw, 430px);
}
.device-carousel-track {
    display: flex !important;
    gap: 16px;
    padding-left: var(--left-gutter);
    transition: transform 860ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
    transform: translateZ(0);
}
.device-carousel-track > * {
    flex: 0 0 clamp(340px, 23vw, 430px);
    min-width: clamp(340px, 23vw, 430px);
    backface-visibility: hidden;
}
.device-carousel-track .series-product-card,
.device-carousel-track .related-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
.series-carousel-controls {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.series-carousel-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.14);
    background: transparent;
    color: #7f7f86;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
}
.series-carousel-btn:hover {
    border-color: #FF6600;
    color: #FF6600;
}
.series-carousel-btn.is-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}
.series-products[data-animate="scale-cards"] .series-product-card {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.4s;
}
.series-products[data-animate="scale-cards"] .series-product-card.visible {
    opacity: 1;
    transform: translateY(0);
}
.series-product-card {
    background: #ededee;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.series-product-card:hover {
    transform: translateY(-2px);
}
.series-product-img {
    position: relative;
    height: 275px;
    background: #e6e6e8;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
    border-bottom: 1px solid #d7d8dc;
}
.series-product-img .img-default,
.series-product-img .img-hover {
    width: 100%; height: 100%; object-fit: cover;
    transition: none;
    backface-visibility: hidden;
    transform: translateZ(0);
}
.series-product-img .img-hover {
    display: none;
}
.series-product-card:hover .series-product-img {
    background: #e6e6e8;
}
.series-product-card:hover .series-product-img .img-default {
    opacity: 1;
}
.series-product-card:hover .series-product-img .img-hover {
    opacity: 0;
}
.series-product-name {
    display: none;
}
.related-card-name,
.related-card .related-card-name {
    display: none;
}
.device-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 32px;
    text-align: left;
    margin-bottom: 40px;
}
.device-header .section-heading,
.device-header .series-title {
    margin-bottom: 0;
}
.series-card-info {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    padding: 18px 14px 20px;
}
.series-card-title {
    font-size: 16px;
    line-height: 1.25;
    font-weight: 700;
    color: #131313;
    letter-spacing: 0;
    margin: 0 0 10px;
}
.series-card-sub {
    margin: 0;
    font-size: 12px;
    line-height: 1.25;
    color: #7a808f;
    letter-spacing: 0;
}
.series-card-link {
    flex-shrink: 0;
    font-size: 16px;
    color: #151515;
    text-decoration: none;
    white-space: nowrap;
    margin-bottom: 2px;
}
.series-card-link.is-active {
    color: #ff5b26;
}
.series-header--left {
    align-items: center;
}
.series-tags {
    display: none;
}
.series-head-main {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}
.series-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    height: 38px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid #d4d6da;
    color: #2b2e34;
    text-decoration: none;
    font-size: 14px;
    background: #f3f3f4;
}
.series-title {
    margin-bottom: 0;
}

/* 缁熶竴璁惧妯″潡鍗＄墖椋庢牸 */
.related-card,
.module-card,
.custom-item {
    background: #ededee;
    border-radius: 8px;
    box-shadow: none;
}
.related-card:hover,
.module-card:hover,
.custom-item:hover {
    transform: translateY(-2px);
    box-shadow: none;
}
.related-card-img {
    border-radius: 8px 8px 0 0;
    border-bottom: 1px solid #d7d8dc;
    height: auto !important;
    aspect-ratio: 16 / 9;
}
.related-card-name,
.module-name,
.custom-label {
    color: #16171a;
    font-weight: 500;
}
.module-desc,
.custom-value {
    color: #7a808f;
}

/* 鐩稿叧璁惧鍗＄墖 */
.related-grid {
    display: flex;
    gap: 16px;
}
.related-grid[data-animate="scale-cards"] .related-card {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.3s;
}
.related-grid[data-animate="scale-cards"] .related-card.visible {
    opacity: 1;
    transform: translateY(0);
}
.related-card {
    background: #f0f0f2;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.4s;
}
.related-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(0,0,0,0.08);
}
.related-card:hover .related-card-name {
    color: #FF6600;
}
.related-card:hover .related-card-img {
    background: #e4e4e8;
}
.related-card-img {
    position: relative;
    height: auto;
    aspect-ratio: 16 / 9;
    background: #e4e4e8;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}
.related-card-img img {
    width: 100%; height: 100%; object-fit: cover;
}
.related-card-img .img-hover {
    display: none;
}
.related-card-name {
    padding: 8px 12px 10px;
    font-size: 14px;
    font-weight: 500;
    color: #2a2a2a;
    letter-spacing: 1px;
    text-align: center;
    transition: color 0.3s;
}
.related-card .series-card-info {
    padding: 12px 12px 10px;
}

/* 鎵嬪绠辫鎯呴〉锛氱浉鍏宠澶囧帇缂╁埌棣栧睆鍐?*/
.glovebox-related-section {
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 72px 0;
}
.glovebox-related-section .section-heading {
    margin-bottom: 32px;
}
.glovebox-related-section .related-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}
.glovebox-related-section .related-card {
    border-radius: 12px;
}
.glovebox-related-section .related-card-img {
    height: 118px;
    border-radius: 12px 12px 0 0;
}
.glovebox-related-section .related-card-name {
    min-height: 44px;
    padding: 12px 10px;
    font-size: 13px;
    line-height: 1.45;
}

#related-equipment {
    background: #f7f7f8;
    padding: 96px 0 120px;
}
#related-equipment .section-heading-wrap {
    margin-bottom: 32px;
}
#related-equipment .section-heading {
    font-size: clamp(28px, 2vw, 32px);
    line-height: 1.2;
    font-weight: 700;
    color: #111;
    background: none;
    -webkit-text-fill-color: initial;
}
#related-equipment .section-heading-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
}
#related-equipment .section-heading-wrap .series-carousel-controls {
    margin-left: auto;
}
#related-equipment .series-carousel-viewport {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
}
#related-equipment .related-grid {
    gap: 20px;
    padding-left: var(--track-left-pad, 0px);
    padding-right: 0;
}
#related-equipment .device-carousel-track > .related-card {
    flex: 0 0 clamp(380px, 24vw, 420px);
    min-width: clamp(380px, 24vw, 420px);
}
#related-equipment .related-card {
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f5;
    box-shadow: none;
}
#related-equipment .related-card-img {
    aspect-ratio: 5 / 3;
    height: auto;
    border-radius: 8px 8px 0 0;
    border-bottom: none;
    background: #f3f4f5;
}
#related-equipment .related-card-img img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    transition: transform .52s cubic-bezier(.22,1,.36,1);
}
#related-equipment .related-card:hover .related-card-img img {
    transform: scale(1.04);
}
#related-equipment .related-card-name {
    display: block;
    padding: 18px 18px 6px;
    color: #111;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: 0;
    text-align: left;
}
#related-equipment .related-card-desc {
    display: block;
    margin: 0;
    padding: 0 18px 18px;
    font-size: 14px;
    line-height: 1.5;
    color: #8a8f98;
    text-align: left;
}

#optional-modules {
    background: #f7f7f8;
    padding: 32px 0 72px;
}
#optional-modules[data-animate="section-reveal"],
#related-equipment[data-animate="section-reveal"] {
    opacity: 1;
    transform: none;
}
#optional-modules[data-animate="section-reveal"].section-visible,
#related-equipment[data-animate="section-reveal"].section-visible {
    transform: none;
}
#optional-modules .product-section-inner {
    max-width: 1200px;
}
#optional-modules .section-heading-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}
#optional-modules .section-heading-wrap .series-carousel-controls {
    margin-left: auto;
}
#optional-modules .section-heading {
    font-size: clamp(28px, 2vw, 32px);
    line-height: 1.2;
    font-weight: 700;
    color: #111;
    background: none;
    -webkit-text-fill-color: initial;
}
#optional-modules .series-carousel-viewport {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
}
#optional-modules .modules-grid {
    --option-gap: 24px;
    gap: var(--option-gap);
    padding-left: var(--track-left-pad, 0px);
    padding-right: 0;
}
#optional-modules .device-carousel-track {
    --option-gap: 24px;
    gap: var(--option-gap) !important;
}
#optional-modules .device-carousel-track > .module-card {
    flex: 0 0 clamp(220px, 17vw, 260px) !important;
    min-width: clamp(220px, 17vw, 260px) !important;
}
#optional-modules .module-card {
    background: #fff;
    border: 1px solid #e8ebef;
    border-radius: 10px;
    padding: 14px 14px 12px;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    display: block !important;
    min-height:200px!important;
    padding:26px 20px 22px
}
#optional-modules .module-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,102,0,.12);
    color: #ff6600;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
#optional-modules .module-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
#optional-modules .module-name {
    display: block !important;
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    color: #111;
}
#optional-modules .module-desc {
    display: block !important;
    margin: 0;
    font-size: 13px;
    line-height: 1.65;
    color: #677181;
}

@media (max-width: 1024px) {
    #optional-modules .device-carousel-track > .module-card {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        min-width: 0 !important;
    }
}

/* ---- 閫夐厤妯″潡鍗＄墖锛堝浘鏍?+ 鍚嶇О + 鎻忚堪锛?---- */
.modules-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.modules-grid[data-animate="scale-cards"] .module-card {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.3s,
                box-shadow 0.3s;
}
.modules-grid[data-animate="scale-cards"] .module-card.visible {
    opacity: 1;
    transform: translateY(0);
}
.module-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    background: #f0f0f2;
    border-radius: 16px;
    padding: 28px 24px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.3s,
                box-shadow 0.4s;
}
.module-card:hover {
    background: #e6e6ea;
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.06);
}
.module-card:hover .module-icon {
    background: rgba(255,102,0,0.18);
    color: #e87830;
}
.module-icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
    transition: background 0.3s, color 0.3s;
}
.modules-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.module-card {
    padding: 18px 16px;
    min-height: 150px;
}
.module-card .module-icon {
    display: flex;
    width: 36px;
    height: 36px;
    border-radius: 8px;
}
.module-name {
    display: block;
    font-size: 15px;
    font-weight: 700;
    margin: 2px 0 4px;
}
.module-desc {
    display: block;
    font-size: 12px;
    line-height: 1.6;
}
.modules-compare-track {
    display: flex;
    gap: 12px;
}
.modules-compare-track > .module-card {
    flex: 0 0 calc((100% - 48px) / 4.5);
    min-width: 220px;
}
.module-name {
    font-size: 15px;
    font-weight: 600;
    color: #2a2a2a;
    letter-spacing: 1px;
}
.module-desc {
    font-size: 12px;
    color: rgba(0,0,0,0.4);
    line-height: 1.6;
    letter-spacing: 0.5px;
}

/* ---- 闈炴爣瀹氬埗 ---- */
.custom-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 960px;
    margin: 0 auto;
}
.custom-grid[data-animate="scale-cards"] .custom-item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.3s;
}
.custom-grid[data-animate="scale-cards"] .custom-item.visible {
    opacity: 1;
    transform: translateY(0);
}
.custom-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #f0f0f2;
    border-radius: 16px;
    padding: 24px 20px;
    transition: background 0.3s, transform 0.3s, box-shadow 0.4s;
}
.custom-item:hover {
    background: #e6e6ea;
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.06);
}
.custom-icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: rgba(255,102,0,0.1);
    color: #FF6600;
}
.custom-label {
    font-size: 14px;
    font-weight: 500;
    color: #2a2a2a;
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.custom-value {
    font-size: 12px;
    color: rgba(0,0,0,0.4);
    letter-spacing: 0.5px;
}

/* 瀹氬埗鍖烘弿杩版枃瀛楀眳涓?*/
.section-heading-wrap--custom {
    text-align: center;
    margin-bottom: 48px;
}
.section-lead-custom {
    font-size: clamp(14px, 1.2vw, 16px);
    color: rgba(0,0,0,0.5);
    letter-spacing: 1.5px;
    font-weight: 400;
    line-height: 1.8;
    max-width: 640px;
    margin: 16px auto 0;
    text-align: center;
}

/* ---- CTA 妯箙锛堥矞鏄庢鑹叉笎鍙橈級 ---- */
.product-cta {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: transparent;
}
.product-cta-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 0;
    background: url("../images/product/list/cta.webp") center / cover no-repeat;
}
.product-cta-inner {
    position: relative; z-index: 1;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
}
.product-cta-text {
    font-size: clamp(16px, 1.5vw, 20px);
    color: rgba(255,255,255,0.85);
    letter-spacing: 2px;
    font-weight: 400;
    margin-bottom: 32px;
    line-height: 1.8;
}
.product-cta-btn {
    padding: 16px 48px;
    font-size: 16px;
    font-weight: 600;
    color: #ff6a00;
    background: #fff;
    border-radius: 28px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    letter-spacing: 2px;
    display: inline-block;
}
.product-cta-btn:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    transform: translateY(-2px);
}

/* ---- Section 娓愭樉鍔ㄧ敾 ---- */
.product-section[data-animate="section-reveal"] {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.product-section[data-animate="section-reveal"].section-visible {
    opacity: 1;
    transform: translateY(0);
}
/* CTA 涔熸敮鎸佹笎鏄?*/
.product-cta[data-animate="section-reveal"] {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.product-cta[data-animate="section-reveal"].section-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---- 鍝嶅簲寮?---- */
@media (max-width: 768px) {
    .product-section { padding: 50px 0; }
    .product-section-inner { padding: 0 24px; }
    .product-hero { height: 60vh; min-height: 360px; }
    .product-hero-title { letter-spacing: 4px; }
    .product-hero-sub { padding: 0 16px; }
    .series-products { grid-template-columns: 1fr; gap: 20px; max-width: 400px; margin: 0 auto; }
    .series-products--two { grid-template-columns: 1fr; max-width: 400px; }
    .series-carousel-track { gap: 10px; }
    .series-carousel-track .series-product-card { flex: 0 0 86%; min-width: 0; }
    .series-card-title { font-size: 15px; }
    .series-card-sub { font-size: 12px; }
    .series-card-link { font-size: 13px; }
    .series-product-img { height: 180px; }
    .series-more-btn { display: none; }
    .modules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .module-card { min-height: 132px; padding: 14px 12px; }
    .module-name { font-size: 14px; }
    .module-desc { font-size: 11px; }
    .device-carousel-shell {
        --left-gutter: 24px;
        margin-left: -24px;
        width: 100vw;
    }
    .series-carousel-controls {
        display: none;
    }
    .series-product-img { height: 200px; }
    /* 绉诲姩绔爣棰樹笌鏍囩鍫嗗彔 */
    .series-header--left {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .series-header--left .series-tags {
        justify-content: flex-start;
    }
    .series-products[data-animate="scale-cards"] .series-product-card {
        transform: translateY(30px);
    }
    .related-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .related-card-img { height: 120px; }
    .glovebox-related-section {
        min-height: auto;
        padding: 56px 0;
    }
    .glovebox-related-section .related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .glovebox-related-section .related-card-img {
        height: 96px;
    }
    .glovebox-related-section .related-card-name {
        min-height: 40px;
        padding: 10px 8px;
        font-size: 12px;
    }
    .modules-grid { grid-template-columns: 1fr; gap: 12px; max-width: 400px; margin: 0 auto; }
    .custom-grid { grid-template-columns: 1fr; gap: 12px; max-width: 400px; }
    .series-block { margin-bottom: 32px; }
    .series-header { margin-bottom: 32px; }
    .section-heading-wrap { margin-bottom: 32px; }
    .section-heading-wrap--custom { margin-bottom: 32px; }
    .product-cta { padding: 72px 0; }
    .product-section[data-animate="section-reveal"] {
        transform: translateY(40px);
    }
    .product-cta[data-animate="section-reveal"] {
        transform: translateY(30px);
    }
}


/* ============================================================
 *  浜ら敊鍔ㄧ敾 & 婊氬姩椹卞姩鏁堟灉锛堜骇鍝佸垪琛ㄩ〉锛? * ============================================================ */

/* 瀹瑰櫒椤瑰彲瑙佺姸鎬?*/
[data-animate="scale-cards"] [data-scale-card].visible,
[data-animate="scale-cards"] .series-product-card.visible,
[data-animate="scale-cards"] .related-card.visible,
[data-animate="scale-cards"] .module-card.visible,
[data-animate="scale-cards"] .custom-item.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 浜ら敊寤惰繜锛堥€氳繃 CSS 鍙橀噺鎺у埗锛孞S 璁剧疆锛?*/
[data-scale-card] {
    transition-delay: var(--card-delay, 0ms);
}

/* 绯诲垪鏍囩浜ら敊娣″叆 */
.series-tag[data-stagger] {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.series-tag[data-stagger].visible {
    opacity: 1;
    transform: translateY(0);
}

/* 鏍囬鍖哄瓙鍏冪礌浜ら敊 */
[data-animate="stagger-header"] > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
[data-animate="stagger-header"].visible > *:nth-child(1) { transition-delay: 0ms; }
[data-animate="stagger-header"].visible > *:nth-child(2) { transition-delay: 80ms; }
[data-animate="stagger-header"].visible > *:nth-child(3) { transition-delay: 160ms; }
[data-animate="stagger-header"].visible > *:nth-child(4) { transition-delay: 240ms; }
[data-animate="stagger-header"].visible > * {
    opacity: 1;
    transform: translateY(0);
}

/* Section 鏍囬鍖烘暣浣撳彲瑙佽Е鍙?*/
[data-animate="stagger-header"] {
    /* 瀹瑰櫒鏈韩鏃犵壒娈婃牱寮? visible 绫荤敱 JS 娣诲姞 */;
}

/* ============================================================
 *  鎵嬪绠变骇鍝佽鎯呴〉
 * ============================================================ */

/* ---- 鎵嬪绠遍〉 Hero 鍏ㄥ睆 + 鑳屾櫙鍒囨崲 ---- */
.product-hero--glovebox {
    height: 100vh;
    min-height: 600px;
}
.product-hero--glovebox .product-hero-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: center center / cover no-repeat;
    z-index: 0;
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.product-hero-bg--hidden {
    opacity: 0;
}
.product-hero-title--sm {
    font-size: clamp(28px, 3.5vw, 42px);
    letter-spacing: 6px;
    margin-bottom: 0;
}
.product-hero-sub--tight {
    margin-top: 14px;
}

/* ---- 宸ヤ綅鍒囨崲鎸夐挳缁?---- */
.hero-toggle {
    margin-top: 20px;
}
.hero-toggle-track {
    position: relative;
    display: inline-flex;
    padding: 5px;
    border-radius: 24px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(8px);
}
.hero-toggle-indicator {
    position: absolute;
    top: 5px;
    height: calc(100% - 10px);
    border-radius: 19px;
    background: rgba(255,255,255,0.95);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: left 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                width 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 0;
    pointer-events: none;
}
.hero-toggle-btn {
    position: relative;
    z-index: 1;
    padding: 8px 28px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.5);
    letter-spacing: 1px;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    border-radius: 19px;
    transition: color 0.3s;
}
.hero-toggle-btn.active,
.hero-toggle-btn:hover {
    color: #333;
}

/* ---- 婊氬姩浜や簰锛氳儗鏅缉鏀惧鍣?---- */
.hero-bg-wrapper {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 2;
    will-change: transform, opacity;
    transform-origin: center center;
    border-radius: 16px;
    overflow: hidden;
}

/* ---- 婊氬姩浜や簰锛氭彮绀哄尯鍩燂紙娓愬彉鏂囧瓧 + 姒傝堪锛?---- */
.hero-reveal,
.hero-features-col {
    display: none;
}
.hero-story {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
}
.hero-story-inner {
    position: relative;
    max-width: none;
    height: 100%;
    margin: 0 auto;
    padding: 0;
}
.hero-story-copy {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(78vw, 1080px);
    transform: translateY(-50%);
    text-align: center;
    z-index: 4;
    will-change: left, width, transform;
}
.hero-story-title {
    font-size: clamp(64px, 6.4vw, 116px);
    font-weight: 800;
    letter-spacing: 4px;
    line-height: 1.06;
    opacity: 0;
    transform: translateY(0) scale(0.72);
    transform-origin: center center;
    background: linear-gradient(126deg, #ff7a1a 0%, #d078c9 48%, #6e84de 100%);
    background-size: 220% 220%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hero-story-description {
    margin: 34px auto 0;
    font-size: clamp(16px, 1.15vw, 18px);
    color: rgba(255,255,255,0.68);
    letter-spacing: 0.6px;
    line-height: 1.9;
    opacity: 0;
    transform: translateY(36px);
    max-width: 840px;
}
.hero-story-feature-stage {
    position: relative;
    margin-top: 0;
    min-height: 138px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(30px);
}
.hero-story-feature {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateX(42px);
    transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
.hero-story-feature-title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.3;
    color: #ff8a2d;
    letter-spacing: 1px;
    margin-bottom: 16px;
    text-shadow: 0 2px 18px rgba(0,0,0,0.45);
}
.hero-story-feature-desc {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255,255,255,0.76);
    letter-spacing: 0.4px;
    text-shadow: 0 2px 18px rgba(0,0,0,0.45);
}
.hero-story-visual {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(calc(100vw - 80px), 1440px);
    height: min(68vh, 760px);
    opacity: 0;
    transform: translateY(32px);
    z-index: 2;
    will-change: opacity, transform;
}
.hero-story-image-shell {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 20px 44px rgba(0,0,0,0.32);
    background: rgba(255,255,255,0.03);
}
.hero-story-image-shell::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;

    pointer-events: none;
}
.hero-story-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: translateX(42px);
    transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}.product-hero-image {
    position: relative;
    padding: 0 0 80px;
    background: #050505;
}
.product-hero-image-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px;
}
.product-hero-image-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 560px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- 浜у搧姒傝堪 ---- */
.overview-block {
    margin-bottom: 64px;
}
.overview-text {
    max-width: 860px;
    margin: 0 auto;
    font-size: clamp(14px, 1.2vw, 16px);
    color: rgba(255,255,255,0.4);
    letter-spacing: 1px;
    line-height: 2;
    text-align: center;
}

/* ---- 缁嗗垎鏈哄瀷缃戞牸 ---- */
.models-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.model-card {
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s, transform 0.3s;
}
.model-card:hover {
    border-color: rgba(255,102,0,0.2);
    transform: translateY(-4px);
}
.model-card-img {
    height: 180px;
    background: rgba(255,255,255,0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.model-card-body {
    padding: 24px 22px 28px;
    display: flex;
    flex-direction: column;
}
.model-card-name {
    font-size: 17px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.model-card-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 鏍稿績鐗圭偣锛?脳2 缃戞牸锛?---- */
.glovebox-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 960px;
    margin: 0 auto;
}
.glovebox-feature-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 28px 24px;
    text-align: left;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.glovebox-feature-card:hover {
    border-color: rgba(255,102,0,0.25);
    background: rgba(255,255,255,0.04);
    transform: translateY(-3px);
}
.glovebox-feature-icon {
    flex-shrink: 0;
    width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: rgba(255,102,0,0.1);
    color: #FF6600;
}
.glovebox-feature-title {
    font-size: 16px;
    font-weight: 500;
    color: #e5e5e5;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.glovebox-feature-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 鏍稿績鍙傛暟锛堝弻鏍忥級 ---- */
.specs-two-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 1040px;
    margin: 0 auto;
}
.specs-col {
    text-align: left;
}
.specs-col-title {
    font-size: 18px;
    font-weight: 600;
    color: #FF6600;
    letter-spacing: 2px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,102,0,0.15);
}
.specs-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.specs-row {
    display: flex;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.specs-row:last-child {
    border-bottom: none;
}
.specs-row dt {
    width: 140px;
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255,255,255,0.5);
    letter-spacing: 1px;
}
.specs-row dd {
    flex: 1;
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.7;
    margin: 0;
}

/* ---- 閫夊瀷寤鸿 ---- */
.selection-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 640px;
    margin: 0 auto;
}
.selection-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 36px 28px;
    text-align: center;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.selection-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-3px);
}
.selection-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px; height: 60px;
    border-radius: 16px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
    margin-bottom: 20px;
}
.selection-title {
    font-size: 17px;
    font-weight: 600;
    color: #e5e5e5;
    letter-spacing: 1px;
    margin-bottom: 12px;
}
.selection-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 鏍稿績鍙傛暟 + 閫夊瀷妯″潡锛圚ero 鍚庨灞忥級 ---- */
.sm-section {
    background: #f7f7f8;
    min-height: auto;
    box-sizing: border-box;
    padding: 64px 0 40px;
    scroll-margin-top: 64px; /* 瀵艰埅鏍忛珮搴﹁ˉ鍋匡紝纭繚 scrollIntoView 涓嶈閬尅 */
}
.sm-container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.sm-heading-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}
#specsModules .section-heading {
    font-size: clamp(28px, 2vw, 32px);
    line-height: 1.2;
    font-weight: 700;
    color: #111;
    background: none;
    -webkit-text-fill-color: initial;
}

/* 鏍囬 */
.sm-heading {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 48px;
}
.sm-heading--gradient {
    text-align: center;
    background: linear-gradient(135deg, #FF6600 0%, #000 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.sm-heading--dark {
    color: #222;
    text-align: left;
    margin-bottom: 0;
}

/* 涓婇儴鍒嗭細鏍稿績鍙傛暟 鈥?鍙屽垪琛ㄦ牸 */
.sm-upper {
    margin-bottom: 80px;
}
.sm-specs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
}
.sm-specs-col-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    letter-spacing: 2px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #FF6600;
    display: inline-block;
}
.sm-table {
    width: 100%;
    border-collapse: collapse;
}
.sm-table tr {
    border-bottom: 1px solid rgba(0,0,0,0.06);
}
.sm-table tr:last-child {
    border-bottom: none;
}
.sm-td-label {
    padding: 10px 12px 10px 0;
    font-size: 13px;
    font-weight: 500;
    color: #888;
    letter-spacing: 1px;
    white-space: nowrap;
    vertical-align: top;
    width: 1%;
}
.sm-td-value {
    padding: 10px 0;
    font-size: 13px;
    color: #555;
    letter-spacing: 0.5px;
    line-height: 1.7;
}

/* 涓嬮儴鍒嗭細閫夊瀷妯″潡 */
.sm-lower {
    position: relative;
}
.sm-modules-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}

/* 瀵艰埅鎸夐挳 */
.sm-nav-btns {
    display: flex;
    gap: 10px;
}
.sm-nav-btn {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    background: #fff;
    color: #555;
    cursor: pointer;
    transition: all 0.25s;
}
.sm-nav-btn:hover {
    background: #FF6600;
    border-color: #FF6600;
    color: #fff;
}

/* 鍗＄墖杞ㄩ亾 */
.sm-carousel-wrapper {
    overflow: hidden;
}
.sm-carousel-track {
    display: flex;
    gap: 24px;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 鍗曞紶妯″潡鍗＄墖 */
.sm-module-card {
    flex: 0 0 calc((100% - 48px) / 3);
    background: #fff;
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    transition: box-shadow 0.3s;
}
.sm-module-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.sm-module-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px;
    border-radius: 14px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
    margin-bottom: 16px;
}
.sm-module-name {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.sm-module-desc {
    font-size: 13px;
    color: #999;
    letter-spacing: 0.5px;
    line-height: 1.6;
}

/* ---- 鏃犳按鏃犳哀娲佸噣鐒婃帴骞冲彴锛圫creen 3锛?---- */
.platform-section {
    background: #050505;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 80px 0 64px;
    scroll-margin-top: 64px;
}
.platform-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}
.platform-heading {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 48px;
    background: linear-gradient(135deg, #FF6600 0%, #fff 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}
.platform-split {
    display: flex;
    align-items: center;
    gap: 56px;
}

/* 宸︿晶鍥剧墖鍖?*/
.platform-gallery {
    flex: 0 0 48%;
    position: relative;
}
.gallery-viewport {
    position: relative;
    width: 100%;
    height: 55vh;
    overflow: hidden;
    border-radius: 16px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
}
.gallery-track {
    position: absolute;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.gallery-slide {
    flex-shrink: 0;
    width: 94%;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,0.05);
    box-shadow: 0 0 40px rgba(255,255,255,0.03);
    transition: opacity 0.45s ease;
}
.gallery-slide img {
    width: 100%;
    height: auto;
    display: block;
}

/* 鍙充晶浠嬬粛鍖?*/
.platform-info {
    flex: 1;
    min-width: 0;
}
.platform-info-name {
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 2px;
    margin-bottom: 20px;
}
.platform-info-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.5);
    letter-spacing: 1px;
    line-height: 2;
    margin-bottom: 32px;
}

/* 鎸囩ず鐐?*/
.platform-info-dots {
    display: flex;
    gap: 12px;
}
.platform-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    transition: background 0.35s;
}
.platform-dot.active {
    background: #FF6600;
}

/* ---- Platform Scroll Carousel ---- */
.platform-section {
    background: #050505;
    min-height: 100vh;
    height: 100vh;
    padding: clamp(74px, 8vh, 96px) 0 clamp(42px, 5vh, 64px);
    display: flex;
    align-items: center;
    overflow: hidden;
    scroll-margin-top: 64px;
}
.platform-inner {
    max-width: 1440px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
}
.platform-intro {
    text-align: center;
    margin-bottom: clamp(34px, 5vh, 58px);
}
.platform-heading {
    color: #f5f5f7;
    font-size: clamp(34px, 3vw, 46px);
    letter-spacing: 2px;
    font-weight: 800;
    text-align: center;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #ff7a1a 0%, #ffffff 72%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.platform-lead {
    max-width: 820px;
    margin: 0 auto;
    color: rgba(255,255,255,0.56);
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.4px;
}
.platform-carousel {
    position: relative;
    flex: 1;
    min-height: 0;
}
.platform-carousel-stage {
    position: relative;
    height: min(54vh, 520px);
    margin-top: clamp(8px, 1.5vh, 20px);
}
.platform-slide {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(64vw, 920px);
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255,255,255,0.04);
    box-shadow: 0 24px 60px rgba(0,0,0,0.38);
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.72);
    transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.platform-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 18px 26px rgba(0,0,0,0.28));
}
.platform-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5,5,5,0.22), rgba(5,5,5,0.04), rgba(5,5,5,0.22));
    pointer-events: none;
}
.platform-slide.is-active {
    z-index: 3;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.platform-slide.is-prev {
    z-index: 2;
    opacity: 0.42;
    transform: translate(calc(-50% - min(54vw, 760px)), -50%) scale(0.42);
}
.platform-slide.is-next {
    z-index: 2;
    opacity: 0.42;
    transform: translate(calc(-50% + min(54vw, 760px)), -50%) scale(0.42);
}
.platform-caption {
    width: min(64vw, 920px);
    margin: clamp(28px, 4vh, 42px) auto 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}
.platform-caption-title {
    flex: 0 0 auto;
    color: #f5f5f7;
    font-size: clamp(28px, 2.4vw, 38px);
    font-weight: 800;
    letter-spacing: 0.8px;
}
.platform-caption-desc {
    max-width: 540px;
    color: rgba(255,255,255,0.58);
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.4px;
    text-align: right;
}
.platform-progress {
    position: absolute;
    left: 50%;
    bottom: clamp(4px, 1vh, 14px);
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}
.platform-progress span {
    width: 28px;
    height: 2px;
    background: rgba(255,255,255,0.18);
    transition: background 0.35s, width 0.35s;
}
.platform-progress span.is-active {
    width: 46px;
    background: #ff7a1a;
}

/* ---- 娲佸噣瀹よ澶囧姣旓紙Screen 4锛氬弻鑳屾櫙 wipe锛?---- */
.cr-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    scroll-margin-top: 64px;
}
.cr-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: center center / cover no-repeat;
    z-index: 0;
}
.cr-bg--bottom {
    z-index: 0;
}
.cr-bg--top {
    z-index: 1;
    will-change: clip-path;
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
}

/* 鏂囧瓧灞?*/
.cr-text {
    position: absolute;
    z-index: 2;
    max-width: 420px;
    pointer-events: none;
}
.cr-text--left {
    top: 18%;
    left: 7%;
    text-align: left;
    opacity: 0; /* JS 鎺у埗 */
}
.cr-text--right {
    top: 18%;
    right: 7%;
    text-align: right;
    opacity: 0; /* JS 鎺у埗 */
}
.cr-text-label {
    font-size: clamp(24px, 2.8vw, 36px);
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 20px;
    transition: opacity 0.25s ease;
}
.cr-text-detail {
    font-size: clamp(13px, 1.05vw, 15px);
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 2;
    transition: opacity 0.25s ease;
}

/* 宸︿晶鏂囧瓧棰滆壊锛堟祬鑹茶儗鏅?鈫?娣辫壊鏂囧瓧锛?*/
.cr-text--left .cr-text-label  { color: #1a1a1a; }
.cr-text--left .cr-text-detail { color: rgba(0,0,0,0.5); }

/* 鍙充晶鏂囧瓧棰滆壊锛堟繁鑹茶儗鏅?鈫?娴呰壊鏂囧瓧锛?*/
.cr-text--right .cr-text-label  { color: #f5f5f7; }
.cr-text--right .cr-text-detail { color: rgba(255,255,255,0.5); }

/* ---- 鎵嬪绠遍〉鍝嶅簲寮?---- */
@media (max-width: 768px) {
    .product-hero--glovebox { min-height: 480px; }
    .product-hero-title--sm { font-size: clamp(22px, 6vw, 28px); letter-spacing: 3px; }
    .product-hero-sub--tight { margin-top: 10px; }
    .hero-toggle { margin-top: 24px; }
    .hero-toggle-btn { padding: 6px 22px; font-size: 13px; }

    .hero-story { position: static; opacity: 1 !important; padding: 28px 0 0; }
    .hero-story-inner { display: block; height: auto; padding: 0 24px 20px; max-width: none; }
    .hero-story-copy { position: static; width: auto; margin-top: 0; transform: none !important; text-align: left; }
    .hero-story-title { font-size: clamp(28px, 8vw, 36px); transform: none !important; opacity: 1 !important; }
    .hero-story-description { font-size: 13px; line-height: 1.8; margin-top: 14px; transform: none !important; opacity: 1 !important; }
    .hero-story-feature-stage { position: static !important; left: auto !important; top: auto !important; width: auto !important; min-height: auto; margin-top: 14px; opacity: 1 !important; transform: none !important; }
    .hero-story-feature { position: static; transform: none !important; opacity: 1 !important; }
    .hero-story-feature--secondary { display: none; }
    .hero-story-feature-title { font-size: 18px; margin-bottom: 8px; }
    .hero-story-feature-desc { font-size: 12px; }
    .hero-story-visual { position: static; width: 100%; height: auto; margin-top: 14px; transform: none !important; opacity: 1 !important; }
    .hero-story-image-shell { aspect-ratio: 4 / 3; border-radius: 8px; -webkit-mask-image: none; mask-image: none; }
    .hero-story-image-shell::after { display: none; }
    .hero-story-image--secondary { display: none; }
    .hero-story-image { transform: none !important; opacity: 1 !important; }

    .product-hero-image { padding-bottom: 48px; }
    .product-hero-image-inner { padding: 0 24px; }
    .product-hero-image-placeholder { aspect-ratio: 4/3; max-height: 300px; border-radius: 10px; }
    .models-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 440px;
        margin: 0 auto;
    }
    .model-card { flex-direction: column; }
    .model-card-img { height: 160px; }
    .model-card-body { padding: 18px 16px 22px; }
    .glovebox-features {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .glovebox-feature-card {
        padding: 20px 16px;
    }
    .specs-two-col {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .specs-row {
        flex-direction: column;
        gap: 4px;
    }
    .specs-row dt {
        width: auto;
    }
    .selection-cards {
        grid-template-columns: 1fr;
    }
    .overview-text {
        text-align: left;
    }

    .sm-section { min-height: auto; padding: 48px 0 40px; }
    .sm-container { padding: 0 24px; }
    .sm-heading { font-size: 22px; letter-spacing: 2px; margin-bottom: 32px; }
    .sm-specs-grid { grid-template-columns: 1fr; gap: 32px; }
    .sm-specs-col-title { font-size: 16px; margin-bottom: 14px; }
    .sm-td-label { font-size: 11px; }
    .sm-td-value { font-size: 11px; }
    .sm-modules-top { flex-direction: column; align-items: flex-start; gap: 16px; }
    .sm-carousel-track { gap: 12px; }
    .sm-module-card { flex: 0 0 calc((100% - 12px) / 2); padding: 24px 16px; }
    .sm-module-name { font-size: 14px; }
    .sm-module-desc { font-size: 11px; }

    .platform-section {
        min-height: auto;
        height: auto;
        padding: 72px 0 80px;
        overflow: visible;
    }
    .platform-inner { padding: 0 16px; }
    .platform-heading { font-size: 24px; letter-spacing: 2px; margin-bottom: 28px; }
    .platform-intro { margin-bottom: 28px; }
    .platform-lead { font-size: 13px; line-height: 1.8; padding: 0 8px; }
    .platform-carousel-stage { height: 280px; margin-top: 0; }
    .platform-slide { width: 86vw; }
    .platform-slide.is-prev,
    .platform-slide.is-next { opacity: 0; }
    .platform-slide img { padding: 18px; }
    .platform-caption {
        width: 86vw;
        margin-top: 24px;
        display: block;
        text-align: left;
    }
    .platform-caption-title { font-size: 22px; margin-bottom: 10px; }
    .platform-caption-desc { max-width: none; text-align: left; font-size: 13px; }
    .platform-progress { bottom: 0; }

    .cr-text { max-width: 280px; }
    .cr-text--left  { top: 12%; left: 5%; }
    .cr-text--right { top: 12%; right: 5%; }
    .cr-text-label  { font-size: 18px; letter-spacing: 1px; margin-bottom: 12px; }
    .cr-text-detail { font-size: 11px; line-height: 1.7; }
}


/* ---- CTA 鐎戝竷娴佸叏灞忥紙Screen 5锛?---- */
.cta-masonry {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #0a0a0a;
    scroll-margin-top: 64px;
}
.cta-masonry-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 0;
    width: 100%;
    height: 100%;
}
.cta-masonry-item {
    position: relative;
    overflow: hidden;
}
.cta-masonry-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 娣￠粦鑹查伄缃╋細hover 鐬棿鐐逛寒锛岀寮€鍚?1s 寤惰繜鎭㈠ */
.cta-masonry-item::after {
    content: '';
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.8);
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.5s ease 1s;
}
.cta-masonry-item:hover::after {
    opacity: 0;
    transition: opacity 0s;
}

/* 涓績鏂囧瓧鍖?*/
.cta-masonry-center {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
    pointer-events: none;
    width: min(860px, calc(100vw - 48px));
}
.cta-masonry-text {
    font-size: clamp(24px, 3vw, 40px);
    font-weight: 700;
    color: #fff;
    letter-spacing: 4px;
    margin-bottom: 32px;
    text-shadow: 0 0 60px rgba(0,0,0,0.8), 0 0 120px rgba(0,0,0,0.6);
    line-height: 1.4;
}
.cta-masonry-btn {
    display: inline-block;
    pointer-events: auto;
    padding: 16px 52px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #ff6a00, #ff7a00);
    border-radius: 28px;
    text-decoration: none;
    letter-spacing: 2px;
    box-shadow: 0 4px 20px rgba(255,107,0,0.35);
    transition: transform 0.3s, box-shadow 0.3s;
}
.cta-masonry-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(255,107,0,0.5);
}

/* 涓績鍖鸿儗鏅厜鏅曪紙璁╂枃瀛楁洿娓呮櫚锛?*/
.cta-masonry-center::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 520px; height: 320px;
    background: radial-gradient(ellipse, rgba(0,0,0,0.65) 0%, transparent 70%);
    z-index: -1;
    border-radius: 50%;
}

.page-cta-wrap {
    --cta-overlap: 140px;
    position: relative;
    background: #f7f7f8;
    margin-bottom: calc(var(--cta-overlap) * -1);
    overflow: visible;
    z-index: 3;
}
#product-cta[data-scroll-cta] {
    width: 100vw;
    max-width: none;
    height: 300px;
    margin: 0 auto;
    padding: 0;
    border-radius: 0;
    overflow: hidden;
    transform: translateY(var(--cta-overlap));
    transform-origin: center top;
    position: relative;
    z-index: 4;
    will-change: width, border-radius;
}
#product-cta[data-scroll-cta] .page-cta-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    will-change: transform;
}
.product-cta--glovebox .product-cta-bg {
    background: url("../images/product/list/cta.webp") center / cover no-repeat;
}

/* ---- CTA 鐎戝竷娴佸搷搴斿紡 ---- */
@media (max-width: 768px) {
    .cta-masonry-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(10, 1fr);
    }
    .cta-masonry-text {
        font-size: 20px;
        letter-spacing: 2px;
        margin-bottom: 24px;
    }
    .cta-masonry-btn {
        padding: 14px 40px;
        font-size: 14px;
    }
    .cta-masonry-center::before {
        width: 300px; height: 200px;
    }
    .page-cta-wrap {
        --cta-overlap: 0px;
        padding: 72px 0 0;
        margin-bottom: 0;
        overflow: hidden;
    }
    #product-cta[data-scroll-cta] {
        width: calc(100vw - 32px);
        height: 240px;
        border-radius: 12px;
        transform: none;
    }
    #related-equipment .section-heading {
        font-size: 24px;
    }
    #related-equipment .device-carousel-track > .related-card {
        flex: 0 0 86vw;
        min-width: 86vw;
    }
    #optional-modules .section-heading {
        font-size: 24px;
    }
    #optional-modules .device-carousel-track > .module-card {
        flex: 0 0 82vw !important;
        min-width: 82vw !important;
    }
}

/* ============================================================
 *  鏂规鍒楄〃椤? * ============================================================ */

/* ---- 鐥涚偣鎬昏堪 ---- */
.pain-points-block {
    max-width: 860px;
    margin: 0 auto;
}
.pain-points-lead {
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 500;
    color: #e5e5e5;
    letter-spacing: 2px;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 32px;
}
.pain-points-body {
    font-size: clamp(14px, 1.1vw, 15px);
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 2.1;
}
.pain-points-body p {
    margin-bottom: 20px;
}
.pain-points-body p:last-child {
    margin-bottom: 0;
}
.pain-points-body strong {
    color: #FF6600;
    font-weight: 500;
}

/* ---- 琛屼笟鏂规鍗＄墖缃戞牸锛?脳2锛?---- */
.industry-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1040px;
    margin: 0 auto;
}
.industry-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 32px 24px 28px;
    text-align: left;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.industry-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-4px);
}
.industry-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px; height: 52px;
    border-radius: 12px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
    margin-bottom: 20px;
}
.industry-name {
    font-size: 18px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 2px;
    margin-bottom: 12px;
}
.industry-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.9;
}

/* ---- 妗堜緥鍏ュ彛鏍囩 ---- */
.case-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    max-width: 700px;
    margin: 0 auto;
}
.case-tag {
    display: inline-block;
    padding: 14px 36px;
    font-size: 15px;
    font-weight: 500;
    color: #d1d5db;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 28px;
    text-decoration: none;
    letter-spacing: 2px;
    transition: all 0.3s;
}
.case-tag:hover {
    color: #fff;
    border-color: #FF6600;
    background: rgba(255,102,0,0.1);
    box-shadow: 0 0 20px rgba(255,102,0,0.1);
    transform: translateY(-2px);
}

/* ---- CTA 鏍囬寮哄寲 ---- */
.cta-heading {
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 3px;
    margin-bottom: 16px;
}

/* ---- 鏂规鍒楄〃椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .pain-points-lead {
        text-align: left;
    }
    .industry-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 440px;
    }
    .industry-card {
        padding: 24px 20px;
    }
    .case-tags {
        gap: 12px;
    }
    .case-tag {
        padding: 12px 28px;
        font-size: 14px;
    }
    .cta-heading {
        letter-spacing: 1px;
    }
}


/* ============================================================
 *  鏂规璇︽儏椤? * ============================================================ */

/* ---- 琛屼笟闇€姹傚垪琛?---- */
.requirement-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 32px 0;
}
.requirement-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 10px;
    transition: border-color 0.3s;
}
.requirement-item:hover {
    border-color: rgba(255,102,0,0.15);
}
.requirement-bullet {
    flex-shrink: 0;
    width: 8px; height: 8px;
    margin-top: 7px;
    border-radius: 50%;
    background: #FF6600;
}
.requirement-item strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #e5e5e5;
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.requirement-item p {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
    margin: 0;
}
.pain-points-closing {
    font-size: clamp(14px, 1.1vw, 15px);
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 2;
}

/* ---- 瑙ｅ喅鏂规瀵圭収琛?---- */
.solution-table {
    max-width: 900px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.06);
}
.solution-row {
    display: flex;
}
.solution-row-header {
    background: rgba(255,102,0,0.08);
}
.solution-row-header .solution-col {
    font-weight: 600;
    font-size: 14px;
    color: #FF6600;
    letter-spacing: 2px;
    padding: 16px 24px;
}
.solution-col {
    padding: 18px 24px;
    font-size: 14px;
    color: rgba(255,255,255,0.4);
    letter-spacing: 0.5px;
    line-height: 1.8;
}
.pain-col {
    width: 240px;
    flex-shrink: 0;
    background: rgba(255,255,255,0.01);
    border-right: 1px solid rgba(255,255,255,0.04);
    font-weight: 500;
    color: rgba(255,255,255,0.5);
}
.answer-col {
    flex: 1;
    background: rgba(255,255,255,0.02);
}
.solution-row:not(.solution-row-header) + .solution-row {
    border-top: 1px solid rgba(255,255,255,0.04);
}

/* ---- 鏂规浼樺娍锛? 鏍忕綉鏍硷級 ---- */
.advantage-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1040px;
    margin: 0 auto;
}
.advantage-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 28px 20px 24px;
    text-align: center;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.advantage-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-4px);
}
.advantage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px; height: 52px;
    border-radius: 12px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
    margin-bottom: 16px;
}
.advantage-title {
    font-size: 16px;
    font-weight: 600;
    color: #e5e5e5;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.advantage-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 楠岃瘉鏁版嵁 ---- */
.validation-block {
    max-width: 860px;
    margin: 0 auto 48px;
}
.validation-block:last-child {
    margin-bottom: 0;
}
.validation-title {
    font-size: 17px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
.validation-table {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.06);
}
.validation-row {
    display: flex;
}
.validation-row-header {
    background: rgba(255,255,255,0.03);
}
.validation-row-header .validation-cell {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.3);
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 14px 20px;
}
.validation-cell {
    flex: 1;
    padding: 16px 20px;
    font-size: 14px;
    color: rgba(255,255,255,0.4);
    letter-spacing: 0.5px;
    line-height: 1.6;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.validation-row:last-child .validation-cell {
    border-bottom: none;
}
.validation-cell.highlight {
    color: #FF6600;
    font-weight: 500;
}

/* ---- 閫傞厤璁惧鎺ㄨ崘 ---- */
.plandetail-equipment {
    min-height: 100vh;
    padding: 0 !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2)),
        #050505;
}
.plandetail-equipment .product-section-inner {
    min-height: 100vh;
    padding-top: 122px;
    padding-bottom: 72px;
    box-sizing: border-box;
}
.plandetail-equipment-head {
    max-width: 760px;
    margin: 0 auto 54px;
    text-align: center;
}
.plandetail-equipment-head .plandetail-kicker {
    justify-content: center;
    margin-bottom: 18px;
}
.plandetail-equipment-head .plandetail-kicker::after {
    content: "";
    width: 36px;
    height: 1px;
    background: rgba(255,102,0,0.78);
}
.plandetail-equipment-head .section-heading {
    font-size: clamp(38px, 3.25vw, 56px);
    line-height: 1.12;
    letter-spacing: 0.08em;
}
.plandetail-equipment-head p {
    margin: 22px 0 0;
    color: rgba(255,255,255,0.62);
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
.equipment-recommend-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px;
    max-width: none;
    margin: 0 auto;
}
.equipment-recommend-card {
    position: relative;
    min-height: 430px;
    padding: 42px 38px;
    display: grid;
    grid-template-columns: minmax(245px, 0.86fr) minmax(300px, 1.14fr);
    align-items: center;
    border: 1px solid rgba(255,255,255,0.11);
    border-radius: 14px;
    background:
        url("../images/plandetail/cardbg1.webp") center / 100% 100% no-repeat,
        rgba(10,10,12,0.72);
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 24px 76px rgba(0,0,0,0.32);
    transition: border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.equipment-recommend-card:hover {
    border-color: rgba(255,102,0,0.28);
    transform: translateY(-4px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 30px 90px rgba(0,0,0,0.38), 0 16px 42px rgba(255,102,0,0.09);
}
.equipment-recommend-img {
    position: relative;
    z-index: 1;
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
}
.equipment-recommend-img img {
    width: min(100%, 430px);
    max-height: 320px;
    object-fit: contain;
    filter: drop-shadow(0 24px 34px rgba(0,0,0,0.48));
}
.equipment-recommend-body {
    position: relative;
    z-index: 2;
    padding: 0;
}
.equipment-recommend-series {
    display: block;
    margin-bottom: 16px;
    color: #ff6600;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.equipment-recommend-name {
    margin: 0;
    font-size: 25px;
    font-weight: 700;
    color: #f5f5f7;
    line-height: 1.35;
    letter-spacing: 0.05em;
}
.equipment-recommend-line {
    display: block;
    width: 40px;
    height: 2px;
    margin: 22px 0 24px;
    background: #ff6600;
}
.equipment-recommend-highlight {
    margin: 0;
    color: rgba(255,255,255,0.72);
    font-size: 15px;
    letter-spacing: 0.04em;
    line-height: 1.85;
}
.equipment-recommend-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 34px;
}
.equipment-recommend-features div {
    min-width: 0;
}
.equipment-recommend-features i {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #ff6600;
    margin-bottom: 14px;
}
.equipment-recommend-features svg {
    width: 100%;
    height: 100%;
}
.equipment-recommend-features strong {
    display: block;
    color: rgba(255,255,255,0.92);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.03em;
}
.equipment-recommend-features span {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,0.48);
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 0.03em;
}
.equipment-recommend-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 112px;
    height: 36px;
    margin-top: 20px;
    padding: 0 18px;
    border: 1px solid #ff6600;
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.equipment-recommend-btn:hover {
    background: rgba(255,102,0,0.16);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(255,102,0,0.16);
}
.equipment-recommend-btn b {
    color: #ff6600;
    font-size: 18px;
    line-height: 1;
}

/* ---- 选配模块推荐 ---- */
.plandetail-modules {
    min-height: 100vh;
    padding: 0 !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.16), rgba(0,0,0,0.2)),
        url("../images/plandetail/bg6.webp") center / cover no-repeat,
        #050505 !important;
}
.plandetail-modules .product-section-inner {
    min-height: 100vh;
    padding-top: 132px;
    padding-bottom: 72px;
    box-sizing: border-box;
}
.plandetail-modules-head {
    max-width: 760px;
    margin: 0 0 46px;
    text-align: left;
}
.plandetail-modules-head .plandetail-kicker {
    margin-bottom: 22px;
}
.plandetail-modules-head .plandetail-kicker::after {
    content: "";
    width: 36px;
    height: 1px;
    background: rgba(255,102,0,0.78);
}
.plandetail-modules-head .section-heading {
    font-size: clamp(38px, 3.25vw, 56px);
    line-height: 1.12;
    letter-spacing: 0.08em;
}
.plandetail-modules-head p {
    margin: 22px 0 0;
    color: rgba(255,255,255,0.62);
    font-size: 15px;
    line-height: 1.85;
    letter-spacing: 0.04em;
}
.module-recommend-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    max-width: none;
    margin: 0 auto;
}
.module-recommend-card {
    position: relative;
    min-height: 430px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)),
        rgba(12,13,15,0.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 24px 76px rgba(0,0,0,0.34);
    overflow: hidden;
    transition: border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.module-recommend-card::after {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: -1px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255,102,0,0), rgba(255,102,0,0.9), rgba(255,102,0,0));
    box-shadow: 0 0 16px rgba(255,102,0,0.64), 0 14px 30px rgba(255,102,0,0.22);
    opacity: 0.72;
    pointer-events: none;
}
.module-recommend-card:hover {
    border-color: rgba(255,102,0,0.28);
    transform: translateY(-4px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 30px 86px rgba(0,0,0,0.4), 0 12px 34px rgba(255,102,0,0.08);
}
.module-recommend-body {
    padding: 32px 28px 30px;
}
.module-recommend-head {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 74px;
    margin-bottom: 24px;
}
.module-recommend-head > i {
    display: flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255,102,0,0.78);
    border-radius: 999px;
    color: #ff6600;
    box-shadow: 0 0 20px rgba(255,102,0,0.14);
}
.module-recommend-head svg {
    width: 30px;
    height: 30px;
}
.module-recommend-name {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: #f5f5f7;
    line-height: 1.35;
    letter-spacing: 0.04em;
}
.module-recommend-desc {
    margin: 6px 0 0;
    font-size: 14px;
    color: rgba(255,255,255,0.56);
    letter-spacing: 0.03em;
    line-height: 1.65;
}
.module-recommend-img {
    height: 190px;
    border-radius: 8px;
    background: rgba(255,255,255,0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.module-recommend-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.module-recommend-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
    margin-top: 24px;
}
.module-recommend-points span {
    position: relative;
    padding-left: 28px;
    color: rgba(255,255,255,0.68);
    font-size: 13px;
    line-height: 1.55;
    letter-spacing: 0.03em;
}
.module-recommend-points span::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,102,0,0.82);
    border-radius: 999px;
    color: #ff6600;
    font-size: 12px;
    line-height: 1;
}

/* ---- FAQ 与关联文章：浅色承接 ---- */
.plandetail-faq {
    padding: 0 !important;
    background: #f6f7f9;
    color: #151820;
}
.plandetail-faq .product-section-inner {
    padding-top: 96px;
    padding-bottom: 72px;
    box-sizing: border-box;
}
.plandetail-faq-head {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}
.plandetail-faq-head .plandetail-kicker {
    justify-content: center;
    color: #d65a08;
}
.plandetail-faq-head .plandetail-kicker::before,
.plandetail-faq-head .plandetail-kicker::after {
    background: rgba(214,90,8,0.72);
}
.plandetail-faq-head .plandetail-kicker::after {
    content: "";
    width: 36px;
    height: 1px;
}
.plandetail-faq-head .section-heading {
    color: #111722 !important;
    -webkit-text-fill-color: #111722 !important;
    background: none !important;
    font-size: clamp(30px, 2.45vw, 42px);
    line-height: 1.18;
    letter-spacing: 0.06em;
}
.plandetail-faq-head p {
    margin: 22px auto 0;
    max-width: 700px;
    color: rgba(21,24,32,0.62);
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.04em;
}
.plandetail-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.plandetail-faq-item {
    min-height: 188px;
    padding: 30px 32px;
    border: 1px solid rgba(18,24,35,0.1);
    border-radius: 8px;
    background: rgba(255,255,255,0.78);
    box-shadow: 0 18px 54px rgba(18,24,35,0.08);
}
.plandetail-faq-item span {
    display: block;
    margin-bottom: 16px;
    color: #ff6600;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
}
.plandetail-faq-item h3 {
    margin: 0;
    color: #111722;
    font-size: 20px;
    line-height: 1.45;
    letter-spacing: 0.03em;
}
.plandetail-faq-item p {
    margin: 14px 0 0;
    color: rgba(21,24,32,0.62);
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.03em;
}
.plandetail-related {
    padding-top: 72px !important;
    padding-bottom: 120px !important;
    background: #f6f7f9 !important;
    color: #151820;
}
.plandetail-related .section-heading {
    color: #111722 !important;
    -webkit-text-fill-color: #111722 !important;
    background: none !important;
    font-size: clamp(30px, 2.45vw, 42px);
    line-height: 1.16;
    letter-spacing: 0.06em;
}
.article-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 860px;
    margin: 36px auto 0;
    border-radius: 8px;
    background: rgba(255,255,255,0.76);
    box-shadow: 0 18px 52px rgba(18,24,35,0.08);
    overflow: hidden;
}
.article-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 28px;
    text-decoration: none;
    border-bottom: 1px solid rgba(18,24,35,0.08);
    transition: background 0.25s ease, transform 0.25s ease;
}
.article-item:first-child {
    border-top: none;
}
.article-item:last-child {
    border-bottom: none;
}
.article-item:hover {
    background: rgba(255,102,0,0.06);
}
.article-icon {
    flex-shrink: 0;
    color: rgba(255,102,0,0.72);
}
.article-item:hover .article-icon {
    color: #ff6600;
}
.article-title {
    flex: 1;
    font-size: 15px;
    color: rgba(21,24,32,0.72);
    letter-spacing: 0.04em;
    transition: color 0.25s;
}
.article-item:hover .article-title {
    color: #111722;
}
.article-arrow {
    flex-shrink: 0;
    font-size: 18px;
    color: rgba(255,102,0,0.55);
    transition: all 0.25s;
}
.article-item:hover .article-arrow {
    color: #ff6600;
    transform: translateX(4px);
}

/* ---- CTA 鍙屾寜閽?---- */
.cta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.btn-outline-dark {
    display: inline-block;
    padding: 16px 48px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 28px;
    text-decoration: none;
    transition: all 0.3s;
    letter-spacing: 2px;
}
.btn-outline-dark:hover {
    border-color: rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.06);
}

/* ---- 方案详情页：滚动叙事增强 ---- */
.plandetail-page {
    background: #050505;
    color: #f5f5f7;
}
.plandetail-page .product-section-inner {
    max-width: 1440px;
    width: min(1440px, calc(100% - 96px));
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
}
.plandetail-page .product-section {
    padding: clamp(76px, 9vw, 132px) 0;
    padding-bottom: 0;
}
.plandetail-page .nav-item[data-panel="solutions-panel"] > a {
    position: relative;
}
/*.plandetail-page .nav-item[data-panel="solutions-panel"] > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -18px;
    width: 34px;
    height: 2px;
    background: #ff6600;
    transform: translateX(-50%);
}*/
.plandetail-page .product-section-alt {
    background:
        linear-gradient(180deg, #08080a 0%, #101014 52%, #070708 100%);
}
.plandetail-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #ff8a35;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}
.plandetail-kicker::before {
    content: "";
    width: 36px;
    height: 1px;
    background: rgba(255,102,0,0.78);
}
.plandetail-section-head {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}
.plandetail-section-head .plandetail-kicker {
    justify-content: center;
}

.plandetail-hero {
    height: 100vh;
    min-height: 650px;
    justify-content: flex-start;
    background: #050505;
}
.plandetail-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.34) 0%, rgba(0,0,0,0.16) 34%, rgba(0,0,0,0) 68%),
        url("../images/plandetail/bg1.webp") center / cover no-repeat;
    opacity: 1;
    transform: scale(calc(1 + var(--plandetail-hero-progress, 0) * 0.035));
    will-change: transform;
}
.plandetail-hero-content {
    position: static;
    z-index: 2;
    width: min(1440px, calc(100% - 96px));
    margin: 16px auto 0;
    padding: 0;
    text-align: left;
}
.plandetail-hero-title {
    max-width: 760px;
    margin: 0;
    font-size: clamp(42px, 4.2vw, 72px);
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #fff;
    background: none;
    -webkit-text-fill-color: #fff;
    text-shadow: 0 7px 22px rgba(0,0,0,0.55);
}
.plandetail-hero-title span {
    display: block;
}
.plandetail-hero-title em {
    color: #ff6600;
    -webkit-text-fill-color: #ff6600;
    font-style: normal;
    margin-right: 0.08em;
}
.plandetail-hero-sub {
    max-width: 720px;
    margin-top: 28px;
    padding: 0;
    color: rgba(255,255,255,0.76);
    font-size: clamp(16px, 1.22vw, 20px);
    line-height: 1.95;
    letter-spacing: 0.04em;
    text-shadow: 0 4px 16px rgba(0,0,0,0.48);
}
.plandetail-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    max-width: 780px;
    margin-top: 42px;
}
.plandetail-hero-metric {
    min-height: 128px;
    padding: 24px 24px 22px;
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 8px;
    background: rgba(15,15,18,0.54);
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 50px rgba(0,0,0,0.28);
}
.plandetail-hero-metric-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    color: #ff6600;
    margin-bottom: 12px;
}
.plandetail-hero-metric-icon svg {
    width: 100%;
    height: 100%;
}
.plandetail-hero-metric strong {
    display: block;
    color: #fff;
    font-size: clamp(24px, 1.8vw, 32px);
    line-height: 1.15;
    letter-spacing: 0.01em;
}
.plandetail-hero-metric span {
    display: block;
    margin-top: 14px;
    color: rgba(255,255,255,0.72);
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.04em;
}
.plandetail-hero-metric span::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    margin-top: 14px;
    background: #ff6600;
}
.plandetail-scroll-cue {
    position: absolute;
    left: max(48px, calc((100vw - 1440px) / 2 + 48px));
    bottom: 28px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: rgba(255,255,255,0.62);
    animation: plandetailScrollCueFloat 2.8s ease-in-out infinite;
}
.plandetail-scroll-cue em {
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.22em;
}
.plandetail-scroll-mouse {
    position: relative;
    display: block;
    width: 22px;
    height: 38px;
    border: 2px solid #ff6600;
    border-radius: 999px;
    box-shadow: 0 0 18px rgba(255,102,0,0.18);
}
.plandetail-scroll-mouse b {
    position: absolute;
    left: 50%;
    top: 7px;
    width: 3px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    transform: translateX(-50%);
    animation: plandetailScrollWheel 1.65s ease-in-out infinite;
}
.plandetail-scroll-cue small {
    width: 7px;
    height: 7px;
    border-right: 1px solid #ff6600;
    border-bottom: 1px solid #ff6600;
    transform: rotate(45deg);
    animation: plandetailScrollArrow 1.65s ease-in-out infinite;
}

@keyframes plandetailScrollCueFloat {
    0%, 100% { transform: translateY(0); opacity: 0.82; }
    50% { transform: translateY(6px); opacity: 1; }
}

@keyframes plandetailScrollWheel {
    0% { opacity: 0; transform: translate(-50%, 0); }
    22% { opacity: 1; }
    78% { opacity: 0.35; transform: translate(-50%, 16px); }
    100% { opacity: 0; transform: translate(-50%, 18px); }
}

@keyframes plandetailScrollArrow {
    0%, 100% { opacity: 0.38; transform: translateY(0) rotate(45deg); }
    50% { opacity: 1; transform: translateY(5px) rotate(45deg); }
}

.plandetail-story,
.plandetail-process {
    overflow: visible;
}
.plandetail-story {
    --plandetail-story-content-top: clamp(170px, 18vh, 190px);
    min-height: 100vh;
    padding: 0 !important;
    background:
        url("../images/plandetail/bg2.webp") center / cover no-repeat,
        #050505;
    overflow: hidden;
}
.plandetail-page .plandetail-story-inner {
    width: min(1440px, calc(100% - 96px));
    min-height: 100vh;
    display: grid;
    grid-template-columns: 600px minmax(0, 920px);
    gap: 40px;
    align-items: start;
    justify-content: start;
    position: relative;
    top: auto;
    margin: 0 auto;
    padding-top: var(--plandetail-story-content-top);
    box-sizing: border-box;
}
.plandetail-story-copy {
    max-width: 540px;
    transform: none;
}
.plandetail-story-copy .plandetail-kicker {
    margin-bottom: 24px;
}
.plandetail-story-copy h2,
.plandetail-process-copy h2 {
    margin: 0;
    color: #f5f5f7;
    font-size: clamp(36px, 3.45vw, 56px);
    line-height: 1.22;
    letter-spacing: 0.045em;
    text-shadow: 0 8px 24px rgba(0,0,0,0.52);
}
.plandetail-story-title-line {
    display: block;
    width: 48px;
    height: 2px;
    margin-top: 20px;
    background: #ff6600;
}
.plandetail-story-copy p,
.plandetail-process-copy p,
.plandetail-validation-copy p {
    margin: 24px 0 0;
    color: rgba(255,255,255,0.72);
    font-size: clamp(14px, 0.95vw, 16px);
    line-height: 2.05;
    letter-spacing: 0.04em;
}
.plandetail-requirement-stage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    min-height: auto;
    position: relative;
}
.plandetail-requirement-card {
    position: relative;
    width: 100%;
    min-height: 300px;
    padding: 38px 40px 34px 92px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.065), rgba(255,255,255,0.012) 46%),
        rgba(12,12,14,0.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 24px 70px rgba(0,0,0,0.32);
    opacity: 0;
    transform: translateY(24px);
    animation: plandetailStoryCardIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    transition: transform 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease, background 0.32s ease;
}
.plandetail-requirement-card:nth-child(1) { animation-delay: 0.08s; }
.plandetail-requirement-card:nth-child(2) { animation-delay: 0.18s; }
.plandetail-requirement-card:nth-child(3) { animation-delay: 0.28s; }
.plandetail-requirement-card:nth-child(4) { animation-delay: 0.38s; }
.plandetail-requirement-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: -1px;
    width: 2px;
    height: 100%;
    border-radius: 0 8px 8px 0;
    background: linear-gradient(180deg, rgba(255,102,0,0), rgba(255,102,0,0.95), rgba(255,102,0,0));
    box-shadow: 0 0 16px rgba(255,102,0,0.78), 0 0 34px rgba(255,102,0,0.42);
    opacity: 0.84;
}
.plandetail-requirement-card:hover {
    transform: translateY(-8px);
    border-color: rgba(255,102,0,0.32);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.02) 46%),
        rgba(16,16,18,0.84);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 32px 86px rgba(0,0,0,0.42);
}
.plandetail-requirement-card span,
.plandetail-process-step span,
.plandetail-capability-card span,
.plandetail-report-head span {
    display: block;
    color: #ff7a1a;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}
.plandetail-requirement-card strong {
    display: block;
    color: #fff;
    font-size: clamp(22px, 1.55vw, 28px);
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}
.plandetail-requirement-card b {
    display: block;
    width: 44px;
    height: 2px;
    margin-bottom: 20px;
    background: #ff6600;
}
.plandetail-requirement-card p {
    margin: 0;
    color: rgba(255,255,255,0.66);
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0.04em;
}
.plandetail-requirement-icon {
    position: absolute;
    left: 30px;
    top: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    color: #ff6600;
    background: rgba(255,255,255,0.035);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,0.1), inset 0 0 0 10px rgba(255,255,255,0.035), 0 0 24px rgba(0,0,0,0.34);
}
.plandetail-requirement-icon svg {
    width: 24px;
    height: 24px;
}

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

.plandetail-page .plandetail-process {
    min-height: 260vh;
    background:
        linear-gradient(90deg, rgba(5,5,6,0.34) 0%, rgba(5,5,6,0.16) 42%, rgba(5,5,6,0.04) 100%),
        url("../images/plandetail/bg3.webp") center / cover no-repeat,
        #050505;
    overflow: visible;
}
.plandetail-page .plandetail-process-inner {
    max-width: 1200px;
    width: min(1200px, calc(100% - 96px));
    position: sticky;
    top: 64px;
    min-height: calc(100vh - 64px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.plandetail-process-copy {
    max-width: 640px;
    margin-bottom: 34px;
}
.plandetail-process-copy h2.section-heading {
    font-size: clamp(30px, 2.7vw, 46px);
    line-height: 1.22;
}
.plandetail-process-copy p {
    max-width: 620px;
    font-size: 14px;
    line-height: 1.95;
}
.plandetail-process-stage {
    display: grid;
    grid-template-columns: 440px minmax(0, 1fr);
    gap: 56px;
    align-items: center;
}
.plandetail-process-visual {
    position: relative;
    min-height: 360px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,102,0,0.09), transparent 34%),
        rgba(255,255,255,0.025);
    overflow: hidden;
}
.plandetail-process-visual::before,
.plandetail-process-visual::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72%;
    height: 1px;
    background: rgba(255,255,255,0.08);
    transform: translate(-50%, -50%);
}
.plandetail-process-visual::after {
    width: 1px;
    height: 72%;
}
.plandetail-process-ring {
    position: absolute;
    inset: 17%;
    border: 1px solid rgba(255,102,0,0.26);
    border-radius: 50%;
    transform: rotate(calc(var(--plandetail-process-progress, 0) * 160deg));
    transition: transform 0.2s linear;
}
.plandetail-process-ring::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -4px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ff6600;
    box-shadow: 0 0 24px rgba(255,102,0,0.7);
}
.plandetail-process-core {
    position: absolute;
    inset: 32%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    background: rgba(0,0,0,0.38);
    backdrop-filter: blur(12px);
}
.plandetail-process-core span {
    color: rgba(255,102,0,0.95);
    font-size: 13px;
    letter-spacing: 0.24em;
}
.plandetail-process-core strong {
    margin-top: 12px;
    color: #fff;
    font-size: clamp(20px, 1.7vw, 28px);
    letter-spacing: 0.08em;
}
.plandetail-process-core em {
    margin-top: 10px;
    color: rgba(255,255,255,0.42);
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.plandetail-process-steps {
    display: grid;
    gap: 12px;
}
.plandetail-process-step {
    padding: 18px 22px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    background: rgba(255,255,255,0.022);
    opacity: 0.52;
    transform: translateX(0) scale(1);
    transform-origin: center left;
    will-change: transform, opacity;
    transition:
        opacity 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);
}
.plandetail-process-step.is-active {
    opacity: 1;
    border-color: rgba(255,102,0,0.36);
    background: rgba(255,102,0,0.07);
    box-shadow: 0 16px 46px rgba(0,0,0,0.24);
    transform: translateX(-8px) scale(1.018);
}
.plandetail-process-step h3,
.plandetail-capability-card h3,
.plandetail-report-head h3 {
    margin: 0;
    color: #f5f5f7;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.08em;
}
.plandetail-process-step h3 {
    font-size: 17px;
    line-height: 1.35;
}
.plandetail-process-step p,
.plandetail-capability-card p {
    margin: 10px 0 0;
    color: rgba(255,255,255,0.62);
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0.04em;
}
.plandetail-process-step p {
    color: rgba(255,255,255,0.68);
}

.plandetail-capability {
    position: relative;
    background: #050505;
    min-height: 220vh;
    overflow: visible;
}
.plandetail-page .plandetail-capability-inner {
    position: sticky;
    top: 64px;
    z-index: 1;
    isolation: isolate;
    min-height: calc(100vh - 64px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: clamp(82px, 10vh, 116px);
    box-sizing: border-box;
}
.plandetail-page .plandetail-capability-inner::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -64px;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    transform: translateX(-50%);
    background:
        linear-gradient(180deg, rgba(2,2,3,0.3) 0%, rgba(2,2,3,0.08) 52%, rgba(2,2,3,0.18) 100%),
        url("../images/plandetail/bg4.webp") center / cover no-repeat,
        #050505;
    pointer-events: none;
}
.plandetail-capability .plandetail-section-head {
    max-width: 760px;
    margin-bottom: clamp(34px, 4.8vh, 54px);
}
.plandetail-capability .plandetail-kicker {
    margin-bottom: 18px;
}
.plandetail-capability .plandetail-kicker::after {
    content: "";
    width: 36px;
    height: 1px;
    background: rgba(255,102,0,0.78);
}
.plandetail-capability .section-heading {
    font-size: clamp(38px, 3.25vw, 56px);
    line-height: 1.12;
    letter-spacing: 0.08em;
}
.plandetail-capability-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}
.plandetail-capability-lead {
    max-width: 680px;
    margin: 18px auto 0;
    color: rgba(255,255,255,0.55);
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.06em;
}
.plandetail-capability-card {
    min-height: 300px;
    padding: 38px 30px 34px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255,102,0,0.035), rgba(255,255,255,0.018) 42%),
        rgba(12,13,15,0.62);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 68px rgba(0,0,0,0.24);
    text-align: center;
    opacity: 0.62;
    transform: translateY(18px) scale(0.972);
    transform-origin: center center;
    will-change: transform, opacity;
    transition:
        transform 0.72s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}
.plandetail-capability-card.is-active {
    opacity: 1;
    transform: translateY(-10px) scale(1.018);
    border-color: rgba(255,102,0,0.34);
    background:
        linear-gradient(180deg, rgba(255,102,0,0.075), rgba(255,255,255,0.024) 42%),
        rgba(14,15,17,0.78);
    box-shadow: 0 28px 86px rgba(255,102,0,0.12), 0 22px 68px rgba(0,0,0,0.36);
}
.plandetail-capability-card:hover {
    border-color: rgba(255,102,0,0.24);
    background:
        linear-gradient(180deg, rgba(255,102,0,0.052), rgba(255,255,255,0.02) 42%),
        rgba(14,15,17,0.7);
}
.plandetail-capability-card.is-active:hover {
    transform: translateY(-10px) scale(1.018);
    border-color: rgba(255,102,0,0.34);
}
.plandetail-capability-card.is-active span {
    color: #ff9a4a;
}
.plandetail-capability-card span {
    margin-bottom: 28px;
    color: #ff7a1a;
    font-size: 16px;
    letter-spacing: 0.12em;
}
.plandetail-capability-icon {
    display: inline-flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    color: #ff6600;
    filter: drop-shadow(0 0 16px rgba(255,102,0,0.18));
}
.plandetail-capability-icon svg {
    width: 100%;
    height: 100%;
}
.plandetail-capability-card h3 {
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: 0.08em;
}
.plandetail-capability-card b {
    display: block;
    width: 40px;
    height: 2px;
    margin: 18px auto 22px;
    background: #ff6600;
}
.plandetail-capability-card p {
    max-width: 238px;
    margin: 0 auto;
    color: rgba(255,255,255,0.62);
    font-size: 14px;
    line-height: 1.95;
    letter-spacing: 0.05em;
}

.plandetail-page .plandetail-validation {
    min-height: 100vh;
    padding: 0 !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.02) 48%, rgba(0,0,0,0.08) 100%),
        url("../images/plandetail/bg5.webp") center / cover no-repeat,
        #050505 !important;
}
.plandetail-page .plandetail-validation-inner {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 565px minmax(0, 780px);
    gap: 96px;
    align-items: center;
    padding-top: 64px;
    box-sizing: border-box;
}
.plandetail-validation-copy {
    max-width: 430px;
}
.plandetail-validation-copy .plandetail-kicker {
    margin-bottom: 28px;
}
.plandetail-validation-copy .plandetail-kicker::after {
    content: "";
    width: 36px;
    height: 1px;
    background: rgba(255,102,0,0.78);
}
.plandetail-validation-copy .section-heading {
    font-size: clamp(38px, 3.25vw, 56px);
    line-height: 1.12;
    letter-spacing: 0.08em;
}
.plandetail-validation-copy .section-heading::after {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    margin-top: 28px;
    background: #ff6600;
}
.plandetail-validation-copy p {
    max-width: 450px;
    margin-top: 40px;
    color: rgba(255,255,255,0.66);
    font-size: 16px;
    line-height: 2.05;
    letter-spacing: 0.04em;
}
.plandetail-report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
}
.plandetail-report-card {
    position: relative;
    min-height: 460px;
    padding: 44px 36px 34px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 8px;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,102,0,0.13), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.018) 58%),
        rgba(13,15,17,0.78);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 0 0 1px rgba(255,255,255,0.035),
        0 24px 86px rgba(0,0,0,0.34);
    backdrop-filter: blur(8px);
    overflow: hidden;
}
.plandetail-report-card::before {
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    width: 78px;
    height: 78px;
    border-top: 1px solid rgba(255,102,0,0.95);
    border-left: 1px solid rgba(255,102,0,0.95);
    border-radius: 8px 0 0 0;
    background: none;
    box-shadow:
        -7px -7px 18px rgba(255,102,0,0.18),
        inset 7px 7px 18px rgba(255,102,0,0.1);
    pointer-events: none;
    opacity: 0.9;
}
.plandetail-report-card::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: -1px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255,102,0,0), rgba(255,102,0,0.96), rgba(255,102,0,0));
    box-shadow:
        0 0 16px rgba(255,102,0,0.78),
        0 0 34px rgba(255,102,0,0.42),
        0 16px 34px rgba(255,102,0,0.28);
    opacity: 0.86;
    pointer-events: none;
}
.plandetail-report-card > * {
    position: relative;
    z-index: 1;
}
.plandetail-report-head {
    min-height: 104px;
    border-bottom: 1px solid rgba(255,255,255,0.16);
    margin-bottom: 34px;
}
.plandetail-report-label {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 20px;
}
.plandetail-report-label i {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    color: #ff6600;
}
.plandetail-report-label svg {
    width: 100%;
    height: 100%;
}
.plandetail-report-label span {
    margin: 0;
    color: #ff7a1a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}
.plandetail-report-head h3 {
    color: #f7f7f8;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.03em;
}
.plandetail-report-main {
    padding: 0 0 34px;
}
.plandetail-report-main strong {
    display: block;
    color: #ff7a1a;
    font-size: clamp(40px, 3.5vw, 56px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-shadow: 0 0 26px rgba(255,102,0,0.2);
}
.plandetail-report-main span {
    display: block;
    margin-top: 14px;
    color: rgba(255,255,255,0.6);
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: 0.04em;
}
.plandetail-report-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 0;
    border-top: 1px solid rgba(255,255,255,0.14);
}
.plandetail-report-row span {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: rgba(255,255,255,0.54);
    font-size: 13px;
    letter-spacing: 0.04em;
}
.plandetail-report-row i {
    display: inline-flex;
    width: 19px;
    height: 19px;
    align-items: center;
    justify-content: center;
    color: #ff6600;
    flex: none;
}
.plandetail-report-row svg {
    width: 100%;
    height: 100%;
}
.plandetail-report-row strong {
    color: rgba(255,255,255,0.92);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-align: right;
}

@media (max-width: 1180px) {
    .plandetail-hero-shell {
        opacity: 0.42;
        right: 24px;
    }
    .plandetail-story-inner,
    .plandetail-process-stage,
    .plandetail-validation-inner {
        grid-template-columns: 1fr;
    }
    .plandetail-story-inner {
        gap: 36px;
        padding: 104px 0 72px;
    }
    .plandetail-story-copy {
        max-width: 680px;
    }
    .plandetail-story-inner,
    .plandetail-process-inner {
        position: relative;
        top: auto;
        min-height: auto;
    }
    .plandetail-story,
    .plandetail-process,
    .plandetail-capability {
        min-height: auto;
    }
    .plandetail-requirement-stage {
        min-height: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
    .plandetail-requirement-orbit {
        display: none;
    }
    .plandetail-requirement-card {
        position: relative;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        width: 100%;
        min-height: 220px;
    }
    .plandetail-capability-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .plandetail-capability-inner {
        position: relative;
        top: auto;
        min-height: auto;
    }
    .plandetail-capability-card {
        opacity: 1;
        transform: none;
    }
    .plandetail-capability-card.is-active {
        transform: none;
    }
    .plandetail-process-step.is-active {
        transform: none;
    }
}

@media (max-width: 768px) {
    .plandetail-page .product-section-inner {
        width: calc(100% - 48px);
    }
    .plandetail-page .product-section {
        padding: 64px 0;
    }
    .plandetail-hero {
        height: auto;
        min-height: 760px;
        padding: 118px 0 72px;
        align-items: flex-start;
    }
    .plandetail-hero-shell,
    .plandetail-hero-beam {
        display: none;
    }
    .plandetail-hero-content {
        width: calc(100% - 48px);
        margin: 0 auto;
    }
    .plandetail-hero-title {
        font-size: clamp(32px, 8vw, 42px);
        letter-spacing: 0.02em;
    }
    .plandetail-hero-sub {
        font-size: 14px;
        letter-spacing: 0.03em;
    }
    .plandetail-hero-metrics {
        max-width: none;
        margin-top: 28px;
        gap: 12px;
    }
    .plandetail-hero-metric {
        min-height: auto;
        padding: 18px 18px 16px;
    }
    .plandetail-hero-metric-icon {
        width: 26px;
        height: 26px;
    }
    .plandetail-hero-metrics,
    .plandetail-report-grid,
    .plandetail-capability-grid {
        grid-template-columns: 1fr;
    }
    .plandetail-scroll-cue {
        margin-top: 34px;
    }
    .plandetail-requirement-stage {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .plandetail-requirement-card {
        min-height: auto;
        padding: 86px 22px 24px;
    }
    .plandetail-requirement-icon {
        left: 22px;
        top: 22px;
        width: 54px;
        height: 54px;
    }
    .plandetail-requirement-icon svg {
        width: 26px;
        height: 26px;
    }
    .plandetail-requirement-card span {
        font-size: 13px;
        margin-bottom: 14px;
    }
    .plandetail-requirement-card strong {
        font-size: 22px;
    }
    .plandetail-process-visual {
        min-height: 320px;
    }
    .plandetail-process-core {
        inset: 27%;
    }
    .plandetail-process-step.is-active {
        transform: none;
    }
    .plandetail-report-card {
        min-height: auto;
    }
    .plandetail-mobile-stream .plandetail-story {
        display: block !important;
        min-height: auto;
        padding: 64px 0 !important;
    }
    .plandetail-mobile-stream .plandetail-story-inner {
        min-height: auto;
        display: block;
        padding: 0;
    }
    .plandetail-mobile-stream .plandetail-story-copy {
        max-width: none;
        margin-bottom: 28px;
    }
    .plandetail-mobile-stream .plandetail-story-copy .plandetail-kicker {
        margin-bottom: 18px;
    }
    .plandetail-mobile-stream .plandetail-story-copy h2 {
        font-size: clamp(30px, 9vw, 40px);
        line-height: 1.25;
    }
    .plandetail-mobile-stream .plandetail-story-copy p {
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.85;
    }
    .plandetail-mobile-stream .plandetail-requirement-stage {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .plandetail-mobile-stream .plandetail-requirement-card {
        min-height: auto;
        padding: 22px 20px 20px 72px;
        overflow-wrap: anywhere;
    }
    .plandetail-mobile-stream .plandetail-requirement-icon {
        left: 18px;
        top: 20px;
        width: 40px;
        height: 40px;
    }
    .plandetail-mobile-stream .plandetail-requirement-icon svg {
        width: 20px;
        height: 20px;
    }
    .plandetail-mobile-stream .plandetail-requirement-card span {
        margin-bottom: 8px;
        font-size: 12px;
    }
    .plandetail-mobile-stream .plandetail-requirement-card strong {
        margin-bottom: 10px;
        font-size: 19px;
        line-height: 1.35;
    }
    .plandetail-mobile-stream .plandetail-requirement-card b {
        margin-bottom: 12px;
    }
    .plandetail-mobile-stream .plandetail-requirement-card p {
        font-size: 13px;
        line-height: 1.75;
    }
    .plandetail-mobile-stream .plandetail-process {
        min-height: auto !important;
        height: auto !important;
        padding: 64px 0 !important;
    }
    body.plandetail-page.plandetail-mobile-stream .plandetail-process {
        min-height: auto !important;
        height: auto !important;
    }
    .plandetail-mobile-stream .plandetail-process-inner {
        position: relative;
        top: auto;
        min-height: auto;
        justify-content: flex-start;
    }
    .plandetail-mobile-stream .plandetail-process-stage {
        display: block;
    }
    .plandetail-mobile-stream .plandetail-process-visual {
        display: none !important;
    }
    .plandetail-mobile-stream .plandetail-process-steps {
        gap: 12px;
    }
    .plandetail-mobile-stream .plandetail-process-step,
    .plandetail-mobile-stream .plandetail-process-step.is-active {
        opacity: 1;
        transform: none;
    }
    .plandetail-mobile-stream .plandetail-validation {
        min-height: auto;
        padding: 64px 0 !important;
    }
    .plandetail-mobile-stream .plandetail-validation-inner {
        min-height: auto;
        display: block;
        padding-top: 0;
    }
    .plandetail-mobile-stream .plandetail-validation-copy {
        max-width: none;
        margin-bottom: 28px;
    }
    .plandetail-mobile-stream .plandetail-validation-copy p {
        margin-top: 22px;
        font-size: 14px;
        line-height: 1.85;
    }
    .plandetail-mobile-stream .plandetail-report-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .plandetail-mobile-stream .plandetail-report-card {
        min-height: auto;
        padding: 26px 20px 24px;
        overflow-wrap: anywhere;
    }
    .plandetail-mobile-stream .plandetail-report-head {
        min-height: auto;
        margin-bottom: 22px;
        padding-bottom: 18px;
    }
    .plandetail-mobile-stream .plandetail-report-head h3 {
        font-size: 18px;
        line-height: 1.45;
    }
    .plandetail-mobile-stream .plandetail-report-main {
        padding-bottom: 22px;
    }
    .plandetail-mobile-stream .plandetail-report-main strong {
        font-size: clamp(32px, 10vw, 42px);
        line-height: 1.08;
    }
    .plandetail-mobile-stream .plandetail-report-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        align-items: start;
        padding: 13px 0;
    }
    .plandetail-mobile-stream .plandetail-report-row span {
        min-width: 0;
        line-height: 1.5;
    }
    .plandetail-mobile-stream .plandetail-report-row strong {
        min-width: 0;
        text-align: left;
        line-height: 1.55;
    }
    .plandetail-mobile-stream .plandetail-equipment {
        min-height: auto;
        padding: 64px 0 !important;
    }
    .plandetail-mobile-stream .plandetail-equipment .product-section-inner {
        min-height: auto;
        padding-top: 0;
        padding-bottom: 0;
    }
    .plandetail-mobile-stream .plandetail-equipment-head {
        margin-bottom: 28px;
        text-align: left;
    }
    .plandetail-mobile-stream .plandetail-equipment-head .plandetail-kicker {
        justify-content: flex-start;
    }
    .plandetail-mobile-stream .plandetail-equipment-head p {
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.75;
    }
    .plandetail-mobile-stream .equipment-recommend-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .plandetail-mobile-stream .equipment-recommend-card {
        min-height: auto;
        display: block;
        padding: 26px 20px 24px;
    }
    .plandetail-mobile-stream .equipment-recommend-img {
        display: none !important;
    }
    .plandetail-mobile-stream .equipment-recommend-series {
        margin-bottom: 10px;
        font-size: 15px;
    }
    .plandetail-mobile-stream .equipment-recommend-name {
        font-size: 20px;
        line-height: 1.35;
    }
    .plandetail-mobile-stream .equipment-recommend-line {
        margin: 16px 0 18px;
    }
    .plandetail-mobile-stream .equipment-recommend-highlight {
        font-size: 13px;
        line-height: 1.75;
    }
    .plandetail-mobile-stream .equipment-recommend-features {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-top: 22px;
    }
    .plandetail-mobile-stream .equipment-recommend-features div {
        display: block;
        min-width: 0;
    }
    .plandetail-mobile-stream .equipment-recommend-features i {
        width: 28px;
        height: 28px;
        margin-bottom: 10px;
    }
    .plandetail-mobile-stream .equipment-recommend-features strong,
    .plandetail-mobile-stream .equipment-recommend-features span {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .plandetail-mobile-stream .equipment-recommend-features strong {
        font-size: 11px;
        line-height: 1.4;
    }
    .plandetail-mobile-stream .equipment-recommend-features span {
        margin-top: 6px;
        font-size: 10px;
        line-height: 1.45;
    }
    .plandetail-mobile-stream .equipment-recommend-btn {
        margin-top: 22px;
    }
    .plandetail-mobile-stream .plandetail-faq .product-section-inner {
        padding-top: 64px;
        padding-bottom: 56px;
    }
    .plandetail-mobile-stream .plandetail-faq-head {
        margin-bottom: 28px;
        text-align: left;
    }
    .plandetail-mobile-stream .plandetail-faq-head .plandetail-kicker {
        justify-content: flex-start;
    }
    .plandetail-mobile-stream .plandetail-faq-head p {
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.75;
    }
    .plandetail-mobile-stream .plandetail-faq-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .plandetail-mobile-stream .plandetail-faq-item {
        min-height: auto;
        padding: 22px 20px;
    }
    .plandetail-mobile-stream .plandetail-faq-item span {
        margin-bottom: 10px;
    }
    .plandetail-mobile-stream .plandetail-faq-item h3 {
        font-size: 17px;
        line-height: 1.45;
    }
    .plandetail-mobile-stream .plandetail-faq-item p {
        font-size: 13px;
        line-height: 1.75;
    }
}

@media (prefers-reduced-motion: reduce) {
    .plandetail-hero-bg,
    .plandetail-hero-beam,
    .plandetail-hero-shell,
    .plandetail-process-ring,
    .plandetail-requirement-card,
    .plandetail-process-step,
    .plandetail-capability-card,
    .plandetail-scroll-cta,
    .plandetail-cta-content {
        transition: none !important;
    }
}

.plandetail-cta-wrap {
    --plandetail-cta-overlap: 148px;
    position: relative;
    z-index: 4;
    padding: 0;
    margin-bottom: calc(var(--plandetail-cta-overlap) * -1);
    overflow: visible;
    background: #f6f7f9;
}
.plandetail-scroll-cta {
    width: 100vw;
    max-width: none;
    height: 320px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    border-radius: 0;
    position: relative;
    z-index: 5;
    transform: translateY(var(--plandetail-cta-overlap));
    transform-origin: center top;
    background:
        linear-gradient(110deg, rgba(255,255,255,0.92), rgba(246,247,249,0.78)),
        #f6f7f9;
    will-change: width, border-radius;
}
.plandetail-scroll-cta .product-cta-bg {
    opacity: 1;
    background: var(--plandetail-cta-bg-image, url("../images/product/list/cta.webp")) center / cover no-repeat;
}
.plandetail-scroll-cta .product-cta-inner {
    height: 100%;
    width: min(1200px, calc(100% - 48px));
    max-width: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    padding: 0;
    will-change: transform;
}
.plandetail-scroll-cta .product-cta-text {
    max-width: 760px;
    margin-left: 0;
    margin-right: 0;
}
.plandetail-scroll-cta .cta-heading {
    color: #111722;
    -webkit-text-fill-color: #111722;
    background: none;
}
.plandetail-scroll-cta .product-cta-text {
    color: rgba(21,24,32,0.66);
}
.plandetail-scroll-cta .btn-outline-dark {
    color: #151820;
    border-color: rgba(21,24,32,0.2);
}
.plandetail-scroll-cta .btn-outline-dark:hover {
    background: rgba(21,24,32,0.06);
    border-color: rgba(21,24,32,0.34);
}
.plandetail-scroll-cta .cta-btns {
    justify-content: flex-start;
}

@media (max-width: 768px) {
    .plandetail-cta-wrap {
        --plandetail-cta-overlap: 0px;
        margin-bottom: 0;
        padding: 0;
    }
    .plandetail-scroll-cta {
        width: calc(100vw - 32px);
        height: auto;
        min-height: 300px;
        border-radius: 12px;
        transform: none;
    }
    .plandetail-scroll-cta .product-cta-inner {
        width: calc(100% - 48px);
        padding: 56px 0;
    }
}

/* ---- 鏂规璇︽儏椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .solution-table {
        border-radius: 8px;
    }
    .solution-row {
        flex-direction: column;
    }
    .pain-col {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.04);
    }
    .advantage-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .advantage-card {
        padding: 20px 16px;
    }
    .validation-table {
        font-size: 12px;
    }
    .validation-cell {
        padding: 12px 14px;
        font-size: 12px;
    }
    .equipment-recommend-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .equipment-recommend-img {
        height: 180px;
    }
    .module-recommend-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 400px;
    }
    .article-item {
        padding: 16px 16px;
    }
    .article-title {
        font-size: 13px;
    }
    .requirement-item {
        padding: 16px;
    }
}


/* ============================================================
 *  妗堜緥璇︽儏椤? * ============================================================ */

/* ---- 妗堜緥鍐呭鍧?---- */
.case-block {
    max-width: 860px;
    margin: 0 auto;
}
.case-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #FF6600;
    letter-spacing: 3px;
    text-transform: uppercase;
    border: 1px solid rgba(255,102,0,0.2);
    border-radius: 4px;
    padding: 4px 14px;
    margin-bottom: 20px;
}
.case-title {
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    color: #f5f5f7;
    letter-spacing: 3px;
    margin-bottom: 12px;
}
.case-subtitle {
    font-size: clamp(14px, 1.3vw, 17px);
    color: rgba(255,255,255,0.35);
    letter-spacing: 2px;
    font-weight: 300;
    margin-bottom: 36px;
}
.case-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 440px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 36px;
}
.case-body {
    font-size: clamp(14px, 1.1vw, 15px);
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 2.2;
}
.case-body p {
    margin-bottom: 24px;
}
.case-body p:last-child {
    margin-bottom: 0;
}

/* ---- 妗堜緥椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .case-title {
        letter-spacing: 1px;
    }
    .case-image {
        aspect-ratio: 4/3;
        max-height: 260px;
        border-radius: 10px;
        margin-bottom: 24px;
    }
    .case-body {
        line-height: 2;
    }
}


/* ============================================================
 *  鐒婃帴宸ヨ壓娴嬭瘯椤?(tech1)
 * ============================================================ */

/* ---- 鏍囬鍖烘牳蹇冩暟鎹?---- */
.hero-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(16px, 3vw, 40px);
    flex-wrap: wrap;
    margin-top: 40px;
}
.hero-stat-item {
    text-align: center;
}
.hero-stat-value {
    display: block;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    color: #f5f5f7;
    letter-spacing: 2px;
    line-height: 1.2;
}
.hero-stat-value small {
    font-size: 60%;
    color: #FF6600;
    font-weight: 400;
}
.hero-stat-label {
    display: block;
    font-size: 12px;
    color: rgba(255,255,255,0.3);
    letter-spacing: 1px;
    margin-top: 6px;
}
.hero-stat-divider {
    width: 1px;
    height: 40px;
    background: rgba(255,255,255,0.08);
    flex-shrink: 0;
}

/* ---- 娴嬭瘯鑳藉姏鍗＄墖锛? 鏍忥級 ---- */
.test-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1040px;
    margin: 0 auto;
}
.test-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color 0.3s, transform 0.3s;
}
.test-card:hover {
    border-color: rgba(255,102,0,0.2);
    transform: translateY(-4px);
}
.test-card-img {
    height: 200px;
    background: rgba(255,255,255,0.03);
    display: flex;
    align-items: center;
    justify-content: center;
}
.test-card-body {
    padding: 24px 22px 28px;
}
.test-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 2px;
    margin-bottom: 12px;
}
.test-card-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.9;
}

/* ---- 鏁版嵁搴撲寒鐐?---- */
.database-highlight {
    display: flex;
    align-items: center;
    gap: 32px;
    max-width: 700px;
    margin: 0 auto 60px;
}
.database-number {
    flex-shrink: 0;
    font-size: clamp(56px, 7vw, 80px);
    font-weight: 700;
    background: linear-gradient(135deg, #FF6600 0%, #ffb366 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
    line-height: 1;
}
.database-number small {
    font-size: 40%;
    vertical-align: super;
}
.database-text {
    font-size: clamp(14px, 1.1vw, 15px);
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 2;
}
.database-text strong {
    color: #FF6600;
    font-weight: 500;
}

/* ---- 鍙剨鏉愭枡缃戞牸 ---- */
.materials-block {
    max-width: 860px;
    margin: 0 auto;
}
.materials-title {
    font-size: 17px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 2px;
    margin-bottom: 24px;
    text-align: center;
}
.materials-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.material-tag {
    display: inline-block;
    padding: 10px 24px;
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    letter-spacing: 1px;
    transition: all 0.25s;
}
.material-tag:hover {
    color: #f5f5f7;
    border-color: rgba(255,102,0,0.25);
    background: rgba(255,102,0,0.06);
}

/* ---- 鎵撴牱娴佺▼ ---- */
.steps-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 4vw, 48px);
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 auto;
}
.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    flex: 0 0 auto;
    width: 200px;
}
.step-number {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,102,0,0.12);
    color: #FF6600;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0;
}
.step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px; height: 64px;
    border-radius: 50%;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    color: #FF6600;
}
.step-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.4);
    letter-spacing: 1px;
    line-height: 1.7;
}
.step-connector {
    font-size: 24px;
    color: rgba(255,102,0,0.2);
    flex-shrink: 0;
    font-weight: 200;
    letter-spacing: 0;
}

/* ---- FAQ ---- */
.faq-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 820px;
    margin: 0 auto;
}
.faq-item {
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.faq-item:first-child {
    border-top: 1px solid rgba(255,255,255,0.04);
}
.faq-question {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 0;
    cursor: pointer;
    transition: color 0.2s;
    user-select: none;
}
.faq-question:hover {
    color: #f5f5f7;
}
.faq-q {
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 700;
    color: #FF6600;
    letter-spacing: 0;
    min-width: 28px;
    padding-top: 1px;
}
.faq-q-text {
    flex: 1;
    font-size: 15px;
    font-weight: 500;
    color: #d1d5db;
    letter-spacing: 1px;
    line-height: 1.6;
}
.faq-toggle {
    flex-shrink: 0;
    width: 24px; height: 24px;
    position: relative;
    color: rgba(255,255,255,0.2);
    transition: transform 0.3s;
}
.faq-toggle::before,
.faq-toggle::after {
    content: '';
    position: absolute;
    background: currentColor;
    transition: all 0.3s;
}
.faq-toggle::before {
    top: 11px; left: 4px; width: 16px; height: 2px;
}
.faq-toggle::after {
    top: 4px; left: 11px; width: 2px; height: 16px;
}
.faq-item.open .faq-toggle::after {
    transform: scaleY(0);
}
.faq-item.open .faq-toggle {
    color: #FF6600;
}
.faq-answer {
    display: none;
    padding: 0 0 20px 42px;
    font-size: 14px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 2;
}
.faq-item.open .faq-answer {
    display: block;
}
.faq-answer p {
    margin-bottom: 12px;
}
.faq-answer p:last-child {
    margin-bottom: 0;
}
.faq-answer strong {
    color: rgba(255,255,255,0.55);
    font-weight: 500;
}
.faq-answer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.faq-answer ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
}
.faq-answer ul li::before {
    content: '';
    position: absolute;
    left: 0; top: 10px;
    width: 5px; height: 5px;
    border-radius: 50%;
    background: rgba(255,102,0,0.4);
}

/* ---- 宸ヨ壓娴嬭瘯椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .hero-stats {
        gap: 16px;
    }
    .hero-stat-divider {
        display: none;
    }
    .hero-stat-item {
        width: 45%;
    }
    .hero-stat-value {
        font-size: 24px;
    }
    .test-cards {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 440px;
    }
    .test-card-img {
        height: 160px;
    }
    .database-highlight {
        flex-direction: column;
        text-align: center;
        gap: 20px;
        margin-bottom: 40px;
    }
    .materials-grid {
        gap: 8px;
    }
    .material-tag {
        padding: 8px 18px;
        font-size: 12px;
    }
    .steps-flow {
        flex-direction: column;
        gap: 8px;
    }
    .step-connector {
        transform: rotate(90deg);
        font-size: 18px;
    }
    .step-item {
        width: auto;
    }
    .faq-q-text {
        font-size: 13px;
    }
    .faq-answer {
        padding-left: 28px;
        font-size: 13px;
    }
}


/* ============================================================
 *  宸ヨ壓鐮斿彂骞冲彴椤?(tech2)
 * ============================================================ */

/* ---- 鐮斿彂鎶曞叆鏁版嵁 ---- */
.rd-stats-row {
    display: flex;
    justify-content: center;
    gap: clamp(32px, 5vw, 64px);
    margin-top: 48px;
}
.rd-stat-item {
    text-align: center;
}
.rd-stat-value {
    display: block;
    font-size: clamp(36px, 4vw, 48px);
    font-weight: 700;
    background: linear-gradient(135deg, #FF6600 0%, #ffb366 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
    line-height: 1.1;
}
.rd-stat-value small {
    font-size: 50%;
    vertical-align: super;
}
.rd-stat-label {
    display: block;
    font-size: 12px;
    color: rgba(255,255,255,0.3);
    letter-spacing: 2px;
    margin-top: 8px;
}

/* ---- 浜у鐮斿浘鐗?---- */
.rd-image-block {
    max-width: 900px;
    margin: 0 auto 48px;
}
.rd-image-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 420px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- 鐭ヨ瘑浜ф潈鍗＄墖锛? 鏍忥級 ---- */
.ip-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1040px;
    margin: 0 auto;
}
.ip-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 28px 20px 24px;
    text-align: center;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.ip-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-4px);
}
.ip-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px; height: 52px;
    border-radius: 12px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
    margin-bottom: 16px;
}
.ip-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #e5e5e5;
    letter-spacing: 2px;
    margin-bottom: 12px;
}
.ip-card-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 纭欢鐮斿彂骞冲彴锛? 鏍忥級 ---- */
.hardware-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    max-width: 960px;
    margin: 0 auto;
}
.hardware-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s, transform 0.3s;
}
.hardware-card:hover {
    border-color: rgba(255,102,0,0.2);
    transform: translateY(-4px);
}
.hardware-card-img {
    height: 240px;
    background: rgba(255,255,255,0.03);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hardware-card-body {
    padding: 24px 28px 28px;
    text-align: center;
}
.hardware-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.hardware-card-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 宸ヨ壓鐮斿彂椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .rd-stats-row {
        gap: 28px;
        flex-wrap: wrap;
        margin-top: 36px;
    }
    .ip-card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .ip-card {
        padding: 20px 16px;
    }
    .hardware-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 440px;
    }
    .hardware-card-img {
        height: 180px;
    }
    .rd-image-placeholder {
        aspect-ratio: 4/3;
        max-height: 240px;
        border-radius: 10px;
    }
}


/* ============================================================
 *  鍞悗鏈嶅姟椤?(saled)
 * ============================================================ */

/* ---- 鏈嶅姟浣撶郴缃戞牸锛? 鍗★紝3+2锛?---- */
.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1000px;
    margin: 0 auto;
}
.service-card {
    position: relative;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 32px 24px 28px;
    text-align: center;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.service-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-4px);
}
.service-card:nth-child(4),
.service-card:nth-child(5) {
    transform: none;
}
.service-card:nth-child(4):hover,
.service-card:nth-child(5):hover {
    transform: translateY(-4px);
}
/* 5 cards: center the last row */
.service-card:nth-child(4) {
    grid-column: 1 / 2;
    justify-self: end;
    width: 100%;
}
.service-card:nth-child(5) {
    grid-column: 3 / 4;
    justify-self: start;
    width: 100%;
}
.service-step {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #FF6600;
    letter-spacing: 2px;
    margin-bottom: 16px;
    opacity: 0.6;
}
.service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    margin: 0 auto 16px;
    border-radius: 14px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
}
.service-title {
    font-size: 17px;
    font-weight: 600;
    color: #e5e5e5;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.service-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* ---- 涓撳鏀寔鍙屾爮 ---- */
.expert-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    max-width: 900px;
    margin: 0 auto;
}
.expert-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 32px 28px;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.expert-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-4px);
}
.expert-card-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}
.expert-icon {
    flex-shrink: 0;
    width: 56px; height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
}
.expert-title {
    font-size: 20px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 2px;
}
.expert-desc {
    font-size: 14px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 2;
}

/* ---- 鍞悗椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .service-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 440px;
    }
    .service-card:nth-child(4),
    .service-card:nth-child(5) {
        grid-column: auto;
        justify-self: auto;
        width: 100%;
    }
    .expert-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        max-width: 440px;
    }
    .expert-card {
        padding: 24px 20px;
    }
    .expert-title {
        font-size: 17px;
    }
}


/* ============================================================
 *  鎶曡祫鍏崇郴椤?(invest)
 * ============================================================ */

/* ---- 投资价值摘要 ---- */
.invest-page .product-section-inner {
    width: min(1440px, calc(100% - 48px));
    max-width: none;
    margin-right: auto;
    margin-left: auto;
}

#value-summary {
    position: relative;
    min-height: 100vh;
    padding: 0;
    overflow: hidden;
    background: #f5f0ea url("../images/invest/bg2.webp") center / cover no-repeat;
}
#value-summary .product-section-inner {
    width: min(1440px, calc(100% - 48px));
    max-width: none;
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(104px, 9vw, 138px) 0 clamp(92px, 8vw, 126px);
}
.invest-summary-heading {
    margin: 0;
    color: #202020;
    font-size: clamp(38px, 3.1vw, 54px);
    font-weight: 760;
    line-height: 1.12;
    letter-spacing: 0.02em;
}
.invest-summary-heading span {
    color: #df6c2c;
}
.invest-summary-rule {
    display: block;
    width: 28px;
    height: 2px;
    margin-top: 24px;
    background: #e66c25;
}
.invest-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(48px, 5vw, 86px);
    row-gap: 0;
    width: 100%;
    margin-top: clamp(56px, 6.2vw, 86px);
}
.invest-summary-card {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    min-height: 128px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(71,55,43,0.16);
    background: transparent;
    text-align: left;
    transition: transform 0.3s;
}
.invest-summary-card:hover {
    transform: translateY(-3px);
}
.invest-summary-card:nth-last-child(-n + 3) {
    border-bottom: 0;
}
.invest-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 64px;
    border-right: 1px solid rgba(71,55,43,0.22);
    color: #dd6827;
    font-size: 34px;
    font-weight: 300;
}
.invest-summary-copy {
    min-width: 0;
    padding-left: 22px;
}
.invest-summary-title {
    margin: 0 0 9px;
    color: #111317;
    font-size: 18px;
    font-weight: 760;
    line-height: 1.25;
    letter-spacing: 0.02em;
}
.invest-summary-desc {
    margin: 0;
    color: rgba(24,27,31,0.68);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.82;
    letter-spacing: 0.01em;
}
/* ---- 鍏抽敭宸ュ簭 ---- */
#why-jinmi {
    padding: 0;
    overflow: visible;
    background:
        radial-gradient(circle at 50% 36%, rgba(33,39,44,0.24), transparent 42%),
        #070a0d;
}
#why-jinmi > .product-section-inner {
    width: min(1440px, calc(100% - 48px));
    max-width: none;
}
.key-role-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    margin: 0;
    padding: 54px 0 46px;
}
.key-role-heading {
    margin: 0;
    color: #f0f0f0;
    font-size: clamp(38px, 2.65vw, 48px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.11em;
    text-align: center;
}
.key-role-rule {
    display: block;
    width: 50px;
    height: 3px;
    margin: 21px auto 17px;
    background: #e2762e;
}
.key-role-text {
    max-width: 980px;
    margin: 0 auto 34px;
    text-align: center;
    font-size: clamp(15px, 1.05vw, 19px);
    color: rgba(255,255,255,0.53);
    letter-spacing: 0.1em;
    line-height: 1.8;
}
.key-role-text strong {
    color: #ef761f;
    font-weight: 600;
}
.key-role-cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin: 0 auto 50px;
    gap: 22px;
}
.key-role-case {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 7px;
    background: rgba(8,10,12,0.8);
    transition: border-color 0.3s, transform 0.3s;
}
.key-role-case:hover {
    border-color: rgba(226,118,46,0.48);
    transform: translateY(-3px);
}
.key-role-case > img {
    display: block;
    width: 100%;
    aspect-ratio: 820 / 405;
    object-fit: cover;
    object-position: center top;
}
.key-role-case-caption {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 10px 28px;
    border-top: 1px solid rgba(255,255,255,0.08);
    background: linear-gradient(90deg, rgba(15,18,20,0.94), rgba(21,22,23,0.9));
}
.key-role-case-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 25px;
    border: 1px solid rgba(227,112,37,0.72);
    border-radius: 50%;
    color: #e37025;
    font-size: 28px;
}
.key-role-case-text {
    margin: 0;
    color: rgba(255,255,255,0.58);
    font-size: clamp(14px, 0.92vw, 17px);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.06em;
}
.key-role-closing {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.key-role-closing-line {
    position: relative;
    display: block;
    width: 100%;
    height: 1px;
    margin-bottom: 31px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.14) 12%, rgba(255,255,255,0.14) 88%, transparent);
}
.key-role-closing-line::after {
    position: absolute;
    top: -1px;
    left: 50%;
    width: 130px;
    height: 3px;
    content: "";
    background: radial-gradient(ellipse at center, #f0a05d 0%, rgba(226,118,46,0.48) 32%, transparent 74%);
    transform: translateX(-50%);
}
.key-role-closing p {
    margin: 0;
    color: rgba(255,255,255,0.72);
    font-size: clamp(15px, 1.05vw, 19px);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.1em;
}
.key-role-closing p span {
    color: #ee761f;
    font-weight: 600;
}

/* ---- 鏍稿績鎶ゅ煄娌筹紙4 鍗★紝2脳2锛?---- */
.moat-block {
    position: relative;
    width: 100vw;
    min-height: 100vh;
    margin: 0 0 0 calc(50% - 50vw);
    padding: 0;
    overflow: hidden;
    background: #07090c url("../images/invest/bg4.webp") center / cover no-repeat;
}
.moat-inner {
    position: relative;
    width: min(1440px, calc(100% - 48px));
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(96px, 7vw, 122px) clamp(72px, 8vw, 150px) clamp(70px, 5vw, 92px);
}
.moat-heading-wrap {
    max-width: 760px;
    margin-bottom: clamp(44px, 4vw, 56px);
}
.moat-heading {
    margin: 0;
    color: #f2f2f2;
    font-size: clamp(38px, 3.2vw, 52px);
    font-weight: 760;
    line-height: 1.16;
    letter-spacing: 0.02em;
}
.moat-heading span {
    margin-left: 14px;
    color: #f17022;
}
.moat-heading-rule {
    display: block;
    width: 48px;
    height: 2px;
    margin: 22px 0 20px;
    background: #e7752c;
}
.moat-subtitle {
    margin: 0;
    color: rgba(255,255,255,0.76);
    font-size: clamp(16px, 1.2vw, 20px);
    font-weight: 360;
    line-height: 1.7;
    letter-spacing: 0.01em;
}
.moat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    width: min(1050px, 100%);
}
.moat-card {
    position: relative;
    display: grid;
    grid-template-columns: 98px minmax(0, 1fr);
    grid-template-areas:
        "meta title"
        "meta desc";
    column-gap: 30px;
    align-content: center;
    min-height: 200px;
    padding: 32px 36px 30px 28px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    background: rgba(7, 9, 12, 0.58);
    box-shadow: 0 26px 70px rgba(0,0,0,0.22);
    backdrop-filter: blur(10px);
    transition: transform 0.35s ease, border-color 0.35s ease, background-color 0.35s ease;
}
.moat-card:hover {
    transform: translateY(-5px);
    border-color: rgba(239,112,31,0.36);
    background: rgba(9, 11, 14, 0.66);
}
.moat-card-top {
    grid-area: meta;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 0;
    margin: 0;
    padding-right: 24px;
    border-right: 1px solid rgba(255,255,255,0.16);
}
.moat-card-icon {
    margin-top: 22px;
    color: #ec6d1e;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
}
.moat-card-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-right: 0;
    border: 1px solid rgba(234,115,46,0.66);
    border-radius: 50%;
    color: #f0a06b;
    font-size: 22px;
    font-weight: 520;
    letter-spacing: 0.02em;
}
.moat-card-title {
    grid-area: title;
    align-self: end;
    margin: 0 0 12px;
    color: #f4f4f4;
    font-size: clamp(21px, 1.55vw, 26px);
    font-weight: 740;
    line-height: 1.3;
    letter-spacing: 0.01em;
}
.moat-card-desc {
    grid-area: desc;
    margin: 0;
    color: rgba(255,255,255,0.68);
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 350;
    line-height: 1.78;
    letter-spacing: 0.01em;
}
.moat-card-desc strong {
    color: #FF6600;
    font-weight: 500;
}
.moat-brand {
    position: absolute;
    bottom: 94px;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.moat-brand-line {
    width: 28px;
    height: 2px;
    margin-bottom: 12px;
    background: #f06d1e;
}
.moat-brand strong {
    margin-bottom: 10px;
    color: #f06d1e;
    font-size: 14px;
    letter-spacing: 0.03em;
}
.moat-brand > span:not(.moat-brand-line) {
    margin-top: 5px;
    color: rgba(255,255,255,0.4);
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: 0.02em;
}

/* ---- 企业发展规划 ---- */
#development-plan {
    min-height: 100vh;
    padding: 0;
    background: radial-gradient(circle at 88% 18%, rgba(239,244,251,0.2), transparent 34%), #eff4fb;
}
#development-plan .product-section-inner {
    width: min(1440px, calc(100% - 48px));
    max-width: none;
    min-height: 100vh;
    padding: 76px 0 30px;
}
.plan-heading h2 {
    margin: 0;
    color: #111;
    font-size: clamp(38px, 2.7vw, 48px);
    font-weight: 760;
    line-height: 1.2;
    letter-spacing: 0.04em;
}
.plan-heading p {
    margin: 14px 0 20px;
    color: rgba(31,31,31,0.65);
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
}
.plan-heading > span {
    display: block;
    width: 40px;
    height: 2px;
    background: #ef6c1b;
}
.plan-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
    max-width: 1280px;
    margin: 38px auto 26px;
    padding-top: 10px;
}
.plan-timeline::before {
    position: absolute;
    top: 37px;
    right: 0;
    left: 0;
    height: 1px;
    content: "";
    background: rgba(71,56,44,0.3);
}
.plan-timeline-arrow {
    position: absolute;
    top: 22px;
    z-index: 2;
    color: #ef6c1b;
    background: #f8f5f1;
    font-size: 30px;
    line-height: 1;
}
.plan-timeline-arrow--one { left: 35.25%; }
.plan-timeline-arrow--two { left: 68.55%; }
.plan-phase {
    position: relative;
    z-index: 1;
    min-width: 0;
    max-width: none;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    transition: transform 0.3s;
}
.plan-phase:hover {
    transform: translateY(-3px);
}
.plan-phase-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    border: 1px solid #ef6c1b;
    border-radius: 50%;
    color: #ed6718;
    background: rgba(255,255,255,0.94);
    box-shadow: 0 0 0 4px rgba(255,255,255,0.8), 0 0 0 5px rgba(239,108,27,0.18);
    font-size: 25px;
    font-weight: 700;
}
.plan-phase-badge {
    position: relative;
    display: block;
    margin-bottom: 12px;
    padding: 0 36px;
    font-size: 15px;
    font-weight: 700;
    color: #ef6c1b;
    border: 0;
    border-radius: 0;
    line-height: 1.3;
    letter-spacing: 0.05em;
}
.plan-phase-badge::before,
.plan-phase-badge::after {
    position: absolute;
    top: 50%;
    width: 38px;
    height: 1px;
    content: "";
    background: rgba(239,108,27,0.55);
}
.plan-phase-badge::before { right: 100%; }
.plan-phase-badge::after { left: 100%; }
.plan-phase-text {
    min-height: 78px;
    margin: 0;
    color: #161616;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.02em;
}
.plan-phase-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    height: 32px;
    margin: 8px 0 14px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.status-active {
    color: #fff;
    background: linear-gradient(180deg, #f49a43, #ed6c16);
}
.status-target {
    color: #fff;
    background: linear-gradient(180deg, #393939, #171717);
}
.plan-phase-connector {
    display: none;
}
.plan-phase img {
    display: block;
    width: 100%;
    height: 108px;
    border-radius: 8px;
    object-fit: cover;
}
.plan-note {
    padding-top: 18px;
    border-top: 1px solid rgba(71,56,44,0.14);
    text-align: center;
    max-width: none;
    margin: 0 auto;
    font-size: 15px;
    color: rgba(31,31,31,0.62);
    letter-spacing: 0.02em;
    line-height: 1.8;
}
#development-plan .plan-note[data-animate="fade-up"] {
    opacity: 1;
    transform: none;
}
/* ---- 鏍稿績鏁版嵁缃戞牸锛?脳2锛?---- */
#core-data {
    min-height: 100vh;
    padding: 0;
    background: #050608 url("../images/invest/bg5.webp") center / cover no-repeat;
}
#core-data .product-section-inner {
    width: min(1440px, calc(100% - 48px));
    min-height: 100vh;
    margin: 0 auto;
    padding: clamp(72px, 15vh, 120px) 0 clamp(48px, 7vh, 64px);
}
.data-heading {
    text-align: center;
}
.data-heading h2 {
    margin: 0;
    color: #f4f4f4;
    font-size: clamp(38px, 2.85vw, 52px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.08em;
}
.data-heading p {
    margin: 14px 0 0;
    color: rgba(255,255,255,0.52);
    font-size: 17px;
    letter-spacing: 0.04em;
}
.data-primary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: clamp(48px, 7vh, 64px);
}
.data-primary-item {
    min-width: 0;
    text-align: center;
}
.data-primary-item + .data-primary-item {
    border-left: 1px solid rgba(255,255,255,0.22);
}
.data-primary-item strong {
    position: relative;
    display: block;
    padding-bottom: 18px;
    font-family: var(--font-sans);
    font-size: clamp(66px, 5.2vw, 88px);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.04em;
    color: #ff6818;
    background: linear-gradient(180deg, #ff8a2c 0%, #ff5b0b 72%, #db3e00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.data-primary-item strong::after {
    content: "";
    position: absolute;
    right: 20%;
    bottom: 0;
    left: 20%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ff6a00 35%, #fff 50%, #ff6a00 65%, transparent);
    box-shadow: 0 0 15px rgba(255,92,0,0.9);
}
.data-primary-item strong span {
    margin-left: 4px;
    font-size: 0.55em;
}
.data-primary-item strong sup {
    position: relative;
    top: -0.9em;
    display: inline-block;
    margin-left: 4px;
    font-size: 0.43em;
    line-height: 0;
    color: #ff6818;
    -webkit-text-fill-color: #ff6818;
}
.data-primary-item strong small {
    margin-left: 12px;
    font-size: 0.47em;
    letter-spacing: -0.02em;
}
.data-primary-item p {
    margin: 22px 0 0;
    color: rgba(255,255,255,0.82);
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0.08em;
}
.data-secondary-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    column-gap: 12px;
    margin-top: clamp(68px, 9vh, 84px);
}
.data-secondary-item {
    position: relative;
    min-width: 0;
    padding: 0 16px 30px;
    text-align: center;
}
.data-secondary-item + .data-secondary-item::before {
    position: absolute;
    top: 12px;
    bottom: 24px;
    left: -6px;
    width: 1px;
    content: "";
    background: rgba(255,255,255,0.18);
}
.data-secondary-item > .material-symbols-outlined {
    display: block;
    margin-bottom: 22px;
    color: #ff6818;
    font-size: 34px;
    font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 40;
}
.data-secondary-item strong {
    display: block;
    min-height: 40px;
    color: #f5f5f5;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.data-secondary-item strong small {
    margin-left: 3px;
    font-size: 0.55em;
    font-weight: 500;
}
.data-secondary-item p {
    margin: 10px 0 0;
    color: rgba(255,255,255,0.48);
    font-size: 15px;
    line-height: 1.4;
    white-space: nowrap;
}
.data-secondary-item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 24px;
    height: 2px;
    background: #ff6818;
    transform: translateX(-50%);
}

@media (max-width: 1200px) and (min-width: 769px) {
    .data-secondary-grid {
        column-gap: 4px;
    }
    .data-secondary-item {
        padding-right: 8px;
        padding-left: 8px;
    }
    .data-secondary-item strong {
        font-size: 25px;
    }
    .data-secondary-item p {
        font-size: 13px;
    }
}

/* ---- 鎶曡祫鑰呰仈绯?---- */
.invest-contact-row {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
    margin-top: 28px;
}
.invest-contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: rgba(255,255,255,0.4);
    letter-spacing: 1px;
}
.invest-contact-item svg {
    flex-shrink: 0;
    color: rgba(255,102,0,0.4);
}

/* ---- 鎶曡祫椤靛搷搴斿紡 ---- */
@media (max-width: 1100px) {
    .invest-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 56px;
    }
    .invest-summary-card:nth-last-child(-n + 3) {
        border-bottom: 1px solid rgba(71,55,43,0.16);
    }
    .invest-summary-card:nth-last-child(-n + 2) {
        border-bottom: 0;
    }
}

@media (max-width: 768px) {
    #value-summary {
        min-height: auto;
        background-position: 30% center;
    }
    #value-summary::before {
        position: absolute;
        inset: 0;
        content: "";
        background: rgba(250,247,243,0.9);
    }
    #value-summary .product-section-inner {
        position: relative;
        min-height: 0;
        padding: 86px 0 56px;
    }
    .invest-summary-heading {
        font-size: 34px;
    }
    .invest-summary-grid {
        grid-template-columns: 1fr;
        margin-top: 34px;
    }
    .invest-summary-card,
    .invest-summary-card:nth-last-child(-n + 2),
    .invest-summary-card:nth-last-child(-n + 3) {
        min-height: 124px;
        border-bottom: 1px solid rgba(71,55,43,0.16);
    }
    .invest-summary-card:last-child {
        border-bottom: 0;
    }
    .invest-summary-desc {
        font-size: 14px;
    }
    .invest-page .data-secondary-grid .data-secondary-item:nth-child(7) {
        display: none;
    }
    .key-role-cases {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    #why-jinmi > .product-section-inner {
        width: calc(100% - 32px);
    }
    .key-role-block {
        min-height: 0;
        padding: 88px 0 60px;
    }
    .key-role-heading {
        font-size: 34px;
        letter-spacing: 0.06em;
    }
    .key-role-text {
        font-size: 14px;
        letter-spacing: 0.04em;
    }
    .key-role-cases {
        margin-bottom: 36px;
    }
    .key-role-case > img {
        aspect-ratio: 820 / 482;
    }
    .key-role-case-caption {
        justify-content: flex-start;
        padding: 12px 18px;
    }
    .key-role-case-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        margin-right: 14px;
        font-size: 24px;
    }
    .key-role-case-text,
    .key-role-closing p {
        font-size: 14px;
        letter-spacing: 0.03em;
    }
    .moat-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .moat-block {
        min-height: auto;
        background-position: 31% center;
    }
    .moat-block::before {
        position: absolute;
        inset: 0;
        content: "";
        background: rgba(5,7,9,0.64);
    }
    .moat-inner {
        width: calc(100% - 32px);
        min-height: 0;
        padding: 90px 0 70px;
    }
    .moat-heading {
        font-size: 38px;
    }
    .moat-heading-wrap {
        margin-bottom: 40px;
    }
    .moat-card {
        grid-template-columns: 76px minmax(0, 1fr);
        column-gap: 18px;
        min-height: 0;
        padding: 24px 20px;
        border: 1px solid rgba(255,255,255,0.15);
    }
    .moat-card-top {
        padding-right: 16px;
    }
    .moat-card-number {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }
    .moat-card-icon {
        margin-top: 18px;
        font-size: 36px;
    }
    .moat-card-title {
        font-size: 21px;
    }
    .moat-card-desc {
        font-size: 14px;
    }
    .moat-brand {
        position: static;
        margin-top: 44px;
    }
    .plan-timeline {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 34px;
    }
    .plan-timeline::before {
        display: none;
    }
    .plan-timeline-arrow {
        display: none;
    }
    .plan-phase {
        max-width: 100%;
    }
    #development-plan .product-section-inner {
        width: calc(100% - 32px);
        padding: 70px 0 48px;
    }
    .plan-heading h2 {
        font-size: 34px;
    }
    .plan-heading p {
        font-size: 15px;
    }
    .plan-phase-text {
        min-height: 0;
        font-size: 18px;
    }
    .plan-phase img {
        height: 120px;
    }
    .plan-note {
        font-size: 14px;
    }
    #core-data .product-section-inner {
        width: min(100% - 32px, 720px);
        padding: 72px 0 56px;
    }
    .data-heading h2 {
        font-size: 36px;
    }
    .data-heading p {
        font-size: 15px;
    }
    .data-primary-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-top: 48px;
    }
    .data-primary-item + .data-primary-item {
        border-left: 0;
    }
    .data-primary-item strong {
        font-size: 64px;
    }
    .data-primary-item p {
        margin-top: 18px;
        font-size: 22px;
    }
    .data-secondary-grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 42px;
        margin-top: 64px;
    }
    .data-secondary-item:nth-child(odd)::before {
        display: none;
    }
    .data-secondary-item > .material-symbols-outlined {
        margin-bottom: 14px;
        font-size: 32px;
    }
    .data-secondary-item strong {
        min-height: 38px;
        font-size: 28px;
    }
    .data-secondary-item p {
        font-size: 14px;
    }
    .invest-contact-row {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}


/* ============================================================
 *  鍏充簬鎴戜滑椤?(about)
 * ============================================================ */

/* ---- About hero ---- */
.about-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 680px;
    overflow: hidden;
    background: #e9e9e8;
    color: #222;
}
.about-hero-bg {
    position: absolute;
    inset: 0;
    background: url("../images/about/bg1.webp") center center / cover no-repeat;
}
.about-hero-content {
    position: relative;
    z-index: 2;
    width: min(1360px, calc(100% - 128px));
    height: 100%;
    margin: 0 auto;
    padding-top: clamp(180px, 23vh, 224px);
}
.about-hero-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    color: #f6f0e8;
    font-size: clamp(56px, 5.25vw, 88px);
    font-weight: 700;
    line-height: 1.34;
    letter-spacing: 8px;
    text-shadow: 0 2px 18px rgba(0,0,0,0.24);
}
.about-hero-title span {
    display: block;
}
.about-hero-title strong {
    color: #e85e16;
    font-weight: inherit;
}
.about-hero-rule {
    display: block;
    width: 148px;
    height: 2px;
    margin: 34px 0 32px;
    background: linear-gradient(90deg, #ff6a18 0%, rgba(255,106,24,0.06) 100%);
}
.about-hero-sub {
    color: #4b4b4b;
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 2;
    letter-spacing: 2px;
}
.about-hero-metrics {
    display: flex;
    align-items: center;
    gap: 34px;
    margin-top: clamp(48px, 7vh, 72px);
}
.about-hero-metric {
    display: flex;
    align-items: center;
    gap: 16px;
}
.about-hero-metric img {
    width: 54px;
    height: 54px;
    object-fit: cover;
    mix-blend-mode: multiply;
}
.about-hero-metric-value {
    color: #111;
    font-family: var(--font-sans);
    font-size: clamp(30px, 2vw, 38px);
    line-height: 1;
    letter-spacing: 1px;
    white-space: nowrap;
}
.about-hero-metric-value sup {
    position: relative;
    top: -0.45em;
    font-size: 0.48em;
}
.about-hero-metric-value span {
    font-size: 0.78em;
}
.about-hero-metric-label {
    margin-top: 8px;
    color: #676767;
    font-size: 13px;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.about-hero-metric-divider {
    width: 1px;
    height: 60px;
    background: rgba(30,30,30,0.18);
}
.about-hero-scroll {
    position: absolute;
    z-index: 3;
    bottom: 18px;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,0.92);
    font-size: 13px;
    letter-spacing: 1px;
    text-decoration: none;
    transform: translateX(-50%);
}
.about-hero-mouse {
    position: relative;
    width: 28px;
    height: 44px;
    border: 1px solid rgba(255,255,255,0.9);
    border-radius: 14px;
}
.about-hero-mouse i {
    position: absolute;
    top: 9px;
    left: 50%;
    width: 3px;
    height: 8px;
    border-radius: 2px;
    background: #ff650d;
    transform: translateX(-50%);
    animation: about-scroll-cue 1.8s ease-in-out infinite;
}
@keyframes about-scroll-cue {
    0%, 100% { transform: translate(-50%, 0); opacity: 0.35; }
    50% { transform: translate(-50%, 10px); opacity: 1; }
}

/* ---- About belief v1 ---- */
.about-belief-v1 {
    position: relative;
    min-height: 100vh;
    padding: clamp(48px, 25.2vh, 130px) 0 clamp(38px, 5vh, 54px);
    overflow: hidden;
    color: #222;
    background:
        linear-gradient(rgba(31,36,42,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,36,42,0.055) 1px, transparent 1px),
        radial-gradient(circle at 50% 28%, rgba(255,255,255,0.96) 0, rgba(255,255,255,0.68) 44%, rgba(244,245,246,0.94) 76%),
        #f4f5f6;
    background-size: 240px 180px, 240px 180px, auto, auto;
}
.about-belief-v1::before {
    content: "";
    position: absolute;
    inset: auto -8% -7% -8%;
    height: 55%;
    background: repeating-radial-gradient(ellipse at 50% 100%, rgba(153,163,174,0.14) 0 1px, transparent 1px 13px);
    transform: perspective(680px) rotateX(62deg);
    transform-origin: bottom center;
    opacity: 0.42;
    pointer-events: none;
}
.about-belief-v1::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 11% 36%, rgba(255,255,255,0.86), transparent 10%),
        radial-gradient(circle at 88% 62%, rgba(255,255,255,0.72), transparent 12%);
    pointer-events: none;
}
.about-belief-v1-shell {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 72px));
    min-height: 650px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about-belief-v1-card {
    width: min(900px, 100%);
    padding: clamp(34px, 4.2vw, 50px) clamp(32px, 5vw, 62px) clamp(30px, 3.8vw, 42px);
    border: 1px solid rgba(255,255,255,0.8);
    border-radius: 22px;
    background: rgba(255,255,255,0.88);
    box-shadow: 0 24px 82px rgba(34,40,48,0.1), inset 0 1px 0 rgba(255,255,255,0.96);
    backdrop-filter: blur(16px);
    text-align: center;
}
.about-belief-v1-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: #353a40;
    font-size: 15px;
    letter-spacing: 0.4px;
}
.about-belief-v1-kicker svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    fill: none;
    stroke: #ff650d;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-belief-v1-card h2 {
    margin: 24px 0 18px;
    color: #25272a;
    font-size: clamp(38px, 3.65vw, 60px);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: 1px;
    text-shadow: 0 5px 14px rgba(16,18,20,0.12);
}
.about-belief-v1-card h2 strong {
    color: #ff650d;
    font-weight: inherit;
}
.about-belief-v1-desc {
    max-width: 710px;
    margin: 0 auto;
    color: #68707a;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.4px;
}
.about-belief-v1-rule {
    display: none;
}
.about-belief-v1-quote {
    position: relative;
    width: min(900px, 100%);
    min-height: 70px;
    margin: 22px 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    border: 1px solid rgba(255,255,255,0.82);
    border-radius: 15px;
    background: rgba(255,255,255,0.9);
    box-shadow: 0 18px 52px rgba(34,40,48,0.08), inset 0 1px 0 rgba(255,255,255,0.98);
    color: #ff650d;
    font-size: clamp(20px, 1.55vw, 27px);
    font-weight: 700;
    letter-spacing: 1px;
    text-align: center;
}
.about-belief-v1-quote::before,
.about-belief-v1-quote::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 340px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,101,13,0.45));
}
.about-belief-v1-quote::before {
    right: calc(100% - 12px);
}
.about-belief-v1-quote::after {
    left: calc(100% - 12px);
    transform: scaleX(-1);
}
.about-belief-v1-quote span {
    font-family: var(--font-sans);
    font-size: 34px;
    line-height: 0.8;
}
.about-belief-v1-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    width: min(900px, 100%);
}
.about-belief-v1-stat {
    position: relative;
    display: flex;
    align-items: center;
    gap: 28px;
    min-height: 124px;
    padding: 22px 32px;
    border: 1px solid rgba(255,255,255,0.8);
    border-radius: 15px;
    background: rgba(255,255,255,0.9);
    box-shadow: 0 18px 50px rgba(34,40,48,0.1), inset 0 1px 0 rgba(255,255,255,0.98);
    backdrop-filter: blur(14px);
}
.about-belief-v1-stat:not(:last-child)::after {
    content: none;
}
.about-belief-v1-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border: 1px solid rgba(255,101,13,0.16);
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0 44%, rgba(255,255,255,0.72) 45% 55%, transparent 56% 100%);
    box-shadow: 0 0 0 8px rgba(255,101,13,0.035), 0 0 0 16px rgba(255,101,13,0.025), 0 8px 22px rgba(31,36,42,0.08);
}
.about-belief-v1-stat-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: #ff650d;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-belief-v1-stat-value {
    color: #1f2226;
    font-size: clamp(28px, 2vw, 36px);
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}
.about-belief-v1-stat-value sup {
    position: relative;
    top: -0.48em;
    font-size: 0.46em;
}
.about-belief-v1-stat-value small {
    font-size: 0.72em;
    font-weight: 400;
}
.about-belief-v1-stat-label {
    margin-top: 12px;
    color: #656b72;
    font-size: 14px;
    letter-spacing: 0.2px;
    white-space: nowrap;
}
.about-belief-v1-stat-rule {
    display: block;
    width: 32px;
    height: 2px;
    margin-top: 18px;
    background: #ff650d;
}
.about-belief-v1-orbit,
.about-belief-v1-path {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}
.about-belief-v1-orbit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 128px;
    height: 128px;
    border-radius: 50%;
    border: 1px solid rgba(255,101,13,0.06);
    background: radial-gradient(circle, rgba(255,255,255,0.84) 0 34%, rgba(255,255,255,0.36) 35% 45%, transparent 46% 100%);
    box-shadow: 0 0 0 14px rgba(255,101,13,0.025), inset 0 0 0 10px rgba(255,255,255,0.7);
}
.about-belief-v1-orbit--left {
    left: max(7vw, 80px);
    top: 30%;
}
.about-belief-v1-orbit--top {
    right: max(9vw, 120px);
    top: 13%;
}
.about-belief-v1-orbit--right {
    right: max(13vw, 150px);
    top: 58%;
}
.about-belief-v1-orbit-icon svg {
    width: 52px;
    height: 52px;
    fill: none;
    stroke: #ff650d;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-belief-v1-path {
    width: 48vw;
    height: 1px;
    border-top: 1px dashed rgba(255,101,13,0.34);
}
.about-belief-v1-path::before,
.about-belief-v1-path::after {
    content: "";
    position: absolute;
    top: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff8a3a;
}
.about-belief-v1-path--left {
    left: 5%;
    top: 18%;
    transform: rotate(48deg);
    transform-origin: left center;
}
.about-belief-v1-path--left::before { left: 11%; }
.about-belief-v1-path--left::after { left: 25%; }
.about-belief-v1-path--right {
    right: -5%;
    top: 42%;
    transform: rotate(-17deg);
    transform-origin: right center;
}
.about-belief-v1-path--right::before { right: 18%; }
.about-belief-v1-path--right::after { right: 38%; }

/* ---- About results ---- */
.about-results {
    position: relative;
    min-height: 100vh;
    padding: clamp(36px, 8vh, 70px) 0 clamp(40px, 5.5vh, 54px);
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 50%, rgba(255,255,255,0.96) 0, rgba(255,255,255,0) 28%),
        #f4f5f6;
    color: #222;
}
.about-results::before {
    content: "";
    position: absolute;
    top: 13%;
    left: -105px;
    width: 230px;
    height: 70%;
    border: 1px solid rgba(255,101,13,0.16);
    border-radius: 50%;
    pointer-events: none;
}
.about-results-shell {
    position: relative;
    z-index: 2;
    width: min(1450px, calc(100% - 96px));
    margin: 0 auto;
}
.about-results-header {
    margin: 0 0 22px 4px;
}
.about-results-header h2 {
    display: flex;
    align-items: center;
    gap: 3px;
    margin: 0;
    color: #202224;
    font-size: clamp(38px, 3.5vw, 58px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 2px;
}
.about-results-header h2 span {
    color: #f05c13;
}
.about-results-header h2 svg {
    width: 24px;
    height: 24px;
    margin-left: 18px;
    fill: #ff650d;
}
.about-results-header p {
    margin-top: 12px;
    color: #45494d;
    font-size: 16px;
    letter-spacing: 1px;
}
.about-results-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
    gap: 30px;
}
.about-results-main,
.about-results-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(28,32,35,0.06);
    background: #fff;
    box-shadow: 0 18px 40px rgba(30,35,40,0.1);
}
.about-results-main {
    min-height: 520px;
    border-radius: 18px;
}
.about-results-main > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-results-main-copy {
    position: absolute;
    z-index: 2;
    top: 62px;
    left: 30px;
}
.about-results-number {
    color: #f05c13;
    font-family: var(--font-sans);
    font-size: clamp(40px, 2.6vw, 70px);
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -5px;
}
.about-results-number span {
    margin-left: 8px;
    font-size: 0.55em;
}
.about-results-main-copy h3 {
    margin: 18px 0 12px;
    color: #17191b;
    font-size: clamp(22px, 1.7vw, 30px);
    font-weight: 700;
    letter-spacing: 1px;
}
.about-results-main-copy > p:last-child {
    color: #55595d;
    font-size: 14px;
    letter-spacing: 0.5px;
}
.about-results-main-stats {
    position: absolute;
    z-index: 3;
    right: 32px;
    bottom: 18px;
    left: 32px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 16px;
    border-top: 1px solid rgba(33,36,39,0.1);
}
.about-results-main-stat {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 18px;
}
.about-results-main-stat:first-child {
    padding-left: 0;
}
.about-results-main-stat:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 8%;
    right: 0;
    width: 1px;
    height: 84%;
    background: rgba(36,40,44,0.12);
}
.about-results-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border: 1px solid rgba(255,101,13,0.45);
    border-radius: 14px;
    color: #ff650d;
}
.about-results-icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-results-main-stat strong {
    display: block;
    color: #181a1c;
    font-size: clamp(20px, 1.5vw, 22px);
    line-height: 1;
    white-space: nowrap;
}
.about-results-main-stat strong sup {
    position: relative;
    top: -0.4em;
    font-size: 0.5em;
}
.about-results-main-stat small {
    display: block;
    margin-top: 8px;
    color: #62666a;
    font-size: 11px;
    white-space: nowrap;
}
.about-results-list {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.about-results-card {
    min-height: 160px;
    border-radius: 16px;
}
.about-results-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-results-card-copy {
    position: relative;
    z-index: 2;
    width: 57%;
    height: 100%;
    padding: 18px 22px 16px 26px;
}
.about-results-index {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border: 1px solid rgba(255,101,13,0.55);
    border-radius: 999px;
    color: #ff650d;
    font-size: 12px;
    line-height: 1;
}
.about-results-index svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
}
.about-results-card h3 {
    margin: 12px 0 8px;
    color: #17191b;
    font-size: clamp(18px, 1.45vw, 25px);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.4px;
}
.about-results-card h3 strong {
    color: #f05c13;
    font-weight: inherit;
}
.about-results-card h3 sup {
    position: relative;
    top: -0.35em;
    font-size: 0.55em;
}
.about-results-card p {
    color: #55595d;
    font-size: 13px;
    line-height: 1.55;
    letter-spacing: 0.3px;
}

/* ---- 鎴愭灉閫熻锛? 鍗★紝2脳2锛?---- */
.achievement-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 860px;
    margin: 0 auto;
}
.achievement-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 28px 24px;
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}
.achievement-card:hover {
    border-color: rgba(255,102,0,0.2);
    background: rgba(255,255,255,0.04);
    transform: translateY(-4px);
}
.achievement-icon {
    flex-shrink: 0;
    width: 52px; height: 52px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
}
.achievement-highlight {
    font-size: 16px;
    font-weight: 600;
    color: #f5f5f7;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.achievement-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.5px;
    line-height: 1.7;
}

/* ---- About news ---- */
.about-news {
    position: relative;
    min-height: 100vh;
    padding: clamp(58px, 8vh, 84px) 0 clamp(54px, 7vh, 76px);
    overflow: hidden;
    background:
        radial-gradient(circle at 9% 48%, rgba(255,255,255,0.98) 0, rgba(255,255,255,0) 30%),
        #f4f5f6;
    color: #222;
}
.about-news::before,
.about-news::after {
    content: "";
    position: absolute;
    left: -170px;
    top: 13%;
    width: 270px;
    height: 74%;
    border: 1px solid rgba(46,50,54,0.14);
    border-radius: 50%;
    pointer-events: none;
}
.about-news::after {
    left: -145px;
    border-color: rgba(255,101,13,0.2);
}
.about-news-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(230px, 270px) minmax(0, 1fr);
    gap: clamp(54px, 7vw, 112px);
    width: min(1420px, calc(100% - 96px));
    margin: 0 auto;
}
.about-news-intro {
    padding-top: 38px;
}
.about-news-intro h2 {
    margin: 0;
    color: #1d1f21;
    font-size: clamp(42px, 3.7vw, 62px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 2px;
    white-space: nowrap;
}
.about-news-intro h2 span {
    color: #f05c13;
}
.about-news-rule,
.about-news-card-rule {
    display: block;
    width: 40px;
    height: 2px;
    background: #ff650d;
}
.about-news-rule {
    margin: 42px 0 34px;
}
.about-news-intro p {
    color: #606468;
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.6px;
}
.about-news-content {
    min-width: 0;
}
.about-news-featured,
.about-news-row {
    overflow: hidden;
    border: 1px solid rgba(30,34,38,0.08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(31,36,40,0.09);
}
.about-news-featured {
    display: grid;
    grid-template-columns: 1.02fr 1fr;
    min-height: 336px;
}
.about-news-featured-image {
    min-width: 0;
    overflow: hidden;
}
.about-news-featured-image img,
.about-news-row > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.about-news-featured-copy {
    padding: 30px 38px 26px;
}
.about-news-meta {
    display: flex;
    align-items: center;
    gap: 22px;
}
.about-news-meta time {
    color: #45494d;
    font-family: var(--font-sans);
    font-size: 13px;
    letter-spacing: 1px;
}
.about-news-meta span {
    padding: 4px 14px;
    border: 1px solid rgba(255,101,13,0.65);
    border-radius: 999px;
    color: #ff650d;
    font-size: 12px;
    line-height: 1;
}
.about-news-featured h3 {
    margin: 22px 0 18px;
    color: #1b1d1f;
    font-size: clamp(22px, 1.75vw, 30px);
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.5px;
}
.about-news-card-rule {
    margin-bottom: 16px;
}
.about-news-featured-copy > p {
    color: #5d6165;
    font-size: 13px;
    line-height: 1.85;
    letter-spacing: 0.3px;
}
.about-news-featured a,
.about-news-more {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #1b1d1f;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
.about-news-featured a {
    margin-top: 26px;
}
.about-news-featured a svg,
.about-news-more svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #ff650d;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-news-list {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}
.about-news-row {
    position: relative;
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr) auto;
    align-items: center;
    min-height: 132px;
}
.about-news-row > img {
    align-self: stretch;
}
.about-news-row-copy {
    min-width: 0;
    padding: 16px 24px;
}
.about-news-row-copy .about-news-meta {
    gap: 18px;
}
.about-news-row h3 {
    margin: 12px 0 8px;
    color: #1c1e20;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.2px;
}
.about-news-row p {
    color: #686c70;
    font-size: 12px;
    line-height: 1.55;
}
.about-news-more {
    margin-right: 26px;
    white-space: nowrap;
}

/* ---- 鏂伴椈鍔ㄦ€?---- */
.news-list {
    display: flex;
    flex-direction: column;
    max-width: 760px;
    margin: 0 auto;
}
.news-item {
    display: flex;
    align-items: baseline;
    gap: 20px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.news-item:first-child {
    border-top: 1px solid rgba(255,255,255,0.04);
}
.news-date {
    flex-shrink: 0;
    width: 100px;
    font-size: 13px;
    color: rgba(255,255,255,0.25);
    letter-spacing: 1px;
    font-variant-numeric: tabular-nums;
    font-family: var(--font-sans);
}
.news-tag {
    flex-shrink: 0;
    display: inline-block;
    padding: 3px 12px;
    font-size: 11px;
    font-weight: 500;
    color: #FF6600;
    border: 1px solid rgba(255,102,0,0.2);
    border-radius: 12px;
    letter-spacing: 1px;
}
.news-title {
    font-size: 14px;
    color: rgba(255,255,255,0.45);
    letter-spacing: 0.5px;
    line-height: 1.6;
    margin: 0;
}

/* ---- 鑱旂郴鎴戜滑 ---- */
.about-contact {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background: #eef1f4;
    color: #222;
}
.about-contact-bg {
    position: absolute;
    inset: 0;
    background: url("../images/about/bg4.webp") center center / cover no-repeat;
}
.about-contact-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1.35fr);
    align-items: center;
    gap: clamp(58px, 7vw, 112px);
    width: min(1420px, calc(100% - 96px));
    min-height: calc(100vh - 108px);
    margin: 0 auto;
    padding: 64px 0 44px;
}
.about-contact-intro h2 {
    margin: 0;
    color: #333639;
    font-size: clamp(54px, 5vw, 82px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 3px;
    white-space: nowrap;
}
.about-contact-intro h2 span {
    color: #f05c13;
}
.about-contact-intro > i {
    display: block;
    width: 62px;
    height: 3px;
    margin: 48px 0 36px;
    background: #ff650d;
}
.about-contact-intro p {
    color: #4e5256;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 1px;
}
.about-contact-cards {
    min-width: 0;
}
.about-contact-primary,
.about-contact-card {
    border: 1px solid rgba(255,255,255,0.82);
    background: rgba(255,255,255,0.9);
    box-shadow: 0 18px 48px rgba(41,47,52,0.11);
    backdrop-filter: blur(12px);
}
.about-contact-primary {
    display: flex;
    align-items: center;
    min-height: 188px;
    padding: 30px 48px;
    border-radius: 20px;
}
.about-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    flex-shrink: 0;
    border: 1px solid rgba(31,35,39,0.06);
    border-radius: 50%;
    background: rgba(250,250,250,0.86);
    color: #ff650d;
}
.about-contact-icon--large {
    width: 92px;
    height: 92px;
}
.about-contact-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-contact-icon--large svg {
    width: 48px;
    height: 48px;
}
.about-contact-primary-copy {
    margin-left: 36px;
}
.about-contact-primary h3,
.about-contact-card h3 {
    margin: 0;
    color: #222426;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.5px;
}
.about-contact-primary-copy p,
.about-contact-card-head p {
    margin-top: 10px;
    color: #565a5e;
    font-size: 14px;
}
.about-contact-divider {
    width: 1px;
    height: 82px;
    margin: 0 clamp(38px, 4vw, 66px);
    background: rgba(37,41,45,0.14);
}
.about-contact-phone {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    color: #f05c13;
    font-family: var(--font-sans);
    font-size: clamp(22px, 1.8vw, 30px);
    letter-spacing: 1px;
    text-decoration: none;
    white-space: nowrap;
}
.about-contact-phone svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-contact-secondary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}
.about-contact-card {
    min-height: 205px;
    padding: 28px 24px 24px;
    border-radius: 18px;
}
.about-contact-card-head {
    display: flex;
    align-items: center;
    gap: 18px;
}
.about-contact-card h3 {
    font-size: 17px;
    font-weight: 600;
}
.about-contact-card .about-contact-phone {
    margin-top: 44px;
    font-size: 21px;
}
.about-contact-card .about-contact-phone svg {
    width: 25px;
    height: 25px;
}
.about-contact-meta {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(64px, 8vw, 130px);
    min-height: 108px;
    border-top: 1px solid rgba(37,41,45,0.08);
    background: rgba(247,248,250,0.82);
    backdrop-filter: blur(10px);
}
.about-contact-meta > div {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #3f4347;
    font-size: 15px;
    letter-spacing: 0.5px;
}
.about-contact-meta svg {
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 1px solid rgba(36,40,44,0.08);
    border-radius: 50%;
    fill: none;
    stroke: #ff650d;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-contact-meta > i {
    width: 1px;
    height: 42px;
    background: rgba(37,41,45,0.17);
}

.about-request {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background: #F6F7F9;
    color: #222;
}
.about-request-shell {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(560px, 0.9fr);
    align-items: center;
    gap: clamp(54px, 6vw, 96px);
    width: min(1420px, calc(100% - 96px));
    min-height: 100vh;
    margin: 0 auto;
    padding: 54px 0;
}
.about-request-intro {
    position: relative;
    z-index: 2;
    align-self: start;
    padding-top: clamp(64px, 10vh, 105px);
}
.about-request-intro-rule {
    display: block;
    width: 52px;
    height: 4px;
    margin-bottom: 34px;
    border-radius: 4px;
    background: #ff650d;
}
.about-request-intro h2 {
    margin: 0;
    color: #282a2d;
    font-size: clamp(44px, 4vw, 66px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 2px;
}
.about-request-intro h2 strong {
    color: #f05c13;
    font-weight: inherit;
}
.about-request-intro p {
    margin-top: 30px;
    color: #5d6165;
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.5px;
}
.about-request-visual {
    position: absolute;
    z-index: 1;
    left: clamp(-52px, -3vw, -18px);
    bottom: clamp(10px, 2.5vh, 28px);
    width: min(670px, 51%);
    height: auto;
    display: block;
    object-fit: contain;
    border-radius: 28px;
    mix-blend-mode: multiply;
    -webkit-mask-image: radial-gradient(ellipse 94% 90% at center, #000 76%, transparent 100%);
    mask-image: radial-gradient(ellipse 94% 90% at center, #000 76%, transparent 100%);
}
.about-request-form {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 48px 58px 44px;
    border: 1px solid rgba(255,255,255,0.86);
    border-radius: 30px;
    background: rgba(255,255,255,0.94);
    box-shadow: 0 28px 70px rgba(38,43,48,0.13);
    backdrop-filter: blur(12px);
}
.about-request-field {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    margin-bottom: 22px;
}
.about-request-field label {
    color: #222426;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}
.about-request-field label em {
    margin-left: 4px;
    color: #ff650d;
    font-style: normal;
}
.about-request-control {
    position: relative;
}
.about-request-control input,
.about-request-control select,
.about-request-control textarea {
    width: 100%;
    border: 1px solid #dfe1e4;
    border-radius: 7px;
    outline: none;
    background: #fff;
    color: #242629;
    font: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.about-request-control input,
.about-request-control select {
    height: 48px;
    padding: 0 18px;
}
.about-request-control textarea {
    min-height: 142px;
    padding: 16px 18px;
    resize: vertical;
    line-height: 1.65;
}
.about-request-control select {
    appearance: none;
    padding-right: 48px;
    cursor: pointer;
}
.about-request-control select option {
    background: #fff;
    color: #111;
}
.about-request-select > svg {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #767a7e;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
    transform: translateY(-50%);
}
.about-request-control input::placeholder,
.about-request-control textarea::placeholder,
.about-request-control select:invalid {
    color: #b7babf;
}
.about-request-control input:focus,
.about-request-control select:focus,
.about-request-control textarea:focus {
    border-color: #ff650d;
    box-shadow: 0 0 0 3px rgba(255,101,13,0.1);
}
.about-request-control.is-invalid input,
.about-request-control.is-invalid select,
.about-request-control.is-invalid textarea {
    border-color: #d93025;
    box-shadow: 0 0 0 3px rgba(217,48,37,0.08);
}
.about-request-field--textarea {
    align-items: start;
}
.about-request-field--textarea label {
    padding-top: 15px;
}
.about-request-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 42px;
    width: 100%;
    height: 66px;
    margin-top: 34px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(90deg, #ff650d 0%, #ff5a00 100%);
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}
.about-request-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(255,101,13,0.22);
}
.about-request-submit svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-request-privacy {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    color: #969a9f;
    font-size: 12px;
    line-height: 1.5;
}
.about-request-privacy svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-request-status {
    min-height: 20px;
    margin-top: 12px;
    font-size: 13px;
}
.about-request-status.is-error {
    color: #d93025;
}
.about-request-status.is-success {
    color: #16833c;
}

.contact-blocks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    max-width: 860px;
    margin: 0 auto 40px;
}
.contact-block {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 20px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    transition: border-color 0.3s;
}
.contact-block:hover {
    border-color: rgba(255,102,0,0.2);
}
.contact-block-icon {
    flex-shrink: 0;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: rgba(255,102,0,0.08);
    color: #FF6600;
}
.contact-block-title {
    font-size: 14px;
    font-weight: 600;
    color: #e5e5e5;
    letter-spacing: 1px;
    margin-bottom: 2px;
}
.contact-block-desc {
    font-size: 12px;
    color: rgba(255,255,255,0.3);
    letter-spacing: 0.5px;
}
.contact-block-phone {
    flex-shrink: 0;
    margin-left: auto;
    font-size: 13px;
    color: #FF6600;
    font-weight: 500;
    letter-spacing: 1px;
}
.contact-meta {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}
.contact-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: rgba(255,255,255,0.35);
    letter-spacing: 1px;
}
.contact-meta-item svg {
    flex-shrink: 0;
    color: rgba(255,102,0,0.4);
}

/* ---- 鍏充簬椤靛搷搴斿紡 ---- */
@media (max-width: 768px) {
    .about-hero {
        min-height: 660px;
        height: 100svh;
    }
    .about-hero-bg {
        background-position: 78% center;
    }
    .about-hero-bg::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.42) 52%, rgba(0,0,0,0.1) 100%);
    }
    .about-hero-content {
        width: 100%;
        padding: 140px 24px 100px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .about-hero-title {
        align-items: center;
        font-size: clamp(44px, 14vw, 62px);
        line-height: 1.25;
        letter-spacing: 4px;
    }
    .about-hero-rule {
        width: 112px;
        margin: 26px 0 24px;
    }
    .about-hero-sub {
        font-size: 14px;
        line-height: 1.9;
        letter-spacing: 1px;
    }
    .about-hero-metrics {
        align-items: flex-start;
        gap: 18px;
        margin-top: 44px;
    }
    .about-hero-metric {
        gap: 9px;
    }
    .about-hero-metric img {
        width: 40px;
        height: 40px;
    }
    .about-hero-metric-value {
        font-size: 26px;
    }
    .about-hero-metric-label {
        max-width: 90px;
        margin-top: 6px;
        font-size: 11px;
        line-height: 1.5;
        white-space: normal;
    }
    .about-hero-metric-divider {
        height: 52px;
    }
    .about-hero-scroll {
        color: rgba(255,255,255,0.76);
    }
    .about-hero-mouse {
        border-color: rgba(255,255,255,0.66);
    }
    .about-belief-v1 {
        min-height: auto;
        padding: 58px 0 56px;
        background-size: 132px 112px, 132px 112px, auto, auto;
    }
    .about-belief-v1::before {
        height: 34%;
        opacity: 0.24;
    }
    .about-belief-v1-shell {
        width: calc(100% - 32px);
        min-height: 0;
    }
    .about-belief-v1-card {
        width: 100%;
        padding: 34px 22px 32px;
        border-radius: 18px;
    }
    .about-belief-v1-kicker {
        gap: 9px;
        font-size: 13px;
        line-height: 1.5;
    }
    .about-belief-v1-kicker svg {
        width: 24px;
        height: 24px;
    }
    .about-belief-v1-card h2 {
        margin: 24px 0 18px;
        font-size: clamp(34px, 10.2vw, 48px);
        line-height: 1.22;
        letter-spacing: 0;
    }
    .about-belief-v1-desc {
        font-size: 13px;
        line-height: 1.85;
        text-align: left;
    }
    .about-belief-v1-desc br {
        display: none;
    }
    .about-belief-v1-quote {
        width: 100%;
        min-height: 72px;
        margin: 22px 0 20px;
        gap: 12px;
        padding: 0 18px;
        border-radius: 14px;
        font-size: 18px;
        line-height: 1.5;
    }
    .about-belief-v1-quote::before,
    .about-belief-v1-quote::after {
        display: none;
    }
    .about-belief-v1-quote span {
        font-size: 28px;
    }
    .about-belief-v1-stats {
        grid-template-columns: 1fr;
        gap: 14px;
        width: 100%;
    }
    .about-belief-v1-stat {
        gap: 22px;
        min-height: 116px;
        padding: 22px 24px;
        border-radius: 16px;
    }
    .about-belief-v1-stat-icon {
        width: 70px;
        height: 70px;
        box-shadow: 0 0 0 8px rgba(255,101,13,0.035), 0 0 0 16px rgba(255,101,13,0.02), 0 8px 18px rgba(31,36,42,0.07);
    }
    .about-belief-v1-stat-icon svg {
        width: 38px;
        height: 38px;
    }
    .about-belief-v1-stat-value {
        font-size: 32px;
    }
    .about-belief-v1-stat-label {
        margin-top: 8px;
        font-size: 13px;
    }
    .about-belief-v1-stat-rule {
        margin-top: 12px;
    }
    .about-belief-v1-orbit,
    .about-belief-v1-path {
        display: none;
    }
    .about-results {
        min-height: auto;
        padding: 54px 0 64px;
    }
    .about-results-shell {
        width: calc(100% - 32px);
    }
    .about-results-header {
        margin: 0 0 28px;
    }
    .about-results-header h2 {
        font-size: 42px;
    }
    .about-results-header p {
        margin-top: 12px;
        font-size: 14px;
    }
    .about-results-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .about-results-main {
        min-height: 610px;
    }
    .about-results-main > img {
        object-position: 59% center;
    }
    .about-results-main-copy {
        top: 42px;
        left: 24px;
    }
    .about-results-number {
        font-size: 82px;
    }
    .about-results-main-stats {
        right: 20px;
        bottom: 16px;
        left: 20px;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 12px 16px;
        border-top: 0;
        border-radius: 16px;
        background: rgba(255,255,255,0.9);
        backdrop-filter: blur(10px);
    }
    .about-results-main-stat,
    .about-results-main-stat:first-child {
        gap: 14px;
        padding: 12px 0;
    }
    .about-results-main-stat:not(:last-child)::after {
        top: auto;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
    }
    .about-results-icon {
        width: 42px;
        height: 42px;
    }
    .about-results-icon svg {
        width: 28px;
        height: 28px;
    }
    .about-results-main-stat strong {
        font-size: 23px;
    }
    .about-results-main-stat small {
        margin-top: 5px;
    }
    .about-results-list {
        grid-template-rows: none;
        gap: 14px;
    }
    .about-results-card {
        min-height: 260px;
    }
    .about-results-card > img {
        object-position: 58% center;
    }
    .about-results-card-copy {
        width: 70%;
        padding: 22px 18px 20px 22px;
    }
    .about-results-card h3 {
        margin: 15px 0 10px;
        font-size: 20px;
    }
    .about-results-card p {
        font-size: 12px;
    }
    .about-results-card p br {
        display: none;
    }
    .about-news {
        min-height: auto;
        padding: 54px 0 64px;
    }
    .about-news::before,
    .about-news::after {
        display: none;
    }
    .about-news-shell {
        grid-template-columns: 1fr;
        gap: 30px;
        width: calc(100% - 32px);
    }
    .about-news-intro {
        padding-top: 0;
    }
    .about-news-intro h2 {
        font-size: 42px;
    }
    .about-news-rule {
        margin: 22px 0 18px;
    }
    .about-news-intro p br {
        display: none;
    }
    .about-news-featured {
        grid-template-columns: 1fr;
    }
    .about-news-featured-image {
        height: 240px;
    }
    .about-news-featured-copy {
        padding: 24px 22px 26px;
    }
    .about-news-featured h3 {
        font-size: 22px;
    }
    .about-news-featured h3 br,
    .about-news-featured-copy > p br {
        display: none;
    }
    .about-news-row {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .about-news-row > img {
        height: 180px;
    }
    .about-news-row-copy {
        padding: 20px 20px 10px;
    }
    .about-news-row h3 {
        font-size: 17px;
    }
    .about-news-more {
        margin: 8px 20px 20px;
    }
    .about-request {
        min-height: auto;
    }
    .about-request-shell {
        grid-template-columns: 1fr;
        gap: 24px;
        width: calc(100% - 32px);
        min-height: 0;
        padding: 58px 0 64px;
    }
    .about-request-intro {
        padding-top: 0;
    }
    .about-request-intro-rule {
        width: 40px;
        height: 3px;
        margin-bottom: 24px;
    }
    .about-request-intro h2 {
        font-size: clamp(38px, 11vw, 50px);
    }
    .about-request-intro p {
        margin-top: 20px;
        font-size: 14px;
    }
    .about-request-intro p br {
        display: none;
    }
    .about-request-visual {
        position: relative;
        left: auto;
        bottom: auto;
        width: calc(100% + 32px);
        max-width: none;
        margin: -8px -16px 0;
        mix-blend-mode: normal;
    }
    .about-request-form {
        padding: 28px 20px 24px;
        border-radius: 22px;
    }
    .about-request-field {
        grid-template-columns: 1fr;
        gap: 9px;
        margin-bottom: 18px;
    }
    .about-request-field label {
        font-size: 14px;
    }
    .about-request-field--textarea label {
        padding-top: 0;
    }
    .about-request-control input,
    .about-request-control select {
        height: 46px;
    }
    .about-request-control textarea {
        min-height: 120px;
    }
    .about-request-submit {
        height: 56px;
        margin-top: 24px;
        font-size: 17px;
    }
    .about-contact {
        min-height: 100svh;
        padding-bottom: 0;
    }
    .about-contact-bg {
        background-position: 68% center;
        opacity: 0.5;
    }
    .about-contact-shell {
        grid-template-columns: 1fr;
        gap: 34px;
        width: calc(100% - 32px);
        min-height: auto;
        padding: 60px 0 38px;
    }
    .about-contact-intro h2 {
        font-size: 48px;
    }
    .about-contact-intro > i {
        margin: 24px 0 20px;
    }
    .about-contact-intro p {
        font-size: 14px;
        line-height: 1.8;
    }
    .about-contact-primary {
        flex-wrap: wrap;
        min-height: 0;
        padding: 24px 20px;
    }
    .about-contact-icon--large {
        width: 68px;
        height: 68px;
    }
    .about-contact-primary-copy {
        width: calc(100% - 88px);
        margin-left: 20px;
    }
    .about-contact-primary h3 {
        font-size: 19px;
    }
    .about-contact-divider {
        width: 100%;
        height: 1px;
        margin: 22px 0;
    }
    .about-contact-phone {
        font-size: 24px;
    }
    .about-contact-secondary {
        grid-template-columns: 1fr;
    }
    .about-contact-card {
        min-height: 0;
        padding: 22px 20px;
    }
    .about-contact-card .about-contact-phone {
        margin-top: 24px;
    }
    .about-contact-meta {
        position: relative;
        flex-direction: column;
        gap: 18px;
        min-height: 0;
        padding: 26px 20px;
    }
    .about-contact-meta > i {
        width: 100%;
        height: 1px;
    }
    .about-contact-meta > div {
        width: 100%;
        font-size: 13px;
    }
    .achievement-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        max-width: 440px;
    }
    .news-item {
        flex-wrap: wrap;
        gap: 10px;
    }
    .news-date {
        width: auto;
    }
    .contact-blocks {
        grid-template-columns: 1fr;
        max-width: 440px;
    }
    .contact-block {
        flex-wrap: wrap;
    }
    .contact-block-phone {
        margin-left: 0;
        width: 100%;
        text-align: right;
    }
    .contact-meta {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }
}

/* ============================================================
 *  璁惧 Section 鈥斺€?閬僵 + 杞挱锛堜袱闃舵锛夛紝i2- 鍓嶇紑
 * ============================================================ */
.i2-equipment-section {
    position: relative;
}

/* ---- 閬僵灞傦紙闃舵1锛?---- */
.i2-equipment-mask {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 10;
    background: rgba(5, 5, 5, 0.94);
    display: flex; align-items: center; justify-content: center;
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: auto;
}
.i2-equipment-mask.hidden {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
                visibility 0s 0.8s;
    visibility: hidden;
}

/* ---- 閬僵鏂囧瓧 ---- */
.i2-mask-text {
    font-size: clamp(64px, 10vw, 140px);
    font-weight: 900;
    letter-spacing: 12px;
    text-align: center;
    user-select: none;
    color: #f5f5f7;
    transition: transform 0.3s ease-out;
}

/* ---- 杞挱瀹瑰櫒锛堥樁娈?锛屽垵濮嬮殣钘忥級 ---- */
.i2-equipment-scene {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.6s 0.3s;
}
.i2-equipment-scene.visible {
    opacity: 1;
}

/* ---- 杞挱杞ㄩ亾 ---- */
.i2-equipment-visual {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    background: center center / cover no-repeat;
    opacity: 1;
}
.i2-equipment-visual::after {
    content: '';
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 0;
}

/* ---- 骞荤伅鐗囧唴瀹?---- */
.i2-equipment-content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 145px 24px;
}
.i2-equipment-title {
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 800;
    color: #f26316;
    letter-spacing: 0.12em;
    margin: 0;
    background: linear-gradient(110deg, #d84a0b 0%, #ff6a00 30%, #ffad5a 50%, #f45d0b 72%, #d84a0b 100%);
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: i2-equipment-title-flow 4.8s ease-in-out infinite;
    filter: drop-shadow(0 2px 10px rgba(255,106,0,0.18));
}
@keyframes i2-equipment-title-flow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.i2-equipment-metrics {
    display: flex;
    align-items: stretch;
    gap: clamp(28px, 4vw, 56px);
    margin-top: 24px;
}
.i2-equipment-metric {
    min-width: clamp(130px, 12vw, 190px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.i2-equipment-metric + .i2-equipment-metric {
    padding-left: clamp(28px, 4vw, 56px);
    border-left: 1px solid rgba(30,34,38,0.16);
}
.i2-equipment-metric strong {
    color: #f26316;
    font-size: clamp(21px, 2.3vw, 34px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 0 rgba(255,255,255,0.9);
}
.i2-equipment-metric span {
    color: rgba(23,25,28,0.58);
    font-size: clamp(11px, 0.9vw, 13px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.12em;
}
@media (prefers-reduced-motion: reduce) {
    .i2-equipment-title { animation: none; }
}

/* ---- 杞挱鎺у埗鎸夐挳 ---- */

/* ---- 璁惧 Section 鍝嶅簲寮?---- */
@media (max-width: 768px) {
    .i2-mask-text {
        font-size: clamp(42px, 14vw, 72px);
        letter-spacing: 6px;
    }
    .i2-equipment-title {
        font-size: clamp(22px, 5vw, 28px);
        letter-spacing: 3px;
    }
    .i2-equipment-visual::after {
        background: rgba(255,255,255,0.08);
    }
}

/* ============================================================
 *  缁忛獙 Section 鈥斺€?bg-3.png 鍏夌嚎婊戣繃鏁堟灉
 * ============================================================ */
.i2-experience-section .section-bg {
    overflow: hidden;
}
.i2-experience-bg::after {
    content: '';
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(105deg,
        transparent 35%,
        rgba(255,255,255,0.03) 43%,
        rgba(255,255,255,0.07) 45%,
        rgba(255,255,255,0.03) 47%,
        transparent 55%);
    background-size: 200% 100%;
    background-position: 200% center;
    /*
     * [璋冨厜绾垮搴 鏀归€忔槑鈫掔櫧鈫掗€忔槑鐨勭櫨鍒嗘瘮鍖洪棿
     * [璋冨厜绾夸寒搴 鏀?rgba 鏈€鍚庝竴涓€?     * [璋冨姩鐢绘€绘椂闀縘 鏀?8s 鈫?涓€杞壂鍏?鍋滈】鐨勬€绘椂闂?     *
     *   linear 妯″紡涓嬶紝娴忚鍣ㄥ寑閫熻繛鎺ョ浉閭诲叧閿抚锛?     *     0%鈫?%:  浣嶇Щ 200%鈫?0%  (160% 浣嶇Щ / 8% 鏃堕棿 = 鏋佸揩)
     *     8%鈫?8%: 浣嶇Щ 40%鈫?40%  (80% 浣嶇Щ / 10% 鏃堕棿 = 鎱?
     *     18%鈫?6%:浣嶇Щ -40%鈫?200% (160% 浣嶇Щ / 8% 鏃堕棿 = 鏋佸揩)
     *     26%鈫?00%:闈欐 -200%      (0 浣嶇Щ / 74% 鏃堕棿 鈮?6s 鍋滈】)
     *   [璋冨揩鎱㈡瘮渚媇 鏀瑰悇娈?% 鍜屽搴旂殑 position 鍊?     */
    pointer-events: none;
}
.i2-experience-section.sweep-once .i2-experience-bg::after {
    animation: i2-light-sweep 2.2s ease-out 1 both;
}
@keyframes i2-light-sweep {
    0% { background-position: 200% center; }
    100% { background-position: -200% center; }
}

/* ============================================================
 *  棣栭〉 Footer 鈥斺€?bg-footer1.png
 *  Row 1: 鍏徃鍚嶇О + 瀵艰埅鍒? *  Row 2: 鐗堟潈(宸? + 绀惧獟(鍙?
 * ============================================================ */
.i2-footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: clamp(60px, 10vh, 100px) clamp(24px, 5vw, 80px) 40px;
    height: 100%;
}
.i2-footer-left {
    flex: 0 0 auto;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 24px;
}
.i2-footer-brand {
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    color: #f5f5f7;
    letter-spacing: 6px;
    margin-bottom: 20px;
}
.i2-footer-slogan {
    font-size: 14px;
    color: rgba(255,255,255,0.38);
    line-height: 1.9;
    letter-spacing: 1px;
}
.i2-footer-right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    min-width: 280px;
}
/* 瀵艰埅鍒楀鍣?鈥斺€?鍦?footer 鍐呭彇娑堝簳閮?margin */
.i2-footer-right .footer-columns {
    margin-bottom: 0;
    width: auto;
    max-width: none;
}
.i2-footer-bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 24px;
    margin-top: 40px;
}
.i2-footer-copyright {
    font-size: 12px;
    color: rgba(255,255,255,0.25);
    letter-spacing: 1px;
}

/* 绉诲姩绔?Footer */
@media (max-width: 768px) {
    .i2-footer-inner {
        flex-direction: column;
        padding: clamp(40px, 8vh, 60px) 24px 24px;
    }
    .i2-footer-left {
        max-width: 100%;
        padding-right: 0;
        text-align: center;
        margin-bottom: 32px;
    }
    .i2-footer-right {
        justify-content: center;
        min-width: 0;
        margin-bottom: 28px;
    }
    .i2-footer-right .footer-columns {
        justify-content: center;
    }
    .i2-footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
}
    .modules-compare-track > .module-card {
        flex: 0 0 72%;
        min-width: 0;
    }

/* ============================================================
 *  方案列表页（planlist.html）- 行业总览卡片页
 * ============================================================ */
.planlist-page {
    --planlist-container-width: min(1200px, calc(100% - 48px));
    /* 首屏大图背景路径在这里填写，独立于 planlist.html 里的右侧小卡片图片 */
    --planlist-hero-banner-image: url("../images/planlist/bg.webp");
    background: #050505;
    color: #f5f5f7;
}

.planlist-hero {
    position: relative;
    min-height: clamp(560px, 72vh, 720px);
    padding: 136px 0 88px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(5,5,5,0.22) 0%, rgba(5,5,5,0.1) 46%, rgba(5,5,5,0.34) 100%),
        radial-gradient(circle at 50% 44%, rgba(255,102,0,0.12), transparent 30%),
        var(--planlist-hero-banner-image) center / cover no-repeat;
}

.planlist-hero-bg {
    position: absolute;
    inset: 0;
    display: none;
}

.planlist-hero-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.34;
    pointer-events: none;
}

.planlist-hero-glow--left {
    display: none;
    left: -140px;
    bottom: -80px;
    background: #ff6600;
}

.planlist-hero-glow--right {
    display: none;
    right: -120px;
    top: 90px;
    background: #ffffff;
    opacity: 0.12;
}

.planlist-hero-inner,
.planlist-section-inner {
    position: relative;
    z-index: 2;
    width: var(--planlist-container-width);
    margin: 0 auto;
}

.planlist-hero-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(clamp(560px, 72vh, 720px) - 224px);
    text-align: center;
}

.planlist-hero-copy {
    width: min(920px, 100%);
    margin: 0 auto;
    margin-bottom: 100px;
}

.planlist-eyebrow,
.planlist-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #ff8c42;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.planlist-eyebrow::before,
.planlist-section-kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: rgba(255,102,0,0.75);
}

.planlist-eyebrow::after {
    content: "";
    width: 34px;
    height: 1px;
    background: rgba(255,102,0,0.75);
}

.planlist-hero-title {
    max-width: none;
    margin: 0;
    font-size: clamp(42px, 5.2vw, 68px);
    line-height: 1.14;
    font-weight: 760;
    letter-spacing: 0.02em;
    background: linear-gradient(135deg, #ffffff 0%, #f5f5f7 45%, #ff7a1a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.planlist-hero-sub {
    max-width: 850px;
    margin: 24px auto 0;
    color: rgba(255,255,255,0.76);
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 2;
    letter-spacing: 0.04em;
}

.planlist-hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    margin-top: 42px;
    flex-wrap: wrap;
}

.planlist-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    height: 54px;
    padding: 0 34px;
    border-radius: 8px;
    color: #1f160e;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
    background: linear-gradient(135deg, #ffb078 0%, #ff7a1a 100%);
    box-shadow: 0 12px 34px rgba(255,102,0,0.28);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.planlist-hero-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 42px rgba(255,102,0,0.38);
}

.planlist-hero-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    height: 54px;
    padding: 0 34px;
    border: 1px solid rgba(255,255,255,0.5);
    border-radius: 8px;
    color: rgba(255,255,255,0.88);
    font-size: 16px;
    letter-spacing: 0.08em;
    text-decoration: none;
    background: rgba(5,5,5,0.16);
    transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.planlist-hero-link:hover {
    color: #ffffff;
    border-color: rgba(255,102,0,0.72);
    background: rgba(255,102,0,0.12);
    transform: translateY(-2px);
}

.planlist-hero-visual {
    position: relative;
    min-height: 520px;
}

.planlist-visual-card {
    position: absolute;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.055);
    box-shadow: 0 30px 80px rgba(0,0,0,0.36);
    backdrop-filter: blur(16px);
}

.planlist-visual-card--main {
    inset: 24px 0 0 38px;
    border-radius: 28px;
    overflow: hidden;
}

.planlist-visual-card--main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.03);
    opacity: 0.86;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.planlist-visual-card--main:hover img {
    transform: scale(1.08);
    opacity: 1;
}

.planlist-visual-caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 18px;
    background: rgba(5,5,5,0.72);
    backdrop-filter: blur(14px);
}

.planlist-visual-caption span {
    display: block;
    margin-bottom: 6px;
    color: rgba(255,255,255,0.46);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.planlist-visual-caption strong {
    display: block;
    color: #ffffff;
    font-size: 18px;
    letter-spacing: 0.12em;
}

.planlist-visual-card--mini {
    left: 0;
    top: 0;
    width: 180px;
    height: 136px;
    padding: 0;
    border-radius: 22px;
    overflow: hidden;
}

.planlist-visual-card--mini img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
}

.planlist-section {
    position: relative;
    padding: 92px 0;
    overflow: hidden;
    background: #050505;
}

.planlist-section--alt {
    background: linear-gradient(180deg, #101014 0%, #070708 100%);
}

.planlist-intro {
    max-width: 860px;
    margin: 0 0 46px;
    text-align: left;
}

.planlist-intro h2 {
    margin: 0;
    color: #f5f5f7;
    font-size: clamp(28px, 3.2vw, 46px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.08em;
}

.planlist-intro p {
    margin: 24px 0 0;
    color: rgba(255,255,255,0.52);
    font-size: 15px;
    line-height: 2;
    letter-spacing: 0.04em;
}

.planlist-risk-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.planlist-risk-card {
    min-height: 190px;
    padding: 28px 24px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 20px;
    background: rgba(255,255,255,0.035);
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.planlist-risk-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,102,0,0.28);
    background: rgba(255,102,0,0.055);
}

.planlist-risk-card span {
    display: block;
    margin-bottom: 28px;
    color: rgba(255,102,0,0.9);
    font-size: 13px;
    letter-spacing: 0.2em;
}

.planlist-risk-card strong {
    display: block;
    margin-bottom: 12px;
    color: #ffffff;
    font-size: 22px;
    letter-spacing: 0.18em;
}

.planlist-risk-card p {
    margin: 0;
    color: rgba(255,255,255,0.45);
    font-size: 13px;
    line-height: 1.85;
}

.planlist-advantage {
    position: relative;
    min-height: 100vh;
    padding: 76px 0 46px;
    overflow: hidden;
    color: #f5f5f7;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,102,0,0.12), transparent 30%),
        radial-gradient(circle at 82% 68%, rgba(255,255,255,0.045), transparent 28%),
        #050505;
}

.planlist-advantage-inner {
    position: relative;
    width: var(--planlist-container-width);
    min-height: calc(100vh - 122px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.planlist-advantage-copy {
    max-width: 860px;
}

.planlist-advantage-copy .planlist-section-kicker {
    margin-bottom: 16px;
    color: rgba(255,102,0,0.9);
}

.planlist-advantage-copy h2 {
    margin: 0;
    color: #f5f5f7;
    font-size: clamp(28px, 3.2vw, 46px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.08em;
}

.planlist-advantage-copy p {
    max-width: 760px;
    margin: 28px 0 0;
    color: rgba(255,255,255,0.56);
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.04em;
}

.planlist-advantage-visual {
    position: relative;
    width: 100%;
    margin-top: clamp(28px, 5vh, 62px);
}

.planlist-advantage-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: var(--planlist-advantage-ratio, 1884 / 835);
    overflow: hidden;
    border-radius: 8px;
    background: #050505;
}

.planlist-advantage-image-reveal {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.planlist-advantage-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.planlist-advantage-image-reveal {
    overflow: hidden;
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
    transition:
        clip-path 2.8s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
        -webkit-clip-path 2.8s cubic-bezier(0.22, 1, 0.36, 1) 0.12s;
    will-change: clip-path;
}

.planlist-advantage-image-reveal.is-revealed {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
}

.planlist-advantage-label {
    position: absolute;
    z-index: 3;
    min-width: 160px;
    color: #2c2f35;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.planlist-advantage-image-reveal.is-revealed ~ .planlist-advantage-label {
    opacity: 1;
    transform: translateY(0);
}

.planlist-advantage-label--one {
    left: 10%;
    top: 45%;
    transition-delay: 0.35s;
}

.planlist-advantage-label--two {
    left: 40%;
    top: 30%;
    transition-delay: 0.85s;
}

.planlist-advantage-label--three {
    left: 68%;
    top: 8%;
    transition-delay: 1.25s;
}

.planlist-advantage-label span {
    display: block;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.72);
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.04em;
}

.planlist-advantage-label strong {
    display: block;
    margin-bottom: 12px;
    color: #ff6600;
    font-size: clamp(30px, 3.2vw, 46px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
}

.planlist-advantage-label p {
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.65;
    letter-spacing: 0.02em;
}

.planlist-section-head {
    max-width: 860px;
    margin: 0 0 50px;
    text-align: left;
}

.planlist-section-head .section-heading {
    margin-bottom: 16px;
}

.planlist-section-head p,
.planlist-case-copy p {
    margin: 0;
    color: rgba(255,255,255,0.5);
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.06em;
}

.planlist-industry-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.planlist-industry-card {
    position: relative;
    overflow: hidden;
    min-height: 460px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    background: rgba(255,255,255,0.035);
    transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}

.planlist-industry-card:hover {
    transform: translateY(-8px);
    border-color: rgba(255,102,0,0.32);
    background: rgba(255,255,255,0.055);
    box-shadow: 0 28px 70px rgba(0,0,0,0.3);
}

.planlist-card-image {
    height: 210px;
    overflow: hidden;
    background: #151519;
}

.planlist-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.76;
    transform: scale(1.02);
    transition: transform 0.45s ease, opacity 0.45s ease;
}

.planlist-industry-card:hover .planlist-card-image img {
    opacity: 1;
    transform: scale(1.08);
}

.planlist-card-body {
    padding: 26px 24px 28px;
}

.planlist-card-label {
    display: block;
    margin-bottom: 14px;
    color: rgba(255,102,0,0.88);
    font-size: 12px;
    letter-spacing: 0.16em;
}

.planlist-card-body h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.16em;
}

.planlist-card-body p {
    margin: 0;
    color: rgba(255,255,255,0.48);
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0.04em;
}

.planlist-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
    color: rgba(255,255,255,0.82);
    font-size: 14px;
    letter-spacing: 0.12em;
    text-decoration: none;
    transition: color 0.25s ease, gap 0.25s ease;
}

.planlist-card-link:hover {
    gap: 13px;
    color: #ff8c42;
}

.planlist-case-panel {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(360px, 1.18fr);
    gap: 42px;
    align-items: start;
    padding: clamp(34px, 5vw, 58px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 28px;
    background:
        radial-gradient(circle at 12% 20%, rgba(255,102,0,0.14), transparent 28%),
        rgba(255,255,255,0.035);
}

.planlist-case-copy .section-heading {
    margin-bottom: 14px;
    text-align: left;
    letter-spacing: 0.14em;
}

.planlist-case-showcase {
    --case-gap: 16px;
    --case-visible: 2;
    position: relative;
    min-width: 0;
    padding-right: 54px;
}

.planlist-case-carousel-viewport {
    overflow: hidden;
}

.planlist-case-carousel-track {
    display: flex;
    gap: var(--case-gap);
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.planlist-case-image-card {
    position: relative;
    display: block;
    flex: 0 0 calc((100% - (var(--case-gap) * (var(--case-visible) - 1))) / var(--case-visible));
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 18px;
    background: rgba(255,255,255,0.035);
    text-decoration: none;
    transition: background 0.28s ease, box-shadow 0.28s ease;
}

.planlist-case-image-card:hover {
    background: rgba(255,255,255,0.055);
    box-shadow: 0 24px 54px rgba(0,0,0,0.28);
}

.planlist-case-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.78;
    transform: scale(1.02);
    transition: transform 0.45s ease, opacity 0.45s ease;
}

.planlist-case-image-card:hover img {
    opacity: 1;
    transform: scale(1.08);
}

.planlist-case-image-card .planlist-case-tag {
    position: absolute;
    left: 14px;
    top: 14px;
}

.planlist-case-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 9px 15px;
    border: 1px solid rgba(255,102,0,0.34);
    border-radius: 999px;
    color: #1f2328;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-decoration: none;
    background: rgba(255,255,255,0.92);
    box-shadow: 0 8px 22px rgba(0,0,0,0.16);
    backdrop-filter: blur(10px);
    transition: transform 0.25s ease, border-color 0.25s ease, color 0.25s ease, background 0.25s ease;
}

.planlist-case-image-card:hover .planlist-case-tag,
.planlist-case-tag:hover {
    transform: translateY(-3px);
    border-color: rgba(255,102,0,0.8);
    color: #ffffff;
    background: #ff6600;
}

.planlist-case-carousel-controls {
    position: absolute;
    right: 0;
    top: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 0;
    transform: translateY(-50%);
}

.planlist-case-carousel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 999px;
    color: rgba(255,255,255,0.82);
    background: rgba(255,255,255,0.035);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.planlist-case-carousel-btn:hover {
    color: #ffffff;
    border-color: rgba(255,102,0,0.72);
    background: rgba(255,102,0,0.12);
    transform: translateY(-2px);
}

.planlist-case-carousel-dots {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
}

.planlist-case-carousel-dots span {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.26);
    transition: width 0.25s ease, background 0.25s ease;
}

.planlist-case-carousel-dots span.is-active {
    width: 7px;
    height: 24px;
    background: #ff6600;
}
.planlist-cta .product-cta-bg {
    opacity: 1;
    background: url("../images/planlist/cta.webp") center / cover no-repeat;
}
.planlist-cta-wrap {
    --planlist-cta-overlap: 140px;
    position: relative;
    z-index: 3;
    padding: 0;
    margin-bottom: calc(var(--planlist-cta-overlap) * -1);
    overflow: visible;
    background: #050505;
}

.planlist-cta {
    width: 100vw;
    max-width: none;
    height: 300px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    border-radius: 0;
    position: relative;
    z-index: 4;
    transform: translateY(var(--planlist-cta-overlap));
    transform-origin: center top;
    background: #050505;
    will-change: width, border-radius;
}

.planlist-cta .product-cta-bg {
    opacity: 1;
}

.planlist-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: transparent;
}

.planlist-cta .product-cta-inner {
    height: 100%;
    width: var(--planlist-container-width);
    max-width: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    will-change: transform;
}

.planlist-cta .product-cta-text {
    max-width: 760px;
    margin-left: 0;
    margin-right: 0;
}

.planlist-preview-switches {
    position: fixed;
    left: 22px;
    bottom: 22px;
    z-index: 9997;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.planlist-preview-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 112px;
    height: 38px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    background: rgba(8,8,10,0.72);
    color: rgba(255,255,255,0.84);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.28);
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.planlist-preview-toggle:hover {
    transform: translateY(-2px);
    border-color: rgba(255,102,0,0.42);
    color: #fff;
}

.planlist-theme-light {
    background: #f6f7f9;
    color: #1f2328;
}

.planlist-theme-light .planlist-preview-toggle {
    border-color: rgba(21,28,38,0.12);
    background: rgba(255,255,255,0.82);
    color: rgba(31,35,40,0.82);
    box-shadow: 0 14px 34px rgba(31,35,40,0.13);
}

.planlist-theme-light .planlist-preview-toggle:hover {
    color: #1f2328;
}

.planlist-theme-light .planlist-hero {
    background:
        radial-gradient(circle at 18% 20%, rgba(255,102,0,0.13), transparent 28%),
        radial-gradient(circle at 78% 26%, rgba(28,42,62,0.08), transparent 25%),
        linear-gradient(135deg, #ffffff 0%, #f5f7fa 50%, #edf1f5 100%);
}

.planlist-theme-light .planlist-hero-bg {
    background:
        linear-gradient(rgba(31,35,40,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,35,40,0.055) 1px, transparent 1px);
    opacity: 0.5;
}

.planlist-theme-light .planlist-hero-glow--right {
    background: #9aa7b6;
    opacity: 0.18;
}

.planlist-theme-light .planlist-eyebrow,
.planlist-theme-light .planlist-section-kicker,
.planlist-theme-light .planlist-advantage-copy .planlist-section-kicker,
.planlist-theme-light .planlist-card-label {
    color: #d95600;
}

.planlist-theme-light .planlist-eyebrow::before,
.planlist-theme-light .planlist-section-kicker::before {
    background: rgba(217,86,0,0.72);
}

.planlist-theme-light .planlist-hero-title,
.planlist-theme-light .section-heading,
.planlist-theme-light .section-heading[data-heading-style] {
    background: linear-gradient(135deg, #141820 0%, #2d3440 58%, #d95600 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.planlist-theme-light .planlist-hero-sub,
.planlist-theme-light .planlist-intro p,
.planlist-theme-light .planlist-advantage-copy p,
.planlist-theme-light .planlist-section-head p,
.planlist-theme-light .planlist-case-copy p {
    color: rgba(31,35,40,0.62);
}

.planlist-theme-light .planlist-hero-link {
    color: rgba(31,35,40,0.72);
}

.planlist-theme-light .planlist-hero-link:hover {
    color: #d95600;
}

.planlist-theme-light .planlist-visual-card,
.planlist-theme-light .planlist-risk-card,
.planlist-theme-light .planlist-industry-card,
.planlist-theme-light .planlist-case-panel,
.planlist-theme-light .planlist-case-image-card {
    border-color: rgba(31,35,40,0.1);
    background: rgba(255,255,255,0.72);
    box-shadow: 0 24px 70px rgba(31,35,40,0.1);
}

.planlist-theme-light .planlist-visual-caption {
    border-color: rgba(255,255,255,0.56);
    background: rgba(255,255,255,0.78);
    box-shadow: 0 18px 44px rgba(31,35,40,0.14);
}

.planlist-theme-light .planlist-visual-caption span {
    color: rgba(31,35,40,0.48);
}

.planlist-theme-light .planlist-visual-caption strong,
.planlist-theme-light .planlist-intro h2,
.planlist-theme-light .planlist-risk-card strong,
.planlist-theme-light .planlist-advantage-copy h2,
.planlist-theme-light .planlist-card-body h3 {
    color: #1f2328;
}

.planlist-theme-light .planlist-section,
.planlist-theme-light .planlist-cta-wrap {
    background: #f6f7f9;
}

.planlist-theme-light .planlist-section--alt {
    background: linear-gradient(180deg, #ffffff 0%, #eef2f6 100%);
}

.planlist-theme-light .planlist-risk-card:hover,
.planlist-theme-light .planlist-industry-card:hover,
.planlist-theme-light .planlist-case-image-card:hover {
    border-color: rgba(255,102,0,0.32);
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(31,35,40,0.13);
}

.planlist-theme-light .planlist-risk-card p,
.planlist-theme-light .planlist-card-body p {
    color: rgba(31,35,40,0.56);
}

.planlist-theme-light .planlist-risk-card span {
    color: rgba(217,86,0,0.92);
}

.planlist-theme-light .planlist-advantage {
    color: #1f2328;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,102,0,0.1), transparent 30%),
        radial-gradient(circle at 82% 68%, rgba(31,35,40,0.06), transparent 28%),
        #f6f7f9;
}

.planlist-theme-light .planlist-advantage-image-wrap,
.planlist-theme-light .planlist-card-image,
.planlist-theme-light .planlist-cta {
    background: #e8edf2;
}

.planlist-theme-light .planlist-advantage-label span,
.planlist-theme-light .planlist-advantage-label p {
    color: rgba(31,35,40,0.72);
}

.planlist-theme-light .planlist-card-link,
.planlist-theme-light .planlist-case-carousel-btn {
    color: rgba(31,35,40,0.74);
}

.planlist-theme-light .planlist-case-carousel-btn {
    border-color: rgba(31,35,40,0.14);
    background: rgba(255,255,255,0.68);
}

.planlist-theme-light .planlist-case-carousel-btn:hover {
    color: #d95600;
    border-color: rgba(255,102,0,0.58);
    background: rgba(255,102,0,0.08);
}

.planlist-theme-light .planlist-case-carousel-dots span {
    background: rgba(31,35,40,0.22);
}

.planlist-theme-light .planlist-case-carousel-dots span.is-active {
    background: #ff6600;
}

.planlist-hero-banner .planlist-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(5,5,5,0.62) 0%, rgba(5,5,5,0.32) 42%, rgba(5,5,5,0.18) 100%),
        var(--planlist-hero-banner-image) center / cover no-repeat;
}

/*.planlist-hero-banner .planlist-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(5,5,5,0.18) 0%, rgba(5,5,5,0.12) 54%, rgba(5,5,5,0.72) 100%);
}*/

.planlist-hero-banner .planlist-hero-bg,
.planlist-hero-banner .planlist-hero-glow,
.planlist-hero-banner .planlist-hero-visual {
    display: none;
}

.planlist-hero-banner .planlist-hero-inner {
    grid-template-columns: minmax(0, 760px);
    width: var(--planlist-container-width);
    justify-content: start;
}

.planlist-hero-banner .planlist-hero-copy {
    max-width: 760px;
}

.planlist-theme-light.planlist-hero-banner .planlist-hero {
    background: var(--planlist-hero-banner-image) center / cover no-repeat;
}

.planlist-theme-light.planlist-hero-banner .planlist-hero::after {
    background: transparent;
}

@media (max-width: 1024px) {
    .planlist-hero-inner {
        grid-template-columns: 1fr;
    }
    .planlist-hero-visual {
        min-height: 430px;
    }
    .planlist-visual-card--main {
        inset: 28px 0 0 92px;
    }
    .planlist-risk-grid,
    .planlist-industry-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .planlist-advantage {
        min-height: auto;
        padding: 72px 0 54px;
    }
    .planlist-advantage-inner {
        min-height: 0;
    }
    .planlist-case-panel {
        grid-template-columns: 1fr;
    }
    .planlist-case-showcase {
        --case-visible: 2;
    }
}

@media (max-width: 768px) {
    .planlist-page {
        --planlist-container-width: min(100% - 32px, 1200px);
    }
    .planlist-hero {
        min-height: auto;
        padding: 118px 0 66px;
    }
    .planlist-hero-inner,
    .planlist-section-inner {
        width: var(--planlist-container-width);
    }
    .planlist-hero-title {
        font-size: clamp(36px, 11vw, 50px);
    }
    .planlist-hero-sub {
        font-size: 15px;
        line-height: 1.85;
    }
    .planlist-hero-actions {
        align-items: center;
        flex-direction: column;
    }
    .planlist-hero-visual {
        min-height: 340px;
    }
    .planlist-visual-card--main {
        inset: 34px 0 0 34px;
        border-radius: 22px;
    }
    .planlist-visual-card--mini {
        width: 132px;
        height: 104px;
        padding: 0;
        border-radius: 18px;
    }
    .planlist-section {
        padding: 68px 0;
    }
    .planlist-advantage {
        padding: 66px 0 42px;
    }
    .planlist-advantage-inner {
        width: var(--planlist-container-width);
    }
    .planlist-advantage-copy h2 {
        font-size: clamp(28px, 3.2vw, 46px);
        line-height: 1.25;
    }
    .planlist-advantage-copy p {
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.9;
    }
    .planlist-advantage-visual {
        margin-top: 28px;
    }
    .planlist-advantage-label {
        min-width: 96px;
    }
    .planlist-advantage-label--one {
        left: 6%;
        top: 42%;
    }
    .planlist-advantage-label--two {
        left: 39%;
        top: 27%;
    }
    .planlist-advantage-label--three {
        left: 68%;
        top: 10%;
    }
    .planlist-advantage-label span {
        margin-bottom: 5px;
        font-size: 9px;
    }
    .planlist-advantage-label strong {
        margin-bottom: 6px;
        font-size: 20px;
    }
    .planlist-advantage-label p {
        max-width: 104px;
        font-size: 9px;
        line-height: 1.45;
    }
    .planlist-risk-grid,
    .planlist-industry-grid {
        grid-template-columns: 1fr;
    }
    .planlist-risk-card {
        min-height: 0;
    }
    .planlist-industry-card {
        min-height: 0;
    }
    .planlist-card-image {
        height: 190px;
    }
    .planlist-case-panel {
        padding: 28px 22px;
        border-radius: 22px;
    }
    .planlist-case-copy .section-heading {
        font-size: 32px;
    }
    .planlist-case-showcase {
        gap: 14px;
        --case-visible: 1;
        padding-right: 46px;
    }
    .planlist-case-carousel-controls {
        justify-content: center;
    }
    .planlist-case-tag {
        min-width: 0;
        padding: 8px 13px;
        font-size: 11px;
    }
    .planlist-cta-wrap {
        --planlist-cta-overlap: 0px;
        padding: 72px 0 0;
        margin-bottom: 0;
        overflow: hidden;
    }
    .planlist-cta {
        width: var(--planlist-container-width);
        height: 240px;
        border-radius: 12px;
        transform: none;
    }
}

.footer-divider {
    margin-bottom: clamp(18px, 2.2vh, 28px);
}
.footer-social-link--qr {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.footer-social-qr {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    width: 132px;
    height: 132px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 8px;
    background: rgba(8,8,8,0.96);
    box-shadow: 0 18px 48px rgba(0,0,0,0.32);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 20;
    pointer-events: none;
}
.footer-social-qr img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}
.footer-social-link--qr:hover .footer-social-qr,
.footer-social-link--qr:focus-visible .footer-social-qr {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.footer-copyright {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 14px;
    text-align: center;
}
.footer-record-link {
    color: rgba(255,255,255,0.22);
    text-decoration: none;
    transition: color 0.2s ease;
}
.footer-record-link:hover {
    color: #FF6600;
}


/* Phase 3.5 footer link correction overrides */
#section-footer .section-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
#section-footer .footer-layout-shell {
    position: relative;
    z-index: 1;
}
#section-footer .footer-divider {
    margin-top: clamp(20px, 3vh, 34px);
    margin-bottom: clamp(16px, 2vh, 24px);
}
#section-footer .footer-bottom {
    width: min(1280px, 100%);
    margin-left: auto;
    margin-right: auto;
}
#section-footer .footer-copyright {
    margin: 0 auto;
    width: min(1280px, 100%);
}
.dropdown-product-card {
    color: inherit;
    text-decoration: none;
}
.dropdown-product-card:hover .dropdown-product-card-name {
    color: #FF6600;
}


/* Emergency fix: keep linked dropdown cards block-level and footer bottom visible */
.dropdown-product-card,
a.dropdown-product-card {
    display: block;
    color: inherit;
    text-decoration: none;
}
.dropdown-product-grid > a.dropdown-product-card {
    min-width: 0;
}
#section-footer .footer-bottom,
#section-footer .footer-copyright {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
#section-footer.fullscreen-section {
    overflow: visible !important;
}
#section-footer .footer-layout-shell {
    overflow: visible !important;
}
body:not(.home-intro-active) #section-footer .footer-bottom,
body:not(.home-intro-active) #section-footer .footer-copyright {
    display: flex !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* Phase 4 card link resets */
a.series-product-card,
a.related-card,
a.module-card,
a.equipment-recommend-card,
a.module-recommend-card,
a.equipment-card,
a.custom-collage-item {
  color: inherit;
  text-decoration: none;
}
