/* ========== RESET ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--text);
  line-height:var(--leading-normal);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1,"ss01" 1,"cv11" 1;
  overflow-x:hidden
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ===== 鏃犻殰纰嶏細璺宠繃瀵艰埅閾炬帴 ===== */
.skip-link{
  position:absolute;left:0.75rem;top:0.75rem;z-index:2000;
  padding:0.6rem 1.1rem;border-radius:6px;
  background:var(--navy,#0F1B2D);color:#fff;font-size:0.85rem;font-weight:600;
  transform:translateY(-200%);opacity:0;pointer-events:none;
  transition:transform 0.2s ease,opacity 0.2s ease;
}
.skip-link:focus{
  transform:translateY(0);opacity:1;pointer-events:auto;
}

/* ========== VARIABLES 鈥?Putzmeister palette (deeper) ========== */
:root{
  /* Background: pushed deeper for heavier industrial feel */
  --bg:#EDECE8;
  --bg-alt:#DFDDD7;
  --white:#FFFFFF;

  /* Typography: deeper near-black, neutral grays */
  --text:#0F0F0E;
  --text-secondary:#4A4A47;
  --text-muted:#7A7A75;

  /* Brand navy: pushed to near-black steel-blue */
  --navy:#0F1E2E;
  --navy-light:#1F3550;
  --navy-deep:#050B12;
  --navy-dim:#BFC9D2;

  /* Action: deeper, more industrial red */
  --terracotta:#B23A1F;
  --terracotta-light:#D26843;
  --terracotta-dim:#EBD2C7;

  /* Trust/data: deeper steel */
  --steel:#36424C;
  --steel-light:#4F5B66;
  --steel-dim:#CFD4D9;

  /* Borders: pushed darker for stronger definition */
  --border:#C8C5BE;
  --border-light:#D8D4CC;

  /* Shadow: deeper opacity for more visual weight */
  --shadow:0 4px 24px rgba(15,15,14,0.06),0 1px 4px rgba(15,15,14,0.03);
  --shadow-lg:0 20px 60px rgba(15,15,14,0.10),0 8px 24px rgba(15,15,14,0.06);

  /* Geometry */
  --radius:14px;
  --radius-sm:8px;
  --radius-xs:4px;
  --max-w:1240px;
  --section-py:clamp(4rem,8vw,7rem);
  --transition:0.4s cubic-bezier(0.25,0.46,0.45,0.94);

  /* Fonts: dual-typeface system */
  --font-sans:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',Menlo,Consolas,monospace;

  /* Type scale (1.25 modular ratio) */
  --text-xs:0.6875rem;     /* 11px 鈥?tags, units */
  --text-sm:0.8125rem;     /* 13px 鈥?meta, captions */
  --text-base:0.9375rem;   /* 15px 鈥?body */
  --text-lg:1.0625rem;     /* 17px 鈥?large body */
  --text-xl:clamp(1.25rem,2vw,1.5rem);
  --text-2xl:clamp(1.5rem,2.5vw,2rem);
  --text-3xl:clamp(1.875rem,3.5vw,2.75rem);
  --text-4xl:clamp(2.25rem,5vw,4.5rem);

  /* Line heights */
  --leading-tight:1.1;
  --leading-snug:1.3;
  --leading-normal:1.55;
  --leading-relaxed:1.7;
}

/* ========== UTILITY ========== */
.container{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.25rem,3vw,2rem);position:relative;z-index:1}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.7rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--terracotta);
  background:var(--terracotta-dim);
  padding:0.35rem 0.85rem;border-radius:100px;
}
.tag-navy{
  color:var(--navy);
  background:var(--navy-dim);
}

/* ========== NOISE OVERLAY ========== */
body::after{
  content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;
  opacity:0.012;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;background-size:256px 256px;
}

/* ========== HEADER ========== */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(248,247,244,0.92);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-light);
  transition:background var(--transition);
  /* 鍒樻捣灞忛《閮ㄥ畨鍏ㄥ尯琛ュ伩锛岄伩鍏嶇姸鎬佹爮閬尅瀵艰埅鍐呭 */
  padding-top:env(safe-area-inset-top,0);
}
.header-inner{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1.25rem,3vw,2rem);
  height:clamp(3.5rem,6vw,4.5rem);
}
.header-right{display:flex;align-items:center;gap:0.5rem}
.header-search{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border-light);border-radius:8px;padding:0 0.6rem;transition:border-color 0.2s;margin-right:0.5rem}
.header-search:focus-within{border-color:var(--navy)}
.header-search svg{flex-shrink:0;color:var(--text-muted)}
.header-search input{background:transparent;border:none;padding:0.35rem 0.2rem;font-size:0.75rem;font-family:inherit;color:var(--text);width:80px;transition:width 0.25s;outline:none}
.header-search input::placeholder{color:var(--text-muted)}
.header-search input:focus{width:140px}
@media(max-width:768px){.header-search{display:none}}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{
  width:36px;height:36px;
  background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:0.7rem;font-weight:800;letter-spacing:-0.03em;
  color:#fff;border-radius:var(--radius-xs);
}
.logo-text{font-size:1rem;font-weight:700;letter-spacing:-0.02em;color:var(--text)}
.logo-text span{font-weight:300;color:var(--text-muted)}

nav{display:flex;align-items:center;gap:2px}
nav a{
  font-size:0.8rem;font-weight:500;
  padding:0.5rem 1rem;border-radius:8px;
  color:var(--text-secondary);
  transition:all 0.2s;
}
nav a:hover{color:var(--text);background:rgba(15,30,46,0.06)}
nav a[aria-current]{color:var(--navy);font-weight:600}
nav .nav-cta{
  background:var(--navy);color:#fff;
  font-weight:600;padding:0.5rem 1.25rem;margin-left:0.5rem;
}
nav .nav-cta:hover{background:var(--navy-light);color:#fff}

/* ---- Products dropdown ---- */
.nav-dropdown{position:relative}
.nav-dropdown-trigger{
  display:inline-flex;align-items:center;gap:5px;
  cursor:pointer;-webkit-user-select:none;user-select:none;
}
.nav-caret{
  flex-shrink:0;
  transition:transform 0.2s var(--ease-out, ease);
  opacity:0.6;
}
.nav-dropdown:hover .nav-caret,
.nav-dropdown:focus-within .nav-caret,
.nav-dropdown.open .nav-caret{transform:rotate(180deg);opacity:1}

.nav-dropdown-panel{
  position:absolute;top:calc(100% + 6px);left:50%;
  transform:translateX(-50%) translateY(-4px);
  min-width:340px;
  background:var(--bg);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm, 8px);
  box-shadow:var(--shadow-lg);
  padding:0.5rem;
  display:flex;flex-direction:column;gap:2px;
  opacity:0;pointer-events:none;
  visibility:hidden;
  transition:opacity 0.18s var(--ease-out, ease), transform 0.18s var(--ease-out, ease), visibility 0s linear 0.18s;
  z-index:110;
}
.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel,
.nav-dropdown.open .nav-dropdown-panel{
  opacity:1;pointer-events:auto;visibility:visible;
  transform:translateX(-50%) translateY(0);
  transition:opacity 0.18s var(--ease-out, ease), transform 0.18s var(--ease-out, ease), visibility 0s linear 0s;
}
.nav-dropdown-panel::before{
  content:'';position:absolute;top:-6px;left:0;right:0;height:6px;
}

.nav-dropdown-item{
  display:flex;flex-direction:column;gap:4px;
  padding:0.7rem 0.85rem;border-radius:6px;
  color:var(--text);
  transition:background 0.15s;
  text-decoration:none;
}
.nav-dropdown-item:hover,.nav-dropdown-item:focus-visible{
  background:rgba(15,30,46,0.05);
  color:var(--text);
}
.nav-dropdown-meta{
  display:flex;align-items:baseline;gap:0.6rem;
}
.nav-dropdown-series{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:0.65rem;font-weight:600;letter-spacing:0.06em;
  color:var(--text-muted);
  text-transform:uppercase;
}
.nav-dropdown-name{
  font-size:0.92rem;font-weight:600;color:var(--text);
  letter-spacing:-0.01em;
}
.nav-dropdown-spec{
  font-size:0.72rem;color:var(--text-secondary);
  font-variant-numeric:tabular-nums;
  letter-spacing:0.01em;
}
.nav-dropdown-divider{
  height:1px;background:var(--border-light);
  margin:0.4rem 0.3rem;
}
.nav-dropdown-secondary{
  display:flex;align-items:center;gap:6px;
  padding:0.55rem 0.85rem;border-radius:6px;
  font-size:0.78rem;font-weight:500;
  color:var(--text-secondary);
  text-decoration:none;
  transition:background 0.15s, color 0.15s;
}
.nav-dropdown-secondary:hover,.nav-dropdown-secondary:focus-visible{
  background:rgba(15,30,46,0.05);
  color:var(--navy);
}
.nav-dropdown-secondary svg{flex-shrink:0;opacity:0.7}
.nav-dropdown-secondary:hover svg{opacity:1;transform:translateX(2px);transition:transform 0.15s, opacity 0.15s}

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;border-radius:8px}
.hamburger:hover{background:rgba(15,30,46,0.06)}
.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:0.25s}

/* ========== HERO (Tesla-style full-bleed banner) ========== */
.hero{
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  display:flex;align-items:flex-end;
  position:relative;
  padding:clamp(6rem,10vw,8rem) 0 clamp(3rem,5vw,4rem);
  overflow:hidden;
  color:#fff;
  background:var(--navy-deep);
}
.hero-image{
  position:absolute;inset:0;z-index:0;
  background:var(--navy-deep);
}
.hero-slide{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center 55%;
  opacity:0;
  transition:opacity 0.8s ease;
  z-index:0;
}
.hero-slide.active{opacity:1;z-index:1}
.hero-slide-1{background-image:url(../image/banner.webp)}
.hero-slide-2{background-image:url(../image/banner1.webp)}
.hero-slide-3{background-image:url(../image/banner2.webp)}
.hero-image-fallback{
  background:linear-gradient(135deg,#0F1E2E 0%,#1F3550 50%,#050B12 100%);
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,
      rgba(5,11,18,0.45) 0%,
      rgba(5,11,18,0.15) 35%,
      rgba(5,11,18,0.55) 70%,
      rgba(5,11,18,0.85) 100%),
    linear-gradient(90deg,
      rgba(5,11,18,0.78) 0%,
      rgba(5,11,18,0.30) 45%,
      rgba(5,11,18,0.10) 100%);
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:var(--navy-deep);
}
.hero .container{position:relative;z-index:2}

/* Hero carousel controls */
.hero-arrow{
  position:absolute;top:50%;z-index:4;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,0.25);
  background:rgba(5,11,18,0.35);
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 0.3s,background 0.2s;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.hero:hover .hero-arrow,.hero:focus-within .hero-arrow{opacity:1}
.hero-arrow:hover{background:rgba(5,11,18,0.6)}
.hero-arrow-next{right:clamp(1rem,3vw,2rem)}
.hero-arrow-prev{left:clamp(1rem,3vw,2rem)}

.hero-dots{
  position:absolute;bottom:clamp(5rem,8vw,7rem);left:50%;z-index:4;
  transform:translateX(-50%);
  display:flex;gap:0.5rem;
}
.hero-dot{
  width:10px;height:10px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.5);
  background:transparent;
  cursor:pointer;padding:0;
  transition:all 0.25s;
}
.hero-dot.active{
  background:var(--terracotta);
  border-color:var(--terracotta);
  box-shadow:0 0 8px rgba(178,58,31,0.5);
}
.hero-dot:hover{border-color:#fff}

/* Pause on hover / focus-within */
.hero.paused .hero-slide{transition:opacity 0.8s ease}

/* Reduced motion: show first slide, no auto-cycle */
@media(prefers-reduced-motion:reduce){
  .hero-slide{transition:none}
  .hero-arrow,.hero-dots{display:none}
}


.hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.hero-content{max-width:680px}

.hero-tag{
  margin-bottom:1.5rem;
  background:rgba(255,255,255,0.10);
  color:#fff;
  border:1px solid rgba(255,255,255,0.18);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.hero-tag svg{color:var(--terracotta)}

.hero h1{
  font-size:clamp(2.6rem,6vw,5.25rem);
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.02;
  margin-bottom:1rem;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,0.35);
}
.hero h1 .accent{color:#fff}
.hero h1 .accent-line{
  display:block;
  color:var(--terracotta-light);
  font-weight:700;
  font-style:italic;
  font-family:'Inter',serif;
}
.hero-sub{
  font-size:clamp(1rem,1.25vw,1.125rem);
  color:rgba(255,255,255,0.85);
  line-height:1.6;
  max-width:540px;
  margin-bottom:2rem;
  text-shadow:0 1px 8px rgba(0,0,0,0.3);
}
.hero-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:2.5rem}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.85rem;font-weight:600;
  padding:0.85rem 1.75rem;border-radius:var(--radius-sm);
  border:none;cursor:pointer;
  transition:all 0.25s;
  font-family:inherit;
}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,30,46,0.25)}
.btn-secondary{
  background:var(--white);color:var(--text);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.btn-secondary:hover{border-color:var(--navy);color:var(--navy);box-shadow:var(--shadow-lg)}

/* Hero-specific button overrides for dark background */
.hero .btn-primary{
  background:var(--terracotta);color:#fff;
  font-size:0.9rem;padding:1rem 2rem;
}
.hero .btn-primary:hover{
  background:var(--terracotta-light);
  box-shadow:0 8px 24px rgba(178,58,31,0.4);
}
.hero .btn-secondary{
  background:transparent;color:#fff;
  border:1px solid rgba(255,255,255,0.32);
  font-size:0.9rem;padding:1rem 2rem;
  box-shadow:none;
}
.hero .btn-secondary:hover{
  background:rgba(255,255,255,0.10);
  border-color:rgba(255,255,255,0.6);
  color:#fff;box-shadow:none;
}

.hero-trust{
  display:flex;align-items:center;gap:1.75rem;
  flex-wrap:wrap;
}
.hero-trust-item{
  display:flex;align-items:center;gap:8px;
  font-size:0.7rem;font-weight:500;color:rgba(255,255,255,0.82);
  text-transform:uppercase;letter-spacing:0.06em;
  font-family:var(--font-mono);
}
.hero-trust-item svg{width:14px;height:14px;stroke:rgba(255,255,255,0.85);stroke-width:1.5;fill:none}
.hero-trust-item .dot{width:4px;height:4px;border-radius:50%;background:var(--terracotta)}

/* Scroll indicator */
.hero-scroll{
  position:absolute;
  bottom:1.5rem;left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:inline-flex;flex-direction:column;align-items:center;gap:0.5rem;
  color:rgba(255,255,255,0.72);
  font-size:0.65rem;font-weight:500;
  text-transform:uppercase;letter-spacing:0.15em;
  font-family:var(--font-mono);
  text-decoration:none;cursor:pointer;
  transition:color 0.2s;
}
.hero-scroll:hover{color:#fff}
.hero-scroll svg{
  width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  animation:scroll-bounce 2s ease-in-out infinite;
}
@keyframes scroll-bounce{
  0%,100%{transform:translateY(0);opacity:0.55}
  50%{transform:translateY(6px);opacity:1}
}

/* Floating spec HUD (top-right) */
.hero-floating-spec{
  position:absolute;
  top:clamp(6rem,9vw,7rem);
  right:clamp(1.5rem,3vw,2.5rem);
  z-index:3;
  display:flex;align-items:center;gap:0.6rem;
  background:rgba(15,30,46,0.45);
  border:1px solid rgba(255,255,255,0.12);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-radius:var(--radius-sm);
  padding:0.6rem 0.9rem;
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.hero-floating-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--terracotta);
  position:relative;
  flex-shrink:0;
}
.hero-floating-dot::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:var(--terracotta);
  animation:pulse-ring 2.4s ease-out infinite;
  z-index:-1;
}
.hero-floating-text{
  display:flex;flex-direction:column;gap:1px;
}
.hero-floating-label{
  font-size:0.6rem;font-weight:600;
  color:rgba(255,255,255,0.95);
  letter-spacing:0.08em;text-transform:uppercase;
}
.hero-floating-value{
  font-size:0.625rem;
  color:rgba(255,255,255,0.62);
  letter-spacing:0.04em;
}
@keyframes pulse-ring{
  0%{transform:scale(1);opacity:0.55}
  100%{transform:scale(3.2);opacity:0}
}

/* ========== QUICK SEARCH ========== */
.search-section{
  background:var(--navy);
  padding:clamp(1.5rem,3vw,2.25rem) 0;
}
.search-box{
  display:flex;align-items:center;gap:0.75rem;
  max-width:640px;margin:0 auto;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:10px;padding:0.4rem 0.5rem 0.4rem 1rem;
  transition:border-color 0.2s,background 0.2s;
}
.search-box:focus-within{
  border-color:rgba(255,255,255,0.45);
  background:rgba(255,255,255,0.14);
}
.search-box-icon{flex-shrink:0;color:rgba(255,255,255,0.55)}
.search-box-input{
  flex:1;background:transparent;border:none;
  font-size:0.9375rem;font-family:inherit;color:#fff;outline:none;
}
.search-box-input::placeholder{color:rgba(255,255,255,0.45)}
.search-box-btn{
  flex-shrink:0;padding:0.5rem 1.25rem;
  font-size:0.875rem;font-weight:600;
  background:#fff;color:var(--navy);
  border:none;border-radius:7px;cursor:pointer;
  transition:background 0.15s,transform 0.1s;
}
.search-box-btn:hover{background:var(--accent)}
.search-box-btn:active{transform:scale(0.97)}
@media(max-width:480px){
  .search-box{padding:0.35rem 0.4rem 0.35rem 0.85rem;gap:0.5rem}
  .search-box-input{font-size:0.875rem}
  .search-box-btn{padding:0.45rem 0.9rem;font-size:0.8rem}
}

/* ========== LOGO BAR ========== */
.logo-bar{
  padding:clamp(2rem,3vw,3rem) 0;
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  background:var(--white);
}
.logo-bar-inner{
  max-width:var(--max-w);margin:0 auto;
  padding:0 clamp(1.25rem,3vw,2rem);
}
.logo-bar-label{
  text-align:center;
  font-size:0.6rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:1.5rem;
}
.logo-bar-logos{
  display:flex;justify-content:center;align-items:center;
  gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap;
}
.logo-bar-logos span{
  font-size:0.8rem;font-weight:600;color:var(--text-muted);
  letter-spacing:0.04em;
  opacity:0.45;
  transition:opacity 0.3s;
}
.logo-bar-logos span:hover{opacity:0.8;color:var(--text-secondary)}

/* ========== SECTION BASE ========== */
section{padding:var(--section-py) 0}
.section-header{
  text-align:center;
  max-width:680px;
  margin:0 auto clamp(2.5rem,5vw,4rem);
}
.section-header .tag{margin-bottom:1rem}
.section-header h2{
  font-size:clamp(1.8rem,3.5vw,3rem);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.1;
  margin-bottom:0.75rem;
}
.section-header p{
  font-size:clamp(0.95rem,1.15vw,1.0625rem);
  color:var(--text-secondary);
  line-height:1.65;
}

/* ========== SECTION ALT ========== */
.section-alt{background:var(--bg-alt)}
.section-white{background:var(--white)}

/* ========== PRODUCTS ========== */
.products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
/* 棣栭〉鍙湁2涓骇鍝侊紝鐢?鍒楀眳涓?*/
#products .products-grid{
  grid-template-columns:repeat(2,1fr);
}
.product-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2.5rem);
  display:flex;flex-direction:column;
  transition:all 0.3s;
  box-shadow:var(--shadow);
  position:relative;
  height:100%;
  min-width:0;
  overflow:hidden;
}
.product-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.product-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
  height:100%;
}
.product-card-link:hover{
  text-decoration:none;
  color:inherit;
}
.product-card-link *{
  text-decoration:none;
}

.product-visual{
  width:100%;aspect-ratio:16/10;
  background:var(--bg);
  border-radius:var(--radius-sm);
  margin-bottom:1.5rem;
  overflow:hidden;
  border:1px solid var(--border-light);
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.3s;
}
.product-card:hover .product-visual{border-color:var(--navy-dim)}
.product-visual svg{width:90%;height:90%}

.product-tag{
  font-size:0.625rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--navy);
  margin-bottom:0.5rem;
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.product-card h3{
  font-size:clamp(1.1rem,1.5vw,1.4rem);
  font-weight:700;
  letter-spacing:-0.02em;
  margin-bottom:0.5rem;
  background:transparent;
  text-decoration:none;
}
.product-card-link h3,
.product-card-link h3:visited{
  color:inherit;
  background:transparent;
  text-decoration:none;
}
.product-desc{
  font-size:0.9375rem;
  color:var(--text-secondary);
  line-height:1.6;
  margin-bottom:1.25rem;
  flex:1;
}
.product-specs-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;
  padding:1rem;background:var(--bg);
  border-radius:var(--radius-sm);
  margin-bottom:1.25rem;
  min-width:0;
}
.product-spec-item{display:flex;flex-direction:column;gap:2px;min-width:0}
.product-spec-label{
  font-size:0.6rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--text-muted);
  font-family:var(--font-mono);
  overflow-wrap:break-word;word-break:break-word;
}
.product-spec-value{
  font-size:0.8125rem;font-weight:600;color:var(--text);
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
  overflow-wrap:break-word;word-break:break-word;
}
.product-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.75rem;font-weight:600;
  color:var(--navy);
  transition:gap 0.25s;
}
.product-link:hover{gap:10px;color:var(--terracotta)}
.product-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ========== STATISTICS ========== */
.stats-bar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.stat-item{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2.5rem);
  text-align:center;
  box-shadow:var(--shadow);
  transition:all 0.3s;
}
.stat-item:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.stat-num{
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1;
  color:var(--navy);
  margin-bottom:0.35rem;
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.stat-num span{font-size:0.5em;font-weight:500;color:var(--text-muted)}
.stat-label{
  font-size:0.75rem;
  color:var(--text-secondary);
  font-weight:500;
}

/* ========== ADVANTAGES ========== */
.advantages-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.advantage-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2.5rem);
  text-align:center;
  box-shadow:var(--shadow);
  transition:all 0.3s;
}
.advantage-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.advantage-icon{
  width:52px;height:52px;
  background:var(--navy-dim);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.25rem;
  color:var(--navy);
  transition:background 0.3s;
}
.advantage-card:hover .advantage-icon{background:var(--navy);color:#fff}
.advantage-card:hover .advantage-icon svg{stroke:#fff}
.advantage-card h4{
  font-size:0.9375rem;font-weight:600;
  margin-bottom:0.5rem;
}
.advantage-card p{
  font-size:0.875rem;
  color:var(--text-secondary);
  line-height:1.6;
}

/* ========== SPECS TABLE ========== */
.specs-wrap{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  box-shadow:var(--shadow);
}
.specs-table{width:100%;border-collapse:collapse;min-width:580px}
.specs-table thead{background:var(--steel)}
.specs-table th{
  font-size:0.65rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);
  padding:1rem 1.25rem;
  text-align:left;
  font-family:var(--font-mono);
}
.specs-table th:first-child{color:rgba(255,255,255,0.6)}
.specs-table td{
  font-size:0.875rem;font-weight:500;
  padding:0.9rem 1.25rem;
  border-bottom:1px solid var(--border-light);
  color:var(--text);
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.specs-table tr:last-child td{border-bottom:none}
.specs-table td:first-child{color:var(--text-secondary);font-weight:400}
.specs-table td .highlight{color:var(--terracotta);font-weight:700}
.specs-table tbody tr{transition:background 0.2s}
.specs-table tbody tr:hover{background:var(--bg)}

/* ========== CERTIFICATIONS ========== */
.cert-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:1rem;
}
.cert-item{
  display:flex;align-items:center;gap:14px;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  padding:0.9rem 1.25rem;
  box-shadow:var(--shadow);
  transition:all 0.3s;
  flex:0 1 auto;
  min-width:180px;
}
.cert-item:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-1px);
}
.cert-icon{
  width:38px;height:38px;
  background:var(--steel-dim);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:0.8rem;font-weight:700;color:var(--steel);
  flex-shrink:0;
}
.cert-info{display:flex;flex-direction:column}
.cert-code{font-size:0.8125rem;font-weight:600;font-family:var(--font-mono);font-feature-settings:"tnum" 1}
.cert-label{font-size:0.625rem;color:var(--text-muted);margin-top:1px;font-family:var(--font-mono);letter-spacing:0.04em;text-transform:uppercase}

/* ========== CTA ========== */
.cta-section{
  position:relative;
  overflow:hidden;
  background:var(--navy);
  color:#fff;
}
.cta-section::before{
  content:'';
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 60% 50% at 30% 50%, rgba(255,255,255,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 80% 30%, rgba(178,58,31,0.12) 0%, transparent 50%);
}
.cta-section .section-header h2{color:#fff}
.cta-section .section-header p{color:rgba(255,255,255,0.65)}
.cta-box{
  max-width:640px;margin:0 auto;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius);
  padding:clamp(2rem,4vw,4rem);
  text-align:center;
  position:relative;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.cta-box h2{
  font-size:clamp(1.5rem,3vw,2.5rem);
  font-weight:700;
  letter-spacing:-0.02em;
  margin-bottom:0.75rem;
}
.cta-box p{
  font-size:clamp(0.9rem,1.1vw,1.05rem);
  color:rgba(255,255,255,0.65);
  line-height:1.6;
  max-width:480px;margin:0 auto 1.5rem;
}
.cta-actions{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}
.cta-actions .btn-primary{
  background:var(--terracotta);color:#fff;
  font-size:0.9rem;padding:1rem 2rem;
}
.cta-actions .btn-primary:hover{background:var(--terracotta-light);box-shadow:0 8px 24px rgba(178,58,31,0.32)}
.cta-actions .btn-secondary{
  background:transparent;color:#fff;
  border:1px solid rgba(255,255,255,0.2);
  font-size:0.9rem;padding:1rem 2rem;
}
.cta-actions .btn-secondary:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.05)}

/* ========== FOOTER ========== */
footer{
  border-top:1px solid var(--border-light);
  background:var(--white);
  padding:clamp(2.5rem,4vw,4rem) 0 clamp(1.5rem,2vw,2rem);
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:clamp(1.5rem,3vw,3rem);
  margin-bottom:clamp(2rem,3vw,3rem);
}
footer h5{
  font-size:0.65rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:1rem;
}
footer p,footer li{font-size:0.8rem;color:var(--text-secondary);line-height:1.6}
footer li{margin-bottom:0.4rem}
footer li a{transition:color 0.2s}
footer li a:hover{color:var(--navy)}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:0.75rem}
.footer-brand-mark{
  width:32px;height:32px;
  background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:0.6rem;font-weight:800;color:#fff;border-radius:var(--radius-xs);
}
.footer-brand-text{font-weight:700;font-size:1rem}
.footer-brand-text span{font-weight:300;color:var(--text-muted)}
.footer-addr{font-size:0.75rem!important;line-height:1.7!important;margin-bottom:0.5rem}
.footer-email{font-size:0.75rem;color:var(--navy)!important;font-weight:500}
.footer-tags{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.5rem}
.footer-tags .tag{font-size:0.55rem;padding:0.25rem 0.6rem}
.footer-bottom{
  border-top:1px solid var(--border-light);
  padding-top:1.25rem;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:0.75rem;
  font-size:0.7rem;color:var(--text-muted);
}

/* ========== FRIEND LINKS ========== */
.friend-links-section{
  border-top:1px solid var(--border-light);
  background:var(--white);
  padding:1.5rem 0;
}
.friend-links-section[hidden]{display:none}
.friend-links-inner{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:0.75rem 1.25rem;
}
.friend-links-label{
  font-size:0.625rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text-muted);
  font-family:var(--font-mono);
  flex-shrink:0;
}
.friend-links-list{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:0.4rem 0.5rem;
}
.friend-links-list a{
  display:inline-block;
  font-size:0.75rem;font-weight:500;
  color:var(--text-secondary);
  text-decoration:none;
  padding:0.2rem 0.6rem;
  border:1px solid var(--border-light);
  border-radius:100px;
  background:var(--bg);
  transition:all 0.2s;
}
.friend-links-list a:hover{
  color:var(--navy);
  border-color:var(--navy-dim);
  background:var(--white);
}
@media(max-width:480px){
  .friend-links-inner{flex-direction:column;align-items:flex-start;gap:0.5rem}
}

/* ========== ANIMATIONS ========== */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:0.1s}
.delay-2{transition-delay:0.2s}
.delay-3{transition-delay:0.3s}
.delay-4{transition-delay:0.4s}

/* ========== FACTORY & QUALITY ========== */
.factory-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:1.5rem;
}
.factory-main{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2.5rem);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.factory-main::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:120px;
  background:linear-gradient(135deg,#E8E4DE 0%,#D8D4CC 100%);
  border-radius:var(--radius) var(--radius) 0 0;
}
.factory-visual{
  position:relative;z-index:1;
  height:140px;margin-bottom:1.5rem;
  border-radius:var(--radius-sm);
  background:linear-gradient(135deg,#E8E4DE,#D8D4CC);
  border:1px solid var(--border-light);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.factory-visual svg{width:80%;height:80%}
.factory-main h3{
  font-size:clamp(1.1rem,1.5vw,1.4rem);
  font-weight:700;
  margin-bottom:0.5rem;
}
.factory-main p{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:1.25rem;
}
.factory-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;
}
.factory-stat{
  padding:0.85rem;background:var(--bg);border-radius:var(--radius-sm);
}
.factory-stat-num{
  font-size:1.4rem;font-weight:800;color:var(--navy);
  letter-spacing:-0.02em;line-height:1;margin-bottom:2px;
}
.factory-stat-label{
  font-size:0.6rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.04em;
}

.factory-side{
  display:flex;flex-direction:column;gap:1rem;
}
.factory-step{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  padding:1rem 1.25rem;
  box-shadow:var(--shadow);
  display:flex;align-items:center;gap:1rem;
  transition:all 0.3s;
}
.factory-step:hover{border-color:var(--navy-dim);transform:translateX(2px)}
.factory-step-num{
  width:32px;height:32px;flex-shrink:0;
  background:var(--steel);color:#fff;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;font-weight:700;
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.factory-step-text{flex:1}
.factory-step h4{font-size:0.85rem;font-weight:600;margin-bottom:1px}
.factory-step p{font-size:0.7rem;color:var(--text-muted);line-height:1.4}

/* ========== APPLICATIONS ========== */
.applications-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.app-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:1.5rem;
  box-shadow:var(--shadow);
  transition:all 0.3s;
  display:flex;flex-direction:column;
  position:relative;
  overflow:hidden;
}
.app-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.app-visual{
  width:100%;aspect-ratio:16/10;
  background:var(--bg);
  border-radius:var(--radius-sm);
  margin-bottom:1rem;
  overflow:hidden;
  border:1px solid var(--border-light);
  display:flex;align-items:center;justify-content:center;
}
.app-visual svg{width:80%;height:80%}
.app-visual-placeholder{
  width:100%;aspect-ratio:16/10;
  border-radius:var(--radius-sm);
  margin-bottom:1rem;
  overflow:hidden;
  border:1px solid var(--border-light);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);
  font-size:0.7rem;
  color:var(--navy);
  letter-spacing:0.05em;
  text-transform:uppercase;
  font-weight:500;
}
.app-visual-placeholder.cold{background:linear-gradient(135deg,#D6E0E8,#BFC9D2)}
.app-visual-placeholder.port{background:linear-gradient(135deg,#E8E4DE,#D0CAC2)}
.app-visual-placeholder.heat{background:linear-gradient(135deg,#F5E4DF,#EBD2C7)}
.app-visual-placeholder.distribution{background:linear-gradient(135deg,#DEE2E6,#CFD4D9)}
.app-visual-placeholder.dark{background:linear-gradient(135deg,#0F1E2E,#050B12);color:#fff}
.app-card h4{font-size:0.9375rem;font-weight:600;margin-bottom:0.35rem}
.app-card p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0.75rem}
.app-products{
  display:flex;flex-wrap:wrap;gap:4px;
  margin-top:auto;
}
.app-products span{
  font-size:0.55rem;font-weight:500;
  padding:3px 8px;border-radius:100px;
  background:var(--navy-dim);color:var(--navy);
  letter-spacing:0.04em;text-transform:uppercase;
}

/* ========== CUSTOMER CASES ========== */
.cases-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.case-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:all 0.3s;
}
.case-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.case-quote{
  font-size:0.9375rem;color:var(--text);line-height:1.65;
  margin-bottom:1.25rem;flex:1;
  position:relative;padding-left:1.25rem;
}
.case-quote::before{
  content:'"';
  position:absolute;left:0;top:-0.25rem;
  font-size:1.8rem;color:var(--navy-dim);
  font-family:Georgia,serif;line-height:1;
}
.case-result{
  display:flex;gap:1rem;
  padding:0.85rem;background:var(--bg);
  border-radius:var(--radius-sm);
  margin-bottom:1.25rem;
}
.case-result-item{flex:1;text-align:center}
.case-result-num{
  font-size:1.3rem;font-weight:800;color:var(--terracotta);
  letter-spacing:-0.02em;line-height:1;margin-bottom:2px;
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.case-result-label{
  font-size:0.6rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.06em;
  font-family:var(--font-mono);
}
.case-customer{
  display:flex;align-items:center;gap:0.75rem;
  padding-top:1rem;border-top:1px solid var(--border-light);
}
.case-customer-logo{
  width:40px;height:40px;flex-shrink:0;
  background:var(--navy);color:#fff;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:0.7rem;font-weight:700;
}
.case-customer-info{flex:1}
.case-customer-name{font-size:0.875rem;font-weight:600}
.case-customer-meta{font-size:0.6875rem;color:var(--text-muted);margin-top:1px;font-family:var(--font-mono);letter-spacing:0.02em}

/* ========== FAQ ========== */
.faq-list{
  max-width:760px;margin:0 auto;
  display:flex;flex-direction:column;gap:0.75rem;
}
.faq-item{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:all 0.3s;
}
.faq-item:hover{border-color:var(--navy-dim)}
.faq-q{
  padding:1rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  cursor:pointer;
  font-size:0.9rem;font-weight:600;color:var(--text);
}
.faq-q-icon{
  width:24px;height:24px;flex-shrink:0;
  border:1.5px solid var(--navy);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:var(--navy);font-size:0.85rem;font-weight:700;
  transition:transform 0.3s;
}
.faq-item.open .faq-q-icon{transform:rotate(45deg);background:var(--navy);color:#fff}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height 0.35s ease;
}
.faq-item.open .faq-a{max-height:240px}
.faq-a-inner{
  padding:0 1.25rem 1.25rem;
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.65;
}

/* ========== INQUIRY FORM ========== */
.inquiry-section{
  background:var(--navy);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.inquiry-section::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 50% 50% at 80% 20%, rgba(178,58,31,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 20% 80%, rgba(255,255,255,0.03) 0%, transparent 60%);
}
.inquiry-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:start;
}
.inquiry-info h2{
  font-size:clamp(1.5rem,3vw,2.5rem);
  font-weight:700;letter-spacing:-0.02em;
  margin-bottom:0.75rem;color:#fff;
}
.inquiry-info p{
  font-size:0.95rem;color:rgba(255,255,255,0.65);
  line-height:1.6;margin-bottom:2rem;
}
.inquiry-contact{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.inquiry-contact-item{
  display:flex;align-items:center;gap:0.75rem;
  font-size:0.85rem;color:rgba(255,255,255,0.8);
}
.inquiry-contact-icon{
  width:36px;height:36px;flex-shrink:0;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.inquiry-contact-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.inquiry-map{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius-sm);
  padding:1rem;
}
.inquiry-map-label{
  font-size:0.65rem;color:rgba(255,255,255,0.5);
  text-transform:uppercase;letter-spacing:0.06em;
  margin-bottom:0.5rem;
}
.inquiry-map svg{width:100%;height:auto;display:block}

.inquiry-form{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius);
  padding:clamp(1.5rem,3vw,2.5rem);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.inquiry-form h3{
  font-size:1.1rem;font-weight:600;color:#fff;
  margin-bottom:0.4rem;
}
.inquiry-form-sub{
  font-size:0.8rem;color:rgba(255,255,255,0.55);
  margin-bottom:1.5rem;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:0.75rem}
.form-group{display:flex;flex-direction:column;gap:0.35rem}
.form-group.full{grid-column:1 / -1}
.form-label{
  font-size:0.65rem;font-weight:500;
  color:rgba(255,255,255,0.6);
  text-transform:uppercase;letter-spacing:0.06em;
}
.form-input,.form-select,.form-textarea{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  padding:0.65rem 0.85rem;
  font-size:0.85rem;color:#fff;
  font-family:inherit;
  transition:all 0.2s;
}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,0.35)}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;border-color:var(--terracotta);
  background:rgba(255,255,255,0.06);
}
.form-select{cursor:pointer}
.form-select option{background:var(--navy);color:#fff}
.form-textarea{resize:vertical;min-height:90px;font-family:inherit}
.form-submit{
  width:100%;margin-top:0.5rem;
  background:var(--terracotta);color:#fff;
  border:none;border-radius:8px;
  padding:0.85rem;font-size:0.9rem;font-weight:600;
  cursor:pointer;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:all 0.25s;
}
.form-submit:hover{background:var(--terracotta-light);transform:translateY(-1px)}
.form-submit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* --- Product / quantity chips (radio styled as pill) --- */
.form-chips{display:flex;flex-wrap:wrap;gap:0.5rem}
.form-chip{position:relative;display:inline-flex}
.form-chip input[type=radio]{
  position:absolute;opacity:0;pointer-events:none;width:0;height:0;
}
.form-chip label{
  display:inline-flex;align-items:center;gap:6px;
  padding:0.6rem 1rem;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:100px;
  color:rgba(255,255,255,0.85);
  font-size:0.8rem;font-weight:500;
  cursor:pointer;-webkit-user-select:none;user-select:none;
  transition:all 0.2s;
}
.form-chip label:hover{
  border-color:rgba(255,255,255,0.35);
  background:rgba(255,255,255,0.08);
  color:#fff;
}
.form-chip input[type=radio]:checked + label{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:#fff;
  box-shadow:0 4px 14px rgba(178,58,31,0.35);
}
.form-chip input[type=radio]:focus-visible + label{
  outline:2px solid var(--terracotta-light);
  outline-offset:2px;
}
.form-chip-row{display:flex;flex-direction:column;gap:0.45rem;margin-bottom:0.75rem}
.form-group--gap{margin-bottom:1rem}

/* --- 楠岃瘉鐮侊細杈撳叆妗?+ 鍥剧墖鍚岃甯冨眬锛屽浘鐗囩偣鍑诲埛鏂帮紙foot.html 缁戝畾锛?--- */
.checkcode-row{display:flex;gap:0.6rem;align-items:stretch}
.checkcode-row .form-input{flex:1;min-width:0}
.checkcode-img{
  display:block;height:40px;width:110px;flex-shrink:0;
  border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,0.12);
  cursor:pointer;object-fit:cover;
  transition:border-color 0.2s;
}
.checkcode-img:hover{border-color:var(--terracotta)}
.checkcode-img:focus-visible{outline:2px solid var(--terracotta-light);outline-offset:2px}
/* 娴呰壊鑳屾櫙琛ㄥ崟锛坬uote modal锛夐噷鐨勯獙璇佺爜鍥剧墖杈规 */
.quote-modal-form .checkcode-img{border:1px solid var(--border-light)}

/* --- Collapsible "袛芯锌芯谢薪懈褌械谢褜薪芯" section --- */
.form-optional{
  margin-top:1.25rem;padding-top:1.25rem;
  border-top:1px dashed rgba(255,255,255,0.15);
}
.form-optional > summary{
  list-style:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.78rem;font-weight:500;
  color:rgba(255,255,255,0.7);
  letter-spacing:0.02em;
  padding:0.25rem 0;
  transition:color 0.2s;
}
.form-optional > summary::-webkit-details-marker{display:none}
.form-optional > summary:hover{color:#fff}
.form-optional > summary .chev{
  width:14px;height:14px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform 0.25s;
}
.form-optional > summary .chev svg{
  width:100%;height:100%;stroke:currentColor;fill:none;
  stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
}
.form-optional[open] > summary .chev{transform:rotate(90deg)}
.form-optional[open] > summary{color:#fff;margin-bottom:1rem}
.form-optional .form-row:last-child{margin-bottom:0}

.form-disclaimer{
  font-size:0.65rem;color:rgba(255,255,255,0.4);
  margin-top:0.75rem;text-align:center;
}

/* ========== SOCIAL ========== */
.footer-social{display:flex;gap:0.5rem;margin-top:0.75rem}
.footer-social a{
  width:32px;height:32px;
  background:var(--bg);border:1px solid var(--border-light);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-secondary);
  transition:all 0.2s;
}
.footer-social a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.footer-social svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ========== TELEGRAM FLOATING ========== */
.whatsapp-float{
  position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0));right:24px;z-index:10000;
  width:56px;height:56px;
  background:#229ED9;color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(34,158,217,0.45);
  transition:all 0.3s;
  text-decoration:none;
}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(34,158,217,0.55)}
.whatsapp-float svg{width:28px;height:28px;fill:#fff}
/* 小屏：浮动按钮上移，避开右下角分页链接，并控制尺寸 */
@media(max-width:480px){
  .whatsapp-float{width:48px;height:48px;bottom:calc(18px + env(safe-area-inset-bottom,0));right:16px}
  .whatsapp-float svg{width:24px;height:24px}
  .back-to-top{bottom:calc(74px + env(safe-area-inset-bottom,0));right:16px;width:44px;height:44px}
}
/* quote 寮圭獥鎵撳紑鏃堕殣钘忔诞鎸夐挳锛岄伩鍏嶇┛閫?modal */
.quote-modal.is-open ~ .whatsapp-float,
.quote-modal.is-open ~ .back-to-top,
body:has(.quote-modal.is-open) .whatsapp-float,
body:has(.quote-modal.is-open) .back-to-top{visibility:hidden;opacity:0;pointer-events:none}

/* ========== BACK TO TOP ========== */
.back-to-top{
  position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0));right:24px;z-index:10000;
  width:44px;height:44px;
  background:var(--navy);color:#fff;
  border:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;visibility:hidden;
  transition:all 0.3s;
  box-shadow:0 2px 12px rgba(15,30,46,0.3);
}
.back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--navy-light);transform:translateY(-2px)}
.back-to-top svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ========== NEWSLETTER ========== */
.newsletter-section{background:var(--bg-alt);padding:clamp(2rem,3vw,3rem) 0}
.newsletter-inner{max-width:580px;margin:0 auto;text-align:center}
.newsletter-inner h3{font-size:1.1rem;font-weight:600;margin-bottom:0.35rem}
.newsletter-inner p{font-size:0.8rem;color:var(--text-secondary);margin-bottom:1rem}
.newsletter-form{display:flex;gap:0.5rem;max-width:440px;margin:0 auto}
.newsletter-input{
  flex:1;
  background:var(--white);border:1px solid var(--border);
  border-radius:8px;padding:0.65rem 0.85rem;
  font-size:0.85rem;font-family:inherit;
  transition:border-color 0.2s;
}
.newsletter-input:focus{outline:none;border-color:var(--navy)}
.newsletter-btn{
  background:var(--navy);color:#fff;
  border:none;border-radius:8px;padding:0.65rem 1.25rem;
  font-size:0.8rem;font-weight:600;font-family:inherit;
  cursor:pointer;white-space:nowrap;
  transition:all 0.2s;
}
.newsletter-btn:hover{background:var(--navy-light)}

/* ========== VIDEO SECTION ========== */
.video-section{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.video-section::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(178,58,31,0.10) 0%,transparent 60%)}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;position:relative;z-index:1}
.video-info h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;letter-spacing:-0.02em;margin-bottom:0.75rem}
.video-info p{font-size:0.95rem;color:rgba(255,255,255,0.65);line-height:1.6;margin-bottom:1.5rem}
.video-info .tag{background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.12)}
.video-frame{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius);
  aspect-ratio:16/9;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  overflow:hidden;
}
.video-frame-preview{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(135deg,#1A3A52,#0F2A3C);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:1rem;
  text-align:center;padding:2rem;
}
.video-frame-preview svg{width:60px;height:60px;opacity:0.8}
.video-frame-preview span{font-size:0.9rem;font-weight:600;color:rgba(255,255,255,0.7);letter-spacing:0.04em;text-transform:uppercase}
.video-stats{display:flex;gap:1.5rem;flex-wrap:wrap}
.video-stat{font-size:0.8rem;color:rgba(255,255,255,0.7)}
.video-stat strong{font-size:1.3rem;color:#fff;font-weight:700;display:block;margin-bottom:2px}

/* ========== RESPONSIVE ========== */
@media(max-width:1024px){
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .advantages-grid{grid-template-columns:repeat(2,1fr)}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .factory-grid{grid-template-columns:1fr}
  .applications-grid{grid-template-columns:repeat(2,1fr)}
  .cases-grid{grid-template-columns:1fr}
  .inquiry-grid{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:768px){
  .header-inner{position:relative}
  .hamburger{display:flex}
  nav{display:none;position:absolute;top:100%;left:0;right:0;
      background:rgba(237,236,232,0.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
      flex-direction:column;padding:0.5rem 1.25rem 1rem;gap:2px;
      border-bottom:1px solid var(--border-light);
      box-shadow:var(--shadow-lg)}
  nav.open{display:flex}
  nav a{padding:0.75rem 1rem;border-radius:8px;width:100%;min-height:44px;display:flex;align-items:center}
  nav .nav-cta{margin-left:0;margin-top:2px;text-align:center}

  /* Mobile dropdown: inline expand */
  .nav-dropdown{width:100%}
  .nav-dropdown-trigger{justify-content:space-between;width:100%}
  .nav-dropdown-panel{
    position:static;transform:none !important;
    min-width:0;width:100%;
    box-shadow:none;border:0;border-left:2px solid var(--border-light);
    border-radius:0;margin:0.25rem 0 0.5rem 0.75rem;padding:0.25rem 0 0.25rem 0.5rem;
    background:transparent;
    opacity:1;visibility:visible;pointer-events:auto;
    display:none;
  }
  .nav-dropdown.open .nav-dropdown-panel{display:flex}
  .nav-dropdown-panel::before{display:none}
  .nav-dropdown-item{padding:0.6rem 0.75rem}
  .nav-dropdown-item .nav-dropdown-spec{font-size:0.7rem}

  .hero-grid{grid-template-columns:1fr;gap:0}
  .hero h1 .accent-line{display:inline}
  .hero-trust{gap:1.25rem}
  .hero-floating-spec{display:none}
  .hero-scroll span{display:none}

  .products-grid{grid-template-columns:1fr}
  .advantages-grid{grid-template-columns:1fr 1fr}
  .stats-bar{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:480px){
  .advantages-grid{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:1fr}
  .hero-trust{flex-direction:column;align-items:flex-start;gap:0.75rem}
  .applications-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .factory-stats{grid-template-columns:1fr}
  .case-result{flex-direction:column;gap:0.5rem}
  .cert-item{flex:1 1 100%}
  .logo-bar-logos{gap:1.25rem}
  .product-specs-grid{grid-template-columns:1fr}
  .product-spec-value{font-size:0.75rem}
}

/* ========== INNER PAGE HERO (smaller than landing) ========== */
.page-hero{
  position:relative;
  min-height:clamp(360px,55vh,520px);
  display:flex;align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:var(--navy-deep);
  margin-top:clamp(3.5rem,6vw,4.5rem);
}
.page-hero .hero-image{position:absolute;inset:0;z-index:0}
.page-hero .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block}
.page-hero .hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(5,11,18,0.4) 0%,rgba(5,11,18,0.2) 40%,rgba(5,11,18,0.7) 100%),
    linear-gradient(90deg,rgba(5,11,18,0.75) 0%,rgba(5,11,18,0.2) 100%);
}
.page-hero .container{position:relative;z-index:2;padding:clamp(2.5rem,4vw,4rem) clamp(1.25rem,3vw,2rem)}
.page-hero h1{
  font-size:clamp(1.7rem,4.5vw,3.8rem);
  font-weight:800;letter-spacing:-0.02em;line-height:1.1;
  color:#fff;margin-bottom:0.75rem;
  text-shadow:0 2px 16px rgba(0,0,0,0.3);
  word-break:break-word;overflow-wrap:anywhere;
}
.page-hero h1 .accent{color:var(--terracotta-light);font-style:italic}
.page-hero p{
  font-size:clamp(0.95rem,1.1vw,1.0625rem);
  color:rgba(255,255,255,0.85);line-height:1.6;
  max-width:640px;
  text-shadow:0 1px 8px rgba(0,0,0,0.3);
}
.breadcrumb{
  font-family:var(--font-mono);font-size:0.7rem;
  color:rgba(255,255,255,0.6);letter-spacing:0.06em;
  text-transform:uppercase;margin-bottom:1rem;
}
/* 闈㈠寘灞戯細鏀逛负 ol>li 璇箟鍖栧垪琛?*/
.breadcrumb ol{
  list-style:none;margin:0;padding:0;
  display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;
}
.breadcrumb a{color:rgba(255,255,255,0.6);transition:color 0.2s}
.breadcrumb a:hover{color:#fff}
.breadcrumb-sep{opacity:0.4}
.breadcrumb-current{color:#fff}

/* ========== PRODUCT DETAIL ========== */
.product-detail-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:start;
}
.product-image-main{
  background:var(--bg);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  aspect-ratio:4/3;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow);
}
.product-image-main img{width:100%;height:100%;object-fit:cover;display:block}
.product-image-fallback{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);font-size:0.8rem;font-family:var(--font-mono);
}
.product-summary{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2.5rem);
  box-shadow:var(--shadow);
}
.product-summary-tag{
  font-size:0.625rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:0.5rem;
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.product-summary h2{
  font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.15;margin-bottom:0.75rem;
}
.product-summary-desc{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.65;margin-bottom:1.5rem;
}
.product-summary-specs{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;
  padding:1.25rem;background:var(--bg);
  border-radius:var(--radius-sm);margin-bottom:1.5rem;
}
.summary-spec{display:flex;flex-direction:column;gap:2px;min-width:0}
.summary-spec-label{font-size:0.6rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono);overflow-wrap:anywhere}
.summary-spec-value{font-size:0.9375rem;font-weight:600;color:var(--text);font-family:var(--font-mono);font-feature-settings:"tnum" 1;overflow-wrap:anywhere}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.feature-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);
  transition:all 0.3s;
}
.feature-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.feature-icon{
  width:48px;height:48px;
  background:var(--terracotta-dim);color:var(--terracotta);
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.feature-card h4{font-size:0.9375rem;font-weight:600;margin-bottom:0.5rem}
.feature-card p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6}

.model-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.model-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);
  transition:all 0.3s;
  position:relative;
}
.model-card:hover{
  border-color:var(--terracotta);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.model-card-flag{
  position:absolute;top:1rem;right:1rem;
  font-size:0.6rem;font-weight:600;
  font-family:var(--font-mono);
  padding:3px 8px;border-radius:100px;
  background:var(--terracotta-dim);color:var(--terracotta);
  letter-spacing:0.06em;text-transform:uppercase;
}
.model-card-num{
  font-size:0.625rem;font-weight:600;
  font-family:var(--font-mono);
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--navy);margin-bottom:0.35rem;
  font-feature-settings:"tnum" 1;
}
.model-card h4{font-size:1.125rem;font-weight:700;margin-bottom:0.35rem;letter-spacing:-0.01em}
.model-card-tag{font-size:0.75rem;color:var(--text-muted);margin-bottom:1rem;font-family:var(--font-mono);letter-spacing:0.04em}
.model-specs{
  display:flex;flex-direction:column;gap:0.5rem;
  padding-top:1rem;
  border-top:1px solid var(--border-light);
  margin-bottom:1rem;
}
.model-spec-row{
  display:flex;justify-content:space-between;
  font-size:0.8125rem;
}
.model-spec-row .label{color:var(--text-secondary);font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.04em;text-transform:uppercase}
.model-spec-row .value{color:var(--text);font-weight:600;font-family:var(--font-mono);font-feature-settings:"tnum" 1}

@media(max-width:1024px){
  .product-detail-grid,.feature-grid,.model-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .product-detail-grid,.feature-grid,.model-grid{grid-template-columns:1fr}
}

/* ========== 鏂伴椈鍒楄〃椤?========== */
/* 澶存潯鏂囩珷鍗＄墖锛歡rid 鍙屾爮甯冨眬锛宲osition:relative 鐢ㄤ簬 stretched link */
.news-featured{
  position:relative;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:clamp(1.5rem,3vw,2.5rem);
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  margin-bottom:3rem;
  transition:all 0.3s;
}
/* stretched link锛氫吉鍏冪礌閾烘弧鏁翠釜鍗＄墖锛屽疄鐜版暣鍗″彲鐐瑰嚮 */
.news-featured .news-link::after{
  content:"";position:absolute;inset:0;z-index:1;
}
.news-featured:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.news-featured-img{
  aspect-ratio:16/10;position:relative;
  background:linear-gradient(135deg,#E8E4DE,#D0CAC2);
}
.news-featured-img img{width:100%;height:100%;object-fit:cover;display:block}
.news-featured-body{
  padding:clamp(1.5rem,2.5vw,2.5rem);
  display:flex;flex-direction:column;justify-content:center;
}
.news-meta{
  display:flex;align-items:center;gap:0.75rem;
  font-family:var(--font-mono);font-size:0.7rem;
  color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:0.75rem;
}
.news-cat{
  background:var(--terracotta-dim);color:var(--terracotta);
  padding:3px 8px;border-radius:100px;
  font-size:0.6rem;font-weight:600;
  letter-spacing:0.08em;text-transform:uppercase;
}
.news-cat.product{background:var(--navy-dim);color:var(--navy)}
.news-cat.company{background:var(--steel-dim);color:var(--steel)}
.news-cat.case{background:rgba(178,58,31,0.12);color:var(--terracotta)}
.news-cat.insight{background:rgba(60,140,90,0.12);color:#3c8c5a}
/* scode 鈫?鍒嗙被鑹叉槧灏勶細妯℃澘鐢?[list:scode] / {content:scode} 杈撳嚭鏍忕洰 ID锛?/4/12/13锛?*/
.news-cat.s3{background:var(--navy-dim);color:var(--navy)}
.news-cat.s4{background:var(--steel-dim);color:var(--steel)}
.news-cat.s12{background:rgba(178,58,31,0.12);color:var(--terracotta)}
.news-cat.s13{background:rgba(60,140,90,0.12);color:#3c8c5a}
.news-featured-body h2{
  font-size:clamp(1.4rem,2.2vw,1.875rem);
  font-weight:700;letter-spacing:-0.02em;line-height:1.2;
  margin-bottom:0.75rem;
}
.news-featured-body p{font-size:0.9375rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.25rem}
.news-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.8rem;font-weight:600;color:var(--terracotta);
  transition:gap 0.25s;
}
.news-link:hover{gap:10px}
.news-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* 鏂伴椈鍗＄墖缃戞牸锛? 鍒楀搷搴斿紡甯冨眬 */
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
/* 鏂伴椈鍗＄墖锛歱osition:relative 鐢ㄤ簬 stretched link锛宧over 鏃朵笂娴?+ 鍥剧墖缂╂斁 */
.news-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:all 0.3s;
  display:flex;flex-direction:column;
}
/* stretched link：伪元素铺满卡片，点击卡片任意位置触发链接 */
.news-card .news-link::after{
  content:"";position:absolute;inset:0;z-index:1;
}
.news-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.news-card-img{
  aspect-ratio:16/10;position:relative;
  background:linear-gradient(135deg,#E8E4DE,#D0CAC2);
  overflow:hidden;
}
.news-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s}
.news-card:hover .news-card-img img{transform:scale(1.05)}
.news-card-body{padding:clamp(1.25rem,2vw,1.75rem);display:flex;flex-direction:column;flex:1}
.news-card-body h3{
  font-size:1.0625rem;font-weight:600;letter-spacing:-0.01em;line-height:1.3;
  margin-bottom:0.5rem;
}
.news-card-body p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;flex:1}

/* 绛涢€夋寜閽爮锛歛ria-pressed=true 鏃堕珮浜紝aria-current 宸插純鐢?*/
.news-filter{
  display:flex;align-items:center;gap:0.5rem;
  flex-wrap:wrap;margin-bottom:2.5rem;
}
.news-filter button{
  background:none;border:1px solid var(--border);
  color:var(--text-secondary);
  padding:0.5rem 1rem;border-radius:100px;
  font-family:inherit;font-size:0.8rem;font-weight:500;
  cursor:pointer;transition:all 0.2s;
}
.news-filter button:hover{border-color:var(--navy);color:var(--navy)}
.news-filter button[aria-current="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}

@media(max-width:1024px){
  .news-featured{grid-template-columns:1fr}
  .news-featured-img{aspect-ratio:16/9}
  .news-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .news-grid{grid-template-columns:1fr}
  /* 触控热区：移动端筛选/分页按钮不小于 44px（WCAG 2.5.5） */
  .news-filter button{min-height:44px}
}

/* ===== 鏂伴椈鍒嗛〉锛坧bootcms {page:bar} 娓叉煋杈撳嚭锛?===== */
.news-pagenavi-wrap{
  margin-top:clamp(2rem,3vw,3rem);
  padding-top:1.5rem;
  border-top:1px solid var(--border-light);
}
.news-pagenavi{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:0.35rem;
  font-family:var(--font-mono);font-size:0.85rem;
}
/* pbootcms Paging.php 杈撳嚭鐨?span/a */
.news-pagenavi .page-status{
  font-family:var(--font-mono);font-size:0.75rem;
  color:var(--text-muted);letter-spacing:0.04em;
  margin-right:0.75rem;
}
.news-pagenavi .page-index,
.news-pagenavi .page-pre,
.news-pagenavi .page-next,
.news-pagenavi .page-last{display:inline-flex}
.news-pagenavi .page-index a,
.news-pagenavi .page-pre a,
.news-pagenavi .page-next a,
.news-pagenavi .page-last a,
.news-pagenavi .page-numbar .page-num{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:2.4rem;height:2.4rem;padding:0 0.6rem;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--white);color:var(--text);
  font-family:var(--font-mono);font-size:0.85rem;
  transition:all 0.18s;cursor:pointer;text-decoration:none;
}
.news-pagenavi .page-index a:hover,
.news-pagenavi .page-pre a:hover,
.news-pagenavi .page-next a:hover,
.news-pagenavi .page-last a:hover,
.news-pagenavi .page-numbar .page-num:hover{
  border-color:var(--navy);color:var(--navy);background:#fff;
}
/* 褰撳墠椤甸珮浜?*/
.news-pagenavi .page-numbar .page-num-current,
.news-pagenavi .page-numbar .page-num-current:hover{
  background:var(--navy);border-color:var(--navy);color:#fff;cursor:default;
}
/* 鐪佺暐鍙?路路路 */
.news-pagenavi .page-numbar .page-num:not([href]){
  border-color:transparent;background:transparent;cursor:default;color:var(--text-muted);
}
/* 绌烘暟鎹€?*/
.news-pagenavi .page-none{color:var(--text-muted);font-size:0.85rem}

@media(max-width:640px){
  .news-pagenavi{gap:0.25rem;font-size:0.8rem}
  .news-pagenavi .page-status{display:block;width:100%;text-align:center;margin:0 0 0.5rem}
  .news-pagenavi .page-index a,
  .news-pagenavi .page-pre a,
  .news-pagenavi .page-next a,
  .news-pagenavi .page-last a,
  .news-pagenavi .page-numbar .page-num{
    min-width:2.75rem;min-height:44px;padding:0 0.45rem;font-size:0.78rem;
  }
}

/* load more + subscribe (鍐呰仈鏍峰紡鎶界) */
.news-loadmore-wrap{text-align:center;margin-top:3rem}
.news-loadmore{
  background:var(--white);color:var(--text);
  border:1px solid var(--border);padding:0.85rem 2rem;
}
.news-loadmore:hover{border-color:var(--navy);color:var(--navy)}
.news-loadmore[aria-disabled="true"]{opacity:0.6;cursor:not-allowed;pointer-events:none}
.news-subscribe-tag{
  background:rgba(255,255,255,0.08);color:#fff;
  border-color:rgba(255,255,255,0.12);
}
.news-subscribe-input{
  flex:1;min-width:240px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;padding:0.85rem 1.25rem;
  border-radius:var(--radius-sm);
  font-size:0.9rem;font-family:inherit;
}
.news-subscribe-input::placeholder{color:rgba(255,255,255,0.4)}
.news-subscribe-input:focus{outline:none;border-color:rgba(255,255,255,0.45)}

/* 璁㈤槄琛ㄥ崟锛歟mail+鎸夐挳 涓?楠岃瘉鐮?鍒嗕袱琛岋紝鍨傜洿鎺掑垪 */
.news-subscribe-row{display:flex;gap:0.6rem;flex:1;min-width:280px}
.news-subscribe-code{
  display:flex;gap:0.6rem;align-items:stretch;
  margin-top:0.6rem;justify-content:center;
}
.news-subscribe-checkcode{
  flex:1;max-width:240px;min-width:180px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;padding:0.7rem 1rem;
  border-radius:var(--radius-sm);
  font-size:0.9rem;font-family:inherit;
}
.news-subscribe-checkcode::placeholder{color:rgba(255,255,255,0.4)}
.news-subscribe-checkcode:focus{outline:none;border-color:rgba(255,255,255,0.45)}

/* ========== 鏂伴椈璇︽儏椤?========== */
/* 鏉傚織灏侀潰椋庢牸锛氬ぇ楂樺害 hero锛屽浘鐗囧叏瀹斤紝娓愬彉鑷《閮ㄦ殫鑹插埌搴曢儴閫忔槑锛屼笌姝ｆ枃鑷劧琛旀帴 */
.article-hero .page-hero{
  min-height:clamp(480px,62vh,780px);
  margin-top:0;
  align-items:center;
  background:var(--navy-deep);
}
.article-hero .page-hero .hero-overlay{
  background:
    linear-gradient(180deg,
      rgba(5,11,18,0.72) 0%,
      rgba(5,11,18,0.40) 35%,
      rgba(5,11,18,0.08) 60%,
      transparent 100%);
}
.article-hero .page-hero .container{
  padding:clamp(2rem,4vw,3rem) clamp(1.25rem,3vw,2rem);
}
.article-hero-meta{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:1.1rem;
}
.article-hero-cat{
  display:inline-block;
  font-size:0.7rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;
  background:var(--terracotta);
  padding:0.3rem 0.8rem;border-radius:100px;
  box-shadow:0 2px 10px rgba(178,58,31,0.35);
}
.article-hero-cat.s1{background:#1a6b4a;box-shadow:0 2px 10px rgba(26,107,74,0.35)}
.article-hero-cat.s2{background:#1a4f7a;box-shadow:0 2px 10px rgba(26,79,122,0.35)}
.article-hero-cat.s3{background:#5b3a8c;box-shadow:0 2px 10px rgba(91,58,140,0.35)}
.article-hero-date{
  font-family:var(--font-mono);font-size:0.75rem;
  color:rgba(255,255,255,0.65);letter-spacing:0.04em;
}
.article-hero .page-hero h1{
  font-size:clamp(1.6rem,4.5vw,3.4rem);
  font-weight:800;letter-spacing:-0.02em;line-height:1.1;
  color:#fff;margin-bottom:0.6rem;
  text-shadow:0 2px 20px rgba(0,0,0,0.4);
  word-break:break-word;overflow-wrap:anywhere;
}
.article-hero .page-hero p{
  font-size:clamp(0.95rem,1.05vw,1.1rem);
  color:rgba(255,255,255,0.88);line-height:1.6;
  max-width:640px;
  text-shadow:0 1px 8px rgba(0,0,0,0.3);
}
/* 姝ｆ枃 article-header 鍘绘帀 hero 涓嬫柟鐨勫啑浣欓棿璺濓紝璁╁唴瀹规洿璐磋繎 */
/* 涓庝笅鏂?.article-header 鍚堝苟锛岃鐩栧師 margin-bottom + padding-bottom */
.article-header{position:static;z-index:auto;margin-top:0;margin-bottom:2rem;padding-top:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}

/* 详情页布局：左侧正文 1fr + 右侧侧栏 320px */
.article-layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:start;
}
.article-main{min-width:0}
/* 封面图：紧贴 hero 下方，上边距 1.5rem，下边距与 meta 信息保持间距 */
.article-cover{
  margin-top:1.5rem;
  margin-bottom:1.5rem;
  border-radius:var(--radius);overflow:hidden;
}
.article-cover img{
  width:100%;height:auto;display:block;
}
.article-meta{
  display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:0.7rem;
  color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:1rem;
}
.article-title{
  font-size:clamp(1.6rem,3vw,2.25rem);
  font-weight:800;letter-spacing:-0.02em;line-height:1.2;
  margin-bottom:0.75rem;
}
.article-subtitle{
  font-size:clamp(1rem,1.2vw,1.125rem);
  color:var(--text-secondary);line-height:1.6;
}
.article-cover-fallback{
  background:linear-gradient(135deg,#0F1E2E 0%,#1F3550 50%,#050B12 100%);
}
/* 姝ｆ枃锛歝olor 鐢?var(--text) 鑰岄潪 secondary锛屾彁鍗囧姣斿害锛圵CAG AA锛?*/
.article-body{font-size:1rem;line-height:1.8;color:var(--text)}
.article-body > * + *{margin-top:1rem}
.article-body h2{
  font-size:clamp(1.15rem,1.6vw,1.375rem);
  font-weight:700;color:var(--text);letter-spacing:-0.01em;
  margin-top:2rem;margin-bottom:0.75rem;
}
.article-body p{margin-top:0}
.article-body ul{margin:0;padding-left:1.5rem}
.article-body ul li{margin-top:0.5rem}
.article-body ul li:first-child{margin-top:0}
.article-body blockquote{
  margin:2rem 0;padding:1.5rem 1.75rem;
  background:var(--bg-alt);border-left:4px solid var(--terracotta);
  border-radius:0 var(--radius) var(--radius) 0;
}
.article-body blockquote p{
  font-size:1.0625rem;font-style:italic;color:var(--text);
  line-height:1.7;font-weight:500;
}
.article-body blockquote footer{
  margin-top:1rem;font-size:0.8rem;font-weight:600;
  color:var(--text-muted);font-family:var(--font-mono);
  letter-spacing:0.04em;text-transform:uppercase;
}

/* 涓婁笅绡囧鑸紙宸插幓闄?aria-disabled锛孋MS 鎺ュ叆鍚庣敤 {pboot:prev}/{pboot:next}锛?*/
.article-pager{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
  margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-light);
}
.pager-prev,.pager-next{
  display:flex;flex-direction:column;gap:0.35rem;
  padding:1rem 1.25rem;border:1px solid var(--border-light);
  border-radius:var(--radius);text-decoration:none;
  transition:all 0.25s;
}
.pager-prev:hover,.pager-next:hover{
  border-color:var(--navy-dim);box-shadow:var(--shadow-md);transform:translateY(-1px);
}
.pager-next{text-align:right}
.pager-label{
  font-family:var(--font-mono);font-size:0.7rem;font-weight:600;
  color:var(--terracotta);letter-spacing:0.06em;text-transform:uppercase;
}
.pager-title{
  font-size:0.9rem;font-weight:600;color:var(--text);
  line-height:1.4;
}
.pager-prev[aria-disabled="true"],.pager-next[aria-disabled="true"]{
  opacity:0.45;pointer-events:none;cursor:not-allowed;
}

/* article sidebar */
/* 侧栏：sticky 粘性定位，滚动时跟随 */
.article-sidebar{
  position:sticky;top:1.5rem;
  display:flex;flex-direction:column;gap:1.5rem;
}
.sidebar-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:1.25rem 1.5rem;
}
.sidebar-card h5{
  font-size:0.7rem;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--text-muted);
  font-family:var(--font-mono);margin-bottom:1rem;
}
.sidebar-share{display:flex;gap:0.5rem}
.sidebar-share a{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  color:var(--text-secondary);transition:all 0.2s;
}
.sidebar-share a:hover{border-color:var(--navy);color:var(--navy);background:var(--bg-alt)}
.sidebar-share svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* 鐩稿叧鏂囩珷鍒楄〃锛歰l 璇箟鍖栵紝counter-reset 鍚敤 CSS 璁℃暟鍣ㄧ敓鎴愬簭鍙?*/
.sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.75rem;counter-reset:sidebar}
.sidebar-list li{counter-increment:sidebar}
.sidebar-list li a{
  display:flex;gap:0.75rem;align-items:flex-start;
  padding:0.65rem 0;border-bottom:1px solid var(--border-light);
  text-decoration:none;color:var(--text);font-size:0.875rem;line-height:1.45;
  transition:color 0.2s;
}
.sidebar-list li a::before{
  content:counter(sidebar);
  flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  background:var(--navy-dim);color:var(--navy);
  font-family:var(--font-mono);font-size:0.65rem;font-weight:700;
  border-radius:50%;
}
.sidebar-list li:last-child a{border-bottom:none}
.sidebar-list li a:hover{color:var(--terracotta)}
.sidebar-meta{
  display:block;margin-top:0.25rem;font-size:0.7rem;
  color:var(--text-muted);font-family:var(--font-mono);
  letter-spacing:0.04em;text-transform:uppercase;
}

@media(max-width:1024px){
  .article-layout{grid-template-columns:1fr}
  .article-sidebar{position:static;flex-direction:row;flex-wrap:wrap}
  .article-sidebar .sidebar-card{flex:1;min-width:260px}
}
@media(max-width:768px){
  .article-pager{grid-template-columns:1fr}
  .pager-next{text-align:left}
  .article-header{position:static;z-index:auto;margin-bottom:1.25rem;padding-bottom:1rem}
  .article-meta{gap:0.4rem 0.6rem;line-height:1.5;font-size:0.65rem}
  .article-cover{margin-top:0.5rem;margin-bottom:1rem}
  /* 绉诲姩绔暱鏂囬槄璇伙細姝ｆ枃鎻愬埌 17px锛屾彁鍗囧彲璇绘€?*/
  .article-body{font-size:1.0625rem;line-height:1.85}
}

.value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.value-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);
  text-align:center;
  transition:all 0.3s;
}
.value-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.value-num{
  font-size:2.5rem;font-weight:800;
  color:var(--terracotta);
  font-family:var(--font-mono);
  margin-bottom:0.5rem;
  font-feature-settings:"tnum" 1;
  letter-spacing:-0.03em;
  line-height:1;
}
.value-card h4{font-size:1rem;font-weight:600;margin-bottom:0.5rem}
.value-card p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6}

.team-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.team-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:all 0.3s;
}
.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.team-photo{
  aspect-ratio:1;background:linear-gradient(135deg,#E8E4DE,#D0CAC2);
  position:relative;overflow:hidden;
}
.team-photo-initials{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:2.5rem;font-weight:800;color:var(--text-muted);
  font-family:var(--font-mono);
  letter-spacing:-0.02em;
}
.team-body{padding:clamp(1rem,2vw,1.5rem)}
.team-body h5{font-size:0.9375rem;font-weight:600;margin-bottom:2px}
.team-role{font-size:0.75rem;color:var(--terracotta);font-family:var(--font-mono);letter-spacing:0.04em;margin-bottom:0.5rem}
.team-bio{font-size:0.8125rem;color:var(--text-secondary);line-height:1.5}

@media(max-width:1024px){
  .value-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .team-grid{grid-template-columns:1fr}
  .timeline::before{left:1rem}
  .timeline-item{padding-left:2.75rem}
  .timeline-year{font-size:0.875rem;width:1.75rem}
  .timeline-item::before{left:0.8rem}
}

/* ========== REDUCED MOTION (accessibility) ========== */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  .fade-up{opacity:1;transform:none}
}

/* ========== SCREEN-READER-ONLY ========== */
.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;
}

/* ========== PRODUCTS INDEX PAGE ========== */
/* Hero jump chips */
.products-jump{
  display:flex;gap:0.6rem;flex-wrap:wrap;
  margin-top:1.5rem;
}
.products-jump-chip{
  display:inline-flex;flex-direction:column;gap:2px;
  padding:0.6rem 0.95rem;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:8px;
  color:#fff;text-decoration:none;
  transition:all 0.2s;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.products-jump-chip:hover{
  background:rgba(255,255,255,0.16);
  border-color:rgba(255,255,255,0.4);
  transform:translateY(-1px);
}
.products-jump-series{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:0.6rem;font-weight:600;letter-spacing:0.1em;
  color:var(--terracotta-light);text-transform:uppercase;
}
.products-jump-name{
  font-size:0.85rem;font-weight:600;letter-spacing:-0.01em;
}

/* Spec comparison tables */
.section-compare{background:var(--white)}
.compare-tables{display:flex;flex-direction:column;gap:1.5rem}
.compare-table{
  width:100%;
  border-collapse:collapse;
  font-variant-numeric:tabular-nums;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  font-size:0.82rem;
}
.compare-table th,.compare-table td{
  padding:0.7rem 0.9rem;
  text-align:left;
  border-bottom:1px solid var(--border-light);
}
.compare-table th{font-weight:600;color:var(--text)}
.compare-table thead th{
  background:var(--bg);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:0.7rem;letter-spacing:0.04em;
  color:var(--text-muted);
  text-transform:uppercase;
  border-bottom:1px solid var(--border-light);
}
.compare-table thead th:first-child{
  color:var(--navy);font-family:inherit;
  font-size:0.85rem;text-transform:none;letter-spacing:-0.01em;
}
.compare-table tbody td:first-child{
  font-weight:500;color:var(--text-secondary);
}
.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table tbody tr:hover{background:var(--bg)}

/* Application matrix */
.section-app{padding-block:var(--space-section, clamp(4rem,6vw,7rem))}
.app-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.app-matrix{
  width:100%;
  border-collapse:collapse;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  font-size:0.85rem;
}
.app-matrix th,.app-matrix td{
  padding:0.95rem 1rem;
  text-align:center;
  border-bottom:1px solid var(--border-light);
  border-right:1px solid var(--border-light);
}
.app-matrix th:last-child,.app-matrix td:last-child{border-right:0}
.app-matrix tbody tr:last-child th,.app-matrix tbody tr:last-child td{border-bottom:0}
.app-matrix thead th{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:0.65rem;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--text-muted);font-weight:600;
  background:var(--bg);
  white-space:nowrap;
}
.app-matrix tbody th[scope="row"]{
  text-align:left;font-weight:600;color:var(--navy);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:0.78rem;letter-spacing:0.05em;
  background:var(--bg);
}
.app-matrix td{
  font-size:1.05rem;font-weight:700;
  color:var(--terracotta);
}
.app-matrix-legend{
  margin-top:1rem;font-size:0.75rem;color:var(--text-muted);
  text-align:center;letter-spacing:0.01em;
}

/* CTA band (dark) */
.cta-band{
  background:var(--navy-deep);
  color:#fff;
  padding:clamp(3rem,6vw,5rem) 0;
  text-align:center;
}
.cta-band-title{
  color:#fff;
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:800;letter-spacing:-0.02em;
  margin-bottom:1rem;line-height:1.15;
}
.cta-band-sub{
  color:rgba(255,255,255,0.75);
  max-width:580px;margin:0 auto 2rem;
  font-size:clamp(0.95rem,1.1vw,1.0625rem);line-height:1.6;
}
.cta-band .cta-actions{
  display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;
}
.cta-band .btn-primary svg{margin-left:6px}

/* Footer helpers */
.footer-contact{font-size:0.75rem;margin-bottom:0.75rem;line-height:1.7}
.footer-series{color:var(--text-muted);font-size:0.7rem;margin-left:4px}

/* ========== PRODUCT LIST PAGE (DW Series lineup) ========== */
/* Model class filter 鈥?pill row */
.model-filter{
  display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;
  margin-bottom:clamp(2rem,4vw,3rem);
}
.model-filter-btn{
  background:var(--white);
  border:1px solid var(--border);
  color:var(--text-secondary);
  padding:0.6rem 1.1rem;border-radius:100px;
  font-family:inherit;font-size:0.82rem;font-weight:500;
  cursor:pointer;transition:all 0.2s;
  display:inline-flex;align-items:center;gap:8px;
}
.model-filter-btn:hover{border-color:var(--navy);color:var(--navy)}
.model-filter-btn.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.model-filter-btn.is-active .model-filter-count{background:rgba(255,255,255,0.18);color:#fff}
.model-filter-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;padding:0 7px;
  background:var(--bg);color:var(--text-muted);
  font-size:0.65rem;font-weight:700;
  font-family:var(--font-mono);
  border-radius:100px;
  font-feature-settings:"tnum" 1;
  transition:all 0.2s;
}

/* Model card v2 鈥?image with class badge overlay + body */
.model-grid-v2{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.model-card-v2{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:all 0.3s;
  position:relative;
}
.model-card-v2:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-3px);
}
.model-card-visual{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
  overflow:hidden;
}
.model-card-visual img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.model-card-v2:hover .model-card-visual img{transform:scale(1.05)}
.model-card-visual-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%)}
.model-card-class{
  position:absolute;top:0.75rem;left:0.75rem;
  font-size:0.6rem;font-weight:600;
  font-family:var(--font-mono);
  padding:5px 10px;border-radius:100px;
  background:rgba(15,30,46,0.88);
  color:#fff;
  letter-spacing:0.08em;text-transform:uppercase;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background 0.2s;
}
.model-card-v2:hover .model-card-class{background:var(--terracotta)}
.model-card-flag{
  position:absolute;top:0.75rem;right:0.75rem;
  font-size:0.6rem;font-weight:700;
  font-family:var(--font-mono);
  padding:5px 10px;border-radius:100px;
  background:var(--terracotta);color:#fff;
  letter-spacing:0.08em;text-transform:uppercase;
  box-shadow:0 4px 12px rgba(178,58,31,0.3);
}
.model-card-flagged{border-color:var(--terracotta)}
.model-card-flagged:hover{border-color:var(--terracotta)}
.model-card-body{
  padding:clamp(1.25rem,2vw,1.5rem);
  display:flex;flex-direction:column;flex:1;
}
.model-card-num{
  font-size:0.7rem;font-weight:700;
  font-family:var(--font-mono);
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:0.35rem;
  font-feature-settings:"tnum" 1;
}
.model-card-v2 h4{
  font-size:1.125rem;font-weight:700;
  margin-bottom:0.3rem;letter-spacing:-0.01em;
}
.model-card-tagline{
  font-size:0.8rem;color:var(--text-muted);
  margin-bottom:1rem;
  letter-spacing:0.01em;
}
.model-card-v2 .model-specs{margin-bottom:1rem;flex:1}
.model-card-v2 .product-link{align-self:flex-start}

@media(max-width:1024px){
  .model-grid-v2{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .model-grid-v2{grid-template-columns:1fr}
  .model-filter{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0.5rem}
  .model-filter-btn{white-space:nowrap;flex-shrink:0;min-height:44px}
}

/* ========== FULL LINEUP TABLE (Tier 2 of product list) ========== */
.lineup-toolbar{
  display:flex;flex-wrap:wrap;gap:1rem;
  align-items:center;justify-content:space-between;
  margin-bottom:1.5rem;
}
.lineup-search{
  position:relative;flex:0 1 300px;
}
.lineup-search input{
  width:100%;
  padding:0.65rem 0.85rem 0.65rem 2.3rem;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;
  font-size:0.85rem;font-family:inherit;
  color:var(--text);
  transition:border-color 0.2s;
}
.lineup-search input:focus{
  outline:none;border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(15,30,46,0.08);
}
.lineup-search input::placeholder{color:var(--text-muted)}
.lineup-search svg{
  position:absolute;left:0.8rem;top:50%;
  transform:translateY(-50%);
  width:16px;height:16px;color:var(--text-muted);
  pointer-events:none;
}
.lineup-filters{
  display:flex;gap:0.4rem;flex-wrap:wrap;
}
.lineup-filter-btn{
  background:var(--white);
  border:1px solid var(--border);
  color:var(--text-secondary);
  padding:0.5rem 0.95rem;border-radius:100px;
  font-family:inherit;font-size:0.8rem;font-weight:500;
  cursor:pointer;transition:all 0.2s;
  display:inline-flex;align-items:center;gap:6px;
}
.lineup-filter-btn:hover{border-color:var(--navy);color:var(--navy)}
.lineup-filter-btn.is-active{
  background:var(--navy);color:#fff;border-color:var(--navy);
}
.lineup-filter-btn.is-active .lineup-filter-count{
  background:rgba(255,255,255,0.18);color:#fff;
}
.lineup-filter-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;
  background:var(--bg);color:var(--text-muted);
  font-size:0.62rem;font-weight:700;
  font-family:var(--font-mono);
  border-radius:100px;
  font-feature-settings:"tnum" 1;
  transition:all 0.2s;
}

/* Table wrap */
.lineup-table-wrap{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;overflow-x:auto;
  box-shadow:var(--shadow);
}
.lineup-table{
  width:100%;border-collapse:collapse;
  min-width:760px;
  font-size:0.85rem;
}
.lineup-table thead th{
  background:var(--bg);
  font-family:var(--font-mono);
  font-size:0.62rem;
  letter-spacing:0.06em;text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
  padding:0.85rem 1rem;
  text-align:left;
  border-bottom:1px solid var(--border-light);
  white-space:nowrap;
  -webkit-user-select:none;user-select:none;
}
.lineup-table thead th.col-check{padding:0.85rem 0.75rem}
.lineup-table tbody td{
  padding:0.9rem 1rem;
  border-bottom:1px solid var(--border-light);
  color:var(--text);
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
  vertical-align:middle;
}
.lineup-table tbody tr:last-child td{border-bottom:none}
.lineup-table tbody tr{transition:background 0.15s}
.lineup-table tbody tr:hover{background:var(--bg)}
.lineup-table tbody tr.is-selected{background:var(--terracotta-dim)}
.lineup-table tbody tr.is-selected:hover{background:var(--terracotta-dim)}
.lineup-table tbody tr.is-hidden{display:none}

/* Column-specific */
.col-check{width:44px;text-align:center;padding:0 !important}
.col-check input[type="checkbox"]{
  width:16px;height:16px;
  accent-color:var(--terracotta);
  cursor:pointer;
}
.col-model{min-width:150px}
.col-class{width:120px}
.col-num{text-align:right}
.col-bucket{width:100px}
.col-weight{width:80px}
.col-power{width:80px}
.col-breakout{width:100px}
.col-action{width:90px;text-align:right;padding:0.9rem 0.75rem !important}

.lineup-sort-btn{
  background:none;border:none;padding:0;
  font:inherit;color:inherit;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:4px;
  letter-spacing:inherit;text-transform:inherit;
}
.lineup-sort-btn:hover{color:var(--navy)}
.lineup-sort-btn svg{width:10px;height:10px;opacity:0.5;transition:opacity 0.2s}
.lineup-sort-btn:hover svg{opacity:1}

.lineup-model-link{
  display:flex;flex-direction:column;gap:2px;
  color:var(--navy);font-weight:700;
  font-size:0.875rem;
  font-family:var(--font-mono);
  text-decoration:none;
  letter-spacing:-0.01em;
}
.lineup-model-link small{
  font-size:0.6rem;font-weight:500;
  color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.04em;
  font-family:var(--font-sans);
}
.lineup-model-link:hover{color:var(--terracotta)}
.lineup-model-link-flagged{color:var(--terracotta)}
.lineup-model-link-flagged small{color:var(--terracotta);font-weight:600}

.lineup-class-tag{
  display:inline-block;
  font-size:0.6rem;font-weight:600;
  font-family:var(--font-mono);
  padding:3px 9px;border-radius:100px;
  letter-spacing:0.04em;text-transform:uppercase;
  white-space:nowrap;
}
.lineup-class-tag.compact{background:var(--steel-dim);color:var(--steel)}
.lineup-class-tag.mid{background:var(--navy-dim);color:var(--navy)}
.lineup-class-tag.large{background:var(--terracotta-dim);color:var(--terracotta)}
.lineup-class-tag.ultra{background:var(--navy);color:#fff}

.lineup-view-link{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.75rem;font-weight:600;
  color:var(--navy);
  font-family:var(--font-sans);
  text-decoration:none;
  transition:gap 0.2s, color 0.2s;
}
.lineup-view-link:hover{gap:8px;color:var(--terracotta)}

/* Empty state */
.lineup-empty{
  text-align:center;
  padding:2.5rem 1rem;
  color:var(--text-muted);
  font-size:0.9rem;
}
.lineup-empty button{
  background:none;border:1px solid var(--border);
  padding:0.4rem 0.85rem;border-radius:100px;
  font-size:0.8rem;font-family:inherit;
  color:var(--navy);cursor:pointer;
  margin-left:0.5rem;
  transition:all 0.2s;
}
.lineup-empty button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ========== STICKY COMPARE BAR ========== */
.lineup-compare-bar{
  position:fixed;bottom:24px;left:50%;
  transform:translateX(-50%);
  z-index:999;
  background:var(--navy);color:#fff;
  border-radius:var(--radius);
  box-shadow:0 16px 48px rgba(15,30,46,0.35),0 4px 12px rgba(15,30,46,0.2);
  padding:0.85rem 1.25rem;
  max-width:760px;width:calc(100% - 48px);
  /* Hint browser to optimize this rare one-shot slide-up animation. */
  will-change:transform,opacity;
  animation:lineupBarUp 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes lineupBarUp{
  from{transform:translate(-50%,120%);opacity:0}
  to{transform:translate(-50%,0);opacity:1}
}
.lineup-compare-bar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
}
.lineup-compare-info{
  display:flex;align-items:center;gap:0.6rem;
  font-size:0.85rem;flex:1;min-width:200px;flex-wrap:wrap;
}
.lineup-compare-info strong{
  font-size:1.1rem;font-weight:800;
  color:var(--terracotta-light);
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.lineup-compare-info > span{color:rgba(255,255,255,0.6);font-size:0.78rem}
.lineup-compare-chips{
  display:flex;gap:4px;flex-wrap:wrap;
}
.lineup-compare-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 4px 3px 9px;
  background:rgba(255,255,255,0.12);
  border-radius:100px;
  font-size:0.7rem;font-weight:500;
  font-family:var(--font-mono);
  letter-spacing:0.02em;
}
.lineup-compare-chip button{
  background:none;border:none;
  color:rgba(255,255,255,0.7);
  cursor:pointer;padding:0 5px;
  font-family:inherit;font-size:0.95rem;line-height:1;
  transition:color 0.15s;
}
.lineup-compare-chip button:hover{color:#fff}

.btn-lineup{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.82rem;font-weight:600;
  padding:0.55rem 1rem;border-radius:8px;
  border:none;cursor:pointer;
  font-family:inherit;
  transition:all 0.2s;
}
.btn-lineup-primary{background:var(--terracotta);color:#fff}
.btn-lineup-primary:hover:not(:disabled){
  background:var(--terracotta-light);
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(178,58,31,0.4);
}
.btn-lineup-primary:disabled{
  background:rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.5);
  cursor:not-allowed;
}
.btn-lineup-ghost{
  background:transparent;color:#fff;
  border:1px solid rgba(255,255,255,0.25);
}
.btn-lineup-ghost:hover{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.4);
}

.lineup-compare-actions{display:flex;gap:0.5rem;flex-shrink:0}

/* ========== App matrix footnote (no inline styles) ========== */
.app-matrix-footnote{
  text-align:center;
  margin-top:1.25rem;
  font-size:0.78rem;
  color:var(--text-muted);
}
.app-matrix-link-primary{
  color:var(--navy);
  font-weight:600;
  text-decoration:none;
  transition:color 0.2s;
}
.app-matrix-link-primary:hover{color:var(--terracotta)}
.app-matrix-link-accent{
  color:var(--terracotta);
  font-weight:600;
  text-decoration:none;
  transition:color 0.2s;
}
.app-matrix-link-accent:hover{color:var(--terracotta-light);text-decoration:underline}

/* ========== RESPONSIVE: lineup table on mobile ========== */
@media(max-width:768px){
  .lineup-table .col-class,
  .lineup-table .col-breakout,
  .lineup-table .col-weight,
  .lineup-table .col-power{display:none}
  .lineup-table{min-width:auto}
  .lineup-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .lineup-toolbar{flex-direction:column;align-items:stretch}
  .lineup-search{flex:1;width:100%}
  .lineup-compare-bar{padding:0.75rem 1rem;width:calc(100% - 24px);bottom:12px}
  .lineup-compare-info{font-size:0.78rem;gap:0.4rem}
  .lineup-compare-info strong{font-size:1rem}
  .lineup-compare-bar-inner{flex-direction:column;align-items:stretch;gap:0.75rem}
  .lineup-compare-actions{justify-content:flex-end}
}
@media(max-width:480px){
  .lineup-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:0.5rem;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .lineup-filter-btn{white-space:nowrap;flex-shrink:0;min-height:44px}
}

/* ========== PRODUCT LIST v3 ========== */
/* Class color progression: light steel 鈫?navy 鈫?terracotta 鈫?deep navy */
:root{
  --class-compact:#6B7884;
  --class-mid:#3A5A7E;
  --class-large:#B23A1F;
  --class-ultra:#0F1E2E;
  --class-bh:#5C6B3E;
}

/* Class tags */
.class-tag{
  display:inline-flex;align-items:center;
  font-family:var(--font-mono);
  font-size:0.6rem;font-weight:600;
  letter-spacing:0.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;
  white-space:nowrap;
}
.class-tag-compact{background:rgba(107,120,132,0.16);color:var(--class-compact)}
.class-tag-mid{background:rgba(58,90,126,0.16);color:var(--class-mid)}
.class-tag-large{background:rgba(178,58,31,0.14);color:var(--class-large)}
.class-tag-ultra{background:var(--class-ultra);color:#fff}
.class-tag-bh{background:rgba(92,107,62,0.18);color:var(--class-bh)}

/* ===== LINEUP MAP (signature visualization) ===== */
.lineup-map{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:1.75rem 1.5rem 1.25rem;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.lineup-map-zones{
  display:grid;
  grid-template-columns:5fr 8fr 4fr 5fr;
  gap:2px;
  border-radius:var(--radius-sm);
  overflow:hidden;
  background:var(--border-light);
  margin-bottom:1rem;
}
.lineup-map-zone{
  position:relative;
  padding:1.1rem 0.9rem 0.9rem;
  display:flex;flex-direction:column;gap:0.75rem;
  min-height:170px;
}
.zone-compact{background:linear-gradient(180deg,rgba(107,120,132,0.10) 0%,rgba(107,120,132,0.04) 100%)}
.zone-mid{background:linear-gradient(180deg,rgba(58,90,126,0.12) 0%,rgba(58,90,126,0.05) 100%)}
.zone-large{background:linear-gradient(180deg,rgba(178,58,31,0.12) 0%,rgba(178,58,31,0.04) 100%)}
.zone-ultra{background:linear-gradient(180deg,rgba(15,30,46,0.18) 0%,rgba(15,30,46,0.08) 100%)}
.zone-bh{background:linear-gradient(180deg,rgba(92,107,62,0.14) 0%,rgba(92,107,62,0.05) 100%)}

.zone-label{
  display:flex;align-items:center;gap:8px;
}
.zone-num{
  font-family:var(--font-mono);
  font-size:0.65rem;font-weight:700;
  color:var(--text-muted);
  letter-spacing:0.1em;
}
.zone-class{
  font-family:var(--font-mono);
  font-size:0.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.08em;
}
.zone-compact .zone-class{color:var(--class-compact)}
.zone-mid .zone-class{color:var(--class-mid)}
.zone-large .zone-class{color:var(--class-large)}
.zone-ultra .zone-class{color:var(--class-ultra)}
.zone-bh .zone-class{color:var(--class-bh)}

.zone-nodes{
  display:flex;flex-wrap:wrap;gap:6px;
  flex:1;align-content:center;
}
.map-node{
  width:12px;height:12px;
  border-radius:50%;
  display:block;
  position:relative;
  transition:transform 0.2s,box-shadow 0.2s;
  cursor:pointer;
  text-decoration:none;
  flex-shrink:0;
  will-change:transform;
}
.zone-compact .map-node{background:var(--class-compact)}
.zone-mid .map-node{background:var(--class-mid)}
.zone-large .map-node{background:var(--class-large)}
.zone-ultra .map-node{background:var(--class-ultra)}
.zone-bh .map-node{background:var(--class-bh)}
.map-node:hover,.map-node:focus{
  transform:scale(1.8);
  box-shadow:0 0 0 4px rgba(255,255,255,0.9),0 0 0 6px rgba(15,30,46,0.1);
  outline:none;z-index:2;
}
.map-node-star{
  width:18px;height:18px;
  box-shadow:0 0 0 3px var(--terracotta),0 0 0 5px rgba(255,255,255,0.9);
}
.map-node-star::after{
  content:'鈽?;position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;color:#fff;
  font-family:var(--font-mono);
}

.zone-meta{
  display:flex;flex-direction:column;gap:1px;
  font-family:var(--font-mono);
  font-size:0.68rem;
  color:var(--text-muted);
  font-weight:500;letter-spacing:0.02em;
}
.zone-meta span:first-child{
  font-size:0.75rem;color:var(--text);
  font-weight:700;letter-spacing:-0.01em;
}

.lineup-map-axis{
  display:flex;justify-content:space-between;
  padding:0.85rem 0.25rem 0;
  font-family:var(--font-mono);
  font-size:0.7rem;
  color:var(--text-muted);
  font-weight:600;letter-spacing:0.04em;
  border-top:1px solid var(--border-light);
}

/* Map tooltip */
.map-tooltip{
  position:absolute;z-index:1000;
  background:var(--navy);color:#fff;
  border-radius:8px;
  padding:0.7rem 0.9rem;
  font-size:0.78rem;
  min-width:160px;
  box-shadow:0 12px 32px rgba(15,30,46,0.4);
  opacity:0;pointer-events:none;
  transform:translateY(4px);
  transition:opacity 0.15s,transform 0.15s;
  will-change:opacity,transform;
}
.map-tooltip.is-visible{opacity:1;transform:translateY(0)}
.map-tooltip-num{
  font-family:var(--font-mono);
  font-size:0.9rem;font-weight:800;
  color:var(--terracotta-light);
  margin-bottom:6px;letter-spacing:-0.01em;
}
.map-tooltip-specs{
  display:grid;gap:3px;
  font-family:var(--font-mono);
  font-size:0.7rem;
}
.map-tooltip-specs > div{
  display:flex;justify-content:space-between;gap:10px;
}
.map-tooltip-specs dt{
  color:rgba(255,255,255,0.5);
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-size:0.6rem;
}
.map-tooltip-specs dd{
  color:#fff;font-weight:600;
  font-feature-settings:"tnum" 1;
}

/* ===== CLASS CHAPTERS ===== */
.class-chapter{
  padding:var(--section-py) 0;
  background:var(--bg-alt);
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  position:relative;
}
.class-chapter-light{background:var(--white)}
.class-chapter-dark{
  background:var(--navy-deep);
  color:#fff;
  position:relative;overflow:hidden;
  border-top:0;
}
.class-chapter-dark::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 50% 50% at 70% 20%,rgba(178,58,31,0.10) 0%,transparent 60%),
    radial-gradient(ellipse 40% 40% at 20% 80%,rgba(255,255,255,0.04) 0%,transparent 60%);
  pointer-events:none;
}
.class-chapter-dark .container{position:relative;z-index:1}
.class-chapter-dark h2{color:#fff}
.class-chapter-dark .class-chapter-meta p{color:rgba(255,255,255,0.7)}
.class-chapter-dark .class-chapter-stats{color:rgba(255,255,255,0.85)}
.class-chapter-dark .class-chapter-stats strong{color:#fff}
.class-chapter-dark .class-chapter-num{color:rgba(255,255,255,0.5)}

.class-chapter-header{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:clamp(1.5rem,4vw,3rem);
  align-items:start;
  margin-bottom:clamp(2rem,4vw,3rem);
}
.class-chapter-mark{
  display:flex;flex-direction:column;gap:0.75rem;
  align-items:flex-start;
  border-right:1px solid var(--border-light);
  padding-right:clamp(1rem,2vw,1.5rem);
}
.class-chapter-num{
  font-family:var(--font-mono);
  font-size:2rem;font-weight:800;
  color:var(--terracotta);
  line-height:1;
  letter-spacing:-0.03em;
  font-feature-settings:"tnum" 1;
}
.class-chapter-class{
  font-size:0.75rem;
  padding:5px 12px;
}
.class-chapter-meta h2{
  font-size:clamp(1.5rem,2.8vw,2.25rem);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.15;
  margin-bottom:0.75rem;
}
.class-chapter-meta p{
  font-size:0.95rem;
  color:var(--text-secondary);
  line-height:1.65;
  margin-bottom:0;
  max-width:640px;
}
.class-chapter-stats{
  display:flex;
  flex-direction:column;
  gap:0.4rem;
  font-size:0.72rem;
  color:var(--text-muted);
  margin-top:0.35rem;
}
.class-chapter-stats > div{
  display:flex;align-items:baseline;gap:0.55rem;
  font-family:var(--font-mono);
  letter-spacing:0.02em;
}
.class-chapter-stats strong{
  font-family:var(--font-mono);
  font-size:0.82rem;
  font-weight:700;
  color:var(--navy);
  letter-spacing:-0.01em;
  font-feature-settings:"tnum" 1;
  flex-shrink:0;
  min-width:5.5ch;
}
.class-chapter-dark .class-chapter-mark{border-right-color:rgba(255,255,255,0.12)}
.class-chapter-dark .class-chapter-stats strong{color:#fff}
.class-chapter-dark .class-chapter-stats{color:rgba(255,255,255,0.6)}

/* ===== MODEL MINI CARD ===== */
.model-grid-mini{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0.75rem;
}
.model-mini{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  padding:0.75rem 0.7rem 0.6rem;
  display:flex;flex-direction:column;gap:0.2rem;
  transition:all 0.25s;
  position:relative;
  scroll-margin-top:5rem;
}
.model-mini:hover{
  border-color:var(--navy);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.model-mini-flagged{
  border-color:var(--terracotta);
  background:linear-gradient(135deg,var(--white) 0%,rgba(178,58,31,0.06) 200%);
}
.model-mini-flagged::before{
  content:'鈽?Best Seller';
  position:absolute;
  top:-8px;left:0.85rem;
  background:var(--terracotta);color:#fff;
  font-family:var(--font-mono);
  font-size:0.55rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
  padding:3px 9px;border-radius:100px;
  box-shadow:0 4px 10px rgba(178,58,31,0.3);
}
.model-mini-dark{
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.12);
  color:#fff;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.model-mini-dark:hover{
  border-color:var(--terracotta);
  background:rgba(255,255,255,0.08);
  box-shadow:0 12px 32px rgba(0,0,0,0.3);
}
.model-mini-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:0.25rem;
}
.model-mini-num{
  font-family:var(--font-mono);
  font-size:1rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-0.02em;
  font-feature-settings:"tnum" 1;
}
.model-mini-dark .model-mini-num{color:#fff}
.model-mini-compare{
  width:22px;height:22px;
  border-radius:5px;
  border:1.5px solid var(--border);
  background:var(--white);
  color:var(--text-muted);
  font-size:0.85rem;font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  display:flex;align-items:center;justify-content:center;
  font-family:inherit;line-height:1;
  padding:0;
}
.model-mini-compare:hover{
  border-color:var(--terracotta);
  color:var(--terracotta);
  transform:scale(1.08);
}
.model-mini-compare.is-active{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:#fff;
}
.model-mini-dark .model-mini-compare{
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.7);
}
.model-mini-dark .model-mini-compare:hover,
.model-mini-dark .model-mini-compare.is-active{
  border-color:var(--terracotta);
  background:var(--terracotta);
  color:#fff;
}
.model-mini-name{
  font-size:0.65rem;
  color:var(--text-muted);
  letter-spacing:0.01em;
  line-height:1.2;
}
.model-mini-dark .model-mini-name{color:rgba(255,255,255,0.55)}
.model-mini-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0.2rem;
  margin:0.3rem -0.7rem;
  padding:0.4rem 0.7rem;
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
}
.model-mini-dark .model-mini-specs{border-color:rgba(255,255,255,0.08)}
.model-mini-specs > div{
  display:flex;flex-direction:column;gap:1px;
}
.model-mini-specs dt{
  font-size:0.48rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--text-muted);
  font-family:var(--font-mono);
  font-weight:500;
}
.model-mini-specs dd{
  font-size:0.7rem;font-weight:600;
  color:var(--text);
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.model-mini-dark .model-mini-specs dt{color:rgba(255,255,255,0.5)}
.model-mini-dark .model-mini-specs dd{color:#fff}
.model-mini-link{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.72rem;font-weight:600;
  color:var(--navy);
  text-decoration:none;
  transition:gap 0.2s,color 0.2s;
  align-self:flex-start;margin-top:0.25rem;
}
.model-mini-link:hover{gap:8px;color:var(--terracotta)}
.model-mini-dark .model-mini-link{color:var(--terracotta-light)}
.model-mini-dark .model-mini-link:hover{color:#fff}

/* ===== COMPARE PANEL (inline, replaces sticky bar) ===== */
.compare-panel{
  background:var(--bg);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:clamp(1.25rem,2.5vw,2rem);
}
.compare-panel-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin-bottom:1.25rem;
}
.compare-cell{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  padding:1.1rem;
  display:flex;flex-direction:column;gap:0.4rem;
  position:relative;
  border-top:3px solid var(--border-light);
  transition:all 0.2s;
}
.compare-cell--compact{border-top-color:var(--class-compact)}
.compare-cell--mid{border-top-color:var(--class-mid)}
.compare-cell--large{border-top-color:var(--class-large)}
.compare-cell--ultra{border-top-color:var(--class-ultra)}
.compare-cell--bh{border-top-color:var(--class-bh)}
.compare-cell-head{
  display:flex;align-items:center;justify-content:space-between;
}
.compare-cell-remove{
  width:22px;height:22px;
  border-radius:50%;
  border:1px solid var(--border);
  background:var(--white);
  color:var(--text-muted);
  cursor:pointer;
  font-size:1rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  font-family:inherit;padding:0;
  transition:all 0.2s;
}
.compare-cell-remove:hover{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:#fff;
}
.compare-cell-num{
  font-family:var(--font-mono);
  font-size:1.6rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-0.02em;
  line-height:1;
  margin:0.25rem 0;
  font-feature-settings:"tnum" 1;
}
.compare-cell-specs{
  display:grid;gap:0.4rem;
  font-family:var(--font-mono);
  font-size:0.7rem;
  margin-bottom:0.4rem;
}
.compare-cell-specs > div{
  display:flex;justify-content:space-between;align-items:baseline;gap:8px;
}
.compare-cell-specs dt{
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-size:0.6rem;
}
.compare-cell-specs dd{
  color:var(--text);font-weight:600;
  font-size:0.78rem;
  font-feature-settings:"tnum" 1;
}
.compare-cell-link{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.72rem;font-weight:600;
  color:var(--navy);
  text-decoration:none;
  margin-top:auto;align-self:flex-start;
  transition:gap 0.2s,color 0.2s;
}
.compare-cell-link:hover{gap:8px;color:var(--terracotta)}

.compare-panel-foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
  padding-top:1rem;
  border-top:1px solid var(--border-light);
}
.compare-panel-hint{
  font-size:0.78rem;
  color:var(--text-muted);
}


/* ===== RESPONSIVE for v3 ===== */
@media(max-width:1024px){
  .lineup-map-zones{grid-template-columns:repeat(2,1fr)}
  .lineup-map-axis{display:none}
  .class-chapter-header{grid-template-columns:1fr;gap:1.25rem}
  .class-chapter-mark{border-right:none;padding-right:0;border-bottom:1px solid var(--border-light);padding-bottom:0.75rem}
  .class-chapter-stats{flex-direction:row;flex-wrap:wrap;gap:0.6rem 1.25rem}
  .model-grid-mini{grid-template-columns:repeat(4,1fr)}
  .compare-panel-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .lineup-map-zones{grid-template-columns:1fr}
  .model-grid-mini{grid-template-columns:repeat(2,1fr)}
  .compare-panel-grid{grid-template-columns:1fr}
  .compare-panel-foot{flex-direction:column;align-items:stretch}
  .compare-panel-hint{text-align:center}
  .class-chapter-stats{gap:0.4rem 1rem;font-size:0.7rem}
  .class-chapter-stats strong{min-width:0}
}

/* ========== productlist enhancements ========== */

/* Featured card actions row (compare button + view details) */
.model-card-actions{
  display:flex;
  align-items:center;
  gap:0.75rem;
  margin-top:0.5rem;
}
.model-card-compare{
  background:transparent;
  border:1px solid var(--border-light);
  border-radius:999px;
  padding:0.35rem 0.8rem;
  font-size:0.72rem;
  font-weight:700;
  color:var(--navy);
  cursor:pointer;
  transition:all 0.2s;
  white-space:nowrap;
}
.model-card-compare:hover{
  border-color:var(--navy-dim);
  background:var(--white);
}
.model-card-compare.is-active{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:#fff;
}

/* Spec filter bar */
.spec-filter{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  padding:2rem;
}
.spec-filter-head{margin-bottom:1.5rem}
.spec-filter-head h2{font-size:1.6rem;margin:0.5rem 0 0.35rem}
.spec-filter-head p{color:var(--text-muted);font-size:0.9rem}
.spec-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.75rem;
  margin-bottom:1.25rem;
}
.spec-filter-field{
  background:var(--section-alt);
  border-radius:calc(var(--radius) - 4px);
  padding:1rem 1.1rem;
}
.spec-filter-field label{
  display:block;
  margin-bottom:0.6rem;
}
.spec-filter-label{
  font-size:0.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--navy-dim);
}
.spec-filter-val{
  display:inline-block;
  margin-left:0.5rem;
  font-size:0.8rem;
  font-weight:600;
  color:var(--terracotta);
  font-variant-numeric:tabular-nums;
}
.spec-filter-field input[type="range"]{
  display:block;
  width:100%;
  margin:0.3rem 0;
  accent-color:var(--terracotta);
}
.spec-filter-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:0.75rem;
  border-top:1px solid var(--border-light);
}
.spec-filter-count{
  font-size:0.85rem;
  color:var(--text-muted);
  font-variant-numeric:tabular-nums;
}

/* Mini card filtered state */
.model-mini.is-hidden{
  display:none;
}
.model-grid-mini.is-empty{
  display:none;
}

@media (max-width:900px){
  .spec-filter-grid{grid-template-columns:1fr}
  .spec-filter-foot{flex-direction:column;align-items:stretch}
}

/* ========== PRODUCTS LIST (products.html) ========== */
.products-jump{
  display:flex;flex-wrap:wrap;gap:0.5rem;
  margin-top:1rem;
}
.products-jump-chip{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(255,255,255,0.08);color:#fff;
  border:1px solid rgba(255,255,255,0.14);
  padding:0.35rem 0.75rem;border-radius:100px;
  font-size:0.72rem;font-weight:500;
  transition:all 0.25s;
}
.products-jump-chip:hover{
  background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.28);
}
.products-jump-series{color:rgba(255,255,255,0.6);font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.06em;text-transform:uppercase}
.products-jump-name{font-weight:600}

.series-header{
  display:flex;gap:clamp(1rem,3vw,2.5rem);
  padding:1.5rem;margin-bottom:2rem;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  align-items:flex-start;
}
.series-header-light{background:var(--bg-alt)}
.series-header-mark{
  display:flex;flex-direction:column;align-items:center;gap:0.75rem;
  flex-shrink:0;
}
.series-header-num{
  font-size:0.75rem;font-weight:700;font-family:var(--font-mono);
  color:var(--navy);background:var(--bg);
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  letter-spacing:-0.02em;
  font-feature-settings:"tnum" 1;
}
.series-header-tag{align-self:flex-start}
.series-header-meta{flex:1;min-width:0}
.series-header-meta h2{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;letter-spacing:-0.02em;margin-bottom:0.5rem}
.series-header-meta p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0.75rem}
.series-header-stats{
  display:flex;flex-wrap:wrap;gap:0.75rem 1.5rem;
  font-size:0.75rem;color:var(--text-muted);
  font-family:var(--font-mono);letter-spacing:0.02em;
}
.series-header-stats strong{color:var(--navy);font-weight:700;margin-right:0.35rem}

.chapter-block{
  margin-top:1.5rem;
}
.chapter-block-title{
  display:flex;align-items:center;gap:0.75rem;
  font-size:0.8rem;font-weight:500;color:var(--text-secondary);
  font-family:var(--font-mono);letter-spacing:0.04em;text-transform:uppercase;
  margin-bottom:1rem;
  padding-bottom:0.75rem;border-bottom:1px solid var(--border-light);
}
.chapter-block-title > span:last-child{color:var(--text-muted)}

/* compact grid: 4 cols desktop 鈫?fits many models on one screen */
.products-grid-mini{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
@media (max-width:1100px){.products-grid-mini{grid-template-columns:repeat(3,1fr)}}
@media (max-width:780px){.products-grid-mini{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.products-grid-mini{grid-template-columns:1fr}}

.product-mini{
  display:flex;flex-direction:column;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:all 0.3s;
  position:relative;
}
.product-mini:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.product-mini-dark{
  background:var(--navy);
  border-color:var(--navy-light);
  color:#fff;
}
.product-mini-dark .product-mini-body{color:#fff}
.product-mini-dark .product-mini-num{color:rgba(255,255,255,0.6)}

.product-mini-visual{
  display:block;position:relative;
  aspect-ratio:16/10;
  background:var(--bg);
  overflow:hidden;
}
.product-mini-visual img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.5s var(--transition);
}
.product-mini:hover .product-mini-visual img{transform:scale(1.04)}
.product-mini-visual-fallback{
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
}
.product-mini-dark .product-mini-visual{background:var(--navy-deep)}

.product-mini-class{
  position:absolute;top:0.5rem;left:0.5rem;
  font-size:0.6rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  padding:3px 7px;border-radius:100px;
  background:rgba(255,255,255,0.92);color:var(--navy);
  backdrop-filter:blur(4px);
}
.product-mini-flag{
  position:absolute;top:0.5rem;right:0.5rem;
  font-size:0.6rem;font-weight:700;letter-spacing:0.06em;
  padding:3px 8px;border-radius:100px;
  background:var(--terracotta);color:#fff;
}

.product-mini-body{
  padding:0.85rem 0.95rem 0.95rem;
  display:flex;flex-direction:column;gap:0.4rem;flex:1;
}
.product-mini-num{
  font-size:0.6rem;font-weight:700;font-family:var(--font-mono);
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--navy);
  font-feature-settings:"tnum" 1;
}
.product-mini-body h4{
  font-size:0.9rem;font-weight:600;letter-spacing:-0.01em;line-height:1.25;
}
.product-mini-specs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0.35rem;
  font-size:0.7rem;
  padding-top:0.5rem;border-top:1px solid var(--border-light);
  margin-top:0.15rem;
}
.product-mini-dark .product-mini-specs{border-color:rgba(255,255,255,0.12)}
.product-mini-specs dt{
  font-size:0.6rem;color:var(--text-muted);
  font-family:var(--font-mono);letter-spacing:0.04em;text-transform:uppercase;
}
.product-mini-specs dd{
  font-weight:600;color:var(--text);
  font-family:var(--font-mono);font-feature-settings:"tnum" 1;
}
.product-mini-dark .product-mini-specs dd{color:#fff}
.product-mini-link{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.72rem;font-weight:600;color:var(--terracotta);
  transition:gap 0.25s;margin-top:0.25rem;
}
.product-mini-link:hover{gap:9px;color:var(--navy)}
.product-mini.is-hidden{display:none}
.chapter-block.is-empty{display:none}

/* ========== PRODUCT DETAIL (product-detail.html) ========== */
.page-hero-compact{padding-bottom:0}
.detail-hero{padding:1rem 0 0}
.detail-hero-tag{
  font-size:0.7rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--terracotta);font-family:var(--font-mono);
  margin-bottom:0.5rem;
}
.detail-hero h1{
  font-size:clamp(1.5rem,3vw,2.5rem);font-weight:800;
  letter-spacing:-0.02em;line-height:1.1;margin-bottom:0.5rem;
}
.detail-hero p{
  font-size:0.9375rem;color:rgba(255,255,255,0.82);line-height:1.6;
  max-width:62ch;
}
.detail-hero .accent{color:var(--terracotta-light)}

/* gallery column */
.detail-gallery{display:flex;flex-direction:column;gap:0.75rem;min-width:0}
.detail-gallery-main{
  position:relative;
  aspect-ratio:1/1;
  /* hard height cap so a tall source image can't stretch the box
     and re-render beneath itself (single-image double-stack bug) */
  max-height:calc(100vw - 4rem);
  background:var(--bg);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:border-color 0.3s;
}
.detail-gallery-main img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;display:block;
  transition:opacity 0.22s;
}
.product-image-fallback{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);font-size:0.8rem;font-family:var(--font-mono);
}
.detail-gallery-badge{
  position:absolute;top:0.85rem;left:0.85rem;
  font-size:0.6rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  padding:4px 9px;border-radius:100px;
  background:rgba(255,255,255,0.92);color:var(--navy);
  backdrop-filter:blur(4px);
}
.detail-gallery-flag{
  position:absolute;top:0.85rem;right:0.85rem;
  font-size:0.6rem;font-weight:700;letter-spacing:0.06em;
  padding:4px 10px;border-radius:100px;
  background:var(--terracotta);color:#fff;
}
.detail-gallery-thumbs{
  display:flex;gap:0.5rem;
  /* 缂╃暐鍥捐繃澶氭椂妯悜婊氬姩锛岄伩鍏嶇獎灞忔拺鐮村鍣ㄦ孩鍑?*/
  overflow-x:auto;
  overflow-y:hidden;
  flex-wrap:nowrap;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  padding:2px 0 6px; /* 缁欐í鍚戞粴鍔ㄦ潯鐣欑┖闂达紝閬垮厤瑁佸垏缂╃暐鍥?*/
}
.detail-thumb{
  flex:0 0 auto;          /* fixed thumb width 鈥?no full-width stretch */
  width:96px;height:96px; /* explicit size (aspect-ratio fallback) */
  aspect-ratio:1;
  background:var(--bg);
  border:2px solid transparent;border-radius:var(--radius-sm);
  overflow:hidden;cursor:pointer;padding:0;
  scroll-snap-align:start;
  transition:all 0.25s;
}
.detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.detail-thumb:hover{border-color:var(--navy-dim)}
.detail-thumb.is-active{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}
.detail-gallery-caption{
  font-size:0.75rem;color:var(--text-muted);line-height:1.5;
  font-family:var(--font-mono);
  margin-top:0.25rem;
}

/* summary column extensions */
.product-summary{display:flex;flex-direction:column;min-width:0}
.detail-cta{
  display:flex;flex-direction:column;gap:0.5rem;
  margin-bottom:1.25rem;
}
.detail-cta .btn{justify-content:center;padding:0.75rem 1.25rem;min-width:0;white-space:normal;text-align:center}
.btn-ghost{
  background:transparent;color:var(--text-secondary);
  border:1px solid var(--border-light);
}
.btn-ghost:hover{color:var(--navy);border-color:var(--navy-dim);background:var(--bg)}
.detail-trust{
  display:flex;flex-direction:column;gap:0.4rem;
  padding-top:1rem;border-top:1px solid var(--border-light);
  font-size:0.75rem;color:var(--text-secondary);
}
.detail-trust-item{display:flex;align-items:center;gap:8px;min-width:0}
.detail-trust-item span{min-width:0;overflow-wrap:anywhere}
.detail-trust-item svg{color:var(--terracotta);flex-shrink:0}

/* tabs */
.detail-tabs{
  display:flex;gap:0.4rem;
  margin-bottom:1.5rem;
  background:var(--white);
  padding:0.5rem;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  position:sticky;top:5rem;z-index:20;
}
.detail-tab{
  display:flex;align-items:center;gap:0.4rem;
  background:transparent;border:none;
  font-size:0.8375rem;font-weight:600;color:var(--text-secondary);
  padding:0.65rem 1.15rem;border-radius:var(--radius-sm);
  cursor:pointer;font-family:inherit;
  transition:all 0.25s;
  white-space:nowrap;
}
.detail-tab:hover{color:var(--navy);background:var(--bg)}
.detail-tab.is-active{color:#fff;background:var(--navy);box-shadow:0 2px 8px rgba(15,30,46,0.15)}
.detail-tab svg{width:16px;height:16px;flex-shrink:0}

.detail-panel{display:none}
.detail-panel.is-active{display:block;animation:panelFadeIn 0.3s ease}
@keyframes panelFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.detail-panel-note{
  font-size:0.75rem;color:var(--text-muted);line-height:1.6;
  margin-top:1rem;padding:0.85rem 1rem;
  background:var(--bg);border-radius:var(--radius-sm);
  border-left:3px solid var(--border);
}

/* full spec table */
.spec-table-wrap{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.spec-table{
  width:100%;border-collapse:collapse;
  font-size:0.8375rem;
}
.spec-table thead th{
  background:var(--bg-alt);
  font-size:0.65rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--text-muted);font-family:var(--font-mono);
  text-align:left;padding:0.85rem 1.1rem;
}
.spec-table tbody td{
  padding:0.65rem 1.1rem;
  border-top:1px solid var(--border-light);
  color:var(--text);
}
.spec-table tbody td:first-child{
  font-size:0.7rem;color:var(--text-muted);
  font-family:var(--font-mono);letter-spacing:0.04em;text-transform:uppercase;
  width:14ch;
}
.spec-table tbody td:nth-child(2){color:var(--text-secondary)}
.spec-table tbody td:last-child{
  font-weight:600;text-align:right;
  font-family:var(--font-mono);font-feature-settings:"tnum" 1;
  color:var(--navy);
}
.spec-table tbody tr:hover{background:var(--bg)}

.detail-app-wrap{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.detail-app-wrap .app-matrix{margin:0}
.detail-app-wrap .app-matrix-legend{
  padding:0.85rem 1.1rem;background:var(--bg-alt);
  font-size:0.75rem;color:var(--text-muted);
}

/* related models */
.related-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;
}
.related-card{
  display:flex;gap:1rem;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:all 0.3s;
}
.related-card:hover{
  border-color:var(--terracotta);
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
}
.related-card-visual{
  width:130px;flex-shrink:0;aspect-ratio:1;
  background:radial-gradient(ellipse at 50% 40%, #F7F5F1 0%, #E8E4DE 60%, #D8D4CC 100%);
  overflow:hidden;
}
.related-card-visual img{
  width:100%;height:100%;object-fit:contain;display:block;
  padding:10px;transition:transform 0.4s;
}
.related-card:hover .related-card-visual img{transform:scale(1.05)}
.related-card-visual-fallback{background:linear-gradient(135deg,#E8E4DE,#D8D4CC)}
.related-card-body{
  flex:1;padding:1rem 1.25rem;
  display:flex;flex-direction:column;gap:0.5rem;justify-content:center;
}
.related-card-num{
  font-size:0.95rem;font-weight:700;letter-spacing:-0.01em;
  color:var(--text);
}
.related-card-specs{
  display:flex;flex-wrap:wrap;gap:0.4rem 0.75rem;font-size:0.75rem;
  color:var(--text-muted);font-family:var(--font-mono);font-feature-settings:"tnum" 1;
}
.related-card-specs span:empty{display:none}
.related-card-specs span:not(:first-child)::before{content:'路 ';color:var(--border)}
@media (max-width:780px){.related-grid{grid-template-columns:1fr}.related-card-visual{width:110px}}

@media (max-width:1024px){
  .product-detail-grid{grid-template-columns:1fr;gap:2rem}
  .detail-gallery-main{aspect-ratio:1/1}
}
@media (max-width:640px){
  .series-header{flex-direction:column;gap:0.75rem}
  .series-header-mark{flex-direction:row;align-items:center}
  .detail-tabs{flex-direction:column;gap:0.25rem;position:static;padding:0.35rem}
  .detail-tab{padding:0.55rem 0.85rem}
  .detail-tab.is-active{box-shadow:0 2px 6px rgba(15,30,46,0.12)}
  /* 绐勫睆缂╃暐鍥剧缉灏忥紝涓€琛屽彲瑙佹洿澶氾紱澶氫綑閮ㄥ垎妯悜婊氬姩 */
  .detail-thumb{width:76px;height:76px}
  /* 鏋佺獎灞忚鏍煎尯闄嶄负鍗曞垪锛岄伩鍏嶄袱鍒楁尋鍘嬫孩鍑?*/
  .product-summary-specs{grid-template-columns:1fr}
}

/* ========== PRODUCTS INDEX PAGE 鈥?additional styles ========== */

/* Hero jump chip 鈥?single row text layout (override of stacked variant) */
.products-jump{
  display:flex;flex-wrap:wrap;gap:0.5rem;
  margin-top:1.25rem;
}
.products-jump-chip{
  display:inline-flex;align-items:center;gap:0.6rem;
  background:rgba(255,255,255,0.08);color:#fff;
  border:1px solid rgba(255,255,255,0.14);
  padding:0.45rem 0.95rem;border-radius:100px;
  font-size:0.75rem;font-weight:500;
  text-decoration:none;
  transition:all 0.25s;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.products-jump-chip:hover{
  background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.32);
  transform:translateY(-1px);
}
.products-jump-series{
  color:rgba(255,255,255,0.55);
  font-family:var(--font-mono);
  font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;
  font-weight:600;
}
.products-jump-name{font-weight:600;color:#fff;letter-spacing:-0.005em}

/* Trust bar */
.trust-bar{
  padding:2.25rem 0;
  background:var(--white);
  border-bottom:1px solid var(--border-light);
}
.trust-bar-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
}
.trust-stat-value{
  font-family:var(--font-mono);
  font-size:1.65rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-0.02em;line-height:1;
  margin-bottom:0.4rem;
  font-feature-settings:"tnum" 1;
}
.trust-stat-value .trust-stat-unit{
  font-size:0.5em;color:var(--text-muted);font-weight:500;margin-left:0.3em;
}
.trust-stat-label{
  font-size:0.78rem;color:var(--text-secondary);
  line-height:1.5;
}
@media(max-width:900px){
  .trust-bar-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}
@media(max-width:480px){
  .trust-bar-grid{grid-template-columns:1fr}
}

/* Section spacing helpers */
.section-tight-top{padding-top:clamp(2.5rem,4vw,3.5rem)!important}
.section-tight-bottom{padding-bottom:clamp(2rem,3vw,2.5rem)!important}

/* Lineup map: ensure class-colored backgrounds are strong */
.zone-compact{background:linear-gradient(180deg,rgba(107,120,132,0.10) 0%,rgba(107,120,132,0.04) 100%)}
.zone-mid{background:linear-gradient(180deg,rgba(58,90,126,0.12) 0%,rgba(58,90,126,0.05) 100%)}
.zone-large{background:linear-gradient(180deg,rgba(178,58,31,0.12) 0%,rgba(178,58,31,0.04) 100%)}
.zone-ultra{background:linear-gradient(180deg,rgba(15,30,46,0.22) 0%,rgba(15,30,46,0.10) 100%)}
.zone-bh{background:linear-gradient(180deg,rgba(92,107,62,0.14) 0%,rgba(92,107,62,0.05) 100%)}
.zone-bh .map-node{background:var(--class-bh)}
.zone-bh .zone-class{color:var(--class-bh)}

/* 5-column lineup map (now includes Backhoe) */
.lineup-map-zones{grid-template-columns:4fr 6fr 5fr 4fr 4fr}
@media(max-width:1100px){
  .lineup-map-zones{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .lineup-map-zones{grid-template-columns:1fr}
}

/* BH class tag in lineup table (coloured like the chapter) */
.lineup-class-tag.bh{background:rgba(92,107,62,0.18);color:#5C6B3E}

/* Chapter title alignment for the table section */
.section-header-left{
  text-align:left;margin-left:0;margin-right:0;
}
.section-header-left .tag{margin-left:0}

/* Spec filter label inline value alignment */
.spec-filter-field label{
  display:flex;align-items:baseline;justify-content:space-between;gap:0.5rem;
}

/* Chapter block title for the dark ultra chapter */
.class-chapter-dark .chapter-block-title{
  color:rgba(255,255,255,0.7);
  border-bottom-color:rgba(255,255,255,0.1);
}

/* Filter section spacing (keeps spec filter visually separated from map) */
.section-filter{
  padding:clamp(2.5rem,4vw,4rem) 0;
  background:var(--bg-alt);
}

/* Lineup table section spacing */
.section-lineup{padding:clamp(2.5rem,4vw,4rem) 0;background:var(--white)}

/* Application matrix scope subtext */
.app-matrix-scope{
  display:block;
  margin-top:0.4rem;
  font-size:0.7rem;
  color:var(--text-muted);
  font-family:var(--font-mono);
  letter-spacing:0.04em;
}

/* Section left-align header on the lineup table */
.lineup-section-head{
  text-align:left;
  max-width:none;
  margin:0 0 1.5rem 0;
}
.lineup-section-head .tag{margin:0 0 0.75rem 0}
.lineup-section-head p{text-align:left}

/* Compare section heading 鈥?left aligned, no center */
.compare-section-head{
  text-align:left;
  max-width:none;
  margin:0 0 1.5rem 0;
}
.compare-section-head .tag{margin:0 0 0.75rem 0}
.compare-section-head p{text-align:left}

/* Section-compare overrides: keep the inline compare panel visually anchored */
.section-compare{background:var(--bg-alt)}

/* Cert strip on the product page */
.section-cert{
  padding:clamp(2.5rem,4vw,4rem) 0;
  background:var(--white);
}

/* Small button (used for "Reset filter" and "Reset to default") */
.btn-sm{
  padding:0.55rem 1.25rem;
  font-size:0.78rem;
}

/* CTA "tag on dark" override (used inside the dark CTA section) */
.tag-on-dark{
  background:rgba(255,255,255,0.08);
  color:#fff;
  border:1px solid rgba(255,255,255,0.12);
}

/* Chapter block title for the dark ultra chapter */
.chapter-block-title-dark{
  color:rgba(255,255,255,0.7);
  border-bottom-color:rgba(255,255,255,0.1);
}
.chapter-block-title-dark > span:last-child{color:rgba(255,255,255,0.5)}

/* Section header 鈥?tight (smaller bottom margin) */
.section-header-tight{margin-bottom:2rem}

/* Lineup map 鈥?bottom margin override */
.lineup-map-mb{margin-bottom:1.25rem}

/* ========== PRODUCT DETAIL 鈥?image fallback overlay ========== */
/* Sibling overlay (not parent) 鈥?does not affect .detail-gallery-main layout. */
.detail-gallery-fallback{
  position:absolute;inset:0;
  display:none;            /* toggled to flex by inline onerror on the <img> */
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:0.6rem;
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
  color:var(--text-muted);
  font-family:var(--font-mono);
  font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;
  z-index:0;               /* sit behind the class/flag badges */
}
.detail-fallback-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.5);
  border-radius:50%;
  color:var(--text-secondary);
}
.detail-fallback-text{font-weight:600;opacity:0.75}

/* ========== PRODUCTS v4 路 娆鹃鍥?banner + 鍨嬪彿鍗″皬鍥?========== */
/* 娆鹃鍥?banner */
.class-hero{
  position:relative;
  margin:0 0 clamp(1.5rem,3vw,2.25rem);
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--border-light);
  box-shadow:var(--shadow);
  background:var(--navy-deep);
  min-height:clamp(220px,32vw,360px);
  display:flex;align-items:flex-end;
}
.class-hero-image{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(135deg,rgba(15,30,46,0.10) 0%,rgba(15,30,46,0.04) 100%),
    var(--navy-light);
}
.class-hero-img{
  width:100%;height:100%;object-fit:cover;object-position:center 55%;
  display:block;
}
/* 娆鹃鍥惧姞杞藉け璐?鈫?鏄剧ず fallback 鍗犱綅 */
.class-hero-image.is-fallback .class-hero-img{display:none}
.class-hero-image:not(.is-fallback) .class-hero-fallback{display:none}
.class-hero-fallback{
  position:absolute;inset:0;z-index:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;
  background:
    radial-gradient(ellipse 60% 50% at 30% 20%,rgba(178,58,31,0.18) 0%,transparent 70%),
    radial-gradient(ellipse 50% 50% at 75% 80%,rgba(255,255,255,0.05) 0%,transparent 60%),
    linear-gradient(135deg,var(--navy-deep) 0%,var(--navy-light) 100%);
  color:rgba(255,255,255,0.85);
}
.class-hero-fallback-mark{
  font-family:var(--font-mono);
  font-size:clamp(2.5rem,5vw,4rem);font-weight:800;
  color:var(--terracotta-light);
  letter-spacing:-0.04em;line-height:1;
  opacity:0.7;
}
.class-hero-fallback-label{
  font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.55);
}
.class-hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,11,18,0.1) 0%,rgba(5,11,18,0.55) 100%),
    linear-gradient(90deg,rgba(5,11,18,0.65) 0%,rgba(5,11,18,0.15) 60%,transparent 100%);
}
.class-hero-caption{
  position:relative;z-index:2;
  padding:clamp(1.25rem,2.5vw,2rem);
  display:flex;flex-direction:column;gap:0.35rem;
  color:#fff;
}
.class-hero-caption-tag{
  font-family:var(--font-mono);
  font-size:0.7rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--terracotta-light);
}
.class-hero-caption-name{
  font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;letter-spacing:-0.01em;
  text-shadow:0 2px 12px rgba(0,0,0,0.35);
}
/* Ultra 娆炬繁鑹茶儗鏅井璋?*/
.class-hero-on-dark{border-color:rgba(255,255,255,0.08)}
.class-hero-on-dark .class-hero-fallback{background:linear-gradient(135deg,var(--navy-deep) 0%,#0a1422 100%)}

/* 鍨嬪彿鍗″皬鍥惧尯 */
.model-mini{display:flex;flex-direction:column}
.model-mini-photo{
  position:relative;
  aspect-ratio:16/9;
  background:var(--bg-alt);
  border-bottom:1px solid var(--border-light);
  overflow:hidden;
  margin:-0.75rem -0.7rem 0.2rem;
  border-radius:var(--radius-xs) var(--radius-xs) 0 0;
}
.model-mini-img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;transition:transform 0.5s var(--transition);
}
.model-mini:hover .model-mini-img{transform:scale(1.04)}
/* 鍨嬪彿灏忓浘鍔犺浇澶辫触 鈫?鏄剧ず fallback */
.model-mini.mini-img-fallback .model-mini-img{display:none}
.model-mini:not(.mini-img-fallback) .model-mini-photo-fallback{display:none}
.model-mini-photo-fallback{
  position:absolute;inset:0;z-index:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4rem;
  color:var(--text-muted);
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%,rgba(15,30,46,0.05) 0%,transparent 70%),
    var(--bg-alt);
}
.model-mini-photo-fallback svg{width:28px;height:28px;opacity:0.4}
.model-mini-photo-fallback span{
  font-family:var(--font-mono);font-size:0.7rem;font-weight:600;
  letter-spacing:0.04em;color:var(--text-muted);
}
/* dark 绔犺妭閲岀殑灏忓浘 fallback */
.model-mini-dark .model-mini-photo{background:rgba(255,255,255,0.04);border-bottom-color:rgba(255,255,255,0.08)}
.model-mini-dark .model-mini-photo-fallback{
  color:rgba(255,255,255,0.4);
  background:rgba(255,255,255,0.03);
}
.model-mini-dark .model-mini-photo-fallback span{color:rgba(255,255,255,0.5)}

/* mini 鍗″叾瀹冨厓绱犲線涓嬫帓 */
.model-mini-top,.model-mini-name,.model-mini-specs,.model-mini-link{padding:0 .7rem}
.model-mini-top{margin-top:.4rem;margin-bottom:0;padding-left:.7rem;padding-right:.7rem}
.model-mini-name{padding-top:0;padding-bottom:.2rem}
.model-mini-specs{margin:0 .7rem .3rem;padding-left:0;padding-right:0}
.model-mini-link{margin:.15rem 0 .3rem .7rem;align-self:flex-start;font-size:0.65rem;gap:3px}

/* 鍝嶅簲寮?绐勫睆娆鹃鍥剧煯涓€鐐?*/
@media(max-width:768px){
  .class-hero{min-height:clamp(180px,40vw,260px)}
  .model-mini-photo{aspect-ratio:16/9}
}

/* ========================================================
   鍏充簬鍏徃 4 涓唴椤垫牱寮?
   - about.html / careers.html / certificates.html / press.html
   - 娌跨敤鍙橀噺涓庣幇鏈夌被鍚?.tag/.btn/.container/.section-header)
   ======================================================== */

/* ===== 鍏叡锛歛ccent 寮鸿皟 ===== */
.about-intro .accent,
.factory-body .accent,
.values-grid .accent,
.cert-cta .accent,
.careers-cta .accent,
.about-cta .accent,
.fact-sheet-left .accent,
.press-subscribe-body .accent{color:var(--terracotta);font-style:italic;font-weight:700}

/* fade-up 寤惰繜宸ュ叿绫伙紙涓庣幇鏈?delay-1/2/3 鍚屾锛?*/
.fade-up.delay-4{transition-delay:0.3s}

/* ===== ABOUT锛氱畝浠?===== */
.about-intro{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;
}
.about-intro-left h2{
  font-size:clamp(1.6rem,2.5vw,2.25rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.15;margin-top:0.75rem;
}
.about-intro-right p{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.75;margin-bottom:1rem;
}
.about-intro-right p:last-child{margin-bottom:0}
.about-intro-right strong{color:var(--text)}
@media(max-width:900px){
  .about-intro{grid-template-columns:1fr;gap:1.25rem}
}

/* ========== ABOUT / TIMELINE (械写懈薪褋褌胁械薪薪邪褟 胁械褉褋懈褟) ========== */
.timeline{
  list-style:none;margin:0;padding:0;
  display:grid;gap:1.25rem;
  position:relative;
  max-width:880px;
  margin:0 auto;
  padding:2rem 0 2rem 2.5rem;
}
.timeline::before{
  content:'';position:absolute;
  left:1rem;top:0;bottom:0;
  width:2px;background:var(--border);
}
.timeline-item{
  position:relative;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  padding:clamp(1rem,2vw,1.25rem) clamp(1.25rem,2vw,1.75rem);
  box-shadow:var(--shadow);
}
.timeline-item:last-child{}
.timeline-item::before{
  content:'';position:absolute;
  left:calc(-1.5rem + 6px);top:1.25rem;
  width:12px;height:12px;border-radius:50%;
  background:var(--terracotta);
  border:3px solid var(--bg-alt);
  box-shadow:0 0 0 4px var(--bg-alt);
  z-index:1;
}
.section-white .timeline-item::before{border-color:var(--white);box-shadow:0 0 0 4px var(--white)}
.timeline-year{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:0.75rem;font-weight:700;
  color:var(--terracotta);
  letter-spacing:0.05em;
  background:var(--terracotta-dim);
  padding:0.15rem 0.6rem;
  border-radius:999px;
  margin-bottom:0.5rem;
  font-feature-settings:"tnum" 1;
}
.timeline-body h3{
  font-size:1.0625rem;font-weight:700;
  margin-bottom:0.4rem;line-height:1.3;
}
.timeline-body p{
  font-size:0.875rem;color:var(--text-secondary);
  line-height:1.65;
}
@media(max-width:640px){
  .timeline{padding-left:1.75rem;gap:1rem}
  .timeline-item::before{left:calc(-1.25rem + 6px);top:1rem}
  .timeline-item{padding:0.85rem 1rem}
}

/* ===== ABOUT锛氬伐鍘傚睍绀?===== */
.factory-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);align-items:center;
}
.factory-visual{position:relative}
.factory-image{
  aspect-ratio:4/3;border-radius:var(--radius);
  overflow:hidden;background:var(--bg-alt);
  box-shadow:var(--shadow);
}
.factory-image img{width:100%;height:100%;object-fit:cover;display:block}
.factory-image-fallback{
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
}
.factory-meta{
  position:absolute;left:0.85rem;top:0.85rem;
  display:flex;flex-direction:column;gap:0.4rem;
}
.factory-meta .tag{background:rgba(255,255,255,0.92);color:var(--terracotta);backdrop-filter:blur(8px)}
.factory-meta-area{
  display:inline-block;font-family:var(--font-mono);
  font-size:0.7rem;color:#fff;letter-spacing:0.05em;
  background:rgba(15,30,46,0.78);
  padding:0.3rem 0.6rem;border-radius:var(--radius-xs);
  backdrop-filter:blur(8px);
}
.factory-body h2{
  font-size:clamp(1.5rem,2.5vw,2.15rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.15;
  margin:0.75rem 0 1rem;
}
.factory-body p{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.7;margin-bottom:1.5rem;
}
.factory-capabilities{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.factory-capabilities li{
  display:grid;grid-template-columns:auto 1fr;gap:0.9rem;align-items:start;
}
.factory-capabilities svg{
  width:22px;height:22px;color:var(--terracotta);
  flex-shrink:0;margin-top:0.15rem;
}
.factory-capabilities h4{
  font-size:0.9375rem;font-weight:700;margin-bottom:0.2rem;
}
.factory-capabilities p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin:0;
}
@media(max-width:900px){
  .factory-grid{grid-template-columns:1fr;gap:1.5rem}
}

/* ===== ABOUT锛氫环鍊艰 ===== */
.values-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);
}
.value-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);
  transition:transform 0.3s,box-shadow 0.3s;
}
.value-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.value-icon{
  width:42px;height:42px;border-radius:var(--radius-sm);
  background:var(--terracotta-dim);color:var(--terracotta);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.value-icon svg{width:22px;height:22px}
.value-name-de{
  font-family:var(--font-mono);font-size:0.7rem;font-weight:600;
  color:var(--text-muted);letter-spacing:0.08em;
  text-transform:uppercase;margin-bottom:0.25rem;
}
.value-card h3{
  font-size:1.25rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.65rem;
}
.value-card p{
  font-size:0.875rem;color:var(--text-secondary);
  line-height:1.65;
}
@media(max-width:900px){.values-grid{grid-template-columns:1fr}}

/* ===== ABOUT锛氬叏鐞冪綉缁?===== */
.network-grid{
  display:grid;grid-template-columns:1.6fr 1fr;
  gap:clamp(1.5rem,3vw,2.5rem);align-items:start;
}
.network-map{
  background:var(--navy-deep);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:2/1;
}
.network-map-placeholder{
  position:relative;width:100%;height:100%;
}
.network-map-placeholder svg{
  width:100%;height:100%;display:block;
}
.network-map-note{
  position:absolute;left:0.75rem;bottom:0.75rem;
  font-family:var(--font-mono);font-size:0.65rem;
  color:rgba(255,255,255,0.6);letter-spacing:0.04em;
}
.network-list{
  list-style:none;margin:0;padding:0;display:grid;gap:1rem;
}
.network-list li{
  padding:0.85rem 1rem;background:var(--bg-alt);
  border-radius:var(--radius-sm);
}
.network-region{
  display:block;font-family:var(--font-mono);
  font-size:0.7rem;font-weight:600;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--terracotta);
  margin-bottom:0.4rem;
}
.network-cities{
  display:flex;flex-wrap:wrap;gap:0.3rem 0.5rem;
  font-size:0.8125rem;color:var(--text);
}
.network-cities span:not(:last-child)::after{
  content:'路';margin-left:0.5rem;color:var(--text-muted);
}
@media(max-width:900px){
  .network-grid{grid-template-columns:1fr}
}

/* ===== ABOUT锛氶瀵煎洟闃?===== */
.leadership-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);
}
.leader-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform 0.3s,box-shadow 0.3s;
}
.leader-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.leader-photo{
  aspect-ratio:1/1;background:var(--bg-alt);
  overflow:hidden;position:relative;
}
.leader-photo img{width:100%;height:100%;object-fit:cover;display:block}
.leader-photo-fallback{
  background:linear-gradient(135deg,#E8E4DE 0%,#B0A8A0 100%);
}
.leader-body{padding:1.1rem}
.leader-body h3{
  font-size:1rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.25rem;
}
.leader-role{
  display:block;font-family:var(--font-mono);font-size:0.7rem;
  color:var(--terracotta);letter-spacing:0.04em;
  margin-bottom:0.65rem;text-transform:uppercase;
}
.leader-body p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;
}
@media(max-width:1024px){.leadership-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.leadership-grid{grid-template-columns:1fr}}

/* ===== 鍏叡锛欳TA 妯箙锛坅bout/careers/certificates/press 鍏辩敤锛?===== */
.about-cta,.careers-cta,.cert-cta,.press-subscribe{
  display:grid;grid-template-columns:1.6fr 1fr;
  gap:clamp(1.5rem,3vw,2.5rem);align-items:center;
  background:var(--navy-deep);color:#fff;
  border-radius:var(--radius);
  padding:clamp(2rem,4vw,3.5rem);
  position:relative;overflow:hidden;
}
.about-cta::before,.careers-cta::before,.cert-cta::before,.press-subscribe::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 90% 110%,rgba(178,58,31,0.32) 0%,transparent 55%);
  pointer-events:none;
}
.about-cta-body,.careers-cta-body,.cert-cta-body,.press-subscribe-body{position:relative;z-index:1}
.about-cta h2,.careers-cta h2,.cert-cta h2,.press-subscribe h2{
  font-size:clamp(1.5rem,2.5vw,2.15rem);font-weight:700;
  color:#fff;letter-spacing:-0.02em;line-height:1.15;
  margin:0.75rem 0 0.75rem;
}
.about-cta p,.careers-cta p,.cert-cta p,.press-subscribe p{
  font-size:0.9375rem;color:rgba(255,255,255,0.82);
  line-height:1.65;max-width:560px;
}
.about-cta-actions,.careers-cta-actions,.cert-cta-actions,.press-subscribe-actions{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:0.75rem;
}
.about-cta .btn,.careers-cta .btn,.cert-cta .btn,.press-subscribe .btn{
  justify-content:center;
}
.about-cta .btn-secondary,.careers-cta .btn-secondary,.cert-cta .btn-secondary,.press-subscribe .btn-secondary{
  background:rgba(255,255,255,0.08);color:#fff;
  border:1px solid rgba(255,255,255,0.32);box-shadow:none;
}
.about-cta .btn-secondary:hover,.careers-cta .btn-secondary:hover,.cert-cta .btn-secondary:hover,.press-subscribe .btn-secondary:hover{
  background:rgba(255,255,255,0.16);border-color:#fff;color:#fff;
}
@media(max-width:900px){
  .about-cta,.careers-cta,.cert-cta,.press-subscribe{grid-template-columns:1fr}
}

/* ===== CAREERS锛歸hy cards ===== */
.why-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);
}
.why-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:clamp(1.5rem,2vw,1.75rem);
  box-shadow:var(--shadow);transition:transform 0.3s,box-shadow 0.3s;
}
.why-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.why-icon{
  width:42px;height:42px;border-radius:var(--radius-sm);
  background:var(--terracotta-dim);color:var(--terracotta);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.why-icon svg{width:22px;height:22px}
.why-card h3{
  font-size:1.0625rem;font-weight:700;
  margin-bottom:0.6rem;line-height:1.3;
}
.why-card p{
  font-size:0.875rem;color:var(--text-secondary);
  line-height:1.65;
}
@media(max-width:1100px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.why-grid{grid-template-columns:1fr}}

/* ===== CAREERS锛氱瓫閫夊櫒 ===== */
.careers-filter{
  display:flex;flex-wrap:wrap;gap:0.5rem;
  justify-content:center;margin-bottom:2.5rem;
}
.careers-filter button{
  font-family:inherit;font-size:0.8125rem;font-weight:500;
  padding:0.55rem 1.1rem;border-radius:100px;
  border:1px solid var(--border);background:var(--white);
  color:var(--text-secondary);cursor:pointer;
  transition:all 0.25s;
}
.careers-filter button:hover{border-color:var(--terracotta);color:var(--terracotta)}
.careers-filter button[aria-pressed="true"]{
  background:var(--navy);color:#fff;border-color:var(--navy);
}

/* ===== CAREERS锛氳亴浣嶅垪琛?===== */
.jobs-list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:0.75rem;
}
.job-item{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
  transition:border-color 0.25s,box-shadow 0.25s,transform 0.25s;
}
.job-item:hover{
  border-color:var(--terracotta);
  box-shadow:var(--shadow-lg);
  transform:translateY(-1px);
}
.job-link{
  display:block;padding:clamp(1.25rem,2vw,1.6rem);
  color:inherit;
}
.job-meta{
  display:flex;flex-wrap:wrap;gap:0.5rem 0.85rem;
  font-family:var(--font-mono);font-size:0.7rem;
  color:var(--text-muted);letter-spacing:0.05em;
  text-transform:uppercase;margin-bottom:0.65rem;
}
.job-dept{color:var(--terracotta);font-weight:600}
.job-item h3{
  font-size:1.125rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.5rem;
  line-height:1.3;
}
.job-item p{
  font-size:0.875rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:1rem;
}
.job-cta{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.8125rem;font-weight:600;color:var(--navy);
  transition:gap 0.25s,color 0.25s;
}
.job-item:hover .job-cta{color:var(--terracotta);gap:0.6rem}

/* ===== CAREERS锛氬疄涔犺鍒?===== */
.intern-grid{
  display:grid;grid-template-columns:1.2fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);align-items:center;
}
.intern-body h2{
  font-size:clamp(1.5rem,2.5vw,2.15rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.15;
  margin:0.75rem 0 1rem;
}
.intern-body > p{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.7;margin-bottom:1.5rem;
}
.intern-steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.intern-steps li{
  display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;
}
.intern-step-num{
  font-family:var(--font-mono);font-size:0.875rem;font-weight:700;
  color:var(--terracotta);letter-spacing:0.04em;
  padding:0.3rem 0.6rem;background:var(--terracotta-dim);
  border-radius:var(--radius-xs);
}
.intern-steps h4{
  font-size:0.9375rem;font-weight:700;margin-bottom:0.25rem;
}
.intern-steps p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin:0;
}
.intern-visual{position:relative}
.intern-image{
  aspect-ratio:5/4;border-radius:var(--radius);
  overflow:hidden;background:var(--bg-alt);box-shadow:var(--shadow);
}
.intern-image img{width:100%;height:100%;object-fit:cover;display:block}
.intern-image-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%)}
@media(max-width:900px){.intern-grid{grid-template-columns:1fr;gap:1.5rem}}

/* ===== CAREERS锛氬憳宸ユ晠浜?===== */
.stories-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);
}
.story-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:1.5rem;
}
.story-card blockquote{margin:0;flex:1}
.story-card blockquote p{
  font-size:0.9375rem;color:var(--text);line-height:1.7;
  font-style:italic;position:relative;padding-left:1.25rem;
}
.story-card blockquote p::before{
  content:'芦';position:absolute;left:0;top:-0.2rem;
  font-size:1.5rem;color:var(--terracotta);font-style:normal;
  font-family:var(--font-mono);line-height:1;
}
.story-author{
  display:grid;grid-template-columns:auto 1fr;gap:0.75rem;align-items:center;
  padding-top:1rem;border-top:1px solid var(--border-light);
}
.story-photo{
  width:48px;height:48px;border-radius:50%;
  overflow:hidden;background:var(--bg-alt);
}
.story-photo img{width:100%;height:100%;object-fit:cover;display:block}
.story-photo-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#B0A8A0 100%)}
.story-author h4{
  font-size:0.875rem;font-weight:700;margin-bottom:0.15rem;
}
.story-author span{
  font-family:var(--font-mono);font-size:0.7rem;
  color:var(--text-muted);letter-spacing:0.03em;
}
@media(max-width:900px){.stories-grid{grid-template-columns:1fr}}

/* ===== CAREERS锛氭嫑鑱樻祦绋?===== */
.process-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(0.75rem,1.5vw,1rem);
  counter-reset:step;
}
.process-steps li{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:clamp(1.25rem,2vw,1.6rem);
  box-shadow:var(--shadow);
  position:relative;
}
.process-step-num{
  display:inline-block;font-family:var(--font-mono);
  font-size:0.875rem;font-weight:700;color:var(--terracotta);
  letter-spacing:0.04em;margin-bottom:0.75rem;
}
.process-steps h3{
  font-size:1rem;font-weight:700;
  margin-bottom:0.5rem;line-height:1.3;
}
.process-steps p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;
}
@media(max-width:1100px){.process-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.process-steps{grid-template-columns:1fr}}

/* ===== CERTIFICATES锛氳瘉涔﹀崱鐗?===== */
.certs-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1.25rem,2.5vw,2rem);
}
.cert-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
  display:grid;grid-template-columns:0.85fr 1.15fr;
  transition:transform 0.3s,box-shadow 0.3s;
}
.cert-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.cert-card-image{
  position:relative;aspect-ratio:3/4;background:var(--bg-alt);
  overflow:hidden;
}
.cert-card-image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.5s;
}
.cert-card:hover .cert-card-image img{transform:scale(1.04)}
.cert-card-image-fallback{
  background:
    repeating-linear-gradient(45deg,rgba(178,58,31,0.04) 0 10px,transparent 10px 20px),
    linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
}
.cert-badge{
  position:absolute;left:0.75rem;top:0.75rem;
  font-family:var(--font-mono);font-size:0.7rem;font-weight:700;
  color:#fff;background:var(--terracotta);
  padding:0.3rem 0.6rem;border-radius:var(--radius-xs);
  letter-spacing:0.04em;
}
.cert-card-body{padding:clamp(1.25rem,2vw,1.5rem);display:flex;flex-direction:column}
.cert-meta{
  display:flex;flex-wrap:wrap;gap:0.4rem 0.6rem;
  font-family:var(--font-mono);font-size:0.65rem;
  letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:0.65rem;
}
.cert-cat{color:var(--terracotta);font-weight:600}
.cert-issuer{color:var(--text-muted)}
.cert-card-body h3{
  font-size:1.25rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.6rem;
}
.cert-card-body > p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.65;margin-bottom:1rem;
}
.cert-details{
  margin:0 0 1.1rem;padding:0.85rem 1rem;
  background:var(--bg);border-radius:var(--radius-sm);
  border-left:3px solid var(--terracotta);
  display:grid;gap:0.4rem;
}
.cert-details > div{
  display:grid;grid-template-columns:1fr 1.4fr;gap:0.5rem;
  font-size:0.75rem;line-height:1.5;
}
.cert-details dt{color:var(--text-muted);font-family:var(--font-mono)}
.cert-details dd{margin:0;color:var(--text);font-weight:500}
.cert-download{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.8125rem;font-weight:600;color:var(--navy);
  margin-top:auto;transition:color 0.25s,gap 0.25s;
}
.cert-download:hover{color:var(--terracotta);gap:0.6rem}
@media(max-width:900px){
  .certs-grid{grid-template-columns:1fr}
  .cert-card{grid-template-columns:1fr}
  .cert-card-image{aspect-ratio:16/9}
}

/* ===== CERTIFICATES锛歈C 鍗＄墖 ===== */
.qc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);
}
.qc-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform 0.3s,box-shadow 0.3s;
}
.qc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.qc-visual{aspect-ratio:4/3;background:var(--bg-alt);overflow:hidden}
.qc-visual img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.5s;
}
.qc-card:hover .qc-visual img{transform:scale(1.04)}
.qc-visual-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%)}
.qc-body{padding:1.25rem}
.qc-body h3{
  font-size:1.0625rem;font-weight:700;
  margin-bottom:0.5rem;line-height:1.3;
}
.qc-body p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.65;
}
@media(max-width:900px){.qc-grid{grid-template-columns:1fr}}

/* ===== CERTIFICATES锛氬悎瑙勫垪琛?===== */
.compliance-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;
}
.compliance-list li{
  display:grid;grid-template-columns:auto 1fr;gap:0.9rem;align-items:start;
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:1.1rem 1.25rem;
  box-shadow:var(--shadow);
}
.compliance-icon{
  width:36px;height:36px;border-radius:var(--radius-sm);
  background:var(--navy-dim);color:var(--navy);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.compliance-icon svg{width:20px;height:20px}
.compliance-list h3{
  font-size:0.9375rem;font-weight:700;
  margin-bottom:0.3rem;line-height:1.3;
}
.compliance-list p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin:0;
}
@media(max-width:900px){.compliance-list{grid-template-columns:1fr}}

/* ===== PRESS锛氭渶鏂版柊闂诲崱鐗?===== */
.press-news-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.5vw,2rem);
}
.press-news-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform 0.3s,box-shadow 0.3s;
  display:flex;flex-direction:column;
}
.press-news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.press-news-image{aspect-ratio:16/10;background:var(--bg-alt);overflow:hidden}
.press-news-image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.5s;
}
.press-news-card:hover .press-news-image img{transform:scale(1.04)}
.press-news-image-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%)}
.press-news-body{
  padding:1.25rem;display:flex;flex-direction:column;flex:1;
}
.press-news-meta{
  display:flex;align-items:center;gap:0.6rem;
  font-family:var(--font-mono);font-size:0.7rem;
  color:var(--text-muted);letter-spacing:0.04em;
  margin-bottom:0.65rem;
}
.press-release-badge{
  font-family:var(--font-mono);font-size:0.65rem;font-weight:600;
  color:#fff;background:var(--terracotta);
  padding:0.2rem 0.5rem;border-radius:var(--radius-xs);
  letter-spacing:0.05em;text-transform:uppercase;
}
.press-news-card h3{
  font-size:1.0625rem;font-weight:700;line-height:1.3;
  letter-spacing:-0.01em;margin-bottom:0.55rem;
}
.press-news-card p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:1rem;flex:1;
}
.press-news-link{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.8125rem;font-weight:600;color:var(--navy);
  transition:color 0.25s,gap 0.25s;
}
.press-news-link:hover{color:var(--terracotta);gap:0.6rem}
@media(max-width:900px){.press-news-grid{grid-template-columns:1fr}}

/* ===== PRESS锛氬獟浣撹祫婧愬崱 ===== */
.resources-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.5rem);
}
.resource-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:clamp(1.5rem,2vw,1.75rem);
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:transform 0.3s,box-shadow 0.3s;
}
.resource-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.resource-icon{
  width:48px;height:48px;border-radius:var(--radius-sm);
  background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.resource-icon svg{width:24px;height:24px}
.resource-meta{
  display:flex;justify-content:space-between;
  font-family:var(--font-mono);font-size:0.7rem;
  letter-spacing:0.04em;text-transform:uppercase;
  margin-bottom:0.5rem;
}
.resource-cat{color:var(--terracotta);font-weight:600}
.resource-count{color:var(--text-muted)}
.resource-card h3{
  font-size:1.0625rem;font-weight:700;line-height:1.3;
  letter-spacing:-0.01em;margin-bottom:0.55rem;
}
.resource-card p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:1.1rem;flex:1;
}
.resource-download{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.8125rem;font-weight:600;color:var(--navy);
  transition:color 0.25s,gap 0.25s;
}
.resource-download:hover{color:var(--terracotta);gap:0.6rem}
@media(max-width:1100px){.resources-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.resources-grid{grid-template-columns:1fr}}

/* ===== PRESS锛欶act Sheet ===== */
.fact-sheet{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);align-items:start;
}
.fact-sheet-left h2{
  font-size:clamp(1.6rem,2.5vw,2.25rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.15;
  margin:0.75rem 0 0.75rem;
}
.fact-sheet-left > p{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.7;margin-bottom:1.5rem;
}
.fact-list{
  margin:0;padding:0;display:grid;
  border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
}
.fact-list > div{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:0.5rem;padding:0.65rem 1rem;
  border-bottom:1px solid var(--border-light);
  font-size:0.8125rem;line-height:1.5;
}
.fact-list > div:last-child{border-bottom:none}
.fact-list > div:nth-child(odd){background:var(--bg-alt)}
.fact-list dt{
  font-family:var(--font-mono);color:var(--text-muted);
  letter-spacing:0.03em;font-size:0.75rem;
}
.fact-list dd{margin:0;color:var(--text);font-weight:500}
.fact-sheet-right{display:grid;gap:1.25rem}
.fact-sheet-image{
  aspect-ratio:5/4;border-radius:var(--radius);
  overflow:hidden;background:var(--bg-alt);
  box-shadow:var(--shadow);
}
.fact-sheet-image img{width:100%;height:100%;object-fit:cover;display:block}
.fact-sheet-image-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%)}
.fact-sheet-pull{
  background:var(--navy-deep);color:#fff;
  border-radius:var(--radius);padding:1.5rem;
  position:relative;overflow:hidden;
}
.fact-sheet-pull::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 90% 110%,rgba(178,58,31,0.32) 0%,transparent 60%);
  pointer-events:none;
}
.fact-sheet-pull blockquote{
  margin:0;position:relative;z-index:1;
}
.fact-sheet-pull blockquote p{
  font-size:1.0625rem;font-style:italic;line-height:1.55;
  color:#fff;margin-bottom:0.85rem;
}
.fact-sheet-pull blockquote cite{
  font-style:normal;font-family:var(--font-mono);
  font-size:0.75rem;color:rgba(255,255,255,0.7);
  letter-spacing:0.04em;
}
@media(max-width:900px){
  .fact-sheet{grid-template-columns:1fr;gap:1.5rem}
}

/* ===== PRESS锛氬獟浣撹仈绯讳汉 ===== */
.contact-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1.25rem,2.5vw,2rem);margin-bottom:2.5rem;
}
.contact-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
  display:grid;grid-template-columns:0.7fr 1.3fr;
}
.contact-photo{aspect-ratio:1/1;background:var(--bg-alt);overflow:hidden}
.contact-photo img{width:100%;height:100%;object-fit:cover;display:block}
.contact-photo-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#B0A8A0 100%)}
.contact-body{padding:1.25rem;display:flex;flex-direction:column}
.contact-role{
  display:block;font-family:var(--font-mono);
  font-size:0.7rem;color:var(--terracotta);
  letter-spacing:0.04em;text-transform:uppercase;
  margin-bottom:0.4rem;
}
.contact-body h3{
  font-size:1.125rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.55rem;
}
.contact-body > p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:1rem;flex:1;
}
.contact-channels{list-style:none;margin:0;padding:0;display:grid;gap:0.4rem}
.contact-channels li{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.8125rem;
}
.contact-channels svg{color:var(--terracotta);flex-shrink:0}
.contact-channels a{
  color:var(--navy);font-weight:500;
  transition:color 0.2s;
}
.contact-channels a:hover{color:var(--terracotta)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ===== PRESS锛氳璇?CTA锛堝獟浣撹璇侊級 ===== */
.accreditation-cta{
  display:grid;grid-template-columns:1.6fr 1fr;
  gap:clamp(1.5rem,3vw,2.5rem);align-items:center;
  background:var(--white);border:1px solid var(--border-light);
  border-left:4px solid var(--terracotta);
  border-radius:var(--radius);padding:clamp(1.75rem,3vw,2.5rem);
  box-shadow:var(--shadow);
}
.accreditation-body h3{
  font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;
  letter-spacing:-0.01em;margin:0.65rem 0 0.65rem;
}
.accreditation-body p{
  font-size:0.9375rem;color:var(--text-secondary);
  line-height:1.65;
}
.accreditation-actions{display:flex;justify-content:flex-end}
.accreditation-actions .btn{justify-content:center}
@media(max-width:900px){
  .accreditation-cta{grid-template-columns:1fr}
  .accreditation-actions{justify-content:flex-start}
}

/* ===== 鍏叡锛歱age-hero image fallback锛堟部鐢?product.html 鐨勫鐞嗭級 ===== */
.page-hero .hero-image-fallback{
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy-light) 100%);
}
.page-hero .hero-image-fallback::after{
  content:'M脺LLER INDUSTRIETECHNIK';
  position:absolute;inset:0;display:flex;
  align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.5rem);
  letter-spacing:0.2em;color:rgba(255,255,255,0.15);
  font-weight:700;
}

/* ===== 棣栭〉锛欰bout Company 鍗＄墖锛? 寮狅級 ===== */
.about-home-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,2vw,1.5rem);
}
.about-home-card{
  display:flex;flex-direction:column;
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);padding:clamp(1.5rem,2.5vw,2rem);
  box-shadow:var(--shadow);color:inherit;
  transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s;
}
.about-home-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--terracotta)}
.about-home-icon{
  width:44px;height:44px;border-radius:var(--radius-sm);
  background:var(--terracotta-dim);color:var(--terracotta);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.about-home-icon svg{width:22px;height:22px}
.about-home-card h3{
  font-size:1.125rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.5rem;
}
.about-home-card p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:1rem;flex:1;
}
.about-home-link{
  display:inline-flex;align-items:center;gap:0.35rem;
  font-size:0.8125rem;font-weight:600;color:var(--navy);
  transition:color 0.25s,gap 0.25s;
}
.about-home-card:hover .about-home-link{color:var(--terracotta);gap:0.6rem}
@media(max-width:1024px){.about-home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.about-home-grid{grid-template-columns:1fr}}

/* ===== 棣栭〉锛氭渶鏂版柊闂诲崱鐗?===== */
.news-home-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem,2.5vw,2rem);
}
.news-home-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:transform 0.3s,box-shadow 0.3s;
}
.news-home-card-link{
  display:block;text-decoration:none;color:inherit;
  border-radius:var(--radius);
}
.news-home-card-link:hover .news-home-card{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.news-home-card-link:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;border-radius:var(--radius)}
.news-home-image{aspect-ratio:16/10;background:var(--bg-alt);overflow:hidden}
.news-home-image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.5s;
}
.news-home-card:hover .news-home-image img{transform:scale(1.04)}
.news-home-image-fallback{background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%)}
.news-home-body{padding:1.1rem 1.25rem;display:flex;flex-direction:column;flex:1}
.news-home-meta{
  display:flex;align-items:center;gap:0.5rem;
  font-family:var(--font-mono);font-size:0.7rem;
  color:var(--text-muted);letter-spacing:0.04em;
  margin-bottom:0.6rem;
}
.news-home-badge{
  font-size:0.6rem;font-weight:600;color:#fff;
  background:var(--terracotta);padding:0.2rem 0.5rem;
  border-radius:var(--radius-xs);letter-spacing:0.05em;
  text-transform:uppercase;
}
.news-home-card h3{
  font-size:1rem;font-weight:700;line-height:1.3;
  letter-spacing:-0.01em;margin-bottom:0.5rem;
}
.news-home-card p{
  font-size:0.8125rem;color:var(--text-secondary);
  line-height:1.6;margin-bottom:0.75rem;flex:1;
}
.news-home-link{
  display:inline-flex;align-items:center;gap:0.35rem;
  font-size:0.8125rem;font-weight:600;color:var(--navy);
  transition:color 0.25s,gap 0.25s;
}
.news-home-link:hover{color:var(--terracotta);gap:0.6rem}
@media(max-width:900px){.news-home-grid{grid-template-columns:1fr}}

/* ===== 棣栭〉锛氳棰戝祵鍏ワ紙鏇挎崲鍗犱綅绗︼級 ===== */
.video-frame-embed{
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.video-frame-embed iframe{
  width:100%;height:100%;border:0;display:block;
}
.video-frame-embed video{
  width:100%;height:100%;object-fit:cover;display:block;
}
/* 旧视频占位符隐藏（向后兼容） */
.video-frame-preview{display:none}

/* ===== 棣栭〉锛氫笅杞界洰褰?CTA ===== */
.catalog-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:0.75rem}
.catalog-cta .btn svg{margin-right:-0.25rem}

/* ===== FAQ 骞虫粦鍔ㄧ敾锛堟浛浠ｇ‖鍒囨崲锛?===== */
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height 0.45s ease,padding 0.45s ease;
  padding:0 1.25rem;
}
.faq-item.open .faq-a{
  max-height:500px;
  padding:0 1.25rem 1.25rem;
}

/* ===== 鍝嶅簲寮忥細鏋佸皬灞忥紙鈮?80锛夌粺涓€鏀剁揣 ===== */
@media(max-width:480px){
  .about-cta,.careers-cta,.cert-cta,.press-subscribe{padding:1.5rem}
  .accreditation-cta{padding:1.5rem}
}

/* ===================================================================
   PRODUCT LIST v2 鈥?Series Navigator + Series Chapters + Compare Tray
   璁捐鍘熷垯锛氬伐涓氭殫閽㈤锛屾部鐢ㄥ搧鐗岃壊鏉匡紝鍙墿灞曡嚦 3+ 绯诲垪
   =================================================================== */

/* ===== HERO 鍐呰仈鏁版嵁鏉?===== */
.page-hero .hero-stats{
  display:flex;gap:clamp(1.5rem,3vw,2.5rem);flex-wrap:wrap;
  margin-top:clamp(1.25rem,2vw,1.75rem);
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,0.15);
}
.page-hero .hero-stat{display:flex;flex-direction:column;gap:0.2rem}
.page-hero .hero-stat-num{
  font-family:var(--font-mono);
  font-size:clamp(1.25rem,1.8vw,1.6rem);
  font-weight:800;letter-spacing:-0.02em;line-height:1;
  color:#fff;font-feature-settings:"tnum" 1;
}
.page-hero .hero-stat-label{
  font-size:0.72rem;color:rgba(255,255,255,0.65);
  letter-spacing:0.02em;text-transform:uppercase;
  font-family:var(--font-mono);
}
@media(max-width:640px){
  .page-hero .hero-stats{gap:1rem 1.5rem}
  .page-hero .hero-stat-label{font-size:0.65rem}
}

/* ===== SERIES NAVIGATOR ===== */
.series-navigator{
  padding:clamp(3rem,5vw,5rem) 0 clamp(2.5rem,4vw,3.5rem);
  background:var(--bg);
}
.series-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(1rem,2vw,1.5rem);
  margin-top:clamp(1.5rem,3vw,2rem);
}
/* 褰撴湁 3+ 绯诲垪鏃惰嚜鍔ㄦ墿灞曚负 3 鍒楋紱2 涓椂浠嶄繚鎸?2 鍒楀ぇ鍗?*/
.series-grid:has(.series-card:nth-child(3)){
  grid-template-columns:repeat(3,1fr);
}
@media(max-width:900px){
  .series-grid,
  .series-grid:has(.series-card:nth-child(3)){grid-template-columns:1fr}
  .series-card{min-height:auto}
  .series-card-content{padding:clamp(1.25rem,4vw,1.75rem)}
  .series-card-tagline{max-width:none}
}

.series-card{
  position:relative;
  display:flex;flex-direction:column;
  min-height:clamp(360px,42vw,460px);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--navy-deep);
  color:#fff;
  border:1px solid rgba(255,255,255,0.08);
  transition:transform 0.4s var(--transition),box-shadow 0.4s,border-color 0.3s;
  isolation:isolate;
}
.series-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(5,11,18,0.35),0 8px 24px rgba(5,11,18,0.18);
  border-color:rgba(255,255,255,0.18);
}
.series-card-bg{position:absolute;inset:0;z-index:0}
.series-card-bg .series-card-img{
  width:100%;height:100%;object-fit:cover;object-position:center 55%;
  transition:transform 0.6s var(--transition),filter 0.4s;
  filter:saturate(0.85) brightness(0.85);
}
.series-card:hover .series-card-bg .series-card-img{
  transform:scale(1.06);filter:saturate(1) brightness(0.95);
}
.series-card.img-fallback .series-card-bg{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);
}
.series-card-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(5,11,18,0.25) 0%,rgba(5,11,18,0.55) 55%,rgba(5,11,18,0.92) 100%);
}
.series-card-content{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  height:100%;
  padding:clamp(1.5rem,2.5vw,2rem);
  gap:0.85rem;
}
.series-card-mark{
  display:flex;align-items:baseline;gap:0.85rem;
  margin-bottom:0.25rem;
}
.series-card-num{
  font-family:var(--font-mono);
  font-size:clamp(2.5rem,4vw,3.5rem);
  font-weight:800;
  color:rgba(255,255,255,0.18);
  line-height:1;letter-spacing:-0.04em;
  font-feature-settings:"tnum" 1;
  transition:color 0.3s;
}
.series-card-code{
  font-family:var(--font-mono);
  font-size:0.95rem;font-weight:700;
  letter-spacing:0.15em;
  padding:4px 10px;border-radius:4px;
  background:rgba(255,255,255,0.1);
  color:#fff;
}
.series-card-wl .series-card-code{background:rgba(178,58,31,0.28);color:var(--terracotta-light)}
.series-card-bh .series-card-code{background:rgba(92,107,62,0.32);color:#B5C58E}
.series-card:hover .series-card-num{color:rgba(255,255,255,0.32)}

.series-card-name{
  display:flex;flex-direction:column;gap:0.15rem;
  margin-bottom:0.25rem;
}
.series-card-name-ru{
  font-size:clamp(1.35rem,2vw,1.7rem);
  font-weight:700;letter-spacing:-0.015em;line-height:1.15;
  color:#fff;
}
.series-card-name-zh{
  font-size:0.95rem;
  color:rgba(255,255,255,0.55);
  letter-spacing:0.08em;
  font-weight:500;
}
.series-card-tagline{
  font-size:0.85rem;line-height:1.55;
  color:rgba(255,255,255,0.72);
  max-width:380px;
  margin-bottom:auto;
}
.series-card-stats{
  display:flex;gap:clamp(1rem,2vw,1.75rem);
  padding:0.85rem 0;
  border-top:1px solid rgba(255,255,255,0.12);
  border-bottom:1px solid rgba(255,255,255,0.12);
  margin-bottom:0.5rem;
}
.series-card-stats > div{
  display:flex;flex-direction:column;gap:2px;
  font-family:var(--font-mono);
}
.series-card-stats strong{
  font-size:clamp(0.95rem,1.3vw,1.1rem);
  font-weight:800;color:#fff;
  letter-spacing:-0.01em;line-height:1;
  font-feature-settings:"tnum" 1;
}
.series-card-stats span{
  font-size:0.62rem;color:rgba(255,255,255,0.55);
  text-transform:uppercase;letter-spacing:0.06em;
}
.series-card-cta{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.85rem;font-weight:600;
  color:#fff;
  transition:gap 0.25s;
}
.series-card-wl .series-card-cta{color:var(--terracotta-light)}
.series-card-bh .series-card-cta{color:#B5C58E}
.series-card:hover .series-card-cta{gap:0.85rem}
.series-card-cta svg{transition:transform 0.25s}

/* ===== SERIES CHAPTERS ===== */
.series-chapter{
  padding:clamp(3.5rem,6vw,5.5rem) 0;
  position:relative;
  scroll-margin-top:5rem;
}
.series-chapter-light{
  background:var(--white);
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
}
.series-chapter-dark{
  background:var(--navy-deep);
  color:#fff;
  position:relative;overflow:hidden;
  border-top:0;
}
.series-chapter-dark::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 75% 15%,rgba(178,58,31,0.10) 0%,transparent 60%),
    radial-gradient(ellipse 45% 40% at 15% 85%,rgba(255,255,255,0.04) 0%,transparent 60%);
  pointer-events:none;
}
.series-chapter-dark .container{position:relative;z-index:1}
.series-chapter-dark h2{color:#fff}
.series-chapter-dark .series-chapter-meta p{color:rgba(255,255,255,0.72)}
.series-chapter-dark .series-chapter-stats{color:rgba(255,255,255,0.6)}
.series-chapter-dark .series-chapter-stats strong{color:#fff}

.series-chapter-header{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:clamp(1.5rem,4vw,3rem);
  align-items:start;
  margin-bottom:clamp(2rem,3.5vw,2.75rem);
}
.series-chapter-mark{
  display:flex;flex-direction:column;gap:0.85rem;
  align-items:flex-start;
  border-right:1px solid var(--border-light);
  padding-right:clamp(1rem,2vw,1.5rem);
}
.series-chapter-dark .series-chapter-mark{border-right-color:rgba(255,255,255,0.12)}
.series-chapter-num{
  font-family:var(--font-mono);
  font-size:clamp(2.5rem,4vw,3.5rem);
  font-weight:800;
  color:var(--terracotta);
  line-height:1;letter-spacing:-0.04em;
  font-feature-settings:"tnum" 1;
}
.series-chapter-dark .series-chapter-num{color:var(--terracotta-light)}
.series-chapter-code{
  font-family:var(--font-mono);
  font-size:0.8rem;font-weight:700;
  letter-spacing:0.18em;
  padding:5px 12px;border-radius:4px;
  align-self:flex-start;
}
.series-chapter-code-wl{background:rgba(178,58,31,0.14);color:var(--terracotta)}
.series-chapter-code-bh{background:rgba(92,107,62,0.22);color:#7A8B5A}
.series-chapter-dark .series-chapter-code-bh{background:rgba(181,197,142,0.18);color:#B5C58E}

.series-chapter-meta .tag{margin-bottom:0.85rem}
.series-chapter-meta h2{
  font-size:clamp(1.65rem,3vw,2.4rem);
  font-weight:700;letter-spacing:-0.02em;line-height:1.1;
  margin-bottom:0.85rem;
}
.series-chapter-name-zh{
  font-size:0.65em;
  color:var(--text-muted);
  font-weight:500;letter-spacing:0.04em;
}
.series-chapter-dark .series-chapter-name-zh{color:rgba(255,255,255,0.45)}
.series-chapter-meta p{
  font-size:0.95rem;line-height:1.65;
  color:var(--text-secondary);
  max-width:680px;margin-bottom:0;
}
.series-chapter-stats{
  display:flex;flex-wrap:wrap;
  gap:0.5rem 1.5rem;
  margin-top:1rem;
  font-family:var(--font-mono);
}
.series-chapter-stats > div{
  display:flex;align-items:baseline;gap:0.45rem;
  font-size:0.72rem;color:var(--text-muted);
  letter-spacing:0.02em;
}
.series-chapter-stats strong{
  font-size:0.85rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-0.01em;
  font-feature-settings:"tnum" 1;
}

/* Series-specific tag colors */
.tag-wl{background:rgba(178,58,31,0.14);color:var(--terracotta)}
.tag-bh{background:rgba(92,107,62,0.18);color:#5C6B3E}
.series-chapter-dark .tag-bh{background:rgba(181,197,142,0.16);color:#B5C58E}

/* ===== SERIES BANNER (hero image inside chapter) ===== */
.series-chapter-banner{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  margin-bottom:clamp(2rem,3.5vw,2.75rem);
  aspect-ratio:21/8;
  background:var(--bg-alt);
  box-shadow:var(--shadow-lg);
}
.series-chapter-banner img{
  width:100%;height:100%;object-fit:cover;object-position:center 50%;
  display:block;
}
.series-chapter-banner-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(5,11,18,0.15) 0%,rgba(5,11,18,0.55) 100%),
    linear-gradient(90deg,rgba(5,11,18,0.6) 0%,rgba(5,11,18,0.1) 50%);
}
.series-chapter-banner-caption{
  position:absolute;left:clamp(1.25rem,2.5vw,2rem);bottom:clamp(1rem,2vw,1.5rem);
  display:flex;flex-direction:column;gap:0.25rem;
  color:#fff;
}
.series-chapter-banner-tag{
  font-family:var(--font-mono);
  font-size:0.7rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--terracotta-light);
}
.series-chapter-banner-name{
  font-size:clamp(1.1rem,1.8vw,1.5rem);
  font-weight:700;letter-spacing:-0.01em;
  text-shadow:0 2px 12px rgba(0,0,0,0.4);
}
@media(max-width:768px){
  .series-chapter-banner{aspect-ratio:16/9}
}
/* Dark-context banner (inside series-chapter-dark) */
.series-chapter-banner-dark{
  background:var(--navy);
  box-shadow:0 20px 50px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06) inset;
}
.series-chapter-banner-dark .series-chapter-banner-overlay{
  background:
    linear-gradient(180deg,rgba(5,11,18,0.35) 0%,rgba(5,11,18,0.7) 100%),
    linear-gradient(90deg,rgba(5,11,18,0.7) 0%,rgba(5,11,18,0.15) 55%);
}

/* ===== MODEL GRID + CARDS (v2) ===== */
.model-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(0.85rem,1.5vw,1.25rem);
}
.model-grid-wl{grid-template-columns:repeat(4,1fr)}
.model-grid-bh{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){
  .model-grid,.model-grid-wl,.model-grid-bh{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .model-grid,.model-grid-wl,.model-grid-bh{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .model-grid,.model-grid-wl,.model-grid-bh{grid-template-columns:1fr}
}

.model-card{
  position:relative;
  display:flex;flex-direction:column;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:transform 0.3s,box-shadow 0.3s,border-color 0.25s;
  scroll-margin-top:5rem;
}
.model-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
  border-color:var(--navy);
}
.series-chapter-dark .model-card.model-card-dark{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.1);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.series-chapter-dark .model-card-dark:hover{
  border-color:var(--terracotta);
  background:rgba(255,255,255,0.07);
  box-shadow:0 16px 40px rgba(0,0,0,0.32);
}

/* Best-seller flag */
.model-card-flagged{border-color:var(--terracotta)}
.series-chapter-dark .model-card-flagged{border-color:var(--terracotta-light)}
.model-card-flag{
  position:absolute;top:0;left:0;z-index:3;
  background:var(--terracotta);color:#fff;
  font-family:var(--font-mono);
  font-size:0.58rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:5px 11px;
  border-bottom-right-radius:8px;
  box-shadow:0 4px 10px rgba(178,58,31,0.3);
}

/* Photo */
.model-card-photo{
  position:relative;
  aspect-ratio:4/3;
  background:linear-gradient(135deg,var(--bg-alt) 0%,var(--bg) 100%);
  overflow:hidden;
}
.model-card-img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;
  transition:transform 0.5s var(--transition);
}
.model-card:hover .model-card-img{transform:scale(1.05)}
.model-card-photo-fallback{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:rgba(255,255,255,0.35);
  font-family:var(--font-mono);font-size:1.4rem;font-weight:800;
  letter-spacing:-0.02em;
}
.model-card-photo.photo-fallback .model-card-img{display:none}

/* Body */
.model-card-body{
  display:flex;flex-direction:column;gap:0.4rem;
  padding:clamp(0.85rem,1.2vw,1.1rem) clamp(0.85rem,1.2vw,1.1rem) clamp(0.85rem,1.2vw,1rem);
}
.model-card-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:0.5rem;
}
.model-card-num{
  font-family:var(--font-mono);
  font-size:1.1rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-0.02em;line-height:1;
  font-feature-settings:"tnum" 1;
}
.series-chapter-dark .model-card-num{color:#fff}
.model-card-wl .model-card-num{color:var(--navy)}
.series-chapter-dark .model-card-wl .model-card-num{color:#fff}
.model-card-bh .model-card-num{color:var(--navy)}
.series-chapter-dark .model-card-bh .model-card-num{color:#fff}

.model-card-compare{
  width:26px;height:26px;
  border-radius:6px;
  border:1.5px solid var(--border);
  background:var(--white);
  color:var(--text-muted);
  font-size:1rem;font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  display:flex;align-items:center;justify-content:center;
  font-family:inherit;line-height:1;padding:0;
  flex-shrink:0;
}
.model-card-compare:hover{
  border-color:var(--terracotta);
  color:var(--terracotta);
  transform:scale(1.08);
}
.model-card-compare.is-active{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:#fff;
}
.series-chapter-dark .model-card-compare{
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.7);
}
.series-chapter-dark .model-card-compare:hover,
.series-chapter-dark .model-card-compare.is-active{
  border-color:var(--terracotta);
  background:var(--terracotta);
  color:#fff;
}

.model-card-name{
  font-size:0.74rem;
  color:var(--text-muted);
  letter-spacing:0.01em;line-height:1.3;
  margin-bottom:0.15rem;
}
.series-chapter-dark .model-card-name{color:rgba(255,255,255,0.55)}

.model-card-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0.3rem;
  padding:0.55rem 0;
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  margin:0.1rem 0 0.35rem;
}
.series-chapter-dark .model-card-specs{border-color:rgba(255,255,255,0.1)}
.model-card-specs > div{display:flex;flex-direction:column;gap:1px}
.model-card-specs dt{
  font-size:0.55rem;
  text-transform:uppercase;letter-spacing:0.06em;
  color:var(--text-muted);
  font-family:var(--font-mono);font-weight:500;
}
.series-chapter-dark .model-card-specs dt{color:rgba(255,255,255,0.5)}
.model-card-specs dd{
  font-size:0.78rem;font-weight:700;
  color:var(--text);
  font-family:var(--font-mono);
  letter-spacing:-0.01em;line-height:1.2;
  font-feature-settings:"tnum" 1;
}
.series-chapter-dark .model-card-specs dd{color:#fff}

.model-card-link{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.76rem;font-weight:600;
  color:var(--navy);
  margin-top:auto;align-self:flex-start;
  transition:gap 0.2s,color 0.2s;
}
.model-card-link:hover{gap:9px;color:var(--terracotta)}
.series-chapter-dark .model-card-link{color:var(--terracotta-light)}
.series-chapter-dark .model-card-link:hover{color:#fff}

/* ===== Responsive: series chapter header ===== */
@media(max-width:900px){
  .series-chapter-header{grid-template-columns:1fr;gap:1.25rem}
  .series-chapter-mark{
    border-right:none;padding-right:0;
    border-bottom:1px solid var(--border-light);
    padding-bottom:0.85rem;
    flex-direction:row;align-items:center;gap:1rem;
  }
  .series-chapter-dark .series-chapter-mark{border-bottom-color:rgba(255,255,255,0.12)}
  .series-chapter-num{font-size:2.2rem}
}
@media(max-width:480px){
  .series-chapter-stats{gap:0.4rem 1rem;font-size:0.68rem}
  .series-chapter-stats strong{font-size:0.78rem}
}

/* ===== Fade-up animation (reused) ===== */
.fade-up{
  opacity:0;transform:translateY(20px);
  transition:opacity 0.6s var(--transition),transform 0.6s var(--transition);
}
.fade-up.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  .fade-up{opacity:1;transform:none;transition:none}
  .series-card,.model-card,.model-card-img{transition:none}
}

/* ========== BENTO GRID (product list v3) ========== */
.model-bento{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:1.25rem;
}
.model-bento-bh{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}

.bento-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:var(--radius);
  cursor:pointer;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;
  transition:all 0.3s;
  position:relative;
  grid-column:span 1;
}
.bento-card:hover{
  border-color:var(--navy-dim);
  box-shadow:var(--shadow-lg);
  transform:translateY(-3px);
}
.bento-card--dark{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.1);
  color:#fff;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.bento-card--dark:hover{
  border-color:var(--terracotta);
  background:rgba(255,255,255,0.07);
}

.bento-card-visual{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
  overflow:hidden;
}
.bento-card-visual img{
  display:block;
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.bento-card-img{
  position:absolute;inset:0;
  z-index:2;
  background:transparent;
}
.bento-card-img.is-broken,
.bento-card-img[src=""],
.bento-card-img:not([src]),
.bento-card-img[src="data:"]{visibility:hidden}
.bento-card:hover .bento-card-visual img{transform:scale(1.05)}
.bento-card-visual > .bento-card-visual-fallback{
  position:absolute;inset:0;z-index:1;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
}
.bento-card-visual-fallback{
  background:linear-gradient(135deg,#E8E4DE 0%,#D0CAC2 100%);
  color:var(--text-muted);
}
.bento-card-visual-fallback > span{
  font-family:var(--font-mono);
  font-size:clamp(1.1rem,2vw,1.5rem);
  font-weight:800;letter-spacing:0.04em;
  color:var(--navy);opacity:0.42;
  text-transform:uppercase;
}
.bento-card--dark .bento-card-visual{background:rgba(255,255,255,0.08)}
.bento-card--dark .bento-card-visual > .bento-card-visual-fallback{background:rgba(255,255,255,0.06)}
.bento-card--dark .bento-card-visual-fallback > span{color:#fff;opacity:0.5}

.bento-card-body{
  padding:clamp(0.85rem,1.5vw,1.25rem);
  display:flex;flex-direction:column;flex:1;
}

.bento-card-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:0.25rem;
}
.bento-card-num{
  font-size:0.75rem;font-weight:800;
  font-family:var(--font-mono);
  letter-spacing:0.02em;
  color:var(--navy);
  font-feature-settings:"tnum" 1;
}
.bento-card--dark .bento-card-num{color:#fff}

.bento-card-compare{
  width:24px;height:24px;
  border-radius:6px;
  border:1.5px solid var(--border);
  background:var(--white);
  color:var(--text-muted);
  font-size:0.9rem;font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  display:flex;align-items:center;justify-content:center;
  font-family:inherit;line-height:1;
  padding:0;
}
.bento-card-compare:hover{
  border-color:var(--terracotta);
  color:var(--terracotta);
  transform:scale(1.08);
}
.bento-card-compare.is-active{
  background:var(--terracotta);
  border-color:var(--terracotta);
  color:#fff;
}
.bento-card--dark .bento-card-compare{
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.7);
}
.bento-card--dark .bento-card-compare:hover,
.bento-card--dark .bento-card-compare.is-active{
  border-color:var(--terracotta);
  background:var(--terracotta);
  color:#fff;
}

.bento-card-name{
  font-size:0.72rem;
  color:var(--text-muted);
  letter-spacing:0.01em;
  line-height:1.3;
  margin-bottom:0.35rem;
}
.bento-card--dark .bento-card-name{color:rgba(255,255,255,0.55)}
.bento-card-desc{
  font-size:0.78rem;
  line-height:1.5;
  color:var(--text-secondary);
  margin-bottom:0.75rem;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.bento-card--dark .bento-card-desc{color:rgba(255,255,255,0.7)}

.bento-card-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0.15rem;
  margin:0 -0.7rem;
  padding:0.5rem 0.7rem;
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  margin-bottom:0.5rem;
}
.bento-card--dark .bento-card-specs{border-color:rgba(255,255,255,0.1)}
.bento-card-specs > div{
  display:flex;flex-direction:column;gap:1px;
}
.bento-card-specs dt{
  font-size:0.48rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--text-muted);
  font-family:var(--font-mono);
  font-weight:500;
}
.bento-card-specs dd{
  font-size:0.7rem;font-weight:600;
  color:var(--text);
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1;
}
.bento-card--dark .bento-card-specs dt{color:rgba(255,255,255,0.5)}
.bento-card--dark .bento-card-specs dd{color:#fff}

.bento-card-link{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.72rem;font-weight:600;
  color:var(--navy);
  text-decoration:none;
  transition:gap 0.2s,color 0.2s;
  align-self:flex-start;margin-top:auto;
}
.bento-card-link:hover{gap:8px;color:var(--terracotta)}
.bento-card--dark .bento-card-link{color:var(--terracotta-light)}
.bento-card--dark .bento-card-link:hover{color:#fff}

/* Third category: just add .model-bento--XT and the grid adapts */
.model-bento--xt .bento-card--xt .bento-card-visual{
  background:linear-gradient(135deg,#2A3A2A 0%,#1A2A1A 100%);
}

@media(prefers-reduced-motion:reduce){
  .bento-card,.bento-card-visual img{transition:none}
}




/* ========== QUOTE MODAL (product-detail) ========== */
.quote-modal{position:fixed;inset:0;z-index:11000;display:none;align-items:flex-end;justify-content:center;padding:0}
@media(min-width:521px){.quote-modal{align-items:center;padding:1.5rem}}
.quote-modal.is-open{display:flex}
.quote-modal-overlay{position:absolute;inset:0;background:rgba(15,15,14,0.55);backdrop-filter:blur(2px);overscroll-behavior:contain}
.quote-modal-card{position:relative;z-index:1;width:100%;max-width:480px;max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2rem 2rem 1.75rem}
.quote-modal-card:focus-within{scroll-padding-block:2rem}
.quote-modal-close{position:absolute;top:0.85rem;right:0.85rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;transition:all 0.2s}
.quote-modal-close:hover{color:var(--text);border-color:var(--text-secondary)}
.quote-modal-head h2{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:0.5rem}
.quote-modal-head p{font-size:0.85rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}
.quote-modal-form .form-group--gap{margin-bottom:1rem}
.quote-modal-form .form-input,.quote-modal-form .form-textarea{width:100%;padding:0.7rem 0.9rem;font-size:0.9rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#fff;color:var(--text);box-sizing:border-box}
.quote-modal-form .form-input:focus,.quote-modal-form .form-textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 2px rgba(58,90,126,0.12)}
.quote-modal-form .form-label{display:block;font-size:0.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.35rem}
.quote-modal-form .form-textarea{resize:vertical;min-height:80px}
.phone-input-group{display:flex;gap:0;width:100%}
.phone-code-select{
  flex:0 0 auto;width:100px;cursor:pointer;
  border-radius:var(--radius-sm) 0 0 var(--radius-sm);
  border-bottom-right-radius:0;border-top-right-radius:0;
  border-right:1px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.08);
  font-weight:500;letter-spacing:0.02em;
}
.phone-number-input{
  flex:1;min-width:0;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0!important;
  border-bottom-left-radius:0!important;border-top-left-radius:0!important;
}
.quote-modal-form .phone-code-select{
  background:#f5f5f7;
  border:1px solid var(--border-light);
  border-right:1px solid #d0d0d0;
  color:var(--text);
}
.quote-modal-form .form-submit{display:flex;align-items:center;justify-content:center;gap:0.4rem;width:100%;padding:0.85rem 1rem;font-size:0.9rem;font-weight:600;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background 0.2s}
.quote-modal-form .form-submit:hover{background:var(--terracotta)}
.quote-modal-form .form-submit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.quote-modal-form .form-disclaimer{font-size:0.72rem;color:var(--text-muted);margin-top:0.75rem;line-height:1.4}
@media(max-width:520px){.quote-modal{padding:0}.quote-modal-card{max-height:100vh;border-radius:0;padding:1.5rem 1.25rem}}

/* ===== 鏂伴椈鍒楄〃鍥剧墖 onerror 鍏滃簳锛堥厤鍚?news.html 鐨?onerror 鍔?class锛?===== */
.news-card-img-fallback,
.news-featured-img-fallback{
  background:linear-gradient(135deg,#0F1E2E 0%,#1F3550 50%,#050B12 100%);
  position:relative;
}
.news-card-img-fallback::after,
.news-featured-img-fallback::after{
  content:'M脺LLER';
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.18);
  font-family:var(--font-mono);font-size:1.1rem;letter-spacing:.25em;
}

/* ===== 鏂伴椈璇︽儏椤碉細绉诲姩绔€傞厤 ===== */
@media(max-width:768px){
  .article-hero .page-hero{min-height:clamp(340px,55vh,480px)}
  .article-hero .page-hero h1{font-size:clamp(1.35rem,5.5vw,2rem)}
  .article-hero .page-hero .container{padding:clamp(1.25rem,3vw,2rem)}
  .article-hero-meta{margin-bottom:0.7rem;gap:0.6rem}
  .article-hero-cat{font-size:0.6rem;padding:0.22rem 0.6rem}
  .article-hero-date{font-size:0.68rem}
}

/* ===== 首页产品展示 v2：旗舰横幅 + 左右图文卡 ===== */
.products-new-grid{display:flex;flex-direction:column;gap:1.25rem}

/* 旗舰横幅卡 */
.product-hero-card{
  display:grid;grid-template-columns:1.1fr 1fr;
  min-height:380px;border-radius:var(--radius);overflow:hidden;
  background:var(--white);border:1px solid var(--border-light);
  text-decoration:none;color:inherit;
  transition:box-shadow 0.35s var(--transition),transform 0.35s var(--transition);
}
.product-hero-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.product-hero-img{position:relative;overflow:hidden;background:var(--navy-deep)}
.product-hero-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s var(--transition)}
.product-hero-card:hover .product-hero-img img{transform:scale(1.04)}
.product-hero-img.img-fallback{background:linear-gradient(135deg,var(--navy-light),var(--navy-deep))}
.product-hero-img-overlay{position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(5,11,18,0.25) 100%);pointer-events:none}
.product-hero-badge{position:absolute;top:1.25rem;left:1.25rem;z-index:2;font-family:var(--font-mono);font-weight:700;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:#fff;background:var(--terracotta);padding:0.3rem 0.7rem;border-radius:var(--radius-xs)}
.product-hero-body{padding:clamp(2rem,4vw,3.5rem) clamp(2rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:0.6rem}
.product-hero-label{font-family:var(--font-mono);font-size:0.65rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--terracotta)}
.product-hero-body h3{font-size:clamp(1.75rem,3vw,2.6rem);font-weight:800;letter-spacing:-0.025em;line-height:1.05;color:var(--navy)}
.product-hero-desc{font-size:0.9375rem;line-height:1.65;color:var(--text-secondary);max-width:44ch}
.product-hero-specs{display:flex;gap:0.75rem;flex-wrap:wrap;padding-top:0.25rem}
.product-spec-block{background:var(--bg-alt);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:0.5rem 0.85rem;display:flex;flex-direction:column;gap:3px;min-width:120px}
.product-spec-block-label{font-size:0.6rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono)}
.product-spec-block-value{font-size:0.875rem;font-weight:700;color:var(--navy);font-family:var(--font-mono);font-feature-settings:"tnum" 1}
.product-hero-cta{display:inline-flex;align-items:center;gap:8px;margin-top:0.5rem;font-size:0.8rem;font-weight:600;color:var(--terracotta);transition:gap 0.25s}
.product-hero-cta:hover{gap:12px;color:var(--navy)}
.product-hero-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* 产品对行 */
.products-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}

/* 左右分栏卡片 */
.product-split-card{display:grid;grid-template-columns:1fr 1fr;
  border-radius:var(--radius);overflow:hidden;
  background:var(--white);border:1px solid var(--border-light);
  text-decoration:none;color:inherit;
  transition:box-shadow 0.35s var(--transition),transform 0.35s var(--transition);
}
.product-split-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.product-split-card:hover .product-split-img img{transform:scale(1.05)}
.product-split-img{position:relative;overflow:hidden;min-height:200px;background:var(--bg-alt)}
.product-split-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.55s var(--transition)}
.product-split-img.img-fallback{background:linear-gradient(135deg,#D8D4CC,#C8C5BE)}
.product-split-body{padding:clamp(1.25rem,2vw,1.75rem);display:flex;flex-direction:column;gap:0.4rem}
.product-split-num{font-family:var(--font-mono);font-weight:700;font-size:0.7rem;color:var(--text-muted);letter-spacing:0.08em}
.product-split-code{font-family:var(--font-mono);font-weight:600;font-size:0.6rem;letter-spacing:0.1em;color:var(--terracotta);text-transform:uppercase;border:1px solid var(--terracotta-dim);background:var(--terracotta-dim);border-radius:var(--radius-xs);padding:0.15rem 0.5rem;width:fit-content}
.product-split-body h4{font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:700;letter-spacing:-0.02em;color:var(--navy);line-height:1.2}
.product-split-desc{font-size:0.875rem;line-height:1.6;color:var(--text-secondary);margin-top:0.15rem}
.product-split-specs{display:flex;gap:0.5rem;flex-wrap:wrap;padding-top:0.25rem}
.product-split-specs .product-spec-item{background:var(--bg-alt);border:1px solid var(--border-light);border-radius:var(--radius-xs);padding:0.4rem 0.7rem;display:flex;flex-direction:column;gap:2px;min-width:100px}
.product-split-cta{display:inline-flex;align-items:center;gap:8px;margin-top:0.4rem;font-size:0.78rem;font-weight:600;color:var(--terracotta);transition:gap 0.25s;width:fit-content}
.product-split-cta:hover{gap:12px;color:var(--navy)}
.product-split-cta svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* 响应式 */
@media(max-width:1024px){
  .product-hero-card{grid-template-columns:1fr;min-height:auto}
  .product-hero-img{min-height:260px}
  .product-hero-img-overlay{background:linear-gradient(180deg,transparent 40%,rgba(5,11,18,0.3) 100%)}
  .products-pair{grid-template-columns:1fr}
  .product-split-card{grid-template-columns:1fr}
  .product-split-img{min-height:180px}
}
@media(max-width:640px){
  .product-hero-img{min-height:200px}
  .product-hero-body{padding:1.5rem}
  .product-split-img{min-height:160px}
  .product-split-body{padding:1.25rem}
}

/* ========== CAREERS：职位卡片（job-card 体系，与 jobs-list/job-item 风格一致） ========== */
.job-card{
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
  transition:border-color 0.25s,box-shadow 0.25s,transform 0.25s;
}
.job-card:hover{
  border-color:var(--terracotta);
  box-shadow:var(--shadow-lg);
  transform:translateY(-1px);
}
.job-head{
  display:flex;flex-wrap:wrap;gap:1rem;
  justify-content:space-between;align-items:flex-start;
  padding:clamp(1.25rem,2vw,1.6rem) clamp(1.25rem,2vw,1.6rem) 0;
}
.job-head h3{
  font-size:1.125rem;font-weight:700;
  letter-spacing:-0.01em;margin-bottom:0.5rem;
  line-height:1.3;
}
.job-side{
  display:flex;flex-direction:column;align-items:flex-end;gap:0.6rem;
}
.job-salary{
  font-family:var(--font-mono);font-size:0.8rem;
  color:var(--navy);font-weight:600;white-space:nowrap;
}
.job-card > p{
  padding:0.75rem clamp(1.25rem,2vw,1.6rem) 0;
  font-size:0.875rem;color:var(--text-secondary);
  line-height:1.6;
}
.job-req{
  margin:0.75rem clamp(1.25rem,2vw,1.6rem) clamp(1.25rem,2vw,1.6rem);
  padding-left:1.25rem;
  display:grid;gap:0.4rem;
  font-size:0.875rem;color:var(--text-secondary);
}
.job-req li{margin-top:0}

/* ========== CAREERS：四步入职步骤数字 ========== */
.step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.25rem;height:2.25rem;border-radius:50%;
  background:var(--navy);color:#fff;
  font-family:var(--font-mono);font-size:0.85rem;font-weight:700;
  margin-bottom:0.75rem;
}

/* ========== CAREERS：双元制时间线 ========== */
.dual-timeline{
  display:grid;gap:1.25rem;
  max-width:760px;margin:0 auto;
}
.dual-row{
  display:grid;grid-template-columns:180px 1fr;gap:1.25rem;
  align-items:baseline;
  padding:1rem 1.25rem;
  background:var(--white);border:1px solid var(--border-light);
  border-radius:var(--radius);box-shadow:var(--shadow);
}
.dual-phase{
  font-size:0.9rem;font-weight:700;color:var(--navy);
  letter-spacing:-0.01em;
}
.dual-row p{font-size:0.875rem;color:var(--text-secondary);line-height:1.6;margin:0}
@media(max-width:640px){
  .dual-row{grid-template-columns:1fr;gap:0.4rem}
}