html, body { margin: 0; padding: 0; }

    /* ---- Scroll reveal ---- */
    .reveal {
      opacity: 0;
    }

    .reveal.visible {
      animation: var(--reveal-name, fadeUp) var(--reveal-dur, .9s) var(--reveal-delay, 0s) cubic-bezier(.22, 1, .36, 1) forwards;
    }

    .reveal-up {
      --reveal-name: fadeUp;
      transform: translateY(40px);
    }

    .reveal-left {
      --reveal-name: fadeLeft;
      transform: translateX(-40px);
    }

    .reveal-right {
      --reveal-name: fadeRight;
      transform: translateX(40px);
    }

    .reveal-scale {
      --reveal-name: scaleIn;
      transform: scale(.8);
    }

    .reveal-pop {
      --reveal-name: popIn;
      transform: scale(.85) translateY(20px);
    }

    .quick-card-reveal {
      opacity: 0;
      transform: scale(.85) translateY(20px);
    }

    .quick-card-reveal.visible {
      animation: popIn .75s cubic-bezier(.22, 1, .36, 1) forwards;
      animation-delay: calc(var(--i, 0) * 100ms);
    }

    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(40px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes fadeLeft {
      from {
        opacity: 0;
        transform: translateX(-40px);
      }

      to {
        opacity: 1;
        transform: translateX(0);
      }
    }

    @keyframes fadeRight {
      from {
        opacity: 0;
        transform: translateX(40px);
      }

      to {
        opacity: 1;
        transform: translateX(0);
      }
    }

    @keyframes scaleIn {
      from {
        opacity: 0;
        transform: scale(.8);
      }

      to {
        opacity: 1;
        transform: scale(1);
      }
    }

    @keyframes popIn {
      0% {
        opacity: 0;
        transform: scale(.85) translateY(20px);
      }

      60% {
        transform: scale(1.04) translateY(-3px);
      }

      100% {
        opacity: 1;
        transform: scale(1) translateY(0);
      }
    }

    /* ---- Header glass ---- */
    .header-glass {
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }

    @supports not ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
      .header-glass {
        background: rgba(11, 61, 107, .98) !important;
      }
    }

    /* ---- Hero overlay ---- */
    .hero-slide-overlay::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .06) 42%, rgba(0, 0, 0, .32) 80%, rgba(0, 0, 0, .68) 100%);
    }

    /* ---- Nav dropdown ---- */
    .nav-group {
      position: relative;
      height: 100%;
    }

    .nav-dropdown {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      min-width: 120px;
      white-space: nowrap;
      background: #fff;
      border-radius: 8px;
      padding: .5rem 0;
      box-shadow: 0 4px 24px rgba(0, 0, 0, .12);
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s, transform .2s cubic-bezier(.22, 1, .36, 1);
      z-index: 50;
    }

    /* Arrow pointing up */
    .nav-dropdown::before {
      content: '';
      position: absolute;
      top: -6px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-bottom: 6px solid #fff;
    }

    .nav-group:hover .nav-dropdown,
    .nav-group:focus-within .nav-dropdown {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%);
    }

    .nav-dropdown a {
      display: block;
      padding: .5rem 1.2rem;
      font-size: .82rem;
      color: var(--ink, #2D2F33);
      white-space: nowrap;
      transition: all .15s;
    }

    .nav-dropdown a:hover {
      background: #F5F5F7;
      color: #b01f24;
    }

    /* ---- Hero carousel: Slide + Shrink ---- */
    .hero-track { position: relative; width: 100%; height: 100%; overflow: hidden; }
    .hero-slide { position: absolute; inset: 0; opacity: 0; transform: translateX(30%) scale(0.92); transition: transform .9s cubic-bezier(.4,0,.2,1), opacity .7s ease-in-out; }
    .hero-slide.active { opacity: 1; transform: translateX(0) scale(1); }
    .hero-slide.slide-out { opacity: 0; transform: translateX(-30%) scale(0.92); z-index: 2; }
    .hero-slide.animating { will-change: transform, opacity; }
    @media(prefers-reduced-motion:reduce){ .hero-slide{transition:none} }

    /* ---- Mobile nav drawer ---- */
    .nav-drawer {
      transform: translateX(100%);
      transition: transform .35s cubic-bezier(.22, 1, .36, 1);
    }

    .nav-drawer.show {
      transform: translateX(0);
    }

    /* Mobile submenu — white card with arrow */
    .nav-sub {
      max-height: 0;
      overflow: hidden;
      transition: max-height .4s cubic-bezier(.22, 1, .36, 1);
    }

    .nav-sub.open {
      max-height: 500px;
    }

    .nav-sub-inner {
      background: rgba(255,255,255,.45);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-radius: 14px;
      padding: .4rem 0;
      margin: .3rem 0 .5rem;
      border: 1px solid rgba(255,255,255,.5);
      box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
    }

    .nav-sub a {
      display: block;
      padding: .45rem 1rem;
      font-size: .82rem;
      color: #555;
      transition: all .15s;
    }

    .nav-sub a:hover {
      color: #b01f24;
      background: #fdf0f1;
    }

    /* Liquid glass hover */
    .glass-item:hover{background:rgba(255,255,255,.75)!important; border-color:rgba(176,31,36,.15)!important; box-shadow:0 2px 12px rgba(0,0,0,.06)!important;}
    .glass-item:hover span{color:#b01f24;}

    /* ---- Backdrop ---- */
    .nav-backdrop {
      opacity: 0;
      pointer-events: none;
      transition: opacity .35s;
    }

    .nav-backdrop.show {
      opacity: 1;
      pointer-events: auto;
    }

    /* Mobile header always solid */
    @media(max-width:1279px){
      #header{height:58px!important;background:linear-gradient(45deg,#1e90ff,#5e0289)!important;box-shadow:0 2px 12px rgba(0,0,0,.08)!important;}
      #hamburger span{background:#fff!important;}
      #logoImg{height:40px!important;}
      .py-12, .md\:py-14, .py-12.md\:py-14{padding-top:.5rem!important;padding-bottom:.5rem!important;}
      #heroDots{display:none!important;}
      .footer-l li{font-size:.78rem;padding:.45rem .6rem;margin-bottom:.35rem;text-align:center;}
      .footer-l li::before{display:none;}
    }

    /* ---- Reduced motion ---- */
    @media (prefers-reduced-motion: reduce) {

      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }

      html {
        scroll-behavior: auto !important;
      }
    }

    /* ---- NoScript ---- */
    .no-js .reveal,
    .no-js .quick-card-reveal,
    noscript .reveal,
    noscript .quick-card-reveal {
      opacity: 1 !important;
      transform: none !important;
    }

    /* ---- Print ---- */
    @media print {
      .no-print {
        display: none !important;
      }

      body {
        font-size: 12pt;
        line-height: 1.5;
        color: #000;
        background: #fff;
      }

      a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #666;
      }
    }
.xyjs{padding:2.5rem;margin-bottom:2.5rem;position:relative;overflow:hidden;background:#f5f6f8;}
      .xyjs-header{text-align:center;margin-bottom:2rem;position:relative;z-index:7;}
      .xyjs-header .kicker{font-size:clamp(.62rem,.7vw,.75rem);font-weight:600;letter-spacing:.16em;color:#76797E;text-transform:uppercase;margin-bottom:.25rem;}
      .xyjs-header h2{font-family:Georgia,"Noto Serif SC","STSong","SimSun",serif;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;color:#2D2F33;}
      .xyjs-header h2::after{content:'';display:block;width:2.5rem;height:3px;background:#b01f24;border-radius:2px;margin:.5rem auto 0;}
      .xyjs-header .more{display:inline-block;font-size:.82rem;color:#76797E;margin-top:.5rem;transition:color .2s;}
      .xyjs-header .more:hover{color:#b01f24;}
      /* Accordion cards */
      .xyjs-track{display:flex;gap:4px;height:360px;position:relative;z-index:3;justify-content:center;}
      .xyjs-card{display:flex;background:#fff;height:100%;overflow:hidden;width:80px;position:relative;transition:width .5s ease;flex-shrink:0;border-radius:2px;}
      .xyjs-card:nth-child(even){margin-top:40px;}
      .xyjs-card.active{width:min(650px,55vw);}
      .xyjs-card .card-tab{width:80px;height:100%;position:relative;background:#dfe6f2;z-index:5;flex-shrink:0;cursor:pointer;transition:background .4s;}
      .xyjs-card .card-tab::before{content:'';display:block;width:100%;height:100%;position:absolute;top:0;left:0;background:#003372;opacity:0;transition:opacity .4s;}
      .xyjs-card.active .card-tab::before{opacity:1;}
      .xyjs-card .card-tab-inner{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;height:100%;padding:25px 0 30px;}
      .xyjs-card .card-line{width:5px;height:24px;background:linear-gradient(180deg,#b01f24,#d42b30);border-radius:3px;flex-shrink:0;filter:brightness(1);}
      .xyjs-card.active .card-line{background:linear-gradient(180deg,#fff,#e0e0e0);}
      .xyjs-card .card-name{flex:1;display:flex;align-items:center;justify-content:center;font-size:17px;color:#444;writing-mode:vertical-lr;letter-spacing:.15em;font-weight:500;transition:color .4s;}
      .xyjs-card.active .card-name{color:#fff;}
      .xyjs-card .card-arrow{width:23px;height:23px;background:#ccc;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .4s;}
      .xyjs-card.active .card-arrow{background:rgba(255,255,255,.25);}
      .xyjs-card .card-arrow::after{content:'';display:block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #fff;}
      /* Content area */
      .xyjs-card .card-con{flex:1;height:100%;position:relative;overflow:hidden;}
      .xyjs-card .card-con-inner{padding:24px;height:100%;}
      .xyjs-card .card-con-inner img{width:100%;height:100%;object-fit:cover;border-radius:4px;transition:transform .4s;}
      .xyjs-card .card-con-inner img:hover{transform:scale(1.03);}
      /* Mobile carousel */
      .xyjs-swiper{display:none;position:relative;overflow:hidden;}
      .xyjs-swiper .swiper-track{display:flex;transition:transform .4s ease-out;}
      .xyjs-swiper .swiper-slide{flex-shrink:0;width:100%;}
      .xyjs-swiper .swiper-slide .m-card{display:flex;background:#fff;height:62vw;max-height:420px;border-radius:4px;overflow:hidden;}
      .xyjs-swiper .swiper-slide .m-tab{width:50px;background:#003372;display:flex;flex-direction:column;align-items:center;padding:15px 0 20px;flex-shrink:0;}
      .xyjs-swiper .swiper-slide .m-line{width:4px;height:18px;background:#fff;opacity:.5;border-radius:2px;}
      .xyjs-swiper .swiper-slide .m-name{flex:1;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;writing-mode:vertical-lr;letter-spacing:.12em;}
      .xyjs-swiper .swiper-slide .m-arrow{margin-top:auto;width:18px;height:18px;border-left:2px solid rgba(255,255,255,.4);border-bottom:2px solid rgba(255,255,255,.4);transform:rotate(-135deg);}
      .xyjs-swiper .swiper-slide .m-con{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f0f1f4;padding:16px;display:block;}
      .xyjs-swiper .swiper-slide .m-con img{width:100%;height:100%;object-fit:cover;border-radius:2px;display:block;}
      .xyjs-swiper .swiper-slide .m-play{position:absolute;inset:0;margin:auto;width:38px;height:38px;background:rgba(0,0,0,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;}
      .xyjs-swiper .swiper-slide .m-play::after{content:'';display:block;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid #fff;margin-left:2px;}
      .xyjs-swiper .m-nav{display:flex;justify-content:center;gap:10px;margin-top:15px;}
      .xyjs-swiper .m-nav button{width:32px;height:32px;border-radius:50%;border:1px solid #d0d0d0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;}
      .xyjs-swiper .m-nav button:hover{background:#003372;border-color:#003372;color:#fff;}
      .xyjs-swiper .m-nav button svg{width:14px;height:14px;}
      @media(max-width:1279px){
        .xyjs-track{display:none;}
        .xyjs-swiper{display:block;}
      }
.footer-new{padding:2.5rem 0;position:relative;background:linear-gradient(180deg,#0d1b2e 0%,#0a1628 100%);}
    .footer-new::before{content:'';position:absolute;inset:0;background:url(imgs/bg.jpg) center/cover no-repeat;opacity:.3;z-index:0;}
    .footer-new::after{content:'';position:absolute;inset:0;background:linear-gradient(45deg,rgba(30,144,255,.82),rgba(94,2,137,.88));z-index:0;}
    .footer-box,.footer-new .footer-box{position:relative;z-index:1;}
    .footer-box{display:flex;max-width:1200px;margin:0 auto;padding:0 1.5rem;gap:2rem;}
    .footer-l{width:28%;}
    .footer-l li{font-size:.9rem;color:#fff;line-height:1.5;padding:.6rem .8rem .6rem 2.8rem;border:1px solid rgba(255,255,255,.12);margin-bottom:.5rem;border-radius:2px;position:relative;transition:border-color .3s;}
    .footer-l li:hover{border-color:rgba(255,255,255,.25);}
    .footer-l li::before{content:'';position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:1.4rem;height:1.4rem;background:rgba(255,255,255,.15);border-radius:50%;}
    .footer-l li:nth-child(1)::after{content:'';position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center;background-size:contain;}
    .footer-l li:nth-child(2)::after{content:'';position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpolyline points='2 8 12 14 22 8'/%3E%3C/svg%3E") no-repeat center;background-size:contain;}
    .footer-l li:nth-child(3)::after{content:'';position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M12 21.7C17.3 17 20 13 20 10a8 8 0 1 0-16 0c0 3 2.7 7 8 11.7z'/%3E%3C/svg%3E") no-repeat center;background-size:contain;}
    .footer-c{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
    .footer-c .logo{margin-bottom:1rem;}
    .footer-c .logo img{max-height:55px;display:block;margin:0 auto;}
    .footer-c ul{margin-bottom:-.6rem;}
    .footer-c li{font-size:.82rem;color:#fff;line-height:1.8;margin-bottom:.3rem;}
    .footer-c li a{color:#fff;transition:color .2s;}
    .footer-c li a:hover{color:rgba(255,255,255,.7);}
    .footer-r{display:flex;gap:1rem;align-items:flex-start;padding-top:.3rem;}
    .footer-r li{border:1px solid rgba(255,255,255,.12);padding:.25rem;text-align:center;transition:border-color .3s;}
    .footer-r li:hover{border-color:rgba(255,255,255,.3);}
    .footer-r li .pic{width:100px;height:100px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;}
    .footer-r li .pic img{display:block;width:100%;height:100%;object-fit:contain;}
    .footer-r li p{margin-top:.4rem;font-size:.78rem;color:#fff;text-align:center;line-height:1.4;}
    @media(max-width:1279px){
      .footer-box{flex-direction:column;gap:1.5rem;}
      .footer-l{width:100%;}
      .footer-r{justify-content:center;}
      .footer-c{order:-1;}
    }