﻿:root {
      --red: #d71920;
      --dark-red: #b80f16;
      --text: #111;
      --muted: #777;
      --line: #e8e8e8;
      --soft: #f7f7f7;
      --black: #0b0b0b;
      --max: 1210px;
      --font: Poppins, Arial, Helvetica, sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      color: var(--text);
      background: #fff;
      font-family: var(--font);
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      display: block;
      max-width: 100%;
    }

    .container {
      width: min(var(--max), calc(100% - 34px));
      margin: 0 auto;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 90;
      background: #fff;
      box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
    }

    .nav-row {
      display: grid;
      grid-template-columns: 210px 1fr 285px;
      align-items: center;
      min-height: 50px;
    }

    .logo img {
      width: 120px;
      height: auto;
    }

    .fallback-logo {
      display: none;
      color: var(--red);
      font-size: 48px;
      font-weight: 900;
      line-height: 1;
      letter-spacing: 1px;
    }

    .logo img:not([src]),
    .logo img[src=""] {
      display: none;
    }

    .logo img:not([src]) + .fallback-logo,
    .logo img[src=""] + .fallback-logo {
      display: block;
    }

    .main-nav {
      display: flex;
      justify-content: center;
      gap: 46px;
      height: 50px;
      font-size: 16px;
      font-weight: 500;
    }

    .main-nav a {
      position: relative;
      display: flex;
      align-items: center;
      height: 50px;
      text-transform: uppercase;
    }

    .main-nav a::after {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 3px;
      background: var(--red);
      content: "";
      opacity: 0;
      transform: scaleX(.2);
      transition: .2s ease;
    }

    .main-nav a:hover,
    .main-nav a.active {
      color: var(--red);
    }

    .main-nav a:hover::after,
    .main-nav a.active::after {
      opacity: 1;
      transform: scaleX(1);
    }

    .header-tools {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 14px;
    }

    .mail-link {
      display: grid;
      width: 42px;
      height: 42px;
      place-items: center;
      color: #fff;
      background: var(--red);
      border-radius: 2px;
      font-size: 21px;
    }

    .search {
      display: flex;
      align-items: center;
      width: 165px;
      height: 34px;
      padding: 0 8px 0 14px;
      background: #f0f0f0;
      border-radius: 20px;
    }

    .search input {
      width: 100%;
      border: 0;
      outline: 0;
      background: transparent;
      color: #555;
      font-size: 14px;
    }

    .search button {
      border: 0;
      background: transparent;
      color: var(--red);
      cursor: pointer;
      font-size: 20px;
      line-height: 1;
    }

    .language {
      position: relative;
    }

    .language-button {
      display: flex;
      align-items: center;
      gap: 7px;
      height: 34px;
      padding: 0 12px;
      border: 1px solid #e4e4e4;
      border-radius: 18px;
      background: #fff;
      color: #222;
      cursor: pointer;
      font-size: 13px;
      font-weight: 600;
    }

    .language-menu {
      position: absolute;
      right: 0;
      top: calc(100% + 10px);
      display: none;
      width: 210px;
      padding: 8px;
      border: 1px solid #e5e5e5;
      background: #fff;
      box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
    }

    .language.open .language-menu {
      display: block;
    }

    .language-menu button {
      display: block;
      width: 100%;
      padding: 9px 10px;
      border: 0;
      background: transparent;
      color: #333;
      cursor: pointer;
      text-align: left;
      font-size: 14px;
    }

    .language-menu button:hover,
    .language-menu button.active {
      background: #f6f6f6;
      color: var(--red);
    }

    .mobile-toggle {
      display: none;
      width: 38px;
      height: 34px;
      border: 0;
      background: var(--red);
      color: #fff;
      cursor: pointer;
      font-size: 21px;
    }

    .hero {
      position: relative;
      min-height: calc(100vh - 50px);
      overflow: hidden;
      background: #111;
    }

    .hero img {
      width: 100%;
      min-height: calc(100vh - 50px);
      object-fit: cover;
      object-position: center top;
    }

    .hero-dots {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 28px;
      display: flex;
      justify-content: center;
      gap: 12px;
    }

    .hero-dot {
      width: 13px;
      height: 13px;
      border: 2px solid #fff;
      border-radius: 50%;
      background: #fff;
      opacity: .95;
    }

    .hero-dot:not(.active) {
      background: transparent;
    }

    .section {
      padding: 78px 0;
    }

    .section-title {
      margin-bottom: 42px;
      text-align: center;
    }

    .section-title h2 {
      margin: 0;
      color: #333;
      font-size: 36px;
      font-weight: 500;
      line-height: 1.2;
      text-transform: capitalize;
    }

    .section-title .red-line {
      display: block;
      width: 52px;
      height: 3px;
      margin: 15px auto 0;
      background: var(--red);
    }

    .product-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }

    .product-card {
      display: block;
      overflow: hidden;
      background: #fff;
      color: #333;
      box-shadow: 0 0 10px rgba(0, 0, 0, .08);
      transition: .25s ease;
    }

    .product-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 22px rgba(0, 0, 0, .12);
    }

    .product-photo {
      width: 100%;
      aspect-ratio: 1 / .72;
      background: #f7f7f7 center / cover no-repeat;
    }

    .product-info {
      padding: 20px 20px 24px;
      min-height: 210px;
    }

    .product-info h3 {
      display: -webkit-box;
      min-height: 58px;
      margin: 0 0 8px;
      overflow: hidden;
      color: #222;
      font-size: 21px;
      font-weight: 500;
      line-height: 1.38;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .product-date {
      margin-bottom: 12px;
      color: #222;
      font-size: 14px;
    }

    .product-info p {
      display: -webkit-box;
      margin: 0;
      overflow: hidden;
      color: #666;
      font-size: 14px;
      line-height: 1.65;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
    }

    .about {
      position: relative;
      overflow: hidden;
      background: #fff;
    }

    .about-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 44px;
      align-items: center;
    }

    .about-copy {
      position: relative;
      padding-left: 22px;
    }

    .about-copy h2 {
      margin: 0 0 28px;
      color: #333;
      font-size: 28px;
      font-weight: 500;
      text-transform: uppercase;
    }

    .about-copy p {
      margin: 0 0 16px;
      color: #777;
      font-size: 14px;
      line-height: 1.75;
    }

    .about-copy .big-dhn {
      position: absolute;
      left: 0;
      bottom: -64px;
      z-index: -1;
      color: rgba(215, 25, 32, .09);
      font-size: 130px;
      font-weight: 800;
      line-height: 1;
    }

    .more-link {
      display: inline-flex;
      align-items: center;
      min-height: 40px;
      margin-top: 10px;
      padding: 0 24px;
      background: var(--red);
      color: #fff;
      font-size: 14px;
      text-transform: uppercase;
    }

    .about-images {
      position: relative;
      min-height: 430px;
    }

    .about-images img:first-child {
      position: absolute;
      right: 0;
      top: 0;
      width: 80%;
      box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
    }

    .about-images img:last-child {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 52%;
      border: 10px solid #fff;
      box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
    }

    .intro {
      color: #fff;
      background:
        linear-gradient(90deg, rgba(0, 0, 0, .68), rgba(0, 0, 0, .3)),
        url("https://tc.131418.xyz/i/2026/08/03/k8bw2e-2.jpg") center / cover;
    }

    .intro-content {
      width: min(690px, 100%);
      padding: 24px 0 34px;
    }

    .intro h2 {
      margin: 0 0 24px;
      font-size: 34px;
      font-weight: 500;
    }

    .intro p {
      margin: 0 0 18px;
      color: rgba(255, 255, 255, .9);
      font-size: 15px;
      line-height: 1.8;
    }

    .news {
      background: #fff;
    }

    .news-layout {
      display: grid;
      grid-template-columns: 270px 1fr;
      gap: 42px;
      align-items: start;
    }

    .news-heading h2 {
      margin: 0;
      color: #333;
      font-size: 28px;
      font-weight: 500;
    }

    .news-list {
      display: grid;
      gap: 26px;
    }

    .news-item {
      display: grid;
      grid-template-columns: 230px 1fr;
      gap: 24px;
      padding-bottom: 26px;
      border-bottom: 1px solid var(--line);
      color: #333;
    }

    .news-thumb {
      aspect-ratio: 1.35 / 1;
      background: #eee center / cover no-repeat;
    }

    .news-body h3 {
      margin: 0 0 8px;
      color: #111;
      font-size: 23px;
      font-weight: 500;
      line-height: 1.35;
    }

    .news-body time {
      display: block;
      margin-bottom: 10px;
      color: #999;
      font-size: 13px;
    }

    .news-body p {
      margin: 0 0 14px;
      color: #666;
      font-size: 14px;
      line-height: 1.7;
    }

    .view-more {
      display: inline-block;
      color: var(--red);
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .application {
      background: #fafafa;
    }

    .case-strip {
      display: grid;
      grid-template-columns: repeat(4, 340px);
      gap: 20px;
      overflow-x: auto;
      padding-bottom: 10px;
      scroll-snap-type: x mandatory;
    }

    .case-card {
      scroll-snap-align: start;
      color: #333;
    }

    .case-card img {
      width: 340px;
      height: 340px;
      object-fit: cover;
    }

    .case-card h3 {
      margin: 14px 0 8px;
      overflow: hidden;
      color: #111;
      font-size: 18px;
      font-weight: 400;
      line-height: 1.45;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .case-card p {
      display: -webkit-box;
      margin: 0;
      overflow: hidden;
      color: #666;
      font-size: 13px;
      line-height: 1.6;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .seo-lab {
      background: #fff;
    }

    .seo-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
    }

    .seo-box {
      padding: 28px;
      border: 1px solid var(--line);
      background: #fff;
      box-shadow: 0 0 8px rgba(0, 0, 0, .05);
    }

    .seo-box h3 {
      margin: 0 0 12px;
      color: #222;
      font-size: 22px;
      font-weight: 500;
    }

    .seo-box p,
    .seo-box li {
      color: #666;
      font-size: 14px;
      line-height: 1.75;
    }

    .seo-box ul,
    .seo-box ol {
      margin: 14px 0 0;
      padding-left: 20px;
    }

    .contact {
      color: #fff;
      background:
        linear-gradient(90deg, rgba(0, 0, 0, .76), rgba(0, 0, 0, .42)),
        url("https://tc.131418.xyz/i/2026/08/03/k8bwod-2.jpg") center / cover;
    }

    .contact-title {
      text-align: center;
    }

    .contact-title h2 {
      margin: 0 0 14px;
      font-size: 34px;
      font-weight: 500;
    }

    .contact-title p {
      width: min(690px, 100%);
      margin: 0 auto 28px;
      color: rgba(255, 255, 255, .82);
      line-height: 1.7;
    }

    .contact-actions {
      display: flex;
      justify-content: center;
      gap: 24px;
      flex-wrap: wrap;
      margin-bottom: 36px;
    }

    .contact-now {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 210px;
      min-height: 44px;
      background: var(--red);
      color: #fff;
      font-weight: 600;
    }

    .contact-line {
      display: flex;
      align-items: center;
      gap: 10px;
      color: rgba(255, 255, 255, .9);
      font-size: 20px;
    }

    .inquiry-form {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      max-width: 880px;
      margin: 0 auto;
      padding: 26px;
      background: rgba(255, 255, 255, .96);
    }

    .inquiry-form input,
    .inquiry-form select,
    .inquiry-form textarea {
      width: 100%;
      min-height: 44px;
      padding: 11px 12px;
      border: 1px solid #dedede;
      outline: 0;
      color: #222;
      font: 14px var(--font);
    }

    .inquiry-form textarea {
      min-height: 112px;
      resize: vertical;
    }

    .full {
      grid-column: 1 / -1;
    }

    .submit {
      min-height: 46px;
      border: 0;
      background: var(--red);
      color: #fff;
      cursor: pointer;
      font-weight: 700;
      text-transform: uppercase;
    }

    .inquiry-status {
      margin-top: 14px;
      padding: 11px 14px;
      border-radius: 6px;
      font-size: 14px;
      display: none;
      line-height: 1.5;
      color: #222; /* 防止继承 .contact 的白色 */
    }

    .inquiry-status.success {
      display: block;
      background: #ecfdf5;
      color: #065f46;
      border: 1px solid #a7f3d0;
    }

    .inquiry-status.error {
      display: block;
      background: #fef2f2;
      color: #991b1b;
      border: 1px solid #fecaca;
    }

    .footer {
      padding: 50px 0 22px;
      background: #f6f6f6;
      color: #555;
    }

    @media (max-width: 720px) {
      .pd-layout {
        grid-template-columns: 1fr !important;
      }
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.45fr .65fr .8fr;
      gap: 42px;
      margin-bottom: 34px;
    }

    .footer h3 {
      margin: 0 0 18px;
      color: #333;
      font-size: 24px;
      font-weight: 600;
    }

    .footer p,
    .footer a {
      display: block;
      margin: 0 0 10px;
      color: #666;
      font-size: 14px;
      line-height: 1.65;
    }

    .copyright {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding-top: 20px;
      border-top: 1px solid #ddd;
      color: #777;
      font-size: 13px;
    }

    .floating-contact {
      position: fixed;
      right: 0;
      top: 52%;
      z-index: 95;
      display: grid;
      gap: 1px;
      transform: translateY(-50%);
    }

    .float-item {
      position: relative;
      display: grid;
      width: 44px;
      height: 64px;
      place-items: center;
      background: var(--red);
      color: #fff;
      font-size: 25px;
    }

    .float-item span {
      position: absolute;
      right: 50px;
      display: none;
      min-width: 230px;
      padding: 12px 14px;
      background: var(--red);
      color: #fff;
      font-size: 14px;
      white-space: nowrap;
    }

    .float-item:hover span {
      display: block;
    }

    .ask-us {
      position: fixed;
      right: 40px;
      bottom: 36px;
      z-index: 94;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 56px;
      padding: 0 22px;
      border-radius: 28px;
      background: #2788ff;
      color: #fff;
      font-size: 18px;
      font-weight: 700;
      box-shadow: 0 12px 22px rgba(39, 136, 255, .25);
    }

    #google_translate_element {
      position: absolute;
      right: 0;
      top: 42px;
      width: 1px;
      height: 1px;
      overflow: hidden;
      opacity: 0;
      pointer-events: none;
    }

    body.translated-ltr,
    body.translated-rtl {
      top: 0 !important;
    }

    .skiptranslate iframe {
      display: none !important;
    }

    @media (max-width: 1180px) {
      .nav-row {
        grid-template-columns: 170px 1fr 250px;
      }

      .main-nav {
        gap: 24px;
        font-size: 14px;
      }
    }

    @media (max-width: 960px) {
      .nav-row {
        grid-template-columns: 1fr auto;
        min-height: 64px;
      }

      .header-tools {
        gap: 8px;
      }

      .mobile-toggle {
        display: block;
      }

      .main-nav {
        grid-column: 1 / -1;
        display: none;
        flex-direction: column;
        align-items: stretch;
        height: auto;
        gap: 0;
        border-top: 1px solid var(--line);
      }

      .site-header.menu-open .main-nav {
        display: flex;
      }

      .main-nav a {
        height: 44px;
      }

      .hero,
      .hero img {
        min-height: 460px;
      }

      .product-grid,
      .about-inner,
      .news-layout,
      .seo-grid,
      .footer-grid {
        grid-template-columns: 1fr;
      }

      .about-images {
        min-height: 360px;
      }

      .news-item {
        grid-template-columns: 190px 1fr;
      }
    }

    @media (max-width: 640px) {
      .logo img {
        width: 92px;
      }

      .search,
      .mail-link {
        display: none;
      }

      .language-button {
        max-width: 118px;
        overflow: hidden;
      }

      .section {
        padding: 54px 0;
      }

      .section-title h2 {
        font-size: 29px;
      }

      .hero,
      .hero img {
        min-height: 340px;
      }

      .product-info {
        min-height: auto;
      }

      .about-images {
        min-height: auto;
      }

      .about-images img:first-child,
      .about-images img:last-child {
        position: static;
        width: 100%;
        margin-bottom: 12px;
        border: 0;
      }

      .news-item,
      .inquiry-form,
      .copyright {
        grid-template-columns: 1fr;
      }

      .news-item {
        display: block;
      }

      .news-thumb {
        margin-bottom: 16px;
      }

      .floating-contact {
        display: none;
      }

      .ask-us {
        right: 18px;
        bottom: 18px;
        min-height: 48px;
        padding: 0 18px;
        font-size: 16px;
      }
    }
