/*
 * Homepage visual-system bridge for Solution, Technical Academy, About and Contact.
 * CSS-only by design: every selector is scoped to an existing route-owned host.
 */

:root {
  --jnm-family-ink: #081c34;
  --jnm-family-muted: #40566f;
  --jnm-family-cyan: #087a91;
  --jnm-family-blue: #2457a6;
  --jnm-family-indigo: #3154a8;
  --jnm-family-violet: #6f4a8e;
  --jnm-family-orange: #b84b0f;
  --jnm-family-gold: #9a6500;
  --jnm-family-line: #d4e0ee;
  --jnm-family-canvas: #f5f8ff;
  --jnm-family-paper: #ffffff;
  --jnm-family-spectrum:
    radial-gradient(circle at 11% 18%, rgba(0, 173, 204, .15), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(124, 58, 237, .13), transparent 31%),
    radial-gradient(circle at 84% 92%, rgba(255, 122, 38, .10), transparent 25%),
    linear-gradient(112deg, #e8fbff 0%, #edf4ff 46%, #f7f1ff 76%, #fff7ee 100%);
  --jnm-family-dark:
    radial-gradient(circle at 78% 24%, rgba(0, 203, 232, .25), transparent 25%),
    radial-gradient(circle at 92% 8%, rgba(159, 91, 255, .32), transparent 30%),
    linear-gradient(118deg, #071c33 0%, #0b3b67 48%, #312e81 76%, #5b2b91 100%);
  --jnm-family-shadow: 0 26px 68px -30px rgba(20, 70, 126, .34), 0 16px 34px -24px rgba(44, 61, 105, .28);
  --jnm-family-shadow-small: 0 16px 36px -24px rgba(18, 67, 120, .30), 0 8px 20px -16px rgba(44, 61, 105, .22);
  --jnm-family-shadow-hover: 0 34px 80px -28px rgba(37, 99, 235, .36), 0 22px 48px -30px rgba(124, 58, 237, .30);
  --jnm-family-ease: cubic-bezier(.16, 1, .3, 1);
}

/* --------------------------------------------------------------------------
   Solution family — the renderer already owns motion and route transitions.
   -------------------------------------------------------------------------- */

main[data-jnm-external-route-host][data-owner="solution"] > article.jnm-lab[data-route^="/solution"] {
  --lab-navy: var(--jnm-family-ink);
  --lab-navy-deep: #071c33;
  --lab-blue: var(--jnm-family-blue);
  --lab-blue-bright: #3b82f6;
  --lab-orange: var(--jnm-family-orange);
  --lab-orange-ink: #92390a;
  --lab-ink: var(--jnm-family-ink);
  --lab-body: var(--jnm-family-muted);
  --lab-muted: #5b6e85;
  --lab-line: var(--jnm-family-line);
  --lab-wash: #edf4ff;
  --lab-paper: var(--jnm-family-paper);
  --lab-warm: #fff3e8;
  --lab-ease-out: var(--jnm-family-ease);
  color: var(--jnm-family-ink);
  background: linear-gradient(180deg, #f9fbff 0%, #f5f8ff 100%);
}

main[data-owner="solution"] > .jnm-lab[data-route="/solution"] {
  --lab-page-accent: var(--jnm-family-blue);
  --lab-page-strong: #173f84;
}

main[data-owner="solution"] > .jnm-lab[data-route="/solution/waterproofing"] {
  --lab-page-accent: var(--jnm-family-cyan);
  --lab-page-strong: #066375;
}

main[data-owner="solution"] > .jnm-lab[data-route="/solution/flooring"] {
  --lab-page-accent: var(--jnm-family-indigo);
  --lab-page-strong: #263f88;
}

main[data-owner="solution"] > .jnm-lab[data-route="/solution/anti-corrosion"] {
  --lab-page-accent: var(--jnm-family-violet);
  --lab-page-strong: #56336f;
}

main[data-owner="solution"] > .jnm-lab[data-route="/solution/coating"] {
  --lab-page-accent: var(--jnm-family-orange);
  --lab-page-strong: #92390a;
}

main[data-owner="solution"] > .jnm-lab[data-route="/solution/adhesive"] {
  --lab-page-accent: #515ac9;
  --lab-page-strong: #373b92;
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--jnm-family-spectrum);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .16), transparent 35%),
    radial-gradient(circle at 46% 70%, color-mix(in srgb, var(--lab-page-accent) 12%, transparent), transparent 34%);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-hero h1,
main[data-owner="solution"] > .jnm-lab .jnm-lab-detail__heading h2,
main[data-owner="solution"] > .jnm-lab .jnm-lab-subheading h2,
main[data-owner="solution"] > .jnm-lab .jnm-lab-chapter__body h2,
main[data-owner="solution"] > .jnm-lab .jnm-lab-chapter__body h3 {
  color: var(--jnm-family-ink);
  letter-spacing: -.025em;
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-hero__media {
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: 18px;
  box-shadow: var(--jnm-family-shadow);
  clip-path: polygon(11% 0, 100% 0, 100% 100%, 0 100%);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-hero__media::before {
  background: linear-gradient(90deg, var(--jnm-family-orange), var(--jnm-family-blue), var(--jnm-family-violet));
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-button:not(.jnm-lab-button--quiet) {
  color: #fff !important;
  background: linear-gradient(105deg, var(--jnm-family-orange), var(--jnm-family-gold));
  box-shadow: 0 16px 34px -17px rgba(184, 75, 15, .72);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-button--quiet {
  color: var(--jnm-family-blue);
  border-color: #7893a8;
  background: rgba(255, 255, 255, .90);
  box-shadow: inset 0 0 0 1px rgba(120, 147, 168, .18), 0 13px 30px -22px rgba(36, 87, 166, .40);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-nav-shell {
  border-color: #c9d9e9;
  background: rgba(248, 251, 255, .92);
  box-shadow: 0 18px 42px -34px rgba(8, 28, 52, .55);
  backdrop-filter: blur(14px) saturate(1.08);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-nav button[aria-current="true"],
main[data-owner="solution"] > .jnm-lab .jnm-lab-nav button[aria-pressed="true"] {
  color: var(--jnm-family-blue);
  background: #edf4ff;
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-content {
  background:
    radial-gradient(circle at 9% 14%, rgba(0, 166, 197, .07), transparent 24%),
    radial-gradient(circle at 91% 45%, rgba(111, 74, 142, .07), transparent 27%),
    #f9fbff;
}

main[data-owner="solution"] > .jnm-lab :is(.jnm-lab-detail, .jnm-lab-fact, .jnm-lab-system, .jnm-lab-note, .jnm-lab-table-wrap) {
  border-color: var(--jnm-family-line);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--jnm-family-shadow-small);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-fact {
  border-radius: 16px;
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-chapter {
  border-color: var(--jnm-family-line);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-chapter::before {
  background: linear-gradient(118deg, rgba(232, 251, 255, .82), rgba(237, 244, 255, .76) 48%, rgba(247, 241, 255, .72));
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-chapter__media,
main[data-owner="solution"] > .jnm-lab .jnm-lab-system__figure,
main[data-owner="solution"] > .jnm-lab .jnm-lab-stack {
  border-radius: 18px;
  box-shadow: var(--jnm-family-shadow-small);
}

main[data-owner="solution"] > .jnm-lab .jnm-layers-button {
  border-color: #cfdbeb;
  background: linear-gradient(110deg, #f7fbff, #f3f6ff);
}

main[data-owner="solution"] > .jnm-lab .jnm-layers-button[aria-pressed="true"] {
  border-color: var(--lab-page-accent);
  background: #fff;
  box-shadow: var(--jnm-family-shadow-small), inset 0 0 0 1px color-mix(in srgb, var(--lab-page-accent) 34%, transparent);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-table thead {
  color: #fff;
  background: linear-gradient(105deg, #0b3b67, #3154a8);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-cta {
  color: #eaf4ff;
  border: 0;
  background: var(--jnm-family-dark);
  box-shadow: var(--jnm-family-shadow);
}

main[data-owner="solution"] > .jnm-lab .jnm-lab-cta h2,
main[data-owner="solution"] > .jnm-lab .jnm-lab-cta p {
  color: #fff;
}

/* --------------------------------------------------------------------------
   Technical Academy family — high-specificity overrides for runtime styles.
   -------------------------------------------------------------------------- */

main[data-jnm-external-route-host][data-owner^="technical-"] {
  color: var(--jnm-family-ink);
  background: var(--jnm-family-canvas);
}

main[data-owner="technical-academy"] .academy-hub,
main[data-owner="technical-resin"] .coating-library-root,
main[data-owner="technical-coating"] .coating-library-root {
  color: var(--jnm-family-ink);
  background:
    radial-gradient(circle at 8% 24%, rgba(0, 169, 199, .07), transparent 24%),
    radial-gradient(circle at 92% 68%, rgba(111, 74, 142, .07), transparent 26%),
    var(--jnm-family-canvas);
}

main[data-owner="technical-academy"] .academy-hub__hero,
main[data-owner="technical-resin"] .coating-library-hero,
main[data-owner="technical-coating"] .coating-library-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--jnm-family-spectrum);
}

main[data-owner="technical-academy"] .academy-hub__hero::after,
main[data-owner="technical-resin"] .coating-library-hero::after,
main[data-owner="technical-coating"] .coating-library-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 7%;
  bottom: -78px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(49, 84, 168, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(8, 122, 145, .04), 0 0 0 86px rgba(111, 74, 142, .03);
}

main[data-owner="technical-academy"] .academy-hub__hero h1,
main[data-owner="technical-resin"] .coating-library-hero h1,
main[data-owner="technical-coating"] .coating-library-hero h1,
main[data-owner^="technical-"] .coating-library-heading h2,
main[data-owner="technical-academy"] .academy-hub__heading h2 {
  color: var(--jnm-family-ink);
  letter-spacing: -.025em;
}

main[data-owner="technical-academy"] .academy-hub__hero p,
main[data-owner="technical-resin"] .coating-library-hero p,
main[data-owner="technical-coating"] .coating-library-hero p,
main[data-owner^="technical-"] .coating-library-heading p,
main[data-owner="technical-academy"] .academy-hub__heading p {
  color: var(--jnm-family-muted);
}

main[data-owner="technical-academy"] .academy-hub__tabs,
main[data-owner="technical-resin"] .coating-library-tab-band,
main[data-owner="technical-coating"] .coating-library-tab-band {
  border-color: var(--jnm-family-line);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 34px -32px rgba(8, 28, 52, .55);
}

main[data-owner="technical-academy"] .academy-hub__tabs a,
main[data-owner="technical-resin"] .coating-library-tabs a,
main[data-owner="technical-coating"] .coating-library-tabs a {
  color: #2a4059;
  background: #f1f5fb;
}

main[data-owner="technical-academy"] .academy-hub__tabs a.is-active {
  color: #fff;
  background: linear-gradient(105deg, var(--jnm-family-orange), var(--jnm-family-gold));
  box-shadow: 0 15px 30px -16px rgba(184, 75, 15, .65);
}

main[data-owner="technical-resin"] .coating-library-tabs a.is-active {
  color: #fff;
  background: linear-gradient(105deg, var(--jnm-family-blue), var(--jnm-family-indigo));
  box-shadow: 0 15px 30px -16px rgba(36, 87, 166, .62);
}

main[data-owner="technical-coating"] .coating-library-tabs a.is-active {
  color: #fff;
  background: linear-gradient(105deg, var(--jnm-family-cyan), var(--jnm-family-blue));
  box-shadow: 0 15px 30px -16px rgba(8, 122, 145, .62);
}

main[data-owner="technical-academy"] .academy-hub__content,
main[data-owner="technical-resin"] .coating-library-content,
main[data-owner="technical-coating"] .coating-library-content {
  padding-top: 64px;
}

main[data-owner="technical-academy"] .academy-hub__card,
main[data-owner="technical-resin"] .coating-library-card,
main[data-owner="technical-coating"] .coating-library-card {
  border: 1px solid rgba(196, 213, 231, .82);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--jnm-family-shadow-small);
}

main[data-owner="technical-academy"] .academy-hub__card:nth-child(4n+1),
main[data-owner="technical-resin"] .coating-library-card:nth-child(4n+1),
main[data-owner="technical-coating"] .coating-library-card:nth-child(4n+1) {
  background: linear-gradient(145deg, #fff, #f2f8ff);
}

main[data-owner="technical-academy"] .academy-hub__card:nth-child(4n+2),
main[data-owner="technical-resin"] .coating-library-card:nth-child(4n+2),
main[data-owner="technical-coating"] .coating-library-card:nth-child(4n+2) {
  background: linear-gradient(145deg, #fff, #f7f2ff);
}

main[data-owner="technical-academy"] .academy-hub__card:nth-child(4n+3),
main[data-owner="technical-resin"] .coating-library-card:nth-child(4n+3),
main[data-owner="technical-coating"] .coating-library-card:nth-child(4n+3) {
  background: linear-gradient(145deg, #fff, #effbfb);
}

main[data-owner="technical-academy"] .academy-hub__card:nth-child(4n),
main[data-owner="technical-resin"] .coating-library-card:nth-child(4n),
main[data-owner="technical-coating"] .coating-library-card:nth-child(4n) {
  background: linear-gradient(145deg, #fff, #fff5ec);
}

main[data-owner="technical-academy"] .academy-hub__body strong,
main[data-owner^="technical-"] .coating-library-card-title {
  color: var(--jnm-family-ink);
}

main[data-owner="technical-academy"] .academy-hub__copy,
main[data-owner^="technical-"] .coating-library-card-copy {
  color: var(--jnm-family-muted);
}

main[data-owner="technical-academy"] .academy-hub__read,
main[data-owner="technical-academy"] .academy-hub__label,
main[data-owner="technical-resin"] .coating-library-read,
main[data-owner="technical-resin"] .coating-library-meta span:first-child {
  color: var(--jnm-family-blue);
}

main[data-owner="technical-coating"] .coating-library-read,
main[data-owner="technical-coating"] .coating-library-meta span:first-child {
  color: var(--jnm-family-cyan);
}

/* --------------------------------------------------------------------------
   About / Junaimei — stable editorial host, visual order remains untouched.
   -------------------------------------------------------------------------- */

[data-stable-editorial-host][data-stable-editorial-route="about:/about/junaimei"] {
  color: var(--jnm-family-ink);
  background:
    radial-gradient(circle at 8% 28%, rgba(0, 169, 199, .07), transparent 24%),
    radial-gradient(circle at 91% 64%, rgba(111, 74, 142, .07), transparent 27%),
    #f7faff;
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--jnm-family-spectrum);
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 10%;
  bottom: -86px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(49, 84, 168, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(8, 122, 145, .04), 0 0 0 96px rgba(111, 74, 142, .03);
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-hero h1,
[data-stable-editorial-route="about:/about/junaimei"] .jnm-page h2,
[data-stable-editorial-route="about:/about/junaimei"] .jnm-page h3 {
  color: var(--jnm-family-ink);
  letter-spacing: -.025em;
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-hero p,
[data-stable-editorial-route="about:/about/junaimei"] .jnm-page p {
  color: var(--jnm-family-muted);
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-tabs-band {
  border-color: var(--jnm-family-line);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 34px -32px rgba(8, 28, 52, .55);
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-tabs a {
  color: #2a4059;
  background: #f1f5fb;
}

[data-stable-editorial-route="about:/about/junaimei"] .stable-about-tabs a.is-active,
[data-stable-editorial-route="about:/about/junaimei"] .stable-about-tabs a[data-accent="profile"].is-active {
  color: #fff !important;
  background: linear-gradient(105deg, var(--jnm-family-orange), var(--jnm-family-gold)) !important;
  box-shadow: 0 15px 30px -16px rgba(184, 75, 15, .65) !important;
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-page {
  --jnm-navy: var(--jnm-family-ink);
  --jnm-blue: var(--jnm-family-blue);
  --jnm-red: var(--jnm-family-orange);
  --jnm-ink: var(--jnm-family-ink);
  --jnm-muted: var(--jnm-family-muted);
  --jnm-line: var(--jnm-family-line);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-lead__copy {
  border: 1px solid var(--jnm-family-line);
  border-radius: 18px;
  background: linear-gradient(135deg, #f0f8ff 0%, #fff 72%, #f8f3ff 100%);
  box-shadow: var(--jnm-family-shadow-small);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-kicker,
[data-stable-editorial-route="about:/about/junaimei"] .jnm-factory__index {
  color: var(--jnm-family-orange);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-lead__visual {
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 18px;
  background: var(--jnm-family-dark);
  box-shadow: var(--jnm-family-shadow);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-lead__visual-inner,
[data-stable-editorial-route="about:/about/junaimei"] .jnm-lead__visual-inner span {
  color: #fff;
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-section-title::before {
  width: 5px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--jnm-family-cyan), var(--jnm-family-blue), var(--jnm-family-violet));
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-factory,
[data-stable-editorial-route="about:/about/junaimei"] .jnm-chain article {
  border-color: var(--jnm-family-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--jnm-family-shadow-small);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-factory:nth-child(2) {
  background: linear-gradient(145deg, #fff, #f5f1ff);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-capacity strong {
  color: var(--jnm-family-blue);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-closing {
  color: #eaf4ff !important;
  border: 0;
  background: var(--jnm-family-dark);
  box-shadow: var(--jnm-family-shadow);
}

[data-stable-editorial-route="about:/about/junaimei"] .jnm-closing :is(p, strong, span, a) {
  color: #eaf4ff !important;
}

/* --------------------------------------------------------------------------
   Contact — style only, never replace or reparent React-owned nodes.
   -------------------------------------------------------------------------- */

main[data-component-file="Contact.tsx"] {
  color: var(--jnm-family-ink);
  background: #f8fbff;
}

main[data-component-file="Contact.tsx"] > section:first-child {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--jnm-family-spectrum);
}

main[data-component-file="Contact.tsx"] > section:first-child::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 8%;
  bottom: -82px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(49, 84, 168, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(8, 122, 145, .04), 0 0 0 90px rgba(111, 74, 142, .03);
}

main[data-component-file="Contact.tsx"] > section:first-child h1,
main[data-component-file="Contact.tsx"] h2,
main[data-component-file="Contact.tsx"] h3 {
  color: var(--jnm-family-ink);
  letter-spacing: -.025em;
}

main[data-component-file="Contact.tsx"] > section:first-child p,
main[data-component-file="Contact.tsx"] p,
main[data-component-file="Contact.tsx"] li {
  color: var(--jnm-family-muted);
}

main[data-component-file="Contact.tsx"] nav[data-contact-service-tabs] {
  border-color: var(--jnm-family-line);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 34px -32px rgba(8, 28, 52, .55);
}

main[data-component-file="Contact.tsx"] nav[data-contact-service-tabs] a {
  color: #2a4059;
  background: #f1f5fb;
}

main[data-component-file="Contact.tsx"] nav[data-contact-service-tabs] a[aria-current="page"],
main[data-component-file="Contact.tsx"] nav[data-contact-service-tabs] a.is-active,
main[data-component-file="Contact.tsx"] nav[data-contact-service-tabs] a[href="/contact"],
main[data-component-file="Contact.tsx"] nav[data-contact-service-tabs] a[class*="from-orange-500"][class*="to-yellow-500"] {
  color: #fff !important;
  background: linear-gradient(105deg, var(--jnm-family-orange), var(--jnm-family-gold)) !important;
  box-shadow: 0 15px 30px -16px rgba(184, 75, 15, .65) !important;
}

main[data-component-file="Contact.tsx"] .jnm-contact-enhanced {
  background:
    radial-gradient(circle at 12% 18%, rgba(0, 169, 199, .08), transparent 25%),
    radial-gradient(circle at 88% 80%, rgba(111, 74, 142, .07), transparent 26%),
    #f8fbff;
}

main[data-component-file="Contact.tsx"] .jnm-intro,
main[data-component-file="Contact.tsx"] .jnm-audience,
main[data-component-file="Contact.tsx"] .jnm-project-note {
  border-color: var(--jnm-family-line);
  border-radius: 18px;
  background: linear-gradient(120deg, #effbfa, #f3f7ff 58%, #faf5ff);
  box-shadow: var(--jnm-family-shadow-small);
}

main[data-component-file="Contact.tsx"] .jnm-pills > *,
main[data-component-file="Contact.tsx"] .jnm-audience span {
  border-color: #cad8e7;
  color: #334b65;
  background: #fff;
}

main[data-component-file="Contact.tsx"] > section:last-child {
  background:
    radial-gradient(circle at 6% 42%, rgba(0, 169, 199, .06), transparent 25%),
    radial-gradient(circle at 94% 16%, rgba(111, 74, 142, .06), transparent 27%),
    #f8fbff;
}

main[data-component-file="Contact.tsx"] > section:last-child > div > .grid > div:last-child {
  border: 1px solid var(--jnm-family-line);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f4f7ff);
  box-shadow: var(--jnm-family-shadow);
}

main[data-component-file="Contact.tsx"] :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: #bacbe0;
  color: var(--jnm-family-ink);
  background: rgba(255, 255, 255, .96);
  box-shadow: inset 0 1px 2px rgba(8, 28, 52, .04);
}

main[data-component-file="Contact.tsx"] :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: var(--jnm-family-blue);
  box-shadow: 0 0 0 4px rgba(36, 87, 166, .14), 0 14px 28px -20px rgba(36, 87, 166, .38);
}

main[data-component-file="Contact.tsx"] button[type="submit"] {
  color: #fff;
  background: linear-gradient(105deg, var(--jnm-family-orange), var(--jnm-family-gold));
  box-shadow: 0 16px 34px -17px rgba(184, 75, 15, .72);
}

main[data-component-file="Contact.tsx"] button[type="submit"]:focus-visible,
main[data-component-file="Contact.tsx"] a:focus-visible,
[data-stable-editorial-route="about:/about/junaimei"] a:focus-visible,
main[data-owner^="technical-"] a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--jnm-family-cyan);
}

/* --------------------------------------------------------------------------
   Fine-pointer feedback. Existing scripted tilt variables remain authoritative.
   -------------------------------------------------------------------------- */

@media (min-width: 961px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-factory,
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-chain article,
  main[data-component-file="Contact.tsx"] .jnm-intro,
  main[data-component-file="Contact.tsx"] .jnm-audience,
  main[data-component-file="Contact.tsx"] > section:last-child > div > .grid > div:last-child {
    transition: transform .45s var(--jnm-family-ease), box-shadow .45s var(--jnm-family-ease), border-color .3s ease;
  }

  [data-stable-editorial-route="about:/about/junaimei"] .jnm-factory:hover,
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-chain article:hover,
  main[data-component-file="Contact.tsx"] .jnm-intro:hover,
  main[data-component-file="Contact.tsx"] .jnm-audience:hover,
  main[data-component-file="Contact.tsx"] > section:last-child > div > .grid > div:last-child:hover {
    border-color: rgba(83, 118, 178, .52);
    box-shadow: var(--jnm-family-shadow-hover);
    transform: translateY(-7px);
  }

  main[data-owner="solution"] > .jnm-lab .jnm-lab-button:not(.jnm-lab-button--quiet):hover,
  main[data-component-file="Contact.tsx"] button[type="submit"]:hover {
    filter: saturate(1.08) brightness(1.04);
    transform: translateY(-4px) scale(1.01);
  }
}

/* --------------------------------------------------------------------------
   Responsive and motion safeguards.
   -------------------------------------------------------------------------- */

@media (max-width: 960px) {
  main[data-owner="solution"] > .jnm-lab .jnm-lab-hero__media {
    clip-path: none;
  }

  main[data-owner="technical-academy"] .academy-hub__content,
  main[data-owner="technical-resin"] .coating-library-content,
  main[data-owner="technical-coating"] .coating-library-content {
    padding-top: 52px;
  }
}

@media (max-width: 680px) {
  main[data-owner="technical-academy"] .academy-hub__tabs {
    justify-content: flex-start !important;
    padding-inline: 18px;
    scrollbar-width: none;
  }

  main[data-owner="technical-academy"] .academy-hub__tabs::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 640px) {
  main[data-owner="solution"] > .jnm-lab .jnm-lab-hero::before,
  main[data-owner="technical-academy"] .academy-hub__hero::after,
  main[data-owner="technical-resin"] .coating-library-hero::after,
  main[data-owner="technical-coating"] .coating-library-hero::after,
  [data-stable-editorial-route="about:/about/junaimei"] .stable-about-hero::after,
  main[data-component-file="Contact.tsx"] > section:first-child::after {
    display: none;
  }

  main[data-owner="solution"] > .jnm-lab .jnm-lab-hero__media,
  main[data-owner="solution"] > .jnm-lab .jnm-lab-chapter__media,
  main[data-owner="solution"] > .jnm-lab .jnm-lab-system__figure,
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-lead__copy,
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-lead__visual,
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-factory,
  main[data-component-file="Contact.tsx"] .jnm-intro,
  main[data-component-file="Contact.tsx"] .jnm-audience,
  main[data-component-file="Contact.tsx"] > section:last-child > div > .grid > div:last-child {
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce), (pointer: coarse) {
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-factory,
  [data-stable-editorial-route="about:/about/junaimei"] .jnm-chain article,
  main[data-component-file="Contact.tsx"] .jnm-intro,
  main[data-component-file="Contact.tsx"] .jnm-audience,
  main[data-component-file="Contact.tsx"] > section:last-child > div > .grid > div:last-child,
  main[data-component-file="Contact.tsx"] button[type="submit"] {
    transition: none !important;
    transform: none !important;
  }
}
