@import url(./base.css);


/*@font-face {*/
/*  font-family: "Bebas Kai";*/
/*  src: url("https://cdn.jsdelivr.net/gh/dharmatype/Bebas-Kai@master/WebFont/BebasKai.woff2") format("woff2");*/
/*  font-weight: 400;*/
/*  font-style: normal;*/
/*  font-display: swap; !* 避免FOIT闪烁，必加 *!*/
/*}*/

/*!* 使用 *!*/
/*.Bebas {*/
/*  font-family: "Bebas Kai", sans‑serif;*/
/*}*/
/******************header*******************/
.header-content{position:sticky;top:0;height:calc(80 * var(--vw));width:100%;z-index:999;color:#1f1e1e;backdrop-filter:blur(0px);transition:all 0.5s ease;box-shadow:0 2px 10px rgba(0,0,0,0);background:#fff;}
/******************index*******************/

/* 跑马灯核心动画 */
.marquee-wrap {
  overflow: hidden;
}
.marquee-inner {
  display: flex;
  gap: 2.5rem;
  width: max-content;
  animation: marquee 25s linear infinite;
}
/* 悬浮暂停 */
.marquee-wrap:hover .marquee-inner {
  animation-play-state: paused;
}
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.play{animation:playPulse 2.2s ease-in-out infinite;}
.play-btn{position:relative;cursor:pointer;}
.play-btn::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #f8d900;pointer-events:none;transform:scale(1);opacity:0;}
.play-btn:hover::before{animation:playRing 0.6s ease-out forwards;}
@keyframes playRing{0%{transform:scale(1);opacity:0.8;}100%{transform:scale(1.6);opacity:0;}}
@keyframes playPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
/******************end index*******************/
/** banner **/
.simon-banner{position:relative;width:100%;height:100vh;overflow:hidden;}
.simon-slide{position:absolute;inset:0;display:none;z-index:1;}
.simon-slide.active{display:block;z-index:2;}
.simon-slide.next{display:block;z-index:3;}
.simon-img-wrap{position:absolute;inset:0;overflow:hidden;will-change:transform;}
.simon-img-wrap img{width:100%;height:100%;object-fit:cover;will-change:transform;}
.simon-overlay{position:absolute;inset:0;pointer-events:none;z-index:4;}
.simon-content{position:absolute;bottom:18vh;z-index:5;display:flex;}
.simon-content-left{left:8vw;}
.simon-content-right{right:8vw;}
.simon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:calc(190 * var(--vw));height:calc(50 * var(--vw));padding:0 2rem;background:var(--color-primary,#1a1a2e);color:#fff;text-decoration:none;font-weight:600;border-radius:100px;transition:transform 0.3s ease,background 0.3s ease;opacity:0;transform:translateY(30px);}
.simon-btn:hover{background:#f8d900;color:#1a1a2e;transform:translateY(-2px);}
.simon-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:calc(64 * var(--vw));height:calc(64 * var(--vw));min-width:48px;min-height:48px;border:1px solid rgba(255,255,255,0.35);border-radius:50%;background:rgba(0,0,0,0.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all 0.3s ease;}
.simon-arrow:hover{background:#f8d900;border-color:#f8d900;color:#1a1a2e;}
.simon-arrow svg{width:40%;height:40%;}
.simon-arrow-prev{left:3vw;}
.simon-arrow-next{right:3vw;}
.simon-footer{position:absolute;bottom:5vh;left:8vw;right:8vw;z-index:10;display:flex;align-items:center;gap:1.5rem;color:#fff;}
.simon-counter{font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:0.05em;}
.simon-current{font-weight:600;}
.simon-separator,.simon-total{color:rgba(255,255,255,0.5);}
.simon-progress{flex:1;max-width:160px;height:1px;background:rgba(255,255,255,0.25);position:relative;overflow:hidden;}
.simon-progress-fill{position:absolute;left:0;top:0;height:100%;width:0%;background:#fff;will-change:width;}
@media (max-width:768px){.simon-banner{height:60vh;}.simon-arrow{display:none;}.simon-content{bottom:14vh;left:6vw;right:auto;}.simon-btn{min-width:calc(120 * var(--vw));height:calc(36 * var(--vw));font-size:calc(11 * var(--vw));}.simon-footer{left:6vw;right:6vw;}.simon-progress{max-width:100px;}}
/** end banner **/


/** page_about.html **/
.section-label{font-size:12px;letter-spacing:5px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:20px;font-weight:600;}
.manifesto-split{min-height:100vh;display:grid;grid-template-columns:1fr 1.2fr;background:var(--color-bg);}
.manifesto-left{padding:calc(120 * var(--vw)) calc(60 * var(--vw));display:flex;flex-direction:column;justify-content:center;position:sticky;top:0;height:100vh;background:var(--color-bg);z-index:2;}
.manifesto-left h2{font-size:clamp(36px,4vw,64px);font-weight:200;line-height:1.2;letter-spacing:-1px;}
.manifesto-left h2 strong{font-weight:700;color:var(--color-primary);}
.manifesto-right{padding:calc(120 * var(--vw)) calc(80 * var(--vw));display:flex;flex-direction:column;justify-content:center;min-height:100vh;}
.manifesto-text{font-size:clamp(28px,3vw,48px);font-weight:300;line-height:1.6;color:var(--color-text);}
.manifesto-word{display:inline-block;opacity:0.12;transition:opacity 0.4s;}
.manifesto-word.is-active{opacity:1;}
.manifesto-text em{font-style:normal;color:var(--color-primary);font-weight:700;position:relative;opacity:0.25;transition:opacity 0.4s;}
.manifesto-text em.is-active{opacity:1;}
.manifesto-text em::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:10px;background:var(--color-accent);opacity:0.35;z-index:-1;}
.manifesto-tag{margin-top:48px;font-size:13px;color:var(--color-text-muted);letter-spacing:3px;}
.origin-split{min-height:200vh;display:grid;grid-template-columns:1fr 1fr;background:var(--color-light);position:relative;}
.origin-left{padding:calc(120 * var(--vw)) calc(60 * var(--vw));position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;z-index:2;}
.origin-year-big{font-size:clamp(100px,14vw,260px);font-weight:900;color:rgba(37,33,104,0.08);line-height:0.85;margin-bottom:40px;transform:translateZ(0);}
.origin-left h2{font-size:clamp(32px,3vw,52px);font-weight:300;line-height:1.3;margin-bottom:32px;letter-spacing:-1px;}
.origin-left h2 strong{font-weight:700;color:var(--color-primary);}
.origin-left p{font-size:16px;color:var(--color-text-muted);line-height:2;margin-bottom:20px;max-width:480px;}
.origin-right{padding:calc(120 * var(--vw)) calc(80 * var(--vw));display:flex;flex-direction:column;justify-content:center;gap:60px;}
.origin-image{width:100%;background:linear-gradient(160deg,#e8e5f5 0%,#d4cfe8 100%);border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.origin-image::after{content:'';position:absolute;bottom:-60px;right:-60px;width:200px;height:200px;background:var(--color-accent);border-radius:50%;opacity:0.15;}
.origin-icon{font-size:120px;opacity:0.25;position:relative;z-index:1;}
.origin-card{background:var(--color-primary);color:white;padding:32px 36px;border-radius:16px;box-shadow:0 20px 50px rgba(37,33,104,0.25);max-width:320px;}
.origin-card-num{font-size:44px;font-weight:200;color:var(--color-accent);line-height:1;}
.origin-card-text{font-size:14px;opacity:0.7;margin-top:8px;}
.stats-keywords{padding:calc(90 * var(--vw)) calc(80 * var(--vw));background:var(--color-dark);color:white;display:grid;grid-template-columns:1.15fr 0.85fr;gap:calc(60 * var(--vw));align-items:center;}
.stats-keywords-left{display:flex;flex-direction:column;gap:calc(40 * var(--vw));}
.stats-keywords-header{margin-bottom:0;}
.stats-keywords-header h2{font-size:clamp(36px,4vw,60px);font-weight:200;}
.stats-keywords-header h2 span{font-weight:700;color:var(--color-accent);}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(28 * var(--vw)) calc(40 * var(--vw));max-width:none;margin:0;}
.stat-item{text-align:left;position:relative;}
.stat-item::after{display:none;}
.stat-number{font-size:clamp(40px,4vw,72px);font-weight:100;color:var(--color-accent);line-height:1;margin-bottom:10px;}
.stat-label{font-size:14px;color:rgba(255,255,255,0.5);line-height:1.6;}
.keyword-tag{padding:12px 22px;border:1px solid rgba(255,255,255,0.12);border-radius:60px;font-size:13px;color:rgba(255,255,255,0.6);transition:all 0.3s;cursor:default;}
.keyword-tag:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent);transform:translateY(-3px);}
.stats-keywords-right{width:100%;}
.stats-keywords-images{display:grid;grid-template-columns:repeat(1,1fr);gap:20px;}
.stats-keyword-img{border-radius:14px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.35);font-size:13px;letter-spacing:1px;overflow:hidden;}
.stats-keyword-img img{width:100%;height:100%;object-fit:cover;display:block;}
.industries{padding:calc(160 * var(--vw)) calc(80 * var(--vw));background:var(--color-bg);}
.industries-header{margin-bottom:calc(80 * var(--vw));display:flex;justify-content:space-between;gap:calc(60 * var(--vw));align-items:end;max-width:none;}
.industries-header h2{font-size:clamp(36px,4vw,60px);font-weight:200;letter-spacing:-1px;line-height:1;}
.industries-header h2 span{font-weight:700;color:var(--color-primary);}
.industries-intro{font-size:14px;line-height:1.8;color:var(--color-text-muted);max-width:460px;text-align:justify;text-align-last:left;}
.industries-list{border-top:1px solid #e8e8e8;}
.industry-row{position:relative;display:grid;grid-template-columns:80px 1fr 1fr;gap:40px;align-items:center;padding:36px 32px;border-bottom:1px solid #e8e8e8;cursor:pointer;overflow:hidden;}
.industry-row-bg{position:absolute;inset:-1px 0;background:var(--color-primary);transform:scaleY(0);transform-origin:center;opacity:0;pointer-events:none;transition:transform 0.7s cubic-bezier(0.16,1,0.3,1),opacity 0.4s ease;z-index:0;}
.industry-row:hover .industry-row-bg,.industry-row.is-active .industry-row-bg{transform:scaleY(1);opacity:1;}
.industry-icon,.industry-name,.industry-desc{position:relative;z-index:1;transition:color 0.4s ease,transform 0.7s cubic-bezier(0.16,1,0.3,1),background 0.4s ease,box-shadow 0.4s ease;}
.industry-icon{font-size:32px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:white;border-radius:50%;box-shadow:0 4px 20px rgba(0,0,0,0.05);}
.industry-name{font-size:clamp(24px,2.5vw,40px);font-weight:300;color:var(--color-text);}
.industry-desc{font-size:14px;color:var(--color-text-muted);line-height:1.7;opacity:0;transform:translateY(10px);transition:color 0.4s ease,opacity 0.4s ease,transform 0.7s cubic-bezier(0.16,1,0.3,1);}
.industry-row:hover .industry-icon,.industry-row.is-active .industry-icon{transform:translateX(0.4rem);background:var(--color-accent);color:var(--color-primary);box-shadow:0 8px 30px rgba(0,0,0,0.15);}
.industry-row:hover .industry-name,.industry-row.is-active .industry-name{color:#fff;transform:translateX(0.5rem);}
.industry-row:hover .industry-desc,.industry-row.is-active .industry-desc{color:rgba(255,255,255,0.8);opacity:1;transform:translateY(0) translateX(-0.5rem);}
#industries-cursor-img{position:fixed;top:0;left:0;width:260px;height:180px;pointer-events:none;z-index:9997;overflow:hidden;opacity:0;will-change:transform,opacity;transition:opacity 0.38s cubic-bezier(0.16,1,0.3,1),clip-path 0.38s cubic-bezier(0.16,1,0.3,1);clip-path:inset(50%);border-radius:12px;box-shadow:0 24px 50px rgba(0,0,0,0.25);}
#industries-cursor-img.is-visible{opacity:1;clip-path:inset(0%);}
#industries-cursor-img img{width:100%;height:100%;object-fit:cover;display:block;}

@media (hover:none),(pointer:coarse){#industries-cursor-img{display:none;}}
.dna{padding:calc(160 * var(--vw)) calc(80 * var(--vw));background:var(--color-light);position:relative;}
.dna-header{margin-bottom:calc(80 * var(--vw));display:flex;justify-content:space-between;gap:calc(60 * var(--vw));align-items:end;max-width:none;position:relative;z-index:1;}
.dna-header h2{font-size:clamp(32px,3.5vw,52px);font-weight:200;letter-spacing:-1px;line-height:1.2;}
.dna-header h2 span{font-weight:700;color:var(--color-primary);}
.dna-intro{font-size:14px;line-height:1.8;color:var(--color-text-muted);max-width:460px;text-align:justify;text-align-last:left;}
.dna-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;z-index:1;}
.dna-card{padding:calc(48 * var(--vw)) calc(40 * var(--vw));background:white;border:1px solid #e8e8e8;transition:background 0.4s,color 0.4s,border-color 0.4s;cursor:default;}
.dna-card:hover{background:var(--color-primary);color:white;border-color:var(--color-primary);z-index:2;}
.dna-number{font-size:56px;font-weight:100;color:#e0e0e0;line-height:1;margin-bottom:24px;transition:color 0.4s;}
.dna-card:hover .dna-number{color:var(--color-accent);}
.dna-title{font-size:22px;font-weight:600;margin-bottom:14px;}
.dna-desc{font-size:14px;color:var(--color-text-muted);line-height:1.8;transition:color 0.4s;}
.dna-card:hover .dna-desc{color:rgba(255,255,255,0.65);}
.page-about .cta{padding:calc(160 * var(--vw)) calc(80 * var(--vw));background:var(--color-accent);text-align:center;position:relative;overflow:hidden;}
.page-about  .cta::before{content:'ZHENRUI';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(160px,22vw,360px);font-weight:900;color:rgba(37,33,104,0.05);white-space:nowrap;pointer-events:none;}
.page-about  .cta-text{position:relative;z-index:1;font-size:clamp(32px,4vw,64px);font-weight:300;color:var(--color-primary);line-height:1.4;margin-bottom:48px;}
.page-about  .cta-text strong{font-weight:700;}
.page-about  .cta-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;padding:22px 56px;background:var(--color-primary);color:white;border-radius:60px;font-size:16px;font-weight:700;letter-spacing:1px;transition:transform 0.3s,box-shadow 0.3s;}
.page-about  .cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 50px rgba(37,33,104,0.35);}
@media (prefers-reduced-motion:reduce){.hero-bg-text,.hero-eyebrow,.hero-title,.hero-title .char,.hero-desc,.hero-cta,.hero-visual,.hero-ring,.hero-tool,.hero-scroll,.marquee-track,.manifesto-left,.manifesto-right,.manifesto-word,.manifesto-text em,.manifesto-tag,.origin-left,.origin-year-big,.origin-right,.origin-image,.origin-icon,.origin-card,.stats-keywords-header,.stat-item,.keyword-tag,.stats-keyword-img,.industries-header,.industry-row,.dna-header,.dna-card,.cta-text,.cta-btn,.footer-top,.footer-bottom{opacity:1 !important;transform:none !important;clip-path:none !important;filter:none !important;animation:none !important;}}
@media (max-width:1024px){.hero-grid{grid-template-columns:1fr;}.hero-visual{display:none;}.manifesto-split{grid-template-columns:1fr;}.manifesto-left{position:relative;height:auto;padding-bottom:40px;}.origin-split{grid-template-columns:1fr;min-height:auto;}.origin-left{position:relative;height:auto;}.stats-keywords{grid-template-columns:1fr;gap:60px;padding:80px 40px;}.stats-keywords-left{gap:40px;}.stats-grid{grid-template-columns:repeat(2,1fr);}.stat-item::after{display:none;}.stats-keywords-images{grid-template-columns:repeat(4,1fr);}.industries-header{grid-template-columns:1fr;gap:24px;}.industry-row{grid-template-columns:60px 1fr;}.industry-desc{display:none;}.dna-header{grid-template-columns:1fr;gap:24px;}.dna-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:768px){.nav-links{display:none;}.hero{min-height:600px;}.hero-title{font-size:48px;}.stats-keywords{padding:60px 24px;}.stats-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px;}.stat-number{font-size:36px;}.keyword-cloud{gap:10px;}.keyword-tag{padding:10px 18px;font-size:12px;}.stats-keywords-images{grid-template-columns:repeat(2,1fr);gap:12px;}.industries-header{grid-template-columns:1fr;}.dna-header{grid-template-columns:1fr;}.dna-grid{grid-template-columns:1fr;}.footer-top{flex-direction:column;gap:24px;}.footer-links-row{flex-wrap:wrap;gap:20px;}.footer-bottom{flex-direction:column;gap:8px;}}
/** end page_about.html **/

/**  page_contact.html **/
@keyframes scrollLineMove{0%{left:-100%;}50%{left:0;}100%{left:100%;}}
.process{background:var(--color-bg);padding:calc(120 * var(--vw)) 0;overflow:hidden;}
.process-header{padding:0 calc(80 * var(--vw));margin-bottom:calc(60 * var(--vw));display:flex;justify-content:space-between;align-items:flex-end;}
.process-header h2{font-size:clamp(28px,3vw,48px);font-weight:200;color:var(--color-primary);line-height:1.3;}
.process-header h2 strong{font-weight:800;}
.process-header p{font-size:14px;color:var(--color-text-muted);max-width:360px;text-align:right;line-height:1.8;}
.process-track-wrapper{overflow:hidden;position:relative;}
.process-track{display:flex;gap:0;padding:0 calc(80 * var(--vw));width:max-content;}
.process-step{flex-shrink:0;width:340px;padding:48px 36px;position:relative;border-right:1px solid rgba(37,33,104,0.06);}
.process-step:last-child{border-right:none;}
.step-num{font-size:clamp(64px,8vw,120px);font-weight:100;color:rgba(37,33,104,0.05);line-height:1;margin-bottom:20px;transition:color 0.5s;}
.process-step:hover .step-num{color:rgba(252,210,0,0.15);}
.step-icon{width:48px;height:48px;background:var(--color-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:transform 0.5s cubic-bezier(0.16,1,0.3,1),border-radius 0.5s;}
.process-step:hover .step-icon{transform:rotate(-8deg) scale(1.08);border-radius:16px;}
.step-icon svg{width:22px;height:22px;stroke:var(--color-accent);fill:none;stroke-width:1.5;}
.step-title{font-size:20px;font-weight:700;color:var(--color-primary);margin-bottom:12px;}
.step-desc{font-size:14px;color:var(--color-text-muted);line-height:1.8;}
.step-time{display:inline-flex;align-items:center;gap:6px;margin-top:20px;padding:6px 14px;background:rgba(37,33,104,0.04);border-radius:20px;font-size:12px;color:var(--color-primary);font-weight:600;}
.step-time svg{width:14px;height:14px;stroke:var(--color-primary);fill:none;stroke-width:1.5;}
.process-connector{position:absolute;top:50%;right:-20px;width:40px;height:2px;background:linear-gradient(90deg,var(--color-accent),transparent);z-index:2;opacity:0.4;}
.process-step:last-child .process-connector{display:none;}
.conv-form-section{background:var(--color-dark);padding:calc(140 * var(--vw)) calc(80 * var(--vw));position:relative;overflow:hidden;}
.conv-form-section::before{content:'SEND';position:absolute;bottom:-5vw;right:-2vw;font-size:clamp(100px,16vw,260px);font-weight:900;color:rgba(255,255,255,0.015);letter-spacing:-0.03em;pointer-events:none;}
.conv-label{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--color-accent);margin-bottom:16px;}
.conv-heading{font-size:clamp(28px,3vw,48px);font-weight:200;color:#fff;margin-bottom:calc(60 * var(--vw));line-height:1.4;}
.conv-heading strong{font-weight:800;}
.conv-flow{max-width:780px;position:relative;}
.conv-flow::before{content:'';position:absolute;left:16px;top:0;bottom:0;width:1px;background:rgba(255,255,255,0.06);}
.conv-step{position:relative;padding-left:56px;margin-bottom:48px;opacity:0;}
.conv-step-dot{position:absolute;left:8px;top:4px;width:17px;height:17px;border-radius:50%;border:2px solid rgba(255,255,255,0.12);background:var(--color-dark);transition:border-color 0.4s,box-shadow 0.4s;z-index:2;}
.conv-step.active .conv-step-dot{border-color:var(--color-accent);box-shadow:0 0 12px rgba(252,210,0,0.3);}
.conv-step-label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-bottom:8px;}
.conv-step-question{font-size:clamp(18px,1.6vw,24px);font-weight:300;color:rgba(255,255,255,0.85);margin-bottom:16px;line-height:1.5;}
.conv-input-wrap{position:relative;}
.conv-input{width:100%;padding:16px 0;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,0.1);color:#fff;font-size:17px;font-family:inherit;outline:none;transition:border-color 0.4s;letter-spacing:0.5px;}
.conv-input::placeholder{color:rgba(255,255,255,0.15);font-weight:300;}
.conv-input:focus{border-bottom-color:var(--color-accent);}
.conv-input-line{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-accent);transition:width 0.6s cubic-bezier(0.16,1,0.3,1);}
.conv-input:focus ~ .conv-input-line{width:100%;}
.conv-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.conv-chip{padding:10px 22px;border:1px solid rgba(255,255,255,0.1);border-radius:30px;color:rgba(255,255,255,0.5);font-size:14px;cursor:pointer;transition:all 0.35s cubic-bezier(0.16,1,0.3,1);user-select:none;background:transparent;font-family:inherit;}
.conv-chip:hover{border-color:rgba(252,210,0,0.3);color:rgba(255,255,255,0.8);}
.conv-chip.selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-primary);font-weight:600;}
.conv-textarea{width:100%;padding:16px 0;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,0.1);color:#fff;font-size:17px;font-family:inherit;outline:none;resize:vertical;min-height:80px;transition:border-color 0.4s;}
.conv-textarea::placeholder{color:rgba(255,255,255,0.15);font-weight:300;}
.conv-textarea:focus{border-bottom-color:var(--color-accent);}
.conv-textarea:focus ~ .conv-input-line{width:100%;}
.conv-submit{margin-top:16px;display:inline-flex;align-items:center;gap:14px;padding:18px 40px;background:var(--color-accent);color:var(--color-primary);font-size:15px;font-weight:700;letter-spacing:2px;border:none;border-radius:60px;cursor:pointer;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s;font-family:inherit;position:relative;overflow:hidden;}
.conv-submit:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(252,210,0,0.25);}
.conv-submit svg{width:18px;height:18px;stroke:var(--color-primary);fill:none;stroke-width:2;transition:transform 0.3s;}
.conv-submit:hover svg{transform:translateX(4px);}
.departments{background:var(--color-bg);padding:calc(120 * var(--vw)) calc(80 * var(--vw));}
.dept-header{text-align:center;margin-bottom:calc(60 * var(--vw));}
.dept-header h2{font-size:clamp(28px,3vw,48px);font-weight:200;color:var(--color-primary);line-height:1.3;}
.dept-header h2 strong{font-weight:800;}
.dept-header p{font-size:14px;color:var(--color-text-muted);margin-top:16px;max-width:460px;margin-left:auto;margin-right:auto;}
.dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.dept-card{position:relative;padding:48px 32px 40px;background:var(--color-light);border-radius:20px;overflow:hidden;cursor:pointer;transition:transform 0.5s cubic-bezier(0.16,1,0.3,1),box-shadow 0.5s;}
.dept-card::before{content:'';position:absolute;inset:0;background:var(--color-primary);border-radius:20px;transform:scaleY(0);transform-origin:bottom;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1);z-index:0;}
.dept-card:hover::before{transform:scaleY(1);}
.dept-card:hover{transform:translateY(-8px);box-shadow:0 24px 64px rgba(37,33,104,0.2);}
.dept-card > *{position:relative;z-index:1;}
.dept-num{font-size:52px;font-weight:100;color:rgba(37,33,104,0.08);line-height:1;margin-bottom:24px;transition:color 0.5s;}
.dept-card:hover .dept-num{color:rgba(252,210,0,0.2);}
.dept-icon{width:52px;height:52px;border:1.5px solid rgba(37,33,104,0.12);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:border-color 0.4s,background 0.4s;}
.dept-card:hover .dept-icon{border-color:var(--color-accent);background:rgba(252,210,0,0.1);}
.dept-icon svg{width:24px;height:24px;stroke:var(--color-primary);fill:none;stroke-width:1.5;transition:stroke 0.4s;}
.dept-card:hover .dept-icon svg{stroke:var(--color-accent);}
.dept-title{font-size:20px;font-weight:700;color:var(--color-primary);margin-bottom:8px;transition:color 0.4s;}
.dept-card:hover .dept-title{color:#fff;}
.dept-contact{font-size:14px;color:var(--color-text-muted);margin-bottom:6px;transition:color 0.4s;}
.dept-card:hover .dept-contact{color:rgba(255,255,255,0.6);}
.dept-hours{font-size:12px;color:var(--color-text-muted);padding-top:16px;border-top:1px solid rgba(37,33,104,0.06);margin-top:20px;transition:border-color 0.4s,color 0.4s;}
.dept-card:hover .dept-hours{border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.4);}
.dept-arrow{position:absolute;bottom:24px;right:24px;width:36px;height:36px;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;transition:background 0.4s,transform 0.4s;z-index:1;}
.dept-card:hover .dept-arrow{background:var(--color-accent);transform:rotate(-45deg);}
.dept-arrow svg{width:16px;height:16px;stroke:var(--color-text-muted);fill:none;stroke-width:1.5;transition:stroke 0.4s;}
.dept-card:hover .dept-arrow svg{stroke:var(--color-primary);}
.faq-section{background:var(--color-light);padding:calc(120 * var(--vw)) calc(80 * var(--vw));overflow:hidden;}
.faq-top{display:grid;grid-template-columns:1fr 1fr;gap:calc(60 * var(--vw));margin-bottom:calc(60 * var(--vw));}
.faq-top h2{font-size:clamp(28px,3vw,48px);font-weight:200;color:var(--color-primary);line-height:1.3;}
.faq-top h2 strong{font-weight:800;}
.faq-top p{font-size:15px;color:var(--color-text-muted);text-align: end;line-height:1.9;align-self:end;}
.faq-list{display:flex;flex-direction:column;gap:0;}
.faq-item{border-top:1px solid rgba(37,33,104,0.08);overflow:hidden;}
.faq-item:last-child{border-bottom:1px solid rgba(37,33,104,0.08);}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:28px 0;cursor:pointer;user-select:none;transition:color 0.3s;}
.faq-q-text{font-size:clamp(16px,1.2vw,20px);font-weight:500;color:var(--color-primary);display:flex;align-items:center;gap:20px;}
.faq-q-num{font-size:12px;font-weight:300;color:var(--color-text-muted);letter-spacing:2px;min-width:32px;}
.faq-toggle{width:36px;height:36px;border-radius:50%;border:1px solid rgba(37,33,104,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.4s,border-color 0.4s,transform 0.4s;position:relative;}
.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;background:var(--color-primary);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),opacity 0.3s;}
.faq-toggle::before{width:12px;height:1.5px;}
.faq-toggle::after{width:1.5px;height:12px;}
.faq-item.open .faq-toggle{background:var(--color-primary);border-color:var(--color-primary);transform:rotate(45deg);}
.faq-item.open .faq-toggle::before,.faq-item.open .faq-toggle::after{background:var(--color-accent);}
.faq-answer-wrap{max-height:0;overflow:hidden;transition:max-height 0.6s cubic-bezier(0.16,1,0.3,1);}
.faq-answer{padding:0 0 32px 52px;font-size:15px;color:var(--color-text-muted);line-height:1.9;max-width:640px;}
.cta{position:relative;padding:calc(140 * var(--vw)) calc(80 * var(--vw));background:var(--color-primary);text-align:center;overflow:hidden;}
.cta::before{content:'CONTACT';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(80px,14vw,220px);font-weight:900;color:rgba(255,255,255,0.02);letter-spacing:-0.02em;white-space:nowrap;pointer-events:none;}
.cta-content{position:relative;z-index:2;}
.cta h2{font-size:clamp(32px,4vw,64px);font-weight:200;color:#fff;line-height:1.3;margin-bottom:12px;}
.cta h2 strong{font-weight:800;color:var(--color-accent);}
.cta-sub{font-size:15px;color:rgba(255,255,255,0.4);margin-bottom:48px;}
.cta-phone{font-size:clamp(36px,5vw,80px);font-weight:100;color:var(--color-accent);letter-spacing:4px;margin-bottom:48px;display:block;transition:letter-spacing 0.6s cubic-bezier(0.16,1,0.3,1);}
.cta-phone:hover{letter-spacing:10px;}
.cta-btns{display:flex;justify-content:center;gap:16px;}
.cta-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border-radius:60px;font-size:14px;font-weight:600;letter-spacing:1px;transition:all 0.4s cubic-bezier(0.16,1,0.3,1);border:1.5px solid transparent;cursor:pointer;font-family:inherit;background:transparent;}
.cta-btn.primary{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent);}
.cta-btn.primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(252,210,0,0.3);}
.cta-btn.outline{border-color:rgba(255,255,255,0.2);color:#fff;}
.cta-btn.outline:hover{border-color:#fff;background:rgba(255,255,255,0.06);}
.cta-btn svg{width:16px;height:16px;fill:none;stroke-width:2;}
.cta-btn.primary svg{stroke:var(--color-primary);}
.cta-btn.outline svg{stroke:#fff;}
.footer{background:var(--color-dark);padding:48px calc(80 * var(--vw));}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.06);}
.footer-brand{font-size:18px;font-weight:800;letter-spacing:4px;color:#fff;}
.footer-links{display:flex;gap:32px;font-size:13px;color:rgba(255,255,255,0.4);}
.footer-links a{transition:color 0.3s;}
.footer-links a:hover{color:var(--color-accent);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:12px;color:rgba(255,255,255,0.2);}
@media (max-width:1024px){.page-contact .hero-floats{display:none;}.page-contact .hero-content{max-width:100%;}.process-track{padding:0 calc(40 * var(--vw));}.process-step{width:280px;}.dept-grid{grid-template-columns:repeat(2,1fr);}.faq-top{grid-template-columns:1fr;gap:20px;}.faq-top p{text-align:left;}.process-header{flex-direction:column;align-items:flex-start;gap:20px;}.process-header p{text-align:left;}}
@media (max-width:768px){.nav-links{display:none;}.page-contact .hero-content{padding:0 24px;}.page-contact .hero-title{font-size:36px;}.process{padding:80px 0;}.process-header{padding:0 24px;}.process-step{width:260px;padding:36px 24px;}.conv-form-section{padding:80px 24px;}.departments{padding:80px 24px;}.dept-grid{grid-template-columns:1fr;}.faq-section{padding:80px 24px;}.faq-answer{padding-left:0;}.cta{padding:80px 24px;}.cta-phone{font-size:32px;}.cta-btns{flex-direction:column;align-items:center;}.footer{padding:32px 24px;}.footer-top,.footer-bottom{flex-direction:column;gap:16px;text-align:center;}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}.page-contact .hero-title .char span{transform:none !important;opacity:1 !important;}.page-contact .hero-eyebrow,.page-contact .hero-desc,.page-contact .float-pill,.page-contact .hero-scroll-hint,.conv-step,.process-step,.dept-card,.faq-item,.cta h2,.cta-phone,.cta-btns{opacity:1 !important;transform:none !important;}.page-contact .hero-grid-canvas::before,.page-contact .hero-grid-canvas::after,.page-contact .grid-line{transform:none !important;opacity:1 !important;}.page-contact .crosshair{opacity:0.4 !important;}}
noscript .page-contact .hero-title .char span,noscript .page-contact .hero-eyebrow,noscript .page-contact .hero-desc,noscript .page-contact .float-pill,noscript .page-contact .hero-scroll-hint,noscript .conv-step,noscript .process-step,noscript .dept-card,noscript .faq-item,noscript .cta h2,noscript .cta-phone,noscript .cta-btns{opacity:1 !important;transform:none !important;}

/* ===== page_contact.html HERO (scoped to avoid collision with other pages) ===== */
.page-contact .hero{position:relative;height:100vh;min-height:720px;background:var(--color-dark);overflow:hidden;display:flex;align-items:center;}
.page-contact .hero-grid-canvas{position:absolute;inset:0;z-index:1;}
.page-contact .hero-grid-canvas::before,.page-contact .hero-grid-canvas::after{content:'';position:absolute;background:rgba(252,210,0,0.06);}
.page-contact .hero-grid-canvas::before{top:50%;left:0;right:0;height:1px;transform:scaleX(0);transform-origin:center;animation:gridLineH 2s cubic-bezier(0.16,1,0.3,1) 0.5s forwards;}
.page-contact .hero-grid-canvas::after{left:50%;top:0;bottom:0;width:1px;transform:scaleY(0);transform-origin:center;animation:gridLineV 2s cubic-bezier(0.16,1,0.3,1) 0.8s forwards;}
@keyframes gridLineH{to{transform:scaleX(1);}}
@keyframes gridLineV{to{transform:scaleY(1);}}
.page-contact .hero-grid-lines{position:absolute;inset:0;z-index:1;}
.page-contact .grid-line{position:absolute;background:rgba(252,210,0,0.03);}
.page-contact .grid-line.h{left:0;right:0;height:1px;}
.page-contact .grid-line.v{top:0;bottom:0;width:1px;}
.page-contact .grid-line.h:nth-child(1){top:25%;transform:scaleX(0);animation:gridLineH 1.5s cubic-bezier(0.16,1,0.3,1) 1.2s forwards;}
.page-contact .grid-line.h:nth-child(2){top:75%;transform:scaleX(0);animation:gridLineH 1.5s cubic-bezier(0.16,1,0.3,1) 1.4s forwards;}
.page-contact .grid-line.v:nth-child(3){left:25%;transform:scaleY(0);animation:gridLineV 1.5s cubic-bezier(0.16,1,0.3,1) 1.6s forwards;}
.page-contact .grid-line.v:nth-child(4){left:75%;transform:scaleY(0);animation:gridLineV 1.5s cubic-bezier(0.16,1,0.3,1) 1.8s forwards;}
.page-contact .crosshair{position:absolute;width:20px;height:20px;z-index:2;opacity:0;animation:crosshairIn 0.8s ease 2s forwards;}
.page-contact .crosshair::before,.page-contact .crosshair::after{content:'';position:absolute;background:var(--color-accent);}
.page-contact .crosshair::before{width:1px;height:100%;left:50%;}
.page-contact .crosshair::after{height:1px;width:100%;top:50%;}
.page-contact .crosshair.tl{top:12%;left:8%;}
.page-contact .crosshair.tr{top:12%;right:8%;}
.page-contact .crosshair.bl{bottom:12%;left:8%;}
.page-contact .crosshair.br{bottom:12%;right:8%;}
@keyframes crosshairIn{to{opacity:0.4;}}
.page-contact .hero-content{position:relative;z-index:10;padding:0 calc(80 * var(--vw));max-width:900px;}
.page-contact .hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--color-accent);margin-bottom:32px;opacity:0;}
.page-contact .hero-eyebrow .pulse-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(1.6);}}
.page-contact .hero-title{font-size:clamp(42px,5.5vw,80px);font-weight:200;line-height:1.15;color:#fff;letter-spacing:-1px;margin-bottom:32px;}
.page-contact .hero-title strong{font-weight:800;color:var(--color-accent);}
.page-contact .hero-title .char{display:inline-block;overflow:hidden;vertical-align:bottom;}
.page-contact .hero-title .char span{display:inline-block;transform:translateY(110%);opacity:0;}
.page-contact .hero-desc{font-size:clamp(15px,1.1vw,18px);color:rgba(255,255,255,0.5);max-width:520px;line-height:1.9;opacity:0;transform:translateY(20px);}
.page-contact .hero-floats{position:absolute;right:calc(80 * var(--vw));top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:16px;align-items:flex-end;}
.page-contact .float-pill{display:flex;align-items:center;gap:12px;padding:14px 24px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:60px;color:rgba(255,255,255,0.75);font-size:18px;letter-spacing:0.5px;backdrop-filter:blur(8px);opacity:0;transform:translateX(40px);transition:background 0.3s,border-color 0.3s;cursor:default;}
.page-contact .float-pill:hover{background:rgba(252,210,0,0.08);border-color:rgba(252,210,0,0.2);}
.page-contact .float-pill svg{width:18px;height:18px;stroke:var(--color-accent);fill:none;stroke-width:1.5;flex-shrink:0;}
.page-contact .hero-scroll-hint{position:absolute;bottom:40px;left:calc(80 * var(--vw));z-index:10;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:3px;color:rgba(255,255,255,0.3);text-transform:uppercase;opacity:0;}
.page-contact .hero-scroll-hint .scroll-line{width:40px;height:1px;background:rgba(255,255,255,0.2);position:relative;overflow:hidden;}
.page-contact .hero-scroll-hint .scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-accent);animation:scrollLineMove 2s ease-in-out infinite;}

/* ===== page_contact.html INQUIRY MODAL ===== */
body.modal-open{overflow:hidden !important;}
.inquiry-modal{position:fixed;inset:0;z-index:9999;display:none;background:rgba(0,0,0,0.5);}
.inquiry-modal.active{display:block;}
.inquiry-modal-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:820px;height:75vh;overflow-y:auto;background:var(--color-dark);border-radius:20px;padding:48px 44px;box-shadow:0 32px 100px rgba(0,0,0,0.4);-webkit-overflow-scrolling:touch;}
.inquiry-modal-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,0.1);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.2s;z-index:10;}
.inquiry-modal-close:hover{background:rgba(255,255,255,0.2);transform:rotate(90deg);}
.inquiry-modal .conv-form-section{padding:0;background:transparent;overflow:visible;}
.inquiry-modal .conv-step{opacity:1 !important;visibility:visible !important;transform:none !important;}
.inquiry-trigger{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:var(--color-accent);color:#111;border-radius:60px;font-weight:600;cursor:pointer;border:none;transition:transform 0.2s,box-shadow 0.2s;}
.inquiry-trigger:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(252,210,0,0.3);}
.conv-step-submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.conv-submit:disabled{opacity:0.7;cursor:not-allowed;}
.conv-form-msg{font-size:14px;margin:0;transition:opacity 0.3s;}
.conv-form-msg.success{color:#4ade80;}
.conv-form-msg.error{color:#f87171;}
@media (max-width:768px){.inquiry-modal-inner{padding:36px 22px;width:calc(100% - 32px);height:70vh;}}
/** end page_contact.html **/

/**  list-product.html **/
/* ===== BREADCRUMB ===== */
.breadcrumb { width:100%; padding:calc(20 * var(--vw)) calc(60 * var(--vw)); font-size:14px; color:var(--color-text-muted); background:#fafafa; border-bottom:1px solid #f0f0f0; }
.breadcrumb a { color:var(--color-primary); text-decoration:none; }
.breadcrumb.warp{width: calc(1587 * var(--vw));padding:calc(20 * var(--vw)) calc(0 * var(--vw)); }
/* ===== MAIN LAYOUT ===== */
.main-layout { display:grid; grid-template-columns:20vw 1fr; gap:calc(40 * var(--vw)); padding:calc(60 * var(--vw)) calc(60 * var(--vw)); max-width:1920px; margin:0 auto; }
/* ===== SIDEBAR ===== */
.sidebar { position:sticky; top:100px; align-self:start;    width: 20vw; }
.sidebar-title { font-size:calc(22 * var(--vw)); font-weight:600; color:var(--color-primary); padding-bottom:calc(16 * var(--vw)); border-bottom:3px solid var(--color-accent); margin-bottom:calc(20 * var(--vw)); }
.category-list { list-style:none; }
.category-list li { margin-bottom:4px; }
.category-list a { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; color:var(--color-text); text-decoration:none; font-size:15px; border-radius:8px; transition:all 0.2s; border:1px solid rgba(37, 33, 104, 0.1);; }
.category-list a:hover,.category-list li.ac a { background:rgba(37, 33, 104, 0.04); border-color:rgba(37, 33, 104, 0.08); }
.category-list a.active { background:var(--color-primary); color:white; border-color:var(--color-primary); }
.category-count { font-size:12px; background:rgba(37,33,104,0.08); padding:2px 8px; border-radius:10px; color:var(--color-text-muted); }
.category-list a.active .category-count { background:rgba(255,255,255,0.2); color:white; }
/* Sidebar CTA */
.sidebar-cta { margin-top:calc(30 * var(--vw)); background:linear-gradient(135deg, var(--color-primary), #3a34a0); border-radius:12px; padding:calc(28 * var(--vw)); color:white; text-align:center; }
.sidebar-cta h4 { font-size:calc(17 * var(--vw)); font-weight:600; margin-bottom:calc(10 * var(--vw)); }
.sidebar-cta p { font-size:13px; color:rgba(255,255,255,0.7); margin-bottom:calc(16 * var(--vw)); line-height:1.6; }
.sidebar-cta-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 24px; background:var(--color-accent); color:var(--color-primary); border:none; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; transition:transform 0.2s; }
.sidebar-cta-btn:hover { transform:translateY(-2px); }
/* ===== PRODUCT AREA ===== */
.product-area { }
.product-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:calc(30 * var(--vw)); }
.product-header-left { display:flex; align-items:center; gap:12px; }
.product-header h2 { font-size:calc(28 * var(--vw)); font-weight:500; }
.product-count { font-size:14px; color:var(--color-text-muted); background:#f5f5f5; padding:4px 12px; border-radius:20px; }
.product-sort { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--color-text-muted); }
.product-sort select { padding:8px 14px; border:1px solid #e0e0e0; border-radius:6px; font-size:14px; color:var(--color-text); background:white; cursor:pointer; }
/* ===== PRODUCT GRID ===== */
.product-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:calc(24 * var(--vw)); }
.product-card { background:white; border:1px solid #f0f0f0; border-radius:12px; overflow:hidden; transition:transform 0.3s, box-shadow 0.3s; cursor:pointer; }
.product-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(37,33,104,0.1); }
.product-thumb { width:100%;  background:linear-gradient(135deg, #f8f7fc, #eeecf7); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.product-thumb::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg, transparent 60%, rgba(37,33,104,0.03) 100%); }
.product-thumb-icon { font-size:56px; opacity:0.6; }
.product-badge { position:absolute; top:12px; left:12px; background:var(--color-accent); color:var(--color-primary); font-size:11px; font-weight:600; padding:4px 10px; border-radius:4px; z-index:2; }
.product-info { padding:calc(20 * var(--vw)); }
.product-category-tag { font-size:12px; color:var(--color-primary); background:rgba(37,33,104,0.06); padding:3px 10px; border-radius:4px; display:inline-block; margin-bottom:8px; }
.product-name { font-size:calc(17 * var(--vw)); font-weight:600; color:var(--color-text); margin-bottom:6px; line-height:1.4; }
.product-desc { font-size:calc(13 * var(--vw)); color:var(--color-text-muted); line-height:1.6; margin-bottom:12px; }
.product-features { display:flex; gap:8px; flex-wrap:wrap; }
.product-feature { font-size:11px; color:var(--color-text-light); background:#f8f8f8; padding:3px 8px; border-radius:3px; }
.product-action { display:flex; align-items:center; justify-content:space-between; padding:0 calc(20 * var(--vw)) calc(20 * var(--vw)); }
.product-link { font-size:13px; color:var(--color-primary); text-decoration:none; font-weight:500; display:flex; align-items:center; gap:4px; transition:gap 0.2s; }
.product-link:hover { gap:8px; }
.product-inquiry { font-size:12px; color:var(--color-primary); background:rgba(37,33,104,0.06); border:none; padding:6px 14px; border-radius:4px; cursor:pointer; font-weight:500; transition:background 0.2s; }
.product-inquiry:hover { background:var(--color-primary); color:white; }
/* ===== PAGINATION ===== */
.pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:calc(50 * var(--vw)); }
.pagination a,.pagination span { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:8px; font-size:14px; text-decoration:none; transition:all 0.2s; border:1px solid #e0e0e0; color:var(--color-text); }
.pagination a:hover { border-color:var(--color-primary); color:var(--color-primary); }
.pagination .active { background:var(--color-primary); color:white; border-color:var(--color-primary); }
.pagination .prev,.pagination .next { width:auto; padding:0 16px; font-size:13px; }
/* ===== CTA SECTION ===== */
.cta-section { background:var(--color-accent); padding:calc(60 * var(--vw)) calc(60 * var(--vw)); display:flex; align-items:center; justify-content:space-between; margin-top:calc(60 * var(--vw)); }
.cta-text { font-size:calc(28 * var(--vw)); font-weight:500; color:var(--color-primary); }
.cta-btn { display:inline-flex; align-items:center; gap:8px; padding:calc(16 * var(--vw)) calc(40 * var(--vw)); background:var(--color-primary); color:white; border:none; border-radius:8px; font-size:calc(16 * var(--vw)); font-weight:500; cursor:pointer; text-decoration:none; transition:transform 0.2s, box-shadow 0.2s; }
.cta-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,33,104,0.3); }
/* ===== RESPONSIVE ===== */
@media (max-width:1024px) { .main-layout { grid-template-columns:1fr; } .sidebar { position:static; } .product-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:768px) { .product-grid { grid-template-columns:1fr; } .cta-section { flex-direction:column; text-align:center; gap:20px; } .footer-grid { grid-template-columns:1fr 1fr; } }
/** end list-product.html **/

/** start list-news.html  **/
/* ===== NEWS AREA ===== */
.news-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: calc(30 * var(--vw)); }
.news-header-left { display: flex; align-items: center; gap: 12px; }
.news-header h2 { font-size: calc(28 * var(--vw)); font-weight: 500; }
.news-count { font-size: 14px; color: var(--color-text-muted); background: #f5f5f5; padding: 4px 12px; border-radius: 20px; }
.news-filter { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--color-text-muted); }
.news-filter select { padding: 8px 14px; border: 1px solid #e0e0e0; border-radius: 6px; font-size: 14px; color: var(--color-text); background: white; cursor: pointer; }
/* ===== NEWS LIST ===== */
.news-list { display: flex; flex-direction: column; gap: calc(24 * var(--vw)); }
.news-card { display: grid; grid-template-columns: 280px 1fr; gap: calc(28 * var(--vw)); background: white; border: 1px solid #f0f0f0; border-radius: 12px; overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; text-decoration: none; color: inherit; }
.news-card:hover { transform: translateY(-6px); box-shadow: 0 16px 48px rgba(37,33,104,0.1); }
.news-thumb { width: 100%; aspect-ratio: 16/10; background: linear-gradient(135deg, #f8f7fc, #eeecf7); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.news-thumb::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg, transparent 60%, rgba(37,33,104,0.03) 100%); }
.news-thumb-icon { font-size: 48px; opacity: 0.5; }
.news-badge { position: absolute; top: 12px; left: 12px; background: var(--color-accent); color: var(--color-primary); font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 4px; z-index: 2; }
.news-body { padding: calc(24 * var(--vw)) calc(24 * var(--vw)) calc(24 * var(--vw)) 0; display: flex; flex-direction: column; justify-content: center; }
.news-meta { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; font-size: 13px; color: var(--color-text-light); }
.news-category { color: var(--color-primary); font-weight: 600; }
.news-title { font-size: calc(20 * var(--vw)); font-weight: 600; color: var(--color-text); margin-bottom: 10px; line-height: 1.4; transition: color 0.2s; }
.news-card:hover .news-title { color: var(--color-primary); }
.news-desc { font-size: calc(14 * var(--vw)); color: var(--color-text-muted); line-height: 1.7; margin-bottom: 16px; }
.news-action { display: flex; align-items: center; gap: 4px; font-size: 13px; color: var(--color-primary); font-weight: 500; transition: gap 0.2s; }
.news-card:hover .news-action { gap: 8px; }
/* ===== PAGINATION ===== */
.pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: calc(50 * var(--vw)); }
.pagination a, .pagination span { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; font-size: 14px; text-decoration: none; transition: all 0.2s; border: 1px solid #e0e0e0; color: var(--color-text); }
.pagination a:hover { border-color: var(--color-primary); color: var(--color-primary); }
.pagination .active { background: var(--color-primary); color: white; border-color: var(--color-primary); }
.pagination .prev, .pagination .next { width: auto; padding: 0 16px; font-size: 13px; }
/* ===== CTA SECTION ===== */
.cta-section { background: var(--color-accent); padding: calc(60 * var(--vw)) calc(60 * var(--vw)); display: flex; align-items: center; justify-content: space-between; margin-top: calc(60 * var(--vw)); }
.cta-text { font-size: calc(28 * var(--vw)); font-weight: 500; color: var(--color-primary); }
.cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: calc(16 * var(--vw)) calc(40 * var(--vw)); background: var(--color-primary); color: white; border: none; border-radius: 8px; font-size: calc(16 * var(--vw)); font-weight: 500; cursor: pointer; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,33,104,0.3); }
/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) { .main-layout { grid-template-columns: 1fr; } .sidebar { position: static; } .news-card { grid-template-columns: 1fr; } .news-body { padding: calc(24 * var(--vw)); } .news-thumb { aspect-ratio: 16/9; } }
@media (max-width: 768px) { .cta-section { flex-direction: column; text-align: center; gap: 20px; } .footer-grid { grid-template-columns: 1fr 1fr; } .news-header { flex-direction: column; align-items: flex-start; gap: 12px; } }

/** end list-news.html **/

/** start show-news.html  **/
/* ===== ARTICLE ===== */
.article { background:white; border:1px solid #f0f0f0; border-radius:12px; overflow:hidden; }
.article-header { padding:calc(40 * var(--vw)); border-bottom:1px solid #f0f0f0; }
.article-category { display:inline-block; background:var(--color-primary); color:white; font-size:12px; font-weight:600; padding:5px 12px; border-radius:4px; margin-bottom:16px; }
.article-title { font-size:calc(32 * var(--vw)); font-weight:600; line-height:1.4;text-align:center; color:var(--color-text); margin-bottom:20px; }
.article-meta { justify-content: center;display:flex; align-items:center; gap:20px; font-size:14px; color:var(--color-text-light); flex-wrap:wrap; }
.article-meta span { display:inline-flex; align-items:center; gap:6px; }
.article-featured { width:100%; aspect-ratio:16/7; background:linear-gradient(135deg, #f8f7fc, #eeecf7); display:flex; align-items:center; justify-content:center; position:relative; }
.article-featured-icon { font-size:80px; opacity:0.4; }
.article-body { padding:calc(40 * var(--vw)); font-size:calc(16 * var(--vw)); line-height:1.9; color:var(--color-text); }
.article-body p { margin-bottom:calc(24 * var(--vw)); }
.article-body h3 { font-size:calc(22 * var(--vw)); font-weight:600; color:var(--color-primary); margin:calc(32 * var(--vw)) 0 calc(16 * var(--vw)); }
.article-body strong { color:var(--color-primary); font-weight:600; }
.article-body ul { margin-bottom:calc(24 * var(--vw)); padding-left:24px; }
.article-body li { margin-bottom:10px; }
.article-quote { background:#fafafa; border-left:4px solid var(--color-accent); padding:calc(24 * var(--vw)); margin:calc(32 * var(--vw)) 0; border-radius:0 12px 12px 0; font-size:calc(18 * var(--vw)); color:var(--color-text-muted); font-style:italic; }
.article-footer { padding:calc(24 * var(--vw)) calc(40 * var(--vw)); border-top:1px solid #f0f0f0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.article-tags { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.article-tags span { font-size:13px; color:var(--color-text-muted); }
.article-tag { font-size:12px; color:var(--color-primary); background:rgba(37,33,104,0.06); padding:5px 12px; border-radius:20px; text-decoration:none; transition:background 0.2s; }
.article-tag:hover { background:rgba(37,33,104,0.12); }
.article-share { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--color-text-muted); }
.share-btn { width:32px; height:32px; border-radius:50%; border:1px solid #e0e0e0; background:white; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s; font-size:13px; }
.share-btn:hover { background:var(--color-primary); color:white; border-color:var(--color-primary); }
/* Article Navigation */
.article-nav { display:grid; grid-template-columns:1fr 1fr; gap:calc(24 * var(--vw)); margin-top:calc(40 * var(--vw)); }
.article-nav-item { background:white; border:1px solid #f0f0f0; border-radius:12px; padding:calc(24 * var(--vw)); text-decoration:none; color:inherit; transition:transform 0.3s, box-shadow 0.3s; }
.article-nav-item:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(37,33,104,0.08); }
.article-nav-label { font-size:12px; color:var(--color-text-light); margin-bottom:8px; }
.article-nav-title { font-size:calc(16 * var(--vw)); font-weight:600; color:var(--color-text); line-height:1.5; }
.article-nav-item.next { text-align:right; }
/* Related News */
.related-news { margin-top:calc(60 * var(--vw)); }
.related-title { font-size:calc(22 * var(--vw)); font-weight:600; color:var(--color-primary); margin-bottom:calc(24 * var(--vw)); padding-bottom:calc(12 * var(--vw)); border-bottom:2px solid var(--color-accent); }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:calc(24 * var(--vw)); }
.related-card { background:white; border:1px solid #f0f0f0; border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; transition:transform 0.3s, box-shadow 0.3s; }
.related-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(37,33,104,0.1); }
.related-thumb { width:100%; aspect-ratio:16/10; background:linear-gradient(135deg, #f8f7fc, #eeecf7); display:flex; align-items:center; justify-content:center; }
.related-thumb-icon { font-size:40px; opacity:0.5; }
.related-body { padding:calc(20 * var(--vw)); }
.related-date { font-size:12px; color:var(--color-text-light); margin-bottom:8px; }
.related-card-title { font-size:calc(16 * var(--vw)); font-weight:600; line-height:1.5; color:var(--color-text); transition:color 0.2s; }
.related-card:hover .related-card-title { color:var(--color-primary); }
/* ===== CTA SECTION ===== */
.cta-section { background:var(--color-accent); padding:calc(60 * var(--vw)) calc(60 * var(--vw)); display:flex; align-items:center; justify-content:space-between; margin-top:calc(60 * var(--vw)); }
.cta-text { font-size:calc(28 * var(--vw)); font-weight:500; color:var(--color-primary); }
.cta-btn { display:inline-flex; align-items:center; gap:8px; padding:calc(16 * var(--vw)) calc(40 * var(--vw)); background:var(--color-primary); color:white; border:none; border-radius:8px; font-size:calc(16 * var(--vw)); font-weight:500; cursor:pointer; text-decoration:none; transition:transform 0.2s, box-shadow 0.2s; }
.cta-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,33,104,0.3); }
/* ===== FOOTER ===== */
.footer { background:#0a0a0a; color:rgba(255,255,255,0.6); padding:calc(60 * var(--vw)) calc(60 * var(--vw)) calc(30 * var(--vw)); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:calc(40 * var(--vw)); margin-bottom:calc(40 * var(--vw)); }
.footer-brand { font-size:calc(18 * var(--vw)); font-weight:600; color:white; margin-bottom:calc(12 * var(--vw)); }
.footer-desc { font-size:14px; line-height:1.8; }
.footer-title { font-size:calc(16 * var(--vw)); color:white; font-weight:500; margin-bottom:calc(16 * var(--vw)); }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:10px; }
.footer-links a { color:rgba(255,255,255,0.5); text-decoration:none; font-size:14px; transition:color 0.2s; }
.footer-links a:hover { color:var(--color-accent); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:calc(20 * var(--vw)); font-size:13px; display:flex; justify-content:space-between; }

/** end show-news.html  **/

/* ===== PRODUCT DETAIL PAGE — ABOUT STYLE ===== */
.show-product #main.page { padding: calc(60 * var(--vw)) 0; }
.show-product .breadcrumb { width: 100%; max-width: 1580px; margin: 0 auto calc(40 * var(--vw)); font-size: calc(14 * var(--vw)); color: var(--color-text-muted); }
.show-product .breadcrumb a { color: var(--color-text-muted); transition: color 0.2s; }
.show-product .breadcrumb a:hover { color: var(--color-primary); }
.show-product .breadcrumb span { color: var(--color-dark); font-weight: 500; }

.product-detail-layout { width: 94% !important; max-width: 1580px !important; margin: 0 auto !important; padding: 0 !important; }
.product-detail-layout .l { width: calc(280 * var(--vw)); flex-shrink: 0; }
.product-detail-layout .r { flex: 1; min-width: 0; }

/* Product Hero — manifesto/origin split style */
.product-hero { display: grid; grid-template-columns: 1fr 1fr; gap: calc(60 * var(--vw)); align-items: center; margin-bottom: calc(80 * var(--vw)); }
.product-hero-left { display: flex; flex-direction: column; justify-content: center; }
.product-hero-left .section-label { margin-bottom: calc(24 * var(--vw)); }
.product-hero-title { font-size: clamp(32px, calc(44 * var(--vw)), 56px); font-weight: 200; line-height: 1.15; letter-spacing: -1px; color: var(--color-dark); margin-bottom: calc(20 * var(--vw)); }
.product-hero-title strong { font-weight: 700; color: var(--color-primary); }
.product-hero-subtitle { font-size: calc(17 * var(--vw)); color: var(--color-text-muted); line-height: 1.7; margin-bottom: calc(32 * var(--vw)); max-width: 520px; }
/* Product hero right — clean gallery */
.product-hero-right { background: #fff; border: 1px solid #f0f0f0; border-radius: 20px; display: flex; flex-direction: column; position: relative; overflow: hidden; padding: calc(20 * var(--vw)); box-shadow: 0 4px 24px rgba(37,33,104,0.04); }

/* Product gallery */
.product-gallery { display: flex; flex-direction: column-reverse; gap: calc(24 * var(--vw)); height: 100%; }
.product-gallery-main { flex: 1; position: relative; display: flex; align-items: center; justify-content: center; background: #fafafa; border-radius: 12px; min-height: calc(360 * var(--vw)); }
.product-gallery-main .swiper { width: 100%; height: 100%; }
.product-gallery-main .swiper-wrapper { align-items: center; }
.product-gallery-main .swiper-slide { display: flex; align-items: center; justify-content: center; }
.product-gallery-main .swiper-slide a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.product-gallery-main img { max-height: 100%; max-width: 100%; object-fit: contain; transition: transform 0.4s ease; }
.product-gallery-main .swiper-slide:hover img { transform: scale(1.02); }
.image-counter { position: absolute; top: calc(16 * var(--vw)); left: calc(16 * var(--vw)); background: #fff; color: var(--color-text-muted); padding: calc(6 * var(--vw)) calc(12 * var(--vw)); border-radius: 4px; font-size: calc(12 * var(--vw)); font-weight: 500; z-index: 2; border: 1px solid #eee; }
.image-counter .current { color: var(--color-dark); font-weight: 600; }
.image-zoom { position: absolute; bottom: calc(16 * var(--vw)); right: calc(16 * var(--vw)); width: calc(40 * var(--vw)); height: calc(40 * var(--vw)); min-width: 34px; min-height: 34px; background: #fff; border: 1px solid #eee; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); z-index: 2; transition: all 0.25s ease; cursor: pointer; }
.image-zoom:hover { border-color: var(--color-primary); color: var(--color-primary); }
.gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); width: calc(40 * var(--vw)); height: calc(40 * var(--vw)); min-width: 34px; min-height: 34px; background: #fff; border: 1px solid #eee; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-text-muted); z-index: 2; cursor: pointer; transition: all 0.25s ease; font-size: calc(16 * var(--vw)); opacity: 0; }
.product-gallery-main:hover .gallery-nav { opacity: 1; }
.gallery-nav:hover { border-color: var(--color-primary); color: var(--color-primary); }
.gallery-prev { left: calc(16 * var(--vw)); }
.gallery-next { right: calc(16 * var(--vw)); }
.product-gallery-thumbs { width: 100%; }
.product-gallery-thumbs .swiper { padding: calc(4 * var(--vw)) 0; }
.product-gallery-thumbs .swiper-wrapper { justify-content: center; }
.product-gallery-thumbs .swiper-slide { width: calc(80 * var(--vw)) !important; height: calc(80 * var(--vw)) !important; min-height: 60px; border-radius: 8px; overflow: hidden; cursor: pointer; transition: all 0.2s ease; opacity: 1; background: #fff; border: 1px solid #ececf1; display: flex; align-items: center; justify-content: center; position: relative; }
.product-gallery-thumbs .swiper-slide::after { content: none; }
.product-gallery-thumbs .swiper-slide-thumb-active { border-color: var(--color-primary); background: #fff; }
.product-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }

/* Hero actions */
.product-hero-actions { display: flex; gap: calc(16 * var(--vw)); flex-wrap: wrap; }
.product-hero-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: calc(16 * var(--vw)) calc(36 * var(--vw)); border-radius: 60px; font-size: calc(15 * var(--vw)); font-weight: 700; letter-spacing: 1px; transition: transform 0.3s, box-shadow 0.3s; }
.product-hero-actions a:first-child { background: var(--color-primary); color: white; box-shadow: 0 8px 24px rgba(37,33,104,0.25); }
.product-hero-actions a:first-child:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(37,33,104,0.35); }
.product-hero-actions a:last-child { background: transparent; color: var(--color-primary); border: 1px solid var(--color-primary); }
.product-hero-actions a:last-child:hover { background: var(--color-primary); color: white; }

/* Product meta cards — origin-card style */
.product-meta-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(16 * var(--vw)); margin-bottom: calc(40 * var(--vw)); }
.product-meta-card { background: var(--color-primary); color: white; padding: calc(28 * var(--vw)); border-radius: 16px; }
.product-meta-card.accent { background: var(--color-accent); color: var(--color-primary); }
.product-meta-card-label { font-size: 13px; opacity: 0.7; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 2px; }
.product-meta-card.accent .product-meta-card-label { opacity: 0.8; }
.product-meta-card-value { font-size: calc(22 * var(--vw)); font-weight: 600; }

/* Parameters — dna-grid style */
.product-params-section { border-radius: 20px; margin-bottom: calc(80 * var(--vw)); }
.product-params-section .section-header { margin-bottom: calc(40 * var(--vw)); text-align: center; }
.product-params-section .section-header h2 { font-size: clamp(32px, calc(44 * var(--vw)), 52px); font-weight: 200; letter-spacing: -1px; color: var(--color-dark); }
.product-params-section .section-header h2 strong { font-weight: 700; color: var(--color-primary); }
/* 复刻图片参数表样式 */
.product-params-section {width: 100%;margin: 16px 0;font-family: "Microsoft Yahei", sans-serif;}
.product-params-grid {display: flex;flex-direction: column;border-top: 2px solid #222;}
.product-param-card {display: flex;border-bottom: 1px solid #333;}
.product-param-card:last-child {border-bottom: none;}
.product-param-label {width: 160px;padding: 10px 8px;font-size: 20px;color: #000;font-weight: 500;}
[lang="en"] .product-param-label {    font-size: 14px;}
[lang="en"]  .product-param-value{    font-size: 14px;}
.product-param-value {flex: 1;padding: 10px 8px;font-size: 22px;color: #000;text-align: right;}
/* Description / Details — manifesto style */
.product-content-section { margin-bottom: calc(80 * var(--vw)); }
.product-content-section .section-label { margin-bottom: calc(20 * var(--vw)); }
.product-content-section h2 { font-size: clamp(32px, calc(40 * var(--vw)), 48px); font-weight: 200; line-height: 1.2; letter-spacing: -1px; color: var(--color-dark); margin-bottom: calc(32 * var(--vw)); }
.product-content-section h2 strong { font-weight: 700; color: var(--color-primary); }
.product-content-body { font-size: calc(16 * var(--vw)); line-height: 1.9; color: var(--color-text-muted); }
.product-content-body p { margin-bottom: calc(24 * var(--vw)); }
.product-content-body img { max-width: 100%; height: auto; border-radius: 12px; }
.product-content-body.descimg { text-align: center; }
.product-content-body.descimg img { display: inline-block; }

/* Related products — industries style */
.product-related-section { margin-bottom: calc(80 * var(--vw)); }
.product-related-header { margin-bottom: calc(48 * var(--vw)); display: flex; justify-content: space-between; gap: calc(60 * var(--vw)); align-items: end; }
.product-related-header h2 { font-size: clamp(32px, calc(40 * var(--vw)), 48px); font-weight: 200; letter-spacing: -1px; color: var(--color-dark); }
.product-related-header h2 strong { font-weight: 700; color: var(--color-primary); }
.product-related-header p { font-size: 14px; line-height: 1.8; color: var(--color-text-muted); max-width: 400px; }
.likeproduct-slider .swiper-slide a { display: block; }
.likeproduct-slider .tab-contents { background: white; border-radius: 12px; overflow: hidden; border: 1px solid #e8e8e8; transition: all 0.3s ease; }
.likeproduct-slider .tab-contents:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(37,33,104,0.12); border-color: var(--color-primary); }
.likeproduct-slider .aspect- { background: #f8f8f8; padding: calc(20 * var(--vw)); aspect-ratio: 1/1; }
.likeproduct-slider .aspect- img { transition: transform 0.5s ease; }
.likeproduct-slider .tab-contents:hover .aspect- img { transform: scale(1.05); }
.likeproduct-slider .text { font-size: calc(15 * var(--vw)); font-weight: 600; color: var(--color-dark); padding: calc(16 * var(--vw)); text-align: left; }
.swiper-pagination-likeproduct .swiper-pagination-bullet { background: #ddd; opacity: 1; }
.swiper-pagination-likeproduct .swiper-pagination-bullet-active { background: var(--color-primary) !important; }

/* CTA — page-about cta style */
.product-detail-cta { padding: calc(80 * var(--vw)) calc(60 * var(--vw)); background: var(--color-accent); text-align: center; position: relative; overflow: hidden; border-radius: 20px; }
.product-detail-cta::before { content: 'ZHENRUI'; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: clamp(120px, 16vw, 280px); font-weight: 900; color: rgba(37,33,104,0.05); white-space: nowrap; pointer-events: none; }
.product-detail-cta-text { position: relative; z-index: 1; font-size: clamp(28px, calc(40 * var(--vw)), 52px); font-weight: 300; color: var(--color-primary); line-height: 1.4; margin-bottom: calc(40 * var(--vw)); }
.product-detail-cta-text strong { font-weight: 700; }
.product-detail-cta-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 12px; padding: calc(18 * var(--vw)) calc(48 * var(--vw)); background: var(--color-primary); color: white; border-radius: 60px; font-size: calc(16 * var(--vw)); font-weight: 700; letter-spacing: 1px; transition: transform 0.3s, box-shadow 0.3s; }
.product-detail-cta-btn:hover { transform: translateY(-3px); box-shadow: 0 16px 50px rgba(37,33,104,0.35); }

/*** 富文本编辑器 table**/
.rich-text table {width: 100% !important;border-collapse: collapse;table-layout: fixed;margin: 1rem auto;}
.rich-text table caption {font-size: 16px;margin-bottom: 8px;font-weight: 500;text-align: center;}
.rich-text table td {padding: 10px 8px;border: 1px solid #ddd;word-break: break-all;vertical-align: top;text-align: center;width:20% !important;}
.rich-text table tr.firstRow td {background-color: #f8f9fa;font-weight: 500;}
@media (max-width:768px) {
  .rich-text table {display: block;overflow-x: auto;}
}

/* ==================================================================
   手机端适配合并块 (max-width: 768px)
   由尾部多个补丁媒体块合并而来；位于文件最末尾，桌面端规则均在前，
   同优先级按源顺序即可获胜，故仅保留对抗 JS/内联/twind 同等优先级所必需的 !important。
   ================================================================== */
@media screen and (max-width: 768px) {
  /* ---- 基础容器 ---- */
  .warp {
    width: 95%;
    min-width: auto;
    margin: 0 auto;
  }
  body {
    padding-bottom: 64px;
    --swiper-navigation-size: 14px;
  }
  #app {
    padding-top: 60px;
  }

  /* ---- 媒体与表格不越界 ---- */
  img, video, iframe, svg, table { max-width: 100%; }
  .article-body img, .product-content img { height: auto; }
  .article-body table, .product-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .article-body, .product-content { overflow-wrap: break-word; }

  /* ---- 栅格降列：多列栅格变两列，卡片列表整行100%宽 ---- */
  [class*="grid-cols-"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .product-grid, .news-list { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 1fr; }
  .news-card .news-body { padding: calc(20 * var(--vw)); }

  /* ---- 触摸目标 ≥44px ---- */
  button, [type="button"], [type="submit"], input, select, textarea { min-height: 44px; }
  .btn, .pages a, .pages span, .pagination a, .pagination span,
  .product-inquiry, .sidebar-cta-btn, .cta-btn, .conv-submit, .simon-btn, .mn-cta-btn { min-height: 44px; }
  .search .pages a, .search .pages span { min-width: 44px; height: 44px; }
  * { -webkit-tap-highlight-color: transparent; }
  html { -webkit-text-size-adjust: 100%; }

  /* ---- 产品详情页 — 关于我们风格手机端 ---- */
  .show-product #main.page { padding: 30px 0; }
  .show-product .breadcrumb { width: 95%; margin-bottom: 20px; font-size: 13px; }
  .product-detail-layout { width: 95% !important; }
  .product-hero { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .product-hero-title { font-size: 28px; margin-bottom: 12px; }
  .product-hero-subtitle { font-size: 14px; margin-bottom: 20px; }
  .product-hero-right { padding: 16px; border-radius: 16px; }
  .product-gallery { flex-direction: column-reverse; gap: 10px; }
  .product-gallery-main { min-height: 280px; border-radius: 12px; }
  .product-gallery-main .swiper-slide { padding: 16px; }
  .product-gallery-main img { max-height: 100%; }
  .product-gallery-thumbs .swiper { padding: 0; }
  .product-gallery-thumbs .swiper-slide { width: 64px !important; height: 64px !important; min-height: auto; }
  .image-counter { top: 12px; left: 12px; padding: 4px 8px; font-size: 11px; }
  .image-zoom { bottom: 12px; right: 12px; width: 34px; height: 34px; }
  .gallery-nav { width: 34px; height: 34px; font-size: 14px; opacity: 1; }
  .gallery-prev { left: 12px; }
  .gallery-next { right: 12px; }
  .product-hero-actions { flex-direction: column; gap: 12px; }
  .product-hero-actions a { width: 100%; padding: 12px 24px; font-size: 14px; }
  .product-meta-cards { grid-template-columns: 1fr; gap: 12px; margin-bottom: 30px; }
  .product-meta-card { padding: 20px; }
  .product-meta-card-value { font-size: 18px; }
  .product-params-section { padding: 30px 0px; border-radius: 16px; margin-bottom: 40px; }
  .product-params-section .section-header { margin-bottom: 24px; }
  .product-params-section .section-header h2 { font-size: 24px; }
  .product-params-grid { grid-template-columns: 1fr; }
  .product-param-card { padding: 20px; }
  .product-param-value { font-size: 16px; }
  .product-content-section { margin-bottom: 40px; }
  .product-content-section h2 { font-size: 24px; margin-bottom: 20px; }
  .product-content-body { font-size: 14px; }
  .product-content-body p { margin-bottom: 16px; }
  .product-related-section { margin-bottom: 40px; }
  .product-related-header { flex-direction: column; gap: 12px; align-items: flex-start; margin-bottom: 24px; }
  .product-related-header h2 { font-size: 24px; }
  .product-related-header p { font-size: 13px; }
  .likeproduct-slider .aspect- { padding: 12px; }
  .likeproduct-slider .text { font-size: 8px; padding: 12px; }
  .product-detail-cta { padding: 48px 20px; border-radius: 16px; }
  .product-detail-cta-text { font-size: 22px; margin-bottom: 20px; }
  .product-detail-cta-btn { padding: 12px 28px; font-size: 14px; }

  /* ---- 侧栏与列表布局 ---- */
  .main-layout { grid-template-columns: 1fr; padding: 24px 16px; }
  .breadcrumb { padding-left: calc(16 * var(--vw)); padding-right: calc(16 * var(--vw)); }

  .sidebar { width: 100%; position: static; }
  .category-list { display: flex; flex-wrap: wrap; gap: 8px; }
  .category-list li { width: auto; }
  .category-list li a {font-size: 9px; white-space: nowrap; display: inline-block; padding: 8px 14px; border: 1px solid #e5e5e5; border-radius: 999px; }
  .category-list li.ac a, .category-list li a.active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
  .product-header h2 { font-size: 20px; }
  .product-count { font-size: 12px; }

  /* ---- 产品详情页：产品内容优先，侧栏（分类+CTA）沉底并精简 ---- */
  .show-product .product-detail-layout > .flex { flex-direction: column-reverse; }
  .show-product [class*="90vw-358"] { width: 100% !important; }
  .show-product .sidebar { margin-top: 8px; }
  .show-product .sidebar-title { font-size: 17px; padding-bottom: 10px; margin-bottom: 14px; }
  .show-product .sidebar-cta { padding: 18px 16px; margin-top: 14px; border-radius: 10px; }
  .show-product .sidebar-cta h4 { font-size: 15px; margin-bottom: 6px; }
  .show-product .sidebar-cta p { font-size: 12px; margin-bottom: 10px; }
  .show-product .sidebar-cta-btn { padding: 8px 20px; font-size: 13px; }
  /* 黄色"咨询定制"卡与页面底部大 CTA 横幅重复，手机端隐藏 */
  .show-product .sidebar-cta[style] { display: none; }

  /* ---- 首页跑马灯：卡片按屏宽比例，不溢出 ---- */
  .marquee-inner { gap: calc(12 * var(--vw)); }
  .marquee-inner a.img { width: 66vw; height: auto; aspect-ratio: 444/558; }
  .marquee-inner a.img h2 { font-size: 14px; }

  /* ---- 首页 banner 图内嵌文字：往左对齐，避免标题被裁 ---- */
  .simon-img-wrap img { object-position: 5% center; }

  /* ---- banner：图区 2:1 高度整图展示；幻灯片绝对叠层，切换不错位 ---- */
  .simon-banner { height: auto; }
  .simon-slides { position: relative; aspect-ratio: 1920 / 959; }
  .simon-slide { position: absolute; inset: 0; }
  .simon-slide .simon-img-wrap { position: absolute; inset: 0; }
  .simon-slide .simon-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
  .simon-overlay { display: none; }
  .simon-slide .simon-content { display: none; }
  .simon-mobile-cta { display: none; }
  /* 精致化指示器：小号字距计数 + 细进度条 */
  .simon-footer { position: static; padding: 12px 16px 14px; color: #333; gap: 12px; }
  .simon-footer .simon-counter { font-size: 11px; letter-spacing: 1.5px; font-weight: 500; }
  .simon-footer .simon-current { color: var(--color-primary); font-weight: 700; }
  .simon-footer .simon-separator { color: #ccc; margin: 0 3px; }
  .simon-footer .simon-total { color: #aaa; }
  .simon-footer .simon-progress { background: rgba(0, 0, 0, 0.06); flex: 0 0 96px; max-width: 96px; height: 2px; border-radius: 2px; overflow: hidden; }
  .simon-footer .simon-progress-fill { background: var(--color-primary); height: 100%; }

  /* ---- 关于正锐：固定高度改自适应，文字通栏，数据条落地 ---- */
  .about-sec { height: auto !important; padding: 36px 16px 40px; background-attachment: scroll !important; }
  .about-sec .warp > div { width: 100%; padding-top: 0; }
  .about-sec > h3, .about-sec h3 { font-size: 12px; letter-spacing: 2px; }
  .about-sec .tit { padding: 12px 0 16px; }
  .about-sec .tit h2 { font-size: 24px; }
  .about-sec .tit h3 { font-size: 16px; }
  .about-sec .desc { font-size: 14px; line-height: 1.8; }
  .about-sec .btn { width: auto; min-width: 150px; height: 44px; margin-top: 24px; padding: 0 28px; font-size: 14px; }
  .about-sec .play {display: flex; justify-content: center; margin: 20px 0 0; top:53%}
  [lang='en'] .about-sec .play{top: 72%;}
  .about-sec .play-btn { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
  .about-sec .boxes { position: static; width: 100%; height: auto; border-radius: 0; margin-top: 20px; padding: 20px 16px;color:#fff; }
  .about-sec .boxes ul { flex-wrap: wrap; gap: 0; }
  .about-sec .boxes li { width: 48%; margin-bottom: 14px; gap: 10px; }
  .about-sec .boxes li img { width: 26px; height: 26px; margin-top: 4px; }
  .about-sec .boxes h4 { font-size: 26px; }
  .about-sec .boxes p { white-space: nowrap; font-size: 11px; margin-top: 4px; coor:#fff}

  /* ---- 热销产品：区块节奏 36/16/40，卡片标题 14、说明 12 ---- */
  .index-home section:has(> .warp > .pro-swiper) { padding: 36px 16px 40px; }
  .pro-swiper { margin-top: 8px !important; padding: 0 0 36px !important; }
  .pro-swiper .product-item .img { height: 150px; }
  .pro-swiper .product-item .img + div { height: auto; padding: calc(14 * var(--vw)); }
  .pro-swiper .product-item h4 { font-size: 12px; }
  .pro-swiper .product-item p { font-size: 12px; }

  /* ---- 黄蓝斜切区块：上下堆叠，紧凑节奏，22/20 标题，13 说明 ---- */
  .proc-sec { height: auto !important; flex-direction: column; margin-top: 0 !important; }
  .proc-sec .l { position: static; width: 100%; }
  .proc-sec .l > div:first-child { width: 100%; height: auto; padding: 28px 20px; clip-path: none; background-size: 45% auto; background-position: 90% 10px; }
  .proc-sec .l > div:first-child h3 { white-space: normal; word-break: keep-all; }
  .proc-sec .l > div:last-child { display: none; }
  .proc-sec .l h3 { font-size: 22px; }
  .proc-sec .l h4 { font-size: 13px; margin-top: 6px; }
  .proc-sec > div:last-child { width: 100%; margin-left: 0; height: auto; padding: 28px 20px; clip-path: none; }
  .proc-sec > div:last-child h3 { font-size: 20px; letter-spacing: 0; }
  .proc-sec > div:last-child h4 { font-size: 13px; margin-top: 6px; }
  .proc-sec .more { width: auto; min-width: 140px; height: 40px; margin-top: 16px; padding: 0 20px; font-size: 13px; }

  /* ---- 广告拼图：显式两列，大图通栏，小图等宽；文字沉底排版 ---- */
  .mosaic-sec { margin: 44px 0 !important; }
  .mosaic-sec .wrapper { height: auto; padding: 0 16px; }
  .mosaic-sec .grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .mosaic-sec .grid > div { min-height: 170px; padding: 22px 24px; display: flex; flex-direction: column; justify-content: flex-end; }
  .mosaic-sec .grid > div.col-span-2 { grid-column: span 2; grid-row: auto; min-height: 250px; }
  .mosaic-sec .grid > div h2 { font-size: 12px; font-weight: 500; letter-spacing: 2px; margin-bottom: 8px; opacity: 0.85; text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4); }
  .mosaic-sec .grid > div:not(.col-span-2) h2 { font-size: 17px; font-weight: 600; letter-spacing: 0; opacity: 1; margin-bottom: 6px; }
  .mosaic-sec .grid > div h3 { font-size: 20px; font-weight: 600; line-height: 1.4; padding: 0 0 10px; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4); }
  .mosaic-sec .grid > div > div { width: 100%; font-size: 13px; line-height: 1.8; color: rgba(255, 255, 255, 0.88); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45); }
  .mosaic-sec .grid .more, .mosaic-sec .grid a.more { font-size: 13px; margin-top: 14px; letter-spacing: 0.5px; text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45); }

  /* ---- 区块标题统一：12px 英文眉标 + 24px 中文标题 + 13px 副标 ---- */
  .index-home .title { margin-bottom: 24px; gap: 8px; }
  .index-home .title:has(p) p,
  .index-home .title:has(h3) h2 { font-size: 24px; font-weight: 600; line-height: 1.35; }
  .index-home .title:has(p) h2 { font-size: 12px; font-weight: 500; letter-spacing: 2px; color: #929292; }
  .index-home .title:has(h3) h3 { font-size: 13px; font-weight: 400; color: #666; }

  /* ---- 常用横排允许换行 ---- */
  .product-header, .news-header, .cta-section, .product-action,
  .product-hero-actions, .footer-grid, .footer-bottom { flex-wrap: wrap; }

  /* ---- 联系页 hero：隐藏悬浮信息 pill，标题文字直接呈现 ---- */
  .page-contact .hero-floats { display: none; }
  .page-contact .hero-title .char span { transform: none !important; opacity: 1 !important; }
  .page-contact .hero-title { font-size: 30px; }

  /* ---- 关于我们页 (page-about)：栅格塌缩 + 间距节奏 + 字号阶梯 ---- */
  .page-about .manifesto-left { position: relative; height: auto; padding: 40px 20px 16px; }
  .page-about .manifesto-left h2 { font-size: 28px; }
  .page-about .manifesto-right { padding: 0 20px 40px; min-height: auto; }
  .page-about .manifesto-text { font-size: 19px; line-height: 1.7; }
  .page-about .manifesto-word, .page-about .manifesto-text em { opacity: 1; }
  .page-about .manifesto-text em::after { height: 6px; bottom: 2px; }
  .page-about .manifesto-tag { margin-top: 16px; font-size: 13px; }
  .page-about .origin-left { position: relative; height: auto; padding: 40px 20px 8px; }
  .page-about .origin-left h2 { font-size: 26px; }
  .page-about .origin-left p { font-size: 14px; margin-top: 12px; }
  .page-about .origin-year-big { font-size: 88px; margin-bottom: 12px; }
  .page-about .origin-right { padding: 16px 20px 40px; gap: 20px; }
  .page-about .origin-card { padding: 24px; max-width: 100%; }
  .page-about .origin-card-num { font-size: 32px; }
  .page-about .origin-card-text { font-size: 13px; }
  .page-about .origin-right > div:last-child { font-size: 14px; line-height: 1.8; }
  .page-about .stats-keywords .section-label { letter-spacing: 3px; }
  .page-about .stat-number { font-size: 34px; }
  .page-about .stat-label { font-size: 12px; }
  .page-about .industries { padding: 40px 20px; }
  .page-about .industries-header { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
  .page-about .industries-header h2 { font-size: 26px; }
  .page-about .industries-intro { max-width: 100%; font-size: 14px; }
  .page-about .industry-row { grid-template-columns: 48px 1fr; gap: 14px; padding: 16px 4px; }
  .page-about .industry-icon { width: 44px; height: 44px; font-size: 22px; }
  .page-about .industry-name { font-size: 17px; }
  .page-about .dna { padding: 40px 20px; }
  .page-about .dna-header { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
  .page-about .dna-header h2 { font-size: 26px; }
  .page-about .dna-intro { max-width: 100%; font-size: 14px; }
  .page-about .dna-card { padding: 24px 20px; }
  .page-about .dna-number { font-size: 26px; }
  .page-about .dna-title { font-size: 17px; }
  .page-about .dna-desc { font-size: 13px; }
  .page-about .cta { padding: 48px 20px; }
  .page-about .cta-text { font-size: 26px; margin-bottom: 24px; }
  .page-about .cta-btn { padding: 14px 36px; font-size: 15px; }

  /* ---- 页脚：高度自适应，链接横排换行，版权居中 ---- */
  footer { height: auto !important; gap: 16px !important; padding: 32px 16px calc(110 * var(--vw)); }
  footer .logo { margin-top: 0; }
  footer .logo img { max-height: 42px; }
  footer ul { flex-wrap: wrap; justify-content: center; }
  footer ul:first-of-type { gap: 4px 0; font-size: 13px; }
  footer ul:first-of-type li { padding: 0 10px; }
  footer ul:first-of-type li a { white-space: nowrap; }
  footer ul:nth-of-type(2) li img { width: 28px; height: 28px; }
  footer .cory { flex-wrap: wrap; text-align: center; justify-content: center; font-size: 11px; }

  /* ---- 富文本表格：单元格按内容宽度自适应，容器内横滑兜底，嵌套表收敛 ---- */
  .rich-text table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; table-layout: auto; min-width: 100%; margin: 12px 0; font-size: 12px; }
  .rich-text table td { width: auto !important; min-width: 40px; padding: 8px; border-color: #ececf1; font-size: 12px; }
  .rich-text td > table { display: table; width: 100% !important; min-width: 0; margin: 0; }
  .rich-text td > table td { min-width: 0; padding: 5px 6px; font-size: 11px; }

  /* ---- 联系页：电话/邮箱/地址 pills 入流展示（不再隐藏），五步改纵向卡片 ---- */
  .page-contact .hero { flex-direction: column; align-items: stretch; justify-content: center; height: auto; min-height: 100svh; padding: 88px 0 56px; }
  .page-contact .hero-content { flex: 0 0 auto; }
  .page-contact .hero-floats { display: grid; grid-template-columns: 1fr 1fr; position: static; transform: none; align-items: stretch; gap: 10px; margin: 28px 24px 0; }
  .page-contact .float-pill { padding: 12px 14px; font-size: 12px; line-height: 1.5; border-radius: 12px; letter-spacing: 0; word-break: normal; overflow-wrap: anywhere; }
  .page-contact .float-pill svg { width: 16px; height: 16px; }
  .page-contact .process-track { flex-direction: column; width: 100%; padding: 0 20px; }
  .page-contact .process-step { width: 100%; border-right: none; border-bottom: 1px solid rgba(37, 33, 104, 0.08); padding: 20px 4px; }
  .page-contact .process-step:last-child { border-bottom: none; }
  .page-contact .process-connector { display: none; }


  .news-title{font-size:12px}
}


/* 公共 banner CTA 仅手机端显示 */
@media (min-width: 769px) { .simon-mobile-cta { display: none; } }
