/* ==================== Child Theme - Home Page Styles ==================== */
/*
 * Purpose: Home page specific styles and overrides
 *
 * Rules:
 * - Scope everything to body.home to avoid cross-page impact
 * - Only define styles that are specific to the home page
 * - Override global components only when home page needs different behavior
 *
 * DO NOT:
 * - Redefine global utility classes (section-padding, etc.) - they're in components.css
 * - Add styles that could be reused on other pages (move to components.css instead)
 */

/* ==================== Soft Luxury (Pink) Theme Tokens ==================== */
body.home{
  --sf-pink:#E84C8B;
  --sf-pink-hover:#D23C78;
  --sf-pink-soft:#FFF1F6;
  --sf-cream:#FAF7F2;
  --sf-ink:#1F1F1F;
  --sf-muted:#6B7280;
  --sf-border:rgba(31,31,31,.10);
  --sf-shadow:0 12px 28px rgba(17,17,17,.10);
  --sf-shadow-soft:0 8px 24px rgba(17,17,17,.08);
}

/* Global feel (home only) */
body.home{
  background: #fff;
  color: var(--sf-ink);
}

body.home .ss-btn--primary{
  background: var(--sf-pink);
  border-color: var(--sf-pink);
}
body.home .ss-btn--primary:hover{
  background: var(--sf-pink-hover);
  border-color: var(--sf-pink-hover);
}

/* ==================== Home Hero Banner (child overrides) ==================== */
/* --- Full-screen banner container --- */
body.home .hero-banner {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  margin-bottom: 0 !important;
}

/* Overlay layer that holds the content box */
body.home .hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}

/* Keep container transparent and non-positioned (layout only) */
body.home .hero-banner__container{
  width: 100%;
  max-width: 1230px;
  height: 100%;
  margin: 0 auto;
  background: transparent !important;
}

/* Content box: position relative to the full-bleed overlay */
body.home .hero-inner{
  position: absolute;
  left: 150px;
  top: 200px;
  right: auto;
  bottom: auto;
  max-width: 700px;
  transform: none;
  z-index: 1;

  background: rgba(255,255,255,.40);
  pointer-events: auto;
}

@media (max-width: 768px) {
  body.home .hero-inner{display:none;}
}

/* iPad/Tablet: Show full hero image with 16:9 aspect ratio, not fullscreen cover */
@media (min-width: 768px) and (max-width: 1180px) {
  body.home .hero-banner {
    height: auto; /* Let height be determined by aspect ratio of content */
  }

  body.home .hero-banner__swiper,
  body.home .hero-banner__slide,
  body.home .hero-banner__media {
    aspect-ratio: 16 / 9;
    height: auto; /* Allow aspect-ratio to define the height */
  }

  body.home .hero-banner__image,
  body.home .hero-banner__video,
  body.home .hero-banner__youtube iframe {
    object-fit: contain; /* Show the whole image, letterboxed if needed */
    background-color: #f0f0f0; /* Light grey background for any letterboxing */
  }
  
  /* Center the hero content on tablet */
  body.home .hero-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 600px;
    text-align: center;
    margin: 0 auto;
    padding: 30px;
  }
  
  /* Ensure text is centered in the hero content */
  body.home .hero-banner__title,
  body.home .hero-banner__subtitle {
    text-align: center;
  }
  
  /* Center the buttons container */
  body.home .hero-buttons {
    justify-content: center;
  }
}



/* Fix: keep banner pagination from affecting wrapper height (grey strip) */
body.home .hero-banner__swiper-wrapper {
  position: relative;


  width: 100%;
  max-width: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

body.home #banner-pagination {
  display: none;
}

body.home .hero-banner__image {
  display: block;
}

/* Dark overlay */
body.home .hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35); /* subtle dark */
  z-index: 1;
  pointer-events: none;
}
/* Swiper takes full height */
body.home .hero-banner__swiper,
body.home .hero-banner__swiper.swiper-container {
  width: 100%;
  max-width: 100%;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

body.home .hero-banner__slide,
body.home .hero-banner__media {
  width: 100%;
  height: 100%;
}
body.home .hero-banner__image,
body.home .hero-banner__video,
body.home .hero-banner__youtube iframe {
  object-fit: cover;
}

/* Desktop only: override any fixed swiper height (e.g. 550px) */
@media (min-width: 1181px) {
  body.home .hero-banner__swiper {
    height: 100% !important;
  }
}

body.home .hero-banner__buttons .ss-btn {
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 700;
}
/* Arrow buttons – hidden until hover */
body.home .hero-banner-prev,
body.home .hero-banner-next {
  opacity: 0;
  transition: opacity 0.25s ease;
  z-index: 3;
}
body.home .hero-banner:hover .hero-banner-prev,
body.home .hero-banner:hover .hero-banner-next {
  opacity: 1;
}
body.home .hero-banner-prev,
body.home .hero-banner-next{
  width:60px;height:60px;border-radius:50%;
  background:rgba(0,0,0,.10);
  border:2px solid rgba(255,255,255,.55);
  color:rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(2px);
  box-shadow:var(--sf-shadow-soft);
}

body.home .hero-banner:hover .hero-banner-prev,
body.home .hero-banner:hover .hero-banner-next {
  border-color: rgba(255,255,255,.95);
  color: #fff;
  background: transparent;
}
@media (max-width: 768px) {
  body.home .hero-banner-prev,
  body.home .hero-banner-next{display:none!important;}
}
/* Keep Swiper/video/YT behaviors from parent; only adjust content box + media fit */

/* Modernized hero typography */
body.home .hero-banner__title {
  font-size: clamp(30px, 2.6vw + 12px, 42px);
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

body.home .hero-banner__subtitle {
  max-width: 40rem;
  font-size: 16px;
  line-height: 1.7;
  color: var(--body-text-color, #333);
  margin-bottom: 26px;
}

body.home .hero-buttons {
  display: flex;
  gap: 16px;
}

/* Keep buttons in one line on desktop */

/* Mobile: ensure hero media shows fully (contain) and keep content readable */

/* ==================== Home container width (match legacy main.css) ==================== */
@media (min-width: 992px) {
  /* Banner content keeps its narrower width */
  body.home .hero-banner .ss-container--home {
    max-width: 700px !important;
  }

  /* Who We Service: desktop ratio (text 40% / logos 60%) */
  body.home .section-who-we-service .who-we-service__content {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 30px;
    align-items: start;
    padding-top: 30px;
  }

  /* Override parent theme's flex centering that can stretch the left box on laptop widths */
  body.home .who-we-service__content {
    display: grid !important;
    align-items: start !important;
  }

  body.home .who-we-service__text {
    height: auto !important;
    align-self: start !important;
  }
}

/* ==================== Home section spacing (unified) ==================== */
/* Horizontal padding should be owned by the container (.ss-container--home),
   not by sections. Sections only manage vertical rhythm via section-padding*. */

body.home .premier-manufacturing__text-content {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--body-text-color, #333);
}

/* Note: ss-section-title and ss-section-subtitle responsive rules are in components.css */


/* Buttons: use ss-btn components (child theme controlled) */

/* Premier Manufacturing: enforce left video / right content on desktop; stack on mobile */

/* C1 bridge: Cards (Home only) */
body.home .solution-box,
body.home .stat-item,
body.home .blog-card {
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow:var(--sf-shadow-soft);
}
/* 只针对首页 Premier Manufacturing 的统计数字 */
body.home .premier-manufacturing__stats .stat-number {
  color: #FC33C6 !important;
}
/* ==================== Custom Solution (Home) - Premium Styling ==================== */
body.home .section-custom-solution {
  background: #ffffff;
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Center the subtitle line under the section title */
body.home .section-custom-solution > .ss-container--home > p {
  max-width: 980px;
  margin: 10px auto 0;
  text-align: center;
  font-size: 16px;
  line-height: 1.7;
  color: var(--sf-muted, #6B7280);
}

body.home .section-custom-solution .custom-solution__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 40px;
}

body.home .section-custom-solution .solution-box {
  padding: 48px 40px;
  background: #ffffff;
  border-radius: 24px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  box-shadow:
    0 18px 50px rgba(17, 17, 17, 0.10),
    0 2px 10px rgba(17, 17, 17, 0.06);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: flex;
  flex-direction: column;
  height: 100%;
}

body.home .section-custom-solution .solution-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(232, 76, 139, 0.12);
  border-color: rgba(232, 76, 139, 0.15);
}

body.home .section-custom-solution .solution-box__header {
  margin-bottom: 24px;
}

/* Badge styling */
body.home .section-custom-solution .solution-box__badge {
  background: rgba(232, 76, 139, 0.08);
  color: #E84C8B;
  padding: 6px 14px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: inline-block;
  box-shadow: none;
}

body.home .section-custom-solution .solution-box h3 {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.01em;
  margin: 0;
}

body.home .section-custom-solution .solution-box__description {
  font-size: 15px;
  line-height: 1.7;
  color: #6B7280;
  margin-bottom: 32px;
}

/* List Styling */
body.home .section-custom-solution .solution-box__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

body.home .section-custom-solution .solution-box__list li {
  position: relative;
  padding-left: 36px;
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
  border: none;
  background: transparent;
  padding-top: 0;
  padding-bottom: 0;
  display: block;
}

/* Unified Green Check Icon */
body.home .section-custom-solution .solution-box li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  background: #22C55E !important; /* Unified Green */
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 4px 10px rgba(34, 197, 94, 0.2);
  transform: none;
}

/* Hover state for list items */
body.home .section-custom-solution .solution-box li:hover {
  background: transparent;
  color: #111827;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  body.home .section-custom-solution .custom-solution__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  body.home .section-custom-solution .solution-box {
    padding: 32px;
  }
}

@media (max-width: 768px) {
  body.home .section-custom-solution {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  
  body.home .section-custom-solution .solution-box h3 {
    font-size: 20px;
  }
}


/* iPad Air/Tablet: prevent section overlap by enforcing normal flow spacing */
@media (min-width: 768px) and (max-width: 1180px) {
  body.home .section-who-we-service,
  body.home .section-custom-solution {
    position: relative;
    z-index: 1;
  }

  body.home .section-custom-solution {
    clear: both;
    margin-top: 0;
    padding-top: 56px;
  }
}

/* ==================== Process Setup (Home) ==================== */
body.home .section-process-setup {
  background: #fff;
}

/* Force white section background (Home) */
body.home .section-factory-capabilities,
body.home .section-design-capability{
  background:#fff;
}

body.home .section-factory-capabilities{
  display:none !important;
}

body.home .section-process-setup .ss-container--home {
  background: transparent !important;
  background-color: transparent !important;
}

body.home .section-process-setup .process-setup__steps {
  max-width: 1190px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

/* ==================== Tabbed Products (Home) ==================== */
body.home .section-tabbed-products {
  background: #fff;
}

body.home .section-tabbed-products .ss-container--home {
  background: transparent !important;
  background-color: transparent !important;
}

/* ==================== Who We Service (Home) - Modern Layout ==================== */
body.home .section-who-we-service{
  background: linear-gradient(135deg, #FFF5F8 0%, #FFFFFF 100%);
}

/* Let the section background show through */
body.home .section-who-we-service .ss-container--home{
  background: transparent !important;
  background-color: transparent !important;
}

/* Layout: text + visual */
body.home .section-who-we-service .who-we-service__content{
  display: grid;
  grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

body.home .section-who-we-service .who-we-service__text{
  padding-right: 10px;
}

body.home .section-who-we-service .who-we-service__text .ss-section-title{
  font-size: clamp(28px, 2.1vw + 14px, 40px);
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #111827;
  text-align: left;
  margin: 0 0 14px;
}

body.home .section-who-we-service .who-we-service__text .who-we-service__desc{
  font-size: 16px;
  line-height: 1.85;
  color: #4B5563;
}

body.home .section-who-we-service .who-we-service__text .who-we-service__desc ul{
  margin: 20px 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.home .section-who-we-service .who-we-service__text .who-we-service__desc li{
  position: relative;
  padding-left: 32px;
  font-size: 15px;
  font-weight: 500;
  color: #1F2937;
  display: flex;
  align-items: center;
  min-height: 24px;
}

body.home .section-who-we-service .who-we-service__text .who-we-service__desc li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: #22C55E;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
}

body.home .section-who-we-service .who-we-service__text .who-we-service__desc p{
  margin: 0 0 10px;
}

body.home .section-who-we-service .who-we-service__text .who-we-service__desc p:last-child{
  margin-bottom: 0;
}


/* Visual */
body.home .section-who-we-service .who-we-service__visual{
  display: flex;
  justify-content: center;
  align-items: center;
}

body.home .section-who-we-service .who-we-service__image-wrapper{
  position: relative;
  max-width: 760px;
  width: 100%;
}

body.home .section-who-we-service .who-we-service__main-img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
  box-shadow: var(--sf-shadow-soft);
  border: 1px solid rgba(17,17,17,0.08);
}


@media (max-width: 968px){
  body.home .section-who-we-service .who-we-service__content{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.home .section-who-we-service .who-we-service__text{ order: 1; padding-right: 0; }
  body.home .section-who-we-service .who-we-service__visual{ order: 2; }

  body.home .section-who-we-service .floating-badge{
    font-size: 11px;
    padding: 8px 10px;
  }
}

@media (max-width: 520px){
  body.home .section-who-we-service .persona-item{
    grid-template-columns: 36px 1fr;
    padding: 12px 12px;
  }

  body.home .section-who-we-service .persona-icon{
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
}

/* ==================== Home Remaining Modules ==================== */

/* Process Setup - Modern Step Cards */
body.home .section-process-setup .process-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 40px;
}

body.home .section-process-setup .process-step {
  background: rgba(255,255,255,0.58);
  border: 0;
  border-radius: 18px;
  box-shadow: 0 14px 36px rgba(17,17,17,.10);
  padding: 28px 22px;
  text-align: center;
  transition: transform .22s ease, box-shadow .22s ease;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.home .section-process-setup .process-step__index {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  color: #111;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(17, 17, 17, 0.14);
  box-shadow: 0 8px 18px rgba(17, 17, 17, 0.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 3;
}

/* gradient accent (each step gets its own colors via --step-from/--step-to) */
body.home .section-process-setup .process-step::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(760px 220px at 12% 12%, color-mix(in srgb, var(--step-from, #FF9933) 14%, transparent) 0%, transparent 62%),
    linear-gradient(135deg, color-mix(in srgb, var(--step-from, #FF9933) 8%, transparent) 0%, color-mix(in srgb, var(--step-to, #E6892A) 6%, transparent) 70%);
  opacity: .55;
  pointer-events: none;
}

/* keep content above overlay */
body.home .section-process-setup .process-step > * {
  position: relative;
  z-index: 1;
}

/* Ensure the index badge stays pinned to top-left and is not affected by generic layout rules */
body.home .section-process-setup .process-step > .process-step__index {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 3 !important;
}

body.home .section-process-setup .process-step:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 48px rgba(17,17,17,.16);
}

/* per-step colors */
body.home .section-process-setup .process-step:nth-child(1){ --step-from:#FF7A59; --step-to:#FFB86B; }
body.home .section-process-setup .process-step:nth-child(2){ --step-from:#6D5BFF; --step-to:#A78BFA; }
body.home .section-process-setup .process-step:nth-child(3){ --step-from:#00C2FF; --step-to:#4ADE80; }
body.home .section-process-setup .process-step:nth-child(4){ --step-from:#FF3D9A; --step-to:#FC33C6; }
body.home .section-process-setup .process-step:nth-child(5){ --step-from:#FF9933; --step-to:#FFD36B; }
body.home .section-process-setup .process-step:nth-child(6){ --step-from:#22C55E; --step-to:#A3E635; }

/* Process Step Icon */
body.home .section-process-setup .process-step-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;

  /* glassmorphism */
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);

  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}

body.home .section-process-setup .process-step:hover .process-step-icon {
  background: rgba(255, 255, 255, 0.62);
  border-color: rgba(255, 255, 255, 0.75);
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}

/* Process Step Icon Image (if using image instead of emoji) */
body.home .section-process-setup .process-step-icon-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Step Number */
body.home .section-process-setup .process-step h4 {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent-color, #FF9933);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 8px;
  line-height: 1.2;
}

/* Step Title */
body.home .section-process-setup .process-step h5 {
  font-size: 18px;
  font-weight: 700;
  color: var(--heading-primary-color, #1f2d3d);
  margin: 0 0 10px;
  line-height: 1.3;
}

/* Step Description */
body.home .section-process-setup .process-step p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--body-text-color, #666);
  margin: 0;
}

/* Process Setup CTA */
body.home .section-process-setup .process-setup__cta {
  margin-top: 40px;
  text-align: center;
}

body.home .section-process-setup .process-setup__cta .ss-btn {
  display: inline-flex;
  padding: 16px 36px;
  font-size: 16px;
}

@media (max-width: 768px){
  body.home .section-process-setup .process-setup__cta,
  body.home .section-process-setup .text-center.process-setup__cta.section-margin-top{
    margin: 10px 0 !important;
    text-align: center !important;
    display: flex;
    justify-content: center;
  }

  body.home .section-process-setup .process-setup__cta .ss-btn{
    display: inline-flex;
    margin: 0 auto;
  }
}

/* Certifications - Premium Grid */
body.home .section-certifications{
  background: linear-gradient(135deg, rgba(232,76,139,0.06) 0%, rgba(167,139,250,0.06) 55%, rgba(255,255,255,1) 100%);
}

body.home .section-certifications .ss-container--home{
  background: transparent !important;
  background-color: transparent !important;
}

body.home .section-certifications .certifications__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* each item wrapper becomes the card */
body.home .section-certifications .cert-wrapper{
  height: 100%;
}

body.home .section-certifications .cert-circle{
  position: relative;
  height: 100%;
  min-height: 260px;
  border-radius: 18px;
  overflow: hidden;

  background: #fff;
  border: 1px solid rgba(17,17,17,0.08);
  box-shadow: none;

  padding: 18px;
  display: flex;
  align-items: flex-end;

  transition: border-color .22s ease;
}

/* image layer from data-bg-image */
body.home .section-certifications .cert-circle[data-bg-image]::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--cert-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: saturate(1.05);
}

/* Apply background-image from attribute via inline style hook */
body.home .section-certifications .cert-circle[data-bg-image]{
  --cert-bg: none;
}

/* gradient overlay for text legibility - REMOVED white hazy effect */
body.home .section-certifications .cert-circle::after{
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}

/* text label */
body.home .section-certifications .cert-circle > *{
  position: relative;
  z-index: 1;
}

body.home .section-certifications .cert-circle{
  font-weight: 800;
  font-size: 14px;
  line-height: 1.25;
  color: #111827;
}

body.home .section-certifications .cert-circle p{
  margin: 0;
}

body.home .section-certifications .cert-circle:hover{
  transform: translateY(-8px);
  box-shadow: 0 26px 70px rgba(17,17,17,0.16);
  border-color: rgba(232, 76, 139, 0.18);
}

@media (max-width: 1024px){
  body.home .section-certifications .certifications__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  body.home .section-certifications .cert-circle{
    min-height: 240px;
  }
}

@media (max-width: 520px){
  body.home .section-certifications .certifications__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  body.home .section-certifications .cert-circle{
    min-height: 200px;
    padding: 14px;
  }
}

/* Design Capability */
body.home .section-design-capability .design-capability-item {
  background: var(--bg-light, #fff);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow:var(--sf-shadow-soft);
}

/* Design Capability: two columns on desktop, stack on mobile */

/* Responsive breakpoints */

/* Who We Service: mobile stack (text above logos) */

/* ==================== Recent Blogs (Home) - Modern Blog Cards ==================== */

/* ==================== Contact Form (Home) - Modern Form Styling ==================== */
body.home .section-contact-form {
  background: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
}

body.home .section-contact-form .contact-form__title {
  margin-bottom: 12px;
}

body.home .section-contact-form .contact-form__subtitle {
  text-align: center;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 36px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--body-text-color, #666);
}

body.home .section-contact-form .contact-form__form {
  max-width: 600px;
  margin: 0 auto;
  background-color: #fff;
  padding: 40px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 28px rgba(17,17,17,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

body.home .section-contact-form .contact-form__form:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 44px rgba(17,17,17,.14);
}

/* WPForms Container */
body.home .section-contact-form .wpforms-container {
  padding: 0;
  border: none;
  background: transparent;
}

/* Form Fields */
body.home .section-contact-form .wpforms-field {
  margin-bottom: 22px;
}

body.home .section-contact-form .wpforms-field-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--heading-primary-color, #1f2d3d);
  margin-bottom: 8px;
  line-height: 1.4;
}

body.home .section-contact-form .wpforms-required-label {
  color: #e74c3c;
  margin-left: 2px;
}

/* Input Fields */
body.home .section-contact-form .wpforms-field input[type="text"],
body.home .section-contact-form .wpforms-field input[type="email"],
body.home .section-contact-form .wpforms-field textarea {
  width: 100%;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--body-text-color, #333);
  background: #fff;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

body.home .section-contact-form .wpforms-field input[type="text"]:focus,
body.home .section-contact-form .wpforms-field input[type="email"]:focus,
body.home .section-contact-form .wpforms-field textarea:focus {
  outline: none;
  border-color: var(--accent-color, #FF9933);
  box-shadow:var(--sf-shadow-soft);
}

body.home .section-contact-form .wpforms-field textarea {
  min-height: 120px;
  resize: vertical;
  font-family: inherit;
}

/* Submit Button */
body.home .section-contact-form .wpforms-submit-container {
  margin-top: 28px;
}

body.home .section-contact-form .wpforms-submit {
  width: 100%;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: var(--accent-color, #FF9933);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body.home .section-contact-form .wpforms-submit:hover {
  background: var(--accent-hover, #E6892A);
  transform: translateY(-2px);
  box-shadow:var(--sf-shadow-soft);
}

body.home .section-contact-form .wpforms-submit:active {
  transform: translateY(0);
}

body.home .section-contact-form .wpforms-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Error Messages */
body.home .section-contact-form .wpforms-error-container,
body.home .section-contact-form .wpforms-field-error {
  color: #e74c3c;
  font-size: 13px;
  margin-top: 6px;
}

body.home .section-contact-form .wpforms-field input.wpforms-error,
body.home .section-contact-form .wpforms-field textarea.wpforms-error {
  border-color: #e74c3c;
}

/* Success Message */
body.home .section-contact-form .wpforms-confirmation-container {
  padding: 20px;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 8px;
  color: #155724;
  margin-top: 20px;
}

/* Hidden/Honeypot Fields */
body.home .section-contact-form .wpforms-field[style*="display: none"],
body.home .section-contact-form .wpforms-field[style*="position: absolute"] {
  display: none !important;
}

/* Responsive */

/* ==================== Customer Testimonials (Home) - Modern Testimonial Cards ==================== */
body.home .section-testimonials {
  background: #fff;
}

body.home .section-testimonials .testimonials__grid {
  gap: 28px;
}

body.home .section-testimonials .testimonial-item {
  background: var(--bg-light, #fff);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow:var(--sf-shadow-soft);
  padding: 32px 24px;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

body.home .section-testimonials .testimonial-item:hover {
  transform: translateY(-4px);
  box-shadow:var(--sf-shadow-soft);
  border-color: rgba(255, 153, 51, 0.2);
}

/* Testimonial Avatar */
body.home .section-testimonials .testimonial-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 153, 51, 0.2);
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

body.home .section-testimonials .testimonial-item:hover .testimonial-avatar {
  border-color: var(--accent-color, #FF9933);
  transform: scale(1.05);
}

/* Testimonial Name */
body.home .section-testimonials .testimonial-item h4 {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #111827;
  margin: 0 0 12px;
  line-height: 1.25;
}

/* Testimonial Text */
body.home .section-testimonials .testimonial-item p {
  font-size: 14.5px;
  line-height: 1.75;
  color: #374151;
  margin: 0;
  flex: 1;
  font-style: normal;
  display: -webkit-box;
  -webkit-line-clamp: 7;
  line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: left;
}

/* Quote Icon (Optional decorative element) */
body.home .section-testimonials .testimonial-item::before {
  content: '"';
  position: absolute;
  top: 20px;
  left: 24px;
  font-size: 48px;
  font-weight: 700;
  color: rgba(255, 153, 51, 0.15);
  font-family: Georgia, serif;
  line-height: 1;
}

/* Responsive */

/* === Home overflow / margin reset (banner灰条兜底) === */
body.home,
body.home{
  margin:0;           /* 去掉浏览器默认 8px 外边距 */
  padding:0;
  overflow-x:hidden;  /* 禁止横向滚动，灰条即被裁掉 */
}

html { scrollbar-gutter: stable; }
html, body.home{ overflow-x:hidden; }

/* 修复：Header 搜索框/抽屉菜单在收起状态仍可能撑开页面宽度（导致右侧灰条/横向滚动） */
/* 关键点：把搜索框内容隐藏到不参与布局计算的方式（display:none），而不是仅 opacity */
body.home .tw-search{
  overflow: hidden !important;
  max-width: 100% !important;
}

/* 关闭态进一步兜底：不让父主题/JS 的宽度类导致 scrollWidth 变化 */
body.home .tw-search:not(.active){
  width: 0 !important;
}

body.home .tw-search:not(.active) .tw-search__container{
  display: none !important;
}

body.home .tw-search.active .tw-search__container{
  display: flex !important;
}

body.home .tw-search__form{
  min-width: 0;
}

body.home .tw-search__input{
  min-width: 0;
  max-width: 100%;
}

/* 兜底：移动端抽屉菜单默认在左侧 -280px，避免它参与页面 scrollWidth 计算 */
body.home #sidebar-nav:not(.open){
  display: none !important;
}

body.home #sidebar-nav.open{
  display: block !important;
}
/* === Home: header overlay on banner === */
body.home .tw-header{
  position:absolute;      /* 脱离文档流，浮在 Banner 上 */
  top:0; left:0; width:100%;
  background:transparent; /* 透明 */
  z-index:50;             /* 高于 banner 图片、低于任何浮层弹窗 */
  transition:background .3s, box-shadow .3s;
}

/* 可选：滚动 80px 后恢复白底 */
body.home.scrolled .tw-header{
  background:#fff;
  box-shadow:var(--sf-shadow-soft);
}
/* --- Home Header: white nav links when overlay --- */
body.home .tw-header .tw-header__nav > ul > li > a,
body.home .tw-header .tw-header__nav-menu > li > a{
  color:#fff;
}

@media (max-width: 768px){
  body.home .tw-header .tw-header__nav > ul > li > a,
  body.home .tw-header .tw-header__nav-menu > li > a{
    color:#fff;
    font-weight:700;
  }
}

/* Home header icons: make search icon white; hide hamburger if needed */
body.home .tw-header #search-toggle,
body.home .tw-header #search-toggle svg{
  color:#fff;
}
@media (max-width: 768px){
  body.home .tw-header .tw-header__hamburger,
  body.home .tw-header #menu-toggle{
    color:#fff;
  }
  body.home .tw-header .tw-hamburger__line{
    background:#fff;
    height:3px;
  }
}

@media (min-width: 769px){
  body.home .tw-header .tw-header__hamburger{ display:none; }
}
body.home .tw-header .tw-header__nav > ul > li > a:hover,
body.home .tw-header .tw-header__nav-menu > li > a:hover{
  color:#FC33C6;
}
/* 放在 home.css 最底：避免横向溢出，但不要破坏 Swiper 的位移机制 */
body.home .hero-banner{
  overflow: hidden;
}

body.home .hero-banner .swiper-wrapper{
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
}

body.home .hero-banner .swiper-slide{
  flex: 0 0 100% !important; /* 每页恰好 100% */
  min-width: 0;
}

/* 兜底：如果某个 slide 内容超宽（图片/iframe/视频），裁掉横向溢出 */
body.home .hero-banner .swiper-slide,
body.home .hero-banner__slide{
  overflow: hidden;
  font-size: 0;
}

@media (min-width: 1181px) {
  body.home .hero-banner__slide {
    min-height: 0 !important;
  }
}

body.home .section-best-sellers{padding:72px 0;background:var(--sf-pink-soft);color:var(--sf-ink)}
body.home .bs-title{font-size:36px;margin-bottom:30px;text-align:center}
body.home .bs-tabs{display:flex;justify-content:center;gap:40px;margin-bottom:20px;border-bottom:1px solid var(--sf-border)}
body.home .bs-tabs li{cursor:pointer;padding:10px 0;position:relative;color:#111;font-weight:600}
body.home .bs-tabs li.active{color:#111}
body.home .bs-tabs li.active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--sf-pink)}
body.home .bs-tab-pane{display:none;width:100%}
body.home .bs-tab-pane.active{display:block}

/* Swiper layout: keep cards centered within the section */
body.home .section-best-sellers .bs-swiper{width:100%}
body.home .section-best-sellers .bs-swiper .swiper-wrapper{align-items:stretch}
/* Make slides align left even when there is only one item */
body.home .section-best-sellers .bs-swiper .swiper-slide{display:flex;justify-content:flex-start}

body.home .bs-card{background:#fff;color:#000;border-radius:12px;padding:18px;text-align:center;border:1px solid var(--sf-border);box-shadow:var(--sf-shadow-soft);width:100%;max-width:360px;margin:0 auto}
body.home .bs-card img{width:100%;height:220px;object-fit:contain;display:block;margin:0 auto}
body.home .bs-actions{margin-top:12px;display:flex;justify-content:center;gap:8px}
body.home .bs-btn{background:var(--sf-pink);color:#fff;padding:8px 20px;border-radius:20px;text-decoration:none;font-weight:700}
body.home .bs-btn--secondary{background:#555}

@media (min-width: 992px) {
  body.home .hero-buttons {
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  body.home .section-premier-manufacturing .premier-manufacturing__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 30px;
  }

  body.home .section-premier-manufacturing .premier-manufacturing__image {
    min-width: 0;
  }

  body.home .section-premier-manufacturing .premier-manufacturing__text {
    min-width: 0;
  }

  body.home .section-design-capability .design-capability__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: start;
  }
}

@media (max-width: 1024px) {
  body.home .section-recent-blogs .recent-blogs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  body.home .section-testimonials .testimonials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  body.home .section-premier-manufacturing .premier-manufacturing__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.home .section-premier-manufacturing .premier-manufacturing__image {
    order: 1;
  }

  body.home .section-premier-manufacturing .premier-manufacturing__text {
    order: 2;
  }

  body.home .section-design-capability .design-capability__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  body.home .hero-banner__content.ss-container--home {
    padding: 18px 16px;
  }

  body.home .hero-banner__title {
    font-size: clamp(22px, 5vw, 28px);
    letter-spacing: 0.04em;
  }

  body.home .hero-banner__subtitle {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 18px;
  }

  body.home .hero-buttons {
    flex-wrap: wrap;
    gap: 12px;
  }

  body.home .hero-banner__image,
  body.home .hero-banner__media {
    object-fit: cover !important;
    object-position: center !important;
  }


  body.home .section-custom-solution .solution-box {
    padding: 18px 16px;
  }

  body.home .section-custom-solution .solution-box__badge {
    top: 12px;
    right: 12px;
    font-size: 11px;
    padding: 6px 9px;
  }

  body.home .section-custom-solution .solution-box h3 {
    font-size: 15px;
  }

  body.home .section-custom-solution .solution-box li {
    font-size: 14px;
  }

  body.home .section-process-setup .process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 32px;
  }

  body.home .section-process-setup .process-step {
    padding: 24px 18px;
  }

  body.home .section-process-setup .process-step-icon {
    width: 56px;
    height: 56px;
    font-size: 28px;
    margin-bottom: 14px;
  }

  body.home .section-process-setup .process-step h5 {
    font-size: 16px;
  }

  body.home .section-process-setup .process-step p {
    font-size: 13px;
  }

  body.home .section-certifications .certifications__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.home .section-who-we-service .who-we-service__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body.home .section-who-we-service .who-we-service__text {
    order: 1;
  }

  body.home .section-who-we-service .who-we-service__logos {
    order: 2;
  }

  body.home .section-recent-blogs .recent-blogs__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.home .section-recent-blogs .blog-card__image-link img {
    height: 180px;
  }

  body.home .section-recent-blogs .blog-card-content {
    padding: 18px;
  }

  body.home .section-recent-blogs .blog-card__title {
    font-size: 15px;
  }

  body.home .section-contact-form {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  body.home .section-contact-form .contact-form__form {
    padding: 28px 20px;
    border-radius: 12px;
  }

  body.home .section-contact-form .contact-form__subtitle {
    font-size: 15px;
    margin-bottom: 28px;
  }

  body.home .section-contact-form .wpforms-field input[type="text"],
  body.home .section-contact-form .wpforms-field input[type="email"],
  body.home .section-contact-form .wpforms-field textarea {
    font-size: 16px; /* Prevent zoom on iOS */
  }

  body.home .section-testimonials .testimonials__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.home .section-testimonials .testimonial-item {
    padding: 28px 20px;
  }

  body.home .section-testimonials .testimonial-avatar {
    width: 72px;
    height: 72px;
    margin-bottom: 18px;
  }

  body.home .section-testimonials .testimonial-item h4 {
    font-size: 17px;
  }

  body.home .section-testimonials .testimonial-item p {
    font-size: 14px;
    -webkit-line-clamp: 6;
    line-clamp: 6;
  }
}

@media (max-width: 480px) {
  body.home .section-process-setup .process-setup__steps,
  body.home .section-process-setup .process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  body.home .section-process-setup .process-step {
    padding: 22px 16px;
  }

  body.home .section-process-setup .process-step-icon {
    width: 52px;
    height: 52px;
    font-size: 26px;
  }
}



/* ==================== Tabbed Product Slider ==================== */
.section-tabbed-products .ss-container--home {
    max-width: 1200px;
    margin: 0 auto;
}

.sf-tabs-nav {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    gap: 32px;
}

.sf-tab-nav-item {
    padding: 12px 0;
    cursor: pointer;
    position: relative;
    color: #6B7280;
    font-weight: 600;
    font-size: 16px;
    text-transform: capitalize;
    transition: all 0.3s ease;
}

.sf-tab-nav-item:hover {
    color: var(--sf-pink);
}

.sf-tab-nav-item.active {
    color: #111827;
}

.sf-tab-nav-item.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--sf-pink, #E84C8B);
}

.sf-tab-pane {
    display: none;
}

.sf-tab-pane.active {
    display: block;
}

body.home .section-tabbed-products .sf-product-slider {
    position: relative;
    padding: 10px 0 40px;
    overflow: visible;
}

/* Ensure slide and card heights are consistent */
body.home .section-tabbed-products .sf-product-slider .swiper-wrapper {
    align-items: stretch;
}

body.home .section-tabbed-products .sf-product-slider .swiper-slide {
    height: auto;
    display: flex;
    align-items: stretch;
}

body.home .section-tabbed-products .sf-product-card {
    height: 100%;
}

/* Card Styling - Premium Upgrade */
.sf-product-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.05),
        0 2px 8px rgba(0, 0, 0, 0.03);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
}

.sf-product-card:hover {
    transform: translateY(-12px);
    border-color: rgba(232, 76, 139, 0.2);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.1),
        0 10px 20px rgba(232, 76, 139, 0.05);
}

/* Image with fixed aspect ratio */
.sf-product-card__image-link {
    display: block;
    width: 100%;
    position: relative;
    padding-top: 133.33%; /* 3:4 Aspect Ratio */
    background: #f9f9f9;
    overflow: hidden;
}

.sf-product-card__image-link img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.sf-product-card:hover .sf-product-card__image-link img {
    transform: scale(1.05);
}

.sf-product-card__content {
    padding: 20px 16px;
    text-align: center;
    flex-grow: 1;
}

.sf-product-card__title {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 12px 0;
    text-transform: capitalize;
    line-height: 1.4;
}

.sf-product-card__title a {
    text-decoration: none;
    color: inherit;
}

/* Swatches styling */
.sf-product-card__swatches {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: auto;
}

.sf-product-card__swatch {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.1);
    background: var(--swatch-color, #000);
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
}

.sf-product-card__swatch.is-active,
.sf-product-card__swatch:hover {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--sf-pink);
    transform: scale(1.1);
}

/* CTA inside card */
.sf-product-card__cta {
    padding: 0 16px 20px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.sf-product-card:hover .sf-product-card__cta {
    opacity: 1;
    transform: translateY(0);
}

.sf-product-card__hover-cta-btn {
    display: block;
    width: 100%;
    padding: 10px;
    background: #111827;
    color: #fff !important;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

/* Navigation Arrows - Glassmorphism (force visible) */
.sf-product-slider .swiper-button-next,
.sf-product-slider .swiper-button-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 50;

    width: 46px;
    height: 46px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 9999px;
    box-shadow: 0 14px 34px rgba(17,17,17,0.14);
    color: #111827;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    border: 1px solid rgba(17,17,17,0.06);
    background-image: none !important;

    display: flex;
    align-items: center;
    justify-content: center;
}

.sf-product-slider .swiper-button-prev { left: -18px; }
.sf-product-slider .swiper-button-next { right: -18px; }

.sf-product-slider .swiper-button-next:hover,
.sf-product-slider .swiper-button-prev:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 18px 44px rgba(17,17,17,0.18);
}

/* draw arrows ourselves */
.sf-product-slider .swiper-button-prev::after,
.sf-product-slider .swiper-button-next::after {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #111827;
    border-bottom: 2px solid #111827;
    display: block;
}

.sf-product-slider .swiper-button-prev::after { transform: rotate(135deg); margin-left: 2px; }
.sf-product-slider .swiper-button-next::after { transform: rotate(-45deg); margin-right: 2px; }

.sf-product-slider .swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .sf-tabs-nav {
        gap: 16px;
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 5px;
        -webkit-overflow-scrolling: touch;
    }
    
    .sf-tab-nav-item {
        white-space: nowrap;
        font-size: 14px;
    }

    .sf-product-card__cta {
        opacity: 1;
        transform: none;
    }
    
    .sf-product-slider .swiper-button-next,
    .sf-product-slider .swiper-button-prev {
        display: none;
    }
}

/* Motion (Soft Luxury): scroll reveal */
body.home .sf-reveal{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:opacity .7s ease, transform .7s ease;
  will-change:opacity, transform;
}
body.home .sf-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
/* 修复 Banner 内容显示问题 */
.hero-banner .hero-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 5%;
}

.hero-banner .hero-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.hero-banner .hero-inner {
  background: linear-gradient(135deg, hsla(334, 84%, 83%, 0.22) 0%, rgba(186, 167, 243, 0.18) 55%, rgba(255, 255, 255, 0.72) 100%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 30px;
  border-radius: 12px;
  max-width: 700px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 16px 40px rgba(17, 17, 17, 0.16);
}

/* 确保标题可见 */
.hero-banner .hero-banner__title {
  color: #ffffff !important;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 15px;
  line-height: 1.2;
}

.hero-banner .hero-banner__subtitle {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 1.1rem;
  margin-bottom: 25px;
  line-height: 1.6;
}

/* 移动端样式 */
@media (max-width: 768px) {
  .hero-banner .hero-overlay {
    justify-content: center;
    padding: 0 15px;
  }
  
  .hero-banner .hero-inner {
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding: 20px;
  }
  
  /* 移动端只显示标题 */
  .hero-banner .hero-banner__subtitle,
  .hero-banner .hero-banner__buttons {
    display: none;
  }
  
  .hero-banner .hero-banner__title {
    font-size: 1.8rem;
    margin-bottom: 0;
  }
}
/* Process Setup CTA Button: Blue-Purple Gradient Override */
body.home .section-process-setup .process-setup__cta .ss-btn--primary {
    background: linear-gradient(90deg, #6D5BFF 0%, #A78BFA 100%);
    border: none;
    box-shadow: 0 8px 20px rgba(109, 91, 255, 0.3);
    transition: transform .22s ease, box-shadow .22s ease;
}

body.home .section-process-setup .process-setup__cta .ss-btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(109, 91, 255, 0.4);
}

/* ==================== About Us (Home) ==================== */

/* ==================== Help Goals (Home) ==================== */
body.home .section-help-goals{
  background:#fff;
}

/* Footer contact icons: keep aspect ratio (avoid squished images) */
body.home .foot_contact .icon{
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.home .foot_contact .icon img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  display: block;
}

body.home .section-help-goals .help-goals {
  display: grid;
  gap: 24px;
}

body.home .section-help-goals .help-goals__top {
  display: grid;
  grid-template-columns: 740fr 490fr; /* approx 740:490 ratio */
  gap: 24px;
  align-items: stretch;
}

body.home .section-help-goals .help-goals__top-left {
  border-radius: 16px;
  overflow: hidden;
  height: 410px; /* Match right card height */
  background: #eee;
}

body.home .section-help-goals .help-goals__top-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home .section-help-goals .help-goals__video{
  width: 100%;
  height: 100%;
  position: relative;
}

body.home .section-help-goals .help-goals__video iframe{
  width: 100%;
  height: 100%;
  display: block;
}

body.home .section-help-goals .help-goals__video-cover{
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background: transparent;
  display: block;
  position: relative;
}

body.home .section-help-goals .help-goals__video-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.home .section-help-goals .help-goals__video-play{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 84px;
  height: 84px;
  border-radius: 9999px;
  background: rgba(0,0,0,.35);
  border: 2px solid rgba(255,255,255,.75);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  cursor: pointer;
  pointer-events: auto;
  z-index: 4;
}

body.home .section-help-goals .help-goals__video-play::after{
  content: '';
  position: absolute;
  left: 52%;
  top: 50%;
  transform: translate(-40%, -50%);
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 22px solid #fff;
}

body.home .section-help-goals .help-goals__top-right {
  height: 410px;
}

body.home .section-help-goals .help-goals__card {
  height: 100%;
  border-radius: 16px;
  background: var(--sf-cream, #FAF7F2);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.home .section-help-goals .help-goals__title {
  font-size: clamp(28px, 2.2vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--sf-ink, #1F1F1F);
  margin: 0 0 16px;
}

body.home .section-help-goals .help-goals__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--sf-muted, #6B7280);
  margin: 0 0 24px;
}

body.home .section-help-goals .help-goals__btn {
  align-self: flex-start;
  background: var(--sf-pink);
  border-color: var(--sf-pink);
}

body.home .section-help-goals .help-goals__btn:hover {
  background: var(--sf-pink-hover);
  border-color: var(--sf-pink-hover);
}

body.home .section-help-goals .help-goals__bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

body.home .section-help-goals .help-goals__item {
  border-radius: 16px;
  overflow: hidden;
  background: var(--sf-pink);
  color: #fff;
}


body.home .section-help-goals .help-goals__item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home .section-help-goals .help-goals__item-body {
  padding: 24px;
}

body.home .section-help-goals .help-goals__item-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #fff;
}

body.home .section-help-goals .help-goals__item-text {
  font-size: 15px;
  line-height: 1.6;
  opacity: 0.9;
  margin: 0;
}

/* Responsive */
@media (max-width: 1240px) {
  body.home .section-help-goals .help-goals__top {
    grid-template-columns: 1.2fr 1fr;
  }
}

@media (max-width: 968px) {
  body.home .section-help-goals .help-goals__top {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  body.home .section-help-goals .help-goals__top-left, 
  body.home .section-help-goals .help-goals__top-right {
    height: auto;
  }
  body.home .section-help-goals .help-goals__bottom {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 568px) {
  body.home .section-help-goals .help-goals__bottom {
    grid-template-columns: 1fr;
  }
}

/* ==================== Help Cards (Home) ==================== */
body.home .section-help-cards {
  background: linear-gradient(135deg,
    rgba(232, 76, 139, 0.10) 0%,
    rgba(167, 139, 250, 0.10) 55%,
    rgba(255, 255, 255, 0.85) 100%
  );
}

body.home .section-help-cards .ss-container--home {
  background: transparent !important;
  background-color: transparent !important;
}

body.home .section-help-cards .help-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 370px);
  gap: 45px;
  justify-content: center;
  margin-top: 56px;
}

body.home .section-help-cards .help-card {
  border-radius: 16px;
  padding: 40px;
  background: #fff;
  border: 1px solid #E5E5E5;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

body.home .section-help-cards .help-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.10);
}

body.home .section-help-cards .help-card {
  text-align: center;
}

body.home .section-help-cards .help-card__title {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

body.home .section-help-cards .help-card__desc {
  margin: 0 0 26px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #666;
}

body.home .section-help-cards .help-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  padding: 0 28px;
  border-radius: 28px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

@media (max-width: 1220px) {
  body.home .section-help-cards .help-cards__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 900px) {
  body.home .section-help-cards .help-cards__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body.home .section-help-cards .help-card {
    padding: 28px;
  }
}

/* ==================== Video Modal (Home Page) ==================== */
body.home .ss-modal--video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  animation: fadeIn 0.3s ease;
}

body.home .ss-modal--video.ss-modal--open {
  display: flex;
}

body.home .ss-modal--video.ss-modal--hidden {
  display: none;
}

body.home .ss-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

body.home .ss-modal__content {
  position: relative;
  width: 90%;
  max-width: 1200px;
  z-index: 10001;
}

body.home .ss-modal__close {
  position: absolute;
  top: -40px;
  right: 0;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, transform 0.2s ease;
  z-index: 10002;
}

body.home .ss-modal__close:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

body.home .ss-modal__close:active {
  transform: scale(0.95);
}

body.home .ss-modal__iframe {
  width: 100%;
  height: 675px;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  border: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (max-width: 768px) {
  body.home .ss-modal__iframe {
    height: 280px;
  }
  
  body.home .ss-modal__close {
    top: -35px;
    width: 35px;
    height: 35px;
    font-size: 20px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body.home .ss-modal__iframe {
    height: 520px;
  }
}
