/* English desktop baseline v1. The sole source for new component parameters.
   English pages share typography and palette at every width. */
html[data-site-version] {
  --jyh-type-family: "Saira", "Segoe UI", sans-serif;
  --jyh-type-navigation-family: var(--jyh-type-family);
  --jyh-type-heading-weight: 700;
  --jyh-type-hero-family: "JYH Display", "Segoe UI", sans-serif;
  --jyh-type-hero-weight: 400;
  --jyh-type-hero-tracking: .028em;
  --jyh-type-copy-tracking: .058em;
  --jyh-line-hero: 1;
  --jyh-line-copy: 1.88;
  --jyh-page-surface: #f3f6f8;
  /* Contact-page atmosphere. Opt-in per page: only templates that add the
     contact-atmosphere body class paint it, every other page keeps the flat
     page surface. The rings are an SVG of vector strokes rather than CSS
     gradients: gradients rasterise the curve pixel by pixel and stair-step on
     1x displays, while a stroke is antialiased as a shape, exactly like the
     rounded navigation pills. Ring geometry lives in atmosphere-rings.svg and the
     spectrum skyline in atmosphere-spectrum.svg;
     base colour, glow and wash live here. */
  --jyh-atmosphere-base: #dbe8f4;
  --jyh-atmosphere-rings: url("atmosphere-rings.svg?v=atmosphere-20261030c");
  --jyh-atmosphere-spectrum: url("atmosphere-spectrum.svg?v=spectrum-20261030a");
  --jyh-atmosphere-glow: radial-gradient(1200px 620px at 92% -10%, rgba(23, 102, 163, .30), rgba(23, 102, 163, 0) 60%);
  --jyh-atmosphere-wash: linear-gradient(180deg, #e9f2f9 0%, #d8e6f2 60%, #e2ecf5 100%);
  --jyh-atmosphere-layers:
    var(--jyh-atmosphere-spectrum),
    var(--jyh-atmosphere-rings),
    var(--jyh-atmosphere-glow),
    var(--jyh-atmosphere-wash);
  --jyh-navy-card-shadow-deep: 0 36px 96px rgba(7, 22, 36, .34);
  --jyh-panel-surface: #ffffff;
  --jyh-subtle-surface: #f7f9fb;
  --jyh-page-text: #172b3a;
  --jyh-page-muted: #536775;
  --jyh-page-accent: #1766a3;
  --jyh-page-accent-hover: #124f80;
  --jyh-page-border: #d4dfe6;
  --jyh-page-hover: #edf4f9;
  --jyh-page-selected: #e6f0f8;
  --jyh-page-shadow: 0 4px 16px rgba(23, 43, 58, .045);
  --jyh-page-focus: 0 0 0 3px rgba(23, 102, 163, .16);
  --jyh-page-error-surface: #fff1f1;
  --jyh-page-error-text: #992b37;
  --jyh-page-error-border: #e7b4ba;
  --jyh-page-success-surface: #edf8f1;
  --jyh-page-success-text: #21613b;
  --jyh-chrome-surface: linear-gradient(180deg, rgba(17, 26, 36, .99), rgba(12, 20, 29, .99));
  --jyh-chrome-text: #f5f7fa;
  --jyh-chrome-muted: #ccd7df;
  --jyh-chrome-accent: #91c5df;
  /* One action material for both languages and every viewport. */
  --jyh-action-surface: var(--jyh-chrome-surface);
  --jyh-action-hover-surface: var(--jyh-navy-card-surface);
  --jyh-action-text: var(--jyh-chrome-text);
  --jyh-action-border: transparent;
  --jyh-action-shadow: var(--jyh-page-shadow);
  --jyh-navy-card-surface: linear-gradient(145deg, rgba(22, 48, 69, .94), rgba(7, 22, 36, .96));
  --jyh-navy-card-border: rgba(211, 227, 238, .16);
  --jyh-navy-inset-surface: rgba(5, 24, 39, .38);
  --jyh-account-surface: linear-gradient(145deg, rgba(18, 47, 67, .97), rgba(8, 24, 39, .98) 68%, rgba(6, 19, 31, .99));
  --jyh-account-shadow: inset 0 1px 0 rgba(255, 255, 255, .055), 0 28px 70px rgba(0, 5, 14, .32);
  --jyh-account-control-surface: rgba(4, 16, 27, .62);
  --jyh-account-control-focus-surface: rgba(7, 23, 37, .82);
  --jyh-account-control-border: rgba(211, 227, 238, .28);
  --jyh-account-control-focus-border: rgba(189, 219, 233, .62);
  --jyh-account-control-shadow: inset 0 1px 3px rgba(0, 0, 0, .2);
  --jyh-account-action-surface: var(--jyh-action-surface);
  --jyh-account-action-hover: var(--jyh-action-hover-surface);
  --jyh-account-notice-surface: rgba(70, 184, 239, .1);
  --jyh-account-error-text: #ffc2ca;
  --jyh-navy-card-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 28px rgba(0, 8, 18, .13);
  --jyh-type-navigation-size: clamp(14px, 1.18vw, 16px);
  --jyh-type-navigation-weight: 600;
  --jyh-type-navigation-tracking: .005em;
  --jyh-line-navigation: 1.35;
  --jyh-type-navigation-menu-size: 14px;
  --jyh-type-navigation-menu-weight: 600;
  --jyh-type-navigation-menu-tracking: 0;
  --jyh-line-navigation-menu: 1.4;
  --jyh-type-table-heading-weight: var(--jyh-type-navigation-weight);
  --jyh-type-table-heading-tracking: 0;
  --jyh-line-table-heading: var(--jyh-line-navigation-menu);
  /* Expanded public footer: shared chrome and typography, 8px spacing scale. */
  --jyh-footer-space-unit: 8px;
  --jyh-footer-column-gap: calc(var(--jyh-footer-space-unit) * 6);
  --jyh-footer-columns: repeat(4, minmax(0, 1fr));
  --jyh-footer-content-max-inline: calc(var(--jyh-footer-space-unit) * 180);
  --jyh-footer-content-nudge: min(calc(var(--jyh-footer-space-unit) * 9), max(var(--content-gutter), calc((100cqi - var(--jyh-footer-content-max-inline)) / 2)));
  --jyh-footer-shortcut-padding: calc(var(--jyh-footer-space-unit) * 4);
  --jyh-footer-shortcut-gap: calc(var(--jyh-footer-space-unit) * 2);
  --jyh-footer-icon-size: calc(var(--jyh-footer-space-unit) * 3);
  --jyh-footer-content-padding: calc(var(--jyh-footer-space-unit) * 5);
  --jyh-footer-heading-gap: calc(var(--jyh-footer-space-unit) * 3);
  --jyh-footer-link-gap: calc(var(--jyh-footer-space-unit) * 1.5);
  --jyh-footer-person-gap: calc(var(--jyh-footer-space-unit) * 2.5);
  --jyh-footer-detail-gap: calc(var(--jyh-footer-space-unit) * .5);
  --jyh-footer-bottom-padding: calc(var(--jyh-footer-space-unit) * 3);
  --jyh-footer-rule-width: 1px;
  --jyh-footer-rule-color: var(--jyh-navy-card-border);
  --jyh-footer-type-shortcut: 18px;
  --jyh-footer-type-heading: 18px;
  --jyh-footer-type-link: 14px;
  --jyh-footer-type-note: 13px;
  --jyh-footer-type-meta: 12px;
  --jyh-footer-weight-heading: var(--jyh-type-heading-weight);
  --jyh-footer-weight-name: 500;
  --jyh-footer-weight-link: 400;
  --jyh-footer-line-heading: var(--jyh-line-navigation-menu);
  --jyh-footer-line-body: 1.7;
  --jyh-footer-tracking: 0;
  --jyh-footer-focus-width: 2px;
  --jyh-footer-focus-offset: 4px;
  --jyh-footer-interaction-scale: 1.05;
  --jyh-footer-service-scroll-offset: calc(var(--jyh-footer-space-unit) * 12);
}

[data-design-baseline="en-desktop-v1"] {
  --jyh-color-text: var(--ink);
  --jyh-color-muted: var(--muted);
  --jyh-color-accent: var(--accent);
  --jyh-card-surface: var(--card-surface);
  --jyh-card-border: var(--card-border);
  --jyh-card-shadow: var(--card-shadow);
  --jyh-card-media-filter: saturate(.84) contrast(.92);
  --jyh-space-unit: 8px;
  --jyh-space-card-gap: calc(var(--jyh-space-unit) * 3);
  --jyh-space-card-padding: calc(var(--jyh-space-unit) * 3);
  --jyh-space-card-media-gap: calc(var(--jyh-space-unit) * 2);
  --jyh-space-card-content-gap: calc(var(--jyh-space-unit) * 1.5);
  --jyh-space-card-action-gap: calc(var(--jyh-space-unit) * 4);
  --jyh-card-summary-min-block: calc(var(--jyh-line-card-body) * 2em);
  --jyh-scenario-grid-max-inline: 1680px;
  --jyh-card-min-height: calc(var(--jyh-space-unit) * 42);
  --jyh-card-radius: calc(var(--jyh-space-unit) * 2);
  --jyh-card-media-aspect: 16 / 9;
  --jyh-type-section: clamp(32px, 3.2vw, 52px);
  --jyh-type-card-title: clamp(20px, 1.7vw, 26px);
  --jyh-type-card-title-condensed: clamp(18px, 1.45vw, 24px);
  --jyh-type-card-body: 15px;
  --jyh-line-card-title: 1.25;
  --jyh-line-card-body: 1.65;
  --jyh-motion-enter: 920ms;
  --jyh-motion-exit: 420ms;
  --jyh-motion-interaction: 200ms;
  --jyh-motion-opacity-ratio: .72;
  --jyh-motion-ease-enter: cubic-bezier(.16, .84, .3, 1);
  --jyh-motion-ease-exit: cubic-bezier(.4, 0, .6, 1);
  --jyh-motion-ease-interaction: ease;
  --jyh-motion-distance: 176px;
  --jyh-motion-scale: .86;
  --jyh-motion-heading-distance: 72px;
  --jyh-motion-heading-scale: .99;
  --jyh-motion-stagger: 150ms;
  --jyh-motion-trigger-inset: 72px;
  --jyh-motion-exit-distance: 92px;
  --jyh-motion-exit-scale: .92;
  --jyh-motion-arrow-distance: 4px;
}
/* English page palettes are independent of viewport/layout breakpoints. */
  [data-home-theme="blue-daylight"] {
    --jyh-home-page-surface: var(--jyh-page-surface);
    --jyh-home-card-surface: var(--jyh-navy-card-surface);
    --jyh-home-card-border: var(--jyh-navy-card-border);
    --jyh-home-card-shadow: var(--jyh-navy-card-shadow);
    --jyh-home-copy: var(--jyh-page-text);
    --jyh-home-muted: var(--jyh-page-muted);
    --jyh-home-equipment-glow: radial-gradient(ellipse closest-side at 50% 50%, rgba(132, 198, 232, .44) 0%, rgba(132, 198, 232, .40) 25%, rgba(132, 198, 232, .28) 50%, rgba(132, 198, 232, .12) 75%, rgba(132, 198, 232, 0) 100%);
    --jyh-home-equipment-glow-width: 150%;
    --jyh-home-equipment-glow-height: 124%;
    --jyh-home-equipment-glow-blur: 40px;
    --jyh-home-equipment-glow-center: 50%;
    --jyh-home-equipment-filter: brightness(1.08) drop-shadow(0 22px 26px rgba(8, 29, 44, .26));
    --jyh-home-title-color: #173b52;
    --jyh-home-title-gradient: linear-gradient(112deg, #173b52 8%, #1766a3 30%, #172b3a 46%, #235979 60%, #173b52 78%, #172b3a 94%);
    --jyh-home-title-background-size: 220% 100%;
    --jyh-home-title-flow-duration: 5.2s;
    --jyh-home-title-flow-ease: cubic-bezier(.45, .05, .55, .95);
  }
  [data-design-baseline="en-desktop-v1"][data-theme="selection-light"] {
    --jyh-selection-accuracy-column: calc(var(--jyh-space-unit) * 22);
    --jyh-selection-accuracy-table-min: calc(1145px + var(--jyh-selection-accuracy-column) - 100px);
    --jyh-color-text: var(--jyh-page-text);
    --jyh-color-muted: var(--jyh-page-muted);
    --jyh-color-accent: var(--jyh-page-accent);
    --jyh-workspace-surface: var(--jyh-page-surface);
    --jyh-card-surface: var(--jyh-panel-surface);
    --jyh-card-border: var(--jyh-page-border);
    --jyh-card-shadow: var(--jyh-page-shadow);
    --jyh-color-hover: var(--jyh-page-hover);
    --jyh-color-selected: var(--jyh-page-selected);
    --jyh-color-on-accent: var(--jyh-panel-surface);
    --jyh-color-table-heading: #e9eff4;
    --jyh-color-table-stripe: #f7f9fb;
    --jyh-color-placeholder: #748490;
    --jyh-color-disabled: #8d9ca7;
    --jyh-color-error-surface: var(--jyh-page-error-surface);
    --jyh-color-error-text: var(--jyh-page-error-text);
    --jyh-color-error-border: var(--jyh-page-error-border);
    --jyh-focus-ring: var(--jyh-page-focus);
    --jyh-menu-shadow: 0 12px 32px rgba(23, 43, 58, .12);
    --jyh-control-radius: calc(var(--jyh-space-unit) * 1.25);
    --jyh-workspace-top: calc(var(--jyh-space-unit) * 6);
    --jyh-workspace-heading-gap: calc(var(--jyh-space-unit) * 4);
    --jyh-type-workspace-heading: clamp(28px, 3vw, 42px);
  }
/* Compatibility only, not a finished phone/tablet design. Same engine/timing. */
@media (max-width: 600px) {
  [data-design-baseline="en-desktop-v1"] {
    --jyh-motion-distance: 64px;
    --jyh-motion-scale: .96;
    --jyh-motion-heading-distance: 32px;
    --jyh-motion-stagger: 0ms;
    --jyh-motion-trigger-inset: 48px;
  }
}
/* Mobile layout tokens: only active on phone widths; desktop projection is unchanged. */
@media (max-width: 600px) {
  html[data-site-version] {
    --jyh-mobile-unit: 8px;
    --jyh-mobile-gap: calc(var(--jyh-mobile-unit) * 1.5);
    --jyh-mobile-padding: calc(var(--jyh-mobile-unit) * 2);
    --jyh-mobile-section: calc(var(--jyh-mobile-unit) * 4);
    --jyh-mobile-header: calc(var(--jyh-mobile-unit) * 8);
    --jyh-mobile-touch: calc(var(--jyh-mobile-unit) * 5.5);
    --jyh-mobile-logo: calc(var(--jyh-mobile-unit) * 18);
    --jyh-mobile-body: 16px;
    --jyh-mobile-note: 14px;
    --jyh-mobile-heading: clamp(24px, 6.3vw, 28px);
    --jyh-mobile-card-heading: 20px;
    --jyh-mobile-hero: clamp(26px, 7.2vw, 40px);
    --jyh-mobile-hero-zh: clamp(25px, 6.5vw, 36px);
    --jyh-mobile-detail-heading: clamp(24px, 6.4vw, 32px);
    --jyh-mobile-line-body: 1.6;
    --jyh-mobile-line-heading: 1.25;
    --jyh-mobile-thumbnail: clamp(88px, 28vw, 144px);
    --jyh-mobile-thumbnail-aspect: 4 / 3;
    --jyh-mobile-equipment-height: clamp(200px, 60vw, 280px);
    --jyh-mobile-product-height: clamp(200px, 62vw, 320px);
    --jyh-mobile-spec-columns: minmax(0, 2fr) minmax(0, 3fr);
    --jyh-mobile-contact-columns: minmax(0, 1fr) minmax(0, 3fr);
    --jyh-mobile-radius: 12px;
    --jyh-mobile-rule: 1px;
    --jyh-mobile-table-shadow: 4px 0 8px rgba(23, 43, 58, .10);
    --jyh-mobile-model-position: sticky;
  }
  [data-design-baseline="en-desktop-v1"] {
    --jyh-motion-distance: 24px;
    --jyh-motion-heading-distance: 16px;
    --jyh-motion-exit-distance: 16px;
  }
  /* A 190px pinned model must leave room for the complete 175px frequency
     column. On smaller phones let every column scroll, without narrowing it. */
  @media (max-width: 399px) {
    html[data-site-version] {
      --jyh-mobile-model-position: static;
      --jyh-mobile-table-shadow: none;
    }
  }
}
/* End mobile layout tokens. */
/* Chinese localization tokens: shared roles, native glyphs, no text distortion. */
html[data-site-version="zh"] {
  --jyh-type-family: "Saira", "JYH CJK", "Microsoft YaHei", sans-serif;
  --jyh-type-hero-family: "JYH CJK", "Saira", sans-serif;
  --jyh-line-hero: 1.2;
  --jyh-type-zh-hero-size: clamp(2.5rem, 4.4vw, 5.3rem);
  --jyh-type-zh-hero-weight: 600;
  --jyh-space-zh-hero-inset: 24px; /* Three units of the shared 8px spacing scale. */
  --jyh-size-zh-hero-action: 15rem;
  --jyh-space-zh-hero-action-gap: 2rem;
  --jyh-type-zh-table-heading: 12px;
}
@media (max-width: 600px) {
  html[data-site-version="zh"] {
    --jyh-type-zh-hero-size: clamp(24px, 7vw, 36px);
  }
}
