/*
 Theme Name:   Colay Astra Child
 Template:     astra
 Description:  JK (Colay Display) child theme — REWA-style B2B phone screen wholesale
 Version:      2.1.0
 Author:       WorkBuddy
*/

:root{
  --jk:#FF6B2B;
  --jk-dark:#E85D1A;
  --jk-deep:#0F172A;
  --jk-ink:#1F2937;
  --jk-muted:#6B7280;
  --jk-bg:#F9FAFB;
  --jk-line:#E5E7EB;
  --jk-gold:#FF8C5A;
  --white:#fff;
  --jk-accent:#00B4D8;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
body{ font-family:'Inter','Segoe UI',Roboto,Arial,sans-serif; color:var(--jk-ink); background:#F9FAFB; overflow-x:clip; }
img, video, svg{ max-width:100%; height:auto; }
.jk-wrap{ max-width:1280px; margin:0 auto; padding:0 24px; box-sizing:border-box; }

/* Astra overrides */
.home .entry-title{ display:none; }
.page-id-9 .entry-title, .page-id-10 .entry-title, .page-id-11 .entry-title,
.page-id-27 .entry-title, .page-id-28 .entry-title,
.page-id-44 .entry-title, .page-id-45 .entry-title{ display:none; }
.home .ast-container{ max-width:100% !important; padding:0 !important; }
.home #primary{ margin:0 !important; }
.home .ast-article-single{ padding:0 !important; }
.home .site-content .ast-container{ display:block !important; }
.home #jk-home{ width:100%; }

/* Quality Control 单页：容器放宽到 1440px，同时限制右侧图片列宽度 */
.page-template-page-quality-control .ast-container{ max-width:1660px !important; padding:0 !important; }
.page-template-page-quality-control #primary{ margin:0 !important; }
.page-template-page-quality-control .ast-article-single{ padding:0 !important; }
@media(min-width:1025px){
  .page-template-page-quality-control .jk-qc-benchmark-grid{ grid-template-columns:1fr auto !important; gap:64px !important; }
  .page-template-page-quality-control .jk-qc-hero-media{ width:640px; max-width:100%; }
}

/* About JK / Contact Us / Customer Story 单页：容器放宽到 1660px，内容铺满 */
.page-id-10 .ast-container,
.page-id-11 .ast-container,
.page-template-page-customer-story .ast-container{ max-width:1660px !important; padding:0 !important; }
.page-id-10 #primary,
.page-id-11 #primary,
.page-template-page-customer-story #primary{ margin:0 !important; }
.page-id-10 .ast-article-single,
.page-id-11 .ast-article-single,
.page-template-page-customer-story .ast-article-single{ padding:0 !important; }
.page-id-10 .jk-page .jk-section > .jk-wrap,
.page-id-11 .jk-page .jk-section > .jk-wrap,
.page-template-page-customer-story .jk-page .jk-section > .jk-wrap,
.page-template-page-customer-story .jk-page .jk-cs-case-banner > .jk-wrap,
.page-template-page-customer-story .jk-page .jk-cs-case-body > .jk-wrap{ max-width:100% !important; padding:0 48px !important; box-sizing:border-box; }
/* CTA 卡片保持原 1280px 居中，避免拉宽变形 */
.page-id-10 .jk-page .jk-page-cta > .jk-wrap,
.page-template-page-customer-story .jk-page .jk-page-cta > .jk-wrap{ max-width:1280px !important; padding:72px 40px !important; }

/* ============ HEADER ============ */
/* 清除 Astra 默认的 site-identity padding/margin，避免挤压 Logo */
.ast-site-identity{ padding:0 !important; margin:0 !important; }
.site-title{ 
  line-height:1 !important; margin:0 !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
}
.ast-site-identity .site-title a{
  display:inline-block;
  width:104px; height:80px;
  background:url('assets/images/colay-logo-final.png') no-repeat center/contain;
  background-size:contain !important;
  text-indent:-9999px;
  overflow:hidden;
  vertical-align:middle;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:crisp-edges;
  transition:width .35s cubic-bezier(.4,0,.2,1), height .35s cubic-bezier(.4,0,.2,1);
}

.ast-primary-header-bar .ast-container{ max-width:1280px !important; padding-left:24px !important; padding-right:24px !important; }
.ast-primary-header-bar{
  padding-top:5px !important;
  padding-bottom:5px !important;
  min-height:100px;
  background:#fff !important;
  transition:padding .35s cubic-bezier(.4,0,.2,1), min-height .35s cubic-bezier(.4,0,.2,1), background .35s ease;
}
/* 三栏布局：Logo | 菜单居中 | 右侧对称留白 */
.ast-primary-header-bar .ast-builder-grid-row{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  grid-template-columns:none !important;
}
.ast-primary-header-bar .site-header-primary-section-left{
  flex-shrink:0;
  margin-left:-90px;
}
.ast-primary-header-bar .site-header-primary-section-right{
  margin-left:0 !important;
  flex:1;
  display:flex !important;
  justify-content:center !important;
  margin-right:104px; /* 右侧留白 = Logo 宽度，实现对称 */
}
/* 菜单容器居中 */
.ast-primary-header-bar .site-header-primary-section-right > div,
.ast-primary-header-bar .site-header-primary-section-right > nav{
  display:flex;
  justify-content:center;
}
.ast-primary-header-bar .main-header-menu{
  display:flex !important;
  justify-content:center !important;
  gap:0;
}
.ast-primary-header-bar .main-header-menu > li{ 
  margin-left:0; 
  margin-right:0; 
}
.ast-primary-header-bar .main-header-menu > li > .menu-link{ 
  padding-left:25px !important; 
  padding-right:25px !important; 
  font-size:18px;
  font-weight:600;
  letter-spacing:0.02em;
  white-space:nowrap;
  color:#1A1A2E !important;
  transition:font-size .35s cubic-bezier(.4,0,.2,1), color .2s ease, padding .35s ease;
}
.ast-primary-header-bar .main-header-menu > li > .menu-link:hover{ color:#FF6B2B !important; }
.ast-primary-header-bar .main-header-menu > li > .menu-link:focus,
.ast-primary-header-bar .main-header-menu > li > .menu-link:focus-visible,
.ast-primary-header-bar .main-header-menu > li > .menu-link:active{
  outline:none !important;
  box-shadow:none !important;
}

/* Remove default browser focus outline for all links/buttons on click */
a:focus, a:active, button:focus, button:active{
  outline:none !important;
}
a:focus-visible, button:focus-visible{
  outline:none !important;
}

#masthead{
  position:sticky;
  top:0;
  z-index:999;
  background:#fff;
  box-shadow:none !important;
  border-bottom:none !important;
  margin-bottom:0 !important;
  transition:background .35s ease, box-shadow .35s ease;
}
body.admin-bar #masthead{ top:32px; }

/* 确保 header 和后续内容无间隙、无白线 */
.ast-primary-header-bar{
  margin-bottom:0 !important;
  border-bottom:none !important;
}
#masthead + * { margin-top:0 !important; }

/* ===== Sticky Shrink Header：滚动一定距离后页眉收缩 ===== */
#masthead.scrolled{
  box-shadow:0 3px 14px rgba(15,23,42,.12) !important;
}
#masthead.scrolled .ast-primary-header-bar{
  padding-top:3px !important;
  padding-bottom:3px !important;
  min-height:68px;
}
#masthead.scrolled .ast-site-identity .site-title a{
  width:80px; height:60px;
}
#masthead.scrolled .ast-primary-header-bar .site-header-primary-section-right{
  margin-right:80px;
}
#masthead.scrolled .ast-primary-header-bar .main-header-menu > li > .menu-link{ 
  font-size:15px;
}

/* ===== HOME ONLY：透明页眉融入 Hero 视频，滚动后变白 ===== */
/* 仅首页：页眉 fixed 悬浮在视频之上（默认 sticky 会把它压在视频下方） */
.home #masthead{
  position:fixed;
  left:0;
  right:0;
  background:transparent !important;
  box-shadow:none !important;
}
.home #masthead .ast-primary-header-bar{
  background:transparent !important;
}
/* 未滚动：白色文字与 Logo，融入深色视频 */
.home #masthead:not(.scrolled) .site-title a,
.home #masthead:not(.scrolled) .ast-site-identity .site-title a{
  color:#fff !important;
}
.home #masthead:not(.scrolled) .main-header-menu > li > .menu-link{
  color:#fff !important;
}
.home #masthead:not(.scrolled) .ast-builder-menu-mobile{
  color:#fff !important;
}
.home #masthead:not(.scrolled) .ast-builder-menu-mobile .ast-menu-icon,
.home #masthead:not(.scrolled) .ast-builder-menu-mobile .ast-menu-icon::before,
.home #masthead:not(.scrolled) .ast-builder-menu-mobile .ast-menu-icon::after{
  background:#fff !important;
}
/* 滚动后：白色背景 + 深色文字（复用全局 .scrolled 收缩效果） */
.home #masthead.scrolled{
  background:#fff !important;
  box-shadow:0 3px 14px rgba(15,23,42,.12) !important;
}
.home #masthead.scrolled .ast-primary-header-bar{
  background:#fff !important;
}

/* 首页透明状态下，鼠标悬浮在导航栏时变白 */
.home #masthead:not(.scrolled):hover{
  background:#fff !important;
  box-shadow:0 3px 14px rgba(15,23,42,.12) !important;
}
.home #masthead:not(.scrolled):hover .ast-primary-header-bar{
  background:#fff !important;
}
.home #masthead:not(.scrolled):hover .site-title a,
.home #masthead:not(.scrolled):hover .ast-site-identity .site-title a{
  color:#1A1A2E !important;
}
.home #masthead:not(.scrolled):hover .main-header-menu > li > .menu-link{
  color:#1A1A2E !important;
}
.home #masthead:not(.scrolled):hover .ast-builder-menu-mobile{
  color:#1A1A2E !important;
}
.home #masthead:not(.scrolled):hover .ast-builder-menu-mobile .ast-menu-icon,
.home #masthead:not(.scrolled):hover .ast-builder-menu-mobile .ast-menu-icon::before,
.home #masthead:not(.scrolled):hover .ast-builder-menu-mobile .ast-menu-icon::after{
  background:#1A1A2E !important;
}

/* Mega menu 打开时强制导航栏保持白色（鼠标悬浮到 dropdown 面板时不回到透明态） */
body.mega-open #masthead .ast-primary-header-bar,
body.mega-open.home #masthead:not(.scrolled) .ast-primary-header-bar,
body.mega-open.home #masthead:not(.scrolled):hover .ast-primary-header-bar{
  background:#fff !important;
  box-shadow:0 3px 14px rgba(15,23,42,.10) !important;
}
body.mega-open #masthead .site-title a,
body.mega-open.home #masthead:not(.scrolled) .site-title a,
body.mega-open.home #masthead:not(.scrolled):hover .site-title a{
  color:#1A1A2E !important;
}
body.mega-open #masthead .main-header-menu > li > .menu-link,
body.mega-open.home #masthead:not(.scrolled) .main-header-menu > li > .menu-link,
body.mega-open.home #masthead:not(.scrolled):hover .main-header-menu > li > .menu-link{
  color:#1A1A2E !important;
}
body.mega-open #masthead .jk-about-trigger > a.active,
body.mega-open #masthead .jk-products-trigger > a.active{
  color:#e8503a !important;
}

@media (prefers-reduced-motion: reduce){
  #masthead, .ast-primary-header-bar, .ast-site-identity .site-title a, .main-header-menu > li > .menu-link{
    transition:none !important;
  }
}

/* ============ HERO — REWA Style ============ */
.jk-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#1A1A2E;
  padding:0;
  margin-top:0 !important;
}
.jk-hero-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-height:auto;
  padding-top:50px;
  padding-bottom:40px;
}
.jk-hero-content{ position:relative; z-index:2; max-width:880px; margin:0 auto; }
.jk-hero-kicker{
  display:inline-block;
  letter-spacing:2px;
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  color:#00B4D8;
  margin-bottom:18px;
  padding:6px 14px;
  background:rgba(0,180,216,.12);
  border-radius:6px;
  border:1px solid rgba(0,180,216,.25);
}
.jk-hero h1{
  font-size:48px;
  line-height:1.1;
  margin:0 0 18px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#fff;
}
.jk-hero-lead{
  font-size:18px;
  max-width:640px;
  line-height:1.65;
  opacity:.92;
  margin:0 auto 22px;
  color:#9CA3AF;
}
.jk-hero-lead strong{ color:#fff; }

.jk-hero-cta{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:22px;
}
.jk-btn{
  display:inline-block;
  padding:16px 32px;
  border-radius:8px;
  font-weight:700;
  text-decoration:none;
  font-size:16px;
  transition:all .2s;
  cursor:pointer;
  border:none;
}
.jk-btn-accent{
  background:#FF8C5A;
  color:#1F2937;
}
.jk-btn-accent:hover{
  background:#E85D1A;
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(255,107,43,.35);
}
.jk-btn-outline{
  border:2px solid rgba(255,255,255,.5);
  color:#fff;
  background:transparent;
}
.jk-btn-outline:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.75);
}
.jk-btn-dark{ background:var(--jk-deep); color:#fff; }
.jk-btn-dark:hover{ background:var(--jk); }

.jk-hero-badges{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
}
.jk-badge{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:#9CA3AF;
}
.jk-ic-check{
  display:inline-block;
  width:18px; height:18px;
  background:#FF6B2B;
  border-radius:50%;
  position:relative;
}
.jk-ic-check::after{
  content:'';
  position:absolute;
  left:6px; top:3px;
  width:5px; height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

/* Hero Visual */
.jk-hero-visual{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:30px;
}
.jk-hero-img-wrap{
  position:relative;
  width:100%;
  max-width:420px;
}
.jk-hero-img-wrap img{
  border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  display:block;
}
.jk-hero-float-card{
  position:absolute;
  background:rgba(255,255,255,.95);
  border-radius:12px;
  padding:14px 20px;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
}
.jk-hero-float-card strong{
  display:block;
  font-size:22px;
  font-weight:800;
  color:var(--jk-deep);
}
.jk-hero-float-card span{
  font-size:12px;
  color:var(--jk-muted);
}
.jk-float-1{ top:-20px; right:-20px; }
.jk-float-2{ bottom:30px; left:-30px; }

/* Hero 视频背景 */
.jk-hero-video{ height:100vh; padding:0; }
.jk-hero-video-el{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.jk-hero-video-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.42) 0%, rgba(15,23,42,.55) 100%);
  z-index:1;
}
.jk-hero-video .jk-hero-inner{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  padding:0 24px;
}
.jk-hero-content--simple{
  text-align:left;
  margin:0;
  width:100%;
  max-width:640px;
}
.jk-hero-content--simple h1{
  font-size:56px;
  line-height:1.05;
  margin:0 0 14px;
  color:#fff;
}
.jk-hero-content--simple .jk-hero-subtitle{
  font-size:24px;
  line-height:1.3;
  margin:0;
  color:rgba(255,255,255,.85);
}

/* ============ TRUST BAR ============ */
.jk-trust-bar{
  background:var(--jk-bg);
  padding:32px 0;
  border-bottom:1px solid var(--jk-line);
}
.jk-trust-label{
  text-align:center;
  font-size:13px;
  color:var(--jk-muted);
  text-transform:uppercase;
  letter-spacing:1px;
  margin:0 0 18px;
}
.jk-trust-logos{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:48px;
  flex-wrap:wrap;
}
.jk-trust-logo{
  font-size:15px;
  font-weight:700;
  color:var(--jk-muted);
  opacity:.6;
  transition:opacity .2s;
}
.jk-trust-logo:hover{ opacity:1; }

/* ============ SECTIONS ============ */
.jk-section{ padding:100px 0; }
.jk-section-head{
  text-align:center;
  max-width:720px;
  margin:0 auto 56px;
}
.jk-eyebrow{
  display:inline-block;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
  color:var(--jk);
  margin-bottom:12px;
}
.jk-section-head h2{
  font-size:36px;
  line-height:1.2;
  margin:0 0 14px;
  font-weight:800;
  letter-spacing:-0.01em;
}
.jk-lead{
  color:var(--jk-muted);
  font-size:17px;
  line-height:1.65;
  margin:0;
}
.jk-center{ text-align:center; margin-top:40px; }

/* ============ PRODUCT CARDS ============ */
.jk-products{ background:#fff; }
.jk-grid{
  display:grid;
  gap:24px;
}
.jk-grid-3{ grid-template-columns:repeat(3,1fr); }
.jk-grid-4{ grid-template-columns:repeat(4,1fr); }

.jk-product-card{
  display:block;
  background:#f8f9fa;
  border:none;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  box-shadow:none;
}
.jk-product-card:hover{
  background:#fff;
  transform:translateY(-6px);
  box-shadow:0 12px 40px rgba(0,0,0,0.12);
}
.jk-product-img{
  position:relative;
  overflow:hidden;
  aspect-ratio:3/4;
  background:transparent;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.jk-product-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  transition:transform .4s;
}
.jk-product-card:hover .jk-product-img img{
  transform:scale(1.05);
}
.jk-product-info{
  padding:0 24px 24px;
}
.jk-product-info h3{
  font-size:18px;
  margin:0 0 10px;
  color:var(--jk-ink);
}
.jk-product-info p{
  font-size:14px;
  color:var(--jk-muted);
  line-height:1.6;
  margin:0;
}

/* ============ WHY JK — Feature Grid ============ */
.jk-why{ background:var(--jk-bg); }
.jk-feature{
  background:#f8f9fa;
  border-radius:16px;
  padding:32px;
  border:1px solid transparent;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  box-shadow:none;
}
.jk-feature:hover{
  background:#fff;
  box-shadow:0 12px 40px rgba(0,0,0,0.12);
  transform:translateY(-6px);
  border-color:var(--jk-line);
}
.jk-feature-icon{
  width:52px; height:52px;
  border-radius:12px;
  background:var(--jk-bg);
  color:var(--jk);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.jk-feature h3{
  font-size:17px;
  margin:0 0 10px;
  font-weight:700;
}
.jk-feature p{
  font-size:14px;
  color:var(--jk-muted);
  line-height:1.65;
  margin:0;
}

/* ============ WHY JK — Popup Cards ============ */
.jk-popup-grid{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.jk-popup-row{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:24px;
}
.jk-popup-row--three{
  grid-template-columns:repeat(3,1fr);
}
.jk-popup-card{
  position:relative;
  border-radius:18px;
  padding:36px 32px 32px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;
  border:none;
}
.jk-popup-card--pink{ background:#ffd9d4; }
.jk-popup-card--blue{ background:#cfe9ff; }
.jk-popup-card--white{ background:#f5f5f5; min-height:200px; }
.jk-popup-card--green:hover{ background:#d4edda; }
.jk-popup-card--yellow:hover{ background:#fff3cd; }
.jk-popup-card--purple:hover{ background:#e2d4f0; }
.jk-popup-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}
.jk-popup-icon{
  color:#1A1A2E;
  margin-bottom:14px;
}
.jk-popup-icon svg{
  width:auto;
  height:40px;
  stroke:currentColor;
  stroke-width:2.5;
}
.jk-popup-card h3{
  font-size:22px;
  margin:0 0 10px;
  color:#111;
  font-weight:700;
}
.jk-popup-desc{
  font-size:14px;
  line-height:1.7;
  color:rgba(0,0,0,.65);
  margin:0;
}
.jk-popup-plus{
  position:absolute;
  top:16px; right:16px;
  width:30px; height:30px;
  border:none; border-radius:8px;
  background:rgba(0,0,0,.12);
  color:#111;
  font-size:20px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease, color .2s ease;
  padding:0;
}
.jk-popup-card--blue .jk-popup-plus{
  background:rgba(0,0,0,.18);
  color:#fff;
}
.jk-popup-card:hover .jk-popup-plus{
  background:#111;
  color:#fff;
  transform:scale(1.08);
}

/* Modal */
.jk-modal-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.65);
  display:none;
  align-items:center; justify-content:center;
  z-index:9999;
  opacity:0;
  transition:opacity .3s ease;
}
.jk-modal-overlay.show{
  display:flex;
  opacity:1;
}
.jk-modal{
  background:#fff;
  border-radius:20px;
  width:min(560px, 90vw);
  padding:44px 44px 40px;
  position:relative;
  transform:scale(.92) translateY(12px);
  opacity:0;
  transition:transform .3s ease, opacity .3s ease;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.jk-modal-overlay.show .jk-modal{
  transform:scale(1) translateY(0);
  opacity:1;
}
.jk-modal-close{
  position:absolute; top:18px; right:18px;
  width:32px; height:32px;
  border:none; border-radius:50%;
  background:#f0f0f0;
  color:#333;
  font-size:20px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.jk-modal-close:hover{ background:#ddd; }
.jk-modal h2{
  font-size:28px;
  margin:0 0 6px;
  color:#111;
}
.jk-modal-sub{
  font-size:18px;
  font-weight:700;
  color:#e8503a;
  margin-bottom:16px;
}
.jk-modal p{
  font-size:15px;
  line-height:1.9;
  color:#444;
  margin:0;
}

@media (max-width:1024px){
  .jk-popup-row{ grid-template-columns:1fr; }
  .jk-popup-row--three{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .jk-popup-row--three{ grid-template-columns:1fr; }
  .jk-popup-card{ padding:28px 24px 24px; min-height:auto; }
}

/* ============ STATS ============ */
.jk-stats{
  background:var(--jk-deep);
  color:#fff;
  padding:80px 0;
}
.jk-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  text-align:center;
}
.jk-stat-item strong{
  display:block;
  font-size:52px;
  font-weight:800;
  color:#00B4D8;
  line-height:1;
  margin-bottom:10px;
}
.jk-stat-item span{
  font-size:14px;
  color:#9CA3AF;
  text-transform:uppercase;
  letter-spacing:1px;
}

/* ============ PROCESS ============ */
.jk-process{ background:#fff; }
.jk-process-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:24px;
  align-items:center;
}
.jk-process-step{
  text-align:center;
  padding:36px 24px;
  background:var(--jk-bg);
  border-radius:16px;
  border:1px solid var(--jk-line);
}
.jk-step-num{
  font-size:42px;
  font-weight:800;
  color:var(--jk);
  opacity:.25;
  line-height:1;
  margin-bottom:16px;
}
.jk-process-step h3{
  font-size:18px;
  margin:0 0 10px;
}
.jk-process-step p{
  font-size:14px;
  color:var(--jk-muted);
  line-height:1.6;
  margin:0;
}
.jk-process-arrow{
  color:var(--jk);
  opacity:.4;
}

/* ============ HISTORY — Minimal dark stats ============ */
.jk-history{
  background:#0A0A0A;
  color:#fff;
  padding:110px 0;
}
.jk-history-inner{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:80px;
  align-items:center;
}
.jk-history-left h2{
  color:#fff;
  font-size:44px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-0.02em;
  margin:0 0 42px;
  max-width:540px;
}
.jk-history-image{
  border-radius:24px;
  overflow:hidden;
  margin-bottom:42px;
  aspect-ratio:16/10;
  animation:jk-float 3.4s ease-in-out infinite;
}
.jk-history-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@keyframes jk-float{
  0%, 100%{ transform:translateY(0); }
  50%{ transform:translateY(-24px); }
}
@media (prefers-reduced-motion: reduce){
  .jk-history-image{ animation:none; }
}
.jk-history-left > p{
  color:#9CA3AF;
  font-size:18px;
  line-height:1.7;
  margin:0;
  max-width:540px;
}
.jk-history-right{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  align-items:flex-end;
}
.jk-history-stat{
  text-align:right;
}
.jk-history-stat strong{
  display:block;
  font-size:72px;
  font-weight:800;
  color:#4FB8FF;
  line-height:1;
  letter-spacing:-0.03em;
  margin-bottom:14px;
  white-space:nowrap;
}
.jk-history-stat strong .pp-num{
  font-size:inherit;
  font-weight:inherit;
  color:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
.jk-history-stat > span{
  font-size:22px;
  color:#E5E7EB;
  font-weight:600;
}
@media(max-width:1024px){
  .jk-history-inner{ grid-template-columns:1fr 1fr; gap:48px; }
  .jk-history-left h2{ font-size:30px; }
  .jk-history-right{ gap:40px; justify-content:flex-start; }
  .jk-history-stat strong{ font-size:56px; }
  .jk-history-stat span{ font-size:18px; }
}
@media(max-width:800px){
  .jk-history{ padding:80px 0; }
  .jk-history-inner{ grid-template-columns:1fr; gap:48px; }
  .jk-history-left h2{ font-size:28px; max-width:none; }
  .jk-history-left > p{ max-width:none; }
  .jk-history-image{ aspect-ratio:16/9; }
  .jk-history-right{ gap:40px; justify-content:flex-start; height:auto; }
  .jk-history-stat strong{ font-size:48px; }
}
@media(max-width:480px){
  .jk-history-left h2{ font-size:26px; }
  .jk-history-stat strong{ font-size:40px; }
}

/* ============ CERTIFICATIONS ============ */
.jk-certifications{
  background:
    radial-gradient(circle at 15% 25%, rgba(79,184,255,.06) 0%, transparent 40%),
    radial-gradient(circle at 85% 15%, rgba(139,92,246,.04) 0%, transparent 35%),
    radial-gradient(circle at 50% 85%, rgba(236,72,153,.03) 0%, transparent 40%),
    #fff;
  position:relative;
  overflow:hidden;
}
.jk-cert-head{
  text-align:center;
  margin-bottom:40px;
}
.jk-cert-head .jk-eyebrow{
  color:#1A1A2E;
  font-size:36px;
  font-weight:800;
  text-transform:none;
  letter-spacing:-0.01em;
  line-height:1.2;
}
.jk-cert-head p{
  font-size:17px;
  color:#6B7280;
  max-width:640px;
  margin:0 auto;
  line-height:1.6;
}
.jk-cert-filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-bottom:44px;
}
.jk-cert-filter{
  border:none;
  cursor:pointer;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  padding:10px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(15,23,42,.08);
  color:#64748B;
  transition:all .25s ease;
}
.jk-cert-filter:hover{
  background:#F8FAFC;
  color:#334155;
}
.jk-cert-filter.active.is-rohs{ background:#10B981; color:#fff; box-shadow:0 10px 25px rgba(16,185,129,.25); border-color:#10B981; }
.jk-cert-filter.active.is-ce{ background:#3B82F6; color:#fff; box-shadow:0 10px 25px rgba(59,130,246,.25); border-color:#3B82F6; }
.jk-cert-filter.active.is-fcc{ background:#F97316; color:#fff; box-shadow:0 10px 25px rgba(249,115,22,.25); border-color:#F97316; }
.jk-cert-filter.active.is-trademark{ background:#8B5CF6; color:#fff; box-shadow:0 10px 25px rgba(139,92,246,.25); border-color:#8B5CF6; }
.jk-cert-grid{
  column-count:4;
  column-gap:24px;
}
.jk-cert-item{
  break-inside:avoid;
  margin-bottom:24px;
}
.jk-cert-card{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
  position:relative;
  transform-style:preserve-3d;
  transition:transform .35s cubic-bezier(.23,1,.32,1), box-shadow .35s ease;
  will-change:transform;
}
.jk-cert-card:hover{
  box-shadow:0 25px 50px -12px rgba(79,184,255,.15), 0 0 0 1px rgba(15,23,42,.06);
}
.jk-cert-shine{
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(115deg, transparent 0%, transparent 35%, rgba(255,255,255,.18) 50%, transparent 65%, transparent 100%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
  z-index:2;
}
.jk-cert-card:hover .jk-cert-shine{ opacity:1; }
.jk-cert-imgwrap{
  position:relative;
  overflow:hidden;
}
.jk-cert-imgwrap img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s cubic-bezier(.23,1,.32,1);
}
.jk-cert-card:hover .jk-cert-imgwrap img{ transform:scale(1.05); }
.jk-cert-view{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%) translateY(10px);
  opacity:0;
  transition:all .35s ease;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(15,23,42,.9);
  color:#fff;
  font-size:11px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  pointer-events:none;
}
.jk-cert-card:hover .jk-cert-view{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.jk-cert-info{
  padding:16px;
  border-top:1px solid rgba(15,23,42,.06);
}
.jk-cert-info > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}
.jk-cert-tag{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
}
.jk-cert-tag.is-rohs{ color:#10B981; }
.jk-cert-tag.is-ce{ color:#3B82F6; }
.jk-cert-tag.is-fcc{ color:#F97316; }
.jk-cert-tag.is-trademark{ color:#8B5CF6; }
.jk-cert-num{
  font-size:11px;
  color:#9CA3AF;
  font-weight:600;
}
.jk-cert-info h3{
  font-size:14px;
  font-weight:600;
  color:#1F2937;
  line-height:1.45;
  margin:0;
}
.jk-cert-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
  padding:24px;
}
.jk-cert-lightbox.active{ opacity:1; pointer-events:auto; }
.jk-cert-lightbox img{
  max-width:100%;
  max-height:82vh;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  transform:scale(.92);
  transition:transform .35s ease;
}
.jk-cert-lightbox.active img{ transform:scale(1); }
.jk-cert-lightbox-caption{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  font-size:14px;
  color:#4B5563;
  background:rgba(255,255,255,.85);
  padding:8px 18px;
  border-radius:999px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.jk-cert-lightbox-close,
.jk-cert-lightbox-prev,
.jk-cert-lightbox-next{
  position:absolute;
  background:#fff;
  border:1px solid rgba(15,23,42,.1);
  border-radius:50%;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#4B5563;
  transition:all .2s;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.jk-cert-lightbox-close:hover,
.jk-cert-lightbox-prev:hover,
.jk-cert-lightbox-next:hover{
  color:#1F2937;
  transform:scale(1.05);
}
.jk-cert-lightbox-close{ top:20px; right:20px; }
.jk-cert-lightbox-prev{ left:20px; top:50%; transform:translateY(-50%); }
.jk-cert-lightbox-next{ right:20px; top:50%; transform:translateY(-50%); }
@media(max-width:1200px){ .jk-cert-grid{ column-count:3; } }
@media(max-width:900px){ .jk-cert-grid{ column-count:2; } .jk-cert-head .jk-eyebrow{ font-size:32px; } }
@media(max-width:600px){
  .jk-cert-grid{ column-count:1; }
  .jk-cert-filter{ padding:8px 16px; font-size:13px; }
  .jk-cert-head .jk-eyebrow{ font-size:26px; }
  .jk-cert-lightbox-prev{ left:10px; }
  .jk-cert-lightbox-next{ right:10px; }
}
@media(prefers-reduced-motion:reduce){
  .jk-cert-card,
  .jk-cert-imgwrap img,
  .jk-cert-view,
  .jk-cert-shine,
  .jk-cert-lightbox img{ transition:none; }
}

/* ============ TESTIMONIALS ============ */
.jk-testimonials{ background:#fff; }
.jk-card{
  background:#f8f9fa;
  border:1px solid transparent;
  border-radius:16px;
  padding:30px;
  box-shadow:none;
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
.jk-card:hover{
  background:#fff;
  box-shadow:0 12px 40px rgba(0,0,0,0.12);
  transform:translateY(-6px);
  border-color:var(--jk-line);
}
.jk-card-quote{ display:flex; flex-direction:column; }
.jk-stars{
  color:var(--jk-gold);
  letter-spacing:3px;
  margin-bottom:14px;
  font-size:16px;
}
.jk-quote{
  font-size:15px;
  line-height:1.7;
  color:var(--jk-ink);
  flex:1;
  margin:0;
}
.jk-quote-by{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--jk-line);
}
.jk-quote-by strong{
  display:block;
  font-size:15px;
}
.jk-quote-by span{
  font-size:13px;
  color:var(--jk-muted);
}

/* Testimonials v2: avatar + enhanced card effects */
.jk-card-quote{
  position:relative;
  overflow:hidden;
}
.jk-card-quote::before{
  content:"“";
  position:absolute;
  top:-10px;
  right:18px;
  font-size:96px;
  line-height:1;
  color:rgba(242,101,34,0.10);
  font-family:Georgia, serif;
  pointer-events:none;
}
.jk-quote-header{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.jk-quote-avatar{
  width:64px;
  height:64px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid #fff;
  box-shadow:0 4px 14px rgba(0,0,0,0.10);
  flex-shrink:0;
}
.jk-quote-meta strong{
  display:block;
  font-size:15px;
  color:var(--jk-ink);
}
.jk-quote-meta span{
  display:block;
  font-size:13px;
  color:var(--jk-muted);
  margin-top:2px;
}
.jk-card-quote-featured{
  background:#fff;
  box-shadow:0 16px 50px rgba(0,0,0,0.10);
  border-color:rgba(242,101,34,0.15);
}
.jk-card-quote:hover{
  transform:translateY(-10px);
  box-shadow:0 24px 60px rgba(0,0,0,0.14);
}
.jk-card-quote-featured:hover{
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 28px 70px rgba(0,0,0,0.16);
}

/* ============ INQUIRY ============ */
.jk-inquiry{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
  color:var(--jk-ink);
  padding:120px 0;
  position:relative;
  overflow:hidden;
}
.jk-inquiry::before{
  content:'';
  position:absolute;
  top:-140px;
  right:-140px;
  width:460px;
  height:460px;
  background:radial-gradient(circle,rgba(255,107,43,.10) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.jk-inquiry::after{
  content:'';
  position:absolute;
  bottom:-100px;
  left:-100px;
  width:360px;
  height:360px;
  background:radial-gradient(circle,rgba(59,130,246,.07) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.jk-inquiry-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  align-items:start;
  gap:72px;
  position:relative;
  z-index:1;
}
.jk-inquiry-info{
  padding-top:8px;
}
.jk-inquiry-heading{
  font-size:42px;
  font-weight:800;
  color:#1A1A2E;
  margin:0 0 22px;
  line-height:1.12;
  position:relative;
  display:inline-block;
}
.jk-inquiry-heading::after{
  content:'';
  position:absolute;
  bottom:5px;
  left:0;
  width:72px;
  height:10px;
  background:linear-gradient(90deg,var(--jk),#FFB366);
  border-radius:5px;
  opacity:.35;
  z-index:-1;
}
.jk-inquiry-lead{
  font-size:17px;
  line-height:1.75;
  color:#4B5563;
  margin:0 0 38px;
}
.jk-inquiry-contacts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.jk-inquiry-contact{
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:18px;
  padding:22px 14px;
  text-align:center;
  text-decoration:none;
  color:inherit;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s,border-color .35s;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.jk-inquiry-contact::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,107,43,.07) 0%,transparent 65%);
  opacity:0;
  transition:opacity .35s;
}
.jk-inquiry-contact:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 45px rgba(15,23,42,.11);
  border-color:#FED7AA;
}
.jk-inquiry-contact:hover::before{
  opacity:1;
}
.jk-inquiry-contact-icon{
  width:50px;
  height:50px;
  border-radius:14px;
  background:linear-gradient(135deg,#FFF7ED 0%,#FFEDD5 100%);
  color:var(--jk);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  transition:transform .35s,background .35s;
  position:relative;
  z-index:1;
  box-shadow:0 6px 16px rgba(255,107,43,.12);
}
.jk-inquiry-contact:hover .jk-inquiry-contact-icon{
  transform:scale(1.1) rotate(-4deg);
  background:linear-gradient(135deg,#FFEDD5 0%,#FDBA74 100%);
}
.jk-inquiry-contact-icon svg{
  display:block;
}
.jk-inquiry-contact-label{
  display:block;
  font-size:11px;
  font-weight:800;
  color:#9CA3AF;
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:5px;
  position:relative;
  z-index:1;
}
.jk-inquiry-contact-value{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#1F2937;
  line-height:1.35;
  position:relative;
  z-index:1;
}
.jk-inquiry-title{
  font-size:28px;
  font-weight:800;
  color:#1A1A2E;
  margin:0 0 24px;
  text-align:left;
}
.jk-inquiry-form{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  color:var(--jk-ink);
  border-radius:24px;
  padding:38px;
  box-shadow:0 28px 70px rgba(15,23,42,.10),0 0 0 1px rgba(255,107,43,.08);
  transition:box-shadow .35s,transform .35s;
  position:relative;
  z-index:1;
}
.jk-inquiry-form:hover{
  box-shadow:0 32px 80px rgba(15,23,42,.13),0 0 0 1px rgba(255,107,43,.12);
  transform:translateY(-3px);
}
.jk-inquiry-form .wpcf7-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.jk-inquiry-form .wpcf7-form p{
  margin:0;
}
.jk-inquiry-form .wpcf7-form label{
  display:block;
  font-weight:600;
  font-size:15px;
  margin-bottom:8px;
  color:#1F2937;
}
.jk-inquiry-form .wpcf7-form input[type=text],
.jk-inquiry-form .wpcf7-form input[type=email],
.jk-inquiry-form .wpcf7-form input[type=tel],
.jk-inquiry-form .wpcf7-form select,
.jk-inquiry-form .wpcf7-form textarea{
  width:100%;
  border:1px solid #E5E7EB;
  border-radius:12px;
  padding:14px 16px;
  font-size:15px;
  font-family:inherit;
  background:#fff;
  color:#1F2937;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.jk-inquiry-form .wpcf7-form input::placeholder,
.jk-inquiry-form .wpcf7-form textarea::placeholder{
  color:#9CA3AF;
}
.jk-inquiry-form .wpcf7-form select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding:13px 40px 13px 16px;
  height:50px;
  line-height:1.4;
  color:#1F2937;
}
.jk-inquiry-form .wpcf7-form input:focus,
.jk-inquiry-form .wpcf7-form select:focus,
.jk-inquiry-form .wpcf7-form textarea:focus{
  outline:none;
  border-color:#FF6B2B;
  box-shadow:0 0 0 4px rgba(255,107,43,.10);
  background:#fff;
}
.jk-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.jk-form-field--full{
  grid-column:1 / -1;
}
.jk-form-message textarea{
  min-height:110px;
  height:110px;
  resize:vertical;
}
.jk-form-submit .wpcf7-submit{
  width:100%;
  background:linear-gradient(135deg,#FF6B2B 0%,#E85D1A 100%);
  color:#fff;
  border:0;
  border-radius:12px;
  padding:16px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s, transform .2s, box-shadow .2s;
  box-shadow:0 8px 24px rgba(255,107,43,.25);
}
.jk-form-submit .wpcf7-submit:hover{
  background:linear-gradient(135deg,#E85D1A 0%,#D45316 100%);
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(255,107,43,.35);
}

/* Simple single-column form variant (contact page) */
.jk-form-simple{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.jk-form-simple .jk-form-row{ margin:0; }
.jk-form-privacy{
  font-size:13px;
  color:#6B7280;
  text-align:center;
  line-height:1.6;
  margin:0;
}
.jk-contact-form-card .jk-form-submit .wpcf7-submit::after{
  content:"";
  display:inline-block;
  width:18px;
  height:18px;
  margin-left:8px;
  vertical-align:-3px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22,2 15,22 11,13 2,9 22,2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.wpcf7 form .wpcf7-response-output{
  margin:14px 0 0;
  padding:10px 14px;
  border-radius:8px;
  font-size:14px;
}
.wpcf7 form.sent .wpcf7-response-output{
  border-color:#10B981;
  background:#D1FAE5;
  color:#047857;
}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .ast-site-identity .site-title a{ width:78px; height:60px; }
  .ast-primary-header-bar .site-header-primary-section-right{ margin-right:78px; }
  .jk-hero-inner{
    grid-template-columns:1fr;
    gap:40px;
    text-align:center;
    min-height:auto;
    padding-top:40px;
    padding-bottom:30px;
  }
  .jk-hero-content{ order:1; }
  .jk-hero-visual{ order:0; }
  .jk-hero-lead{ margin-left:auto; margin-right:auto; }
  .jk-hero-cta{ justify-content:center; }
  .jk-hero-badges{ justify-content:center; }
  .jk-hero-float-card{ display:none; }
  .jk-process-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .jk-process-arrow{ transform:rotate(90deg); }
  .jk-hero-video{ height:90vh; }
  .jk-hero-video .jk-hero-inner{ min-height:90vh; }
  .jk-hero-content--simple h1{ font-size:44px; }
  .jk-hero-content--simple .jk-hero-subtitle{ font-size:20px; }
}

@media(max-width:960px){
  .jk-grid-4{ grid-template-columns:repeat(2,1fr); }
  .jk-grid-3{ grid-template-columns:repeat(2,1fr); }
  .jk-history-inner, .jk-inquiry-inner{ grid-template-columns:1fr; gap:40px; }
  .jk-stats-grid{ grid-template-columns:repeat(2,1fr); gap:30px; }
  .jk-hero h1{ font-size:38px; }
}

@media(max-width:640px){
  .jk-grid-3, .jk-grid-4{ grid-template-columns:1fr; }
  .jk-form-grid{ grid-template-columns:1fr; }
  .jk-hero{ padding:40px 0; }
  .jk-hero-video{ height:80vh; }
  .jk-hero-video .jk-hero-inner{ min-height:80vh; }
  .jk-hero-content--simple h1{ font-size:32px; }
  .jk-hero-content--simple .jk-hero-subtitle{ font-size:18px; }
  .jk-hero h1{ font-size:30px; }
  .jk-section{ padding:64px 0; }
  .jk-section-head h2{ font-size:26px; }
  .jk-stats-grid{ grid-template-columns:1fr 1fr; }
  .jk-stat-item strong{ font-size:36px; }
  .jk-trust-logos{ gap:24px; }
  .jk-history-inner{ gap:32px; }
  .jk-inquiry-inner{ gap:32px; }
  .jk-inquiry-heading{ font-size:28px; }
  .jk-inquiry-form{ padding:24px; }
  .jk-inquiry-title{ font-size:24px; }
  .jk-inquiry-contacts{ grid-template-columns:1fr; }
  .jk-inquiry-contact{ flex-direction:row; text-align:left; padding:18px 20px; align-items:center; }
  .jk-inquiry-contact-icon{ margin-bottom:0; margin-right:16px; }
}

/* ============ INNER PAGES ============ */
.jk-page .entry-content, .jk-page{ color:var(--jk-ink); }
.jk-about-hero{
  background:#F8FAFC;
  color:#1A1A2E;
  padding:95px 0 56px;
  margin:-1px 0 0;
}
.jk-about-hero-head{
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}
.jk-about-hero-head h1{
  font-size:44px;
  font-weight:800;
  line-height:1.18;
  margin:0 0 22px;
  color:#1A1A2E;
  letter-spacing:-0.02em;
}
.jk-about-hero-head p{
  font-size:18px;
  line-height:1.8;
  color:#4B5563;
  margin:0;
}
.jk-about-video{
  max-width:100%;
  margin:0 auto;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
  background:#000;
  aspect-ratio:16/9;
}
.jk-about-video video{
  width:100%;
  height:100%;
  display:block;
  border:0;
  object-fit:cover;
}
/* YouTube 点击播放（保留自定义封面） */
.jk-about-video--yt{
  position:relative;
  cursor:pointer;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.jk-about-video--yt iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.jk-about-video-play{
  position:absolute;
  inset:0;
  margin:auto;
  width:78px;
  height:78px;
  border:0;
  border-radius:50%;
  background:rgba(255,107,43,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  transition:transform .2s, background .2s;
}
.jk-about-video-play:hover{
  transform:scale(1.06);
  background:rgba(232,93,26,1);
}
.jk-about-video-play svg{
  width:30px;
  height:30px;
  fill:#fff;
  margin-left:4px;
}
.jk-subnav{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
  margin:34px auto 8px; max-width:760px;
}
.jk-subnav br{ display:none; }
.jk-subnav a{
  padding:9px 20px; border:1px solid var(--jk-line); border-radius:99px;
  color:var(--jk-dark); font-weight:700; font-size:14px; text-decoration:none; transition:.2s; background:#fff;
}
.jk-subnav a:hover{ background:var(--jk); border-color:var(--jk); color:#fff; }
.jk-page-sec{ padding:56px 0; max-width:1100px; margin:0 auto; }
.jk-page-sec h2{ font-size:28px; margin:0 0 16px; }
.jk-page-sec p{ line-height:1.75; color:var(--jk-muted); font-size:16px; margin:0 0 14px; }
.jk-page-sec p strong{ color:var(--jk-ink); }
.jk-page-alt{ background:var(--jk-bg); padding:56px max(24px,calc((100% - 1100px)/2 + 24px)); width:100%; max-width:none !important; }
.jk-grid-2{ grid-template-columns:repeat(2,1fr); }
.jk-page-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px; }
.jk-stat-card{ background:#f8f9fa; border:1px solid transparent; border-radius:12px; padding:22px; text-align:center; box-shadow:none; transition:all .35s cubic-bezier(.4,0,.2,1); }
.jk-stat-card:hover{ background:#fff; box-shadow:0 12px 40px rgba(0,0,0,0.12); transform:translateY(-6px); border-color:var(--jk-line); }

/* Scroll Reveal 的 .reveal.in 会覆盖卡片 :hover 的 transform，这里提高特异性让上浮生效 */
.jk-product-card.reveal.in:hover,
.jk-feature.reveal.in:hover,
.jk-card.reveal.in:hover,
.jk-stat-card.reveal.in:hover{
  transform:translateY(-6px);
}
.jk-popup-card.reveal.in:hover{
  transform:translateY(-4px);
}
.jk-stat-card strong{ display:block; font-size:30px; font-weight:800; color:var(--jk-dark); }
.jk-stat-card span{ font-size:13px; color:var(--jk-muted); }
.jk-steps{ list-style:none; counter-reset:step; padding:0; margin:0 0 18px; }
.jk-steps li{ counter-increment:step; position:relative; padding:12px 0 12px 46px; font-size:15px; line-height:1.65; color:var(--jk-ink); border-bottom:1px solid var(--jk-line); }
.jk-steps li:before{ content:counter(step); position:absolute; left:0; top:12px; width:30px; height:30px; background:var(--jk); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }
.jk-cta-line{ margin-top:24px !important; }
.jk-tech-cards{ max-width:1100px; margin:34px auto 0; }
.jk-contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; max-width:1100px; margin:44px auto 0; padding-bottom:60px; }
.jk-contact-list{ list-style:none; padding:0; margin:0 0 22px; }
.jk-contact-list li{ padding:10px 0; border-bottom:1px solid var(--jk-line); font-size:15px; color:var(--jk-ink); }
.jk-contact-list strong{ display:inline-block; min-width:110px; color:var(--jk-dark); }
.jk-contact-note{ background:var(--jk-bg); border:1px solid var(--jk-line); border-radius:12px; padding:20px 24px; }
.jk-contact-note h3{ font-size:16px; margin:0 0 10px; }
.jk-contact-note ul{ list-style:none; margin:0; padding:0; }
.jk-contact-note li{ padding:6px 0 6px 26px; position:relative; font-size:14px; color:var(--jk-muted); }
.jk-contact-note li:before{ content:"\2713"; position:absolute; left:0; top:6px; color:var(--jk); font-weight:800; }
.jk-contact-form h2{ font-size:24px; margin:0 0 18px; }
.jk-contact-form .wpcf7-form label{ display:block; font-weight:700; font-size:13px; margin-bottom:6px; }
.jk-contact-form .wpcf7-form input[type=text],
.jk-contact-form .wpcf7-form input[type=email],
.jk-contact-form .wpcf7-form input[type=tel],
.jk-contact-form .wpcf7-form select,
.jk-contact-form .wpcf7-form textarea{ width:100%; border:1px solid var(--jk-line); border-radius:8px; padding:11px 13px; font-size:15px; font-family:inherit; background:#F9FAFB; }
.jk-contact-form .wpcf7-form input:focus, .jk-contact-form .wpcf7-form textarea:focus{ outline:2px solid var(--jk); border-color:transparent; }
.jk-contact-form .wpcf7-submit{ background:var(--jk); color:#fff; border:0; border-radius:8px; padding:13px 30px; font-size:15px; font-weight:800; cursor:pointer; transition:.2s; }
.jk-contact-form .wpcf7-submit:hover{ background:var(--jk-dark); }

@media(max-width:860px){
  .jk-page-stats{ grid-template-columns:repeat(2,1fr); }
  .jk-contact-grid{ grid-template-columns:1fr; gap:32px; }
  .jk-grid-2{ grid-template-columns:1fr; }
  .jk-about-hero-head h1{ font-size:32px; }
  .jk-about-video{ border-radius:12px; }
}

/* ============ ABOUT / QUALITY / CUSTOMER STORY PAGES ============ */
.jk-page-intro{ background:#fff; padding:80px 0; }
.jk-page-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:64px;
  align-items:center;
}
.jk-page-grid--reverse{ grid-template-columns:0.9fr 1.1fr; direction:rtl; }
.jk-page-grid--reverse > *{ direction:ltr; }
.jk-page-media{
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(15,23,42,.12);
}
.jk-page-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  aspect-ratio:16/10;
}
.jk-page-text .jk-eyebrow{ color:#FF6B2B; font-size:14px; font-weight:800; letter-spacing:2px; text-transform:uppercase; display:inline-block; margin-bottom:12px; }
.jk-page-text h2{ font-size:34px; font-weight:800; line-height:1.15; margin:0 0 18px; color:#1A1A2E; }
.jk-page-text p{ font-size:16px; line-height:1.75; color:var(--jk-muted); margin:0 0 16px; }
/* ===== 服务理念板块（参考 concept-section.html，JK 橙配色） ===== */
.jk-service-concept{ background:var(--jk-bg); padding:100px 0; overflow:hidden; }
.jk-service-concept .jk-wrap{ max-width:100%; padding:0 48px; }

/* 标题区 */
.jk-concept-header{ text-align:center; margin-bottom:72px; }
.jk-concept-label{
  display:inline-block; font-size:14px; font-weight:700; letter-spacing:2px;
  color:#FF6B2B; background:rgba(255,107,43,.08);
  padding:6px 16px; border-radius:20px; margin-bottom:20px;
}
.jk-concept-title{
  font-size:clamp(32px,5vw,44px); font-weight:800; line-height:1.2;
  margin:0 0 16px; color:#1A1A2E;
}
.jk-concept-subtitle{
  font-size:18px; color:var(--jk-muted); max-width:560px; margin:0 auto; line-height:1.7;
}

/* 卡片网格 */
.jk-concept-cards{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.jk-concept-cards::before{
  content:""; position:absolute; top:64px; left:16.66%; right:16.66%; height:2px;
  background:linear-gradient(90deg, transparent, var(--jk-line) 10%, var(--jk-line) 90%, transparent);
  z-index:0;
}
.jk-concept-card{
  position:relative; z-index:1; background:#fff; border-radius:24px;
  padding:44px 36px; box-shadow:0 4px 24px rgba(15,23,42,.06);
  border:1px solid var(--jk-line);
  transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1), border-color .4s ease;
}
.jk-concept-card:hover{ transform:translateY(-12px); box-shadow:0 16px 48px rgba(15,23,42,.12); border-color:rgba(255,107,43,.35); }
.jk-concept-card.reveal.in:hover{ transform:translateY(-12px); }

/* 编号气泡 */
.jk-card-number{
  width:56px; height:56px; border-radius:50%; background:var(--jk-bg);
  color:#FF6B2B; font-size:22px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:24px; transition:all .3s ease;
}
.jk-concept-card:hover .jk-card-number{ background:#FF6B2B; color:#fff; transform:scale(1.1); }

/* 卡片配图容器 */
.jk-card-image{
  width:100%; height:180px; border-radius:16px; overflow:hidden;
  margin-bottom:24px; position:relative;
  background:linear-gradient(135deg, rgba(255,107,43,.18), rgba(0,180,216,.18));
}
.jk-card-image img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.jk-concept-card:hover .jk-card-image img{ transform:scale(1.08); }
.jk-card-icon{
  position:absolute; bottom:12px; left:16px; width:40px; height:40px;
  background:rgba(255,255,255,.95); border-radius:10px;
  display:flex; align-items:center; justify-content:center; z-index:2;
  backdrop-filter:blur(4px);
}
.jk-card-icon svg{ width:22px; height:22px; stroke:#FF6B2B; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.jk-card-tag{ display:inline-block; font-size:13px; font-weight:700; color:#FF6B2B; letter-spacing:1px; margin-bottom:10px; }
.jk-card-title{ font-size:22px; font-weight:700; margin:0 0 12px; line-height:1.3; color:#1A1A2E; }
.jk-card-desc{ font-size:15px; color:var(--jk-muted); line-height:1.8; }

.jk-page-features{ background:#fff; padding:80px 0; }
.jk-page-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.jk-page-feature{
  background:var(--jk-bg);
  border-radius:18px;
  padding:32px 24px;
  border:1px solid var(--jk-line);
  transition:transform .3s ease, border-color .3s ease;
}
.jk-page-feature:hover{ transform:translateY(-6px); border-color:#FF6B2B; }
.jk-feature-icon{
  width:56px; height:56px;
  background:rgba(255,107,43,.12);
  color:#FF6B2B;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.jk-page-feature h3{ font-size:18px; font-weight:700; margin:0 0 10px; color:#1A1A2E; }
.jk-page-feature p{ font-size:14px; line-height:1.65; color:var(--jk-muted); margin:0; }
.jk-page-testimonials{ background:var(--jk-bg); padding:80px 0; }
.jk-page-testi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.jk-page-testi{
  background:#fff;
  border-radius:18px;
  padding:32px 28px;
  border:1px solid var(--jk-line);
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.jk-page-testi > p{
  font-size:16px;
  line-height:1.75;
  color:var(--jk-ink);
  margin:0 0 24px;
  position:relative;
  padding-left:22px;
}
.jk-page-testi > p:before{
  content:"\"";
  position:absolute;
  left:0; top:-8px;
  font-size:40px;
  color:#FF6B2B;
  font-family:Georgia, serif;
  line-height:1;
}
.jk-testi-author strong{ display:block; font-size:15px; color:#1A1A2E; margin-bottom:2px; }
.jk-testi-author span{ font-size:13px; color:var(--jk-muted); }
.jk-page-cta{
  background:var(--jk-bg);
  color:#fff;
  padding:80px 0;
  text-align:center;
}
.jk-page-cta .jk-wrap{
  position:relative;
  overflow:hidden;
  background-color:#1A1A2E;
  background-image:
    radial-gradient(circle at 85% 12%, rgba(255,107,43,.22), transparent 55%),
    radial-gradient(circle at 10% 90%, rgba(0,180,216,.18), transparent 55%),
    radial-gradient(rgba(255,255,255,.05) 1px, transparent 1.5px);
  background-size:100% 100%, 100% 100%, 22px 22px;
  border-radius:24px;
  padding:72px 40px;
}
.jk-page-cta h2{ font-size:36px; font-weight:800; margin:0 0 14px; color:#fff; }
.jk-page-cta p{ font-size:17px; opacity:.9; margin:0 0 32px; }
.jk-btn-primary{
  display:inline-block;
  background:#FF6B2B;
  color:#fff;
  padding:16px 32px;
  border-radius:12px;
  font-size:16px;
  font-weight:700;
  text-decoration:none;
  transition:background .2s, transform .2s;
}
.jk-btn-primary:hover{ background:#E85D1A; transform:translateY(-2px); }

/* ============ ABOUT JK — JOURNEY TIMELINE ============ */
.jk-about-journey{ background:#fff; padding:90px 0; overflow:hidden; }
.jk-journey-header{ text-align:center; margin-bottom:64px; }
.jk-journey-eyebrow{
  display:inline-block; font-size:13px; font-weight:800; letter-spacing:2.5px;
  text-transform:uppercase; color:#FF6B2B; margin-bottom:14px;
  padding:6px 14px; background:rgba(255,107,43,.08); border:1px solid rgba(255,107,43,.2);
  border-radius:6px;
}
.jk-journey-header h2{
  font-size:clamp(30px,4vw,42px); font-weight:800; line-height:1.15;
  margin:0 0 18px; color:#1A1A2E;
}
.jk-journey-header p{
  font-size:17px; color:var(--jk-muted); max-width:640px;
  margin:0 auto; line-height:1.75;
}

.jk-timeline{ position:relative; max-width:980px; margin:0 auto; padding:12px 0 24px; }
.jk-timeline-line{
  position:absolute; left:50%; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg, #FF6B2B 0%, #FFB347 50%, #FF6B2B 100%);
  transform:translateX(-50%); border-radius:2px;
}

.jk-timeline-item{
  position:relative; display:grid; grid-template-columns:1fr 80px 1fr;
  align-items:start; gap:0; margin-bottom:48px;
}
.jk-timeline-item:last-child{ margin-bottom:0; }
.jk-timeline-item:nth-child(odd) .jk-timeline-card{ grid-column:1; justify-self:end; text-align:right; }
.jk-timeline-item:nth-child(odd) .jk-timeline-card .jk-timeline-year-row{ justify-content:flex-end; }
.jk-timeline-item:nth-child(odd) .jk-timeline-card .jk-timeline-row{ flex-direction:row-reverse; text-align:right; }
.jk-timeline-item:nth-child(even) .jk-timeline-card{ grid-column:3; justify-self:start; text-align:left; }
.jk-timeline-item:nth-child(even) .jk-timeline-card .jk-timeline-year-row{ justify-content:flex-start; }
.jk-timeline-node{
  grid-column:2; justify-self:center; width:18px; height:18px; border-radius:50%;
  background:#fff; border:3px solid #FF6B2B; box-shadow:0 0 0 4px rgba(255,107,43,.12);
  margin-top:24px; position:relative; z-index:2;
}

.jk-timeline-card{
  position:relative; width:100%; max-width:420px; background:#fff;
  border:1px solid var(--jk-line); border-radius:20px; padding:26px 28px;
  box-shadow:0 14px 40px rgba(15,23,42,.08);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.jk-timeline-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 56px rgba(15,23,42,.12);
  border-color:rgba(255,107,43,.35);
}
.jk-timeline-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, #FF6B2B, #FF8C5A);
  border-radius:20px 20px 0 0; opacity:.85;
}

/* 卡片侧边悬停图片 —— 玻璃拟态质感 */
.jk-timeline-image{
  position:absolute; top:0; width:220px; height:100%; border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    0 18px 50px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 0 0 22px rgba(255,255,255,.20);
  z-index:2; pointer-events:none;
  transition:clip-path .55s cubic-bezier(.22,.61,.36,1), opacity .4s ease, box-shadow .4s ease;
}
.jk-timeline-image img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(1.06) contrast(1.03);
}
/* 玻璃高光反射层 */
.jk-timeline-image::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(135deg,
    rgba(255,255,255,.42) 0%,
    rgba(255,255,255,0) 38%,
    rgba(255,255,255,0) 62%,
    rgba(255,255,255,.18) 100%);
  mix-blend-mode:screen; pointer-events:none;
}
.jk-timeline-item:nth-child(odd) .jk-timeline-image{
  right:100%;
  clip-path:inset(0 0 0 90%);
  border-radius:20px 0 0 20px;
}
.jk-timeline-item:nth-child(even) .jk-timeline-image{
  left:100%;
  clip-path:inset(0 90% 0 0);
  border-radius:0 20px 20px 0;
}
.jk-timeline-card:hover .jk-timeline-image{
  clip-path:inset(0 0 0 0);
  opacity:1;
  box-shadow:
    0 26px 64px rgba(15,23,42,.24),
    inset 0 1px 0 rgba(255,255,255,.8),
    inset 0 0 30px rgba(255,255,255,.26);
}
.jk-timeline-card:hover{ z-index:5; }

@media(max-width:1024px){
  .jk-timeline-image{ display:none; }
}

.jk-timeline-index{
  position:absolute; top:16px; right:20px; font-size:46px; font-weight:900;
  line-height:1; color:transparent; -webkit-text-stroke:1px rgba(15,23,42,.08);
  pointer-events:none; font-family:'Inter', sans-serif;
}
.jk-timeline-item:nth-child(odd) .jk-timeline-index{ right:auto; left:20px; }

.jk-timeline-year-row{
  display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap;
}
.jk-timeline-year{
  font-size:26px; font-weight:900; letter-spacing:.5px; line-height:1;
  background:linear-gradient(135deg, #FF6B2B 0%, #FF8C5A 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.jk-timeline-phase{
  font-size:12px; font-weight:700; color:#FF6B2B; letter-spacing:1px;
  padding:5px 12px; border:1px solid rgba(255,107,43,.25);
  border-radius:100px; background:rgba(255,107,43,.06);
  white-space:nowrap;
}

.jk-timeline-title{
  font-size:19px; font-weight:700; margin:0 0 16px; color:#1A1A2E; line-height:1.35;
}

.jk-timeline-rows{ display:flex; flex-direction:column; gap:10px; }
.jk-timeline-row{
  display:flex; align-items:flex-start; gap:12px;
  padding:11px 13px; background:#F9FAFB; border-radius:12px;
  border-left:3px solid transparent; transition:background .25s ease, border-color .25s ease;
}
.jk-timeline-item:nth-child(odd) .jk-timeline-row{ border-left:none; border-right:3px solid transparent; }
.jk-timeline-row:hover{ background:#F3F4F6; border-color:#FF6B2B; }

.jk-timeline-icon{
  width:32px; height:32px; min-width:32px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  font-size:15px; background:rgba(255,107,43,.1);
}
.jk-timeline-icon-tech{ background:rgba(0,180,216,.1); }
.jk-timeline-icon-base{ background:rgba(255,107,43,.1); }
.jk-timeline-icon-scale{ background:rgba(168,85,247,.1); }

.jk-timeline-row-txt{ flex:1; min-width:0; }
.jk-timeline-row-label{
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px;
  color:var(--jk-muted); margin-bottom:3px;
}
.jk-timeline-row-value{
  font-size:14px; line-height:1.65; color:#4B5563;
}
.jk-timeline-row-value strong{ color:#1A1A2E; font-weight:600; }
.jk-timeline-num{
  font-weight:800; color:#FF6B2B;
}

.jk-timeline-note{
  margin-top:14px; padding:13px 15px; background:rgba(255,107,43,.05);
  border-left:3px solid #FF6B2B; border-radius:10px;
  font-size:13.5px; line-height:1.7; color:#4B5563;
}
.jk-timeline-item:nth-child(odd) .jk-timeline-note{ border-left:none; border-right:3px solid #FF6B2B; text-align:right; }
.jk-timeline-note strong{ color:#FF6B2B; font-weight:700; }

/* 发展历程统计横幅 */
.jk-journey-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  margin-top:72px; padding:36px; background:#F9FAFB;
  border:1px solid var(--jk-line); border-radius:24px;
  position:relative; overflow:hidden;
}
.jk-journey-stats::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(255,107,43,.06) 0%, rgba(0,180,216,.03) 100%);
  pointer-events:none;
}
.jk-journey-stat{ text-align:center; position:relative; z-index:1; }
.jk-journey-number{
  display:block; font-size:40px; font-weight:900; line-height:1; margin-bottom:8px;
  background:linear-gradient(135deg, #FF6B2B 0%, #FF8C5A 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.jk-journey-stat-label{ font-size:14px; color:var(--jk-muted); font-weight:600; letter-spacing:.5px; }

@media(max-width:1024px){
  .jk-timeline{ max-width:720px; }
  .jk-timeline-line{ left:30px; transform:none; }
  .jk-timeline-item{
    grid-template-columns:60px 1fr; gap:0 24px;
    margin-bottom:40px;
  }
  .jk-timeline-item:nth-child(odd) .jk-timeline-card,
  .jk-timeline-item:nth-child(even) .jk-timeline-card{
    grid-column:2; justify-self:stretch; max-width:none; text-align:left;
  }
  .jk-timeline-item:nth-child(odd) .jk-timeline-card .jk-timeline-year-row,
  .jk-timeline-item:nth-child(even) .jk-timeline-card .jk-timeline-year-row{ justify-content:flex-start; }
  .jk-timeline-item:nth-child(odd) .jk-timeline-card .jk-timeline-row,
  .jk-timeline-item:nth-child(even) .jk-timeline-card .jk-timeline-row{ flex-direction:row; text-align:left; border-right:none; border-left:3px solid transparent; }
  .jk-timeline-item:nth-child(odd) .jk-timeline-card .jk-timeline-row:hover,
  .jk-timeline-item:nth-child(even) .jk-timeline-card .jk-timeline-row:hover{ border-color:#FF6B2B; }
  .jk-timeline-node{ grid-column:1; justify-self:start; margin-left:16px; margin-top:22px; }
  .jk-timeline-item:nth-child(odd) .jk-timeline-index,
  .jk-timeline-item:nth-child(even) .jk-timeline-index{ right:20px; left:auto; }
  .jk-timeline-item:nth-child(odd) .jk-timeline-note,
  .jk-timeline-item:nth-child(even) .jk-timeline-note{ border-right:none; border-left:3px solid #FF6B2B; text-align:left; }
  .jk-journey-stats{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:640px){
  .jk-about-journey{ padding:64px 0; }
  .jk-journey-header{ margin-bottom:48px; }
  .jk-journey-header h2{ font-size:28px; }
  .jk-timeline{ padding-left:8px; }
  .jk-timeline-line{ left:24px; }
  .jk-timeline-item{ grid-template-columns:48px 1fr; gap:0 16px; margin-bottom:32px; }
  .jk-timeline-node{ width:14px; height:14px; margin-left:12px; margin-top:18px; border-width:2.5px; }
  .jk-timeline-card{ padding:22px 20px; border-radius:16px; }
  .jk-timeline-index{ font-size:38px; top:12px; right:16px; }
  .jk-timeline-year{ font-size:22px; }
  .jk-timeline-title{ font-size:17px; }
  .jk-timeline-row{ padding:10px 12px; }
  .jk-timeline-row-value{ font-size:13px; }
  .jk-timeline-note{ font-size:12.5px; padding:11px 13px; }
  .jk-journey-stats{ grid-template-columns:1fr 1fr; gap:16px; padding:28px 20px; margin-top:56px; }
  .jk-journey-number{ font-size:32px; }
}

@media(max-width:1024px){
  .jk-page-grid{ grid-template-columns:1fr; gap:40px; }
  .jk-page-grid--reverse{ grid-template-columns:1fr; direction:ltr; }
  .jk-page-feature-grid{ grid-template-columns:repeat(2,1fr); }
  .jk-page-testi-grid{ grid-template-columns:1fr; }
  .jk-concept-cards{ grid-template-columns:1fr; gap:24px; }
  .jk-concept-cards::before{ display:none; }
}
@media(max-width:640px){
  .jk-about-hero-head h1{ font-size:26px; }
  .jk-about-hero-head p{ font-size:15px; }
  .jk-page-text h2{ font-size:26px; }
  .jk-page-feature-grid{ grid-template-columns:1fr; }
  .jk-page-cta h2{ font-size:26px; }
}

/* ============ QUALITY CONTROL PAGE ============ */
.jk-eyebrow--light{ color:#FFB37A; }

/* --- 1. Benchmark --- */
.jk-qc-benchmark{ background:var(--jk-bg); padding:96px 0; overflow:hidden; }
.jk-qc-benchmark .jk-wrap{ max-width:100%; padding:0 48px; }
.jk-qc-benchmark-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.jk-qc-title{ font-size:clamp(32px,4.4vw,48px); font-weight:800; line-height:1.1; margin:0 0 18px; color:#1A1A2E; }
.jk-qc-lead{ font-size:17px; line-height:1.8; color:var(--jk-muted); margin:0 0 36px; max-width:560px; }
.jk-qc-compare{ background:#fff; border:1px solid var(--jk-line); border-radius:18px; padding:26px 28px; box-shadow:0 14px 40px rgba(15,23,42,.06); }
.jk-qc-compare-head{ display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:center; margin-bottom:6px; font-size:12px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--jk-muted); }
.jk-qc-compare-head .jk-c-jk{ color:#fff; background:#1A1A2E; padding:5px 11px; border-radius:99px; font-size:11px; letter-spacing:.6px; }
.jk-qc-compare-head .jk-c-ind{ color:var(--jk-muted); background:var(--jk-bg); padding:5px 11px; border-radius:99px; font-size:11px; letter-spacing:.6px; }
.jk-qc-crow{ display:grid; grid-template-columns:1fr 1fr .85fr; gap:14px; align-items:center; padding:13px 0; border-top:1px solid var(--jk-line); }
.jk-c-label{ font-size:14px; font-weight:600; color:var(--jk-ink); }
.jk-c-bars{ display:flex; flex-direction:column; gap:5px; }
.jk-c-bar{ height:9px; border-radius:6px; position:relative; overflow:hidden; transform:scaleX(0); transform-origin:left center; transition:transform 1.1s cubic-bezier(.22,.61,.36,1); }
.jk-qc-compare.in .jk-c-bar{ transform:scaleX(1); }
.jk-c-jk{ background:#1A1A2E; }
.jk-c-ind{ background:#E2E8F0; }

/* 进度条加载后的微光扫过 */
.jk-c-jk::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform:translateX(-100%);
  animation:jk-bar-shimmer 2.4s ease-in-out infinite;
  animation-delay:1.1s;
}
@keyframes jk-bar-shimmer{ 0%,100%{ transform:translateX(-100%); } 50%{ transform:translateX(100%); } }
.jk-c-val{ font-size:12.5px; color:var(--jk-muted); white-space:nowrap; text-align:right; }
.jk-qc-hero-media{ position:relative; border-radius:24px; overflow:hidden; box-shadow:0 30px 70px rgba(15,23,42,.18); border:1px solid rgba(255,255,255,.6); }
.jk-qc-hero-media img{ width:100%; height:100%; max-height:540px; object-fit:cover; display:block; transition:transform .6s ease; }
.jk-qc-hero-media:hover img{ transform:scale(1.04); }
.jk-qc-hero-badge{ position:absolute; left:18px; bottom:18px; background:rgba(15,23,42,.78); color:#fff; font-size:13px; font-weight:700; padding:8px 16px; border-radius:99px; backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.25); }

/* --- 2. Total Quality Control Standard --- */
.jk-qc-system{ background:#fff; padding:96px 0; overflow:hidden; }
.jk-qc-system-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.jk-qc-system-media{ border-radius:24px; overflow:hidden; box-shadow:0 24px 60px rgba(15,23,42,.12); }
.jk-qc-system-media img{ width:100%; display:block; object-fit:cover; }
.jk-qc-h2{ font-size:clamp(28px,3.4vw,38px); font-weight:800; line-height:1.2; margin:0 0 16px; color:#1A1A2E; }
.jk-qc-system-text > p{ font-size:16px; line-height:1.8; color:var(--jk-muted); margin:0 0 32px; }
.jk-qc-pillars{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.jk-qc-pillar{ background:var(--jk-bg); border:1px solid var(--jk-line); border-radius:18px; padding:26px 24px; transition:transform .3s, box-shadow .3s, border-color .3s; }
.jk-qc-pillar:hover{ transform:translateY(-6px); box-shadow:0 18px 44px rgba(15,23,42,.1); border-color:rgba(255,107,43,.35); }
.jk-qc-pillar-num{ display:inline-block; font-size:13px; font-weight:800; color:#FF6B2B; letter-spacing:1px; margin-bottom:10px; }
.jk-qc-pillar h3{ font-size:17px; font-weight:700; margin:0 0 8px; color:#1A1A2E; }
.jk-qc-pillar p{ font-size:14px; line-height:1.7; color:var(--jk-muted); margin:0; }

/* --- 3. 4 Quality Control Levels --- */
.jk-qc-levels-section{ background:linear-gradient(180deg,#0F172A 0%, #131c33 100%); padding:96px 0; overflow:hidden; color:#fff; }
.jk-qc-head{ text-align:center; margin-bottom:56px; }
.jk-qc-head h2{ color:#fff; font-size:clamp(28px,3.6vw,40px); font-weight:800; margin:0 0 14px; }
.jk-qc-head p{ color:rgba(255,255,255,.72); font-size:16px; max-width:560px; margin:0 auto; line-height:1.7; }
.jk-qc-levels{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; }
.jk-qc-level{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:30px 24px; position:relative; transition:transform .3s, border-color .3s, background .3s; }
.jk-qc-level:hover{ transform:translateY(-6px); border-color:rgba(255,140,90,.5); background:rgba(255,255,255,.07); }
.jk-qc-level-no{ display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:linear-gradient(135deg,#FF8C5A,#FF6B2B); color:#fff; font-size:22px; font-weight:800; margin-bottom:18px; box-shadow:0 10px 26px rgba(255,107,43,.35); position:relative; z-index:2; }
.jk-qc-level-tag{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#7FD3E6; background:rgba(0,180,216,.12); padding:4px 10px; border-radius:99px; margin-bottom:12px; }
.jk-qc-level h3{ font-size:18px; font-weight:700; margin:0 0 10px; color:#fff; }
.jk-qc-level p{ font-size:14px; line-height:1.7; color:rgba(255,255,255,.7); margin:0; }

/* --- 4. Total Quality Control Process --- */
.jk-qc-process{ background:var(--jk-bg); padding:96px 0; overflow:hidden; }
.jk-qc-process-banner{ position:relative; border-radius:24px; overflow:hidden; margin-bottom:48px; box-shadow:0 24px 60px rgba(15,23,42,.14); }
.jk-qc-process-banner img{ width:100%; height:300px; object-fit:cover; display:block; }
.jk-qc-process-banner-overlay{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:0 52px; background:linear-gradient(90deg, rgba(15,23,42,.82) 0%, rgba(15,23,42,.45) 55%, rgba(15,23,42,0) 100%); color:#fff; }
.jk-qc-process-banner-overlay h2{ font-size:clamp(26px,3.2vw,36px); font-weight:800; margin:8px 0 10px; }
.jk-qc-process-banner-overlay p{ font-size:16px; color:rgba(255,255,255,.8); max-width:420px; margin:0; }
/* --- Carousel for process steps --- */
.jk-qc-carousel{ position:relative; padding:10px 0 70px; }
.jk-qc-carousel-track{ display:flex; gap:24px; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.jk-qc-step{
  flex:0 0 310px;
  background:#fff;
  border:1px solid var(--jk-line);
  border-radius:20px;
  padding:34px 28px 30px;
  text-align:center;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), opacity .4s ease, box-shadow .4s ease, border-color .4s ease;
  opacity:.65;
  transform:scale(.94);
}
.jk-qc-step.is-active{
  opacity:1;
  transform:scale(1);
  border-color:#FF6B2B;
  box-shadow:0 20px 50px rgba(255,107,43,.16);
}
.jk-qc-step-icon{ width:72px; height:72px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; border-radius:18px; background:var(--jk-bg); padding:12px; }
.jk-qc-step-icon img{ width:100%; height:100%; object-fit:contain; display:block; }
.jk-qc-step-label{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#FF6B2B; margin-bottom:8px; }
.jk-qc-step h3{ font-size:18px; font-weight:700; margin:0 0 10px; color:#1A1A2E; }
.jk-qc-step p{ font-size:14px; line-height:1.7; color:var(--jk-muted); margin:0; }

.jk-qc-carousel-nav{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:28px; }
.jk-qc-carousel-prev,
.jk-qc-carousel-next{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 22px;
  border-radius:999px;
  border:1px solid rgba(255,107,43,.25);
  background:#fff;
  color:#1A1A2E;
  font-size:14px; font-weight:700;
  cursor:pointer;
  transition:transform .2s, background .2s, border-color .2s, color .2s, box-shadow .2s;
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}
.jk-qc-carousel-prev svg,
.jk-qc-carousel-next svg{ flex:none; stroke:#FF6B2B; transition:transform .25s, stroke .25s; }
.jk-qc-carousel-prev:hover,
.jk-qc-carousel-next:hover{ transform:translateY(-2px); background:#FF6B2B; color:#fff; border-color:#FF6B2B; box-shadow:0 10px 26px rgba(255,107,43,.32); }
.jk-qc-carousel-prev:hover svg,
.jk-qc-carousel-next:hover svg{ stroke:#fff; }
.jk-qc-carousel-prev:disabled,
.jk-qc-carousel-next:disabled{ opacity:.4; cursor:not-allowed; transform:none; box-shadow:none; background:#f5f5f7; border-color:#e2e2e8; color:#aaa; }
.jk-qc-carousel-prev:disabled svg,
.jk-qc-carousel-next:disabled svg{ stroke:#aaa; }

.jk-qc-carousel-dots{ display:flex; align-items:center; gap:10px; }
.jk-qc-carousel-dots button{
  width:10px; height:10px;
  border-radius:50%;
  border:none;
  background:#E2E8F0;
  cursor:pointer;
  transition:background .25s, transform .25s, width .25s;
  padding:0;
}
.jk-qc-carousel-dots button.active{ background:#FF6B2B; transform:scale(1.25); }
.jk-qc-carousel-dots button:hover{ background:#FFB899; }

/* --- 5. Screen Test Process --- */
.jk-qc-tests-section{ background:#fff; padding:96px 0; overflow:hidden; }
.jk-qc-tests-head{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-bottom:18px; }
.jk-qc-tests-head .jk-eyebrow{ color:#FF6B2B; }
.jk-qc-tests-head h2{ font-size:clamp(28px,3.4vw,38px); font-weight:800; margin:0; color:#1A1A2E; }
.jk-qc-tests-head-media{ border-radius:20px; overflow:hidden; box-shadow:0 18px 46px rgba(15,23,42,.12); }
.jk-qc-tests-head-media img{ width:100%; display:block; object-fit:cover; max-height:240px; }
.jk-qc-tests-intro{ font-size:16px; color:var(--jk-muted); margin:0 0 40px; max-width:680px; line-height:1.7; }
.jk-qc-tests{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.jk-qc-test{ background:var(--jk-bg); border:1px solid var(--jk-line); border-radius:20px; padding:30px 26px; transition:transform .3s, box-shadow .3s, border-color .3s; }
.jk-qc-test:hover{ transform:translateY(-6px); box-shadow:0 20px 48px rgba(15,23,42,.1); border-color:rgba(0,180,216,.35); }
.jk-qc-test-icon{ width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(255,107,43,.1); color:#FF6B2B; margin-bottom:18px; transition:background .3s, color .3s; }
.jk-qc-test:hover .jk-qc-test-icon{ background:linear-gradient(135deg,#FF8C5A,#FF6B2B); color:#fff; }
.jk-qc-test h3{ font-size:17px; font-weight:700; margin:0 0 9px; color:#1A1A2E; }
.jk-qc-test p{ font-size:14px; line-height:1.75; color:var(--jk-muted); margin:0; }

/* ===== QC 卡片进阶动效 ===== */
/* 网格透视，让卡片能 3D 倾斜 */
.jk-qc-pillars,
.jk-qc-levels,
.jk-qc-steps,
.jk-qc-tests{ perspective:1100px; }

.jk-qc-pillar,
.jk-qc-level,
.jk-qc-step,
.jk-qc-test{ transform-style:preserve-3d; will-change:transform; }

/* 光标跟随光晕 */
.jk-qc-pillar::before,
.jk-qc-step::before,
.jk-qc-test::before,
.jk-qc-level::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(255,107,43,.18), transparent 60%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
  z-index:1;
}
.jk-qc-level::before{
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(255,140,90,.24), transparent 60%);
}
.jk-qc-pillar:hover::before,
.jk-qc-step:hover::before,
.jk-qc-test:hover::before,
.jk-qc-level:hover::before{ opacity:1; }
/* 内容浮在光晕之上 */
.jk-qc-pillar > *, .jk-qc-level > *, .jk-qc-step > *, .jk-qc-test > *{ position:relative; z-index:2; }

/* 流光描边（level + test 卡片）*/
@property --jk-angle{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes jk-spin-border{ to{ --jk-angle:360deg; } }
.jk-qc-level::after,
.jk-qc-test::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:conic-gradient(from var(--jk-angle),
              transparent 0deg,
              rgba(255,107,43,.85) 90deg,
              rgba(0,180,216,.85) 180deg,
              transparent 300deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
  animation:jk-spin-border 4.5s linear infinite;
}
.jk-qc-level:hover::after,
.jk-qc-test:hover::after{ opacity:1; }

/* 图标弹跳 + 旋转 */
.jk-qc-test-icon{ transition:transform .4s cubic-bezier(.34,1.56,.64,1), background .3s, color .3s; }
.jk-qc-test:hover .jk-qc-test-icon{ transform:scale(1.14) rotate(-10deg); background:linear-gradient(135deg,#FF8C5A,#FF6B2B); color:#fff; }

/* 编号徽标：悬浮翻转 / 缩放 */
.jk-qc-pillar-num{ transition:transform .45s cubic-bezier(.2,.8,.2,1), background .3s, box-shadow .3s; }
.jk-qc-pillar:hover .jk-qc-pillar-num{ transform:translateY(-3px) scale(1.08); }
.jk-qc-step-icon{ transition:transform .45s cubic-bezier(.2,.8,.2,1), background .3s; }
.jk-qc-step:hover .jk-qc-step-icon{ transform:scale(1.1) rotate(-6deg); background:rgba(255,107,43,.12); }

.jk-qc-level-no{ transition:transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .4s; }
.jk-qc-level:hover .jk-qc-level-no{ transform:rotateY(360deg) scale(1.08); box-shadow:0 14px 34px rgba(255,107,43,.5); }

/* 入场：卡片轻微缩放进入，更有层次（不覆盖 scroll-reveal 上浮）*/
.jk-qc-pillar.in,
.jk-qc-level.in,
.jk-qc-step.in,
.jk-qc-test.in{
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),
             transform .7s cubic-bezier(.22,.61,.36,1),
             box-shadow .3s, border-color .3s, background .3s;
}

/* --- QC responsive --- */
@media(max-width:1024px){
  .jk-qc-benchmark-grid, .jk-qc-system-grid, .jk-qc-tests-head{ grid-template-columns:1fr; gap:40px; }
  .jk-qc-levels{ grid-template-columns:repeat(2,1fr); }
  .jk-qc-tests{ grid-template-columns:repeat(2,1fr); }
  .jk-qc-step{ flex:0 0 280px; padding:30px 24px 26px; }
}
@media(max-width:640px){
  .jk-qc-benchmark, .jk-qc-system, .jk-qc-levels-section, .jk-qc-process, .jk-qc-tests-section{ padding:64px 0; }
  .jk-qc-title{ font-size:28px; }
  .jk-qc-levels{ grid-template-columns:1fr; }
  .jk-qc-tests{ grid-template-columns:1fr; }
  .jk-qc-step{ flex:0 0 260px; padding:26px 22px 24px; }
  .jk-qc-step-icon{ width:64px; height:64px; }
  .jk-qc-compare-head{ display:none; }
  .jk-qc-crow{ grid-template-columns:1fr; gap:6px; }
  .jk-c-val{ text-align:left; }
  .jk-qc-process-banner img{ height:220px; }
  .jk-qc-process-banner-overlay{ padding:0 24px; }
  .jk-qc-pillars{ grid-template-columns:1fr; }
}

/* ============ CUSTOMER STORY ============ */

/* --- Page Hero --- */
.jk-cs-hero{ position:relative; min-height:520px; display:flex; align-items:center; padding:140px 0 90px; overflow:hidden; }
.jk-cs-hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); transition:transform 8s ease; }
.jk-cs-hero.in .jk-cs-hero-bg{ transform:scale(1); }
.jk-cs-hero-overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(26,26,46,.92) 0%, rgba(26,26,46,.72) 55%, rgba(26,26,46,.35) 100%); }
.jk-cs-hero .jk-wrap{ position:relative; z-index:2; }
.jk-cs-hero-content{ max-width:640px; color:#fff; }
.jk-cs-hero .jk-eyebrow{ color:#FF6B2B; border-left-color:#FF6B2B; }
.jk-cs-hero-title{ font-size:clamp(38px,5vw,56px); font-weight:800; line-height:1.1; margin:0 0 18px; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.45); }
.jk-cs-hero-lead{ font-size:18px; line-height:1.7; color:rgba(255,255,255,.8); margin:0; }

/* --- Case Banner --- */
.jk-cs-case{ background:#fff; }
.jk-cs-case-alt{ background:var(--jk-bg); }
.jk-cs-case-banner{ position:relative; height:360px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.jk-cs-case-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.06); transition:transform 7s ease; }
.jk-cs-case-banner.in .jk-cs-case-bg{ transform:scale(1); }
.jk-cs-case-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,26,46,.78) 0%, rgba(26,26,46,.55) 100%); }
.jk-cs-case-banner .jk-wrap{ position:relative; z-index:2; text-align:center; }
.jk-cs-case-title{ font-size:clamp(34px,4.5vw,48px); font-weight:800; color:#fff; margin:0; text-shadow:0 4px 24px rgba(0,0,0,.35); }

.jk-cs-case-body{ padding:72px 0 96px; }
.jk-cs-case-body .jk-wrap{ max-width:100%; padding:0 48px; }

/* --- Block Title --- */
.jk-cs-block{ margin-bottom:64px; }
.jk-cs-block:last-child{ margin-bottom:0; }
.jk-cs-block-title{ font-size:clamp(24px,3vw,30px); font-weight:800; margin:0 0 28px; color:#1A1A2E; }
.jk-cs-case-alt .jk-cs-block-title{ color:#1A1A2E; }

/* --- Outcomes Stats --- */
.jk-cs-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.jk-cs-stat{ background:#fff; border:1px solid var(--jk-line); border-radius:20px; padding:38px 28px; text-align:center; box-shadow:0 10px 30px rgba(15,23,42,.05); transition:transform .3s, box-shadow .3s, border-color .3s; }
.jk-cs-stat:hover{ transform:translateY(-8px); box-shadow:0 20px 48px rgba(15,23,42,.1); border-color:rgba(255,107,43,.25); }
.jk-cs-case-alt .jk-cs-stat{ background:#fff; }
.jk-cs-stat-num{ font-size:clamp(44px,5vw,58px); font-weight:800; color:#FF6B2B; line-height:1; }
.jk-cs-stat-unit{ font-size:28px; font-weight:700; color:#FF6B2B; margin-left:2px; }
.jk-cs-stat-label{ display:block; margin-top:12px; font-size:15px; font-weight:600; color:var(--jk-muted); }

/* --- Problem Split --- */
.jk-cs-split{ display:grid; gap:56px; align-items:center; }
.jk-cs-split-left{ grid-template-columns:minmax(0,560px) 1fr; }
.jk-cs-split-right{ grid-template-columns:1fr minmax(0,560px); }
.jk-cs-split-text{ max-width:560px; width:100%; }
.jk-cs-split-text p{ font-size:16px; line-height:1.8; color:var(--jk-muted); margin:0 0 18px; }
.jk-cs-list{ list-style:none; padding:0; margin:0; }
.jk-cs-list li{ position:relative; padding-left:26px; margin-bottom:12px; font-size:15px; color:#334155; }
.jk-cs-list li::before{ content:''; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:#FF6B2B; }
.jk-cs-media-frame{ width:100%; height:clamp(320px,34vw,640px); border-radius:20px; overflow:hidden; box-shadow:0 20px 50px rgba(15,23,42,.12); transform:translateZ(0); }
.jk-cs-media-frame img{ width:100%; height:100%; display:block; object-fit:cover; transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.jk-cs-media-frame:hover img{ transform:scale(1.05); }

/* --- Solution Cards --- */
.jk-cs-solutions{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.jk-cs-solution{ background:#fff; border:1px solid var(--jk-line); border-radius:20px; padding:32px 26px; transition:transform .3s, box-shadow .3s, border-color .3s; position:relative; overflow:hidden; }
.jk-cs-solution:hover{ transform:translateY(-8px); box-shadow:0 20px 48px rgba(15,23,42,.1); border-color:rgba(255,107,43,.3); }
.jk-cs-case-alt .jk-cs-solution{ background:#fff; }
.jk-cs-solution-icon{ width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(255,107,43,.1); color:#FF6B2B; margin-bottom:20px; transition:transform .4s cubic-bezier(.34,1.56,.64,1), background .3s, color .3s; }
.jk-cs-solution:hover .jk-cs-solution-icon{ transform:scale(1.12) rotate(-8deg); background:linear-gradient(135deg,#FF8C5A,#FF6B2B); color:#fff; }
.jk-cs-solution h4{ font-size:17px; font-weight:700; margin:0 0 10px; color:#1A1A2E; }
.jk-cs-solution p{ font-size:14px; line-height:1.75; color:var(--jk-muted); margin:0; }

/* --- CTA --- */
.jk-cs-cta{ background:var(--jk-bg); padding:96px 0; }
.jk-cs-cta-inner{ position:relative; overflow:hidden; background-color:#1A1A2E; background-image: radial-gradient(circle at 85% 12%, rgba(255,107,43,.22), transparent 55%), radial-gradient(circle at 10% 90%, rgba(0,180,216,.18), transparent 55%), radial-gradient(rgba(255,255,255,.05) 1px, transparent 1.5px); background-size:100% 100%,100% 100%,22px 22px; border-radius:24px; padding:72px 40px; text-align:center; color:#fff; }
.jk-cs-cta-inner h2{ font-size:clamp(28px,3.6vw,38px); font-weight:800; margin:0 0 14px; color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.jk-cs-cta-inner p{ font-size:17px; color:rgba(255,255,255,.8); max-width:620px; margin:0 auto 28px; line-height:1.7; }

/* --- CS advanced effects --- */
.jk-cs-stats,
.jk-cs-solutions{ perspective:1100px; }
.jk-cs-stat,
.jk-cs-solution{ transform-style:preserve-3d; will-change:transform; }

/* 光标跟随光晕 */
.jk-cs-stat::before,
.jk-cs-solution::before{
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(255,107,43,.16), transparent 60%);
  opacity:0; transition:opacity .35s ease; pointer-events:none; z-index:1;
}
.jk-cs-stat:hover::before,
.jk-cs-solution:hover::before{ opacity:1; }
.jk-cs-stat > *, .jk-cs-solution > *{ position:relative; z-index:2; }

/* 入场 */
.jk-cs-stat.in,
.jk-cs-solution.in{ transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1), box-shadow .3s, border-color .3s; }

/* --- CS responsive --- */
@media(max-width:1024px){
  .jk-cs-split,
  .jk-cs-split-left,
  .jk-cs-split-right{ grid-template-columns:1fr; gap:36px; }
  .jk-cs-split-media{ order:-1; }
  .jk-cs-stats{ grid-template-columns:repeat(2,1fr); }
  .jk-cs-solutions{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  .jk-cs-hero{ min-height:420px; padding:120px 0 70px; }
  .jk-cs-case-banner{ height:280px; }
  .jk-cs-case-body{ padding:52px 0 72px; }
  .jk-cs-stats{ grid-template-columns:1fr; }
  .jk-cs-solutions{ grid-template-columns:1fr; }
  .jk-cs-cta-inner{ padding:48px 24px; }
}

/* ============ NEWS ============ */
/* Break Astra's 1240px content cap on the News page so the Hero + list fill the full viewport
   (no centered-box page margins). Scoped to this template only. */
.page-template-page-news .ast-container{
  max-width:100%;
  padding-left:0;
  padding-right:0;
}
.page-template-page-news #jk-page-news{ width:100%; }

.jk-news-hero{ background:var(--jk-bg); padding:120px 0 60px; overflow:hidden; }
.jk-news-hero .jk-wrap{ max-width:100%; padding:0 48px; }
.jk-news-hero-inner{ display:grid; grid-template-columns:minmax(0,600px) 1fr; gap:48px; align-items:center; }
.jk-news-hero-content{ max-width:560px; }
.jk-news-hero-title{ font-size:clamp(38px,5vw,56px); font-weight:800; line-height:1.1; margin:0 0 18px; color:#1A1A2E; }
.jk-news-hero-lead{ font-size:18px; line-height:1.7; color:var(--jk-muted); margin:0; }
.jk-news-hero-float{ display:flex; justify-content:flex-end; perspective:1200px; }
.jk-news-float-card{ width:100%; max-width:none; aspect-ratio:16/9; border-radius:24px; overflow:hidden; box-shadow:0 28px 70px rgba(15,23,42,.18); transform:translateY(0) rotateY(-4deg) rotateX(2deg); animation:jk-news-float 4s ease-in-out infinite; will-change:transform; }
.jk-news-float-card img{ width:100%; height:100%; object-fit:cover; display:block; }
@keyframes jk-news-float{
  0%,100%{ transform:translateY(0) rotateY(-4deg) rotateX(2deg); }
  50%{ transform:translateY(-18px) rotateY(-4deg) rotateX(2deg); }
}

.jk-news-list{ padding:40px 0 120px; }
.jk-news-list .jk-wrap{ max-width:100%; padding:0 48px; }

.jk-news-filter{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:48px; }
.jk-news-filter-btn{ background:#fff; border:1px solid var(--jk-line); border-radius:999px; padding:10px 22px; font-size:14px; font-weight:600; color:#475569; cursor:pointer; transition:all .25s ease; }
.jk-news-filter-btn:hover{ border-color:#FF6B2B; color:#FF6B2B; }
.jk-news-filter-btn.is-active{ background:#FF6B2B; border-color:#FF6B2B; color:#fff; }

.jk-news-grid{ display:flex; flex-direction:column; gap:28px; }
.jk-news-card{ background:#fff; border:1px solid var(--jk-line); border-radius:20px; overflow:hidden; box-shadow:0 10px 30px rgba(15,23,42,.05); transition:transform .35s, box-shadow .35s, border-color .35s; }
.jk-news-card.is-hidden{ display:none; }
.jk-news-card:hover{ transform:translateY(-6px); box-shadow:0 24px 56px rgba(15,23,42,.1); border-color:rgba(255,107,43,.25); }
.jk-news-card-link{ display:grid; grid-template-columns:minmax(260px, .38fr) 1fr; text-decoration:none; color:inherit; }
.jk-news-thumb{ position:relative; overflow:hidden; background:#e9ecef; min-height:220px; }
.jk-news-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.jk-news-card:hover .jk-news-thumb img{ transform:scale(1.05); }
.jk-news-body{ padding:32px 36px; display:flex; flex-direction:column; justify-content:center; }
.jk-news-date{ display:block; font-size:14px; color:#64748b; margin-bottom:10px; }
.jk-news-title{ font-size:clamp(20px,2.4vw,26px); font-weight:800; line-height:1.3; margin:0 0 14px; color:#1A1A2E; }
.jk-news-excerpt{ font-size:15px; line-height:1.75; color:var(--jk-muted); margin:0 0 20px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.jk-news-more{ display:inline-flex; align-items:center; gap:6px; font-size:15px; font-weight:700; color:#FF6B2B; transition:gap .25s; }
.jk-news-card:hover .jk-news-more{ gap:10px; }

.jk-news-pagination{ display:flex; justify-content:center; align-items:center; gap:10px; margin-top:60px; flex-wrap:wrap; }
.jk-news-page{ background:#fff; border:1px solid var(--jk-line); border-radius:10px; min-width:42px; height:42px; padding:0 14px; font-size:14px; font-weight:600; color:#475569; cursor:pointer; transition:all .2s; }
.jk-news-page:hover:not(:disabled){ border-color:#FF6B2B; color:#FF6B2B; }
.jk-news-page.is-active{ background:#FF6B2B; border-color:#FF6B2B; color:#fff; }
.jk-news-page:disabled{ opacity:.45; cursor:not-allowed; }
.jk-news-page--prev,
.jk-news-page--next{ padding:0 18px; }
.jk-news-ellipsis{ color:#94a3b8; font-size:14px; padding:0 6px; }

@media(max-width:1024px){
  .jk-news-hero-inner{ grid-template-columns:1fr; gap:40px; }
  .jk-news-hero-float{ justify-content:center; order:-1; }
  .jk-news-float-card{ max-width:420px; }
  .jk-news-card-link{ grid-template-columns:minmax(220px, .4fr) 1fr; }
  .jk-news-body{ padding:26px 28px; }
}
@media(max-width:640px){
  .jk-news-hero{ padding:100px 0 48px; }
  .jk-news-float-card{ max-width:100%; }
  .jk-news-list{ padding:24px 0 80px; }
  .jk-news-card-link{ grid-template-columns:1fr; }
  .jk-news-thumb{ min-height:200px; aspect-ratio:16/9; }
  .jk-news-body{ padding:22px 24px; }
  .jk-news-filter{ gap:8px; }
  .jk-news-filter-btn{ padding:8px 16px; }
  .jk-news-pagination{ gap:6px; }
}

/* ============ NEWS DETAIL MODAL ============ */
.jk-news-detail{ display:none; }

.jk-news-modal{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  padding:32px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.jk-news-modal.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
.jk-news-modal-overlay{
  position:absolute; inset:0;
  background:rgba(15,23,42,.62);
  backdrop-filter:blur(2px);
}
.jk-news-modal-dialog{
  position:relative;
  width:min(720px, 100%);
  max-height:86vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  box-shadow:0 40px 100px rgba(15,23,42,.35);
  transform:translateY(18px) scale(.98);
  transition:transform .28s ease;
}
.jk-news-modal.is-open .jk-news-modal-dialog{ transform:translateY(0) scale(1); }
.jk-news-modal-close{
  position:absolute; top:14px; right:16px; z-index:2;
  width:40px; height:40px; border:none; border-radius:50%;
  background:rgba(255,255,255,.85); color:#0f172a;
  font-size:26px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(15,23,42,.18);
  transition:background .2s, transform .2s;
}
.jk-news-modal-close:hover{ background:#fff; transform:rotate(90deg); }
.jk-news-modal-media{ width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:22px 22px 0 0; background:#e9ecef; }
.jk-news-modal-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.jk-news-modal-body{ padding:34px 40px 44px; }
.jk-news-modal-cat{
  display:inline-block; font-size:12px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:#FF6B2B; margin-bottom:12px;
}
.jk-news-modal-title{ font-size:clamp(22px,3vw,30px); line-height:1.25; color:#0f172a; margin:0 0 10px; }
.jk-news-modal-date{ display:block; font-size:14px; color:#94a3b8; margin-bottom:22px; }
.jk-news-modal-content p{ font-size:16px; line-height:1.75; color:#475569; margin:0 0 16px; }
.jk-news-modal-content p:last-child{ margin-bottom:0; }
body.jk-news-modal-open{ overflow:hidden; }

@media(max-width:640px){
  .jk-news-modal{ padding:14px; }
  .jk-news-modal-body{ padding:26px 22px 34px; }
}

/* ============ SCROLL REVEAL ============ */
/* 默认：区块与卡片进入前隐藏，淡入 + 上浮 */
.reveal{
  opacity:0;
  transform:translateY(42px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),
             transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}
.reveal.in{
  opacity:1;
  transform:none;
}

/* 评价卡片：左 / 中 / 右 三个方向滑入 */
.jk-card-quote:nth-child(1){ transform:translateX(-64px); }
.jk-card-quote:nth-child(2){ transform:translateY(42px); }
.jk-card-quote:nth-child(3){ transform:translateX(64px); }
.jk-card-quote.in{ transform:none; }
.jk-card-quote-featured.in{ transform:scale(1.02); }

/* 尊重无障碍偏好：减少动画时直接显示 */
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .jk-qc-level::after,
  .jk-qc-test::after{ animation:none !important; }
}

/* ============ FOOTER ============ */
.jk-site-footer{
  background:#0F172A;
  color:#E2E8F0;
  font-size:15px;
}
.jk-footer-main{
  padding:70px 0 60px;
}
.jk-footer-inner{
  display:grid;
  grid-template-columns:1.3fr repeat(3,1fr);
  gap:48px;
}
.jk-footer-brand .jk-footer-logo{
  display:inline-block;
  margin-bottom:22px;
}
.jk-footer-brand .jk-footer-logo img{
  max-width:160px;
  height:auto;
  filter:brightness(1.05);
}
.jk-footer-desc{
  max-width:320px;
  line-height:1.75;
  color:#94A3B8;
  margin:0 0 26px;
}
.jk-footer-links{
  display:contents;
}
.jk-footer-col h4{
  font-size:16px;
  font-weight:700;
  color:#fff;
  margin:0 0 20px;
}
.jk-footer-col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.jk-footer-col a{
  color:#94A3B8;
  text-decoration:none;
  font-size:14px;
  transition:color .2s;
}
.jk-footer-col a:hover{
  color:#fff;
}
.jk-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:24px 0;
}
.jk-footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.jk-copyright{
  margin:0;
  font-size:14px;
  color:#94A3B8;
}
.jk-footer-legal{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.jk-footer-legal a{
  color:#94A3B8;
  text-decoration:none;
  font-size:14px;
  transition:color .2s;
}
.jk-footer-legal a:hover{
  color:#fff;
}

@media(max-width:1024px){
  .jk-footer-inner{
    grid-template-columns:1fr 1fr;
    gap:40px 32px;
  }
  .jk-footer-brand{
    grid-column:1 / -1;
  }
  .jk-footer-desc{ max-width:560px; }
}

@media(max-width:640px){
  .jk-footer-inner{
    grid-template-columns:1fr;
    gap:36px;
  }
  .jk-footer-brand{
    grid-column:auto;
  }
  .jk-footer-bottom-inner{
    flex-direction:column;
    text-align:center;
  }
  .jk-footer-legal{
    justify-content:center;
  }
}

/* ============ CONTACT US — REDESIGNED ============ */
.jk-contact-hero{
  position:relative;
  overflow:hidden;
  background-color:#0B1120;
  background-image:
    linear-gradient(90deg, rgba(11,17,32,.92) 0%, rgba(11,17,32,.6) 45%, rgba(11,17,32,.18) 100%),
    url('assets/images/contact-hero-bg.jpg');
  background-size:100% 100%, cover;
  background-position:center, right center;
  background-repeat:no-repeat;
  color:#fff;
  padding:0;
}
.jk-contact-hero::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.16'%3E%3Ccircle cx='11' cy='11' r='1'/%3E%3Ccircle cx='33' cy='11' r='1.3'/%3E%3Ccircle cx='22' cy='22' r='1.6'/%3E%3Ccircle cx='11' cy='33' r='1.3'/%3E%3Ccircle cx='33' cy='33' r='1'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.25;
  pointer-events:none;
}
.jk-contact-hero .jk-wrap{ max-width:100%; padding:0 48px; }
.jk-contact-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  padding:110px 0 100px;
  max-width:900px;
  margin:0 auto;
}
.jk-contact-hero-eyebrow{
  display:inline-block;
  letter-spacing:2.5px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  color:#00B4D8;
  margin-bottom:18px;
  padding:8px 16px;
  background:rgba(0,180,216,.12);
  border:1px solid rgba(0,180,216,.25);
  border-radius:99px;
}
.jk-contact-hero h1{
  font-size:clamp(42px,6vw,64px);
  font-weight:800;
  line-height:1.05;
  margin:0 0 20px;
  letter-spacing:-0.02em;
  color:#fff;
}
.jk-contact-hero-lead{
  font-size:clamp(17px,2vw,20px);
  line-height:1.7;
  color:#94A3B8;
  max-width:640px;
  margin:0 auto 36px;
}
.jk-contact-hero-chips{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}
.jk-contact-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:99px;
  color:#E2E8F0;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:all .25s ease;
  backdrop-filter:blur(4px);
}
.jk-contact-chip:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.jk-contact-chip svg{ width:18px; height:18px; fill:currentColor; opacity:.85; }

.jk-contact-hero-blobs{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.jk-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.35;
  animation:jkBlobFloat 10s ease-in-out infinite;
}
.jk-blob-1{
  width:520px; height:520px;
  background:radial-gradient(circle,rgba(0,180,216,.45),transparent 70%);
  top:-120px; left:-120px;
  animation-delay:0s;
}
.jk-blob-2{
  width:420px; height:420px;
  background:radial-gradient(circle,rgba(255,107,43,.35),transparent 70%);
  bottom:-80px; right:-60px;
  animation-delay:-4s;
}
.jk-blob-3{
  width:300px; height:300px;
  background:radial-gradient(circle,rgba(0,180,216,.25),transparent 70%);
  top:40%; left:55%;
  animation-delay:-7s;
}
@keyframes jkBlobFloat{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(20px,-30px) scale(1.05); }
}

.jk-contact-main{ background:#F8FAFC; padding:90px 0; }
.jk-contact-main .jk-wrap{ max-width:100%; padding:0 48px; }
.jk-contact-layout{
  display:grid;
  grid-template-columns:1fr minmax(340px,900px);
  gap:64px;
  width:100%;
  max-width:1280px;
  margin:0 auto;
  align-items:start;
}
.jk-contact-info-head{ margin-bottom:32px; }
.jk-contact-info-head h2{
  font-size:clamp(30px,3.2vw,40px);
  font-weight:800;
  line-height:1.15;
  margin:0 0 14px;
  color:#1A1A2E;
}
.jk-contact-info-head p{
  font-size:16px;
  line-height:1.75;
  color:#6B7280;
  margin:0;
  max-width:520px;
}
.jk-contact-cards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin-bottom:28px;
}
.jk-contact-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:16px;
  padding:20px;
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
.jk-contact-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(15,23,42,.1);
  border-color:rgba(0,180,216,.35);
}
.jk-contact-icon{
  flex-shrink:0;
  width:44px; height:44px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--icon-bg);
  color:var(--icon-color);
  transition:transform .35s ease;
}
.jk-contact-card:hover .jk-contact-icon{ transform:scale(1.08); }
.jk-contact-icon svg{ width:22px; height:22px; fill:currentColor; }
.jk-contact-card-body h3{
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#9CA3AF;
  margin:0 0 6px;
}
.jk-contact-card-body p{
  font-size:15px;
  line-height:1.55;
  color:#1F2937;
  margin:0;
}
.jk-contact-card-body a{ color:#00B4D8; text-decoration:none; font-weight:600; }
.jk-contact-card-body a:hover{ text-decoration:underline; }
.jk-contact-cards .jk-contact-card:last-child:nth-child(odd){ grid-column:1 / -1; }

.jk-contact-receive{
  background:linear-gradient(135deg,#fff 0%,#F0FDFA 100%);
  border:1px solid #E5E7EB;
  border-left:4px solid #00B4D8;
  border-radius:16px;
  padding:24px;
}
.jk-contact-receive h3{
  font-size:18px;
  font-weight:800;
  margin:0 0 14px;
  color:#1A1A2E;
}
.jk-contact-receive ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.jk-contact-receive li{
  position:relative;
  padding-left:28px;
  font-size:15px;
  color:#4B5563;
  line-height:1.5;
}
.jk-contact-receive li::before{
  content:'';
  position:absolute;
  left:0; top:2px;
  width:18px; height:18px;
  background:#00B4D8;
  border-radius:50%;
}
.jk-contact-receive li::after{
  content:'';
  position:absolute;
  left:6px; top:5px;
  width:5px; height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.jk-contact-form-card{
  background:#fff;
  border-radius:24px;
  padding:42px;
  box-shadow:0 24px 70px rgba(15,23,42,.1);
  border:1px solid #E5E7EB;
  position:relative;
  overflow:hidden;
}
.jk-contact-form-card::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:linear-gradient(90deg,#00B4D8,#FF6B2B);
}
.jk-contact-form-head{ margin-bottom:28px; }
.jk-contact-form-eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#FF6B2B;
  margin-bottom:10px;
}
.jk-contact-form-head h2{
  font-size:clamp(26px,2.8vw,32px);
  font-weight:800;
  margin:0 0 10px;
  color:#1A1A2E;
}
.jk-contact-form-head p{
  font-size:15px;
  color:#6B7280;
  margin:0;
}

.jk-contact-form-card .wpcf7-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.jk-contact-form-card .wpcf7-form p{ margin:0; }
.jk-contact-form-card .wpcf7-form label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#374151;
  margin-bottom:8px;
}
.jk-contact-form-card .wpcf7-form input[type=text],
.jk-contact-form-card .wpcf7-form input[type=email],
.jk-contact-form-card .wpcf7-form input[type=tel],
.jk-contact-form-card .wpcf7-form textarea{
  width:100%;
  border:1px solid #E5E7EB;
  border-radius:12px;
  padding:14px 16px;
  font-size:15px;
  font-family:inherit;
  background:#F9FAFB;
  color:#1F2937;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.jk-contact-form-card .wpcf7-form textarea{ height:120px; resize:vertical; }
.jk-contact-form-card .wpcf7-form input::placeholder,
.jk-contact-form-card .wpcf7-form textarea::placeholder{ color:#9CA3AF; }
.jk-contact-form-card .wpcf7-form input:focus,
.jk-contact-form-card .wpcf7-form textarea:focus{
  outline:none;
  border-color:#00B4D8;
  background:#fff;
  box-shadow:0 0 0 4px rgba(0,180,216,.12);
}
.jk-contact-form-card .wpcf7-form .wpcf7-not-valid{ border-color:#EF4444 !important; }
.jk-contact-form-card .wpcf7-form .wpcf7-not-valid-tip{ color:#EF4444; font-size:13px; margin-top:6px; }
.jk-contact-form-card .wpcf7-form .jk-form-submit{ margin-top:6px; }
.jk-contact-form-card .wpcf7-form .jk-form-submit .wpcf7-submit{
  width:100%;
  background:linear-gradient(90deg,#FF6B2B,#FF8C5A);
  color:#fff;
  border:0;
  border-radius:12px;
  padding:16px 28px;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s, box-shadow .2s, filter .2s;
}
.jk-contact-form-card .wpcf7-form .jk-form-submit .wpcf7-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(255,107,43,.35);
  filter:brightness(1.05);
}
.jk-contact-form-card .wpcf7-spinner{ margin-left:12px; }
.jk-contact-form-card .wpcf7-response-output{
  margin:16px 0 0 !important;
  border-radius:10px;
  font-size:14px;
  line-height:1.5;
}
.jk-contact-form-card .wpcf7-form.sent .wpcf7-response-output{
  border-color:#10B981;
  background:#ECFDF5;
  color:#065F46;
}

.jk-contact-trust{
  background:linear-gradient(135deg,#0B1120,#151B2B);
  color:#fff;
  padding:70px 0;
}
.jk-contact-trust .jk-wrap{ max-width:100%; padding:0 48px; }
.jk-contact-trust-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}
.jk-contact-trust-item strong{
  display:block;
  font-size:clamp(36px,4vw,52px);
  font-weight:800;
  line-height:1;
  margin-bottom:8px;
  background:linear-gradient(90deg,#00B4D8,#FF6B2B);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.jk-contact-trust-item span{
  font-size:14px;
  color:#94A3B8;
  letter-spacing:.02em;
}

.jk-contact-map-section{
  position:relative;
  background:#F8FAFC;
  padding:0;
}
.jk-contact-map-wrap{
  position:relative;
  line-height:0;
}
.jk-contact-map-img{
  position:relative;
  line-height:0;
}
.jk-contact-map-img img{
  width:100%;
  height:auto;
  display:block;
}
.jk-contact-map-btn{
  position:absolute;
  top:20px;
  right:20px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:#12B7F5;
  font-weight:700;
  font-size:14px;
  padding:11px 18px;
  border-radius:999px;
  box-shadow:0 8px 22px rgba(0,0,0,.20);
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.jk-contact-map-btn svg{ width:18px; height:18px; fill:#12B7F5; }
.jk-contact-map-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.26); }

.jk-contact-map-card{
  position:absolute;
  left:48px;
  bottom:48px;
  z-index:2;
  background:rgba(255,255,255,.96);
  padding:26px 30px;
  border-radius:16px;
  box-shadow:0 16px 48px rgba(0,0,0,.14);
  max-width:380px;
  backdrop-filter:blur(6px);
}
.jk-contact-map-card h3{
  margin:0 0 6px;
  font-size:18px;
  font-weight:800;
  color:#0F172A;
}
.jk-contact-map-card p{
  margin:0 0 12px;
  color:#64748B;
  font-size:14px;
  line-height:1.5;
}
.jk-contact-map-card address{
  font-style:normal;
  color:#334155;
  line-height:1.75;
  font-size:14px;
}

@media(max-width:1200px){
  .jk-contact-layout{ grid-template-columns:1fr; gap:48px; }
  .jk-contact-form-card{ max-width:760px; margin:0 auto; }
}
@media(max-width:768px){
  .jk-contact-hero-inner{ padding:80px 0 70px; }
  .jk-contact-main{ padding:64px 0; }
  .jk-contact-cards{ grid-template-columns:1fr; }
  .jk-contact-cards .jk-contact-card:last-child:nth-child(odd){ grid-column:auto; }
  .jk-contact-form-card{ padding:28px; }
  .jk-contact-trust-inner{ grid-template-columns:repeat(2,1fr); gap:28px 20px; }
  .jk-contact-map-wrap{ height:auto; }
  .jk-contact-map-card{
    left:24px;
    bottom:24px;
    max-width:300px;
    padding:20px 22px;
  }
}
@media(max-width:480px){
  .jk-contact-hero .jk-wrap,
  .jk-contact-main .jk-wrap,
  .jk-contact-trust .jk-wrap{ padding:0 24px; }
  .jk-contact-trust-inner{ grid-template-columns:1fr; }
  .jk-contact-map-wrap{ height:auto; }
  .jk-contact-map-card{
    position:relative;
    left:auto;
    bottom:auto;
    max-width:none;
    margin:-40px 16px 0;
    border-radius:14px;
    box-shadow:0 8px 30px rgba(0,0,0,.1);
  }
}

/* Footer business info list */
.jk-footer-business-info{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.jk-footer-business-info li{ display:flex; align-items:center; gap:10px; color:#94A3B8; font-size:14px; line-height:1.4; }
.jk-footer-business-info li svg{ flex-shrink:0; }
.jk-footer-business-info li a{ color:#94A3B8; text-decoration:none; transition:color .2s; }
.jk-footer-business-info li a:hover{ color:#fff; }

/* Floating contact stack */
.jk-float-stack{
  position:fixed;
  right:24px;
  bottom:96px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.jk-float-btn{
  position:relative;
  width:56px;
  height:56px;
  border-radius:50%;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  transition:transform .2s, box-shadow .2s, background .2s;
  cursor:pointer;
}
.jk-float-btn:hover{
  transform:translateY(-3px) scale(1.05);
}
.jk-float-btn svg{
  flex-shrink:0;
}
/* WhatsApp */
.jk-whatsapp-float{
  background:#25D366;
  box-shadow:0 8px 24px rgba(37,211,102,.35);
}
.jk-whatsapp-float:hover{
  box-shadow:0 12px 32px rgba(37,211,102,.45);
  background:#1EBE5A;
}
/* LinkedIn */
.jk-linkedin-float{
  background:#0A66C2;
  box-shadow:0 8px 24px rgba(10,102,194,.35);
}
.jk-linkedin-float:hover{
  background:#004182;
  box-shadow:0 12px 32px rgba(10,102,194,.45);
}
/* WeChat */
.jk-wechat-float{
  background:#07C160;
  box-shadow:0 8px 24px rgba(7,193,96,.35);
}
.jk-wechat-float:hover{
  background:#06AD56;
  box-shadow:0 12px 32px rgba(7,193,96,.45);
}
.jk-wechat-qr{
  position:absolute;
  right:66px;
  bottom:0;
  width:180px;
  padding:8px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
  opacity:0;
  visibility:hidden;
  transform:translateX(10px);
  transition:opacity .25s, transform .25s, visibility .25s;
  pointer-events:none;
}
.jk-wechat-float:hover .jk-wechat-qr,
.jk-wechat-float:focus-within .jk-wechat-qr{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
}
.jk-wechat-qr img{
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
}
.jk-wechat-qr::after{
  content:'';
  position:absolute;
  right:-6px;
  bottom:20px;
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:6px solid #fff;
}
@media(max-width:480px){
  .jk-float-stack{
    right:16px;
    bottom:84px;
    gap:10px;
  }
  .jk-float-btn{
    width:50px;
    height:50px;
  }
  .jk-float-btn svg[width="28"]{
    width:24px;
    height:24px;
  }
  .jk-float-btn svg[width="26"]{
    width:22px;
    height:22px;
  }
  .jk-float-btn svg[width="24"]{
    width:20px;
    height:20px;
  }
  .jk-wechat-qr{
    right:58px;
    width:150px;
    padding:6px;
  }
}
