@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap');

/* ==========================================================================
   JMS Decor Global Design System
   - Tokens
   - Base / Typography
   - Layout primitives
   - Shared components
   - Header / Footer
   - Responsive system
   ========================================================================== */

/* ==========================================================================
   LAYER 1: PRIMITIVE TOKENS (raw values - do not reference directly in components)
   ========================================================================== */

:root {
  /* --- Primitive: Typography Stacks --- */
  --primitive-font-heading: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --primitive-font-body: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --primitive-font-mono: 'Roboto', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* --- Primitive: Color Palette (Cocoa Brown + Cream Gold) --- */
  --primitive-blue-600: #5f4d40;
  --primitive-blue-700: #3E3228;
  --primitive-blue-100: #FBF7EA;
  --primitive-blue-050: #FDFBF4;
  --primitive-gold-400: #fbeaa2;
  --primitive-gold-050: #FBF7EA;
  --primitive-btn-500: #efa749;
  --primitive-btn-600: #d98f34;
  --primitive-ink-950: #3E3228;
  --primitive-ink-900: #3A3129;
  --primitive-ink-700: #4C443B;
  --primitive-ink-500: #6B6157;
  --primitive-ink-400: #7A7066;
  --primitive-ink-200: #D6CDC1;
  --primitive-ink-100: #E7E0D6;
  --primitive-ink-050: #F1EBE2;
  --primitive-ink-025: #F7F3EC;
  --primitive-white: #ffffff;
  --primitive-volt-500: #C6F24E;
  --primitive-volt-600: #B5E635;
  --primitive-volt-100: #F3FBDD;

  /* --- Primitive: Spacing Scale (4px base) --- */
  --primitive-space-1: 0.25rem;
  --primitive-space-2: 0.5rem;
  --primitive-space-3: 0.75rem;
  --primitive-space-4: 1rem;
  --primitive-space-5: 1.25rem;
  --primitive-space-6: 1.5rem;
  --primitive-space-7: 2rem;
  --primitive-space-8: 2.5rem;
  --primitive-space-9: 3rem;
  --primitive-space-10: 4rem;
  --primitive-space-11: 5rem;
  --primitive-space-12: 6rem;
  --primitive-space-16: 8rem;
  --primitive-space-20: 10rem;
  --primitive-space-24: 12rem;

  /* --- Primitive: Radius Scale --- */
  --primitive-radius-1: 3px;
  --primitive-radius-2: 6px;
  --primitive-radius-3: 10px;
  --primitive-radius-4: 16px;
  --primitive-radius-5: 24px;
  --primitive-radius-full: 999px;

  /* --- Primitive: Easing Curves --- */
  --primitive-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --primitive-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --primitive-ease-smooth: cubic-bezier(0.22, 1, 0.36, 1);
  --primitive-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* --- Primitive: Durations --- */
  --primitive-duration-instant: 150ms;
  --primitive-duration-fast: 250ms;
  --primitive-duration-base: 400ms;
  --primitive-duration-slow: 600ms;
  --primitive-duration-slower: 900ms;
  --primitive-duration-cinematic: 1200ms;

  /* --- Primitive: Z-Index Scale --- */
  --primitive-z-base: 1;
  --primitive-z-raised: 10;
  --primitive-z-header: 20;
  --primitive-z-dropdown: 30;
  --primitive-z-sticky: 50;
  --primitive-z-overlay: 70;
  --primitive-z-modal: 80;
  --primitive-z-toast: 90;

  /* --- Primitive: Container Widths --- */
  --primitive-container-sm: 760px;
  --primitive-container-md: 1080px;
  --primitive-container-lg: 1240px;
  --primitive-container-xl: 1320px;

  /* --- Primitive: Font Sizes (fluid clamp) --- */
  --primitive-text-xs: 0.72rem;
  --primitive-text-sm: 0.8125rem;
  --primitive-text-base: 0.9375rem;
  --primitive-text-md: 1rem;
  --primitive-text-lg: 1.125rem;
  --primitive-text-xl: 1.35rem;
  --primitive-text-2xl: clamp(1.35rem, 2.4vw, 1.6rem);
  --primitive-text-3xl: clamp(2rem, 3.5vw, 2.25rem);
  --primitive-text-4xl: clamp(2.5rem, 4.5vw, 3.25rem);
  --primitive-text-5xl: clamp(3rem, 5.2vw, 3.75rem);
  --primitive-text-display: clamp(3.5rem, 6vw, 5rem);

  /* ==========================================================================
     LAYER 2: SEMANTIC TOKENS (purpose aliases - reference these in components)
     ========================================================================== */

  /* --- Semantic: Typography --- */
  --font-heading: var(--primitive-font-heading);
  --font-body: var(--primitive-font-body);
  --font-ui: var(--primitive-font-body);
  --font-mono: var(--primitive-font-mono);

  /* --- Semantic: Brand Colors --- */
  --color-primary: var(--primitive-blue-600);
  --color-primary-strong: var(--primitive-blue-700);
  --color-primary-soft: var(--primitive-blue-100);
  --color-primary-ghost: var(--primitive-blue-050);
  --color-secondary: var(--primitive-ink-500);
  --color-accent: var(--primitive-blue-600);
  --color-gold: var(--primitive-gold-400);
  --color-gold-soft: var(--primitive-gold-050);
  --color-btn: var(--primitive-btn-500);
  --color-btn-hover: var(--primitive-btn-600);
  --color-btn-text: var(--primitive-white);

  /* --- Semantic: Surfaces --- */
  --color-bg: var(--primitive-white);
  --color-bg-soft: var(--primitive-ink-025);
  --color-bg-muted: var(--primitive-ink-050);
  --color-surface: var(--primitive-white);
  --color-surface-raised: var(--primitive-white);
  --color-surface-dark: var(--primitive-ink-950);
  --color-surface-inverse: var(--primitive-ink-900);
  --color-overlay: rgba(62, 50, 40, 0.72);

  /* --- Semantic: Text --- */
  --color-text: var(--primitive-ink-900);
  --color-text-primary: var(--primitive-ink-900);
  --color-text-muted: var(--primitive-ink-500);
  --color-text-secondary: var(--primitive-ink-400);
  --color-text-inverse: var(--primitive-white);
  --color-text-faint: var(--primitive-ink-200);
  --color-heading: var(--primitive-ink-950);

  /* --- Semantic: Borders --- */
  --color-border: var(--primitive-ink-100);
  --color-border-strong: var(--primitive-ink-200);
  --color-border-subtle: var(--primitive-ink-050);

  /* --- Semantic: Shadows (cool-tinted) --- */
  --shadow-xs: 0 2px 8px rgba(62, 50, 40, 0.04);
  --shadow-sm: 0 4px 16px rgba(62, 50, 40, 0.06);
  --shadow-card: 0 10px 30px rgba(62, 50, 40, 0.07);
  --shadow-card-hover: 0 18px 40px rgba(62, 50, 40, 0.14);
  --shadow-button-hover: 0 12px 26px rgba(239, 167, 73, 0.32);
  --shadow-focus: 0 0 0 3px rgba(239, 167, 73, 0.35);
  --shadow-glass: 0 8px 32px 0 rgba(62, 50, 40, 0.10);
  --shadow-lg: 0 20px 48px rgba(62, 50, 40, 0.18);
  --shadow-xl: 0 32px 64px rgba(62, 50, 40, 0.22);

  /* --- Semantic: Radius --- */
  --radius-xs: var(--primitive-radius-1);
  --radius-sm: var(--primitive-radius-2);
  --radius-md: var(--primitive-radius-3);
  --radius-lg: var(--primitive-radius-4);
  --radius-xl: var(--primitive-radius-5);
  --radius-full: var(--primitive-radius-full);

  /* --- Semantic: Spacing --- */
  --space-1: var(--primitive-space-1);
  --space-2: var(--primitive-space-2);
  --space-3: var(--primitive-space-3);
  --space-4: var(--primitive-space-4);
  --space-5: var(--primitive-space-5);
  --space-6: var(--primitive-space-6);
  --space-7: var(--primitive-space-7);
  --space-8: var(--primitive-space-8);
  --space-9: var(--primitive-space-9);
  --space-10: var(--primitive-space-10);
  --space-11: var(--primitive-space-11);
  --space-12: var(--primitive-space-12);
  --space-16: var(--primitive-space-16);
  --space-20: var(--primitive-space-20);
  --space-24: var(--primitive-space-24);

  /* --- Semantic: Layout --- */
  --container-sm: var(--primitive-container-sm);
  --container-md: var(--primitive-container-md);
  --container-lg: var(--primitive-container-lg);
  --container-xl: var(--primitive-container-xl);
  --container-gutter: 1rem;
  --container-gutter-mobile: 20px;
  --line-length-tight: 58ch;
  --line-length-body: 70ch;
  --section-space: clamp(5rem, 9vw, 8rem);
  --section-space-sm: clamp(3.5rem, 6vw, 5rem);
  --section-space-mobile: 4rem;
  --section-space-mobile-sm: 2.5rem;

  /* --- Semantic: Motion --- */
  --transition-fast: var(--primitive-duration-fast) var(--primitive-ease-out-expo);
  --transition-base: var(--primitive-duration-base) var(--primitive-ease-out-expo);
  --transition-slow: var(--primitive-duration-slow) var(--primitive-ease-out-expo);
  --transition-spring: 500ms var(--primitive-ease-spring);
  --transition-smooth: var(--primitive-duration-slow) var(--primitive-ease-smooth);
  --ease-out-expo: var(--primitive-ease-out-expo);
  --ease-spring: var(--primitive-ease-spring);
  --ease-smooth: var(--primitive-ease-smooth);
  --duration-instant: var(--primitive-duration-instant);
  --duration-fast: var(--primitive-duration-fast);
  --duration-base: var(--primitive-duration-base);
  --duration-slow: var(--primitive-duration-slow);
  --duration-slower: var(--primitive-duration-slower);
  --duration-cinematic: var(--primitive-duration-cinematic);

  /* --- Semantic: Z-Index --- */
  --z-base: var(--primitive-z-base);
  --z-raised: var(--primitive-z-raised);
  --z-header: var(--primitive-z-header);
  --z-dropdown: var(--primitive-z-dropdown);
  --z-sticky: var(--primitive-z-sticky);
  --z-overlay: var(--primitive-z-overlay);
  --z-modal: var(--primitive-z-modal);
  --z-toast: var(--primitive-z-toast);

  /* ==========================================================================
     LAYER 3: COMPONENT TOKENS (component-specific - scoped overrides)
     ========================================================================== */

  /* --- Component: Buttons --- */
  --button-font-size: 14px;
  --button-font-weight: 700;
  --button-letter-spacing: 0.125em;
  --button-padding-y: 16px;
  --button-padding-x: 32px;
  --button-radius: var(--primitive-radius-2);
  --button-bg: var(--color-btn);
  --button-bg-hover: var(--color-btn-hover);
  --button-text: var(--color-text-inverse);
  --button-text-hover: var(--color-text-inverse);
  --button-border: transparent;
  --button-shadow-hover: var(--shadow-button-hover);
  --button-scale-hover: 1.04;
  --button-lift-hover: -3px;
  --button-mobile-font-size: 14px;
  --button-mobile-padding-y: 12px;
  --button-mobile-padding-x: 24px;

  /* --- Component: Cards --- */
  --card-bg: var(--color-surface);
  --card-border: var(--color-border);
  --card-border-hover: var(--color-gold);
  --card-radius: var(--radius-md);
  --card-shadow: none;
  --card-shadow-hover: var(--shadow-card-hover);
  --card-padding: clamp(1.25rem, 2vw, 2rem);
  --card-lift-hover: -8px;

  /* --- Component: Hero --- */
  --hero-min-height: min(92vh, 880px);
  --hero-bg: linear-gradient(180deg, rgba(250, 248, 244, 0.96) 0%, rgba(255, 255, 255, 1) 100%);
  --hero-overlay: linear-gradient(90deg, rgba(95, 77, 64, 0.78) 0%, rgba(95, 77, 64, 0.66) 42%, rgba(95, 77, 64, 0.32) 100%);
  --hero-title-size: var(--primitive-text-5xl);
  --hero-title-weight: 800;
  --hero-title-tracking: -0.04em;
  --hero-title-line: 1.06;

  /* --- Component: Navigation --- */
  --nav-height: 72px;
  --nav-height-scrolled: 64px;
  --nav-bg: transparent;
  --nav-bg-scrolled: rgba(62, 50, 40, 0.93);
  --nav-text: var(--color-text-inverse);
  --nav-text-scrolled: var(--color-text-inverse);
  --nav-shadow-scrolled: 0 12px 32px rgba(0, 0, 0, 0.28);

  /* --- Component: Section Headers --- */
  --section-heading-max-width: 760px;
  --section-intro-max-width: 60rem;
  --eyebrow-color: var(--color-primary);
  --eyebrow-font: var(--font-mono);
  --eyebrow-size: var(--primitive-text-sm);
  --eyebrow-tracking: 0.12em;

  /* --- Component: Forms --- */
  --input-bg: var(--color-surface);
  --input-border: var(--color-border);
  --input-border-focus: var(--color-primary);
  --input-radius: var(--radius-sm);
  --input-min-height: 50px;
  --input-shadow-focus: var(--shadow-focus);

  /* --- Component: Stats --- */
  --stat-value-color: var(--color-primary);
  --stat-value-font: var(--font-mono);
  --stat-value-size: clamp(1.9rem, 3vw, 2.2rem);
  --stat-label-color: var(--color-text-muted);
  --stat-label-size: 0.78rem;

  /* --- Component: FAQ --- */
  --faq-border: #e6e6e2;
  --faq-summary-size: 19px;
  --faq-answer-size: 16.5px;
  --faq-counter-color: #b8b8b3;
  --faq-icon-color: #a6a6a1;
}

/* ==========================================================================
   DARK MODE TOKENS (semantic layer overrides)
   ========================================================================== */

[data-theme="dark"],
.dark-mode {
  --color-bg: var(--primitive-ink-950);
  --color-bg-soft: #12151D;
  --color-bg-muted: #181C26;
  --color-surface: #1A1E28;
  --color-surface-raised: #222733;
  --color-surface-dark: var(--primitive-ink-950);
  --color-surface-inverse: var(--primitive-white);
  --color-overlay: rgba(0, 0, 0, 0.82);

  --color-text: #E8EAF0;
  --color-text-primary: #E8EAF0;
  --color-text-muted: #9BA3B5;
  --color-text-secondary: #7A8496;
  --color-text-inverse: var(--primitive-ink-950);
  --color-text-faint: #3A4152;
  --color-heading: #F4F6FA;

  --color-border: #2A3040;
  --color-border-strong: #3A4252;
  --color-border-subtle: #1E2330;

  --color-primary-soft: rgba(251, 234, 162, 0.12);
  --color-primary-ghost: rgba(251, 234, 162, 0.08);

  --shadow-xs: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-sm: 0 4px 16px rgba(0, 0, 0, 0.25);
  --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.3);
  --shadow-card-hover: 0 18px 40px rgba(0, 0, 0, 0.4);
  --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 20px 48px rgba(0, 0, 0, 0.45);
  --shadow-xl: 0 32px 64px rgba(0, 0, 0, 0.5);

  --card-bg: var(--color-surface);
  --card-border: var(--color-border);
  --input-bg: var(--color-surface);
  --input-border: var(--color-border);

  --hero-bg: linear-gradient(180deg, rgba(62, 50, 40, 0.98) 0%, rgba(42, 34, 27, 1) 100%);
  --nav-bg-scrolled: rgba(62, 50, 40, 0.96);

  --faq-border: #403830;
  --faq-counter-color: #6B6157;
  --faq-icon-color: #7A7168;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg: var(--primitive-ink-950);
    --color-bg-soft: #12151D;
    --color-bg-muted: #181C26;
    --color-surface: #1A1E28;
    --color-surface-raised: #222733;
    --color-text: #E8EAF0;
    --color-text-primary: #E8EAF0;
    --color-text-muted: #9BA3B5;
    --color-text-secondary: #7A8496;
    --color-text-inverse: var(--primitive-ink-950);
    --color-text-faint: #3A4152;
    --color-heading: #F4F6FA;
    --color-border: #2A3040;
    --color-border-strong: #3A4252;
    --color-border-subtle: #1E2330;
    --color-primary-soft: rgba(251, 234, 162, 0.12);
    --color-primary-ghost: rgba(251, 234, 162, 0.08);
    --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.3);
    --shadow-card-hover: 0 18px 40px rgba(0, 0, 0, 0.4);
    --card-bg: #1A1E28;
    --card-border: #2A3040;
    --input-bg: #1A1E28;
    --input-border: #2A3040;
    --hero-bg: linear-gradient(180deg, rgba(62, 50, 40, 0.98) 0%, rgba(42, 34, 27, 1) 100%);
    --faq-border: #403830;
    --faq-counter-color: #6B6157;
    --faq-icon-color: #7A7168;
  }
}

/* ==========================================================================
   REDUCED MOTION: kill all animation/transition globally
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   Base Reset
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-text);
  background: var(--color-bg);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection {
  color: var(--color-text-inverse);
  background: var(--color-primary);
}

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

a {
  color: var(--color-heading);
  text-decoration: none !important;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-accent);
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--space-4);
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

h1 {
  font-size: clamp(3rem, 5.2vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.06;
}

h2 {
  font-size: clamp(2rem, 3.5vw, 2.25rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
}

h3 {
  font-size: clamp(1.35rem, 2.4vw, 1.6rem);
  letter-spacing: -0.025em;
  line-height: 1.2;
}

h4 {
  font-size: clamp(1.125rem, 1.6vw, 1.35rem);
}

p,
ul,
ol {
  margin: 0 0 var(--space-5);
}

ul,
ol {
  padding-left: 1.2rem;
}

strong {
  color: var(--color-heading);
  font-weight: 700;
}

small {
  font-size: 0.8125rem;
}

/* ==========================================================================
   Layout Primitives
   ========================================================================== */

.container,
.container-lg,
.container-xl,
.container-sm {
  width: min(calc(100% - (var(--container-gutter) * 2)), var(--container-lg));
  margin-inline: auto;
}

.container-sm {
  width: min(calc(100% - (var(--container-gutter) * 2)), var(--container-sm));
}

.container-lg {
  width: min(calc(100% - (var(--container-gutter) * 2)), var(--container-lg));
}

.container-xl {
  width: min(calc(100% - (var(--container-gutter) * 2)), var(--container-xl));
}

.section {
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.section-sm {
  padding-block: clamp(3rem, 5vw, 4.5rem);
}

.section-soft {
  background: var(--color-bg-soft);
}

.section-muted {
  background: var(--color-bg-muted);
}

.section-dark {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark h5,
.section-dark h6,
.section-dark strong {
  color: var(--color-text-inverse);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--space-4);
  color: var(--color-primary);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: var(--space-4);
  background: var(--color-gold);
  color: var(--color-primary);
  padding: 6px 14px;
  border-radius: 20px;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.section-kicker::before {
  display: none;
}

.section-kicker--plain::before {
  display: none;
}

.section-kicker--inverse {
  color: var(--color-primary);
}

.section-kicker--center {
  justify-content: center;
}

.section-kicker--compact {
  margin-bottom: var(--space-3);
}

.section-heading {
  max-width: min(760px, 100%);
  margin-bottom: var(--space-7);
}

.section-intro {
  max-width: 60rem;
  margin-bottom: var(--space-10);
}

.section-intro--center {
  margin-inline: auto;
  text-align: center;
}

.section-intro--compact {
  margin-bottom: var(--space-8);
}

.section-rail {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.section-rail__body {
  display: grid;
  align-content: start;
  gap: var(--space-5);
}

.section-rail__body .section-intro {
  margin-bottom: 0;
}

.proof-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.section-heading p,
.lead,
.text-lead {
  max-width: var(--line-length-body);
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.text-muted {
  color: var(--color-text-muted);
}

.surface {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.glass-panel {
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.text-gradient {
  background: linear-gradient(135deg, var(--color-btn) 0%, var(--color-btn-hover) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.content-flow > * + * {
  margin-top: var(--space-5);
}

/* ==========================================================================
   Hero
   ========================================================================== */

.hero-shell {
  position: relative;
  overflow: hidden;
  min-height: min(90vh, 860px);
  background: linear-gradient(180deg, rgba(250, 248, 244, 0.96) 0%, rgba(255, 255, 255, 1) 100%);
  color: var(--color-heading);
}

.hero-shell h1,
.hero-shell h2,
.hero-shell h3,
.hero-shell p,
.hero-shell strong {
  color: var(--color-heading);
}

.hero-media,
.media-frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
}

.hero-media {
  position: absolute;
  inset: 0;
  border-radius: 0; /* Full width sections stay 0 */
}

.hero-media img,
.hero-media video,
.media-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(95, 77, 64, 0.78) 0%, rgba(95, 77, 64, 0.66) 42%, rgba(95, 77, 64, 0.32) 100%);
}

.hero-layout {
  position: relative;
  z-index: var(--z-base);
  min-height: inherit;
  display: grid;
  align-items: center;
  padding-block: clamp(6rem, 12vw, 8rem);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: end;
}

.hero-copy {
  max-width: 760px;
}

.hero-copy .eyebrow {
  color: rgba(255, 255, 255, 0.78);
}

.hero-copy .section-kicker {
  color: var(--color-primary);
}

.hero-copy .lead,
.hero-copy .text-lead {
  color: var(--color-text-muted);
}

.heading-emphasis {
  color: var(--color-accent);
  font-style: normal;
}

.media-frame {
  min-height: 320px;
  background: var(--color-bg-muted);
  border-radius: var(--radius-md);
}

.media-frame.media-tall {
  min-height: 520px;
}

.media-frame.media-short {
  min-height: 240px;
}

.link-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
}

.link-card:hover {
  color: inherit;
}

.link-card .media-frame {
  margin-bottom: var(--space-4);
}

.link-card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--color-border);
}

.link-card-body h3,
.link-card-body h4 {
  margin-bottom: 0;
}

.arrow-link {
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 700;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.link-card:hover .arrow-link {
  transform: translateX(4px);
  color: var(--color-primary-strong);
}

/* ==========================================================================
   Shared Cards / Grids / Buttons
   ========================================================================== */

.card {
  height: 100%;
  padding: clamp(1.25rem, 2vw, 2rem);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: none;
  transition: transform var(--transition-spring), box-shadow var(--transition-spring), border-color var(--transition-fast);
  will-change: transform, box-shadow;
}

.card:hover {
  transform: translateY(-8px) scale(1.01);
  border-color: var(--color-accent);
  box-shadow: var(--shadow-card-hover);
}

.card-title {
  margin-bottom: var(--space-3);
}

.card-meta {
  color: var(--color-text-muted);
  font-size: 0.9375rem;
}

.card-tag {
  margin: 0 0 var(--space-3);
  color: var(--color-text-secondary);
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.card-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: var(--space-5);
  color: var(--color-primary-strong);
  font-family: var(--font-ui);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.card-cta::after {
  content: "+";
  font-size: 1rem;
  line-height: 1;
}

.card-icon-accent {
  color: var(--color-primary);
}

.grid-2,
.grid-3,
.grid-4,
.split-grid,
.feature-grid,
.stat-grid {
  display: grid;
  gap: var(--space-6);
}

.grid-2,
.split-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3,
.feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-4,
.stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Mobile overflow fix: grid items default to min-width:auto which lets wide
   children (e.g. data tables) blow out the grid track and cause horizontal
   scroll on small screens. Force min-width:0 so items respect the track. */
.grid-2 > *,
.grid-3 > *,
.grid-4 > *,
.split-grid > *,
.feature-grid > *,
.stat-grid > * {
  min-width: 0;
}

/* Table wrappers must never exceed their container */
.data-table-wrap,
.cs-table-wrap {
  max-width: 100%;
}

.badge,
.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(62, 50, 40, 0.1);
  border-radius: 999px;
  background: var(--color-primary-soft);
  color: var(--color-heading);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.divider {
  height: 1px;
  background: var(--color-border);
}

.btn,
.button,
button[type='submit'],
input[type='submit'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 48px;
  padding: var(--button-padding-y) var(--button-padding-x);
  border: 1px solid transparent;
  border-radius: var(--button-radius);
  font-family: var(--font-ui);
  font-size: var(--button-font-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: var(--button-letter-spacing);
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    transform var(--transition-spring),
    box-shadow var(--transition-spring),
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
  cursor: pointer;
  will-change: transform, box-shadow;
}

.btn:hover,
.button:hover,
button[type='submit']:hover,
input[type='submit']:hover {
  transform: scale(1.04);
}

.btn-primary {
  background: var(--color-btn);
  color: var(--color-btn-text);
  border-color: var(--color-btn);
  letter-spacing: 2px;
}

.btn-primary:hover {
  background: var(--color-btn-hover);
  border-color: var(--color-btn-hover);
  color: var(--color-btn-text);
  box-shadow: var(--shadow-button-hover);
  transform: scale(1.04);
}

.btn-secondary {
  background: transparent;
  color: var(--color-heading);
  border-color: var(--color-heading);
}

.btn-secondary:hover {
  background: var(--color-heading);
  color: var(--color-text-inverse);
  border-color: var(--color-heading);
}

.btn-outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-outline:hover {
  background: var(--color-primary);
  color: var(--color-text-inverse);
  border-color: var(--color-primary);
}

.btn-dark {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
  border-color: var(--color-surface-dark);
}

.btn-dark:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
}

.btn-ghost {
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text-inverse);
  border-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(4px);
}

.btn-ghost:hover {
  background: var(--color-text-inverse);
  color: var(--color-surface-dark);
  border-color: var(--color-text-inverse);
}

.btn-link,
.btn-link-mobile {
  padding: 0;
  min-height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-heading);
  font-family: var(--font-ui);
  letter-spacing: 0.04em;
  box-shadow: none;
}

.btn-link:hover,
.btn-link-mobile:hover {
  background: transparent;
  color: var(--color-primary-strong);
  border-color: transparent;
  box-shadow: none;
}

.btn-sm {
  min-height: 42px;
  padding: 0.875rem 1.25rem;
  font-size: 11px;
  letter-spacing: 1.2px;
}

.btn-lg {
  min-height: 54px;
  padding: 1.125rem 2.5rem;
  font-size: 14px;
}

.btn-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.btn-group-inline {
  display: inline-flex;
}

.flow-top-xl {
  margin-top: var(--space-10);
}

.flow-top-lg {
  margin-top: var(--space-9);
}

/* ==========================================================================
   Trust / Proof / FAQ / Forms
   ========================================================================== */

.center-stack {
  text-align: center;
}

.center-cta {
  margin-top: var(--space-9);
  text-align: center;
}

.center-cta--compact {
  margin-top: var(--space-8);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: var(--space-7);
}

.logo-cloud {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.logo-cloud img {
  max-height: 38px;
  width: auto;
  margin-inline: auto;
  opacity: 0.72;
  filter: grayscale(100%);
}

.logo-cloud img:hover {
  opacity: 1;
  filter: grayscale(0%);
}

.list-check {
  display: grid;
  gap: 0.85rem;
  padding: 0;
  list-style: none;
}

.list-check li {
  position: relative;
  padding-left: 1.6rem;
}

.list-check li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: var(--color-primary);
}

.stat-card {
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.stat-band {
  display: grid;
  gap: 1rem;
  text-align: center;
}

.stat-band--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stat-band__item {
  padding: 1.1rem 1rem;
  border: 1px solid rgba(95, 77, 64, 0.2);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 248, 244, 0.94) 100%);
}

.stat-band__value {
  margin-bottom: 0.45rem;
  color: var(--color-primary);
  font-family: var(--font-mono);
  font-size: clamp(1.9rem, 3vw, 2.2rem);
  font-weight: 700;
  line-height: 1;
}

.stat-band__label {
  color: var(--color-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.stat-value {
  margin-bottom: var(--space-2);
  color: var(--color-heading);
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  font-weight: 800;
  line-height: 1;
}

.stat-label {
  color: var(--color-text-muted);
  font-size: 0.95rem;
}

.trust-strip {
  position: relative;
  z-index: var(--z-base);
  margin-top: clamp(-2.5rem, -4vw, -1.5rem);
}

.trust-strip__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.7fr);
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(12px);
}

.trust-strip__inner--single {
  grid-template-columns: 1fr;
}

.trust-strip__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
}

.trust-badge img {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: grayscale(100%) contrast(1.2);
}

.trust-badge strong,
.trust-badge span {
  display: block;
}

.trust-badge strong {
  margin-bottom: 0.12rem;
  color: var(--color-heading);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trust-badge span {
  color: var(--color-text-muted);
  font-size: 0.84rem;
  line-height: 1.35;
}

.proof-line {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1.1rem;
}

.proof-line strong {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--color-heading);
  font-size: 1rem;
  font-weight: 700;
}

.proof-line span {
  color: var(--color-text-muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.step-card--center {
  text-align: center;
}

.step-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 320px;
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-image:
    linear-gradient(180deg, rgba(95, 77, 64, 0.14) 0%, rgba(95, 77, 64, 0.22) 35%, rgba(95, 77, 64, 0.78) 100%),
    var(--step-card-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 16px 36px rgba(95, 77, 64, 0.12);
}

.step-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: inherit;
  pointer-events: none;
}

.step-card > * {
  position: relative;
  z-index: 1;
}

.step-card h4,
.step-card p {
  color: #ffffff;
  max-width: 30ch;
}

.step-card h4 {
  margin-top: 0;
  margin-bottom: 0.75rem;
  text-shadow: 0 10px 24px rgba(95, 77, 64, 0.35);
}

.step-card p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.86);
}

.step-pill {
  margin-bottom: 1rem;
}

.step-pill__label {
  display: inline-block;
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.03em;
  text-shadow: 0 10px 24px rgba(95, 77, 64, 0.5);
}

.icon-card-heading {
  margin-top: var(--space-5);
}

.card-num {
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
}

.insight-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.insight-card:hover {
  color: inherit;
}

.insight-card__media {
  height: 200px;
  background-size: cover;
  background-position: center;
}

.insight-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.insight-card__title,
.compact-card-title {
  margin: 0 0 var(--space-2);
  font-size: 1.125rem;
}

.insight-card__copy {
  flex: 1;
}

.contact-panel {
  padding: 2.5rem;
}

.contact-panel__title {
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
}

.contact-panel__copy {
  margin-bottom: 2rem;
  color: var(--color-text-muted);
}

.contact-panel__meta {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

.contact-panel__meta strong {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--color-heading);
}

.full-width {
  width: 100%;
}

.textarea-tall {
  min-height: 120px;
}

        /* ---------- FAQ (refined editorial accordion) ---------- */
        .section-faq {
            background: var(--color-bg);
            padding-top: clamp(4.5rem, 8vw, 7rem);
            padding-bottom: clamp(4rem, 7vw, 6rem);
        }
        .faq-grid {
            display: grid;
            grid-template-columns: 0.85fr 1.15fr;
            gap: clamp(3rem, 6vw, 6rem);
            align-items: start;
        }
        @media (max-width: 991px) {
            .faq-grid {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }
            .faq-intro { position: static; }
        }
        .faq-intro {
            position: sticky;
            top: clamp(100px, 15vh, 140px);
        }
        .faq-intro .section-kicker { margin-bottom: 1.5rem; }
        .faq-intro h2 {
            font-size: clamp(32px, 3.4vw, 42px);
            font-weight: 600;
            letter-spacing: -0.02em;
            line-height: 1.12;
            color: var(--color-heading);
            margin-bottom: 1.5rem;
        }
        .faq-intro .lead {
            font-size: 17px;
            line-height: 1.7;
            color: var(--color-text-muted);
            max-width: 400px;
            margin-bottom: 2.5rem;
        }
        .faq-list {
            display: grid;
            gap: 0;
            align-content: start;
            counter-reset: faqitem;
            border-top: 1px solid #e6e6e2;
        }
        .faq-item {
            border: 0;
            border-bottom: 1px solid #e6e6e2;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
            overflow: hidden;
        }
        .faq-item summary {
            position: relative;
            display: flex;
            align-items: baseline;
            gap: 1.4rem;
            padding: 1.7rem 3.2rem 1.7rem 0;
            color: var(--color-heading);
            font-size: 19px;
            font-weight: 600;
            letter-spacing: -0.01em;
            line-height: 1.4;
            cursor: pointer;
            list-style: none;
            counter-increment: faqitem;
            transition: color 0.25s ease;
        }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::before {
            content: counter(faqitem, decimal-leading-zero);
            flex-shrink: 0;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 0.1em;
            color: #b8b8b3;
            transition: color 0.25s ease;
        }
        .faq-item summary::after {
            content: '+';
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            font-size: 24px;
            font-weight: 300;
            line-height: 1;
            color: #a6a6a1;
            transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), color 0.25s ease;
        }
        .faq-item summary:hover { color: #000000; }
        .faq-item summary:hover::before { color: var(--color-primary-strong); }
        .faq-item[open] summary::before { color: var(--color-primary-strong); }
        .faq-item[open] summary::after {
            transform: translateY(-50%) rotate(45deg);
            color: var(--color-heading);
        }
        .faq-answer {
            padding: 0 3.2rem 1.9rem 2.6rem;
            animation: faqSlideDown 0.35s ease-out;
        }
        .faq-answer p {
            margin: 0;
            font-size: 16.5px;
            line-height: 1.75;
            color: var(--color-text-muted);
            max-width: 58ch;
        }
        .faq-item .faq-role {
            display: block;
            margin-bottom: 0.55rem;
            font-family: var(--font-body);
            font-size: 0.66rem;
            font-weight: 700;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--color-primary-strong);
        }
        @media (max-width: 768px) {
            .faq-item summary { gap: 1rem; padding: 1.3rem 2.6rem 1.3rem 0; font-size: 17px; }
            .faq-answer { padding: 0 2.6rem 1.6rem 2.1rem; }
            .faq-answer p { font-size: 15.5px; }
        }

        /* ---------- Contact Section ---------- */
        .section-contact {
            background: #3E3228;
            color: #fff;
            margin-top: clamp(3rem, 5vw, 4.5rem);
            padding-top: clamp(4.5rem, 8vw, 7rem);
            padding-bottom: clamp(4.5rem, 8vw, 7rem);
        }
        .section-contact .contact-heading {
            color: #fff;
            font-size: clamp(2.5rem, 4vw, 3.5rem);
            font-weight: 500;
            letter-spacing: -0.03em;
            margin-bottom: 20px;
        }
        .section-contact .lead {
            color: #a1a1aa;
            max-width: 480px;
        }
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: clamp(3rem, 6vw, 6rem);
            align-items: start;
        }
        .contact-details {
            margin-top: 3rem;
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }
        .contact-detail-item h4 {
            color: #fff;
            font-size: 1rem;
            margin-bottom: 0.5rem;
        }
        .contact-detail-item p {
            color: #a1a1aa;
            font-size: 1.1rem;
            margin: 0;
        }

        /* Contact Form Overrides */
        .home-contact-form-shell .wpcf7-form-control-wrap {
            display: block;
            margin-bottom: 1.5rem;
        }
        .home-contact-form-shell .form-control,
        .home-contact-form-shell input[type='text'],
        .home-contact-form-shell input[type='email'],
        .home-contact-form-shell input[type='tel'],
        .home-contact-form-shell textarea {
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 0;
            color: #fff;
            padding: 1rem 0;
            min-height: auto;
            font-size: 1.1rem;
            width: 100%;
        }
        .home-contact-form-shell .form-control:focus,
        .home-contact-form-shell input[type='text']:focus,
        .home-contact-form-shell input[type='email']:focus,
        .home-contact-form-shell input[type='tel']:focus,
        .home-contact-form-shell textarea:focus {
            border-color: #fff;
            box-shadow: none;
            outline: none;
        }
        .home-contact-form-shell textarea {
            min-height: 120px;
            resize: vertical;
        }
        .home-contact-form-shell label {
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.85rem;
            margin-bottom: 0;
            display: block;
        }
        .home-contact-form-shell .wpcf7-submit,
        .home-contact-form-shell .btn {
            background: #efa749;
            color: #fff;
            border-radius: 30px;
            padding: 14px 32px;
            font-weight: 600;
            margin-top: 1rem;
            border: none;
            cursor: pointer;
            transition: background 0.3s;
        }
        .home-contact-form-shell .wpcf7-submit:hover,
        .home-contact-form-shell .btn:hover {
            background: #f0f0f0;
        }

        @media (max-width: 991px) {
            .contact-grid {
                grid-template-columns: 1fr;
                gap: 3rem;
            }
        }
.form-grid {
  display: grid;
  gap: 1rem;
}

.form-label {
  display: block;
  margin-bottom: 0.55rem;
  color: var(--color-heading);
  font-size: 0.9rem;
  font-weight: 600;
}

.form-control,
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='url'],
input[type='search'],
textarea,
select {
  width: 100%;
  min-height: 50px;
  padding: 0.9rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-text);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

textarea {
  min-height: 140px;
  resize: vertical;
}

.form-control:focus,
input[type='text']:focus,
input[type='email']:focus,
input[type='tel']:focus,
input[type='url']:focus,
input[type='search']:focus,
textarea:focus,
select:focus {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-focus);
}

.quote-panel,
.cta-band {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--color-btn) 0%, var(--color-btn-hover) 100%);
  color: var(--color-text-inverse);
}

.quote-panel h2,
.quote-panel h3,
.cta-band h2,
.cta-band h3,
.quote-panel p,
.cta-band p {
  color: var(--color-text-inverse);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   Shared Inner Page System
   ========================================================================== */

.page-shell {
  padding-bottom: 0;
}

.page-shell > .section:first-child {
  padding-top: clamp(3.5rem, 6vw, 5rem);
}

/* Alternate inner-page section backgrounds like the home page rhythm. */
.page-shell > .section:not(.section-soft):not(.section-muted):not(.section-dark):not(.section-contact):nth-of-type(odd) {
  background: var(--color-bg-muted);
}

.page-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(250, 248, 244, 0.96) 0%, rgba(255, 255, 255, 1) 100%),
    radial-gradient(circle at top right, rgba(251, 234, 162, 0.15), transparent 34%);
}

.inner-page-hero {
  min-height: min(82vh, 820px);
  background: #3E3228;
}

.inner-page-hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(95, 77, 64, 0.82) 0%, rgba(95, 77, 64, 0.68) 46%, rgba(95, 77, 64, 0.36) 100%);
}

.inner-page-hero .hero-grid {
  grid-template-columns: minmax(0, 1fr);
}

.inner-page-hero .hero-copy {
  max-width: 760px;
}

.inner-page-hero .page-breadcrumbs,
.inner-page-hero .page-breadcrumbs a,
.inner-page-hero .page-breadcrumbs__separator,
.inner-page-hero .section-kicker,
.inner-page-hero .hero-copy .section-kicker,
.inner-page-hero .hero-copy .lead,
.inner-page-hero .hero-copy p,
.inner-page-hero .hero-copy h1,
.inner-page-hero .hero-copy h2,
.inner-page-hero .hero-copy h3,
.inner-page-hero .hero-copy strong {
  color: #ffffff;
}

.inner-page-hero .page-breadcrumbs {
  margin-bottom: var(--space-5);
  color: rgba(255, 255, 255, 0.72);
}

.inner-page-hero .page-breadcrumbs a {
  color: rgba(255, 255, 255, 0.82);
}

.inner-page-hero .page-breadcrumbs a:hover {
  color: #ffffff;
}

.inner-page-hero .page-breadcrumbs__separator {
  color: rgba(255, 255, 255, 0.38);
}

.inner-page-hero .section-kicker.section-kicker--inverse {
  color: rgba(255, 255, 255, 0.72);
}

.inner-page-hero .page-title {
  max-width: 24ch;
  margin-bottom: var(--space-4);
  color: #ffffff;
  text-wrap: balance;
}

.inner-page-hero .page-summary {
  max-width: 42rem;
  color: rgba(255, 255, 255, 0.9);
}

.inner-page-hero .page-title em,
.inner-page-hero .heading-emphasis {
  color: #d7ae43;
  font-style: normal;
  -webkit-text-fill-color: currentColor;
  background: none;
}

.inner-page-hero__actions {
  margin-top: var(--space-7);
}

.inner-page-hero__actions .btn {
  min-width: clamp(220px, 24vw, 280px);
}

.page-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: center;
}

.page-breadcrumbs {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 var(--space-5);
  color: var(--color-text-muted);
  font-size: 0.82rem;
}

.page-breadcrumbs a {
  color: var(--color-text-muted);
}

.page-breadcrumbs a:hover {
  color: var(--color-primary-strong);
}

p {
  font-size: 13px;
  line-height: 1.6;
}

.page-breadcrumbs__separator {
  color: rgba(107, 97, 87, 0.55);
}

.page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: var(--space-4);
  color: var(--color-text-secondary);
  font-family: var(--font-ui);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.page-kicker::before {
  content: "";
  width: 1.8rem;
  height: 1px;
  background: currentColor;
  opacity: 0.35;
}

.page-title {
  max-width: 13ch;
  margin-bottom: var(--space-4);
  text-wrap: balance;
}

.page-summary {
  max-width: 58ch;
  margin-bottom: var(--space-6);
  color: var(--color-text-muted);
  font-size: 1.02rem;
  line-height: 1.72;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: var(--space-6);
}

.page-hero__media,
.page-media-card,
.media-stack__item,
.gallery-grid__item,
.logo-panel {
  position: relative;
  overflow: hidden;
  background: var(--color-bg-muted);
}

.page-hero__media,
.page-media-card {
  min-height: 360px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.page-hero__media img,
.page-media-card img,
.media-stack__item img,
.gallery-grid img,
.logo-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-hero__media::after,
.page-media-card::after,
.media-stack__item::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(95, 77, 64, 0.12);
  border-radius: inherit;
  pointer-events: none;
}

.page-section__layout,
.page-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.page-section__copy {
  max-width: 62ch;
}

.page-section__copy > *:last-child,
.page-card > *:last-child,
.cta-slab > *:last-child {
  margin-bottom: 0;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.metric-strip--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metric-strip__item {
  padding: 1.2rem 1rem;
  border: 1px solid rgba(95, 77, 64, 0.22);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 248, 244, 0.94));
}

.metric-strip__value {
  margin-bottom: 0.35rem;
  color: var(--color-primary-strong);
  font-family: var(--font-mono);
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  font-weight: 700;
  line-height: 1;
}

.metric-strip__label {
  color: var(--color-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.topic-grid,
.page-card-grid,
.gallery-grid {
  display: grid;
  gap: 1rem;
}

.topic-grid,
.page-card-grid,
.gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gallery-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-card {
  height: 100%;
  padding: clamp(1.1rem, 2vw, 1.55rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.page-card p,
.page-card li {
  color: var(--color-text-muted);
}

.icon-list,
.page-bullets {
  display: grid;
  gap: 0.8rem;
  padding: 0;
  list-style: none;
}

.icon-list li,
.page-bullets li {
  position: relative;
  padding-left: 1.15rem;
}

.icon-list li::before,
.page-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: var(--color-primary);
}

.media-stack {
  display: grid;
  gap: 1rem;
}

.media-stack--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.media-stack--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.media-stack__item,
.gallery-grid__item,
.logo-panel {
  min-height: 220px;
  border-radius: var(--radius-md);
}

.logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
}

.logo-panel {
  min-height: 110px;
  padding: 1rem;
  border: 1px solid rgba(95, 77, 64, 0.2);
  background: #ffffff;
}

.logo-panel img {
  object-fit: contain;
}

.page-shell--about-origin .section {
  overflow: hidden;
}

.about-origin-intro,
.about-origin-team {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.about-origin-copy,
.about-origin-team__copy,
.about-origin-section-heading {
  max-width: 64ch;
}

.about-origin-eyebrow {
  margin-bottom: 0.9rem;
  font-size: clamp(1.5rem, 2.5vw, 1.9rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-origin-overview__media {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 1rem;
  align-items: stretch;
}

.about-origin-overview__primary {
  min-height: 420px;
}

.about-origin-overview__secondary {
  min-height: 420px;
}

.about-origin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1rem, 2vw, 1.4rem) 0;
  border-top: 1px solid rgba(95, 77, 64, 0.24);
  border-bottom: 1px solid rgba(95, 77, 64, 0.24);
}

.about-origin-stat {
  padding: 0.75rem 1rem;
  text-align: center;
}

.about-origin-stat + .about-origin-stat {
  border-left: 1px solid rgba(95, 77, 64, 0.24);
}

.about-origin-stat__label {
  margin-bottom: 0.65rem;
  color: var(--color-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-origin-stat__value {
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1;
}

.about-origin-stat__value span {
  margin-left: 0.2rem;
  color: var(--color-primary-strong);
  font-size: 0.42em;
  font-weight: 700;
  vertical-align: super;
}

.about-origin-team__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.about-origin-team__media .gallery-grid__item {
  min-height: 360px;
}

.about-origin-patents {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.about-origin-patent {
  display: grid;
  gap: 0.9rem;
}

.about-origin-patent .gallery-grid__item {
  min-height: 280px;
}

.about-origin-patent h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
  text-align: center;
}

.about-origin-client-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.about-origin-client-grid__item {
  min-height: 220px;
}

.about-origin-client-grid__item--feature {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 460px;
}

.faq-stack {
  display: grid;
  gap: 0.9rem;
}

.faq-stack details {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 10px 28px rgba(95, 77, 64, 0.06);
  overflow: hidden;
}

.faq-stack summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  padding: 1.05rem 1.15rem;
  color: var(--color-heading);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.faq-stack summary::-webkit-details-marker {
  display: none;
}

.faq-stack summary::after {
  content: "+";
  position: static;
  transform: none;
  flex-shrink: 0;
  color: var(--color-primary-strong);
  font-size: 1.25rem;
  line-height: 1;
}

.faq-stack details[open] summary::after {
  content: "-";
}

.faq-stack__answer {
  padding: 0 1.15rem 1.15rem;
  color: var(--color-text-muted);
}

.cta-slab {
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #5f4d40 0%, #3E3228 100%);
  color: rgba(255, 255, 255, 0.92);
}

.cta-slab h2,
.cta-slab h3,
.cta-slab p,
.cta-slab strong {
  color: #ffffff;
}

/* ==========================================================================
   Header / Navigation
   ========================================================================== */

.site-header-shell {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
}

.site-utility-bar {
  background: var(--color-surface-dark);
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.8rem;
}

.site-utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 42px;
}

.site-utility-bar__message {
  margin: 0;
}

.site-utility-bar__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.site-utility-bar__links a {
  color: rgba(255, 255, 255, 0.86);
  display: inline-block;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.site-utility-bar__links a:hover {
  color: var(--color-primary);
  transform: translateY(-1px);
}

/* Home hero header: transparent over banner, solid after scroll */
body {
  --home-header-text: #ffffff;
  --home-header-border: rgba(255, 255, 255, 0.14);
  --home-header-shell-bg: transparent;
  --home-header-shell-shadow: none;
}

body .site-header-shell {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--home-header-shell-bg);
  box-shadow: var(--home-header-shell-shadow);
  transition: background-color var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

body .site-header {
  position: relative !important;
  background: transparent;
  background-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  border-bottom: 1px solid var(--home-header-border);
  transition: border-color var(--transition-base), background-color var(--transition-base);
}

body .site-header__inner {
  min-height: 92px;
}

body .site-branding__logo {
  filter: brightness(0) invert(1);
  transition: filter var(--transition-base), opacity var(--transition-base);
}

body .site-nav__link,
body .site-nav__link:hover,
body .site-nav__link:focus,
body .site-branding__link,
body .site-branding__link:hover {
  color: var(--home-header-text) !important;
}

body .site-nav__caret {
  opacity: 0.92;
}

body .site-menu-toggle {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
}

body .site-menu-toggle span {
  background: #ffffff;
}

body .site-header__actions > .btn,
body .site-header__actions > a[href*="contact-us"] {
  display: none !important;
}

body .site-nav__dropdown,
body .site-nav__dropdown--mega,
body .site-nav__mega-preview,
body .site-nav__mega-footer {
  background: #2A2119;
}

body .site-nav__dropdown,
body .site-nav__dropdown--mega {
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.38);
}

body .site-nav__mega-preview {
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

body .site-nav__mega-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

body .site-nav__mega-title,
body .site-nav__mega-title a,
body .site-nav__mega-footnote,
body .btn-mega-action,
body .site-nav__dropdown-list a {
  color: #ffffff;
}

/* Refit chrome pages (about-us, products, ...) share the home dark
   mega menu. Their page-level CSS colors the <p> title, but the
   inner <a> needs a direct rule or it falls back to the dark link
   color and becomes invisible on the dark dropdown. */
body.refit-chrome .site-nav__mega-title a {
  color: #ffffff !important;
}

body .site-nav__mega-title {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

body .site-nav__dropdown-list a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

body.home-header-scrolled {
  --home-header-text: #ffffff;
  --home-header-border: rgba(255, 255, 255, 0.08);
  --home-header-shell-bg: rgba(62, 50, 40, 0.93);
  --home-header-shell-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

body.home-header-scrolled .site-branding__logo {
  filter: none;
  max-height: 36px;
}

body.home-header-scrolled .site-menu-toggle {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
}

body.home-header-scrolled .site-menu-toggle span {
  background: #ffffff;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 78px;
  position: static;
}

.site-branding {
  flex-shrink: 0;
}

.site-branding__link {
  display: inline-flex;
  align-items: center;
  height: 100%;
  color: var(--color-heading);
}

.site-branding__link:hover {
  color: var(--color-heading);
}

.site-branding__logo {
  max-height: 43px;
  width: auto;
  display: block;
}

.site-nav {
  margin-left: auto;
}

.site-nav__list,
.site-nav__dropdown-list,
.site-mobile-nav__list,
.site-mobile-nav__submenu ul,
.site-footer__menu-list,
.site-footer__trust-list,
.site-footer__contact-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav__list {
  display: flex;
  align-items: center;
  height: 100%;
  margin-left: auto;
  margin-right: 1.875rem;
  justify-content: flex-end;
  gap: 0;
}

.site-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 0.95rem;
}

.site-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-height: auto;
  padding: 0;
  color: var(--color-heading);
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.7;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  white-space: nowrap;
}

.site-nav__link:hover {
  color: var(--color-heading);
}

.site-nav__caret {
  display: inline-block;
  width: 0.34rem;
  height: 0.34rem;
  margin-top: -0.1rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.78;
}

.site-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  padding: 1.5rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-heading);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--transition-base), transform var(--transition-base), visibility var(--transition-base);
  margin-top: -1px;
}

.site-nav__dropdown--mega {
  left: 50%;
  width: 95vw;
  max-width: 900px;
  padding: 2.5rem;
  transform: translate(-50%, 10px);
}

.site-nav__item:hover > .site-nav__dropdown,
.site-nav__item:focus-within > .site-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-nav__item:hover > .site-nav__dropdown--mega,
.site-nav__item:focus-within > .site-nav__dropdown--mega {
  transform: translate(-50%, 0);
}

.site-nav__mega-inner {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
}

.site-nav__mega-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
}

.site-nav__mega-preview {
  background: var(--color-surface);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  width: 100%;
  height: 100%;
  min-height: 280px;
  position: relative;
  box-shadow: 0 20px 48px rgba(95, 77, 64, 0.08);
}

.site-nav__mega-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0;
  transition: opacity 0.3s ease;
  position: absolute;
}

.site-nav__mega-footer {
  background: var(--color-bg-muted);
  padding: 14px 35px;
  border-top: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 2.5rem -2.5rem -2.5rem -2.5rem;
}

.site-nav__mega-footnote {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.btn-mega-action {
  color: var(--color-heading);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.site-nav__mega-title {
  color: var(--color-heading);
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
  margin: 0 0 15px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border);
  letter-spacing: 0;
}

.site-footer__menu-title,
.site-mobile-nav__submenu-title,
.site-mobile-nav__brand {
  margin: 0 0 0.8rem;
  color: var(--color-heading);
  font-family: var(--font-ui);
  font-size: 0.84rem;
}

.site-footer__menu-title {
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-mobile-nav__submenu-title,
.site-mobile-nav__brand {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-nav__dropdown-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.site-nav__dropdown-list a {
  display: block;
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 8px;
  transition: 0.2s;
  font-weight: 500;
  padding: 8px 12px;
  margin-left: -12px;
  border-radius: 4px;
}

.site-nav__dropdown-list a:hover {
  color: var(--color-heading);
  background: var(--color-bg-muted);
  transform: translateX(5px);
}

.site-header__actions {
  display: flex;
  align-items: center;
  height: 100%;
  flex-shrink: 0;
  gap: 0.625rem;
  margin-left: 0;
}

.site-header__actions .btn {
  min-height: 42px;
  padding: 0.875rem 1.35rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.site-menu-toggle {
  display: none;
  grid-template-columns: 1fr;
  gap: 0.25rem;
  width: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0.8rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.site-menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-heading);
}

.site-mobile-nav {
  position: fixed;
  inset: 0;
  z-index: var(--z-dropdown);
  background: rgba(95, 77, 64, 0.48);
}

.site-mobile-nav__panel {
  margin-left: auto;
  width: min(100%, 420px);
  height: 100%;
  padding: 1.2rem 1rem 1.5rem;
  background: var(--color-surface);
  overflow-y: auto;
  box-shadow: -16px 0 40px rgba(95, 77, 64, 0.12);
}

.site-mobile-nav__header,
.site-mobile-nav__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.site-mobile-nav__header {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.site-mobile-nav__subline {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.site-mobile-nav__close,
.site-mobile-nav__toggle {
  min-height: 38px;
  padding: 0.45rem 0.8rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-heading);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-mobile-nav__body {
  padding-top: 1rem;
}

.site-mobile-nav__list {
  display: grid;
  gap: 0.85rem;
}

.site-mobile-nav__item {
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--color-border);
}

.site-mobile-nav__link {
  color: var(--color-heading);
  font-size: 1rem;
  font-weight: 500;
}

.site-mobile-nav__submenu {
  padding-top: 0.9rem;
}

.site-mobile-nav__submenu-group + .site-mobile-nav__submenu-group {
  margin-top: 1rem;
}

.site-mobile-nav__submenu ul {
  display: grid;
  gap: 0.55rem;
}

.site-mobile-nav__submenu a {
  color: var(--color-text);
  font-size: 0.95rem;
}

.site-mobile-nav__contact {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.site-mobile-nav__contact a:not(.btn) {
  color: var(--color-text);
}

body.site-nav-open {
  overflow: hidden;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto;
  gap: 2rem;
  align-items: center;
}

.site-footer-cta__copy > *:last-child {
  margin-bottom: 0;
}

.site-footer-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.8rem;
}

.site-footer {
  padding: 1.5rem 0 0;
  background: #5f4d40;
  color: rgba(255, 255, 255, 0.78);
}

.site-footer > .container-xl {
  width: calc(100vw - 88px);
  max-width: 1500px;
}

.site-footer a {
  color: rgba(255, 255, 255, 0.86);
}

.site-footer a:hover {
  color: var(--color-text-inverse);
}

.site-footer__top {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 3rem;
  padding: 2rem 0;
}

.site-footer__brand {
  max-width: 270px;
}

.site-footer__brand-logo-link {
  display: inline-flex;
  margin-bottom: 1rem;
}

.site-footer__brand-logo {
  display: block;
  width: auto;
  max-width: 180px;
  max-height: 54px;
}

.site-footer__brand-copy {
  color: rgba(255, 255, 255, 0.78);
}

.site-footer__brand-social {
  margin-top: 1.5rem;
}

.site-footer__footer-social {
  margin-top: 1.5rem;
}

.site-footer__brand-social .site-footer__menu-title {
  margin-bottom: 0.75rem;
  font-size: 0.85rem;
}

.site-footer__footer-social .site-footer__menu-title {
  margin-bottom: 0.75rem;
  font-size: 0.85rem;
}

.site-footer__trust-list {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.site-footer__brand-actions {
  margin-top: 1.25rem;
}

.site-footer__quote-trigger,
.site-footer__contact-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.85rem 1.25rem;
  border: 1px solid rgba(212, 175, 55, 0.38);
  background: linear-gradient(135deg, rgba(191, 146, 39, 0.18), rgba(255, 255, 255, 0.06));
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}

.site-footer__quote-trigger:hover,
.site-footer__contact-cta:hover {
  transform: translateY(-1px);
  border-color: rgba(212, 175, 55, 0.7);
  background: linear-gradient(135deg, rgba(191, 146, 39, 0.3), rgba(255, 255, 255, 0.12));
  color: #ffffff;
}

.site-footer__trust-list li {
  position: relative;
  padding-left: 1rem;
}

.site-footer__trust-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 999px;
  background: var(--color-primary);
}

.site-footer__menus {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1.9fr 0.9fr;
  gap: 1.75rem;
}

@media (max-width: 96em) {
  .site-footer__menus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.site-footer__menu-title {
  color: var(--color-text-inverse);
  font-size: 14px;
}

.site-footer__menu-subtitle {
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 1rem;
  margin-bottom: 0.55rem;
}

.site-footer__menu-subtitle:first-of-type {
  margin-top: 0.9rem;
}

.site-footer__menu-group--tiered {
  min-width: 0;
}

.site-footer__menu-list {
  display: grid;
  gap: 0.65rem;
  font-size: 13px;
}

.site-footer__menu-list a {
  font-size: 13px;
  display: inline-block;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.site-footer__menu-list a:hover {
  transform: translateY(-1px);
  color: var(--color-primary);
}

.site-footer__brand-copy {
  font-size: 13px;
}

.site-footer__contact-list {
  font-size: 13px;
}

.site-footer__contact-list a {
  display: inline-block;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.site-footer__contact-list a:hover {
  transform: translateY(-1px);
  color: var(--color-primary);
}

.site-footer__contact-list li:last-child {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1rem;
}

.site-footer__contact-cta {
  width: 100%;
  margin-top: 1rem;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(95, 77, 64, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
}

.site-footer__social-link svg {
  width: 15px;
  height: 15px;
  display: block;
}

.site-footer__social-link:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.38);
  color: #ffffff;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 0 1.4rem;
  border-top: 1px solid rgba(95, 77, 64, 0.04);
  font-size: 0.88rem;
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.site-footer__bottom-links a {
  display: inline-block;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.site-footer__bottom-links a:hover {
  transform: translateY(-1px);
  color: var(--color-primary);
}

.site-footer__back-top {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: var(--z-sticky);
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 4px;
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.site-footer__back-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-footer__back-top:hover {
  background: var(--color-primary);
  box-shadow: var(--shadow-lg);
  color: #ffffff;
}

.site-footer__back-top:hover .site-footer__back-top-label {
  max-width: 160px;
  opacity: 1;
  padding-left: 0.8rem;
  padding-right: 0.5rem;
}

@media (max-width: 480px) {
  .site-footer__back-top {
    right: 1rem;
    bottom: 1rem;
  }

  .site-footer__back-top-label {
    display: none;
  }
}

.site-footer__back-top-label {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  transition: max-width var(--transition-base), opacity var(--transition-fast), padding var(--transition-base);
}

.site-footer__back-top-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #ffffff;
  color: #3E3228;
  flex: 0 0 38px;
  box-shadow: 0 6px 20px rgba(62, 50, 40, 0.16);
  transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast);
}

.site-footer__back-top-icon::before,
.site-footer__back-top-icon::after {
  content: '';
  position: absolute;
  display: block;
}

.site-footer__back-top-icon::before {
  width: 2px;
  height: 13px;
  background: currentColor;
  border-radius: 999px;
  top: 11px;
  left: 18px;
}

.site-footer__back-top-icon::after {
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: rotate(45deg);
  top: 10px;
  left: 14px;
}

.site-footer__back-top:hover .site-footer__back-top-icon {
  transform: translateY(-2px);
}

.site-footer-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.site-footer-modal.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.site-footer-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(62, 50, 40, 0.76);
  backdrop-filter: blur(6px);
}

.site-footer-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
  width: min(1120px, 100%);
  max-height: min(92vh, 940px);
  overflow: hidden;
  border: 1px solid rgba(95, 77, 64, 0.06);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 30px 90px rgba(95, 77, 64, 0.34);
  transform: translateY(16px) scale(0.98);
  transition: transform 0.28s ease;
}

.site-footer-modal.is-visible .site-footer-modal__dialog {
  transform: translateY(0) scale(1);
}

.site-footer-modal__panel {
  min-width: 0;
}

.site-footer-modal__panel--intro {
  padding: clamp(2rem, 4vw, 3.2rem);
  background:
    linear-gradient(180deg, rgba(62, 50, 40, 0.86), rgba(62, 50, 40, 0.92));
  color: #ffffff;
}

.site-footer-modal__panel--form {
  padding: clamp(1.5rem, 3.2vw, 2.25rem);
  overflow-y: auto;
  background: #ffffff;
}

.site-footer-modal__close {
  position: absolute;
  top: 0.6rem;
  right: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--color-primary);
  border-radius: 999px;
  background: var(--color-primary);
  color: #ffffff !important;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
  transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  font-family: 'Roboto', system-ui, -apple-system, sans-serif;
}

.site-footer-modal__close:hover {
  background: var(--color-primary-strong);
  border-color: var(--color-primary-strong);
  transform: rotate(90deg);
}

.site-footer-modal__close svg {
  width: 20px;
  height: 20px;
}

.site-footer-modal__close svg path {
  fill: none !important;
  stroke: #ffffff !important;
  stroke-width: 2.25 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-footer-modal__eyebrow {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-footer-modal__title {
  margin: 0 0 1rem;
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.05;
}

.site-footer-modal__summary {
  margin: 0 0 1.5rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.98rem;
  line-height: 1.72;
}

.site-footer-modal__checklist {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer-modal__checklist li {
  position: relative;
  padding-left: 1.2rem;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.55;
}

.site-footer-modal__checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.62rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--color-primary);
}

.site-footer-modal__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.5rem;
}

.site-footer-modal__badges span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.42rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-footer-modal__form-shell .wpcf7 {
  margin: 0;
}

.site-footer-modal__form-shell form {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.site-footer-modal__form-shell p {
  margin: 0;
}

.site-footer-modal__form-shell label {
  display: block;
  margin-bottom: 0.35rem;
  color: #6B6157;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-footer-modal__form-shell input[type='text'],
.site-footer-modal__form-shell input[type='email'],
.site-footer-modal__form-shell input[type='tel'],
.site-footer-modal__form-shell input[type='number'],
.site-footer-modal__form-shell input[type='url'],
.site-footer-modal__form-shell select,
.site-footer-modal__form-shell textarea {
  width: 100%;
  min-height: 48px;
  padding: 0.9rem 1rem;
  border: 1px solid #E3DDD3;
  border-radius: 14px;
  background: #FAF8F4;
  color: #3E3228;
  font: inherit;
  transition: border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.site-footer-modal__form-shell textarea {
  min-height: 120px;
  resize: vertical;
}

.site-footer-modal__form-shell input[type='file'] {
  width: 100%;
  min-height: 52px;
  padding: 0.75rem 1rem;
  border: 1px dashed #CEC7BB;
  border-radius: 14px;
  background: #FAF8F4;
  color: #6B6157;
}

.site-footer-modal__form-shell input:focus,
.site-footer-modal__form-shell select:focus,
.site-footer-modal__form-shell textarea:focus {
  border-color: rgba(191, 146, 39, 0.72);
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 4px rgba(191, 146, 39, 0.12);
}

.site-footer-modal__form-shell .wpcf7-submit,
.site-footer-modal__form-shell input[type='submit'],
.site-footer-modal__form-shell button[type='submit'] {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--color-btn) 0%, var(--color-btn-hover) 100%);
  color: #ffffff;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--transition-spring), background var(--transition-fast);
}

.site-footer-modal__form-shell .wpcf7-submit:hover,
.site-footer-modal__form-shell input[type='submit']:hover,
.site-footer-modal__form-shell button[type='submit']:hover {
  background: linear-gradient(135deg, var(--color-btn-hover) 0%, #b8762a 100%);
  transform: scale(1.04);
}

/* Native Infility form in modal uses <label> blocks; make message + button full-width */
.site-footer-modal__form-shell form > label:nth-of-type(3),
.site-footer-modal__form-shell form > label:nth-of-type(4),
.site-footer-modal__form-shell form > button[type='submit'] {
  grid-column: 1 / -1;
}

.site-footer-modal__form-note {
  grid-column: 1 / -1;
  margin: 0.25rem 0 0;
  color: #7A7168;
  font-size: 0.72rem;
  line-height: 1.5;
}

.site-footer-modal__form-shell .wpcf7-spinner {
  margin: 0.5rem 0 0;
}

/* CF7 modal form grid: p1=name p2=email (row1) | p3=industry p4=project (row2) | p5=message p6=submit (full rows) */
.site-footer-modal__form-shell form > p:nth-of-type(3) {
  grid-column: 1;
  grid-row: 2;
}

.site-footer-modal__form-shell form > p:nth-of-type(4) {
  grid-column: 2;
  grid-row: 2;
}

.site-footer-modal__form-shell form > p:nth-of-type(5),
.site-footer-modal__form-shell form > p:nth-of-type(6),
.site-footer-modal__form-shell .wpcf7-response-output {
  grid-column: 1 / -1;
}

.site-footer-modal__form-shell form > p:nth-of-type(5) {
  grid-row: 3;
}

.site-footer-modal__form-shell form > p:nth-of-type(6) {
  grid-row: 4;
}

.site-footer-modal__form-shell .wpcf7-response-output {
  grid-row: 5;
}

.site-footer-modal-open .site-header,
.site-footer-modal-open #masthead {
  visibility: hidden;
}

.mobile-sticky-cta {
  display: none;
}

/* ==========================================================================
   Responsive System
   ========================================================================== */

@media (max-width: 1024px) {
  .site-footer > .container-xl {
    width: min(calc(100% - 40px), var(--container-xl));
  }

  .site-nav--desktop,
  .site-header__catalog {
    display: none;
  }

  .site-menu-toggle {
    display: grid;
  }

  .site-footer__top,
  .site-footer__menus,
  .site-footer-cta {
    grid-template-columns: 1fr;
  }

  .trust-strip__inner,
  .faq-layout,
  .page-hero__layout,
  .page-section__layout,
  .page-split {
    grid-template-columns: 1fr;
  }

  .site-footer-cta__actions {
    justify-content: flex-start;
  }

  .site-footer-modal__dialog {
    grid-template-columns: 1fr;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .grid-4,
  .stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-3,
  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .logo-cloud {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .split-grid,
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .site-nav__mega-footer {
    padding-inline: 2rem;
  }

  .topic-grid,
  .page-card-grid,
  .gallery-grid--4,
  .logo-grid,
  .metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-origin-intro,
  .about-origin-team,
  .about-origin-overview__media {
    grid-template-columns: 1fr;
  }

  .about-origin-stats,
  .about-origin-patents,
  .about-origin-client-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-origin-client-grid__item--feature {
    grid-column: span 2;
    min-height: 360px;
  }
}

@media (max-width: 768px) {
  .site-utility-bar {
    display: none;
  }

  body .site-header__inner {
    min-height: 76px;
    gap: 0.75rem;
  }

  .site-branding__tagline {
    display: none;
  }

  body {
    font-size: 14px;
  }

  .section {
    padding-block: var(--section-space-mobile);
  }

  .section-sm {
    padding-block: var(--section-space-mobile-sm);
  }

  .container,
  .container-lg,
  .container-xl,
  .container-sm {
    width: 100%;
    padding-inline: var(--container-gutter-mobile);
  }

  h1 {
    font-size: clamp(2.2rem, 9vw, 3rem);
    line-height: 1.12;
  }

  .section-heading p,
  .lead,
  .text-lead {
    font-size: 0.9375rem;
    line-height: 1.6;
  }

  .section-heading h2,
  .section-intro h2,
  .section h2 {
    font-size: clamp(1.65rem, 7.6vw, 2.05rem);
    line-height: 1.18;
  }

  h3,
  .section h3 {
    font-size: clamp(1.2rem, 5vw, 1.4rem);
    line-height: 1.22;
  }

  .page-shell {
    padding-bottom: 0;
  }

  .page-title {
    max-width: 12ch;
    text-wrap: pretty;
  }

  .page-kicker {
    display: block;
    max-width: 100%;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    line-height: 1.4;
  }

  .page-kicker::before {
    display: none;
  }

  .page-summary {
    font-size: 0.95rem;
    line-height: 1.65;
  }

  .page-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .page-actions .btn {
    white-space: normal;
    line-height: 1.35;
    padding-inline: 1rem;
    text-wrap: pretty;
  }

  .faq-stack summary {
    padding: 0.95rem 2.4rem 0.95rem 1rem;
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .faq-stack summary::after {
    top: 1rem;
    transform: none;
  }

  .page-hero__media,
  .page-media-card {
    min-height: 260px;
  }

  .inner-page-hero {
    min-height: min(76vh, 720px);
  }

  .inner-page-hero .page-title {
    max-width: 20ch;
  }

  .inner-page-hero__actions,
  .inner-page-hero .hero-actions {
    grid-template-columns: 1fr;
  }

  .inner-page-hero__actions .btn,
  .inner-page-hero .hero-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .metric-strip,
  .metric-strip--3,
  .topic-grid,
  .page-card-grid,
  .media-stack--2,
  .media-stack--3,
  .gallery-grid,
  .gallery-grid--4,
  .logo-grid {
    grid-template-columns: 1fr;
  }

  .about-origin-stats,
  .about-origin-patents,
  .about-origin-client-grid,
  .about-origin-team__media {
    grid-template-columns: 1fr;
  }

  .about-origin-overview__primary,
  .about-origin-overview__secondary,
  .about-origin-team__media .gallery-grid__item,
  .about-origin-patent .gallery-grid__item,
  .about-origin-client-grid__item,
  .about-origin-client-grid__item--feature {
    min-height: 240px;
  }

  .about-origin-stats {
    gap: 0;
  }

  .about-origin-stat {
    padding-inline: 0.5rem;
  }

  .about-origin-stat + .about-origin-stat {
    border-left: 0;
    border-top: 1px solid rgba(95, 77, 64, 0.24);
  }

  .about-origin-client-grid__item--feature {
    grid-column: auto;
    grid-row: auto;
  }

  .metric-strip__item,
  .page-card {
    border-radius: 14px;
  }

  .logo-panel {
    min-height: 92px;
  }

  .hero-layout {
    padding-block: 3.75rem 2.5rem;
  }

  .hero-shell {
    min-height: calc(100svh - 76px);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
  }

  .hero-copy {
    max-width: none;
    text-align: center;
  }

  .hero-overlay {
    background:
      linear-gradient(180deg, rgba(95, 77, 64, 0.84) 0%, rgba(95, 77, 64, 0.72) 38%, rgba(95, 77, 64, 0.86) 100%);
  }

  .trust-strip {
    margin-top: -0.35rem;
  }

  .trust-strip__inner {
    padding: 0.9rem;
    border-radius: 16px;
  }

  .stat-band {
    gap: 0.7rem;
  }

  .stat-band--3 {
    grid-template-columns: 1fr;
  }

  .stat-band__item {
    padding: 0.95rem 1rem;
    border-radius: 14px;
    text-align: left;
  }

  .stat-band__value {
    margin-bottom: 0.25rem;
    font-size: clamp(1.4rem, 7vw, 1.9rem);
  }

  .stat-band__label {
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    line-height: 1.35;
  }

  .trust-strip__badges,
  .proof-line {
    grid-template-columns: 1fr;
  }

  .trust-badge {
    width: 100%;
    border-radius: var(--radius-md);
  }

  .section-rail,
  .proof-grid-2 {
    grid-template-columns: 1fr;
  }

  .grid-3,
  .grid-4,
  .feature-grid,
  .stat-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .card {
    padding: 1rem;
    border-radius: 14px;
  }

  .site-footer {
    padding-top: 0.75rem;
  }

  .site-footer__top {
    gap: 1.5rem;
    padding: 1.5rem 0;
  }

  .site-footer__menus {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .site-footer__quote-trigger,
  .site-footer__contact-cta {
    width: 100%;
  }

  .site-footer__back-top {
    align-self: flex-start;
  }

  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer-modal {
    padding: 0;
  }

  .site-footer-modal__dialog {
    width: 100%;
    max-height: 100svh;
    border-radius: 0;
  }

  .site-footer-modal__panel--intro {
    display: none;
  }

  .site-footer-modal__panel--form {
    padding: 4.5rem 1rem 1.25rem;
  }

  .site-footer-modal__close {
    top: 0.75rem;
    right: 0.75rem;
  }

  .site-footer-modal__form-shell form {
    grid-template-columns: 1fr;
  }

  .site-footer-modal__form-shell form > p:nth-of-type(3),
  .site-footer-modal__form-shell form > p:nth-of-type(5),
  .site-footer-modal__form-shell form > p:nth-of-type(4),
  .site-footer-modal__form-shell form > p:nth-of-type(6),
  .site-footer-modal__form-shell .wpcf7-response-output {
    grid-column: auto;
    grid-row: auto;
  }

  .btn,
  .button,
  button[type='submit'],
  input[type='submit'] {
    min-height: 44px;
    padding: var(--button-mobile-padding-y) var(--button-mobile-padding-x);
    font-size: var(--button-mobile-font-size);
    letter-spacing: 0.06em;
  }

  .btn-group,
  .hero-actions {
    gap: 0.7rem;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    justify-content: center;
  }

  .hero-actions .btn {
    width: 100%;
    min-width: 0;
    padding-inline: 0.25rem;
  }

  .btn-group[data-mobile='split'],
  .hero-actions[data-mobile='split'] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .btn-group[data-mobile='stack'],
  .hero-actions[data-mobile='stack'] {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .btn-group[data-mobile='split'] .btn,
  .btn-group[data-mobile='stack'] .btn,
  .hero-actions[data-mobile='split'] .btn,
  .hero-actions[data-mobile='stack'] .btn {
    width: 100%;
  }

  .logo-cloud {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .case-card {
    min-height: 360px;
    border-radius: 18px;
  }

  .case-card .case-body {
    padding: 1.25rem;
  }

  .case-card .case-meta {
    margin-bottom: 0.6rem;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
  }

  .case-card h3 {
    font-size: 1.08rem;
    line-height: 1.18;
  }

  .case-card p {
    font-size: 0.88rem;
    line-height: 1.5;
  }


  .contact-panel {
    padding: 1.15rem;
  }

  .contact-panel__title {
    font-size: 1.15rem;
    line-height: 1.22;
  }

  .contact-panel__copy {
    margin-bottom: 1.25rem;
    font-size: 0.92rem;
    line-height: 1.6;
  }

  .contact-panel__meta {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }

  .tour-card {
    flex-basis: 272px;
    height: 220px;
  }

  .btn-mobile-link {
    justify-content: center;
    width: auto;
    min-height: auto;
    padding: 0 0 0.35rem;
    border-width: 0 0 1px;
    border-style: solid;
    border-color: currentColor;
    border-radius: 0;
    background: transparent;
    color: var(--color-heading);
    box-shadow: none;
  }

  .btn-mobile-link:hover {
    background: transparent;
    color: var(--color-primary-strong);
    border-color: currentColor;
  }

  .mobile-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-sticky);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.75rem;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--color-border);
    backdrop-filter: blur(10px);
  }

  .mobile-sticky-cta .btn {
    width: 100%;
    padding-inline: 0.75rem;
  }
}

/* ==========================================================================
   ALL-5-UI Creative & Awwwards Utilities
   ========================================================================== */

.reveal-text {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.reveal-inner {
  display: block;
  transform: translateY(100%);
  transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.1);
}

.reveal-text.is-visible .reveal-inner {
  transform: translateY(0);
}

.parallax-wrap {
  overflow: hidden;
  position: relative;
}

.parallax-inner {
  height: 120%;
  width: 100%;
  position: absolute;
  top: -10%;
  left: 0;
  object-fit: cover;
  will-change: transform;
}

.grain-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   Refit chrome header (moved from per-page inline CSS, 2026-07-19)
   Applies the home-style dark transparent header to every page carrying
   the refit-chrome body class, so new refit pages no longer need a copy
   of this block embedded in the page content.
   ========================================================================== */

/* ---------- Refit chrome header (shared with about-us) ---------- */
.top-bar, .site-utility-bar { display: none !important; }
.site-content { padding-top: 0 !important; }
.generate-sections-inside-container { padding-top: 0 !important; }
/* Integrate original site header into the new layout */
.site-header .inside-header, .site-header .container-xl {
    max-width: 1440px !important;
    padding: 0 48px 0 24px !important; /* align with refit-left and right column */
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
.site-nav__link, .main-navigation a {
    font-family: 'Roboto', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}
.site-nav__link:hover, .main-navigation a:hover {
    opacity: 0.7;
}
@media (min-width: 1025px) {
    body.refit-chrome .site-header .inside-header,
    body.refit-chrome .site-header .container-xl {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.refit-chrome .site-header .site-header__inner {
        display: grid !important;
        /* Matches exactly the hero grid spacing so logo and menu align perfectly with text and image */
        grid-template-columns: minmax(24px, 1fr) minmax(320px, 560px) minmax(32px, 200px) minmax(400px, 800px) 32px;
        gap: 0;
        align-items: center;
        /* Adds breathing room at the top of the header */
        padding-top: 65px !important;
        padding-bottom: 42px !important;
    }
    body.refit-chrome.home-header-scrolled .site-header .site-header__inner {
        /* When scrolled, reduce the padding to make it a normal slim header */
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    body.refit-chrome .site-branding {
        grid-column: 2 / 3;
        justify-self: start;
    }
    body.refit-chrome .site-nav {
        grid-column: 4 / 5;
        width: 100%;
        margin-left: 0 !important;
        justify-self: stretch;
    }
    body.refit-chrome .site-nav__list {
        width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 18px;
        justify-content: flex-start;
    }
}
body.refit-chrome {
    --home-header-text: #ffffff;
    --home-header-border: transparent;
    --home-header-shell-bg: transparent;
    --home-header-shell-shadow: none;
}
body.refit-chrome .site-header-shell {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: var(--home-header-shell-bg) !important;
    box-shadow: var(--home-header-shell-shadow) !important;
    transition: background-color 0.35s ease, box-shadow 0.35s ease;
}
body.refit-chrome .site-header {
    position: relative !important;
    background: transparent;
    background-color: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 1px solid var(--home-header-border);
    box-shadow: none;
    transition: border-color 0.35s ease, background-color 0.35s ease;
}
body.refit-chrome.home-header-scrolled .site-header-shell {
    background: rgba(62, 50, 40, 0.93) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28) !important;
}
body.refit-chrome.home-header-scrolled .site-header {
    background: rgba(62, 50, 40, 0.93);
    background-color: rgba(62, 50, 40, 0.93);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}
body.refit-chrome .site-header__inner {
    min-height: 92px !important;
    transition: min-height 0.35s ease;
}
body.refit-chrome .site-branding__logo {
    filter: brightness(0) invert(1) !important;
    transition: filter 0.35s ease;
}
body.refit-chrome:not(.home-header-scrolled) .site-nav__link,
body.refit-chrome:not(.home-header-scrolled) .site-nav__link:hover,
body.refit-chrome:not(.home-header-scrolled) .site-nav__link:focus,
body.refit-chrome:not(.home-header-scrolled) .site-branding__link,
body.refit-chrome:not(.home-header-scrolled) .site-branding__link:hover {
    color: #ffffff !important;
}
body.refit-chrome:not(.home-header-scrolled) .site-menu-toggle {
    border-color: rgba(255, 255, 255, 0.22) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}
body.refit-chrome:not(.home-header-scrolled) .site-menu-toggle span {
    background: #ffffff !important;
}
body.refit-chrome .site-header__actions > .btn,
body.refit-chrome .site-header__actions > a[href*="contact-us"] {
    display: none !important;
}
body.refit-chrome .site-nav__dropdown,
body.refit-chrome .site-nav__dropdown--mega,
body.refit-chrome .site-nav__mega-preview,
body.refit-chrome .site-nav__mega-footer {
    background: #2A2119 !important;
}
body.refit-chrome .site-nav__dropdown,
body.refit-chrome .site-nav__dropdown--mega {
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.38) !important;
}
body.refit-chrome .site-nav__mega-preview {
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
}
body.refit-chrome .site-nav__mega-footer {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
body.refit-chrome .site-nav__mega-title,
body.refit-chrome .site-nav__mega-footnote,
body.refit-chrome .btn-mega-action,
body.refit-chrome .site-nav__dropdown-list a {
    color: #ffffff !important;
}
body.refit-chrome .site-nav__mega-title {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
body.refit-chrome .site-nav__dropdown-list a:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
}
body.refit-chrome.home-header-scrolled {
    --home-header-text: #ffffff;
    --home-header-border: rgba(255, 255, 255, 0.08);
    --home-header-shell-bg: rgba(62, 50, 40, 0.93);
    --home-header-shell-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}
body.refit-chrome.home-header-scrolled .site-header__inner {
    min-height: 72px !important;
}
body.refit-chrome.home-header-scrolled .site-branding__logo {
    filter: none !important;
    max-height: 36px !important;
}
body.refit-chrome.home-header-scrolled .site-nav__link,
body.refit-chrome.home-header-scrolled .site-nav__link:hover,
body.refit-chrome.home-header-scrolled .site-nav__link:focus,
body.refit-chrome.home-header-scrolled .site-branding__link,
body.refit-chrome.home-header-scrolled .site-branding__link:hover {
    color: #ffffff !important;
}
body.refit-chrome.home-header-scrolled .site-menu-toggle {
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}
body.refit-chrome.home-header-scrolled .site-menu-toggle span {
    background: #ffffff !important;
}
@media (max-width: 767px) {
    body.refit-chrome {
        --home-header-shell-bg: transparent;
        --home-header-shell-shadow: none;
        --home-header-border: transparent;
    }
    body.refit-chrome .site-header-shell {
        top: 20px !important;
        left: 20px !important;
        right: 20px !important;
        background: transparent !important;
        box-shadow: none !important;
        pointer-events: none;
    }
    body.refit-chrome .site-header {
        border-bottom: 0 !important;
        background: transparent !important;
    }
    body.refit-chrome .site-header .site-header__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 15px 18px !important;
        background: rgba(0, 0, 0, 0.58) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        border-radius: 10px;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
        position: relative;
        min-height: auto !important;
        pointer-events: auto;
    }
    body.refit-chrome .site-branding {
        display: flex;
        align-items: center;
        min-width: 0;
    }
    body.refit-chrome .site-branding__logo {
        width: 50px;
        height: auto;
        filter: brightness(0) invert(1) !important;
    }
    body.refit-chrome .site-header__actions {
        margin-left: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        pointer-events: auto;
    }
    body.refit-chrome .site-menu-toggle {
        width: 40px;
        min-width: 40px;
        height: 20px;
        min-height: 20px;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        gap: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.refit-chrome .site-menu-toggle > span:not(.screen-reader-text) {
        background: #ffffff !important;
        margin: 0 !important;
        width: 100% !important;
        height: 2px !important;
        display: block !important;
        border-radius: 2px !important;
        transform-origin: center center;
        transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
    }
    body.refit-chrome .site-menu-toggle[aria-expanded="true"] > span:not(.screen-reader-text):nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    body.refit-chrome .site-menu-toggle[aria-expanded="true"] > span:not(.screen-reader-text):nth-child(2) {
        opacity: 0;
    }
    body.refit-chrome .site-menu-toggle[aria-expanded="true"] > span:not(.screen-reader-text):nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }
    body.refit-chrome.home-header-scrolled .site-header-shell {
        background: transparent !important;
        box-shadow: none !important;
    }
    body.refit-chrome.home-header-scrolled .site-header .site-header__inner {
        padding: 14px 18px !important;
        background: rgba(0, 0, 0, 0.72) !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
    }
    body.refit-chrome.home-header-scrolled .site-branding__logo {
        filter: brightness(0) invert(1) !important;
    }
    body.refit-chrome.home-header-scrolled .site-menu-toggle,
    body.refit-chrome.home-header-scrolled .site-menu-toggle:hover,
    body.refit-chrome.home-header-scrolled .site-menu-toggle:focus {
        background: transparent !important;
        border: 0 !important;
    }
    body.refit-chrome.home-header-scrolled .site-menu-toggle > span:not(.screen-reader-text) {
        background: #ffffff !important;
    }
    body.refit-chrome .site-mobile-nav {
        inset: 0 !important;
        background: rgba(62, 50, 40, 0.18) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
    }
    body.refit-chrome .site-mobile-nav__panel {
        width: 100%;
        margin: 0;
        padding: 112px 24px 28px;
        background: rgba(62, 50, 40, 0.68);
        box-shadow: none;
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
    }
    body.refit-chrome .site-mobile-nav__header {
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    body.refit-chrome .site-mobile-nav__brand,
    body.refit-chrome .site-mobile-nav__subline,
    body.refit-chrome .site-mobile-nav__link,
    body.refit-chrome .site-mobile-nav__submenu a,
    body.refit-chrome .site-mobile-nav__contact a:not(.btn) {
        color: #ffffff !important;
    }
    body.refit-chrome .site-mobile-nav__close,
    body.refit-chrome .site-mobile-nav__toggle {
        border: 1px solid rgba(255, 255, 255, 0.14);
        background: rgba(255, 255, 255, 0.06);
        color: #ffffff;
    }
    body.refit-chrome .site-mobile-nav__item {
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    body.refit-chrome .site-mobile-nav__submenu-title {
        color: rgba(255, 255, 255, 0.62);
    }
    body.refit-chrome .site-mobile-nav__contact .btn {
        background: #ffffff;
        color: #111111 !important;
    }
}
/* ---------- End refit chrome header ---------- */

/* Center the button when page-actions sits inside a centered hub-head block. */
.hub-head .page-actions {
  justify-content: center;
}

/* ==========================================================================
   Homepage V7 — Performance Editorial Components
   Technical, data-dense, engineered. Ion Blue accent on near-black.
   ========================================================================== */

/* --- Data Table (technical comparison) --- */
.data-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}
.data-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.data-table thead th {
  padding: 1rem 1.25rem;
  border-bottom: 2px solid var(--color-border-strong);
  background: var(--color-bg-soft);
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
}
.data-table tbody td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  vertical-align: top;
  line-height: 1.5;
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover td { background: var(--color-bg-soft); }
.data-table .num { font-family: var(--font-mono); font-weight: 700; }
.data-table .hl { color: var(--color-primary-strong); font-weight: 700; }
.data-table .row-label {
  color: var(--color-heading);
  font-family: var(--font-ui);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
/* dark variant */
.section-dark .data-table-wrap { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.12); }
.section-dark .data-table thead th { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.6); border-bottom-color: rgba(255,255,255,0.2); }
.section-dark .data-table tbody td { color: rgba(255,255,255,0.85); border-bottom-color: rgba(255,255,255,0.08); }
.section-dark .data-table tbody tr:hover td { background: rgba(255,255,255,0.04); }
.section-dark .data-table .row-label { color: #ffffff; }
.section-dark .data-table .hl { color: #fbeaa2; }

/* --- Product Catalog Grid (numbered) --- */
.prod-catalog {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 2.5rem 2rem;
  counter-reset: prod-counter;
}
.prod-item { text-decoration: none; display: block; }
.prod-item__media {
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--color-bg-soft);
}
.prod-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.prod-item:hover .prod-item__media img { transform: scale(1.06); }
.prod-item__name {
  margin-top: 1.1rem;
  color: var(--color-heading);
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.prod-item__name::before {
  counter-increment: prod-counter;
  content: "0" counter(prod-counter);
  color: var(--color-primary);
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
}
.prod-item:hover .prod-item__name { color: var(--color-primary); }
.prod-item__desc {
  margin-top: 0.45rem;
  color: var(--color-text-muted);
  font-size: 0.9rem;
  line-height: 1.6;
}
@media (max-width: 900px) {
  .prod-catalog { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2rem 1.5rem; }
}
@media (max-width: 600px) {
  .prod-catalog { grid-template-columns: 1fr; }
}

/* --- Testimonials --- */
.testi-card {
  position: relative;
  padding: 2rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  transition: transform var(--transition-spring), box-shadow var(--transition-spring), border-color var(--transition-fast);
}
.testi-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover); border-color: var(--color-primary); }
.testi-card__stars { margin-bottom: 1rem; color: #FFB800; font-size: 0.95rem; letter-spacing: 3px; }
.testi-card__quote { margin: 0 0 1.5rem; color: var(--color-text); font-size: 0.95rem; font-style: italic; line-height: 1.7; }
.testi-card__author { display: flex; align-items: center; gap: 0.85rem; }
.testi-card__author img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid var(--color-primary-soft); }
.testi-card__author b { display: block; color: var(--color-heading); font-size: 0.88rem; }
.testi-card__author span { color: var(--color-text-muted); font-size: 0.75rem; }

/* --- Certification Cards --- */
.cert-card {
  padding: 1.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  text-align: center;
  transition: transform var(--transition-spring), box-shadow var(--transition-spring), border-color var(--transition-fast);
}
.cert-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover); border-color: var(--color-primary); }
.cert-card img { width: 72px; height: 72px; margin: 0 auto 1rem; object-fit: contain; }
.cert-card h4 { margin: 0 0 0.4rem; font-size: 1rem; }
.cert-card p { margin: 0; color: var(--color-text-muted); font-size: 0.82rem; line-height: 1.5; }

/* --- Buyer Persona Cards --- */
.persona-card {
  display: flex;
  flex-direction: column;
  padding: 2rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  transition: transform var(--transition-spring), box-shadow var(--transition-spring), border-color var(--transition-fast);
}
.persona-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover); border-color: var(--color-primary); }
.persona-card__pain {
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid #BB4444;
  border-radius: 8px;
  background: #FFF5F5;
  color: #9a3434;
  font-size: 0.88rem;
  font-style: italic;
  line-height: 1.5;
}
.persona-card h3 { margin: 0 0 0.5rem; font-size: 1.15rem; }
.persona-card > p { margin: 0 0 1rem; color: var(--color-text-muted); font-size: 0.9rem; }
.persona-card ul { list-style: none; padding: 0; margin: 0 0 1.25rem; }
.persona-card li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: 0.88rem;
  line-height: 1.5;
}
.persona-card li::before { content: "✓"; color: var(--color-primary); font-weight: 900; flex-shrink: 0; }

/* --- OEM Process Timeline (dark, numbered) --- */
.proc-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 1rem; }
.proc-step {
  position: relative;
  padding: 1.75rem 1.25rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-md);
  background: rgba(255,255,255,0.04);
  transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-spring);
}
.proc-step:hover { background: rgba(251, 234, 162, .25); border-color: rgba(95, 77, 64, .35); transform: translateY(-5px); }
.proc-step__num {
  display: block;
  margin-bottom: 1rem;
  color: #fbeaa2;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.proc-step h4 { margin: 0 0 0.6rem; color: #ffffff; font-size: 1rem; }
.proc-step p { margin: 0 0 1rem; color: rgba(255,255,255,0.6); font-size: 0.8rem; line-height: 1.6; }
.proc-step__dur {
  display: inline-block;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(95, 77, 64, .3);
  border-radius: 5px;
  background: rgba(95, 77, 64, .12);
  color: #fbeaa2;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* --- Dark Stats Band --- */
.stats-band { background: var(--color-surface-dark); border-bottom: 1px solid rgba(255,255,255,0.06); }
.stats-band__grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); }
.stats-band__item { position: relative; padding: 3rem 1rem; text-align: center; }
.stats-band__item::after {
  content: "";
  position: absolute;
  right: 0;
  top: 24%;
  height: 52%;
  width: 1px;
  background: rgba(255,255,255,0.08);
}
.stats-band__item:last-child::after { display: none; }
.stats-band__value {
  display: block;
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 700;
  line-height: 1;
}
.stats-band__value em { color: var(--color-primary); font-style: normal; }
.stats-band__label {
  display: block;
  margin-top: 0.85rem;
  color: rgba(255,255,255,0.45);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.stats-band__note { display: block; margin-top: 0.4rem; color: rgba(255,255,255,0.32); font-size: 0.68rem; }

/* --- V7 responsive --- */
@media (max-width: 1024px) {
  .prod-bento { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .proc-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .stats-band__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .stats-band__item::after { display: none; }
}
@media (max-width: 768px) {
  .prod-bento { grid-template-columns: 1fr; grid-auto-rows: 440px; }
  .prod-card--lg, .prod-card--wide { grid-column: span 1; grid-row: span 1; }
  .proc-grid { grid-template-columns: 1fr; }
  .proc-step { text-align: center; }
  .stats-band__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}


/* =================================================================
   FAQ — Two-column split (sticky left hero + scrollable accordion right)
   Used on: home, products, about-us, case-studies, contact-us.
   The right column keeps the existing .faq-stack accordion styling.
   ================================================================= */
.faq-split {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(420px, 1.15fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: flex-start;
    width: 100%;
    max-width: var(--container-xl);
    margin: 0 auto;
}

.faq-split__left {
    position: sticky;
    top: 120px;
    align-self: flex-start;
    padding: 8px 0 24px;
}

.faq-split__eyebrow {
    display: inline-block;
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #5F4D40;
    margin: 0 0 18px;
}

.faq-split__title {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size: clamp(1.9rem, 3.6vw, 2.75rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.015em;
    color: #3E3228;
    margin: 0 0 18px;
}

.faq-split__title .accent {
    color: #5F4D40;
}

.faq-split__lead {
    font-family: var(--font-body, 'Roboto', sans-serif);
    font-size: 1.02rem;
    line-height: 1.7;
    color: #5B6675;
    margin: 0 0 28px;
    max-width: 42ch;
}

.faq-split__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    background: #3E3228;
    color: #fff;
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: transform 0.2s ease;
}

.faq-split__cta:hover {
    transform: scale(1.04);
    color: #fff;
}

.faq-split__cta svg {
    width: 14px;
    height: 14px;
    stroke: #5F4D40;
    transition: transform 0.2s ease;
}

.faq-split__cta:hover svg {
    transform: translateX(3px);
}

.faq-split__right {
    display: grid;
    gap: 14px;
}

/* Tighten the accordion card padding inside the split layout */
.faq-split .faq-stack details {
    border-color: #E8E4DC;
    background: #fff;
}

.faq-split .faq-stack summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    padding: 1.25rem 1.35rem;
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-weight: 700;
    font-size: 1.02rem;
    line-height: 1.35;
    color: #3E3228;
}

.faq-split .faq-stack summary::after {
    position: static;
    transform: none;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border: 1.5px solid #5F4D40;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #5F4D40;
    font-size: 1.1rem;
    font-weight: 500;
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.faq-split .faq-stack details[open] summary::after {
    content: "−";
    background: #5F4D40;
    color: #fff;
    transform: rotate(180deg);
}

.faq-split .faq-stack__answer {
    padding: 0 1.35rem 1.35rem;
    font-family: var(--font-body, 'Roboto', sans-serif);
    font-size: 0.96rem;
    line-height: 1.72;
    color: #5B6675;
}

.faq-split .faq-stack__answer p {
    margin: 0 0 0.6em;
}

.faq-split .faq-stack__answer p:last-child {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .faq-split {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .faq-split__left {
        position: static;
        padding: 0;
    }
}

/* ==========================================================================
   Full-bleed pages (non-home) — make every page behave like the home page
   so hero / section backgrounds span edge-to-edge with no boxed padding.
   Applies to: page, single post, 404, author.
   Does NOT apply to: archive, search, category (those keep their boxed layout).
   ========================================================================== */
body.refit-chrome .site-content,
body.refit-chrome .content-area,
body.refit-chrome .inside-article,
body.refit-chrome .entry-content {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.refit-chrome .content-area {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}

body.refit-chrome .widget-area.sidebar,
body.refit-chrome .is-right-sidebar,
body.refit-chrome .is-left-sidebar,
body.refit-chrome #right-sidebar,
body.refit-chrome #left-sidebar {
    display: none !important;
}

body.refit-chrome .inside-article {
    border-radius: 0 !important;
}

body.refit-chrome .entry-content > *,
body.refit-chrome .inside-article > * {
    max-width: none !important;
}

/* Keep readable width for prose-heavy containers (legal pages, blog posts) */
body.refit-chrome .entry-content p,
body.refit-chrome .entry-content ul,
body.refit-chrome .entry-content ol,
body.refit-chrome .jl-legal-body,
body.refit-chrome .kj-post-content {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}


/* ================================================================
   PAGE-SPECIFIC STYLES (consolidated from website/*.html <style> blocks)
   ================================================================ */

/* ---------- home ---------- */
/* === JMSDECOR HOMEPAGE — HERO ONLY (all other sections use main.css design system) === */
.entry-title,.page-title,.site-main>.entry-header{display:none!important}
/* --- Hero --- */
.jl-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;color:#fff}
.jl-hero-bg{position:absolute;inset:-5%;z-index:0;will-change:transform}
.jl-hero-bg video,.jl-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;display:block}
.jl-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,#2A2119 0%,rgba(62, 50, 40, .78) 40%,rgba(62, 50, 40, .25) 100%)}
.jl-hero-inner{position:relative;z-index:2}
.jl-hero-inner{padding:140px 48px 100px;max-width:1280px;margin:0 auto;width:100%}
.jl-eyebrow{font-family:var(--font-mono,'Roboto',monospace);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fbeaa2;margin-bottom:16px;display:block}
.jl-hero h1{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(3.6rem,6vw,5rem);font-weight:900;letter-spacing:-.045em;line-height:1.02;color:#fff;max-width:none;margin:0 0 24px}
.jl-hero h1 .h1-a{display:inline}
.jl-hero h1 .h1-b{display:inline}
.jl-hero h1 .h1-c{display:block}
@media(max-width:768px){
.jl-hero h1{font-size:clamp(2.4rem,9.5vw,3.4rem)}
.jl-hero h1 .h1-a{display:block}
.jl-hero h1 .h1-b{display:block}
.jl-hero h1 .h1-c{display:block}
}
.jl-hero h1 .kw{color:#fbeaa2}
.jl-hero .jl-sub{color:rgba(255,255,255,.8);max-width:54ch;font-size:1.15rem;line-height:1.7;margin:0 0 40px}
.jl-btns{display:flex;gap:16px;flex-wrap:wrap}
.jl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 36px;border-radius:6px;font-family:var(--font-body,'Roboto',sans-serif);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:.25s cubic-bezier(.16,1,.3,1);cursor:pointer}
.jl-btn-primary{background:#efa749;color:#fff;border:1px solid #efa749}
.jl-btn-primary:hover{background:#d98f34;transform:scale(1.04);box-shadow:0 14px 32px rgba(239,167,73,.4)}
.jl-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.jl-btn-ghost:hover{background:#fff;color:#3E3228}
.jl-hero-trust{display:flex;gap:32px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.jl-hero-trust .jt{font-family:var(--font-mono,'Roboto',monospace);font-size:.8rem;color:rgba(255,255,255,.6)}
.jl-hero-trust .jt b{display:block;font-size:1.4rem;color:#fff;margin-bottom:2px}
@media(max-width:900px){.jl-hero-inner{padding:120px 24px 80px}}
/* --- Scroll reveal (used by the script at the bottom) --- */
.rv{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}


/* ---------- products ---------- */
/* === JMSDECOR PRODUCTS PAGE === */
:root{--color-primary:#5F4D40;--color-primary-strong:#3E3228;--ink:#3E3228;--gray-light:#F4F6FA;--gray-medium:#E2E6EE;--radius:14px;--shadow:0 24px 64px rgba(62, 50, 40, .10)}
.entry-title,.page-title,.site-main>.entry-header{display:none!important}
/* --- Page Hero --- */
.pd-hero{position:relative;background:#3E3228;color:#fff;padding:150px 48px 90px;overflow:hidden}
.pd-hero::before{content:'';position:absolute;top:-40%;right:-15%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(251,234,162,.16),transparent 65%)}
.pd-hero-inner{max-width:1280px;margin:0 auto;position:relative}
.pd-eyebrow{font-family:var(--font-mono,'Roboto',monospace);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fbeaa2;margin-bottom:16px;display:block}
.pd-hero h1{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(2.6rem,5vw,4.2rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;max-width:16ch;margin:0 0 20px}
.pd-hero .pd-sub{color:rgba(255,255,255,.78);max-width:62ch;font-size:1.1rem;line-height:1.7;margin:0 0 36px}
.pd-hero-stats{display:flex;flex-wrap:wrap;margin:0 0 36px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);overflow:hidden;max-width:860px;background:rgba(255,255,255,.03)}
.pd-hstat{flex:1;min-width:180px;padding:20px 24px;border-right:1px solid rgba(255,255,255,.14)}
.pd-hstat:last-child{border-right:0}
.pd-hstat b{display:block;font-family:var(--font-heading,'Roboto',sans-serif);font-size:1.3rem;font-weight:800;color:#fff;margin:0 0 4px}
.pd-hstat span{font-family:var(--font-mono,'Roboto',monospace);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fbeaa2}
.pd-chips{display:flex;gap:10px;flex-wrap:wrap}
.pd-chip{font-family:var(--font-mono,'Roboto',monospace);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;padding:10px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;transition:.25s}
.pd-chip:hover{border-color:#fbeaa2;background:rgba(251,234,162,.18);transform:translateY(-2px)}
.pd-chip.solid{border-color:#efa749;background:rgba(239,167,73,.28)}
/* --- Category Rows --- */
.pd-cat{padding:90px 48px;max-width:1280px;margin:0 auto;scroll-margin-top:90px}
.pd-cat.alt{background:var(--gray-light);max-width:100%}
.pd-cat.alt .pd-cat-inner{max-width:1280px;margin:0 auto}
.pd-cat-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.pd-cat.flip .pd-cat-grid{direction:rtl}
.pd-cat.flip .pd-cat-grid>*{direction:ltr}
.pd-cat-media{position:relative}
.pd-cat-media .main-img{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/3;box-shadow:var(--shadow)}
.pd-cat-media .thumb{position:absolute;bottom:-28px;right:-20px;width:44%;border-radius:12px;border:5px solid #fff;box-shadow:0 16px 40px rgba(62, 50, 40, .18);object-fit:cover;aspect-ratio:4/3}
.pd-cat.alt .pd-cat-media .thumb{border-color:var(--gray-light)}
.pd-cat-num{font-family:var(--font-mono,'Roboto',monospace);font-size:.75rem;font-weight:700;letter-spacing:.16em;color:#5F4D40;text-transform:uppercase;display:block;margin-bottom:14px}
.pd-cat h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:800;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink)}
.pd-cat .pd-desc{color:#5B6675;font-size:1rem;line-height:1.7;margin:0 0 20px;max-width:56ch}
.pd-points{list-style:none;margin:0 0 22px;padding:0}
.pd-points li{position:relative;padding-left:22px;color:#5B6675;font-size:.92rem;line-height:1.65;margin:0 0 10px}
.pd-points li::before{content:'';position:absolute;left:0;top:10px;width:12px;height:2px;background:#5F4D40}
.pd-points li strong{color:var(--ink)}
.pd-buyers{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 20px}
.pd-buyers-label{font-family:var(--font-mono,'Roboto',monospace);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7A7168;margin-right:4px}
.pd-buyer{font-family:var(--font-mono,'Roboto',monospace);font-size:.66rem;font-weight:700;letter-spacing:.04em;color:#5F4D40;background:rgba(251,234,162,.18);border-radius:6px;padding:7px 12px}
.pd-spec-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.pd-spec{font-family:var(--font-mono,'Roboto',monospace);font-size:.68rem;font-weight:700;color:#3E3228;background:#fff;border:1px solid var(--gray-medium);border-radius:6px;padding:8px 14px}
.pd-cat.alt .pd-spec{background:#fff}
.pd-cat-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pd-moq{display:inline-block;font-family:var(--font-mono,'Roboto',monospace);font-size:.66rem;font-weight:700;letter-spacing:.06em;color:#3E3228;background:#fff;border:1px dashed #5F4D40;border-radius:6px;padding:9px 14px}
.pd-link{display:inline-flex;align-items:center;gap:8px;color:#5F4D40;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;transition:.25s}
.pd-link:hover{gap:12px}
/* --- Feature Cards --- */
.pd-feat{padding:90px 48px;background:#3E3228;color:#fff}
.pd-feat-inner{max-width:1280px;margin:0 auto}
.pd-feat h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:0 0 14px}
.pd-feat .pd-lead{color:rgba(255,255,255,.7);max-width:60ch;margin:0 0 48px;font-size:1.05rem;line-height:1.7}
.pd-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pd-fcard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);overflow:hidden;transition:.3s;scroll-margin-top:90px;display:flex;flex-direction:column}
.pd-fcard:hover{transform:translateY(-6px);border-color:rgba(251, 234, 162, .35);background:rgba(255,255,255,.06)}
.pd-fcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pd-fcard-body{padding:26px 24px;display:flex;flex-direction:column;flex:1}
.pd-fcard h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1.1rem;font-weight:700;margin:0 0 10px;color:#fff}
.pd-fcard p{color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.6;margin:0 0 16px}
.pd-fcard .pd-points{margin:0 0 18px}
.pd-fcard .pd-points li{color:rgba(255,255,255,.66);font-size:.82rem;margin-bottom:8px}
.pd-fcard .pd-points li::before{background:#fbeaa2;top:9px}
.pd-fcard .pd-buyers{margin:0 0 16px}
.pd-fcard .pd-buyers-label{color:rgba(255,255,255,.42)}
.pd-fcard .pd-buyer{color:#fbeaa2;background:rgba(251, 234, 162, .16)}
.pd-fcard .pd-moq{color:#fff;background:rgba(255,255,255,.05);border-color:rgba(251, 234, 162, .5);margin:0 0 18px;align-self:flex-start}
.pd-fcard .pd-link{color:#fbeaa2;margin-top:auto}
/* --- Customization --- */
.pd-custom{padding:90px 48px;max-width:1280px;margin:0 auto}
.pd-custom h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:0 0 14px;color:var(--ink)}
.pd-custom .pd-lead{color:#5B6675;max-width:64ch;margin:0 0 44px;font-size:1.05rem;line-height:1.7}
.pd-custom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pd-citem{background:#fff;border:1px solid var(--gray-medium);border-radius:12px;padding:28px 22px;transition:.3s}
.pd-citem:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:#5F4D40}
.pd-citem .ico{font-family:var(--font-mono,'Roboto',monospace);font-weight:700;font-size:1rem;color:#5F4D40;background:rgba(251, 234, 162, .25);width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pd-citem h4{font-family:var(--font-heading,'Roboto',sans-serif);font-size:.95rem;font-weight:700;margin:0 0 8px;color:var(--ink)}
.pd-citem p{color:#5B6675;font-size:.82rem;line-height:1.6;margin:0}
.pd-custom-links{display:flex;gap:32px;flex-wrap:wrap;margin-top:36px}
/* --- FAQ --- */
.pd-faq{padding:90px 48px;background:var(--gray-light)}
.pd-faq-inner{max-width:1280px;margin:0 auto}
.pd-faq h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:0 0 14px;color:var(--ink)}
.pd-faq .pd-lead{color:#5B6675;max-width:64ch;margin:0 0 44px;font-size:1.05rem;line-height:1.7}
.pd-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.pd-qa{background:#fff;border:1px solid var(--gray-medium);border-radius:12px;padding:28px 26px;transition:.3s}
.pd-qa:hover{border-color:#5F4D40;box-shadow:var(--shadow)}
.pd-qa h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 12px;display:flex;gap:12px;align-items:baseline}
.pd-qa h3 .q{font-family:var(--font-mono,'Roboto',monospace);font-size:.78rem;font-weight:700;color:#5F4D40;flex:none}
.pd-qa p{color:#5B6675;font-size:.88rem;line-height:1.7;margin:0}
.pd-faq-more{margin:36px 0 0;color:#5B6675;font-size:.92rem}
.pd-faq-more a{color:#5F4D40;font-weight:700;text-decoration:none}
.pd-faq-more a:hover{text-decoration:underline}
/* --- CTA --- */
.pd-cta{background:linear-gradient(135deg,#5f4d40 0%,#3E3228 55%,#2a2119 100%);text-align:center;padding:90px 32px}
.pd-cta h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:800;color:#fff;margin:0 0 14px}
.pd-cta p{color:rgba(255,255,255,.85);max-width:52ch;margin:0 auto 32px;font-size:1.05rem}
.pd-cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.pd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 40px;border-radius:6px;font-family:var(--font-body,'Roboto',sans-serif);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;background:#efa749;color:#fff;transition:.25s}
.pd-btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.pd-btn:hover{transform:scale(1.04);box-shadow:0 14px 32px rgba(0,0,0,.25)}
/* --- Reveal --- */
.pd-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.pd-reveal.visible{opacity:1;transform:translateY(0)}
/* --- Responsive --- */
@media(max-width:1024px){.pd-feat-grid{grid-template-columns:1fr}.pd-custom-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pd-custom-grid{grid-template-columns:1fr}}
@media(max-width:900px){.pd-cat-grid{grid-template-columns:1fr;gap:44px}.pd-cat.flip .pd-cat-grid{direction:ltr}.pd-cat{padding:64px 24px}.pd-hero{padding:120px 24px 70px}.pd-feat,.pd-custom,.pd-faq{padding:64px 24px}.pd-cat-media .thumb{right:8px}.pd-faq-grid{grid-template-columns:1fr}.pd-hstat{min-width:46%;border-bottom:1px solid rgba(255,255,255,.14)}}
@media(prefers-reduced-motion:reduce){.pd-reveal{opacity:1;transform:none;transition:none}}


/* ---------- about-us ---------- */
/* === About Us page scoped styles (comparison table) === */
.jla-table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.95rem;line-height:1.55}
.jla-table th,.jla-table td{border:1px solid var(--color-border,#E2E6EE);padding:.85rem 1rem;text-align:left;vertical-align:top}
.jla-table thead th{background:var(--color-primary-soft,#FBF7EA);color:var(--color-heading,#3E3228);font-weight:700}
.jla-table tbody th{font-weight:700;background:#FAF8F4}
.jla-table td:last-child{color:var(--color-primary-strong,#3E3228);font-weight:600}
@media(max-width:768px){.jla-table{display:block;overflow-x:auto;white-space:normal}}

/* --- Contact Form Grid (Name/Email/Phone in one row) --- */
.cf7-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:767px){.cf7-grid{grid-template-columns:1fr}}

/* Modal inquiry form: Name+Email one row, Industry+Project one row, Message+Submit full width */
.site-footer-modal__form-shell form{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-footer-modal__form-shell .cf7-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.site-footer-modal__form-shell .cf7-grid > p:nth-child(3){grid-column:1 / -1}

/* --- About-us: Content Container --- */
.about-body{padding:3rem 0}
.about-body h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin:2.5rem 0 1rem;color:var(--color-heading,#3E3228)}
.about-body h2:first-child{margin-top:0}
.about-body p{font-size:1.05rem;line-height:1.7;color:#374151;margin:0 0 1.2rem}
.about-body ol{padding-left:1.5rem;margin:0 0 2rem}
.about-body ol li{font-size:1rem;line-height:1.7;margin-bottom:.6rem}
.about-body .stat-band{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding:2.5rem calc(50vw - 50% + 24px)}

/* --- About-us: Timeline Grid --- */
.tl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:2rem 0}
.tl-item{text-align:center}
.tl-item img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius,8px);margin-bottom:12px}
.tl-year{display:block;font-family:var(--font-mono,'Roboto',monospace);font-size:1.4rem;font-weight:800;letter-spacing:.04em;color:var(--color-primary,#5F4D40);margin-bottom:8px}
.tl-item p{font-size:.88rem;color:#5B6675;line-height:1.5;margin:0}
@media(max-width:900px){.tl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.tl-grid{grid-template-columns:1fr;max-width:320px;margin-left:auto;margin-right:auto}}

/* --- About-us: Certification Grid --- */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:2rem 0}
.cert-card{text-align:center;padding:24px 16px;border:1px solid var(--color-border,#E2E6EE);border-radius:var(--radius,8px);background:#fff}
.cert-card figure{margin:0 0 16px}
.cert-card figure img{width:100%;max-width:160px;height:auto;border-radius:4px}
.cert-card h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1rem;font-weight:800;margin:0 0 8px;color:var(--color-heading,#3E3228)}
.cert-card p{font-size:.85rem;color:#5B6675;line-height:1.55;margin:0}
@media(max-width:900px){.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.cert-grid{grid-template-columns:1fr;max-width:320px;margin-left:auto;margin-right:auto}}

/* --- About-us: Gallery Grid (Trade Shows) --- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:2rem 0}
.gallery-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius,8px)}
@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}

/* --- About-us: Choice Grid (Leading Choice) --- */
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:2rem 0}
.choice-card{text-align:center;padding:24px 16px;border:1px solid var(--color-border,#E2E6EE);border-radius:var(--radius,8px);background:#fff;transition:transform .25s ease,border-color .25s ease}
.choice-card:hover{transform:translateY(-4px);border-color:var(--color-primary,#5F4D40)}
.choice-card figure{margin:0 0 16px}
.choice-card figure img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius,8px)}
.choice-card h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1rem;font-weight:800;margin:0 0 8px;color:var(--color-heading,#3E3228)}
.choice-card p{font-size:.85rem;color:#5B6675;line-height:1.55;margin:0}
@media(max-width:900px){.choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.choice-grid{grid-template-columns:1fr}}


/* ---------- case-studies ---------- */
/* === JMSDECOR CASE STUDIES PAGE === */
:root{--color-primary:#5F4D40;--color-primary-strong:#3E3228;--ink:#3E3228;--gray-light:#F4F6FA;--gray-medium:#E2E6EE;--radius:14px;--shadow:0 24px 64px rgba(62, 50, 40, .10)}
.entry-title,.page-title,.site-main>.entry-header{display:none!important}
/* --- Page Hero --- */
.cs-hero{position:relative;background:#3E3228;color:#fff;padding:150px 48px 90px;overflow:hidden}
.cs-hero::before{content:'';position:absolute;top:-40%;right:-15%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(251,234,162,.16),transparent 65%)}
.cs-hero-inner{max-width:1280px;margin:0 auto;position:relative}
.cs-eyebrow{font-family:var(--font-mono,'Roboto',monospace);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fbeaa2;margin-bottom:16px;display:block}
.cs-hero h1{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(2.6rem,5vw,4.2rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;max-width:18ch;margin:0 0 20px}
.cs-hero .cs-sub{color:rgba(255,255,255,.78);max-width:62ch;font-size:1.1rem;line-height:1.7;margin:0 0 36px}
.cs-chips{display:flex;gap:10px;flex-wrap:wrap}
.cs-chip{font-family:var(--font-mono,'Roboto',monospace);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;padding:10px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;transition:.25s}
.cs-chip:hover{border-color:#fbeaa2;background:rgba(251,234,162,.18);transform:translateY(-2px)}
/* --- Stats Band --- */
.cs-stats{background:#3E3228;border-top:1px solid rgba(255,255,255,.06)}
.cs-stats-track{display:flex;max-width:1280px;margin:0 auto;padding:44px 48px;gap:0;flex-wrap:wrap}
.cs-stat{flex:1;min-width:180px;text-align:center;position:relative;padding:0 12px 8px}
.cs-stat::after{content:'';position:absolute;right:0;top:12%;height:76%;width:1px;background:rgba(255,255,255,.08)}
.cs-stat:last-child::after{display:none}
.cs-stat b{display:block;font-family:var(--font-mono,'Roboto',monospace);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;color:#fff}
.cs-stat b em{color:#5F4D40;font-style:normal}
.cs-stat span{display:block;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:12px}
.cs-certs{max-width:1280px;margin:0 auto;padding:0 48px 40px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.cs-cert{font-family:var(--font-mono,'Roboto',monospace);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:#fbeaa2;border:1px solid rgba(251, 234, 162, .35);border-radius:6px;padding:8px 14px}
/* --- Case Sections --- */
.cs-case{padding:96px 48px;max-width:1280px;margin:0 auto;scroll-margin-top:90px}
.cs-case.alt{background:var(--gray-light);max-width:100%}
.cs-case.alt .cs-case-inner{max-width:1280px;margin:0 auto}
.cs-case-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.cs-case.flip .cs-case-grid{direction:rtl}
.cs-case.flip .cs-case-grid>*{direction:ltr}
.cs-case-media{position:sticky;top:100px}
.cs-case-media img{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/3;box-shadow:var(--shadow)}
.cs-case-num{font-family:var(--font-mono,'Roboto',monospace);font-size:.75rem;font-weight:700;letter-spacing:.16em;color:#5F4D40;text-transform:uppercase;display:block;margin-bottom:14px}
.cs-case h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin:0 0 18px;color:var(--ink)}
.cs-client{display:flex;align-items:center;gap:14px;margin:0 0 20px}
.cs-client img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #5F4D40}
.cs-client b{display:block;font-size:.95rem;color:var(--ink)}
.cs-client span{display:block;font-size:.75rem;color:#5B6675;letter-spacing:.04em;text-transform:uppercase}
.cs-quote{background:#fff;border-left:4px solid #5F4D40;border-radius:0 12px 12px 0;padding:22px 24px;margin:0 0 26px;box-shadow:0 10px 30px rgba(62, 50, 40, .06)}
.cs-case.alt .cs-quote{box-shadow:0 10px 30px rgba(62, 50, 40, .08)}
.cs-quote .cs-stars{color:#F5A623;letter-spacing:3px;font-size:.9rem;margin-bottom:8px}
.cs-quote blockquote{margin:0;font-size:.95rem;line-height:1.7;color:#333;font-style:italic}
.cs-csr{display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 24px}
.cs-csr-item{background:#fff;border:1px solid var(--gray-medium);border-radius:12px;padding:20px 22px}
.cs-case:not(.alt) .cs-csr-item{background:var(--gray-light)}
.cs-csr-item h4{font-family:var(--font-heading,'Roboto',sans-serif);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#5F4D40;margin:0 0 8px}
.cs-csr-item p{margin:0;font-size:.92rem;line-height:1.7;color:#444}
.cs-specs{display:flex;gap:10px;flex-wrap:wrap}
.cs-spec{font-family:var(--font-mono,'Roboto',monospace);font-size:.66rem;font-weight:700;color:#3E3228;background:#fff;border:1px solid var(--gray-medium);border-radius:6px;padding:8px 14px}
.cs-case.alt .cs-spec{background:#fff}
/* --- Process --- */
.cs-process{padding:96px 48px;background:#3E3228;color:#fff}
.cs-process-inner{max-width:1280px;margin:0 auto}
.cs-process h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:0 0 14px}
.cs-process .cs-lead{color:rgba(255,255,255,.7);max-width:62ch;margin:0 0 44px;font-size:1.05rem;line-height:1.7}
.cs-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1)}
.cs-table{width:100%;border-collapse:collapse;min-width:720px;background:rgba(255,255,255,.03)}
.cs-table th{font-family:var(--font-mono,'Roboto',monospace);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fbeaa2;text-align:left;padding:16px 20px;background:rgba(251, 234, 162, .14);border-bottom:1px solid rgba(255,255,255,.1)}
.cs-table td{padding:16px 20px;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.82);border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top}
.cs-table tr:last-child td{border-bottom:none}
.cs-table td:first-child{font-weight:700;color:#fff;white-space:nowrap}
.cs-table td:last-child{font-family:var(--font-mono,'Roboto',monospace);font-size:.78rem;color:#fbeaa2;white-space:nowrap}
.cs-process-note{margin-top:26px;font-size:.92rem;color:rgba(255,255,255,.66);line-height:1.7}
.cs-process-note a{color:#fbeaa2;font-weight:700;text-decoration:none}
.cs-process-note a:hover{text-decoration:underline}
/* --- FAQ --- */
.cs-faq{padding:96px 48px;background:var(--gray-light);scroll-margin-top:90px}
.cs-faq-inner{max-width:880px;margin:0 auto}
.cs-faq h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:0 0 14px;color:var(--ink);text-align:center}
.cs-faq .cs-lead{color:#5B6675;text-align:center;max-width:56ch;margin:0 auto 44px;font-size:1.02rem;line-height:1.7}
.cs-faq details{background:#fff;border:1px solid var(--gray-medium);border-radius:12px;margin-bottom:14px;transition:.25s}
.cs-faq details[open]{border-color:#5F4D40;box-shadow:0 10px 30px rgba(95, 77, 64, .08)}
.cs-faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:var(--font-heading,'Roboto',sans-serif);font-weight:700;font-size:1rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.cs-faq summary::-webkit-details-marker{display:none}
.cs-faq summary::after{content:'+';font-family:var(--font-mono,'Roboto',monospace);font-size:1.3rem;color:#5F4D40;transition:.25s}
.cs-faq details[open] summary::after{transform:rotate(45deg)}
.cs-faq details p{margin:0;padding:0 24px 22px;font-size:.92rem;line-height:1.75;color:#5B6675}
.cs-faq details p a{color:#5F4D40;font-weight:700;text-decoration:none}
.cs-faq details p a:hover{text-decoration:underline}
/* --- CTA --- */
.cs-cta{background:linear-gradient(135deg,#5f4d40 0%,#3E3228 55%,#2a2119 100%);text-align:center;padding:90px 32px}
.cs-cta h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:800;color:#fff;margin:0 0 14px}
.cs-cta p{color:rgba(255,255,255,.85);max-width:56ch;margin:0 auto 32px;font-size:1.05rem;line-height:1.7}
.cs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 40px;border-radius:6px;font-family:var(--font-body,'Roboto',sans-serif);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;background:#efa749;color:#fff;transition:.25s}
.cs-btn:hover{transform:scale(1.04);box-shadow:0 14px 32px rgba(0,0,0,.25)}
/* --- Reveal --- */
.cs-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.cs-reveal.visible{opacity:1;transform:translateY(0)}
/* --- Responsive --- */
@media(max-width:900px){.cs-case-grid{grid-template-columns:1fr;gap:36px}.cs-case.flip .cs-case-grid{direction:ltr}.cs-case{padding:64px 24px}.cs-hero{padding:120px 24px 70px}.cs-process,.cs-faq{padding:64px 24px}.cs-case-media{position:static}.cs-stats-track{padding:36px 24px}.cs-certs{padding:0 24px 32px}}
@media(prefers-reduced-motion:reduce){.cs-reveal{opacity:1;transform:none;transition:none}}


/* ---------- contact-us ---------- */
/* === JMSDECOR CONTACT PAGE === */
:root{--color-primary:#5F4D40;--color-primary-strong:#3E3228;--ink:#3E3228;--gray-light:#F4F6FA;--gray-medium:#E2E6EE;--radius:14px;--shadow:0 24px 64px rgba(62, 50, 40, .10)}
.entry-title,.page-title,.site-main>.entry-header{display:none!important}
/* --- Page Hero --- */
.jc-hero{position:relative;background:#3E3228;color:#fff;padding:150px 48px 90px;overflow:hidden}
.jc-hero::before{content:'';position:absolute;top:-40%;right:-15%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(251,234,162,.16),transparent 65%)}
.jc-hero-inner{max-width:1280px;margin:0 auto;position:relative}
.jc-eyebrow{font-family:var(--font-mono,'Roboto',monospace);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fbeaa2;margin-bottom:16px;display:block}
.jc-hero h1{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(2.4rem,4.6vw,3.9rem);font-weight:900;letter-spacing:-.04em;line-height:1.08;max-width:20ch;margin:0 0 20px}
.jc-hero .jc-sub{color:rgba(255,255,255,.78);max-width:62ch;font-size:1.1rem;line-height:1.7;margin:0 0 36px}
.jc-chips{display:flex;gap:10px;flex-wrap:wrap}
.jc-chip{font-family:var(--font-mono,'Roboto',monospace);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;padding:10px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;transition:.25s}
.jc-chip:hover{border-color:#fbeaa2;background:rgba(251,234,162,.18);transform:translateY(-2px)}
/* --- Section Head --- */
.jc-sec-head{margin:0 0 44px;max-width:760px}
.jc-sec-head h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink)}
.jc-sec-head p{color:#5B6675;font-size:1.02rem;line-height:1.7;margin:0}
.jc-sec-head .jc-eyebrow{color:#5F4D40}
/* --- Channels --- */
.jc-channels{padding:90px 48px 70px;max-width:1280px;margin:0 auto}
.jc-chgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.jc-chcard{background:#fff;border:1px solid var(--gray-medium);border-radius:var(--radius);padding:32px 28px;transition:.3s}
.jc-chcard:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:#5F4D40}
.jc-ico{font-family:var(--font-mono,'Roboto',monospace);font-weight:700;font-size:1rem;color:#5F4D40;background:rgba(251, 234, 162, .25);width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.jc-chcard h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1.15rem;font-weight:800;margin:0 0 10px;color:var(--ink)}
.jc-chcard p{color:#5B6675;font-size:.9rem;line-height:1.65;margin:0 0 14px}
.jc-chcard a{color:#5F4D40;font-weight:700;font-size:.95rem;text-decoration:none;word-break:break-all}
.jc-chcard a:hover{text-decoration:underline}
.jc-reply{margin-top:28px;background:var(--gray-light);border:1px solid var(--gray-medium);border-left:4px solid #5F4D40;border-radius:0 12px 12px 0;padding:20px 26px;font-size:.95rem;color:#444;line-height:1.7}
.jc-reply b{color:var(--ink)}
/* --- Stats Band --- */
.jc-stats{background:#3E3228}
.jc-stats-track{display:flex;max-width:1280px;margin:0 auto;padding:56px 48px 40px;gap:0;flex-wrap:wrap}
.jc-stat{flex:1;min-width:180px;text-align:center;position:relative;padding:0 12px 8px}
.jc-stat::after{content:'';position:absolute;right:0;top:12%;height:76%;width:1px;background:rgba(255,255,255,.08)}
.jc-stat:last-child::after{display:none}
.jc-stat b{display:block;font-family:var(--font-mono,'Roboto',monospace);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;color:#fff}
.jc-stat b em{color:#5F4D40;font-style:normal}
.jc-stat span{display:block;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:12px}
.jc-certs{max-width:1280px;margin:0 auto;padding:0 48px 46px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.jc-cert{font-family:var(--font-mono,'Roboto',monospace);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:#fbeaa2;border:1px solid rgba(251, 234, 162, .35);border-radius:6px;padding:8px 14px}
/* --- Steps --- */
.jc-steps{padding:90px 48px;max-width:1280px;margin:0 auto}
.jc-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.jc-step{background:var(--gray-light);border:1px solid var(--gray-medium);border-radius:12px;padding:28px 24px;transition:.3s}
.jc-step:hover{border-color:#5F4D40;transform:translateY(-4px);box-shadow:var(--shadow)}
.jc-step .num{font-family:var(--font-mono,'Roboto',monospace);font-weight:700;font-size:1rem;color:#fff;background:#5F4D40;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.jc-step h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1.02rem;font-weight:800;margin:0 0 10px;color:var(--ink)}
.jc-step p{color:#5B6675;font-size:.86rem;line-height:1.65;margin:0}
/* --- Prep Checklist --- */
.jc-prep{padding:90px 48px;background:var(--gray-light);max-width:100%}
.jc-prep-inner{max-width:1280px;margin:0 auto}
.jc-prep-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start}
.jc-check{background:#fff;border:1px solid var(--gray-medium);border-radius:var(--radius);padding:36px 34px}
.jc-check ul{margin:0;padding:0;list-style:none}
.jc-check li{padding:14px 0 14px 38px;position:relative;border-bottom:1px solid var(--gray-light);font-size:.94rem;line-height:1.65;color:#444}
.jc-check li::before{content:'\2713';position:absolute;left:0;top:14px;width:24px;height:24px;border-radius:50%;background:rgba(251, 234, 162, .25);color:#5F4D40;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.jc-check li b{color:var(--ink)}
.jc-check li:last-child{border-bottom:none}
.jc-mini{background:#fff;border:1px solid var(--gray-medium);border-radius:var(--radius);padding:28px 26px;margin-bottom:20px}
.jc-mini h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1rem;font-weight:800;margin:0 0 10px;color:var(--ink)}
.jc-mini p{color:#5B6675;font-size:.9rem;line-height:1.7;margin:0}
.jc-mini a{color:#5F4D40;font-weight:700;text-decoration:none}
.jc-mini a:hover{text-decoration:underline}
/* --- Who We Serve --- */
.jc-who{padding:90px 48px;max-width:1280px;margin:0 auto}
.jc-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.jc-wcard{background:#fff;border:1px solid var(--gray-medium);border-radius:var(--radius);padding:32px 28px;border-top:4px solid #5F4D40;transition:.3s}
.jc-wcard:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.jc-wcard h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1.15rem;font-weight:800;margin:0 0 12px;color:var(--ink)}
.jc-wcard p{color:#5B6675;font-size:.9rem;line-height:1.7;margin:0}
/* --- Kept Feature Cards --- */
.jc-feats{padding:90px 48px;background:var(--gray-light);max-width:100%}
.jc-feats-inner{max-width:1280px;margin:0 auto}
.jc-feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.jc-fcard{background:#fff;border:1px solid var(--gray-medium);border-radius:var(--radius);padding:32px 24px;text-align:center;transition:.3s}
.jc-fcard:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.jc-fcard img{width:84px;height:84px;object-fit:contain;margin:0 auto 18px;display:block}
.jc-fcard h3{font-family:var(--font-heading,'Roboto',sans-serif);font-size:1rem;font-weight:800;margin:0 0 10px;color:var(--ink)}
.jc-fcard p{color:#5B6675;font-size:.85rem;line-height:1.65;margin:0}
/* --- Form Section --- */
.jc-form-sec{padding:90px 48px;max-width:920px;margin:0 auto;scroll-margin-top:90px}
.jc-form-card{background:#fff;border:1px solid var(--gray-medium);border-radius:var(--radius);padding:40px 36px;box-shadow:var(--shadow)}
.jc-cinfo{display:grid;gap:1.5rem;margin-top:2rem}
.jc-cinfo-item strong{display:block;margin-bottom:0.35rem;color:var(--color-heading);font-family:var(--font-mono,'Roboto',monospace);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.jc-cinfo-item a,.jc-cinfo-item span{color:var(--color-text-muted);font-size:1rem;line-height:1.6}
.jc-cinfo-item a:hover{color:var(--color-primary)}
/* --- FAQ --- */
.jc-faq{padding:90px 48px;background:var(--gray-light);scroll-margin-top:90px}
.jc-faq-inner{max-width:880px;margin:0 auto}
.jc-faq .jc-eyebrow{color:#5F4D40;text-align:center;display:block}
.jc-faq h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:0 0 14px;color:var(--ink);text-align:center}
.jc-faq .jc-lead{color:#5B6675;text-align:center;max-width:56ch;margin:0 auto 44px;font-size:1.02rem;line-height:1.7}
.jc-faq details{background:#fff;border:1px solid var(--gray-medium);border-radius:12px;margin-bottom:14px;transition:.25s}
.jc-faq details[open]{border-color:#5F4D40;box-shadow:0 10px 30px rgba(95, 77, 64, .08)}
.jc-faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:var(--font-heading,'Roboto',sans-serif);font-weight:700;font-size:1rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.jc-faq summary::-webkit-details-marker{display:none}
.jc-faq summary::after{content:'+';font-family:var(--font-mono,'Roboto',monospace);font-size:1.3rem;color:#5F4D40;transition:.25s}
.jc-faq details[open] summary::after{transform:rotate(45deg)}
.jc-faq details p{margin:0;padding:0 24px 22px;font-size:.92rem;line-height:1.75;color:#5B6675}
/* --- CTA --- */
.jc-cta{background:linear-gradient(135deg,#5f4d40 0%,#3E3228 55%,#2a2119 100%);text-align:center;padding:90px 32px}
.jc-cta h2{font-family:var(--font-heading,'Roboto',sans-serif);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:800;color:#fff;margin:0 0 14px}
.jc-cta p{color:rgba(255,255,255,.85);max-width:56ch;margin:0 auto 32px;font-size:1.05rem;line-height:1.7}
.jc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 40px;border-radius:6px;font-family:var(--font-body,'Roboto',sans-serif);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;background:#efa749;color:#fff;transition:.25s}
.jc-btn:hover{transform:scale(1.04);box-shadow:0 14px 32px rgba(0,0,0,.25)}
/* --- Reveal --- */
.jc-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.jc-reveal.visible{opacity:1;transform:translateY(0)}
/* --- Responsive --- */
@media(max-width:1024px){.jc-steps-grid{grid-template-columns:repeat(2,1fr)}.jc-feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.jc-chgrid,.jc-who-grid{grid-template-columns:1fr}.jc-prep-grid{grid-template-columns:1fr}.jc-hero{padding:120px 24px 70px}.jc-channels,.jc-steps,.jc-who,.jc-form-sec{padding:64px 24px}.jc-prep,.jc-feats,.jc-faq{padding:64px 24px}.jc-stats-track{padding:40px 24px 28px}.jc-certs{padding:0 24px 36px}.jc-form-card{padding:28px 20px}}
@media(max-width:640px){.jc-steps-grid,.jc-feat-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.jc-reveal{opacity:1;transform:none;transition:none}}

/* infility form plugin (id-scoped) */
#infility_form_74 {
			}
	#infility_form_74 input[type=text],
	#infility_form_74 input[type=email],
	#infility_form_74 input[type=number],
	#infility_form_74 input[type=tel],
    #infility_form_74 input[type=date],
	#infility_form_74 textarea,
	#infility_form_74 select {
		flex: 1;
		width: 100%;
		box-sizing: border-box;
		transition: all 0.3s;
		border-style: solid;
		border-color: #000000;
		border-top-width: 1px;
		border-right-width: 1px;
		border-bottom-width: 1px;
		border-left-width: 1px;
		border-radius: 0px 0px 0px 0px;
		font-size: 14px;
		font-weight: normal;
		color: #000000;
		background-color: #ffffff;
		padding: 10px 8px 10px 8px;
	}
	#infility_form_74 input[type=text]:focus,
	#infility_form_74 input[type=email]:focus,
	#infility_form_74 input[type=number]:focus,
	#infility_form_74 input[type=tel]:focus,
    #infility_form_74 input[type=date]:focus,
	#infility_form_74 textarea:focus,
	#infility_form_74 select:focus {
		border-color: #000000;
		color: #000000;
		background-color: #ffffff;
	}
	#infility_form_74 input[type=text]::placeholder,
	#infility_form_74 input[type=email]::placeholder,
	#infility_form_74 input[type=number]::placeholder,
	#infility_form_74 input[type=tel]::placeholder,
    #infility_form_74 input[type=date]::placeholder,
	#infility_form_74 textarea::placeholder,
	#infility_form_74 select::placeholder {
		color: #cccccc;
	}
	#infility_form_74 input[type=text]:focus::placeholder,
	#infility_form_74 input[type=email]:focus::placeholder,
	#infility_form_74 input[type=number]:focus::placeholder,
	#infility_form_74 input[type=tel]:focus::placeholder,
    #infility_form_74 input[type=date]:focus::placeholder,
	#infility_form_74 textarea:focus::placeholder,
	#infility_form_74 select:focus::placeholder {
		color: #cccccc;
	}
	@media  screen and (min-width: 768px) {
		#infility_form_74 .infility-form-row {
			/* display: grid;
			grid-template-columns: repeat(2, 1fr); */
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
	}
	#infility_form_74 input[type=file] {
		background-color: transparent;
		border: none;
		max-width: 100%;
	}
	#infility_form_74 .infility-form-col {
		margin-bottom: 28px;
		font-size: 14px;
		font-weight: normal;
	}
	#infility_form_74 .infility-form-col .iti {
		width: 100%;
	}
	#infility_form_74 .infility-form-col .iti__dropdown-content {
		background-color: #fff;
		color: #333;
	}
	#infility_form_74 label {
		display: block;
		padding: 0px 0px 0px 0px;
		color: #000000;
	}
	#infility_form_74 .label {
				line-height: 29px;
	}
	#infility_form_74 .input {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
	}
	#infility_form_74 .input label {
		font-size: 14px;
		padding: 0px 0px 0px 0px;
					}
	#infility_form_74 input[type=submit], #infility_form_74 button {
		width: 100%;
		box-sizing: border-box;
		transition: all 0.3s;
		border-style: solid;
		border-color: #000000;
		border-top-width: 0px;
		border-right-width: 0px;
		border-bottom-width: 0px;
		border-left-width: 0px;
		border-radius: 0px 0px 0px 0px;
		font-size: 14px;
		font-weight: normal;
		padding: 16px 8px 16px 8px;
		cursor: pointer;
		color: #ffffffff;
		background-color: #EFA749;
	}
	#infility_form_74 .iti__country-container input[type=submit], #infility_form_74 .iti__country-container button,
	#infility_form_74 .iti__country-container input[type=submit]:hover, #infility_form_74 .iti__country-container button:hover {
		background-color: #ffffff;
		color: #000000;
		border-color: #ffffff;
		border-radius: 0px 0px 0px 0px;
	}
	#infility_form_74 input[type=submit]:hover, #infility_form_74 button:hover {
		color: #ffffff;
		background-color: #D98F34;
		border-color: #D98F34;
	}
	#infility_form_74 input[type=submit]:disabled, #infility_form_74 button:disabled {
		background-color: #9999997f;
		border-color: #999;
		color: #333;
		cursor: not-allowed;
	}
				@media  screen and (min-width: 768px) {
				#infility_form_74 .infility-form-row-0 .infility-form-col-0 {
					width: 49%;
				}
			}
						@media  screen and (min-width: 768px) {
				#infility_form_74 .infility-form-row-0 .infility-form-col-1 {
					width: 49%;
				}
			}
						@media  screen and (min-width: 768px) {
				#infility_form_74 .infility-form-row-1 .infility-form-col-0 {
					width: 100%;
				}
			}
						@media  screen and (min-width: 768px) {
				#infility_form_74 .infility-form-row-2 .infility-form-col-0 {
					width: 100%;
				}
			}
						@media  screen and (min-width: 768px) {
				#infility_form_74 .infility-form-row-3 .infility-form-col-0 {
					width: 100%;
				}
			}
						@media  screen and (min-width: 768px) {
				#infility_form_74 .infility-form-row-4 .infility-form-col-0 {
					width: 100%;
				}
			}


/* ---------- privacy-policy ---------- */
.jl-legal { font-family: var(--font-body, 'Roboto', sans-serif); color:#3E3228; background:#fff; }
.jl-legal *, .jl-legal *::before, .jl-legal *::after { box-sizing:border-box; }

.jl-legal-hero {
    position:relative; background:#3E3228; color:#fff;
    padding:128px 24px 72px; overflow:hidden; min-height:380px;
}
.jl-legal-hero::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(640px 320px at 88% 12%, rgba(251,234,162,.2), transparent 60%);
    pointer-events:none;
}
.jl-legal-hero::after {
    content:''; position:absolute; inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 56px 56px; opacity:.3;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 40%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 40%, transparent 80%);
    pointer-events:none;
}
.jl-legal-hero__inner { position:relative; z-index:1; max-width:960px; margin:0 auto; }
.jl-legal-breadcrumb {
    font-size:13px; letter-spacing:.04em; text-transform:uppercase;
    color:rgba(255,255,255,.65); margin-bottom:24px;
}
.jl-legal-breadcrumb a { color:rgba(255,255,255,.65); text-decoration:none; }
.jl-legal-breadcrumb a:hover { color:#fff; }
.jl-legal-breadcrumb .sep { margin:0 10px; opacity:.5; }
.jl-legal-hero h1 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size: clamp(2.2rem, 4.5vw, 3.4rem);
    font-weight:800; line-height:1.1; letter-spacing:-.02em;
    margin:0 0 20px; color:#fff;
}
.jl-legal-hero h1 .accent { color:#5F4D40; }
.jl-legal-hero__meta {
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
    color:rgba(255,255,255,.55);
}
.jl-legal-hero__meta strong { color:#fbeaa2; font-weight:700; }

.jl-legal-body {
    max-width:960px; margin:0 auto;
    padding:72px 24px 96px;
    display:grid; grid-template-columns: 220px 1fr; gap:56px;
}
@media (max-width: 860px) { .jl-legal-body { grid-template-columns: 1fr; gap:32px; } }

.jl-legal-toc { position:sticky; top:112px; align-self:start; }
@media (max-width: 860px) { .jl-legal-toc { position:static; } }
.jl-legal-toc__title {
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:#5B6675; margin:0 0 16px;
}
.jl-legal-toc ol { list-style:none; padding:0; margin:0; counter-reset: toc; }
.jl-legal-toc li { counter-increment: toc; margin:0 0 10px; }
.jl-legal-toc li a {
    display:flex; align-items:baseline; gap:10px;
    font-size:.88rem; line-height:1.5;
    color:#5B6675; text-decoration:none;
    transition: color .2s ease;
}
.jl-legal-toc li a::before {
    content: counter(toc, decimal-leading-zero);
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.72rem; font-weight:700;
    color:#5F4D40;
}
.jl-legal-toc li a:hover { color:#3E3228; }

.jl-legal-content h2 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size:1.5rem; font-weight:800; line-height:1.2;
    letter-spacing:-.01em; color:#3E3228;
    margin:48px 0 18px; padding-top:16px;
    border-top:1px solid #E8E4DC;
}
.jl-legal-content h2:first-of-type { margin-top:0; border-top:0; padding-top:0; }
.jl-legal-content h2 .num {
    font-family: var(--font-mono, 'Roboto', monospace);
    color:#5F4D40; font-size:1rem; font-weight:700;
    margin-right:12px; letter-spacing:.06em;
}
.jl-legal-content h3 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size:1.08rem; font-weight:700; color:#3E3228;
    margin:24px 0 10px;
}
.jl-legal-content p, .jl-legal-content ul {
    font-size:1rem; line-height:1.75; color:#3a3f4a;
    margin:0 0 16px;
}
.jl-legal-content ul { padding-left:22px; }
.jl-legal-content ul li { margin-bottom:8px; }
.jl-legal-content a { color:#5F4D40; text-decoration:underline; text-decoration-color:rgba(95, 77, 64, .35); }
.jl-legal-content a:hover { text-decoration-color:#5F4D40; }

.jl-legal-contact {
    margin-top:56px; padding:28px;
    background:#F4F6FA; border-left:3px solid #5F4D40;
    border-radius:4px;
}
.jl-legal-contact p { margin:0; color:#3a3f4a; font-size:.95rem; line-height:1.7; }
.jl-legal-contact strong { color:#3E3228; }

.jl-legal-cta {
    background:#3E3228; color:#fff;
    padding:64px 24px; text-align:center;
    position:relative; overflow:hidden;
}
.jl-legal-cta::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(560px 260px at 50% 0%, rgba(251,234,162,.22), transparent 60%);
    pointer-events:none;
}
.jl-legal-cta__inner { position:relative; z-index:1; max-width:640px; margin:0 auto; }
.jl-legal-cta h3 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight:800; line-height:1.15;
    margin:0 0 14px; color:#fff;
}
.jl-legal-cta p {
    color:rgba(255,255,255,.7); font-size:1rem; line-height:1.65;
    margin:0 0 24px;
}
.jl-legal-cta__btn {
    display:inline-block; padding:13px 26px;
    background:#efa749; color:#fff;
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.85rem; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    border-radius:4px; text-decoration:none;
    transition: transform .2s ease, background .2s ease;
}
.jl-legal-cta__btn:hover { transform: scale(1.04); background:#d98f34; color:#fff; }


/* ---------- terms-of-service ---------- */
.jl-legal { font-family: var(--font-body, 'Roboto', sans-serif); color:#3E3228; background:#fff; }
.jl-legal *, .jl-legal *::before, .jl-legal *::after { box-sizing:border-box; }

.jl-legal-hero {
    position:relative; background:#3E3228; color:#fff;
    padding:128px 24px 72px; overflow:hidden; min-height:380px;
}
.jl-legal-hero::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(640px 320px at 88% 12%, rgba(251,234,162,.2), transparent 60%);
    pointer-events:none;
}
.jl-legal-hero::after {
    content:''; position:absolute; inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 56px 56px; opacity:.3;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 40%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 40%, transparent 80%);
    pointer-events:none;
}
.jl-legal-hero__inner { position:relative; z-index:1; max-width:960px; margin:0 auto; }
.jl-legal-breadcrumb {
    font-size:13px; letter-spacing:.04em; text-transform:uppercase;
    color:rgba(255,255,255,.65); margin-bottom:24px;
}
.jl-legal-breadcrumb a { color:rgba(255,255,255,.65); text-decoration:none; }
.jl-legal-breadcrumb a:hover { color:#fff; }
.jl-legal-breadcrumb .sep { margin:0 10px; opacity:.5; }
.jl-legal-hero h1 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size: clamp(2.2rem, 4.5vw, 3.4rem);
    font-weight:800; line-height:1.1; letter-spacing:-.02em;
    margin:0 0 20px; color:#fff;
}
.jl-legal-hero h1 .accent { color:#5F4D40; }
.jl-legal-hero__meta {
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
    color:rgba(255,255,255,.55);
}
.jl-legal-hero__meta strong { color:#fbeaa2; font-weight:700; }

.jl-legal-body {
    max-width:960px; margin:0 auto;
    padding:72px 24px 96px;
    display:grid; grid-template-columns: 220px 1fr; gap:56px;
}
@media (max-width: 860px) { .jl-legal-body { grid-template-columns: 1fr; gap:32px; } }

.jl-legal-toc { position:sticky; top:112px; align-self:start; }
@media (max-width: 860px) { .jl-legal-toc { position:static; } }
.jl-legal-toc__title {
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:#5B6675; margin:0 0 16px;
}
.jl-legal-toc ol { list-style:none; padding:0; margin:0; counter-reset: toc; }
.jl-legal-toc li { counter-increment: toc; margin:0 0 10px; }
.jl-legal-toc li a {
    display:flex; align-items:baseline; gap:10px;
    font-size:.88rem; line-height:1.5;
    color:#5B6675; text-decoration:none;
    transition: color .2s ease;
}
.jl-legal-toc li a::before {
    content: counter(toc, decimal-leading-zero);
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.72rem; font-weight:700;
    color:#5F4D40;
}
.jl-legal-toc li a:hover { color:#3E3228; }

.jl-legal-content h2 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size:1.5rem; font-weight:800; line-height:1.2;
    letter-spacing:-.01em; color:#3E3228;
    margin:48px 0 18px; padding-top:16px;
    border-top:1px solid #E8E4DC;
}
.jl-legal-content h2:first-of-type { margin-top:0; border-top:0; padding-top:0; }
.jl-legal-content h2 .num {
    font-family: var(--font-mono, 'Roboto', monospace);
    color:#5F4D40; font-size:1rem; font-weight:700;
    margin-right:12px; letter-spacing:.06em;
}
.jl-legal-content h3 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size:1.08rem; font-weight:700; color:#3E3228;
    margin:24px 0 10px;
}
.jl-legal-content p, .jl-legal-content ul {
    font-size:1rem; line-height:1.75; color:#3a3f4a;
    margin:0 0 16px;
}
.jl-legal-content ul { padding-left:22px; }
.jl-legal-content ul li { margin-bottom:8px; }
.jl-legal-content a { color:#5F4D40; text-decoration:underline; text-decoration-color:rgba(95, 77, 64, .35); }
.jl-legal-content a:hover { text-decoration-color:#5F4D40; }

.jl-legal-contact {
    margin-top:56px; padding:28px;
    background:#F4F6FA; border-left:3px solid #5F4D40;
    border-radius:4px;
}
.jl-legal-contact p { margin:0; color:#3a3f4a; font-size:.95rem; line-height:1.7; }
.jl-legal-contact strong { color:#3E3228; }

.jl-legal-cta {
    background:#3E3228; color:#fff;
    padding:64px 24px; text-align:center;
    position:relative; overflow:hidden;
}
.jl-legal-cta::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(560px 260px at 50% 0%, rgba(251,234,162,.22), transparent 60%);
    pointer-events:none;
}
.jl-legal-cta__inner { position:relative; z-index:1; max-width:640px; margin:0 auto; }
.jl-legal-cta h3 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    font-weight:800; line-height:1.15;
    margin:0 0 14px; color:#fff;
}
.jl-legal-cta p {
    color:rgba(255,255,255,.7); font-size:1rem; line-height:1.65;
    margin:0 0 24px;
}
.jl-legal-cta__btn {
    display:inline-block; padding:13px 26px;
    background:#efa749; color:#fff;
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.85rem; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    border-radius:4px; text-decoration:none;
    transition: transform .2s ease, background .2s ease;
}
.jl-legal-cta__btn:hover { transform: scale(1.04); background:#d98f34; color:#fff; }


/* ---------- sitemap ---------- */
.jl-sitemap { font-family: var(--font-body, 'Roboto', sans-serif); color:#3E3228; background:#fff; }
.jl-sitemap *, .jl-sitemap *::before, .jl-sitemap *::after { box-sizing:border-box; }

.jl-sitemap-hero {
    position:relative; background:#3E3228; color:#fff;
    padding:128px 24px 80px; overflow:hidden; min-height:420px;
}
.jl-sitemap-hero::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(720px 360px at 88% 12%, rgba(251,234,162,.2), transparent 60%),
                radial-gradient(560px 280px at 8% 92%, rgba(251,234,162,.1), transparent 65%);
    pointer-events:none;
}
.jl-sitemap-hero::after {
    content:''; position:absolute; inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 56px 56px; opacity:.35;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 40%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 40%, transparent 80%);
    pointer-events:none;
}
.jl-sitemap-hero__inner { position:relative; z-index:1; max-width:1160px; margin:0 auto; }
.jl-sitemap-breadcrumb {
    font-size:13px; letter-spacing:.04em; text-transform:uppercase;
    color:rgba(255,255,255,.65); margin-bottom:24px;
}
.jl-sitemap-breadcrumb a { color:rgba(255,255,255,.65); text-decoration:none; }
.jl-sitemap-breadcrumb a:hover { color:#fff; }
.jl-sitemap-breadcrumb .sep { margin:0 10px; opacity:.5; }
.jl-sitemap-hero h1 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight:800; line-height:1.05; letter-spacing:-.02em;
    margin:0 0 20px; color:#fff; max-width:18ch;
}
.jl-sitemap-hero h1 .accent { color:#5F4D40; }
.jl-sitemap-hero__desc {
    max-width:62ch; font-size:1.125rem; line-height:1.65;
    color:rgba(255,255,255,.72); margin:0 0 32px;
}
.jl-sitemap-hero__meta {
    display:flex; flex-wrap:wrap; gap:40px;
    padding-top:28px; border-top:1px solid rgba(255,255,255,.08);
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
    color:rgba(255,255,255,.55);
}
.jl-sitemap-hero__meta strong { color:#fbeaa2; font-weight:700; }

.jl-sitemap-body {
    max-width:1160px; margin:0 auto;
    padding:80px 24px 96px;
}
.jl-sitemap-group {
    padding-bottom:56px; margin-bottom:56px;
    border-bottom:1px solid #E8E4DC;
}
.jl-sitemap-group:last-child { border-bottom:0; margin-bottom:0; }
.jl-sitemap-group__head {
    display:flex; align-items:baseline; justify-content:space-between;
    margin-bottom:28px;
}
.jl-sitemap-group__head h2 {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size:1.6rem; font-weight:800; letter-spacing:-.01em;
    color:#3E3228; margin:0;
}
.jl-sitemap-group__head h2 .num {
    font-family: var(--font-mono, 'Roboto', monospace);
    color:#5F4D40; font-size:1rem; font-weight:700;
    letter-spacing:.06em; margin-right:12px;
}
.jl-sitemap-group__head .count {
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.82rem; color:#5B6675; letter-spacing:.04em;
}
.jl-sitemap-grid {
    display:grid; grid-template-columns: repeat(3, 1fr); gap:24px;
}
@media (max-width: 860px) { .jl-sitemap-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .jl-sitemap-grid { grid-template-columns: 1fr; } }
.jl-sitemap-link {
    display:block; padding:20px 22px;
    border:1px solid #E8E4DC; border-radius:6px;
    text-decoration:none; color:inherit;
    background:#fff;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.jl-sitemap-link:hover {
    border-color:#5F4D40; transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(62, 50, 40, .06);
}
.jl-sitemap-link__title {
    font-family: var(--font-heading, 'Roboto', sans-serif);
    font-size:1.05rem; font-weight:700; color:#3E3228;
    margin:0 0 6px; letter-spacing:-.005em;
}
.jl-sitemap-link:hover .jl-sitemap-link__title { color:#5F4D40; }
.jl-sitemap-link__desc {
    font-size:.85rem; line-height:1.55; color:#5B6675;
    margin:0;
}
.jl-sitemap-cat {
    margin-top:24px;
}
.jl-sitemap-cat h3 {
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:#5F4D40; margin:0 0 12px;
}
.jl-sitemap-cat ul {
    list-style:none; padding:0; margin:0;
    display:grid; grid-template-columns: repeat(2, 1fr); gap:8px 24px;
}
@media (max-width: 540px) { .jl-sitemap-cat ul { grid-template-columns: 1fr; } }
.jl-sitemap-cat li a {
    display:block; padding:6px 0;
    font-size:.92rem; color:#3a3f4a; text-decoration:none;
    border-bottom:1px dashed transparent;
    transition: color .2s ease, border-color .2s ease;
}
.jl-sitemap-cat li a:hover { color:#5F4D40; border-bottom-color:#5F4D40; }

.jl-sitemap-foot {
    background:#F4F6FA; padding:40px 24px;
    text-align:center;
}
.jl-sitemap-foot__inner { max-width:720px; margin:0 auto; }
.jl-sitemap-foot p {
    font-size:.95rem; line-height:1.65; color:#3a3f4a;
    margin:0 0 16px;
}
.jl-sitemap-foot code {
    display:inline-block; padding:6px 12px;
    background:#3E3228; color:#fbeaa2;
    font-family: var(--font-mono, 'Roboto', monospace);
    font-size:.78rem; letter-spacing:.04em;
    border-radius:3px;
}
.jl-sitemap-foot a { color:#5F4D40; text-decoration:none; font-weight:700; }
.jl-sitemap-foot a:hover { text-decoration:underline; }


/* ==========================================================================
   UNIFIED COMPONENT LAYER (DESIGN.md §3-§4) — JMSDECOR 全站统一 UI 重做
   追加于 2026-08-30。页面重做全部使用以下类名。
   ========================================================================== */

/* --- Token 扩展 (§3) --- */
:root {
  --section-pad: clamp(4rem, 8vw, 7rem);
  --container-pad: clamp(1.25rem, 4vw, 2rem);
  --card-radius: var(--primitive-radius-4);
  --btn-radius: 999px;
  --input-radius: var(--primitive-radius-3);
  --shadow-card: 0 1px 2px rgb(62 50 40 / 0.04), 0 8px 24px rgb(62 50 40 / 0.06);
  --shadow-card-hover: 0 2px 4px rgb(62 50 40 / 0.06), 0 16px 40px rgb(62 50 40 / 0.1);
  --heading-lh: 1.08;
  --body-lh: 1.65;
  --z-header: var(--primitive-z-header);
  --z-modal: var(--primitive-z-modal);
}

/* --- §4.1 区段骨架 --- */
.section--tight { padding-block: calc(var(--section-pad) / 2); }
.section--alt { background: var(--color-bg-soft); }
.section--dark {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
}
.section--dark .section-title,
.section--dark .section-lead { color: var(--color-text-inverse); }
.section--dark .section-eyebrow { color: var(--color-primary); border-color: var(--color-gold); }

.section-head {
  max-width: 72ch;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.section-head + .bento-grid,
.section-head + .grid-3,
.section-head + .spec-table,
.section-head + .spec-grid { margin-top: 0; }

.section-eyebrow {
  display: inline-block;
  margin-bottom: 0.85rem;
  padding: 0.3rem 0.8rem;
  border: 1px solid var(--color-gold);
  border-radius: var(--radius-full);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary);
  background: var(--color-gold);
}
.section-eyebrow--plain { border: 0; padding: 0; background: transparent; }

.section-title {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading);
  font-size: var(--primitive-text-3xl);
  font-weight: 800;
  line-height: var(--heading-lh);
  letter-spacing: -0.01em;
  color: var(--color-heading);
}

.section-lead {
  margin: 0;
  max-width: 65ch;
  font-size: var(--primitive-text-lg);
  line-height: var(--body-lh);
  color: var(--color-text-muted);
}

/* --- §4.3 卡片 --- */
.bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.4vw, 1.5rem);
}
.bento-grid > .bento-cell,
.bento-grid > .prod-card,
.bento-grid > .case-card,
.bento-grid > .persona-card,
.bento-grid > .testi-card,
.bento-grid > .stat-card { min-width: 0; }
.bento-grid > .bento-media,
.bento-grid > figure,
.bento-grid > .bento-dark {
  margin: 0;
  border-radius: var(--card-radius);
  overflow: hidden;
}
.bento-grid > figure img,
.bento-grid > .bento-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bento-grid > .bento-dark {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.75rem;
}
.bento-dark .section-title { margin: 0; font-size: var(--primitive-text-xl); }

.prod-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.4s var(--primitive-ease-smooth);
}
.prod-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: var(--color-border-strong); }
.prod-card__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.prod-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--primitive-ease-smooth); }
.prod-card:hover .prod-card__media img { transform: scale(1.03); }
.prod-card__body { padding: 1.25rem 1.35rem 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
.prod-card__title { margin: 0; font-family: var(--font-heading); font-size: 1.15rem; font-weight: 700; color: var(--color-heading); }
.prod-card__desc { margin: 0; font-size: 0.9rem; line-height: 1.6; color: var(--color-text-muted); }

.stat-card {
  padding: clamp(1.5rem, 2.6vw, 2rem);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
}
.stat-card [data-count] {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--font-heading);
  font-size: clamp(2.2rem, 3.4vw, 2.9rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-heading);
}
.stat-card__label { margin: 0 0 0.35rem; font-size: 0.95rem; font-weight: 700; color: var(--color-heading); }
.stat-card__note { margin: 0; font-size: 0.85rem; line-height: 1.6; color: var(--color-text-muted); }

.persona-card {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: clamp(1.5rem, 2.6vw, 2rem);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.4s var(--primitive-ease-smooth);
}
.persona-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: var(--color-border-strong); }
.persona-card__icons { display: flex; gap: 0.5rem; }
.persona-card__icons svg { width: 22px; height: 22px; color: var(--color-primary); }
.persona-card h3 { margin: 0; font-family: var(--font-heading); font-size: 1.15rem; font-weight: 700; color: var(--color-heading); }
.persona-card > p { margin: 0; font-size: 0.9rem; line-height: 1.65; color: var(--color-text-muted); }

.case-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth);
}
.case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.case-card__media { aspect-ratio: 16 / 10; overflow: hidden; }
.case-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--primitive-ease-smooth); }
.case-card:hover .case-card__media img { transform: scale(1.03); }
.case-card__body { padding: 1.25rem 1.35rem 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
.case-card__tag {
  align-self: flex-start;
  padding: 0.25rem 0.7rem;
  border-radius: var(--radius-full);
  background: var(--color-primary-ghost);
  color: var(--color-primary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.case-card__title { margin: 0; font-family: var(--font-heading); font-size: 1.05rem; font-weight: 700; color: var(--color-heading); }
.case-card__desc { margin: 0; font-size: 0.9rem; line-height: 1.6; color: var(--color-text-muted); }

.testi-card {
  padding: clamp(1.5rem, 2.6vw, 2rem);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.testi-card__quote { margin: 0; font-size: 0.95rem; line-height: 1.7; color: var(--color-text); }
.testi-card__author { display: flex; flex-direction: column; gap: 0.15rem; }
.testi-card__author b { font-size: 0.88rem; color: var(--color-heading); }
.testi-card__author span { font-size: 0.78rem; color: var(--color-text-muted); }

/* --- §4.5 其他组件 --- */
.check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.check-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--color-text);
}
.check-list li svg { flex-shrink: 0; width: 18px; height: 18px; margin-top: 0.15rem; color: var(--color-primary); }

.spec-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.spec-table th, .spec-table td {
  padding: 0.85rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}
.spec-table th { font-weight: 700; color: var(--color-heading); white-space: nowrap; width: 34%; }
.spec-table td { color: var(--color-text); line-height: 1.6; }
.spec-table tr:last-child th, .spec-table tr:last-child td { border-bottom: 0; }
.spec-group { margin: 2.2rem 0 0.9rem; font-family: var(--font-heading); font-size: 1rem; font-weight: 700; color: var(--color-heading); }
.spec-group:first-child { margin-top: 0; }

.spec-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.4vw, 1.5rem);
}
.spec-grid__item {
  padding: clamp(1.25rem, 2.4vw, 1.75rem);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
}
.spec-grid__name { margin: 0 0 0.3rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-muted); }
.spec-grid__value { margin: 0 0 0.4rem; font-family: var(--font-heading); font-size: clamp(1.35rem, 2.2vw, 1.7rem); font-weight: 800; color: var(--color-heading); }
.spec-grid__note { margin: 0; font-size: 0.85rem; line-height: 1.6; color: var(--color-text-muted); }

.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; counter-reset: step; }
.steps li {
  position: relative;
  padding: 1.4rem 0 1.4rem 3.4rem;
  border-bottom: 1px solid var(--color-border);
  counter-increment: step;
}
.steps li:last-child { border-bottom: 0; }
.steps li::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 1.35rem;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  color: var(--color-primary);
}
.steps__title { display: block; margin: 0 0 0.3rem; font-size: 1rem; font-weight: 700; color: var(--color-heading); }
.steps__desc { display: block; margin: 0; font-size: 0.9rem; line-height: 1.6; color: var(--color-text-muted); }

.form-card {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}
.form-card .wpcf7-form { display: grid; gap: 1.1rem; }
.form-card label { display: grid; gap: 0.4rem; font-size: 0.85rem; font-weight: 700; color: var(--color-heading); }
.form-card input[type='text'],
.form-card input[type='email'],
.form-card input[type='tel'],
.form-card input[type='url'],
.form-card select,
.form-card textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--input-radius);
  background: var(--color-surface);
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--color-text);
  transition: border-color var(--primitive-duration-fast), box-shadow var(--primitive-duration-fast);
}
.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--shadow-focus);
}
.form-card textarea { min-height: 120px; resize: vertical; }
.form-card .btn-primary { justify-self: start; }

/* --- 按钮浅色区段 ghost 变体 (§4.2) --- */
.btn-ghost--ink {
  background: var(--color-heading);
  color: var(--color-text-inverse);
  border-color: var(--color-heading);
}
.btn-ghost--ink:hover {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
  border-color: var(--color-surface-dark);
}

/* --- 页头 breadcrumbs (§4.5 page-hero) --- */
.page-hero .breadcrumbs { margin: 0 0 1.25rem; font-size: 0.8rem; color: var(--color-text-muted); }
.page-hero .breadcrumbs a { color: var(--color-text-muted); text-decoration: none; }
.page-hero .breadcrumbs a:hover { color: var(--color-primary); }

/* --- 响应式 (§10) --- */
@media (min-width: 640px) {
  .bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
}
@media (min-width: 1024px) {
  .bento-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .spec-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .bento-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bento-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .spec-table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* ==========================================================================
   HOME 样板补充（.page-hero--home / persona-card 链接态 / cta-band 布局等）
   ========================================================================== */

/* --- 首页深色大图 hero --- */
.page-hero--home {
  position: relative;
  padding-block: clamp(5.5rem, 10vw, 9rem);
  background:
    linear-gradient(100deg, rgb(62 50 40 / 0.9) 0%, rgb(62 50 40 / 0.72) 48%, rgb(62 50 40 / 0.45) 100%),
    url('https://jmsdecor.com/wp-content/uploads/2025/08/3d-print-stone-panel-scaled.jpg') center / cover no-repeat;
  color: var(--color-text-inverse);
}
.jms-home .page-hero--home h1 {
  max-width: 22ch;
  margin: 0 0 1.1rem;
  color: var(--color-text-inverse);
  font-size: clamp(3rem, 5.5vw, 4.5rem);
  font-weight: 900;
  line-height: 1.08;
  text-wrap: balance;
}
.page-hero--home .section-lead { color: rgb(255 255 255 / 0.85); font-size: clamp(1.05rem, 1.6vw, 1.25rem); }
.page-hero--home .check-list { margin: 1.8rem 0 2.3rem; }
.page-hero--home .check-list li { color: rgb(255 255 255 / 0.94); font-size: 1.05rem; }
.page-hero--home .check-list li svg { width: 27px; height: 27px; color: var(--color-btn); margin-top: 0; }
.page-hero--home .btn { min-height: 56px; padding: 0.95rem 2.7rem; font-size: 1.02rem; letter-spacing: 2.5px; }
.page-hero__inner { max-width: 64ch; }
.page-hero--home .page-hero__accent { background: var(--color-btn); }

/* --- persona-card 链接态 / 图 --- */
a.persona-card { text-decoration: none; color: inherit; }
a.persona-card h3, a.persona-card p { color: inherit; }
a.persona-card p { color: var(--color-text-muted); }
.persona-card__media { margin: 0; aspect-ratio: 16 / 10; border-radius: var(--radius-md); overflow: hidden; }
.persona-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- case-card 链接态 --- */
a.case-card { text-decoration: none; color: inherit; }
a.case-card__title { color: inherit; }

/* --- bento 内 figure 图片比例 --- */
.bento-grid > figure.bento-media { aspect-ratio: 4 / 5; }
.bento-grid > figure.bento-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- faq-stack 独立单元格 --- */
.bento-grid > .faq-stack { align-self: start; }
.faq-stack { display: grid; gap: 0.65rem; }

/* --- CTA band 布局 --- */
.cta-band {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.cta-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  align-items: center;
  gap: clamp(1.5rem, 3.5vw, 3.5rem);
}
.cta-band__copy { padding: clamp(2rem, 4.5vw, 3.5rem); }
.cta-band__copy h2 { margin: 0 0 1.4rem; font-size: var(--primitive-text-3xl); }
.cta-band__media { width: 100%; height: 100%; min-height: 240px; object-fit: cover; display: block; }

/* CTA 变体 A：深色带（默认，与首页 hero 首尾呼应） */
.cta-band--dark {
  background: var(--color-surface-dark);
  border-radius: 0;
}
.cta-band--dark .cta-band__copy h2 { color: var(--color-text-inverse); }
.cta-band--dark .cta-band__copy .btn { margin-top: 0.5rem; }

/* CTA 变体 B：浅色带（浅灰底 + 实心蓝按钮） */
.cta-band--light {
  background: var(--color-bg-soft);
  border-radius: var(--card-radius);
}
.cta-band--light .cta-band__copy h2 { color: var(--color-heading); }

/* --- 表单区块（#form-section 着陆目标） --- */
#form-section { scroll-margin-top: 90px; }

/* ==========================================================================
   HOME 重设计补充（2026-08-31）：card-index 编号 / hero 装饰 / 弹窗 CTA
   ========================================================================== */

/* --- 卡片编号（mono 小号宽字距，每 bento-grid 独立计数） --- */
.bento-grid { counter-reset: card; }
.prod-card, .persona-card, .case-card { counter-increment: card; }
.card-index {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1;
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}
.card-index::before { content: counter(card, decimal-leading-zero); }

/* 媒体图上的编号：深色底白字徽标，左上角 */
.prod-card__media .card-index {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.6rem;
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
  border-radius: var(--primitive-radius-2, 4px);
  letter-spacing: 0.12em;
}

/* 正文内编号：品牌蓝，置于标题上方 */
.persona-card > .card-index,
.case-card__body > .card-index {
  display: block;
  margin-bottom: 0.1rem;
}

/* --- 首页 hero 顶部装饰条 --- */
.page-hero--home .page-hero__accent {
  position: absolute;
  top: 0;
  left: 0;
  width: min(140px, 28vw);
  height: 4px;
  background: var(--color-primary);
  z-index: 1;
}

/* --- hero CTA 布局 --- */
.page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
}

/* --- CTA band 弹窗触发器（按钮态，全站 btn 样式统一） --- */
.cta-band__copy .btn { align-self: flex-start; }

/* --- Blog 动态区块（latest_posts 短代码输出卡） --- */
.latest-posts {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.4vw, 1.5rem);
}
@media (min-width: 640px) {
  .latest-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .latest-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.latest-posts .lp-card,
.latest-posts > article,
.latest-posts > .gs-post-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth);
}
.latest-posts .lp-card:hover,
.latest-posts > article:hover,
.latest-posts > .gs-post-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}
.latest-posts img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}
.latest-posts h3,
.latest-posts .lp-card__title,
.latest-posts .gs-post-card__title {
  margin: 0;
  padding: 1rem 1.25rem 0;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-heading);
}
.latest-posts .lp-card__excerpt,
.latest-posts .gs-post-card__excerpt,
.latest-posts p {
  margin: 0;
  padding: 0.5rem 1.25rem 1.25rem;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}

/* --- Blog 动态区块 .insight-card 适配（[latest_posts] 短代码实际输出） --- */
.latest-posts .insight-card {
  height: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface);
  overflow: hidden;
  box-shadow: none;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.3s var(--primitive-ease-smooth);
}
.latest-posts .insight-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-accent);
  box-shadow: var(--shadow-card-hover);
}
.latest-posts .insight-card__media {
  height: auto;
  width: 100%;
  aspect-ratio: 16 / 10;
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
}
.latest-posts .insight-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: 1rem 1.25rem 1.25rem;
}
.latest-posts .card-tag {
  margin: 0 0 0.5rem;
  font-size: 0.68rem;
}
.latest-posts .insight-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.latest-posts .insight-card__copy {
  margin: 0.4rem 0 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}
.latest-posts .card-cta {
  margin-top: auto;
  padding-top: 0.9rem;
  font-size: 0.75rem;
}

/* --- FAQ: ≥1024px 双列手风琴、home bento 单元格跨列、文字防溢出 --- */
@media (min-width: 1024px) {
  .faq-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
  }
  .faq-stack details {
    min-width: 0;
  }
  .faq-stack details:nth-child(odd):last-child {
    grid-column: 1 / -1;
  }
  .bento-grid > .faq-stack {
    grid-column: span 2;
  }
}
@media (max-width: 1023.98px) {
  .faq-stack {
    grid-template-columns: 1fr;
  }
}
.faq-stack summary,
.faq-stack__answer {
  min-width: 0;
  overflow-wrap: break-word;
}

/* ==========================================================================
   JMS HOME page skin（首页专属 UI，2026-08-31 改版）
   作用域限定在 .jms-home 内；只改样式，内容/文案/图片一律不动
   品牌：#5f4d40 深棕 / #fbeaa2 奶油黄 / #efa749 橙  ·  字体 Roboto
   ========================================================================== */

/* --- prod-card 缩略图条（产品卡下方 5 图预览行） --- */
.jms-home .prod-card__thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0.25rem 1.35rem 0;
}
.jms-home .prod-card__thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

/* --- WHY 图片墙（3 列，手机 2 列） --- */
.jms-home .why-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.25rem);
  margin-top: clamp(2rem, 4vw, 3rem);
}
.jms-home .why-gallery figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--card-radius);
  overflow: hidden;
}
.jms-home .why-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.jms-home .why-gallery figure:hover img { transform: scale(1.04); }
@media (max-width: 767px) {
  .jms-home .why-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- FAQ：米色分区 + 白色卡片手风琴（与 Blog 白色分区明确分隔） --- */
.jms-home .faq-section {
  background: #F6F1E8;
  border-top: 1px solid rgb(95 77 64 / 0.08);
  border-bottom: 1px solid rgb(95 77 64 / 0.08);
}
.jms-home .faq-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: start;
}
@media (max-width: 1023px) {
  .jms-home .faq-cols { grid-template-columns: 1fr; }
}
.jms-home .faq-col { display: grid; gap: 1rem; }

.jms-home .faq-section details {
  background: #ffffff;
  border: 1px solid rgb(95 77 64 / 0.12);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgb(62 50 40 / 0.06);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.jms-home .faq-section details:hover {
  border-color: rgb(95 77 64 / 0.3);
  box-shadow: 0 16px 40px rgb(62 50 40 / 0.1);
}
.jms-home .faq-section details[open] {
  border-color: rgb(239 167 73 / 0.55);
  box-shadow: 0 16px 40px rgb(62 50 40 / 0.1);
}
.jms-home .faq-section summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 3.4rem 1.25rem 1.5rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.45;
  color: var(--color-heading);
}
.jms-home .faq-section summary::-webkit-details-marker { display: none; }
.jms-home .faq-section summary::before {
  content: '?';
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-gold);
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
.jms-home .faq-section summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 1.35rem;
  translate: 0 -50%;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgb(95 77 64 / 0.08);
  color: var(--color-primary);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}
.jms-home .faq-section details[open] summary::after {
  content: '−';
  transform: rotate(180deg);
  background: var(--color-btn);
  color: #ffffff;
}
.jms-home .faq-section details[open] summary { color: var(--color-primary); }
.jms-home .faq-section .faq-stack__answer {
  padding: 0 1.6rem 1.4rem 4.7rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.75;
}
.jms-home .faq-stack__answer p { margin: 0 0 0.7em; }
.jms-home .faq-stack__answer p:last-child { margin-bottom: 0; }
.jms-home .faq-stack__answer ul {
  margin: 0 0 0.7em;
  padding-left: 1.2em;
  color: var(--color-text-muted);
}
.jms-home .faq-stack__answer li { margin-bottom: 0.35em; line-height: 1.7; }

/* --- CTA band：全宽深棕渐变（无圆角无两侧留白） --- */
.jms-home .cta-band--dark {
  background: linear-gradient(115deg, var(--color-primary-strong) 0%, var(--color-primary) 100%);
  border-radius: 0;
}
.jms-home .cta-band--dark .cta-band__copy h2 {
  color: #ffffff;
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
}
.jms-home .cta-band__copy .btn {
  min-height: 54px;
  padding: 0.9rem 2.5rem;
  font-size: 1rem;
  letter-spacing: 2px;
}

/* --- Blog：修复 [latest_posts] 嵌套 grid 塌缩（.latest-posts 3 列再包 .grid-3 3 列 → 9 列 bug） --- */
.latest-posts > .grid-3 {
  grid-column: 1 / -1;
}
@media (max-width: 1023.98px) {
  .latest-posts > .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639.98px) {
  .latest-posts > .grid-3 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   JMS DECOR 品牌色全局兜底（2026-08-31）
   目的：压过 Elementor Kit（post-6.css）默认蓝色 #4682B4/#708090，
   全站统一：主色 #5f4d40 / 副色 #fbeaa2 / 按钮 #efa749 / 字体 Roboto
   ========================================================================== */

/* 1) Elementor Kit 全局变量 → 品牌色（特异性高于 kit 自身的 .elementor-kit-6 定义） */
body.elementor-kit-6 {
  --e-global-color-primary: #5f4d40;
  --e-global-color-secondary: #6B6157;
  --e-global-color-text: #6B6157;
  --e-global-color-accent: #efa749;
  --e-global-color-8c890e0: #6B6157;
  --e-global-color-24d9bad: #5f4d40;
  --e-global-color-c3a8070: #3E3228;
  --e-global-color-dc36d7b: #3E3228;
  --e-global-color-6482264: #F7F3EC;
  --e-global-typography-primary-font-family: 'Roboto', sans-serif;
  --e-global-typography-secondary-font-family: 'Roboto', sans-serif;
  --e-global-typography-text-font-family: 'Roboto', sans-serif;
  --e-global-typography-accent-font-family: 'Roboto', sans-serif;
}

/* 2) 按钮文字颜色：橙色实底按钮一律白字；描边按钮深棕字（不受 Elementor a 影响） */
html body .btn-primary,
html body .btn-primary:visited,
html body .btn-primary:hover,
html body .btn-primary:focus {
  color: #ffffff;
}
html body .btn-outline,
html body .btn-outline:visited {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
html body .btn-outline:hover,
html body .btn-outline:focus {
  color: #ffffff;
}

/* 3) 页脚链接：深棕底上必须白色系 */
html body .site-footer a {
  color: rgba(255, 255, 255, 0.86);
}
html body .site-footer a:hover {
  color: #ffffff;
}

/* 4) 弹窗表单（#site-footer-inquiry-modal）：标题白字、输入框品牌描边、提交按钮橙底白字 */
html body .site-footer-modal__title {
  color: #ffffff;
}
html body .site-footer-modal__form-shell input[type='text'],
html body .site-footer-modal__form-shell input[type='email'],
html body .site-footer-modal__form-shell input[type='tel'],
html body .site-footer-modal__form-shell input[type='number'],
html body .site-footer-modal__form-shell input[type='url'],
html body .site-footer-modal__form-shell select,
html body .site-footer-modal__form-shell textarea {
  border-color: #E3DDD3;
  background: #FAF8F4;
  color: #3E3228;
}
html body .site-footer-modal__form-shell input:focus,
html body .site-footer-modal__form-shell select:focus,
html body .site-footer-modal__form-shell textarea:focus {
  border-color: rgba(191, 146, 39, 0.72);
  background: #ffffff;
}
/* Select chevron: re-apply after the background shorthand above */
html body .site-footer-modal__form-shell select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B6157' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  padding-right: 2.6rem;
  cursor: pointer;
}
html body .site-footer-modal__form-shell select:focus {
  background-color: #ffffff;
}
html body .site-footer-modal__form-shell .wpcf7-submit,
html body .site-footer-modal__form-shell input[type='submit'],
html body .site-footer-modal__form-shell button[type='submit'] {
  background: linear-gradient(135deg, var(--color-btn) 0%, var(--color-btn-hover) 100%);
  border: 0;
  color: #ffffff;
}
html body .site-footer-modal__form-shell .wpcf7-submit:hover,
html body .site-footer-modal__form-shell input[type='submit']:hover,
html body .site-footer-modal__form-shell button[type='submit']:hover {
  background: linear-gradient(135deg, var(--color-btn-hover) 0%, #b8762a 100%);
  color: #ffffff;
}

/* 5) 即时聊天（Click to Chat 插件）：灰色气泡 → 品牌橙底白字 */
.ht-ctc .ctc_chip {
  background-color: var(--color-btn) !important;
  border-color: var(--color-btn) !important;
  color: #ffffff !important;
}
.ht-ctc .ctc_chip:hover {
  background-color: var(--color-btn-hover) !important;
  border-color: var(--color-btn-hover) !important;
}
.ht-ctc .ctc_chip .s4_img svg,
.ht-ctc .ctc_chip .s4_img svg * {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* ==========================================================================
   JMS DECOR 品牌第二轮修复（2026-08-31）
   1) 移除底部橙色 chip（与聊天窗口重复，用户确认删除）
   2) 弹窗表单左侧列表圆点 → 橙色高亮
   3) CookieYes 同意弹窗 → 品牌色
   4) FAQ 分区 → 品牌副色 #fbeaa2，与上方 WHY JMS 米色分区明确区分
   5) 第二个板块起标题加大并居中（hero 与 WHY 分栏布局除外）
   6) 全部按钮文字加粗至 800，描边按钮加粗边框
   7) WHY JMS 分区：左图右文分栏布局
   ========================================================================== */

/* 1) 底部橙色 chip 移除（ht_ctc 插件输出，聊天窗口已覆盖 WhatsApp/WeChat） */
#ht-ctc-chat {
  display: none !important;
}

/* 2) 弹窗表单列表圆点：深棕底上 → 橙色高亮圆点 + 光晕 */
html body .site-footer-modal__checklist li::before {
  width: 0.5rem;
  height: 0.5rem;
  top: 0.56rem;
  background: #efa749;
  box-shadow: 0 0 0 4px rgb(239 167 73 / 0.2);
}

/* 3) CookieYes 同意弹窗 → 品牌色 */
.cky-btn-revisit-wrapper { background-color: #5f4d40 !important; }
.cky-btn-accept {
  background-color: #efa749 !important;
  border-color: #efa749 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
.cky-btn-accept:hover { background-color: #dd8f2e !important; border-color: #dd8f2e !important; }
.cky-btn-reject,
.cky-btn-customize,
.cky-btn-preferences {
  color: #5f4d40 !important;
  border-color: #5f4d40 !important;
  background-color: #ffffff !important;
  font-weight: 700 !important;
}
.cky-show-desc-btn,
.cky-accordion-btn { color: #5f4d40 !important; }
.cky-title,
.cky-notice-des,
.cky-preference-title,
.cky-preference-content-wrapper { color: #3E3228 !important; }
.cky-btn-revisit-wrapper .cky-btn-revisit { color: #ffffff !important; }

/* 4) FAQ 分区：品牌副色 #fbeaa2 底 + 白色卡片（与上方 #F7F3EC 米色分区明确区分） */
.jms-home .faq-section {
  background: #fbeaa2;
  border-top: 1px solid rgb(95 77 64 / 0.14);
  border-bottom: 1px solid rgb(95 77 64 / 0.14);
}
.jms-home .faq-section .section-eyebrow {
  background: #ffffff;
  border-color: rgb(95 77 64 / 0.22);
  color: #5f4d40;
}
.jms-home .faq-section .section-title { color: #5f4d40; }
.jms-home .faq-section details {
  background: #ffffff;
  border: 1px solid rgb(95 77 64 / 0.14);
  box-shadow: 0 12px 34px rgb(62 50 40 / 0.12);
}
.jms-home .faq-section summary::before {
  background: #ffffff;
  border: 1px solid rgb(95 77 64 / 0.18);
  color: #5f4d40;
}
.jms-home .faq-section summary::after { color: #5f4d40; }

/* 5) 第二个板块起：标题加大、整组居中（产品/方案/市场/FAQ/Blog） */
.jms-home .section-head { text-align: center; }
.jms-home .section-head .section-eyebrow { margin-inline: auto; }
.jms-home .section-head .section-lead { margin-inline: auto; }
.jms-home .section:not(.why-split-section) .section-title {
  font-size: clamp(2.35rem, 3.8vw, 3.3rem);
}

/* 6) 按钮：全部加粗 800；描边按钮 2px 边框更醒目 */
html body .btn,
html body .button,
html body button[type='submit'],
html body input[type='submit'] {
  font-weight: 800;
}
html body .btn-outline,
html body .btn-secondary {
  border-width: 2px;
}
html body .btn-outline:hover,
html body .btn-outline:focus {
  border-width: 2px;
}
.jms-home .latest-posts .card-cta {
  font-weight: 800;
  font-size: 0.78rem;
}

/* 7) WHY JMS：左图右文分栏 */
.jms-home .why-split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
}
.jms-home .why-split__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.75rem, 1.6vw, 1.1rem);
}
.jms-home .why-split__media figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--card-radius);
  overflow: hidden;
  background: var(--color-border);
}
.jms-home .why-split__media figure:nth-child(1) { grid-row: span 2; aspect-ratio: auto; min-height: 100%; }
.jms-home .why-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.jms-home .why-split__media figure:hover img { transform: scale(1.04); }
.jms-home .why-split__content .section-title {
  font-size: clamp(2.35rem, 3.8vw, 3.3rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.jms-home .why-split__list {
  list-style: none;
  margin: 0 0 clamp(1.6rem, 3vw, 2.2rem);
  padding: 0;
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
}
.jms-home .why-split__list li {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.jms-home .why-split__num {
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fbeaa2;
  border: 1px solid rgb(95 77 64 / 0.18);
  color: #5f4d40;
  font-weight: 800;
  font-size: 0.85rem;
  letter-spacing: 0.03em;
}
.jms-home .why-split__list h3 {
  margin: 0 0 0.3rem;
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading);
}
.jms-home .why-split__list p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.65;
  color: var(--color-text-muted);
}
@media (max-width: 1023px) {
  .jms-home .why-split {
    grid-template-columns: 1fr;
  }
  .jms-home .why-split__media figure:nth-child(1) { grid-row: auto; aspect-ratio: 4 / 3; min-height: 0; }
  .jms-home .why-split__content { order: -1; }
}

/* ============================================================
   JMS DECOR 品牌第三轮修复（2026-08-31）
   Logo 白色剪影：品牌原 logo 为蓝白建筑图标（生产站同款），
   按"全站去蓝"要求用 CSS 转为白剪影，适配深棕底
   （header 顶部导航 + footer 两处，不动图片文件）
   ============================================================ */
.site-footer__brand-logo,
.site-branding__logo {
  filter: brightness(0) invert(1);
}

/* ============================================================
   JMS DECOR 品牌第四轮修复（2026-08-31）
   卡片按钮严格底部对齐：PRODUCTS 三卡 + SOLUTIONS 三卡
   （body 撑满等高，按钮 margin-top:auto 贴底；
    PRODUCTS 缩略图行视觉移到按钮上方，保证三卡按钮同一水平线）
   ============================================================ */
.jms-home .prod-card { height: 100%; }
.jms-home .prod-card__body { flex: 1; }
.jms-home .prod-card__body .btn { order: 6; margin-top: auto; }
.jms-home .prod-card__thumbs { order: 5; margin-top: 1rem; }
.jms-home .persona-card { height: 100%; }
.jms-home .persona-card > .btn { margin-top: auto; }

/* ============================================================
   JMS DECOR 品牌第五轮修复（2026-08-31）
   section-head 标题块真正居中：
   根因 = .section-head max-width:72ch 但无 margin auto，
   导致标题+副标题整体左对齐在容器内（右侧大片空白），
   用户红框标注的正是这块空白。加 margin-inline:auto 居中。
   ============================================================ */
.jms-home .section-head { margin-inline: auto; }

/* ============================================================
   JMS DECOR 品牌第六轮修复（2026-08-31）
   Footer 重构：Contact 移到最右列 + Quick Links 精简
   + 语言切换器从右下角浮动移到 header 导航（Contact 之后）
   ============================================================ */
/* Footer 顶部 3 列：品牌 | 菜单(4列) | Contact 右列 */
.site-footer__top {
  grid-template-columns: 270px minmax(0, 1fr) minmax(230px, 260px);
}

/* Contact 右列细节 */
.site-footer__menu-group--contact {
  align-self: start;
}

.site-footer__contact-list {
  display: grid;
  gap: 0.65rem;
  font-size: 13px;
  line-height: 1.6;
}

.site-footer__contact-list a {
  color: rgba(255, 255, 255, 0.86);
}

.site-footer__contact-list a:hover {
  color: var(--color-primary);
}

/* 禁用 TranslatePress 右下角浮动语言切换器（顶部自写 site-nav 语言菜单保留） */
/* v2 浮动切换器真实类名：nav.trp-language-switcher.trp-floating-switcher.trp-switcher-position-bottom */
nav.trp-floating-switcher,
.trp-floating-switcher,
.trp-switcher-position-bottom,
.trp-language-switcher-container {
  display: none !important;
}
/* 兼容旧版 v1 类名 */
.trp-floater-ls-names,
.trp-floater-ls-flags,
.trp-floater-ls {
  display: none !important;
}

/* header 语言切换器（导航 Contact 之后） */
.site-nav__lang-flag {
  font-size: 15px;
  line-height: 1;
}

.site-nav__lang > .site-nav__dropdown {
  left: auto;
  right: 0;
}

.site-nav__lang-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

.site-nav__lang-option.is-current {
  color: var(--color-primary);
  font-weight: 700;
}

/* <1024px：footer 3 列 → 1 列，Contact 自然排到最下方 */
@media (max-width: 1024px) {
  .site-footer__top {
    grid-template-columns: 1fr;
  }

  .site-footer__menu-group--contact {
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
}

/* 移动端抽屉内语言切换器（浮动切换器已禁用） */
.site-mobile-nav__lang {
  padding: 1.25rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-mobile-nav__lang-title {
  margin-bottom: 0.6rem;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
}

.site-mobile-nav__lang-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-mobile-nav__lang-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.86);
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.site-mobile-nav__lang-link:hover {
  color: #ffffff;
}

.site-mobile-nav__lang-link.is-current {
  color: var(--color-primary);
  font-weight: 700;
}

/* ============================================================
   JMS DECOR 品牌第七轮修复（2026-08-31）
   About / Contact 页 UI 更新（内容与图片逐字不动，仅布局组件化）
   ============================================================ */
/* Hero：顶部让位固定 header（92px）+ 恢复被旧皮肤隐藏的 .page-title */
.jms-about .inner-page-hero,
.jms-contact .inner-page-hero {
  padding-top: clamp(8rem, 18vh, 11rem);
  padding-bottom: clamp(4.5rem, 9vh, 6.5rem);
}

.jms-about .page-title,
.jms-contact .page-title {
  display: block !important;
}

.jms-about .inner-page-hero .page-title,
.jms-contact .inner-page-hero .page-title {
  max-width: 34ch;
  margin-bottom: 1.4rem;
  font-size: clamp(2.3rem, 4.6vw, 3.4rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.jms-about .inner-page-hero .hero-grid,
.jms-contact .inner-page-hero .hero-grid {
  justify-items: center;
  align-items: center;
  text-align: center;
}

.jms-about .inner-page-hero .hero-copy,
.jms-contact .inner-page-hero .hero-copy {
  margin-inline: auto;
}

.jms-about .inner-page-hero__actions,
.jms-contact .inner-page-hero__actions {
  display: flex;
  justify-content: center;
}

/* 页面级 section-head 居中（Home 同款） */
.jms-about .section-head,
.jms-contact .section-head {
  margin-inline: auto;
  text-align: center;
}

.jms-about .section-head .section-title,
.jms-contact .section-head .section-title {
  margin-inline: auto;
}

/* About：Factory 正文窄列居中 */
.about-factory-copy {
  max-width: 76ch;
  margin: 0 auto 2rem;
}

.about-factory-actions {
  margin-top: 1.6rem;
  text-align: center;
}

/* About：4 价值点卡片 */
.about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.about-value-card {
  padding: 1.75rem 1.5rem;
  border: 1px solid rgba(95, 77, 64, 0.16);
  border-radius: var(--radius-lg, 14px);
  background: #ffffff;
  transition: transform var(--transition-fast, 0.2s ease), box-shadow var(--transition-fast, 0.2s ease);
}

.about-value-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(95, 77, 64, 0.12);
}

.about-value-card svg {
  display: block;
  width: 2.1rem;
  height: 2.1rem;
  margin-bottom: 1.1rem;
  color: var(--color-primary, #5f4d40);
  fill: currentColor;
}

.about-value-card h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  line-height: 1.4;
}

.about-value-card p {
  margin: 0;
  color: var(--color-text-muted, #6b6157);
}

/* About：Founder 文本列 */
.about-founder-copy .section-title {
  margin-bottom: 1.25rem;
}

/* About：Team 头像卡 */
.about-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.about-team-card {
  text-align: center;
}

.about-team-card figure {
  margin: 0 0 1rem;
  border-radius: var(--radius-lg, 14px);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--color-bg-muted, #f4f1ec);
}

.about-team-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-team-card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

/* About：Why Partner 2x2 卡片 */
.about-why-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.about-why-card {
  padding: 1.75rem 1.75rem;
  border: 1px solid rgba(95, 77, 64, 0.16);
  border-left: 3px solid var(--color-primary, #5f4d40);
  border-radius: var(--radius-lg, 14px);
  background: #ffffff;
}

.about-why-card h3 {
  margin: 0 0 0.6rem;
  font-size: 1.1rem;
}

.about-why-card p {
  margin: 0;
  color: var(--color-text-muted, #6b6157);
}

/* About：CTA 无媒体图时单列居中 */
.jms-about .cta-band__inner {
  grid-template-columns: minmax(0, 1fr);
}

.jms-about .cta-band__copy {
  text-align: center;
}

.jms-about .cta-band__copy p {
  max-width: 60ch;
  margin: 0 auto 1.5rem;
  color: rgba(255, 255, 255, 0.88);
}

/* Contact：信息双卡 */
.contact-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.contact-panel {
  padding: 2.5rem;
  border: 1px solid rgba(95, 77, 64, 0.16);
  border-radius: var(--radius-lg, 14px);
  background: #ffffff;
}

.contact-info-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.9rem;
}

.contact-info-list li {
  position: relative;
  padding-left: 1.6rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-heading, #3d2b1f);
}

.contact-info-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--color-primary, #5f4d40);
}

.contact-address {
  margin: 0 0 1.25rem;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--color-heading, #3d2b1f);
}

.contact-qr svg {
  display: block;
  width: 3rem;
  height: 3rem;
  color: var(--color-primary, #5f4d40);
  fill: currentColor;
}

/* 响应式：About/Contact 网格 */
@media (max-width: 1024px) {
  .about-values-grid,
  .about-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-origin-intro,
  .page-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .about-values-grid,
  .about-team-grid,
  .about-why-grid,
  .contact-layout {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   ROUND 8 — 2026-09-01  About/Contact UI 精修（只改样式，不动内容/图片）
   1) breadcrumb 当前页橙色高亮  2) About 图小字大  3) Factory 3列
   4) 认证区 4 卡(CE/A2/ISO9001/14001)  5) Contact 左文右表
   6) 样品引导卡  7) CF7 表单样式(.jms-contact 作用域)  8) Contact FAQ 2列白卡
   ============================================================ */

/* ---------- 1) Breadcrumb 当前页高亮 ---------- */
.jms-about .page-breadcrumbs__current,
.jms-contact .page-breadcrumbs__current {
  color: var(--color-btn, #efa749);
  font-weight: 700;
}

/* ---------- 2) About：图片收敛、文字加大 ---------- */
.jms-about .about-origin-intro {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  align-items: center;
}

.jms-about .media-frame {
  min-height: 0;
  aspect-ratio: 16 / 10;
}

.jms-about .about-origin-copy p,
.jms-about .about-factory-copy p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--color-heading, #3d2b1f);
}

.jms-about .about-founder-copy p,
.jms-about .about-why-card p {
  font-size: 1rem;
  line-height: 1.75;
}

/* ---------- 3) Factory 图 3 列 ---------- */
.jms-about .media-stack--2 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

/* ---------- 4) 认证区：4 张白卡 ---------- */
.about-cert-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.about-cert-card {
  padding: 2rem 1.4rem 1.8rem;
  border: 1px solid rgb(95 77 64 / 0.14);
  border-radius: 16px;
  background: #ffffff;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.about-cert-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgb(62 50 40 / 0.1);
}

.about-cert-card svg {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 1rem;
  padding: 0.55rem;
  border-radius: 50%;
  background: var(--color-primary, #5f4d40);
  color: #ffffff;
  fill: currentColor;
}

.about-cert-card h3 {
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
  color: var(--color-heading, #3d2b1f);
}

.about-cert-card p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--color-text-muted, #6b6157);
}

/* ---------- 5) Contact：左文右表 ---------- */
.jms-contact .contact-layout {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: start;
  gap: clamp(1.5rem, 3.5vw, 2.75rem);
}

.contact-copy-col {
  display: grid;
  gap: 1.25rem;
  align-content: start;
}

/* ---------- 6) 样品引导卡 ---------- */
.contact-sample-card {
  position: relative;
  padding: 1.75rem 1.75rem 1.75rem 1.85rem;
  border: 1px solid rgb(95 77 64 / 0.14);
  border-radius: 16px;
  background: linear-gradient(135deg, #fbf6ea 0%, #ffffff 65%);
}

.contact-sample-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.5rem;
  bottom: 1.5rem;
  width: 4px;
  border-radius: 999px;
  background: var(--color-btn, #efa749);
}

.contact-sample-card svg {
  display: block;
  width: 1.9rem;
  height: 1.9rem;
  margin-bottom: 0.9rem;
  color: var(--color-primary, #5f4d40);
  fill: currentColor;
}

.contact-sample-card h3 {
  margin: 0 0 0.65rem;
  font-size: 1.12rem;
  color: var(--color-heading, #3d2b1f);
}

.contact-sample-card p {
  margin: 0 0 0.55rem;
  font-size: 0.97rem;
  line-height: 1.7;
  color: var(--color-text-muted, #6b6157);
}

.contact-sample-card p:last-child {
  margin-bottom: 0;
}

.contact-sample-card a {
  color: var(--color-btn, #efa749);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- 7) 表单卡片 + CF7 表单 ---------- */
.contact-form-card {
  padding: 2.25rem 2.25rem 2.5rem;
  border: 1px solid rgb(95 77 64 / 0.14);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgb(62 50 40 / 0.09);
}

.contact-form-card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.35rem;
  color: var(--color-heading, #3d2b1f);
}

.contact-form-card > p {
  margin: 0 0 1.6rem;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--color-text-muted, #6b6157);
}

.jms-contact .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
  align-items: start;
}

.jms-contact .wpcf7-form p {
  margin: 0;
}

.jms-contact .wpcf7-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--color-heading, #3d2b1f);
}

.jms-contact .wpcf7-form input[type='text'],
.jms-contact .wpcf7-form input[type='email'],
.jms-contact .wpcf7-form input[type='tel'],
.jms-contact .wpcf7-form select,
.jms-contact .wpcf7-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 0.8rem 1rem;
  border: 1px solid #e3ddd3;
  border-radius: 12px;
  background: #faf8f4;
  color: #3e3228;
  font: inherit;
  font-size: 0.97rem;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.jms-contact .wpcf7-form textarea {
  min-height: 130px;
  resize: vertical;
}

.jms-contact .wpcf7-form input:focus,
.jms-contact .wpcf7-form select:focus,
.jms-contact .wpcf7-form textarea:focus {
  border-color: rgb(239 167 73 / 0.85);
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 4px rgb(239 167 73 / 0.14);
}

.jms-contact .wpcf7-form select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941s24.569-9.373 33.941 0L224 329.525l178.373-179.334c9.373-9.373 24.569-9.373 33.941 0s9.373 24.569 0 33.941L241.029 381.476c-4.686 4.686-10.828 7.029-16.971 7.029s-12.284-2.343-16.971-7.029z' fill='%235f4d40'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.05rem center;
  background-size: 0.8rem;
  padding-right: 2.6rem;
}

.jms-contact .wpcf7-form .wpcf7-submit,
.jms-contact .wpcf7-form input[type='submit'] {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--color-btn, #efa749) 0%, var(--color-btn-hover, #d98a2b) 100%);
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.jms-contact .wpcf7-form .wpcf7-submit:hover,
.jms-contact .wpcf7-form input[type='submit']:hover {
  background: linear-gradient(135deg, var(--color-btn-hover, #d98a2b) 0%, #b8762a 100%);
  transform: translateY(-1px);
}

/* CF7 网格定位: p1=name p2=email (row1) | p3=industry p4=project (row2) | p5=message p6=submit (全宽) */
.jms-contact .wpcf7-form p:nth-of-type(3) {
  grid-column: 1;
  grid-row: 2;
}

.jms-contact .wpcf7-form p:nth-of-type(4) {
  grid-column: 2;
  grid-row: 2;
}

.jms-contact .wpcf7-form p:nth-of-type(5),
.jms-contact .wpcf7-form p:nth-of-type(6),
.jms-contact .wpcf7-form .wpcf7-response-output {
  grid-column: 1 / -1;
}

.jms-contact .wpcf7-form p:nth-of-type(5) {
  grid-row: 3;
}

.jms-contact .wpcf7-form p:nth-of-type(6) {
  grid-row: 4;
}

.jms-contact .wpcf7-form .wpcf7-response-output {
  grid-row: 5;
  margin: 0;
}

/* ---------- 8) Contact FAQ：与 home 同款 2 列白卡 ---------- */
.jms-contact .faq-section {
  background: #f6f1e8;
  border-top: 1px solid rgb(95 77 64 / 0.08);
  border-bottom: 1px solid rgb(95 77 64 / 0.08);
}

.jms-contact .faq-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: start;
}

.jms-contact .faq-col {
  display: grid;
  gap: 1rem;
}

.jms-contact .faq-section details {
  background: #ffffff;
  border: 1px solid rgb(95 77 64 / 0.12);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgb(62 50 40 / 0.06);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.jms-contact .faq-section details:hover {
  border-color: rgb(95 77 64 / 0.3);
  box-shadow: 0 16px 40px rgb(62 50 40 / 0.1);
}

.jms-contact .faq-section details[open] {
  border-color: rgb(239 167 73 / 0.55);
  box-shadow: 0 16px 40px rgb(62 50 40 / 0.1);
}

.jms-contact .faq-section summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 3.4rem 1.25rem 1.5rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.45;
  color: var(--color-heading);
}

.jms-contact .faq-section summary::-webkit-details-marker {
  display: none;
}

.jms-contact .faq-section summary::before {
  content: '?';
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-gold);
  color: var(--color-primary);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.jms-contact .faq-section summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 1.35rem;
  translate: 0 -50%;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgb(95 77 64 / 0.08);
  color: var(--color-primary);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.jms-contact .faq-section details[open] summary::after {
  content: '−';
  transform: rotate(180deg);
  background: var(--color-btn);
  color: #ffffff;
}

.jms-contact .faq-section details[open] summary {
  color: var(--color-primary);
}

.jms-contact .faq-section .faq-stack__answer {
  padding: 0 1.6rem 1.4rem 4.7rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.75;
}

.jms-contact .faq-stack__answer p {
  margin: 0 0 0.7em;
}

.jms-contact .faq-stack__answer p:last-child {
  margin-bottom: 0;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .about-cert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jms-about .media-stack--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jms-contact .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1023px) {
  .jms-contact .faq-cols {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .about-cert-grid,
  .jms-about .media-stack--2 {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-form-card {
    padding: 1.5rem 1.25rem 1.75rem;
  }

  .jms-contact .wpcf7-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .jms-contact .wpcf7-form p:nth-of-type(3),
  .jms-contact .wpcf7-form p:nth-of-type(4) {
    grid-column: auto;
    grid-row: auto;
  }
}

/* ============================================================
   ROUND 9 — 2026-09-01  About 页面框架重设计（内容零改动）
   1) Hero 重新设计（光效+金色底纹）  2) 认证区紧随 Who We Are
   3) Factory 左文右图 3x2  4) Team 照片缩小卡片化
   5) CTA 文字加大 + 精致化  6) Founder 竖图比例修正
   ============================================================ */

/* ---------- 1) Hero 重新设计 ---------- */
.jms-about .inner-page-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 90% at 50% -20%, rgb(251 234 162 / 0.16), transparent 60%),
    linear-gradient(165deg, #5f4d40 0%, #45362b 55%, #33291f 100%);
  padding-bottom: clamp(4.5rem, 10vh, 7rem);
}

.jms-about .inner-page-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: min(70%, 180px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--color-btn, #efa749), transparent);
}

.jms-about .page-title {
  font-size: clamp(2.5rem, 5vw, 3.8rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.jms-about .page-summary {
  font-size: 1.15rem;
  line-height: 1.7;
  color: rgb(255 255 255 / 0.88);
  max-width: 46ch;
  margin-inline: auto;
}

.jms-about .inner-page-hero__actions .btn {
  min-width: 0;
  padding: 0.95rem 2.6rem;
  font-size: 0.95rem;
}

/* ---------- 2) 认证区紧随 Who We Are（顺序已在 HTML 调整） ---------- */
.jms-about .about-origin-intro {
  margin-bottom: 0;
}

/* ---------- 3) Factory：左文右图 ---------- */
.jms-about .about-factory-split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}

.jms-about .about-factory-copy {
  max-width: none;
  margin: 0;
  text-align: left;
}

.jms-about .about-factory-copy .section-head {
  margin: 0 0 1.5rem;
}

.jms-about .about-factory-copy .section-title {
  text-align: left;
}

.jms-about .about-factory-copy p {
  margin: 0 0 1.1rem;
}

.jms-about .about-factory-actions {
  margin-top: 1.9rem;
  text-align: left;
}

.jms-about .about-factory-media .media-stack__item {
  min-height: 0;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
}

/* ---------- 4) Team：照片缩小 + 卡片化 ---------- */
.jms-about .about-team-grid {
  gap: 1rem;
}

.jms-about .about-team-card {
  padding: 0.75rem 0.75rem 1.15rem;
  border: 1px solid rgb(95 77 64 / 0.12);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgb(62 50 40 / 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.jms-about .about-team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgb(62 50 40 / 0.1);
}

.jms-about .about-team-card figure {
  margin: 0 0 0.85rem;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
}

.jms-about .about-team-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jms-about .about-team-card h3 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  text-align: center;
  color: var(--color-heading, #3d2b1f);
}

/* ---------- 5) Founder 竖图比例修正（不被 16:10 裁切） ---------- */
.jms-about .page-split .media-frame {
  aspect-ratio: 3 / 4;
  max-height: 560px;
}

/* ---------- 6) CTA：文字加大 + 精致化 ---------- */
.jms-about .cta-band--dark {
  position: relative;
  background:
    radial-gradient(ellipse 55% 100% at 85% 0%, rgb(239 167 73 / 0.18), transparent 55%),
    radial-gradient(ellipse 55% 100% at 10% 100%, rgb(251 234 162 / 0.12), transparent 55%),
    linear-gradient(135deg, #4a3a2e 0%, #33291f 100%);
  padding-block: clamp(4.5rem, 9vw, 7rem);
}

.jms-about .cta-band__copy h2 {
  margin: 0 0 1.2rem;
  font-size: clamp(2rem, 4.2vw, 3rem);
  line-height: 1.15;
  color: #ffffff;
}

.jms-about .cta-band__copy p {
  margin: 0 auto 2.4rem;
  max-width: 58ch;
  font-size: 1.08rem;
  line-height: 1.8;
  color: rgb(255 255 255 / 0.86);
}

.jms-about .cta-band__copy .btn {
  min-width: 0;
  padding: 1.05rem 3rem;
  font-size: 1rem;
  border-radius: 12px;
  box-shadow: 0 14px 30px rgb(239 167 73 / 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.jms-about .cta-band__copy .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgb(239 167 73 / 0.45);
}

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .jms-about .about-factory-split {
    grid-template-columns: minmax(0, 1fr);
  }

  .jms-about .about-factory-copy {
    text-align: center;
  }

  .jms-about .about-factory-copy .section-title,
  .jms-about .about-factory-actions {
    text-align: center;
  }
}

/* ---------- ROUND 9b — Founder 照片进一步缩小（用户反馈仍过大） ---------- */
.jms-about .page-split {
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  align-items: center;
}

.jms-about .page-split .media-frame {
  aspect-ratio: 3 / 4;
  max-height: 420px;
  max-width: 100%;
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .jms-about .page-split .media-frame {
    max-height: 480px;
  }
}

/* ============================================================
   ROUND 10 — 2026-09-01  Blog 汇总页 + 文章单页模板（全新设计）
   .jms-blog = resource / category / search / archive
   .jms-single = single post
   ============================================================ */

/* ---------- 通用 breadcrumb（深色 hero 内） ---------- */
.jms-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  letter-spacing: 0.02em;
  margin-bottom: 26px;
  color: rgb(255 255 255 / 0.6);
}

.jms-breadcrumb a {
  color: rgb(255 255 255 / 0.78);
  text-decoration: none;
  transition: color 0.2s;
}

.jms-breadcrumb a:hover {
  color: #fbeaa2;
}

.jms-breadcrumb__sep {
  color: #efa749;
}

.jms-breadcrumb__current {
  color: #ffffff;
  font-weight: 500;
}

/* ---------- Blog 汇总 hero（resource / category / search / archive） ---------- */
.jms-blog-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 90% at 50% -20%, rgb(251 234 162 / 0.16), transparent 60%),
    linear-gradient(165deg, #5f4d40 0%, #45362b 55%, #33291f 100%);
  padding: clamp(8rem, 18vh, 11rem) 0 clamp(4rem, 8vh, 5.5rem);
}

.jms-blog-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: min(70%, 180px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--color-btn, #efa749), transparent);
}

.jms-blog-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 780px;
  color: #ffffff;
}

.jms-blog-hero__title {
  margin: 0 0 1.1rem;
  font-size: clamp(2.5rem, 5vw, 3.8rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: #ffffff;
}

.jms-blog-hero__title em {
  font-style: italic;
  color: #fbeaa2;
}

.jms-blog-hero__sub {
  margin: 0;
  max-width: 58ch;
  font-size: 1.12rem;
  line-height: 1.75;
  color: rgb(255 255 255 / 0.85);
}

.jms-blog-hero__stat {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 1.8rem;
}

.jms-blog-hero__stat-num {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  color: #efa749;
}

.jms-blog-hero__stat-lbl {
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  color: rgb(255 255 255 / 0.72);
}

/* ---------- 分类筛选 chips ---------- */
.jms-blog-filter {
  background: #ffffff;
  border-bottom: 1px solid #eee6da;
}

.jms-blog-filter__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.jms-blog-filter__chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border-radius: 999px;
  background: #f6f2ec;
  color: #5f4d40;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.jms-blog-filter__chip:hover {
  border-color: #efa749;
  color: #b3510e;
}

.jms-blog-filter__chip.is-active {
  background: #5f4d40;
  color: #ffffff;
}

/* ---------- Blog 网格容器 ---------- */
.jms-blog-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 24px 76px;
}

.jms-blog-empty {
  margin: 0;
  padding: 48px 0;
  text-align: center;
  font-size: 1.05rem;
  color: #8a7a6b;
}

/* ---------- 文章卡片网格 ---------- */
.jms-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.jms-blog-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #eee6da;
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.jms-blog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgb(61 48 40 / 0.13);
}

.jms-blog-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}

.jms-blog-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  margin: 0;
  background: #efe9e0;
}

.jms-blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.jms-blog-card:hover .jms-blog-card__media img {
  transform: scale(1.05);
}

.jms-blog-card__media-empty {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #5f4d40, #8a735f);
}

.jms-blog-card__cat {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: #efa749;
  color: #3a2410;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
}

.jms-blog-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 24px 24px;
}

.jms-blog-card__title {
  margin: 0 0 10px;
  font-size: 1.12rem;
  line-height: 1.45;
  font-weight: 700;
  color: #33281f;
}

.jms-blog-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.jms-blog-card__link:hover .jms-blog-card__title a {
  color: #b3510e;
}

.jms-blog-card__excerpt {
  flex: 1;
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.65;
  color: #6f6559;
}

.jms-blog-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #9a8d7e;
}

.jms-blog-card__dot {
  color: #efa749;
}

/* ---------- 分页 ---------- */
.jms-blog-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 48px;
}

.jms-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #e8dfd2;
  color: #5f4d40;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.jms-blog-pagination .page-numbers:hover {
  border-color: #efa749;
  color: #b3510e;
}

.jms-blog-pagination .page-numbers.current {
  background: #5f4d40;
  border-color: #5f4d40;
  color: #ffffff;
}

.jms-blog-pagination .page-numbers.dots {
  background: transparent;
  border-color: transparent;
  color: #9a8d7e;
}

.jms-pg-label {
  font-size: 13px;
}

/* ---------- 文章单页 hero ---------- */
.jms-post-hero {
  position: relative;
  background: #3d3028 center/cover no-repeat;
  color: #ffffff;
  padding: clamp(9rem, 20vh, 12.5rem) 0 4.2rem;
  overflow: hidden;
}

.jms-post-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(45 35 28 / 0.62) 0%, rgb(45 35 28 / 0.72) 55%, rgb(32 25 20 / 0.9) 100%);
}

.jms-post-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(640px 300px at 88% 6%, rgb(251 234 162 / 0.14), transparent 60%);
}

.jms-post-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}

.jms-post-hero__cat {
  display: inline-block;
  background: #efa749;
  color: #3a2410;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  text-decoration: none;
  margin-bottom: 18px;
  transition: background 0.2s ease;
}

.jms-post-hero__cat:hover {
  background: #fbeaa2;
}

.jms-post-hero__title {
  margin: 0 0 22px;
  font-size: clamp(2.1rem, 4.5vw, 3.4rem);
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #ffffff;
}

.jms-post-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 26px;
  font-size: 14px;
  color: rgb(255 255 255 / 0.78);
}

.jms-post-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.jms-post-hero__meta-item svg {
  width: 15px;
  height: 15px;
  stroke: #efa749;
  flex: none;
}

.jms-post-hero__meta-dot {
  color: #efa749;
}

/* ---------- 文章单页正文布局 ---------- */
.jms-post-body {
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 24px 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 48px;
  align-items: start;
}

.jms-post-main {
  min-width: 0;
}

.jms-post-aside {
  position: sticky;
  top: 120px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ---------- 正文排版 ---------- */
.jms-post-content {
  font-size: 17px;
  line-height: 1.85;
  color: #47403a;
}

.jms-post-content > p:first-child {
  font-size: 19px;
  line-height: 1.75;
  font-weight: 500;
  color: #33281f;
}

.jms-post-content h2 {
  margin: 44px 0 16px;
  padding-top: 8px;
  font-size: 27px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #33281f;
  position: relative;
  scroll-margin-top: 120px;
}

.jms-post-content h2::before {
  content: "";
  display: block;
  width: 46px;
  height: 4px;
  border-radius: 2px;
  margin-bottom: 14px;
  background: linear-gradient(90deg, #efa749, #fbeaa2);
}

.jms-post-content h3 {
  margin: 30px 0 12px;
  font-size: 21px;
  line-height: 1.35;
  font-weight: 700;
  color: #3d3028;
}

.jms-post-content p,
.jms-post-content li {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.85;
}

.jms-post-content a {
  color: #b3510e;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgb(239 167 73 / 0.5);
  text-underline-offset: 3px;
  transition: color 0.2s;
}

.jms-post-content a:hover {
  color: #5f4d40;
}

.jms-post-content ul,
.jms-post-content ol {
  margin: 0 0 22px;
  padding-left: 6px;
  list-style: none;
}

.jms-post-content ul li,
.jms-post-content ol li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
}

.jms-post-content ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: #efa749;
  transform: rotate(45deg);
}

.jms-post-content ol {
  counter-reset: jmsol;
}

.jms-post-content ol li {
  counter-increment: jmsol;
}

.jms-post-content ol li::before {
  content: counter(jmsol);
  position: absolute;
  left: 0;
  top: 0.12em;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #5f4d40;
  color: #fbeaa2;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.jms-post-content strong {
  font-weight: 700;
  color: #33281f;
}

.jms-post-content img {
  max-width: 100%;
  height: auto;
  margin: 14px 0 8px;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgb(61 48 40 / 0.1);
}

.jms-post-content figcaption {
  margin: 4px 0 18px;
  font-size: 13px;
  text-align: center;
  color: #9a8d7e;
}

.jms-post-content blockquote {
  margin: 28px 0;
  padding: 22px 28px;
  background: #faf6ee;
  border-left: 4px solid #efa749;
  border-radius: 0 14px 14px 0;
  font-size: 17px;
  font-style: italic;
  color: #3d3028;
}

.jms-post-content blockquote p {
  margin: 0;
}

.jms-post-content table {
  display: block;
  width: 100%;
  margin: 26px 0 30px;
  overflow-x: auto;
  border-collapse: collapse;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgb(61 48 40 / 0.08);
}

.jms-post-content thead th {
  padding: 13px 18px;
  background: #5f4d40;
  color: #fbeaa2;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
}

.jms-post-content tbody td {
  padding: 13px 18px;
  border-top: 1px solid #efe7db;
  vertical-align: top;
}

.jms-post-content tbody tr:hover td {
  background: #fdfaf5;
}

.jms-post-content .wp-block-spacer {
  display: none !important;
}

.jms-post-content p:empty {
  display: none !important;
}

.jms-post-content .wp-block-group {
  margin: 0;
  padding: 0;
}

.jms-post-content .wp-block-image {
  margin: 18px 0;
}

/* ---------- 分享行 ---------- */
.jms-post-share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 48px 0 0;
  padding: 22px 0;
  border-top: 1px solid #efe7db;
  border-bottom: 1px solid #efe7db;
}

.jms-post-share__label {
  margin-right: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6f6559;
}

.jms-share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f6f2ec;
  border: 1px solid #e8dfd2;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.jms-share-link svg {
  width: 16px;
  height: 16px;
  fill: #6f6559;
  transition: fill 0.2s ease;
}

.jms-share-link:hover {
  background: #5f4d40;
  border-color: #5f4d40;
}

.jms-share-link:hover svg {
  fill: #fbeaa2;
}

/* ---------- 上一篇 / 下一篇 ---------- */
.jms-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 36px;
}

.jms-post-nav__item {
  display: block;
  padding: 20px 24px;
  background: #ffffff;
  border: 1px solid #efe7db;
  border-radius: 14px;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.jms-post-nav__item:hover {
  border-color: #efa749;
  box-shadow: 0 10px 28px rgb(61 48 40 / 0.08);
}

.jms-post-nav__dir {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #b3510e;
}

.jms-post-nav__title {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #33281f;
}

.jms-post-nav__item--next {
  text-align: right;
}

.jms-post-nav__item--empty {
  visibility: hidden;
}

/* ---------- 右侧栏：TOC 卡 ---------- */
.jms-toc-card {
  padding: 24px 24px 18px;
  background: #ffffff;
  border: 1px solid #efe7db;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgb(61 48 40 / 0.05);
}

.jms-toc-card__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #3d3028;
}

.jms-toc-card__label::before {
  content: "";
  width: 20px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, #efa749, #fbeaa2);
}

.jms-toc-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.jms-toc-card__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 7px 0;
}

.jms-toc-card__num {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border-radius: 50%;
  background: #f6f2ec;
  color: #b3510e;
  font-size: 11px;
  font-weight: 700;
}

.jms-toc-card__item a {
  font-size: 13.5px;
  line-height: 1.5;
  color: #5f5347;
  text-decoration: none;
  transition: color 0.2s;
}

.jms-toc-card__item a:hover {
  color: #b3510e;
}

/* ---------- 右侧栏：CTA 卡 ---------- */
.jms-side-cta {
  position: relative;
  overflow: hidden;
  padding: 28px 26px;
  background: linear-gradient(150deg, #3d3028, #5f4d40);
  border-radius: 16px;
  color: #ffffff;
}

.jms-side-cta::after {
  content: "";
  position: absolute;
  right: -50px;
  top: -50px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(251 234 162 / 0.18), transparent 65%);
}

.jms-side-cta__kicker {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fbeaa2;
}

.jms-side-cta__title {
  margin: 0 0 10px;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
  color: #ffffff;
}

.jms-side-cta__text {
  margin: 0 0 20px;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgb(255 255 255 / 0.72);
}

.jms-side-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: #efa749;
  color: #3a2410;
  font-size: 14.5px;
  font-weight: 700;
  border-radius: 10px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jms-side-cta__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgb(239 167 73 / 0.4);
  color: #3a2410;
}

/* ---------- 底部 CTA band（单页版，与 About 同款双光晕） ---------- */
.jms-single .cta-band--dark {
  position: relative;
  background:
    radial-gradient(ellipse 55% 100% at 85% 0%, rgb(239 167 73 / 0.18), transparent 55%),
    radial-gradient(ellipse 55% 100% at 10% 100%, rgb(251 234 162 / 0.12), transparent 55%),
    linear-gradient(135deg, #4a3a2e 0%, #33291f 100%);
  padding-block: clamp(4.5rem, 9vw, 7rem);
}

.jms-single .cta-band__copy h2 {
  margin: 0 0 1.2rem;
  font-size: clamp(2rem, 4.2vw, 3rem);
  line-height: 1.15;
  color: #ffffff;
}

.jms-single .cta-band__copy p {
  margin: 0 auto 2.4rem;
  max-width: 58ch;
  font-size: 1.08rem;
  line-height: 1.8;
  color: rgb(255 255 255 / 0.86);
}

.jms-single .cta-band__copy .btn {
  min-width: 0;
  padding: 1.05rem 3rem;
  font-size: 1rem;
  border-radius: 12px;
  box-shadow: 0 14px 30px rgb(239 167 73 / 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.jms-single .cta-band__copy .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgb(239 167 73 / 0.45);
}

/* ---------- 相关文章 ---------- */
.jms-related {
  padding: 64px 0 76px;
  background: #f7f3ec;
}

.jms-related .jms-section-head {
  margin-bottom: 36px;
}

.jms-section-head__kicker {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b3510e;
}

.jms-section-head__title {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 700;
  color: #33281f;
}

.jms-related .jms-blog-card {
  box-shadow: 0 6px 24px rgb(61 48 40 / 0.07);
}

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .jms-post-body {
    grid-template-columns: minmax(0, 1fr);
  }

  .jms-post-aside {
    position: static;
  }

  .jms-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .jms-blog-hero {
    padding: clamp(7.5rem, 16vh, 9rem) 0 3.2rem;
  }

  .jms-post-hero {
    padding: clamp(8rem, 17vh, 10rem) 0 3rem;
  }

  .jms-blog-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .jms-blog-wrap {
    padding: 36px 18px 56px;
  }

  .jms-post-body {
    padding: 40px 18px 52px;
  }

  .jms-post-nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .jms-post-nav__item--next {
    text-align: left;
  }

  .jms-post-share {
    flex-wrap: wrap;
  }

  .jms-related {
    padding: 48px 0 56px;
  }
}

/* ============================================================
   ROUND 10 FIX — Elementor kit-6 (.elementor-kit-6 h1-h6/p/a)
   特异性 (0,1,1) 且 post-6.css 后加载，会覆盖 (0,1,0) 规则。
   用双类前缀 (0,2,x) 重新声明 blog/single 关键 typography。
   ============================================================ */

/* ---------- Blog 汇总 ---------- */
.jms-blog .jms-blog-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: #ffffff;
}

.jms-blog .jms-blog-hero__title em {
  font-style: italic;
  color: #fbeaa2;
}

.jms-blog .jms-blog-hero__sub {
  margin: 0;
  max-width: 58ch;
  font-size: 1.12rem;
  line-height: 1.75;
  color: rgb(255 255 255 / 0.85);
}

.jms-blog .jms-breadcrumb a {
  color: rgb(255 255 255 / 0.78);
}

.jms-blog .jms-breadcrumb a:hover {
  color: #fbeaa2;
}

.jms-blog .jms-breadcrumb__current {
  font-weight: 500;
  color: #ffffff;
}

.jms-blog .jms-blog-filter__chip {
  color: #5f4d40;
}

.jms-blog .jms-blog-filter__chip:hover {
  color: #b3510e;
}

.jms-blog .jms-blog-filter__chip.is-active {
  color: #ffffff;
}

.jms-blog .jms-blog-card__link {
  color: inherit;
}

.jms-blog .jms-blog-card__title {
  margin: 0 0 10px;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.45;
  color: #33281f;
}

.jms-blog .jms-blog-card__excerpt {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.65;
  color: #6f6559;
}

.jms-blog .jms-blog-pagination .page-numbers {
  font-weight: 600;
  color: #5f4d40;
}

.jms-blog .jms-blog-pagination .page-numbers.current {
  color: #ffffff;
}

/* ---------- 文章单页 ---------- */
.jms-single .jms-post-hero__title {
  font-size: clamp(2.1rem, 4.5vw, 3.4rem);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: #ffffff;
}

.jms-single .jms-post-hero__cat {
  color: #3a2410;
}

.jms-single .jms-post-hero__cat:hover {
  color: #3a2410;
  background: #fbeaa2;
}

.jms-single .jms-breadcrumb a {
  color: rgb(255 255 255 / 0.78);
}

.jms-single .jms-breadcrumb a:hover {
  color: #fbeaa2;
}

.jms-single .jms-breadcrumb__current {
  font-weight: 500;
  color: #ffffff;
}

.jms-single .jms-post-content h2 {
  margin: 44px 0 16px;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #33281f;
}

.jms-single .jms-post-content h3 {
  margin: 30px 0 12px;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
  color: #3d3028;
}

.jms-single .jms-post-content p {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.85;
  color: #47403a;
}

.jms-single .jms-post-content a {
  font-weight: 600;
  color: #b3510e;
}

.jms-single .jms-post-content a:hover {
  color: #5f4d40;
}

.jms-single .jms-post-content blockquote p {
  margin: 0;
}

.jms-single .jms-toc-card__label {
  color: #3d3028;
}

.jms-single .jms-toc-card__item a {
  color: #5f5347;
}

.jms-single .jms-toc-card__item a:hover {
  color: #b3510e;
}

.jms-single .jms-side-cta__title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
  color: #ffffff;
}

.jms-single .jms-side-cta__text {
  font-size: 13.5px;
  line-height: 1.65;
  color: rgb(255 255 255 / 0.72);
}

.jms-single .jms-side-cta__btn {
  font-weight: 700;
  color: #3a2410;
}

.jms-single .jms-side-cta__btn:hover {
  color: #3a2410;
}

.jms-single .jms-post-share__label {
  color: #6f6559;
}

.jms-single .jms-share-link {
  color: #6f6559;
}

.jms-single .jms-post-nav__item {
  color: inherit;
}

.jms-single .jms-post-nav__title {
  font-weight: 700;
  color: #33281f;
}

.jms-single .jms-section-head__title {
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 700;
  color: #33281f;
}

.jms-single .jms-section-head__kicker {
  color: #b3510e;
}

.jms-single .jms-related .jms-blog-card__link {
  color: inherit;
}

/* ---------- 单页 CTA band（kit 会覆盖 h2/p 颜色） ---------- */
.jms-single .cta-band__copy h2 {
  color: #ffffff;
}

.jms-single .cta-band__copy p {
  color: rgb(255 255 255 / 0.86);
}

.jms-single .cta-band__copy .btn {
  color: #ffffff;
}

.jms-single .cta-band__copy .btn:hover {
  color: #ffffff;
}

/* ============================================================
   ROUND 11 — 文章单页细节打磨（round11）
   1) 正文图片限宽居中  2) 内容内联样式统一（!important 覆盖）
   3) prev/next 打磨    4) CTA band 居中
   5) TOC 限高保侧栏 CTA 完整可见  6) 作者卡  7) 全端固定 Quote 浮条
   ============================================================ */

/* --- 1) 正文图片：横图撑满文字列宽、竖图限高等比缩放，保持协调 --- */
.jms-post-content img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(68vh, 640px);
  margin: 26px auto 18px;
  border: 1px solid #efe7db;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgb(61 48 40 / 0.12);
}

/* --- 2) 内容内联样式统一（Gutenberg 内联 h2/blockquote/faq 覆盖） --- */
.jms-post-content h2 {
  margin: 44px 0 16px !important;
  padding-top: 8px !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  border-bottom: none !important;
}

.jms-post-content h3 {
  margin: 28px 0 12px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.jms-post-content blockquote {
  background: #faf6ee !important;
  border-left: 4px solid #efa749 !important;
  border-radius: 0 14px 14px 0 !important;
}

.jms-post-content blockquote p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

/* FAQ 卡：米底 + 品牌橙左边框（原内容内联黑边灰底） */
.jms-post-content .faq-card {
  background: #faf6ee !important;
  border-left: 4px solid #efa749 !important;
  border-radius: 0 14px 14px 0 !important;
  padding: 22px 26px !important;
  margin: 0 0 22px !important;
  box-shadow: 0 4px 16px rgb(61 48 40 / 0.05);
}

.jms-post-content .faq-card h3 {
  margin: 0 0 10px !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  color: #3d3028 !important;
}

.jms-post-content .faq-card > div {
  color: #5f5347 !important;
}

.jms-post-content .faq-card p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

/* --- 3) 正文 CTA 块品牌化（原内联深蓝底白钮） --- */
.jms-post-content .cta-block {
  background: linear-gradient(135deg, #4a3a2e 0%, #33291f 100%) !important;
  border-radius: 16px !important;
  padding: 26px clamp(22px, 4%, 34px) !important;
  margin: 34px 0 !important;
  gap: 18px !important;
  box-shadow: 0 16px 38px rgb(61 48 40 / 0.2) !important;
}

.jms-post-content .cta-block > div:first-child {
  min-width: 0 !important;
  flex-basis: 320px !important;
}

.jms-post-content .cta-block > div:first-child > div:first-child {
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: transparent !important;
}

.jms-post-content .cta-block > div:first-child > div:nth-child(2) {
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  color: rgb(255 255 255 / 0.82) !important;
  margin: 12px 0 18px !important;
}

.jms-post-content .cta-block a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 26px !important;
  background: #efa749 !important;
  color: #3a2410 !important;
  font-family: inherit;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgb(239 167 73 / 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.jms-post-content .cta-block a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgb(239 167 73 / 0.45) !important;
}

.jms-post-content .cta-block img {
  max-width: 230px !important;
  max-height: 310px !important;
  width: auto;
  border-radius: 10px !important;
}

/* --- 4) prev/next 打磨：字号与品牌色强化 --- */
.jms-post-nav__dir {
  font-size: 12px;
  letter-spacing: 0.14em;
}

.jms-post-nav__title {
  font-size: 16px;
  line-height: 1.45;
}

.jms-post-nav__item:hover .jms-post-nav__dir {
  color: #efa749;
}

/* --- 5) 底部 CTA band 内容居中（与全站 CTA 文案规则一致） --- */
.jms-single .cta-band__inner {
  display: block;
  text-align: center;
}

.jms-single .cta-band__copy h2 {
  margin: 0 auto 1.2rem;
}

.jms-single .cta-band__copy .btn {
  display: inline-flex;
}

/* --- 6) TOC 限高：保证侧栏 CTA 卡完整可见（仅桌面 sticky） --- */
@media (min-width: 1025px) {
  .jms-toc-card {
    max-height: calc(100vh - 320px);
    display: flex;
    flex-direction: column;
  }

  .jms-toc-card__list {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d8cbb6 transparent;
    padding-right: 6px;
  }
}

/* --- 7) 作者卡 --- */
.jms-author-box {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-top: 40px;
  padding: 28px 30px;
  background: #faf6ee;
  border: 1px solid #efe7db;
  border-radius: 16px;
}

.jms-author-box__photo {
  flex: none;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #ffffff;
  box-shadow: 0 6px 18px rgb(61 48 40 / 0.18);
}

.jms-author-box__kicker {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #b3510e;
}

.jms-author-box__name {
  margin: 0 0 2px;
  font-size: 20px;
  font-weight: 700;
  color: #33281f;
}

.jms-author-box__name a {
  color: #33281f;
  text-decoration: none;
}

.jms-author-box__name a:hover {
  color: #b3510e;
}

.jms-author-box__role {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: #b3510e;
}

.jms-author-box__bio {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: #5f5347;
}

/* --- 8) 全端固定 Get a Quote 浮条（滚动后浮现，随时可点） --- */
.jms-cta-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 940;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(135deg, #4a3a2e 0%, #33291f 100%);
  border-top: 1px solid rgb(251 234 162 / 0.28);
  box-shadow: 0 -10px 30px rgb(61 48 40 / 0.28);
  transform: translateY(105%);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.jms-cta-bar.is-visible {
  transform: translateY(0);
}

.jms-cta-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  max-width: 1200px;
  margin: 0 auto;
}

.jms-cta-bar__text {
  font-size: clamp(13px, 1.6vw, 15px);
  font-weight: 700;
  color: #fbeaa2;
}

.jms-cta-bar__btn {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  background: #efa749;
  color: #3a2410;
  font-size: 14px;
  font-weight: 700;
  border-radius: 10px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jms-cta-bar__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgb(239 167 73 / 0.4);
  color: #3a2410;
}

body.has-cta-bar {
  padding-bottom: 58px;
}

/* 浮条存在时抬升右下浮动钮，避免被盖住 */
body.has-cta-bar .site-footer__back-top {
  bottom: 84px;
}

body.has-cta-bar #kjbath-wa-widget {
  --wa-mobile-trigger-bottom: 88px;
}

/* --- ROUND 11 FIX — kit-6 (0,1,1) 双类防覆盖 --- */
.jms-single .jms-author-box__name,
.jms-single .jms-author-box__name a {
  font-size: 20px;
  font-weight: 700;
  color: #33281f;
}

.jms-single .jms-post-nav__dir {
  font-size: 12px;
  color: #b3510e;
}

.jms-single .jms-post-nav__title {
  font-size: 16px;
  color: #33281f;
}

.jms-single .jms-cta-bar__text {
  font-size: 14px;
  color: #fbeaa2;
}

/* 移动端作者卡/浮条微调 */
@media (max-width: 640px) {
  .jms-author-box {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 20px;
  }

  .jms-post-nav__dir {
    font-size: 11.5px;
  }

  .jms-post-nav__title {
    font-size: 15px;
  }
}

/* round11 微调：小屏正文 CTA 块更紧凑 */
@media (max-width: 640px) {
  .jms-post-content .cta-block {
    padding: 22px 20px !important;
    text-align: center;
  }

  .jms-post-content .cta-block > div:first-child > div:first-child {
    font-size: 20px !important;
  }

  .jms-post-content .cta-block > div:first-child {
    flex-basis: 100% !important;
  }

  .jms-post-content .cta-block img {
    max-width: 170px !important;
    max-height: 225px !important;
  }
}

/* ============================================================
   ROUND 13 — 全站文章内 CTA 品牌化（覆盖旧 steelblue #4682B4 蓝色卡）
   ============================================================ */
.jms-post-content div[style*="4682"]:not([style*="border-left"]) {
  background: linear-gradient(135deg, #4a3a2e 0%, #33291f 100%) !important;
  border-radius: 16px !important;
  padding: 26px clamp(22px, 4%, 34px) !important;
  margin: 34px 0 !important;
  gap: 22px !important;
  box-shadow: 0 16px 38px rgb(61 48 40 / 0.2) !important;
}

.jms-post-content div[style*="4682"]:not([style*="border-left"]) h2 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  border: none !important;
}

.jms-post-content div[style*="4682"]:not([style*="border-left"]) div[style*="16px"] {
  color: rgb(255 255 255 / 0.82) !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  margin: 0 0 18px !important;
}

.jms-post-content div[style*="4682"]:not([style*="border-left"]) p > a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 26px !important;
  background: #efa749 !important;
  color: #3a2410 !important;
  font-family: inherit !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgb(239 167 73 / 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.jms-post-content div[style*="4682"]:not([style*="border-left"]) p > a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgb(239 167 73 / 0.45) !important;
}

/* 描述文字内的链接（如 MOQs）保持文字链接样式 */
.jms-post-content div[style*="4682"]:not([style*="border-left"]) div[style*="16px"] a {
  color: #fbeaa2 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.jms-post-content div[style*="4682"]:not([style*="border-left"]) figure {
  margin: 0 !important;
}

.jms-post-content div[style*="4682"]:not([style*="border-left"]) img {
  display: block !important;
  width: auto !important;
  max-width: 230px !important;
  max-height: 310px !important;
  margin: 0 auto !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgb(61 48 40 / 0.25) !important;
}

@media (max-width: 640px) {
  .jms-post-content div[style*="4682"]:not([style*="border-left"]) {
    padding: 22px 20px !important;
    text-align: center;
  }

  .jms-post-content div[style*="4682"]:not([style*="border-left"]) div[style*="16px"] {
    text-align: left;
  }

  .jms-post-content div[style*="4682"]:not([style*="border-left"]) img {
    max-width: 180px !important;
    max-height: 240px !important;
    margin: 18px auto 0 !important;
  }
}

/* 老文章 cta-box 简单卡（CONTACT US）品牌化 */
.jms-post-content .cta-box {
  background: linear-gradient(135deg, #4a3a2e 0%, #33291f 100%) !important;
  border-radius: 16px !important;
  padding: 26px 30px !important;
  margin: 34px 0 !important;
  text-align: center !important;
  box-shadow: 0 16px 38px rgb(61 48 40 / 0.2) !important;
}

.jms-post-content .cta-box span {
  display: block;
  color: #ffffff !important;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.jms-post-content .cta-box a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 12px 26px !important;
  background: #efa749 !important;
  color: #3a2410 !important;
  font-family: inherit !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgb(239 167 73 / 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.jms-post-content .cta-box a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgb(239 167 73 / 0.45) !important;
}

/* ============ round14: product & solution 页面 UI 统一 ============ */
/* 范围：仅 .elementor-page-13 (/product/) 与 .elementor-page-675 (/solution/)，
   两页共用同一套区域背景图（REST 媒体库真实 source_url：NA=1201 / EU=4966 / ME=5615 / AU=2153 / AP=4870）。
   所有选择器均以 body.elementor-page-13 / body.elementor-page-675 前缀收口，无裸全局规则；
   body 类型选择器用于压过 Elementor 后加载的 post-NN.css 同特异性规则。 */

/* ---- 1) 按钮统一：深棕 → 品牌橙 #EFA749（白字、圆角 8px、hover 变深 #D98A2B、焦点橙色轮廓）---- */
body.elementor-page-13 .elementor-element.elementor-element-f7f7763 .elementor-button,
body.elementor-page-13 .elementor-element.elementor-element-17a6fbb .elementor-button,
body.elementor-page-13 .elementor-element.elementor-element-7297685 .elementor-button,
body.elementor-page-13 .elementor-element.elementor-element-596d44f .elementor-button,
body.elementor-page-13 .elementor-element.elementor-element-017e851 .elementor-button,
body.elementor-page-13 .elementor-element.elementor-element-3a773b2 .elementor-button,
body.elementor-page-675 .elementor-element.elementor-element-6fd63aa4 .elementor-button,
body.elementor-page-675 .elementor-element.elementor-element-3d01adb .elementor-button,
body.elementor-page-675 .elementor-element.elementor-element-4fbc2316 .elementor-button {
  background-color: #efa749;
  fill: #ffffff;
  color: #ffffff;
  border-radius: 8px;
  font-weight: 700;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

body.elementor-page-13 .elementor-element.elementor-element-f7f7763 .elementor-button:hover,
body.elementor-page-13 .elementor-element.elementor-element-f7f7763 .elementor-button:focus,
body.elementor-page-13 .elementor-element.elementor-element-17a6fbb .elementor-button:hover,
body.elementor-page-13 .elementor-element.elementor-element-17a6fbb .elementor-button:focus,
body.elementor-page-13 .elementor-element.elementor-element-7297685 .elementor-button:hover,
body.elementor-page-13 .elementor-element.elementor-element-7297685 .elementor-button:focus,
body.elementor-page-13 .elementor-element.elementor-element-596d44f .elementor-button:hover,
body.elementor-page-13 .elementor-element.elementor-element-596d44f .elementor-button:focus,
body.elementor-page-13 .elementor-element.elementor-element-017e851 .elementor-button:hover,
body.elementor-page-13 .elementor-element.elementor-element-017e851 .elementor-button:focus,
body.elementor-page-13 .elementor-element.elementor-element-3a773b2 .elementor-button:hover,
body.elementor-page-13 .elementor-element.elementor-element-3a773b2 .elementor-button:focus,
body.elementor-page-675 .elementor-element.elementor-element-6fd63aa4 .elementor-button:hover,
body.elementor-page-675 .elementor-element.elementor-element-6fd63aa4 .elementor-button:focus,
body.elementor-page-675 .elementor-element.elementor-element-3d01adb .elementor-button:hover,
body.elementor-page-675 .elementor-element.elementor-element-3d01adb .elementor-button:focus,
body.elementor-page-675 .elementor-element.elementor-element-4fbc2316 .elementor-button:hover,
body.elementor-page-675 .elementor-element.elementor-element-4fbc2316 .elementor-button:focus {
  background-color: #d98a2b; /* hover 变深，对齐博客 CTA 的 --color-btn-hover */
  color: #ffffff;
  box-shadow: 0 10px 22px rgb(239 167 73 / 0.35);
}

/* ---- 2) 区域卡片：背景图 + 深棕渐变遮罩，白字可读；两页 5 张卡共用同一套图 ---- */
body.elementor-page-13 .elementor-element.elementor-element-5c9d057d,
body.elementor-page-13 .elementor-element.elementor-element-7f613118,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba,
body.elementor-page-13 .elementor-element.elementor-element-1b174781,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 14px;
  min-height: 320px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgb(61 48 40 / 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.elementor-page-13 .elementor-element.elementor-element-5c9d057d,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c {
  background-image: linear-gradient(155deg, rgb(95 77 64 / 0.62) 0%, rgb(95 77 64 / 0.35) 100%), url("https://jmsdecor.com/wp-content/uploads/2025/04/H4705b9f7a8284a03b50e71f0a936ce81r_%E5%89%AF%E6%9C%AC.jpg");
}
body.elementor-page-13 .elementor-element.elementor-element-7f613118,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1 {
  background-image: linear-gradient(155deg, rgb(95 77 64 / 0.62) 0%, rgb(95 77 64 / 0.35) 100%), url("https://jmsdecor.com/wp-content/uploads/2026/06/indoor-design-wall-cladding-with-travertine-stone.jpg");
}
body.elementor-page-13 .elementor-element.elementor-element-246c91ba,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3 {
  background-image: linear-gradient(155deg, rgb(95 77 64 / 0.62) 0%, rgb(95 77 64 / 0.35) 100%), url("https://jmsdecor.com/wp-content/uploads/2026/07/hyperrealistic-architectural-photography-elegant-dubai-5star.webp");
}
body.elementor-page-13 .elementor-element.elementor-element-1b174781,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8 {
  background-image: linear-gradient(155deg, rgb(95 77 64 / 0.62) 0%, rgb(95 77 64 / 0.35) 100%), url("https://jmsdecor.com/wp-content/uploads/2025/06/H34f91ecfca694d9dbf6ccfba251df8999.jpg");
}
body.elementor-page-13 .elementor-element.elementor-element-70d52e92,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad {
  background-image: linear-gradient(155deg, rgb(95 77 64 / 0.62) 0%, rgb(95 77 64 / 0.35) 100%), url("https://jmsdecor.com/wp-content/uploads/2026/05/travertine-for-coffee-shop.jpg");
}

/* 卡片 hover：轻微上浮（页面 675 卡带 fadeIn 入场动画，动画结束后生效） */
body.elementor-page-13 .elementor-element.elementor-element-5c9d057d:hover,
body.elementor-page-13 .elementor-element.elementor-element-7f613118:hover,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba:hover,
body.elementor-page-13 .elementor-element.elementor-element-1b174781:hover,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92:hover,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c:hover,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1:hover,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3:hover,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8:hover,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgb(61 48 40 / 0.26);
}

/* 内层容器：去掉旧 4px 深棕底边与投影，改为卡片内边距 */
body.elementor-page-13 .elementor-element.elementor-element-5c9d057d > .elementor-widget-container,
body.elementor-page-13 .elementor-element.elementor-element-7f613118 > .elementor-widget-container,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba > .elementor-widget-container,
body.elementor-page-13 .elementor-element.elementor-element-1b174781 > .elementor-widget-container,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92 > .elementor-widget-container,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c > .elementor-widget-container,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1 > .elementor-widget-container,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3 > .elementor-widget-container,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8 > .elementor-widget-container,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad > .elementor-widget-container {
  border-style: none;
  border-radius: 0;
  box-shadow: none;
  padding: 28px 26px;
}

/* 卡片文字/图标 → 白色；标题 hover 奶油 #FBEAA2 */
body.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-title a,
body.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-title a,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-title a,
body.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-title a,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-title a,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-title a,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-title a,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-title a,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-title a,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-title a {
  color: #ffffff;
}

body.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-title a:hover,
body.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-title a:hover,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-title a:hover,
body.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-title a:hover,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-title a:hover,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-title a:hover,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-title a:hover,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-title a:hover,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-title a:hover,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-title a:hover {
  color: #fbeaa2;
}

body.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-description,
body.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-description,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-description,
body.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-description,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-description,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-description,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-description,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-description,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-description,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-description {
  color: rgb(255 255 255 / 0.92);
}

body.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon,
body.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon,
body.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon,
body.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon,
body.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon,
body.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon,
body.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon,
body.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon,
body.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon,
body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon {
  color: #ffffff;
}

/* 675 区域网格外层容器原为橙色底（Elementor accent），改为透明让位给卡片背景图 */
body.elementor-page-675 .elementor-element.elementor-element-6fb47d8f:not(.elementor-motion-effects-element-type-background) {
  background-color: transparent;
}

/* ---- 3) FAQ（两页均为 .elementor-toggle）：奶油底卡片 + 深棕标题 + 橙色 hover/激活/图标 ---- */
body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-toggle-item,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-toggle-item,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-toggle-item,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-toggle-item {
  background-color: #fdf8ec;
  border: 1px solid rgb(95 77 64 / 0.14);
  border-radius: 12px;
  overflow: hidden;
  margin-block-end: 14px;
}

/* 同特异性覆盖 Elementor 的 .elementor-toggle-item:not(:last-child){margin-block-end:30px} */
body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-toggle-item:not(:last-child),
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-toggle-item:not(:last-child),
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-toggle-item:not(:last-child),
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-toggle-item:not(:last-child) {
  margin-block-end: 14px;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-title,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-title,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-title,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-title {
  padding: 18px 24px;
  border: 0;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-toggle-title,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-toggle-title,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-toggle-title,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-toggle-title {
  color: #5f4d40;
  font-weight: 600;
  transition: color 0.25s ease;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-toggle-title:hover,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-toggle-title:hover,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-toggle-title:hover,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-toggle-title:hover {
  color: #efa749;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-toggle-icon,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-toggle-icon,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-toggle-icon,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-toggle-icon {
  color: #efa749;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-title .elementor-toggle-icon svg,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-title .elementor-toggle-icon svg,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-title .elementor-toggle-icon svg,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-title .elementor-toggle-icon svg {
  fill: #efa749;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-title.elementor-active a,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-title.elementor-active a,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-title.elementor-active a,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-title.elementor-active a {
  color: #efa749;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-title.elementor-active .elementor-toggle-icon,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-title.elementor-active .elementor-toggle-icon,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-title.elementor-active .elementor-toggle-icon,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-title.elementor-active .elementor-toggle-icon {
  color: #efa749;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-title.elementor-active .elementor-toggle-icon svg,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-title.elementor-active .elementor-toggle-icon svg,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-title.elementor-active .elementor-toggle-icon svg,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-title.elementor-active .elementor-toggle-icon svg {
  fill: #efa749;
}

body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-content,
body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-content,
body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-content,
body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-content {
  border: 0;
  color: #6b6157;
  padding: 2px 24px 22px;
}

/* ---- 4) 表单区（两页均为 Elementor form，提交按钮深棕 → 品牌橙）：标签白字、输入框焦点橙描边 ---- */
body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .elementor-button[type="submit"],
body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .e-form__buttons__wrapper__button-next,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .elementor-button[type="submit"],
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .e-form__buttons__wrapper__button-next {
  background-color: #efa749;
  fill: #ffffff;
  color: #ffffff;
  border-radius: 8px;
  font-weight: 700;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .elementor-button[type="submit"]:hover,
body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .elementor-button[type="submit"]:focus,
body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .e-form__buttons__wrapper__button-next:hover,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .elementor-button[type="submit"]:hover,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .elementor-button[type="submit"]:focus,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .e-form__buttons__wrapper__button-next:hover {
  background-color: #d98a2b;
  color: #ffffff;
  box-shadow: 0 10px 22px rgb(239 167 73 / 0.35);
}

body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .elementor-field-group > label,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .elementor-field-group > label {
  color: #ffffff;
  font-weight: 500;
}

body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .elementor-field:focus,
body.elementor-page-13 .elementor-element.elementor-element-275e2e26 textarea:focus,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .elementor-field:focus,
body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c textarea:focus {
  border-color: #efa749;
  box-shadow: 0 0 0 3px rgb(239 167 73 / 0.35);
  outline: none;
}

/* ---- 5) 焦点可见性：品牌橙轮廓（无障碍，:focus-visible 覆盖两页链接/按钮/输入框）---- */
body.elementor-page-13 a:focus-visible,
body.elementor-page-13 button:focus-visible,
body.elementor-page-13 input:focus-visible,
body.elementor-page-13 textarea:focus-visible,
body.elementor-page-13 select:focus-visible,
body.elementor-page-675 a:focus-visible,
body.elementor-page-675 button:focus-visible,
body.elementor-page-675 input:focus-visible,
body.elementor-page-675 textarea:focus-visible,
body.elementor-page-675 select:focus-visible {
  outline: 3px solid #efa749;
  outline-offset: 2px;
}

/* ---- 6) 移动端 ≤768px：卡片整行、背景图 cover 完整、按钮全宽、FAQ 更紧凑 ---- */
@media (max-width: 768px) {
  body.elementor-page-13 .elementor-element.elementor-element-56a8d4cf,
  body.elementor-page-13 .elementor-element.elementor-element-8654d8d,
  body.elementor-page-13 .elementor-element.elementor-element-6343ef8e,
  body.elementor-page-13 .elementor-element.elementor-element-151634c1,
  body.elementor-page-675 .elementor-element.elementor-element-3ff282b8,
  body.elementor-page-675 .elementor-element.elementor-element-49986a6d,
  body.elementor-page-675 .elementor-element.elementor-element-2c650efe,
  body.elementor-page-675 .elementor-element.elementor-element-5eedf2a {
    width: 100%;
    --width: 100%;
    margin-block-end: 20px;
  }

  body.elementor-page-13 .elementor-element.elementor-element-5c9d057d,
  body.elementor-page-13 .elementor-element.elementor-element-7f613118,
  body.elementor-page-13 .elementor-element.elementor-element-246c91ba,
  body.elementor-page-13 .elementor-element.elementor-element-1b174781,
  body.elementor-page-13 .elementor-element.elementor-element-70d52e92,
  body.elementor-page-675 .elementor-element.elementor-element-1369bc4c,
  body.elementor-page-675 .elementor-element.elementor-element-2993cce1,
  body.elementor-page-675 .elementor-element.elementor-element-77f346c3,
  body.elementor-page-675 .elementor-element.elementor-element-169b92c8,
  body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad {
    min-height: 250px;
  }

  body.elementor-page-13 .elementor-element.elementor-element-5c9d057d > .elementor-widget-container,
  body.elementor-page-13 .elementor-element.elementor-element-7f613118 > .elementor-widget-container,
  body.elementor-page-13 .elementor-element.elementor-element-246c91ba > .elementor-widget-container,
  body.elementor-page-13 .elementor-element.elementor-element-1b174781 > .elementor-widget-container,
  body.elementor-page-13 .elementor-element.elementor-element-70d52e92 > .elementor-widget-container,
  body.elementor-page-675 .elementor-element.elementor-element-1369bc4c > .elementor-widget-container,
  body.elementor-page-675 .elementor-element.elementor-element-2993cce1 > .elementor-widget-container,
  body.elementor-page-675 .elementor-element.elementor-element-77f346c3 > .elementor-widget-container,
  body.elementor-page-675 .elementor-element.elementor-element-169b92c8 > .elementor-widget-container,
  body.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad > .elementor-widget-container {
    padding: 24px 20px;
    margin: 0; /* 消除 675 卡内层原有 margin-left，移动端整行对齐 */
  }

  body.elementor-page-13 .elementor-element.elementor-element-f7f7763 .elementor-button,
  body.elementor-page-13 .elementor-element.elementor-element-17a6fbb .elementor-button,
  body.elementor-page-13 .elementor-element.elementor-element-7297685 .elementor-button,
  body.elementor-page-13 .elementor-element.elementor-element-596d44f .elementor-button,
  body.elementor-page-13 .elementor-element.elementor-element-017e851 .elementor-button,
  body.elementor-page-13 .elementor-element.elementor-element-3a773b2 .elementor-button,
  body.elementor-page-675 .elementor-element.elementor-element-6fd63aa4 .elementor-button,
  body.elementor-page-675 .elementor-element.elementor-element-3d01adb .elementor-button,
  body.elementor-page-675 .elementor-element.elementor-element-4fbc2316 .elementor-button,
  body.elementor-page-13 .elementor-element.elementor-element-275e2e26 .elementor-button[type="submit"],
  body.elementor-page-675 .elementor-element.elementor-element-3ef81e0c .elementor-button[type="submit"] {
    width: 100%;
  }

  body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-title,
  body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-title,
  body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-title,
  body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-title {
    padding: 15px 18px;
  }

  body.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc .elementor-tab-content,
  body.elementor-page-13 .elementor-element.elementor-element-17000623 .elementor-tab-content,
  body.elementor-page-675 .elementor-element.elementor-element-71fb3976 .elementor-tab-content,
  body.elementor-page-675 .elementor-element.elementor-element-1de950a7 .elementor-tab-content {
    padding: 0 18px 18px;
  }
}
/* ============ round14 结束 ============ */

/* ============================================================================
   round15: product(/product/ 页13) & solution(/solution/ 页675) 全面 UI 重设计
   目标：与 home 首页设计语言统一（Roboto / 深棕 #5f4d40 / 奶油 #fbeaa2 / 橙钮 #efa749）
   原则：内容一字不改，仅布局、背景层次、卡片、按钮、字体层级
   范围：全部以 body.elementor-page-13.elementor-page-13 / body.elementor-page-675.elementor-page-675 前缀收口
   ============================================================================ */

/* ---- 0) 两页通用字体与按钮统一（CTA 全站一致：橙色胶囊） ---- */
body.elementor-page-13,
body.elementor-page-675.elementor-page-675 {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body.elementor-page-13.elementor-page-13 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-heading-title {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #3e3228;
  letter-spacing: -0.01em;
}
body.elementor-page-13.elementor-page-13 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-widget-text-editor {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #6b6157;
  line-height: 1.7;
}

/* 所有按钮（含表单提交）→ 橙色胶囊，hover 加深上浮 */
body.elementor-page-13.elementor-page-13 .elementor-button,
body.elementor-page-675.elementor-page-675 .elementor-button {
  background-color: #efa749 !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  border-radius: 999px !important;
  border: none !important;
  padding: 0.95rem 2.3rem !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.06em !important;
  box-shadow: 0 6px 18px rgb(239 167 73 / 0.28);
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
body.elementor-page-13.elementor-page-13 .elementor-button:hover,
body.elementor-page-13.elementor-page-13 .elementor-button:focus,
body.elementor-page-675.elementor-page-675 .elementor-button:hover,
body.elementor-page-675.elementor-page-675 .elementor-button:focus {
  background-color: #d98f34 !important;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 12px 26px rgb(239 167 73 / 0.4);
}

/* ---- 1) HERO：图片底 + 深棕渐变遮罩；面包屑下移进 banner 内 ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-e3c1a96,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-af658fd {
  padding-top: clamp(3.5rem, 7vw, 5.5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 4.5rem) !important;
  position: relative;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-e3c1a96::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-af658fd::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(62 50 40 / 0.72) 0%, rgb(62 50 40 / 0.5) 40%, rgb(62 50 40 / 0.62) 100%);
  z-index: 1;
  pointer-events: none;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-e3c1a96 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-af658fd > .e-con-inner {
  position: relative;
  z-index: 2;
  align-items: center;
  text-align: center;
}
/* H1 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-11d38c7 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-b704ca8 .elementor-heading-title {
  color: #ffffff;
  font-weight: 800;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  line-height: 1.1;
  text-shadow: 0 2px 18px rgb(0 0 0 / 0.25);
}
/* hero 副文 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-0f48e49,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-cd3208b {
  color: rgb(255 255 255 / 0.88) !important;
  font-size: 1.06rem !important;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-0f48e49 p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-cd3208b p {
  margin-bottom: 0.6rem;
}
/* 面包屑：与全站 sfp-crumb 统一（hero 内顶部，拉开留白） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 {
  margin-bottom: 1.2rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb {
  font-size: 0.85rem;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.7);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb p {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb a {
  color: rgb(255 255 255 / 0.7);
  text-decoration: none;
  transition: color 0.2s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb a:hover {
  color: #fff;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb .separator,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb .separator {
  font-size: 0;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb .separator::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb .separator::before {
  content: "\203A";
  font-size: 0.85rem;
  color: rgb(255 255 255 / 0.45);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-eee8ec4 .rank-math-breadcrumb .last,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-dfc3ac9 .rank-math-breadcrumb .last {
  color: rgb(255 255 255 / 0.45);
  font-weight: 400;
}

/* ---- 2) 板块标题体系（对齐 home：居中 + 800 + 金色装饰条） ---- */
/* 独立板块头容器：收紧底部留白 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bb1b225,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-01ec4c0,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-f475f02,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-4a43194,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-17d25f83 {
  padding-bottom: 0.75rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bb1b225 .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-01ec4c0 .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-f475f02 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-4a43194 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-17d25f83 .elementor-heading-title {
  text-align: center;
  font-size: clamp(2rem, 3.6vw, 2.9rem);
  font-weight: 800;
  color: #3e3228;
  line-height: 1.12;
  margin-bottom: 0.9rem;
}
/* 金色装饰条（假 eyebrow 位置）：CSS 纯装饰，不新增文案 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bb1b225 .elementor-heading-title::after,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea .elementor-heading-title::after,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-01ec4c0 .elementor-heading-title::after,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-f475f02 .elementor-heading-title::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-4a43194 .elementor-heading-title::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-heading-title::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-17d25f83 .elementor-heading-title::after {
  content: '';
  display: block;
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: #efa749;
  margin: 1.05rem auto 0;
}
/* 板块头副文（lead） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bb1b225 .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-01ec4c0 .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-f475f02 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-4a43194 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-17d25f83 .elementor-widget-text-editor {
  text-align: center !important;
  max-width: 640px;
  margin: 0 auto;
  color: #6b6157 !important;
  font-size: 1.02rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bb1b225 .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-01ec4c0 .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-f475f02 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-4a43194 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-17d25f83 .elementor-widget-text-editor p {
  margin-bottom: 0.4rem;
}

/* ---- 3) 板块背景节奏（白 ↔ 奶油交替，两块深棕锚点） ---- */
/* product: 产品卡区 奶油 / 应用区 白 / 区域 奶油 / why 深棕 / top picks 奶油 / FAQ 白 / 表单 深棕 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5f05d089,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6fb47d8f,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f1a0dbb,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 {
  background-color: #f7f3ec;
}
/* solution: 产品卡区 奶油 / 区域 奶油 / 工厂 奶油 / 案例 奶油 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d .elementor-widget-image,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a248bf2 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 .elementor-widget-image {
  margin: 0;
}

/* ---- 4) 产品卡 / 应用卡 / 案例卡：home prod-card 风格 ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d > .e-con-inner,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a248bf2 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 > .e-con-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.4vw, 1.75rem);
  align-items: stretch;
  width: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 {
  background: #ffffff;
  border: 1px solid #e7e0d6;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgb(62 50 40 / 0.07);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 0 !important;
  width: auto !important;
  min-height: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgb(62 50 40 / 0.14);
  border-color: #d6cdc1;
}
/* 序号角标（home card-index 风格，CSS counter 纯装饰） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d > .e-con-inner,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a248bf2 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 > .e-con-inner {
  counter-reset: jms-card;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 {
  position: relative;
  counter-increment: jms-card;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01::before {
  content: counter(jms-card, decimal-leading-zero);
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 3;
  padding: 0.28rem 0.68rem;
  border-radius: 999px;
  background: #fbeaa2;
  border: 1px solid rgb(95 77 64 / 0.18);
  color: #5f4d40;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  box-shadow: 0 4px 12px rgb(62 50 40 / 0.2);
}
/* 卡内图片：16/10 裁切 + hover 缩放 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8 .elementor-widget-image,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9 .elementor-widget-image,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e .elementor-widget-image,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7 .elementor-widget-image,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b .elementor-widget-image,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 .elementor-widget-image {
  margin: 0;
  overflow: hidden;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8 .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9 .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7 .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131 .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569 .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200 .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184 .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1 .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 .elementor-widget-image img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8:hover .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9:hover .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e:hover .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7:hover .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b:hover .elementor-widget-image img,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131:hover .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569:hover .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f:hover .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200:hover .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184:hover .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1:hover .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01:hover .elementor-widget-image img {
  transform: scale(1.05);
}
/* 卡体：标题 / 描述 / 按钮贴底 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8 .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9 .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7 .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b .elementor-heading-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 .elementor-heading-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #3e3228;
  margin: 1.35rem 1.35rem 0.4rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8 .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9 .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7 .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b .elementor-widget-text-editor,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1 .elementor-widget-text-editor,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 .elementor-widget-text-editor {
  padding: 0 1.35rem;
  color: #6b6157 !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  flex: 1;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8 .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9 .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7 .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b .elementor-widget-text-editor p,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1 .elementor-widget-text-editor p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 .elementor-widget-text-editor p {
  margin-bottom: 0.6rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8 .elementor-widget-button,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9 .elementor-widget-button,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e .elementor-widget-button,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7 .elementor-widget-button,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b .elementor-widget-button,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131 .elementor-widget-button,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569 .elementor-widget-button,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f .elementor-widget-button,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200 .elementor-widget-button,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184 .elementor-widget-button,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1 .elementor-widget-button,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01 .elementor-widget-button {
  margin: auto 0 0;
  padding: 1.4rem 1.35rem 1.6rem;
}

/* ---- 5) REGION 左图右文（数据层已重建：左 55% 图集 + 右 45% 内容） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5f05d089 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6fb47d8f > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(2rem, 4.5vw, 3.75rem);
  align-items: center;
  width: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15lft01,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15lft01,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 {
  width: auto !important;
}
/* 左侧图集：2 列马赛克，首图跨 2 行（对齐正常板块 Why Our Panels Stand Out 的定高方式）
   定高铁律：单元格高度只由「容器 aspect-ratio」决定，图片用绝对定位铺满撑满。
   严禁再用 height:100% / min-height:100%：WP 会给 post_content 里的图片注入
   sizes="auto, …"，命中 img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}，
   浏览器随之对图片施加 size containment，百分比高度失去参照、回退成 1500px，
   把图片纵向拉成细高条（原 bug）。正常板块 15b-wmedia 只用 aspect-ratio 定高，故不变形。 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01.e-grid,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01.e-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto;
  grid-auto-rows: auto;
  grid-auto-flow: dense;
  gap: 14px;
  align-content: start;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01 .elementor-widget-image,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01 .elementor-widget-image {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgb(62 50 40 / 0.12);
  border: 1px solid rgb(95 77 64 / 0.1);
  transition: box-shadow 0.4s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01 .elementor-widget-image:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01 .elementor-widget-image:hover {
  box-shadow: 0 16px 34px rgb(62 50 40 / 0.2);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01 .elementor-widget-image img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01 .elementor-widget-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  display: block;
  margin: 0;
  /* 中和 WP 6.7 auto-sizes：去掉尺寸包含，百分比高度不再失参照 */
  contain: none !important;
  contain-intrinsic-size: auto !important;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01 .elementor-widget-image:hover img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01 .elementor-widget-image:hover img {
  transform: scale(1.05);
}
/* 首图跨两行：不设 aspect-ratio，靠 grid 默认 align-self:stretch 撑满两行高
   （行高由右侧两图的 4:3 决定，因此首图高度 = 两行 + gap，比例天然正确） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01 .elementor-widget-image:nth-child(1),
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01 .elementor-widget-image:nth-child(1) {
  grid-row: span 2;
  aspect-ratio: auto;
}
/* 右侧内容：5 行 icon 列表（去掉 round14 背景图卡样式） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad {
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d > .elementor-widget-container,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 > .elementor-widget-container,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba > .elementor-widget-container,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 > .elementor-widget-container,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 > .elementor-widget-container,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c > .elementor-widget-container,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 > .elementor-widget-container,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 > .elementor-widget-container,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 > .elementor-widget-container,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad > .elementor-widget-container {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* 行布局：图标金圆 + 标题 + 描述，分隔线 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.15rem 0.25rem;
  border-bottom: 1px solid rgb(95 77 64 / 0.12);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d:last-child .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118:last-child .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba:last-child .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781:last-child .elementor-icon-box-wrapper,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92:last-child .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c:last-child .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1:last-child .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3:last-child .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8:last-child .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad:last-child .elementor-icon-box-wrapper {
  border-bottom: 0;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-icon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  margin: 0 !important;
  display: grid;
  place-items: center;
  background: #fbeaa2;
  border: 1px solid rgb(95 77 64 / 0.18);
  border-radius: 50%;
  color: #5f4d40 !important;
  box-shadow: 0 6px 14px rgb(62 50 40 / 0.14);
  transition: transform 0.3s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon {
  font-size: 22px !important;
  color: #5f4d40 !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d:hover .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118:hover .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba:hover .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781:hover .elementor-icon-box-icon,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92:hover .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c:hover .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1:hover .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3:hover .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8:hover .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad:hover .elementor-icon-box-icon {
  transform: scale(1.08);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-title {
  margin: 0 0 0.3rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-title a,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-title a,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-title a,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-title a,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-title a {
  color: #3e3228;
  font-size: 1.06rem;
  font-weight: 800;
  text-decoration: none;
  transition: color 0.2s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-title a:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-title a:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-title a:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-title a:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-title a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-title a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-title a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-title a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-title a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-title a:hover {
  color: #efa749;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5c9d057d .elementor-icon-box-description,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7f613118 .elementor-icon-box-description,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-246c91ba .elementor-icon-box-description,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-1b174781 .elementor-icon-box-description,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70d52e92 .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1369bc4c .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-2993cce1 .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-77f346c3 .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-169b92c8 .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fa5c7ad .elementor-icon-box-description {
  color: #6b6157;
  font-size: 0.92rem;
  line-height: 1.65;
  margin: 0;
}

/* ---- 6) WHY OUR PANELS：深棕锚点板块（去突兀黄底） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 {
  background-color: #3e3228;
  position: relative;
  overflow: hidden;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 12%, rgb(251 234 162 / 0.14), transparent 42%),
    radial-gradient(circle at 85% 88%, rgb(239 167 73 / 0.12), transparent 45%);
  pointer-events: none;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 > .e-con-inner {
  position: relative;
  z-index: 2;
  align-items: center;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-element-41d1e425 .elementor-heading-title {
  text-align: center;
  color: #ffffff;
  font-size: clamp(2rem, 3.6vw, 2.9rem);
  font-weight: 800;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-element-41d1e425 .elementor-heading-title::after {
  content: '';
  display: block;
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: #fbeaa2;
  margin: 1.05rem auto 0;
}
/* 4 张特性卡：2x2 玻璃卡网格 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-2d380751 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100% !important;
  margin-top: clamp(1rem, 2vw, 1.75rem);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-2d380751 .elementor-widget-icon-box {
  width: 100% !important;
  background: rgb(255 255 255 / 0.06);
  border: 1px solid rgb(255 255 255 / 0.14);
  border-radius: 16px;
  padding: 1.9rem 1.6rem 2rem;
  backdrop-filter: blur(4px);
  transition: transform 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-widget-icon-box:hover {
  transform: translateY(-5px);
  background: rgb(255 255 255 / 0.1);
  border-color: rgb(251 234 162 / 0.5);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.9rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon-box-icon {
  margin: 0 !important;
  color: #fbeaa2 !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon {
  font-size: 30px !important;
  color: #fbeaa2 !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon-box-title {
  margin: 0;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon-box-title .elementor-icon-box-title-text,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon-box-title span {
  color: #ffffff;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.3;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-icon-box-description {
  color: rgb(255 255 255 / 0.75);
  font-size: 0.92rem;
  line-height: 1.65;
  margin: 0;
}

/* ---- 7) TOP PICKS 图片墙（product）：左大 + 右双叠，错落有致 ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: stretch;
  width: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 .elementor-widget-image {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgb(62 50 40 / 0.12);
  border: 1px solid rgb(95 77 64 / 0.1);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 .elementor-widget-image:hover img {
  transform: scale(1.05);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-62cf2e4 {
  height: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-62cf2e4 .elementor-widget-image img {
  aspect-ratio: auto;
  height: 100%;
  min-height: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-c46f100 {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: auto !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-c46f100 > .e-con {
  flex: 1;
  width: auto !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-c46f100 .elementor-widget-image img {
  aspect-ratio: 16 / 10.6;
}

/* ---- 8) FAQ：home faq 风格奶油卡（两页） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4b2688f6,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6803835b {
  background-color: #ffffff;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4b2688f6 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6803835b > .e-con-inner {
  width: 100%;
  align-items: center;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-75e4ae5d,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3e3324a5 {
  width: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-75e4ae5d .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3e3324a5 .elementor-heading-title {
  text-align: center;
  font-size: clamp(2rem, 3.6vw, 2.9rem);
  font-weight: 800;
  color: #3e3228;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-75e4ae5d .elementor-heading-title::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3e3324a5 .elementor-heading-title::after {
  content: '';
  display: block;
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: #efa749;
  margin: 1.05rem auto 0;
}
/* 双列 toggle 容器 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-3fcae90e,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-645f1c8 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  width: 100%;
  align-items: start;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-3ec1b8bc,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-17000623,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-71fb3976,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1de950a7 {
  width: 100% !important;
}
/* 问答卡片 */
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-toggle-item, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-toggle-item, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-toggle-item, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-toggle-item,
body.elementor-page-675.elementor-page-675 .elementor-toggle-item {
  background: #ffffff;
  border: 1px solid rgb(95 77 64 / 0.14);
  border-radius: 14px;
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgb(62 50 40 / 0.07);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-toggle-item, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-toggle-item, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-toggle-item, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-toggle-item:hover,
body.elementor-page-675.elementor-page-675 .elementor-toggle-item:hover {
  border-color: rgb(239 167 73 / 0.55);
  box-shadow: 0 14px 34px rgb(62 50 40 / 0.1);
}
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-tab-title, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-tab-title,
body.elementor-page-675.elementor-page-675 .elementor-tab-title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.1rem 1.35rem;
  color: #3e3228;
  font-weight: 800;
  font-size: 0.98rem;
  line-height: 1.4;
  transition: background 0.3s ease, color 0.3s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-tab-title, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-tab-title.elementor-active,
body.elementor-page-675.elementor-page-675 .elementor-tab-title.elementor-active {
  background: #fbf7ea;
  color: #5f4d40;
}
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-tab-title, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-tab-title .elementor-toggle-icon,
body.elementor-page-675.elementor-page-675 .elementor-tab-title .elementor-toggle-icon {
  margin-left: auto;
  color: #5f4d40;
}
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-tab-title, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-tab-title, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-tab-title.elementor-active .elementor-toggle-icon,
body.elementor-page-675.elementor-page-675 .elementor-tab-title.elementor-active .elementor-toggle-icon {
  color: #efa749;
}
body.elementor-page-13.elementor-page-13 .elementor-element-3ec1b8bc .elementor-tab-content, body.elementor-page-13.elementor-page-13 .elementor-element-17000623 .elementor-tab-content, body.elementor-page-675.elementor-page-675 .elementor-element-71fb3976 .elementor-tab-content, body.elementor-page-675.elementor-page-675 .elementor-element-1de950a7 .elementor-tab-content,
body.elementor-page-675.elementor-page-675 .elementor-tab-content {
  padding: 0.4rem 1.35rem 1.3rem;
  color: #4c443b;
  font-size: 0.94rem;
  line-height: 1.7;
}

/* ---- 9) 表单：深棕锚点板块（两页统一） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4e0baac2,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3ede9172 {
  background-color: #3e3228;
  position: relative;
  overflow: hidden;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4e0baac2::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3ede9172::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 12% 18%, rgb(251 234 162 / 0.13), transparent 40%),
    radial-gradient(circle at 88% 82%, rgb(239 167 73 / 0.1), transparent 42%);
  pointer-events: none;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4e0baac2 > .e-con-inner,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3ede9172 > .e-con-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
  width: 100%;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5cb73da7,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-2dde73b2,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-67fe1e29,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-9d8829 {
  width: auto !important;
}
/* 左栏文案 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5886c318 .elementor-heading-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3991968a .elementor-heading-title {
  color: #ffffff;
  font-weight: 800;
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  line-height: 1.15;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-321898e3,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3595e2eb {
  color: rgb(255 255 255 / 0.82) !important;
  font-size: 1rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-321898e3 p,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3595e2eb p {
  margin-bottom: 0.5rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-6793005a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-34421b6 {
  margin-top: 1.6rem;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgb(251 234 162 / 0.4);
  box-shadow: 0 18px 40px rgb(0 0 0 / 0.3);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-6793005a img,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-34421b6 img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  max-width: 100%;
}
/* 右栏标题 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-d895892 .elementor-heading-title {
  color: #ffffff;
  font-weight: 800;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
  margin-bottom: 1.2rem;
}
/* 表单字段 */
body.elementor-page-13.elementor-page-13 .elementor-field-label,
body.elementor-page-675.elementor-page-675 .elementor-field-label {
  color: rgb(255 255 255 / 0.88) !important;
  font-weight: 600;
  font-size: 0.85rem;
}
body.elementor-page-13.elementor-page-13 .elementor-field-group .elementor-field,
body.elementor-page-675.elementor-page-675 .elementor-field-group .elementor-field {
  background: #ffffff !important;
  color: #3e3228 !important;
  border-radius: 10px !important;
  border: 1px solid rgb(255 255 255 / 0.6) !important;
  padding: 0.85rem 1.05rem !important;
  font-size: 0.95rem !important;
  font-family: 'Roboto', sans-serif !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-field-group .elementor-field:focus,
body.elementor-page-675.elementor-page-675 .elementor-field-group .elementor-field:focus {
  border-color: #efa749 !important;
  box-shadow: 0 0 0 3px rgb(239 167 73 / 0.35);
  outline: none;
}
body.elementor-page-13.elementor-page-13 .elementor-field-group .elementor-field::placeholder,
body.elementor-page-675.elementor-page-675 .elementor-field-group .elementor-field::placeholder {
  color: #9a8f83;
}
body.elementor-page-13.elementor-page-13 .elementor-field-subgroup label,
body.elementor-page-675.elementor-page-675 .elementor-field-subgroup label {
  color: rgb(255 255 255 / 0.85);
  font-size: 0.9rem;
}
body.elementor-page-13.elementor-page-13 .elementor-field-group .elementor-button,
body.elementor-page-675.elementor-page-675 .elementor-field-group .elementor-button {
  padding: 1.1rem 2rem !important;
  font-size: 1rem !important;
}

/* ---- 10) solution 工厂板块：左文右图 + 6 图错落马赛克 ---- */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-divider {
  justify-content: center;
  padding: 0.5rem 0;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-divider-separator {
  width: 56px;
  border-top: 3px solid #fbeaa2;
  border-radius: 999px;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-divider__element {
  color: #efa749;
  font-size: 18px;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f1a0dbb > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
  width: 100%;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7268af2,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-600ee1c {
  width: auto !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3bff8d1 {
  color: #4c443b !important;
  font-size: 1rem !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3bff8d1 p {
  margin-bottom: 0.9rem;
  line-height: 1.8;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-e242b4a {
  text-align: left;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560.e-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 118px;
  grid-auto-flow: dense;
  gap: 12px;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgb(62 50 40 / 0.12);
  transition: box-shadow 0.35s ease;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:hover {
  box-shadow: 0 16px 32px rgb(62 50 40 / 0.2);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:hover img {
  transform: scale(1.06);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:nth-child(1),
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:nth-child(2) {
  grid-column: span 2;
  grid-row: span 2;
}

/* ---- 11) 移动端响应式 ---- */
@media (max-width: 1024px) {
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d > .e-con-inner,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a248bf2 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-element-2d380751 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* 区域分栏 → 堆叠（内容在前，图集在后，同 home why-split） */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5f05d089 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6fb47d8f > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 {
    order: -1;
  }
}
@media (max-width: 767px) {
  /* 全部网格 → 单列 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d > .e-con-inner,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a248bf2 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 > .e-con-inner,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5f05d089 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6fb47d8f > .e-con-inner,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 > .e-con-inner,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-2d380751,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4e0baac2 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3ede9172 > .e-con-inner,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f1a0dbb > .e-con-inner,
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-3fcae90e,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-645f1c8 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  /* 区域：内容在前，图集在后（与 home 移动端一致） */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 {
    order: -1;
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15grd01.e-grid,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15grd01.e-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* top picks：全宽堆叠 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-62cf2e4 .elementor-widget-image img {
    aspect-ratio: 16 / 10;
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-c46f100 > .e-con {
    width: 100% !important;
  }
  /* 工厂马赛克 → 2 列 */
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560.e-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 120px;
  }
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:nth-child(1),
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:nth-child(2) {
    grid-column: span 2;
  }
  /* hero 字号收敛 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-11d38c7 .elementor-heading-title,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-b704ca8 .elementor-heading-title {
    font-size: clamp(1.9rem, 8vw, 2.4rem);
  }
  /* FAQ 卡片标题字号 */
  body.elementor-page-13.elementor-page-13 .elementor-tab-title,
  body.elementor-page-675.elementor-page-675 .elementor-tab-title {
    font-size: 0.92rem;
    padding: 1rem 1.1rem;
  }
}
/* ============ round15 结束 ============ */
/* ============================================================================
   round15b: 汇总页 UI 终版修复（/product/ 页13 + /solution/ 页675）
   目标：①板块背景衔接零白条（margin 清零+每带显色） ②卡片序号徽章几何 bug 修复
        ③region 金箭头 → 白卡数字行（链接不变、整行可点） ④why 板块重设计
        （左图集 + 右编号列表，文案原样） ⑤top picks 整齐 3×2 图墙
   色板严格统一：#3E3228 深棕 / #5F4D40 棕 / #FBEAA2 奶油 / #EFA749 橙 / #F7F3EC 浅奶油 / #FFF
   ============================================================================ */

/* ---- A) 根治白条：顶层板块 margin 清零，间距改为带内 padding ---- */
body.elementor-page-13 .elementor.elementor-13 > .e-con,
body.elementor-page-675 .elementor.elementor-675 > .e-con {
  margin-block: 0 !important;
}
body.elementor-page-13 .site-footer,
body.elementor-page-675 .site-footer {
  margin-top: 0 !important;
}

/* ---- B) 页13 节奏：hero → 奶油(标题1+卡1) → 白(标题2+职业卡) → 奶油(标题3+区域)
          → 深棕(why) → 奶油(标题4+top picks) → 白(FAQ) → 深棕(表单) → footer ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bb1b225 {
  background-color: #f7f3ec;
  padding: clamp(3rem, 5.5vw, 4.5rem) 0 clamp(0.5rem, 1vw, 0.9rem) !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-055b77d {
  padding: clamp(0.75rem, 1.5vw, 1.25rem) 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-bf6d1ea {
  background-color: #ffffff;
  padding: clamp(2.5rem, 4.5vw, 3.75rem) 0 0.5rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a248bf2 {
  background-color: #ffffff;
  padding: 0.5rem 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-01ec4c0 {
  background-color: #f7f3ec;
  padding: clamp(2.5rem, 4.5vw, 3.75rem) 0 0.5rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-5f05d089 {
  padding: 0.5rem 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 {
  padding: clamp(3.5rem, 6vw, 5rem) 0 !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-f475f02 {
  background-color: #f7f3ec;
  padding: clamp(3rem, 5.5vw, 4.5rem) 0 0.5rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 {
  padding: 0.5rem 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4b2688f6 {
  padding: clamp(3rem, 5.5vw, 4.5rem) 0 !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4e0baac2 {
  padding: clamp(3.5rem, 6vw, 5rem) 0 !important;
}

/* ---- C) 页675 节奏：hero → 奶油(标题1+产品卡) → 奶油(区域标题+区域)
          → 白(工厂标题+内容) → 奶油(案例标题+案例卡) → 白(FAQ) → 深棕(表单) ---- */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-4a43194 {
  background-color: #f7f3ec;
  padding: clamp(3rem, 5.5vw, 4.5rem) 0 clamp(0.5rem, 1vw, 0.9rem) !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6c98ba94 {
  padding: clamp(0.75rem, 1.5vw, 1.25rem) 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
/* 区域标题带：原橙色 → 统一奶油 + home 标题体系（橙是按钮色，不做板块底） */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 {
  background-color: #f7f3ec !important;
  padding: clamp(2.5rem, 4.5vw, 3.75rem) 0 0.5rem !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-heading-title {
  text-align: center;
  font-size: clamp(2rem, 3.6vw, 2.9rem);
  font-weight: 800;
  color: #3e3228 !important;
  line-height: 1.12;
  margin-bottom: 0.9rem;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-heading-title::after {
  content: '';
  display: block;
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: #efa749;
  margin: 1.05rem auto 0;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-widget-text-editor {
  text-align: center !important;
  max-width: 640px;
  margin: 0 auto;
  color: #6b6157 !important;
  font-size: 1.02rem !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f9d0a23 .elementor-widget-text-editor p {
  margin-bottom: 0.4rem;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6fb47d8f {
  padding: 0.5rem 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
/* 工厂带：白底（divider 橙色装饰条，标题棕） */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 {
  background-color: #ffffff;
  padding: clamp(2.5rem, 4.5vw, 3.75rem) 0 0.25rem !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-divider-separator {
  border-top-color: #efa749 !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-heading-title {
  text-align: center;
  font-size: clamp(2rem, 3.6vw, 2.9rem);
  font-weight: 800;
  color: #3e3228 !important;
  line-height: 1.12;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f1a0dbb {
  background-color: #ffffff;
  padding: 0.5rem 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-17d25f83 {
  background-color: #f7f3ec;
  padding: clamp(2.5rem, 4.5vw, 3.75rem) 0 0.5rem !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-45385807 {
  padding: 0.5rem 0 clamp(3rem, 5.5vw, 4.5rem) !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6803835b {
  padding: clamp(3rem, 5.5vw, 4.5rem) 0 !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3ede9172 {
  padding: clamp(3.5rem, 6vw, 5rem) 0 !important;
}

/* ---- D) 卡片序号徽章：几何全量归位（修复整卡金椭圆覆盖 bug） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-539b6a8::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-a5a18a9::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7ea754e::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-7602ff7::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-81c5b5b::before,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-b8a1131::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-73909569::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-6a43873f::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-1fea2200::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7cd4f184::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-57f4ba1::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-28653c01::before {
  content: counter(jms-card, decimal-leading-zero) !important;
  position: absolute !important;
  inset: auto !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0.3rem 0.72rem !important;
  border-radius: 999px !important;
  background: #fbeaa2 !important;
  border: 1px solid rgb(95 77 64 / 0.18) !important;
  color: #5f4d40 !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
  box-shadow: 0 4px 12px rgb(62 50 40 / 0.2) !important;
  display: block !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

/* ---- E) REGION 行重设计：金箭头 → 白卡 + 奶油方角数字块（整行可点，链接不变） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 {
  counter-reset: jms-region;
  gap: 0.85rem !important;
  justify-content: flex-start !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box {
  counter-increment: jms-region;
  width: 100% !important;
  background: #ffffff;
  border: 1px solid rgb(95 77 64 / 0.12);
  border-radius: 14px;
  box-shadow: 0 2px 10px rgb(62 50 40 / 0.04);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box:hover {
  border-color: rgb(239 167 73 / 0.55);
  box-shadow: 0 14px 28px rgb(62 50 40 / 0.12);
  transform: translateY(-2px);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper {
  position: relative;
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.05rem;
  margin: 0 !important;
  padding: 1.15rem 1.4rem;
}
/* 数字块：奶油方角（区别于 home 圆点，region 专属） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::before {
  content: counter(jms-region, decimal-leading-zero);
  flex: 0 0 2.7rem;
  width: 2.7rem;
  height: 2.7rem;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #fbeaa2;
  color: #5f4d40;
  font-weight: 800;
  font-size: 0.86rem;
  letter-spacing: 0.04em;
  box-shadow: inset 0 0 0 1px rgb(95 77 64 / 0.14);
}
/* 原金色圆箭头：隐藏图形，锚点拉伸为整行透明可点区（href 不变） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 svg,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 svg {
  display: none !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon {
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  z-index: 6;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon a.elementor-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon a.elementor-icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon a.elementor-icon:focus-visible,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon a.elementor-icon:focus-visible {
  outline: 2px solid #efa749;
  outline-offset: -2px;
  opacity: 1;
}
/* 行内文字 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-content,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-content {
  padding-top: 0.1rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title {
  margin: 0 0 0.3rem;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title {
  color: #3e3228 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-description {
  color: #6b6157 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  margin: 0;
}

/* ---- F) WHY 板块重设计（页13）：标题通栏 + 左图集 2×2 + 右编号特性行 ----
   版式：仿 home why-split 的"图+文"结构，但图集排布/编号形态/背景氛围不同 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  column-gap: clamp(2rem, 4vw, 3.5rem);
  row-gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
  width: 100% !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 .elementor-element-41d1e425 {
  grid-column: 1 / -1;
  width: 100%;
}
/* 左：2×2 图集（第2列下沉错位） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wmedia {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.7rem, 1.4vw, 1rem);
  align-content: center;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wmedia .elementor-widget-image {
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 0.16);
  box-shadow: 0 18px 36px rgb(0 0 0 / 0.28);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wmedia .elementor-widget-image:nth-child(even) {
  transform: translateY(clamp(0.8rem, 2vw, 1.4rem));
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wmedia .elementor-widget-image img {
  width: 100%;
  aspect-ratio: 1 / 0.78;
  object-fit: cover;
  display: block;
}
/* 右：4 特性行（金圆序号 + 白标题 + 半透明描述，行间奶油发丝线） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist {
  width: 100% !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  counter-reset: jms-why;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-widget-icon-box {
  counter-increment: jms-why;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.2rem;
  margin: 0 !important;
  padding: clamp(1rem, 1.8vw, 1.35rem) 0;
  border-bottom: 1px solid rgb(255 255 255 / 0.1);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-widget-icon-box:last-child .elementor-icon-box-wrapper {
  border-bottom: 0;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-wrapper::before {
  content: counter(jms-why, decimal-leading-zero);
  flex: 0 0 2.9rem;
  width: 2.9rem;
  height: 2.9rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fbeaa2;
  color: #5f4d40;
  font-weight: 800;
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  box-shadow: 0 6px 16px rgb(0 0 0 / 0.22);
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-widget-icon-box:hover .elementor-icon-box-wrapper::before {
  background: #efa749;
  color: #ffffff;
  transform: translateY(-2px);
}
/* 隐藏原图标（fa-cubes / fa-highlighter 等与风格不符） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-icon {
  display: none !important;
}
/* 中和 round15 遗留的玻璃卡 hover/底色（2d380751 已废，旧规则落在此容器上） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-widget-icon-box:hover {
  background: transparent !important;
  border-color: transparent !important;
  transform: none !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-title {
  margin: 0 0 0.35rem;
  color: #ffffff !important;
  font-size: clamp(1.02rem, 1.6vw, 1.18rem) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-description {
  color: rgb(255 255 255 / 0.72) !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  margin: 0;
}

/* ---- G) TOP PICKS（页13）：整齐 3×2 图墙 ---- */
/* 中和 round15 误把 70709f0 子容器当网格的旧规则（旧 2 列错落结构已废） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 > .e-con {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: stretch !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-70709f0 > .e-con-inner {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  width: 100% !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.25rem);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid .elementor-widget-image {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgb(95 77 64 / 0.1);
  box-shadow: 0 10px 26px rgb(62 50 40 / 0.09);
  background: #ffffff;
  transition: box-shadow 0.4s ease, transform 0.4s ease;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid .elementor-widget-image:hover {
  box-shadow: 0 18px 38px rgb(62 50 40 / 0.16);
  transform: translateY(-4px);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid .elementor-widget-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid .elementor-widget-image:hover img {
  transform: scale(1.05);
}

/* ---- H) 移动端 ---- */
@media (max-width: 1024px) {
  /* why → 上下堆叠（图集在上、特性在下），图集仍 2×2 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-4f524d91 > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wmedia {
    max-width: 640px;
    width: 100% !important;
  }
  /* top picks 2 列 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-tpgrid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wmedia .elementor-widget-image img {
    aspect-ratio: 1 / 0.9;
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-wrapper {
    gap: 0.95rem;
  }
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15b-wlist .elementor-icon-box-wrapper::before {
    flex-basis: 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}
/* ============ round15b 结束 ============ */

/* ============================================================================
   round16: /product/ 页13 & /solution/ 页675 终审整改
   ①region 行卡右侧加醒目橙圆箭头按钮（整行链接不变，纯 CSS 装饰按钮）
   ②region 左列图 / why 拼贴图 → 场景应用图 + 生产实拍图（数据已换）
   ③p675 工厂板块全新设计：清除旧模板棕/橙底 + 删旧分隔图标
     → 白带内 居中文案 + 橙钮（弹窗）+ 3×2 大幅实拍图墙
   ④CTA 区（两页）：清旧白卡、删旧内嵌表单（数据已删）
     → 深棕带内 文案 + 橙钮（弹窗，同 home 机制）
   色板统一：#3E3228 深棕 / #5F4D40 棕 / #FBEAA2 奶油 / #EFA749 橙 / #FFF
   ============================================================================ */

/* ---- A) region 行卡：右端橙圆箭头按钮（纯装饰，点击仍走整行原链接） ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper {
  align-items: center !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after {
  content: '';
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  margin-left: auto;
  border-radius: 50%;
  background-color: #efa749;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem;
  box-shadow: 0 8px 18px rgb(239 167 73 / 0.35);
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  pointer-events: none;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box:hover .elementor-icon-box-wrapper::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box:hover .elementor-icon-box-wrapper::after {
  background-color: #3e3228;
  transform: translateX(3px);
  box-shadow: 0 10px 22px rgb(62 50 40 / 0.28);
}

/* ---- B) p675 工厂板块：全新布局（旧橙图标分隔与棕/橙底已在数据中清除） ---- */
/* 标题：与全站板块头统一（divider 装饰已删，用金条替代其视觉节奏） */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-heading-title {
  position: relative;
  padding-bottom: 1.15rem;
  margin-bottom: 0.4rem;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-42b48857 .elementor-heading-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: #efa749;
}
/* 内容带：文字全宽居中在上、图墙全宽在下（替代旧的左卡右马赛克） */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-f1a0dbb > .e-con-inner {
  display: flex !important;
  flex-direction: column;
  grid-template-columns: none !important;
  gap: clamp(1.6rem, 3vw, 2.4rem);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7268af2,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-600ee1c {
  width: 100% !important;
  max-width: 1160px;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-7268af2 {
  align-items: center !important;
  text-align: center;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3bff8d1 {
  color: #5f4d40 !important;
  font-size: 1.02rem !important;
  max-width: 860px;
  margin: 0 auto !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-3bff8d1 p {
  margin-bottom: 0.9rem;
  line-height: 1.8;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-e242b4a {
  text-align: center;
  margin-top: 0.4rem;
}
/* 图墙：3×2 大幅圆角（旧 4 列 118px 小格作废） */
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560.e-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: clamp(220px, 21vw, 300px);
  grid-auto-flow: row;
  gap: clamp(0.8rem, 1.4vw, 1.1rem);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgb(95 77 64 / 0.1);
  box-shadow: 0 12px 28px rgb(62 50 40 / 0.1);
  transition: box-shadow 0.35s ease, transform 0.35s ease;
  background: #ffffff;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:hover {
  box-shadow: 0 20px 40px rgb(62 50 40 / 0.18);
  transform: translateY(-4px);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:nth-child(1),
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:nth-child(2) {
  grid-column: auto !important;
  grid-row: auto !important;
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
  display: block;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560 .elementor-widget-image:hover img {
  transform: scale(1.05);
}

/* ---- C) CTA 区（两页）：旧白卡/旧内嵌表单清除 → 深棕带内 标题+橙钮弹窗 ---- */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-2dde73b2,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-9d8829 {
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-d895892 {
  margin-bottom: 0.9rem !important;
}
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-d895892 .elementor-heading-title {
  text-align: center;
}
/* 弹窗触发按钮（两页 CTA，替代原内嵌表单提交） */
body.elementor-page-13.elementor-page-13 .r16-cta-zone,
body.elementor-page-675.elementor-page-675 .r16-cta-zone {
  margin-top: 1.1rem;
  text-align: center;
}
body.elementor-page-13.elementor-page-13 .r16-cta-btn,
body.elementor-page-675.elementor-page-675 .r16-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background-color: #efa749;
  color: #ffffff !important;
  padding: 1.05rem 2.5rem;
  border-radius: 999px;
  font-family: 'Roboto', sans-serif;
  font-weight: 800;
  font-size: 0.98rem;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgb(0 0 0 / 0.28);
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
body.elementor-page-13.elementor-page-13 .r16-cta-btn:hover,
body.elementor-page-13.elementor-page-13 .r16-cta-btn:focus,
body.elementor-page-675.elementor-page-675 .r16-cta-btn:hover,
body.elementor-page-675.elementor-page-675 .r16-cta-btn:focus {
  background-color: #d98f34;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 16px 34px rgb(239 167 73 / 0.45);
}

/* ---- D) 移动端 ---- */
@media (max-width: 640px) {
  /* region 行按钮收小 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after {
    flex-basis: 2.6rem;
    width: 2.6rem;
    height: 2.6rem;
    background-size: 1.05rem;
  }
  /* 工厂图墙 2 列 */
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-12f9560.e-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: clamp(150px, 38vw, 230px);
  }
}
@media (max-width: 1024px) {
  /* CTA 两栏在窄屏仍保持左右结构时：左栏文字右栏按钮不挤压 */
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-2dde73b2 .r16-cta-btn,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-9d8829 .r16-cta-btn {
    padding: 0.95rem 2rem;
  }
}
/* ============ round16 结束 ============ */

/* ============ round17: CTA 左图右文 + 字号统一 ============ */
/* 背景统一为首页同款深棕渐变 */
body.elementor-page-13 .elementor-element-4e0baac2,
body.elementor-page-675 .elementor-element-3ede9172 {
  background: linear-gradient(115deg, #3e3228 0%, #5f4d40 100%) !important;
  background-color: transparent !important;
}
/* 左右两列垂直居中 + 加大列间距 */
body.elementor-page-13 .elementor-element-4e0baac2 > .e-con-inner,
body.elementor-page-675 .elementor-element-3ede9172 > .e-con-inner {
  align-items: center !important;
  gap: 48px !important;
}
/* 左列图片: 圆角 */
body.elementor-page-13 .elementor-element-5cb73da7 img,
body.elementor-page-675 .elementor-element-67fe1e29 img {
  border-radius: 14px !important;
  width: 100% !important;
}
/* 右列文本容器: 去阴影、内容居中 */
body.elementor-page-13 .elementor-element-2dde73b2,
body.elementor-page-675 .elementor-element-9d8829 {
  box-shadow: none !important;
  text-align: center !important;
  justify-content: center !important;
}
body.elementor-page-13 .elementor-element-2dde73b2 .elementor-widget,
body.elementor-page-675 .elementor-element-9d8829 .elementor-widget {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 主标题: 与全页 H2 同字号(46px) */
body.elementor-page-13 .elementor-element-5886c318 h2,
body.elementor-page-675 .elementor-element-3991968a h2 {
  font-size: 46px !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  text-align: center !important;
}
/* 描述文字: 18px(与首页正文一致), 白 */
body.elementor-page-13 .elementor-element-321898e3 p,
body.elementor-page-675 .elementor-element-3595e2eb p {
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-align: center !important;
  max-width: 560px !important;
}
/* 动作引导标题(Let's Talk!): 金色 30px */
body.elementor-page-13 .elementor-element-d895892 h2 {
  font-size: 30px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #fbeaa2 !important;
  text-align: center !important;
}
/* 按钮字号与首页一致 17px, 保证点击高度 */
body.elementor-page-13 .elementor-element-4e0baac2 .r16-cta-btn,
body.elementor-page-675 .elementor-element-3ede9172 .r16-cta-btn {
  font-size: 17px !important;
  padding: 1.05rem 2.7rem !important;
}
/* 移动端: 图在上文字在下, 收紧间距 */
@media (max-width: 767px) {
  body.elementor-page-13 .elementor-element-4e0baac2 > .e-con-inner,
  body.elementor-page-675 .elementor-element-3ede9172 > .e-con-inner {
    gap: 34px !important;
  }
  body.elementor-page-13 .elementor-element-5886c318 h2,
  body.elementor-page-675 .elementor-element-3991968a h2 {
    font-size: 38px !important;
  }
  body.elementor-page-13 .elementor-element-321898e3 p,
  body.elementor-page-675 .elementor-element-3595e2eb p {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }
  body.elementor-page-13 .elementor-element-5cb73da7 img,
  body.elementor-page-675 .elementor-element-67fe1e29 img {
    border-radius: 12px !important;
  }
}
/* round18 补充: 超窄屏(<360px)按钮文字较长, 收窄内边距保持单行 */
@media (max-width: 359px) {
  body.elementor-page-13 .elementor-element-4e0baac2 .r16-cta-btn,
  body.elementor-page-675 .elementor-element-3ede9172 .r16-cta-btn {
    padding: 0.9rem 1.4rem !important;
    font-size: 16px !important;
  }
}
/* ============ round17 结束 ============ */



/* ============ round19b: REGION 行 — 右端橙圆标识可跳转(整行透明链接, 视觉不动) ============
   右侧橙圆是 wrapper::after 伪元素装饰, 本身不可点。此处将行内标题的真实链接
   (href 指向各区域页) 拉伸覆盖整行: 点击橙圆/描述/空白处均跳转, 文字视觉不变。 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 5 !important;
  text-decoration: none !important;
}
/* 整行悬停时标题文字保持原色(避免误触发 hover 变色) */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a:hover,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a:focus,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a:hover,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a:focus {
  color: #3e3228 !important;
}
/* ============ round19b 结束 ============ */

/* ============ round20: REGION 行 — 去数字角标、橙圆箭头移行首为唯一标志（整行透明链接不变） ============ */
/* 1) 隐藏 01-05 数字角标 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::before,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::before {
  display: none !important;
}
/* 2) 隐藏原左上黄色图标圆及其透明链接层（链接统一由整行 title-a 承担） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon {
  display: none !important;
}
/* 3) 橙圆箭头（原行尾）移到行首作唯一标志 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after {
  order: -1 !important;
  margin-left: 0 !important;
}
/* 4) 标题与描述统一左对齐成列 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a,
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-description,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-description {
  text-align: left !important;
}
/* ============ round20 结束 ============ */

/* ============ round21: REGION 行对齐重构 — title/desc 同列左对齐、行首橙圆按钮、5 行内边距统一 ============ */
/* 0) 5 张行卡统一左右内边距 20px（第1行原本少 20px 导致箭头/文字列错位） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 > .elementor-widget-icon-box,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 > .elementor-widget-icon-box {
  padding: 0 20px 0 20px !important;
}
/* 1) title 链接恢复常规流 → 标题文字回到内容列，与 description 左对齐成列 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-title a {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
}
/* 2) 图标容器 = 行首 48px 橙圆箭头按钮（内部透明链接层拉伸整行 → 橙圆/文字/整行均可点） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  flex: 0 0 3rem !important;
  width: 3rem !important;
  height: 3rem !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: #efa749 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 1.25rem !important;
  box-shadow: 0 8px 18px rgb(239 167 73 / 0.35) !important;
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}
/* 3) hover：行悬停 → 圆钮深棕并右移（延续原箭头动效） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box:hover .elementor-icon-box-icon,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-widget-icon-box:hover .elementor-icon-box-icon {
  background-color: #3e3228 !important;
  transform: translateX(3px) !important;
  box-shadow: 0 10px 22px rgb(62 50 40 / 0.28) !important;
}
/* 4) 隐藏行尾原装饰橙圆（已由行首按钮取代） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper::after {
  display: none !important;
}
/* 5) 移动端圆钮收小 */
@media (max-width: 640px) {
  body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon,
  body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-icon {
    flex-basis: 2.6rem !important;
    width: 2.6rem !important;
    height: 2.6rem !important;
    background-size: 1.05rem !important;
  }
}


/* round21b: 统一各行 wrapper 内边距（行2-5 被 Elementor 页面 CSS 加了 20px，与行1 错位） */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 .elementor-icon-box-wrapper {
  padding: 1.15rem 1.4rem !important;
}


/* round21c: 行2-5 的 widget 容器自带 20px 左 margin（Elementor 页面CSS），统一归零 */
body.elementor-page-13.elementor-page-13 .elementor-element.elementor-element-15rgt01 > .elementor-widget-icon-box > .elementor-widget-container,
body.elementor-page-675.elementor-page-675 .elementor-element.elementor-element-15rgt01 > .elementor-widget-icon-box > .elementor-widget-container {
  margin: 0 !important;
}
/* ============ round21 结束 ============ */
/* ============================================================
   round22: 产品详情页 demo（.jms-pd / product-detail-demo）
   视觉与主页完全一致：白/米白交替、深棕标题、金奶胶囊、
   琥珀橙按钮、卡片圆角16 + 上浮 hover。全 token 化。
   ============================================================ */

/* ---------- hero（深色大图，主页 page-hero--home 同款语言） ---------- */
.page-hero--pd {
  position: relative;
  padding-block: clamp(4.75rem, 8.5vw, 7.5rem);
  background-color: #3e3228;
  background-size: cover;
  background-position: center;
  color: var(--color-text-inverse);
}
.page-hero--pd::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgb(62 50 40 / 0.92) 0%, rgb(62 50 40 / 0.74) 45%, rgb(62 50 40 / 0.4) 100%);
  pointer-events: none;
}
.page-hero--pd .container-xl { position: relative; z-index: 1; }
.jms-home .page-hero--pd h1 {
  max-width: 24ch;
  margin: 0 0 1.1rem;
  color: var(--color-text-inverse);
  font-size: clamp(3rem, 5.5vw, 4.5rem);
  font-weight: 900;
  line-height: 1.08;
  text-wrap: balance;
}
.page-hero--pd .section-lead {
  max-width: 60ch;
  margin: 0 0 0.6rem;
  color: rgb(255 255 255 / 0.85);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
}
.page-hero--pd .page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.6rem;
}
.btn-lg-pd {
  min-height: 56px;
  padding: 0.95rem 2.5rem;
  font-size: 1.02rem;
  letter-spacing: 2.5px;
}
.page-hero--pd .btn-outline {
  background: transparent;
  border-color: #ffffff;
  color: #ffffff;
}
.page-hero--pd .btn-outline:hover,
.page-hero--pd .btn-outline:focus {
  background: #ffffff;
  border-color: #ffffff;
  color: #3e3228;
}

/* ---------- split 图文 ---------- */
.pd-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
}
/* pd-split--rev: 桌面端翻转成「图左文右」，制造 zig-zag 节奏。
   此前 --rev 是死类（main.css 从未定义），所有 .pd-split 段落都同向。
   特异性 (.jms-pd .pd-split--rev > .pd-split__media) 高于移动端 .pd-split .pd-split__content，
   故移动端需在下方 media query 内显式复位。 */
.jms-pd .pd-split--rev > .pd-split__media { order: -1; }
.pd-split__content { min-width: 0; }
.pd-split__content .section-title { margin-bottom: clamp(1.2rem, 2.4vw, 1.7rem); }
.pd-split__content > p {
  max-width: 58ch;
  margin: 0 0 1rem;
}
.pd-split__content > p:last-child { margin-bottom: 0; }
.pd-split__content .btn { margin-top: 0.4rem; }
.pd-split__media { min-width: 0; }
.pd-split__figure {
  margin: 0;
  border-radius: var(--card-radius);
  overflow: hidden;
  background: var(--color-border);
  box-shadow: var(--shadow-card);
}
.pd-split__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.pd-split__figure.pd-figure--sq img { aspect-ratio: 1 / 1; }

/* 特性列表（s3/s8/s9）：沿用主页 why-split__list 组件样式 */
.jms-pd .why-split__list { margin-bottom: clamp(1.4rem, 2.6vw, 2rem); }
.jms-pd .why-split__list li { display: flex; gap: 1rem; align-items: flex-start; }
.jms-pd .why-split__list h3 { margin: 0 0 0.3rem; }
.jms-pd .why-split__list p { margin: 0; }

/* r23 fix1: 序号圆形徽章 → 金色圆形打勾（列表/特性场景用 ✓；真实流程步骤如 Wholesale Step 保留数字）
   作用于 demo + home（两页仅此处使用 why-split__num，且均为特性清单，语义一致） */
.jms-home .why-split__num {
  font-size: 0;
}
.jms-home .why-split__num::after {
  content: '\2713';
  font-size: 1.18rem;
  line-height: 1;
  font-weight: 800;
  color: #3e3228;
}

/* 标注行（"Normally size :1200*600mm"）金底胶囊 */
.pd-note {
  display: inline-block;
  margin: 0.3rem 0 1.4rem;
  padding: 0.5rem 1.1rem;
  border-radius: 999px;
  background: var(--color-gold);
  color: var(--color-primary);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* ---------- s4 Collection 8 卡（4 列，主页 prod-card 语言） ---------- */
.pd-col-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}
.pd-col-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.4s var(--primitive-ease-smooth);
}
.pd-col-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--color-border-strong);
}
.pd-col-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--color-border);
}
.pd-col-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
/* r23 fix2: 产品卡图统一 4/3（删除竖版 3/4 特例） */
.pd-col-card:hover .pd-col-card__media img { transform: scale(1.03); }
.pd-col-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.45rem;
  padding: 1.3rem 1.35rem 1.5rem;
}
.pd-col-card__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading);
}
.pd-col-card__desc {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.65;
  color: var(--color-text-muted);
}
.pd-col-card__spec-title {
  margin: 0.55rem 0 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.pd-col-card__specs {
  display: grid;
  gap: 0.3rem;
  margin: 0.2rem 0 0;
  padding: 0;
  list-style: none;
}
.pd-col-card__specs li {
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}
.pd-col-card__leadtime {
  margin: auto 0 0;
  padding-top: 0.7rem;
  border-top: 1px dashed var(--color-border-strong);
  font-size: 0.86rem;
  font-weight: 800;
  color: var(--color-primary);
}

/* ---------- s5 textures：文字列 + 2x2 方图 ---------- */
.pd-tex-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.7rem, 1.4vw, 1rem);
}
.pd-tex-item {
  margin: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-border);
  box-shadow: var(--shadow-card);
}
.pd-tex-item img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.pd-tex-item:hover img { transform: scale(1.04); }

/* s5 系列名（裸 h3，在 pd-split__content 内） */
.pd-split__content h3 {
  margin: 1.15rem 0 0.15rem;
  font-family: var(--font-heading);
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.35;
  color: var(--color-heading);
}
.pd-split__content h3 + h3 { margin-top: 0.5rem; }

/* ---------- s6 Where to Use（3 列应用卡） ---------- */
.pd-app-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}
.pd-app-grid--2col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pd-app-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.4s var(--primitive-ease-smooth);
}
.pd-app-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--color-border-strong);
}
.pd-app-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--color-border);
}
.pd-app-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.pd-app-card:hover .pd-app-card__media img { transform: scale(1.03); }
.pd-app-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.4rem;
  padding: 1.25rem 1.3rem 1.4rem;
}
.pd-app-card__body h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading);
}
.pd-app-card__body p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.65;
  color: var(--color-text-muted);
}

/* ---------- s7 OEM 深棕渐变横幅 ---------- */
.jms-pd-oem {
  background: linear-gradient(115deg, #3e3228 0%, #5f4d40 100%);
  color: var(--color-text-inverse);
  padding-block: clamp(3.5rem, 7vw, 5.5rem);
}
/* r24: OEM 标题字号与全站板块标题统一（.jms-pd-oem 无 .section 类，漏命中
   全站 .section-title clamp 规则，被 .elementor-kit-6 h2 20px 误伤） */
.jms-pd-oem .section-title {
  color: #ffffff;
  margin-bottom: 1.2rem;
  font-size: clamp(2.35rem, 3.8vw, 3.3rem);
}
.jms-pd-oem .section-lead {
  max-width: 52ch;
  color: rgb(255 255 255 / 0.85);
  font-size: 1.08rem;
}
.jms-pd-oem .btn-primary { margin-top: 0.7rem; }
.jms-pd-oem .pd-split__figure { box-shadow: 0 20px 45px rgb(0 0 0 / 0.3); }
.pd-oem-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.4rem);
  margin-top: clamp(2.4rem, 4.5vw, 3.5rem);
}
.pd-oem-item {
  background: rgb(255 255 255 / 0.05);
  border: 1px solid rgb(255 255 255 / 0.16);
  border-radius: var(--card-radius);
  padding: 1.35rem 1.4rem 1.5rem;
}
/* r23 fix3: OEM 卡片标签更大更亮（Colors/Patterns 等一眼可读）。
   ⚠️ 须带 .jms-pd-oem 前缀：.pd-oem-item h3 (0,0,1,1) 与 Elementor kit 的
   .elementor-kit-6 h3 特异性相同且 post-6.css 后加载取胜（18px+深棕字），
   深底卡片上会暗到看不清——前缀提升到 (0,0,2,1) 才能压住。 */
.jms-pd-oem .pd-oem-item h3 {
  margin: 0 0 0.6rem;
  font-family: var(--font-heading);
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #fbeaa2;
}
.pd-oem-item p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
  color: rgb(255 255 255 / 0.88);
}

/* ---------- s8 Installation 2x2 图 ---------- */
.pd-inst-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.7rem, 1.4vw, 1.1rem);
}
.pd-inst-item {
  margin: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-border);
}
.pd-inst-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.pd-inst-item:hover img { transform: scale(1.04); }

/* ---------- s10 5 步流程时间线 ---------- */
.pd-steps {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pd-step {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--color-border);
}
.pd-step:first-child { padding-top: 0; }
.pd-step:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.pd-step__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.7rem;
}
.pd-step__kicker {
  flex: none;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  background: var(--color-gold);
  color: var(--color-primary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pd-step__head h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading);
}
.pd-step p {
  max-width: 60ch;
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--color-text-muted);
}
.pd-step__meta {
  display: inline-block;
  margin: 0 0.5rem 0.4rem 0;
  padding: 0.28rem 0.7rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-soft);
  color: var(--color-primary);
  font-size: 0.85rem;
  font-weight: 700;
}
/* sticky 右侧图 */
.pd-split:has(.pd-sticky) { align-items: stretch; }
.pd-split__media:has(.pd-sticky) { display: flex; justify-content: center; }
.pd-sticky {
  position: sticky;
  top: 120px;
  width: 100%;
  max-width: 430px;
  margin: 0;
}
.pd-split__figure.pd-sticky img { aspect-ratio: auto; height: auto; }

/* ---------- s11 照片墙 ---------- */
.pd-wall {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.4rem);
}
.pd-wall__item {
  margin: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-border);
  box-shadow: var(--shadow-card);
}
.pd-wall__item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.pd-wall__item:hover img { transform: scale(1.04); }

/* ---------- s13 证言 ---------- */
.pd-testi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.1rem, 2.2vw, 1.8rem);
  align-items: stretch;
}
.pd-testi {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  margin: 0;
  padding: clamp(1.4rem, 2.4vw, 2rem);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-btn);
  border-radius: var(--card-radius);
  box-shadow: var(--shadow-card);
}
.pd-testi blockquote { margin: 0; }
.pd-testi blockquote p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.75;
  color: var(--color-text-muted);
}
.pd-testi figcaption {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border);
  font-size: 0.92rem;
  color: var(--color-text-muted);
}
.pd-testi figcaption strong {
  color: var(--color-primary);
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* ---------- s14 双表单深棕横幅 ---------- */
.jms-pd-form-band {
  background: linear-gradient(130deg, #3e3228 0%, #5f4d40 100%);
  color: var(--color-text-inverse);
  padding-block: clamp(4rem, 7vw, 6rem);
}
/* 深色 CTA 带内的 outline 副按钮：默认 .btn-outline 是深棕字，落在深色渐变上几乎不可见。
   仅限 .jms-pd-form-band（深色）作用域，改为浅色文字 + 浅色边框，全站统一可读。 */
.jms-pd-form-band .btn-outline {
  color: var(--color-gold);
  border-color: rgb(251 234 162 / 0.6);
}
.jms-pd-form-band .btn-outline:hover {
  color: #ffffff;
  border-color: rgb(255 255 255 / 0.7);
  background: rgb(255 255 255 / 0.08);
}
.pd-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 4.5vw, 4.5rem);
  align-items: center;
}
.pd-form-row + .pd-form-row {
  margin-top: clamp(3rem, 5vw, 4.5rem);
  padding-top: clamp(3rem, 5vw, 4.5rem);
  border-top: 1px solid rgb(255 255 255 / 0.15);
}
.pd-form-row[id] { scroll-margin-top: 110px; }
.pd-form-copy { min-width: 0; }
/* r24: 提前缀压 .elementor-kit-6 h2 20px 误伤（同特异性后加载取胜） */
.jms-pd-form-band .pd-form-copy h2 {
  margin: 0 0 1.1rem;
  font-family: var(--font-heading);
  font-size: clamp(1.9rem, 3.2vw, 2.7rem);
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
}
.jms-pd-form-band .pd-form-copy h3 {
  margin: 1.6rem 0 0.6rem;
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 800;
  color: #fbeaa2;
}
.pd-form-copy > p {
  max-width: 56ch;
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.75;
  color: rgb(255 255 255 / 0.85);
}
.pd-form-copy .pd-split__figure {
  width: min(460px, 100%);
  margin-top: 1.4rem;
  box-shadow: 0 20px 45px rgb(0 0 0 / 0.3);
}
.pd-form-copy .pd-split__figure img { aspect-ratio: auto; height: auto; }
.pd-form-card {
  background: #ffffff;
  border-radius: var(--card-radius);
  padding: clamp(1.5rem, 2.6vw, 2.2rem);
  box-shadow: 0 24px 60px rgb(0 0 0 / 0.3);
  color: var(--color-heading);
}
.pd-form-card .wpcf7 p { margin: 0.55rem 0; }
.pd-form-card input[type='text'],
.pd-form-card input[type='email'],
.pd-form-card input[type='tel'],
.pd-form-card input[type='url'],
.pd-form-card textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 8px;
  background: #ffffff;
  color: var(--color-heading);
  font: inherit;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.pd-form-card input:focus,
.pd-form-card textarea:focus {
  outline: none;
  border-color: var(--color-btn);
  box-shadow: 0 0 0 3px rgb(239 167 73 / 0.25);
}
.pd-form-card textarea { min-height: 120px; resize: vertical; }
.pd-form-card input[type='checkbox'] {
  width: 17px;
  height: 17px;
  flex: none;
  margin: 0.15rem 0 0;
  accent-color: var(--color-btn);
}
.pd-form-card label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}
.pd-form-card .wpcf7-list-item { margin: 0; }
.pd-form-card input[type='submit'] {
  width: 100%;
  margin-top: 0.85rem;
  padding: 1rem 1.5rem;
  border: 0;
  border-radius: 6px;
  background: var(--color-btn);
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.pd-form-card input[type='submit']:hover {
  background: var(--color-btn-hover);
  box-shadow: var(--shadow-button-hover);
  transform: scale(1.02);
}

/* ---------- s13b 交叉销售（WPC / Custom 双卡） ---------- */
.pd-xgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.4vw, 2rem);
}
.pd-xcard {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.4s var(--primitive-ease-smooth);
}
.pd-xcard:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--color-border-strong);
}
.pd-xcard__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--color-border);
}
.pd-xcard__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.pd-xcard__media--custom img { object-position: 50% 25%; }
.pd-xcard:hover .pd-xcard__media img { transform: scale(1.03); }
.pd-xcard__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7rem;
  flex: 1;
  padding: 1.5rem 1.6rem 1.7rem;
}
.pd-xcard__body h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading);
}
.pd-xcard__body p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--color-text-muted);
}
.pd-xcard__body .btn { margin-top: auto; }

/* ---------- 响应式 ---------- */
@media (max-width: 1023px) {
  .pd-split { grid-template-columns: 1fr; gap: 1.9rem; }
  .pd-split .pd-split__content { order: -1; }
  /* 翻转版在窄屏回到「文上图下」，与基准版式一致 */
  .jms-pd .pd-split--rev > .pd-split__media { order: 0; }
  .pd-sticky { position: static; max-width: none; }
  .pd-split__media:has(.pd-sticky) { display: block; }
  .pd-col-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-col-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-oem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-testi-grid { grid-template-columns: 1fr; }
  .pd-xgrid { grid-template-columns: 1fr; }
  .pd-xcard__body .btn { margin-top: 0; }
  .pd-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-form-row { grid-template-columns: 1fr; }
  .pd-form-row .pd-form-copy { order: -1; }
}
@media (max-width: 620px) {
  .page-hero--pd .page-hero__actions { flex-direction: column; align-items: stretch; }
  .page-hero--pd .page-hero__actions .btn-lg-pd { width: 100%; }
  .pd-col-grid { grid-template-columns: 1fr; }
  .pd-col-grid--3 { grid-template-columns: 1fr; }
  .pd-app-grid { grid-template-columns: 1fr; }
  .pd-oem-grid { grid-template-columns: 1fr; }
  .pd-wall { grid-template-columns: 1fr; }
  .pd-step__head { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
}

/* ---------- r25 demo末行CTA: 右卡文字+按钮, 弹窗内嵌CF7 5684 ---------- */
.pd-quote-card {
  display: flex;
  align-items: center;
  text-align: center;
}
.pd-quote-card__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1rem;
  width: 100%;
}
/* r25: 双类前缀(0,0,2,1)压 .elementor-kit-6 h3(0,0,1,1) */
.pd-quote-card__copy h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-heading);
}
.pd-quote-card__copy p {
  max-width: 38ch;
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.7;
  color: var(--color-text-muted);
}
.pd-quote-card__btn {
  min-width: min(240px, 100%);
  margin-top: 0.3rem;
  padding-inline: 2rem;
  text-align: center;
  justify-content: center;
}
/* ---------- 弹窗层 ---------- */
.pd-quote-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}
.pd-quote-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.pd-quote-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(62, 50, 40, 0.78);
  backdrop-filter: blur(6px);
}
.pd-quote-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  max-height: calc(100vh - 2.5rem);
  overflow: hidden;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 30px 90px rgb(0 0 0 / 0.42);
  transform: translateY(16px) scale(0.98);
  transition: transform 0.28s ease;
}
.pd-quote-modal.is-open .pd-quote-modal__dialog {
  transform: translateY(0) scale(1);
}
.pd-quote-modal__close {
  position: absolute;
  top: 0.55rem;
  right: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: var(--color-btn);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 8px 20px rgb(0 0 0 / 0.18);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.pd-quote-modal__close:hover {
  background: var(--color-btn-hover);
  transform: rotate(90deg);
}
/* r25: .pd-quote-modal .pd-quote-modal__title (0,0,2,0) 压 elementor kit */
.pd-quote-modal .pd-quote-modal__card {
  max-height: calc(100vh - 2.5rem);
  overflow-y: auto;
  padding: clamp(1.5rem, 3.4vw, 2.3rem);
  border-radius: 20px;
  box-shadow: none;
}
.pd-quote-modal .pd-quote-modal__title {
  margin: 0 2.4rem 1rem 0;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.6vw, 1.75rem);
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-heading);
}
.pd-quote-modal__note {
  margin: 1.1rem 0 0;
  font-size: 0.84rem;
  line-height: 1.6;
  text-align: center;
  color: var(--color-text-muted);
}
body.pd-quote-modal-lock {
  overflow: hidden;
}
@media (max-width: 620px) {
  .pd-quote-modal {
    padding: 0.75rem;
  }
  .pd-quote-modal .pd-quote-modal__card {
    padding: 1.3rem 1.1rem 1.4rem;
  }
}


/* ============ r26: quick-quote 弹窗按钮（pd 页多区块） ============ */
.jms-pd .pd-split__cta {
  margin-top: 1.6rem;
}
.pd-col-card__cta {
  margin-top: auto;
}
.pd-col-card__cta .btn {
  width: 100%;
}
@media (max-width: 991px) {
  .pd-col-card__cta .btn {
    padding-inline: 1.1rem;
    white-space: normal;
  }
}

/* ============ r27: Why Choose 图取景修正 + 产品卡按钮对齐 ============ */
/* r27: Key Benefits 右图 (check-stone-bendable) 原 4/3 居中裁切把板材顶部弯折边裁掉;
   object-position 上移取景 (仅针对该图, 不波及其他 pd-split 图) */
.jms-pd .pd-split__figure img[src*="check-stone-bendable"] {
  object-position: 50% 10%;
}
/* r27: 带 leadtime 的卡中 leadtime(margin:auto) 与 cta(margin-top:auto) 平分剩余空间,
   使 cta 未贴底、按钮行内错位 17px; leadtime 改为自然流, 仅 cta 保留 auto 贴底对齐 */
.pd-col-card__leadtime {
  margin: 0;
}

/* ============================================================
   round28: solution-for-professional 页面改版（.jms-sfp）
   复用 .jms-pd / .pd-* 设计系统，补充页面特有组件。
   ============================================================ */

/* ---------- Profession Cards (3-col) ---------- */
.jms-sfp .sfp-role-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.5vw, 2rem);
}
.jms-sfp .sfp-role-card {
  display: flex;
  flex-direction: column;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: transform 0.4s var(--primitive-ease-smooth), box-shadow 0.4s var(--primitive-ease-smooth), border-color 0.4s var(--primitive-ease-smooth);
}
.jms-sfp .sfp-role-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--color-border-strong);
}
.jms-sfp .sfp-role-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--color-border);
}
.jms-sfp .sfp-role-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--primitive-ease-smooth);
}
.jms-sfp .sfp-role-card:hover .sfp-role-card__media img { transform: scale(1.03); }
.jms-sfp .sfp-role-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.5rem;
  padding: 1.4rem 1.35rem 1.6rem;
}
.jms-sfp .sfp-role-card__body h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading);
}
.jms-sfp .sfp-role-card__body p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.65;
  color: var(--color-text-muted);
}
.jms-sfp .sfp-role-card__body .btn { margin-top: auto; }

/* ---------- Product Grid (3-col variant) ---------- */
.jms-sfp .sfp-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}

/* ---------- Catalog (dark section) ---------- */
.jms-sfp .sfp-catalog {
  background: var(--color-primary);
  color: var(--color-text-inverse);
  border-radius: var(--card-radius);
  padding: clamp(2rem, 4vw, 3.5rem);
}
.jms-sfp .sfp-catalog .section-title {
  color: var(--color-text-inverse);
}
.jms-sfp .sfp-catalog ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 1.5rem;
  display: grid;
  gap: 0.75rem;
}
.jms-sfp .sfp-catalog li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.95rem;
  line-height: 1.6;
}
.jms-sfp .sfp-catalog li svg {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
  fill: var(--color-gold);
}
.jms-sfp .sfp-catalog .pd-split__figure {
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.25);
}

/* ---------- Region Grid (2-col) ---------- */
.jms-sfp .sfp-region-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.jms-sfp .sfp-region-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.1rem 1.3rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  transition: border-color 0.3s, box-shadow 0.3s;
}
.jms-sfp .sfp-region-item:hover {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-card);
}
.jms-sfp .sfp-region-item svg {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.1rem;
  fill: var(--color-gold);
}
.jms-sfp .sfp-region-item h4 {
  margin: 0 0 0.2rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-heading);
}
.jms-sfp .sfp-region-item p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .jms-sfp .sfp-role-grid { grid-template-columns: 1fr; }
  .jms-sfp .sfp-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jms-sfp .sfp-region-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .jms-sfp .sfp-product-grid { grid-template-columns: 1fr; }
}

/* ---------- 全站统一面包屑 sfp-crumb（2026-09 全站统一） ---------- */
.sfp-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1.2rem;
  font-size: 0.85rem;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.7);
}
.sfp-crumb a,
nav.sfp-crumb a {
  color: rgb(255 255 255 / 0.7);
  text-decoration: none;
  transition: color 0.2s;
}
.sfp-crumb a:hover,
nav.sfp-crumb a:hover { color: #fff; }
.sfp-crumb span { color: rgb(255 255 255 / 0.45); }

/* 浅色背景页（如法务页 privacy/terms）上的面包屑变体 */
.sfp-crumb.sfp-crumb--light { color: rgb(62 50 40 / 0.65); }
.sfp-crumb.sfp-crumb--light a { color: rgb(62 50 40 / 0.7); }
.sfp-crumb.sfp-crumb--light a:hover { color: #3e3228; }
.sfp-crumb.sfp-crumb--light span { color: rgb(62 50 40 / 0.42); }

/* profession card 按钮齐平：btn 推到卡片底部 */
.jms-sfp .pd-app-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.jms-sfp .pd-app-card__body .btn {
  margin-top: auto;
  width: 100%;
  text-align: center;
}

/* ──────────────────────────────────────────────
   round29 · .jms-home Product Palette Cards
   Kukauto-style: dark image panel + white text
   ────────────────────────────────────────────── */
.jms-home .arch-pcards {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.jms-home .arch-pcard {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 20px rgb(0 0 0 / 0.08);
  background: #fff;
  margin-bottom: 2.5rem;
}
.jms-home .arch-pcard:last-child { margin-bottom: 0; }

/* reverse = image LEFT, text RIGHT */
.jms-home .arch-pcard--rev {
  grid-template-columns: 1.08fr 1fr;
}
.jms-home .arch-pcard--rev .arch-pcard__visual { order: 1; }
.jms-home .arch-pcard--rev .arch-pcard__text  { order: 2; }

/* ── text side (dark) ── */
.jms-home .arch-pcard__text {
  padding: clamp(2rem, 3.5vw, 3.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-primary, #3e3228);
  color: #fff;
}
.jms-home .arch-pcard__label {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: var(--color-accent, #efa749);
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}
.jms-home .arch-pcard__title {
  font-size: clamp(1.25rem, 1.8vw, 1.65rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 1.4rem;
  line-height: 1.3;
}

/* specs list */
.jms-home .arch-pcard__specs {
  margin: 0;
  padding: 0;
}
.jms-home .arch-pcard__spec {
  margin-bottom: 1rem;
  padding-left: 0.85rem;
  border-left: 3px solid var(--color-accent, #efa749);
}
.jms-home .arch-pcard__spec:last-child { margin-bottom: 0; }
.jms-home .arch-pcard__spec dt {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 0.5);
  margin-bottom: 0.2rem;
}
.jms-home .arch-pcard__spec dd {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: rgb(255 255 255 / 0.85);
}

/* buttons */
.jms-home .arch-pcard__actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.8rem;
  flex-wrap: wrap;
}
.jms-home .arch-pcard__actions .btn {
  font-size: 0.85rem;
  padding: 0.6rem 1.3rem;
}
.jms-home .arch-pcard__actions .btn-outline {
  color: #fff;
  border-color: rgb(255 255 255 / 0.4);
}
.jms-home .arch-pcard__actions .btn-outline:hover {
  background: rgb(255 255 255 / 0.1);
  border-color: #fff;
}

/* ── image side (white showcase) ── */
.jms-home .arch-pcard__visual {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  min-height: 380px;
  border: 1px solid var(--color-border, #e8e0d8);
}
.jms-home .arch-pcard__gallery {
  display: flex;
  gap: 0.75rem;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.jms-home .arch-pcard__gallery img {
  flex: 1 1 0;
  max-width: 48%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
  border-radius: 8px;
  transition: transform 0.35s ease;
}
.jms-home .arch-pcard__gallery img:hover {
  transform: scale(1.04);
}
/* single image fills the visual panel */
.jms-home .arch-pcard__gallery--single img {
  max-width: 80%;
  max-height: 340px;
}

/* ── responsive ── */
@media (max-width: 1024px) {
  .jms-home .arch-pcard,
  .jms-home .arch-pcard--rev {
    grid-template-columns: 1fr;
  }
  .jms-home .arch-pcard--rev .arch-pcard__visual { order: 1; }
  .jms-home .arch-pcard--rev .arch-pcard__text  { order: 2; }
  .jms-home .arch-pcard__visual { min-height: 280px; }
}
@media (max-width: 640px) {
  .jms-home .arch-pcard__gallery { flex-direction: column; }
  .jms-home .arch-pcard__gallery img { max-width: 100%; max-height: 220px; }
  .jms-home .arch-pcard__actions { flex-direction: column; }
  .jms-home .arch-pcard__actions .btn { width: 100%; text-align: center; }
}

/* ── round29b · arch region list + CTA actions ── */
.jms-home .arch-region-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.4rem;
  margin: 1.2rem 0 0.4rem;
}
.jms-home .arch-region-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-primary, #3e3228);
}
.jms-home .arch-region-item svg {
  width: 0.85rem;
  height: 0.85rem;
  fill: var(--color-accent, #efa749);
  flex-shrink: 0;
}

/* ── na-challenge-grid: card grid for Challenges & Client Stories ── */
.na-challenge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}
.na-challenge-card {
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e8e0d8);
  border-radius: 16px;
  padding: clamp(1.5rem, 2.5vw, 2rem);
  display: flex;
  flex-direction: column;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.na-challenge-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgb(0 0 0 / 0.08);
}
.na-challenge-card__media {
  margin: calc(-1 * clamp(1.5rem, 2.5vw, 2rem)) calc(-1 * clamp(1.5rem, 2.5vw, 2rem)) 1.2rem;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}
.na-challenge-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.na-challenge-card:hover .na-challenge-card__media img {
  transform: scale(1.04);
}
.na-challenge-card__media--lg {
  aspect-ratio: 16 / 9;
}
.na-project-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.2rem, 2.5vw, 2rem);
}
.na-challenge-card__title {
  margin: 0 0 1.2rem;
  font-family: var(--font-heading);
  font-size: clamp(1.2rem, 1.6vw, 1.4rem);
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-heading, #3e3228);
}
.na-ps { margin-bottom: 0.9rem; }
.na-ps:last-child { margin-bottom: 0; }
.na-ps__label {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.15rem 0.55rem;
  border-radius: 4px;
  margin-bottom: 0.3rem;
  line-height: 1.5;
}
.na-ps__label--problem {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}
.na-ps__label--solution {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #bbf7d0;
}
.na-ps__label--result {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.na-ps p {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--color-text-muted, #6b5c4f);
}

/* pd-col-grid 3-column modifier */
.pd-col-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 960px;
  margin-inline: auto;
}

/* CTA actions in form band */
.jms-home .arch-cta-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 2rem;
  background: rgb(255 255 255 / 0.08);
  border-radius: 16px;
  border: 1px solid rgb(255 255 255 / 0.15);
}
.jms-home .arch-cta-actions .btn {
  min-width: 220px;
  text-align: center;
}
.jms-home .arch-cta-actions ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.2rem;
}
.jms-home .arch-cta-actions li {
  font-size: 0.82rem;
  color: rgb(255 255 255 / 0.7);
  padding-left: 1rem;
  position: relative;
}
.jms-home .arch-cta-actions li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--color-accent, #efa749);
  font-weight: 700;
}
@media (max-width: 768px) {
  .jms-home .arch-cta-actions {
    align-items: stretch;
  }
  .jms-home .arch-cta-actions .btn {
    min-width: auto;
    width: 100%;
  }
}

/* ---------- 2026-09-06 CTA band v2: 统一quote band(有图:左小图+右文+按钮; 无图:左文+右卡片按钮) ---------- */
.jms-pd .pd-cta-row {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
}
.jms-pd .pd-cta-row[id] { scroll-margin-top: 110px; }
.jms-pd .pd-cta-media { min-width: 0; }
.jms-pd .pd-cta-media img {
  width: min(400px, 100%);
  height: auto;
  display: block;
  margin-inline: auto;
  border-radius: var(--card-radius);
  box-shadow: 0 20px 45px rgb(0 0 0 / 0.32);
}
.jms-pd .pd-cta-body { min-width: 0; }
.jms-pd .pd-cta-body h2 {
  margin: 0 0 1.1rem;
  font-family: var(--font-heading);
  font-size: clamp(1.9rem, 3.2vw, 2.7rem);
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
}
.jms-pd .pd-cta-body > p {
  max-width: 56ch;
  margin: 0 0 0.9rem;
  font-size: 1rem;
  line-height: 1.75;
  color: rgb(255 255 255 / 0.85);
}
.jms-pd .pd-cta-steps {
  list-style: none;
  padding: 0;
  margin: 0.6rem 0 0;
  display: grid;
  gap: 0.35rem;
}
.jms-pd .pd-cta-steps li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.85);
}
.jms-pd .pd-cta-steps li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--color-gold);
  font-weight: 700;
}
.jms-pd .pd-cta-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: clamp(1.5rem, 2.6vw, 2.2rem);
  background: rgb(255 255 255 / 0.08);
  border: 1px solid rgb(255 255 255 / 0.15);
  border-radius: 16px;
}
.jms-pd .pd-cta-card h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 2.1vw, 1.65rem);
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-gold);
}
.jms-pd .pd-cta-card p {
  max-width: 40ch;
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.7;
  color: rgb(255 255 255 / 0.8);
}
.jms-pd .pd-cta-card .btn {
  min-width: min(230px, 100%);
  margin-top: 0.35rem;
  text-align: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .jms-pd .pd-cta-row { grid-template-columns: 1fr; }
  .jms-pd .pd-cta-media { order: 2; margin-top: 0.4rem; }
  /* .btn 基类是 white-space:nowrap（见 1015），而 .btn-lg-pd 带 2.5rem 横向内距 + 2.5px 字距，
     390px 下长标签（"Request a Hospitality Quote" 实测 380px、
     "Request Samples for the Panel Schedule" 实测 416.7px）撑破 .pd-cta-card / .pd-split__cta，
     造成 72px / 46.7px 横向溢出。仅移动端允许换行并限幅，桌面内距与字距完全不变。 */
  .jms-pd .pd-split__cta .btn,
  .jms-pd .pd-cta-card .btn,
  .jms-pd .pd-xcard__body .btn,
  .page-hero--pd .page-hero__actions .btn-lg-pd {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .jms-pd .pd-cta-card .btn {
    width: 100%;
    padding-left: 1.15rem;
    padding-right: 1.15rem;
    letter-spacing: 1.5px;
  }
}

/* ──────────────────────────────────────────────
   T07 · Legal pages (Privacy Policy / Terms & Conditions)
   .jms-legal + .page-hero--legal + TOC layout
   ────────────────────────────────────────────── */
.page-hero--legal {
  position: relative;
  padding-block: clamp(4.75rem, 8.5vw, 7.5rem);
  background: linear-gradient(125deg, #2a231b 0%, #43352a 55%, #57432f 100%);
  color: var(--color-text-inverse);
}
.page-hero--legal::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgb(42 35 27 / 0.9) 0%, rgb(67 53 42 / 0.72) 45%, rgb(87 67 47 / 0.42) 100%);
  pointer-events: none;
}
.page-hero--legal .container-xl { position: relative; z-index: 1; }
.jms-home .page-hero--legal h1 {
  max-width: 24ch;
  margin: 0 0 1rem;
  color: var(--color-text-inverse);
  font-size: clamp(2.7rem, 5vw, 4rem);
  font-weight: 900;
  line-height: 1.08;
}
.page-hero--legal .section-lead {
  max-width: 62ch;
  margin: 0;
  color: rgb(255 255 255 / 0.85);
}

.jms-legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 250px) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.jms-legal-toc {
  position: sticky;
  top: 120px;
  padding: 1.4rem 1.5rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
}
.jms-legal-toc__title {
  margin: 0 0 0.7rem;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-heading);
}
.jms-legal-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: toc;
}
.jms-legal-toc li { counter-increment: toc; }
.jms-legal-toc a {
  display: block;
  padding: 0.42rem 0.4rem;
  padding-left: 1.6rem;
  position: relative;
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--color-text-muted);
  text-decoration: none;
  border-radius: 6px;
  transition: color 0.2s, background 0.2s;
}
.jms-legal-toc a::before {
  content: counter(toc);
  position: absolute;
  left: 0.4rem;
  top: 0.42rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-gold);
}
.jms-legal-toc a:hover {
  color: var(--color-primary);
  background: var(--color-bg-soft);
}

.jms-legal-content { min-width: 0; }
.jms-legal-content > p {
  font-size: clamp(1rem, 1.35vw, 1.07rem);
  line-height: var(--body-lh);
  color: var(--color-text);
}
.jms-legal-content h2 {
  margin: clamp(2.2rem, 4vw, 3rem) 0 0.9rem;
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.2vw, 1.8rem);
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-heading);
}
.jms-legal-content h2::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 0.7rem;
  background: var(--color-gold);
  border-radius: 2px;
}
.jms-legal-content h3 {
  margin: 1.6rem 0 0.55rem;
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--color-heading);
}
.jms-legal-content ul {
  margin: 0.7rem 0 1.4rem;
  padding-left: 1.2rem;
}
.jms-legal-content li {
  margin-bottom: 0.45rem;
  line-height: var(--body-lh);
  color: var(--color-text);
}
.jms-legal-content a { color: var(--color-primary); }

.jms-legal-contact {
  margin-top: 1.2rem;
  padding: 1.5rem 1.7rem;
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
}
.jms-legal-contact p { margin: 0; line-height: 1.85; color: var(--color-text); }
.jms-legal-contact a { color: var(--color-primary); }

@media (max-width: 991px) {
  .jms-legal-layout { grid-template-columns: 1fr; }
  .jms-legal-toc { position: static; }
}

/* ──────────────────────────────────────────────
   T07 · Thank-you pages (thankyou / google-ads-thankyou-page)
   ────────────────────────────────────────────── */
.jms-thanks-card {
  max-width: 760px;
  margin-inline: auto;
  padding: clamp(2.2rem, 4vw, 3.4rem);
  text-align: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
  box-shadow: 0 12px 40px rgb(0 0 0 / 0.06);
}
.jms-thanks-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 1.3rem;
  background: var(--color-gold);
  border-radius: 50%;
}
.jms-thanks-icon svg { width: 30px; height: 30px; fill: var(--color-primary-strong); }
.jms-thanks-card h2 {
  margin: 0 0 0.9rem;
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  font-weight: 800;
  color: var(--color-heading);
}
.jms-thanks-card > p {
  max-width: 52ch;
  margin: 0 auto 1.6rem;
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  line-height: var(--body-lh);
  color: var(--color-text-muted);
}
.jms-thanks-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.9rem;
  margin-bottom: 2.2rem;
}
.jms-thanks-media {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
}
.jms-thanks-media img { width: 100%; height: auto; display: block; }
@media (max-width: 640px) {
  .jms-thanks-actions { flex-direction: column; }
  .jms-thanks-actions .btn { width: 100%; text-align: center; justify-content: center; }
}

/* ──────────────────────────────────────────────
   T07 · About Lily (founder profile)
   ────────────────────────────────────────────── */
.jms-profile {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 4.5vw, 4rem);
  align-items: center;
  padding: clamp(2rem, 3.5vw, 3rem);
  margin-bottom: 2rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--card-radius);
}
.jms-profile:last-child { margin-bottom: 0; }
.jms-profile__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  border-radius: 12px;
  overflow: hidden;
}
.jms-profile__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jms-profile__media--muted {
  background: var(--color-bg-soft);
}
.jms-profile__media--muted svg {
  width: clamp(72px, 10vw, 116px);
  height: auto;
  fill: var(--color-gold);
  opacity: 0.9;
}
.jms-profile__body { min-width: 0; }
.jms-profile__role {
  display: inline-block;
  margin-bottom: 0.7rem;
  padding: 0.3rem 0.8rem;
  background: var(--color-gold);
  border-radius: 20px;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-primary-strong);
}
.jms-profile__body h2 {
  margin: 0 0 0.9rem;
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.2vw, 1.8rem);
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-heading);
}
.jms-profile__body p {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  line-height: var(--body-lh);
  color: var(--color-text);
}
.jms-profile__body p:last-child { margin-bottom: 0; }
@media (max-width: 991px) {
  .jms-profile { grid-template-columns: 1fr; }
  .jms-profile__media { min-height: 200px; }
}