:root {
  --ink: #17202b;
  --muted-ink: #586575;
  --line: #dbe2ea;
  --panel: #ffffff;
  --soft: #f3f6f8;
  --steel: #002d55;
  --steel-dark: #001f3d;
  --accent: #c8962e;
  --blue: #245d85;
  --shadow: 0 20px 50px rgba(22, 39, 54, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: #f8fafb;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  line-height: 1.6;
}

button,
input,
textarea {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 72px;
  padding: 12px clamp(18px, 4vw, 56px);
  background: rgba(255, 255, 255, 0.88);
  border-bottom: 1px solid rgba(0, 45, 85, 0.14);
  box-shadow: 0 10px 28px rgba(0, 45, 85, 0.08);
  backdrop-filter: blur(18px);
}

.brand,
.admin-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand {
  min-width: 210px;
}

.brand-logo {
  display: block;
  width: min(190px, 42vw);
  max-height: 44px;
  object-fit: contain;
  object-position: left center;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #fff;
  background: linear-gradient(135deg, var(--steel), #245d85);
  border-radius: 8px;
  font-weight: 800;
}

.brand strong,
.admin-logo strong {
  display: block;
  letter-spacing: 0;
}

.brand small {
  display: block;
  color: var(--muted-ink);
  font-size: 12px;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 2vw, 28px);
  flex: 1;
  color: #435161;
  font-size: 14px;
}

.site-nav-toggle { display: none; width: 42px; height: 42px; margin-left: auto; color: var(--blue); background: #fff; border: 1px solid var(--line); border-radius: 5px; font: inherit; font-size: 22px; cursor: pointer; }

.site-nav a:hover,
.nav-group:hover > a {
  color: var(--steel);
}

.site-nav .nav-consult {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  color: #fff;
  background: var(--steel);
  border: 1px solid var(--steel);
  border-radius: 5px;
  font-weight: 800;
  white-space: nowrap;
}

.site-nav .nav-consult:hover {
  color: #fff;
  background: var(--steel-dark);
}

.nav-group {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
}

.nav-group-head {
  display: flex;
  align-items: center;
}

.nav-group-head > button {
  display: none;
}

.nav-group-head > a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 40;
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 8px;
  min-width: 520px;
  padding: 16px;
  visibility: hidden;
  opacity: 0;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 45, 85, 0.14);
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(0, 31, 61, 0.16);
  transform: translate(-50%, 8px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
  backdrop-filter: blur(18px);
}

.nav-page-overlay {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: block;
  visibility: hidden;
  opacity: 0;
  background: rgba(0, 22, 43, 0.48);
  border: 0;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

body.is-mega-menu-open .nav-page-overlay {
  visibility: visible;
  opacity: 1;
}

.topbar {
  z-index: 50;
}

.mega-menu-featured {
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 0;
  width: min(920px, calc(100vw - 48px));
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.mega-categories {
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 18px;
  background: #f3f7fa;
  border-right: 1px solid var(--line);
}

.mega-category {
  position: relative;
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 14px 38px 14px 14px;
  color: var(--ink);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}

.mega-category::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 15px;
  color: var(--steel);
  font-size: 22px;
  transform: translateY(-50%);
}

.mega-category:hover,
.mega-category:focus-visible,
.mega-category.is-active {
  background: #fff;
  box-shadow: inset 3px 0 0 var(--gold);
}

.mega-category strong {
  color: var(--steel);
  font-size: 14px;
}

.mega-category span {
  overflow: hidden;
  color: var(--muted-ink);
  font-size: 12px;
  line-height: 1.55;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mega-previews {
  min-width: 0;
  padding: 20px;
}

.mega-preview-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.mega-preview-head span {
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 800;
}

.mega-preview-head h2 {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.25;
}

.mega-preview-head > a {
  padding: 5px 0;
  color: var(--steel);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.mega-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.mega-menu .mega-preview-card {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.mega-menu .mega-preview-card:hover {
  background: #fff;
  border-color: rgba(0, 72, 116, 0.42);
  box-shadow: 0 12px 28px rgba(0, 41, 75, 0.1);
  transform: translateY(-2px);
}

.mega-preview-image {
  display: grid;
  height: 154px;
  place-items: center;
  overflow: hidden;
  background: #f3f5f6;
}

.mega-preview-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mega-preview-copy {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 88px;
  padding: 12px 40px 12px 13px;
}

.mega-preview-copy strong {
  color: var(--steel);
  font-size: 14px;
  line-height: 1.35;
}

.mega-preview-copy small {
  color: var(--muted-ink);
  font-size: 12px;
  line-height: 1.55;
}

.mega-preview-copy b {
  position: absolute;
  right: 13px;
  bottom: 13px;
  color: var(--steel);
  font-size: 18px;
}

.compact-menu {
  grid-template-columns: minmax(260px, 1fr);
  min-width: 330px;
}

.nav-group:hover .mega-menu,
.nav-group:focus-within .mega-menu {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}

.mega-menu a {
  display: grid;
  gap: 2px;
  padding: 12px;
  border-radius: 7px;
}

.mega-menu a:hover {
  background: #f4f7fa;
}

.mega-menu strong {
  color: var(--steel);
  font-size: 14px;
}

.mega-menu span {
  color: var(--muted-ink);
  font-size: 12px;
}

.mode-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 232px;
  padding: 4px;
  background: #eef3f6;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.mode-switch.single-admin {
  grid-template-columns: 1fr;
  width: 118px;
}

.mode-switch a.mode-btn {
  display: grid;
  place-items: center;
  text-align: center;
}

.mode-btn,
.ghost-button,
.panel-title button,
.inquiry-form button {
  min-height: 38px;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
}

.mode-btn {
  color: #5d6b78;
  background: transparent;
  font-size: 13px;
}

.mode-btn.is-active {
  color: #fff;
  background: var(--steel);
}

.view {
  display: none;
}

.view.is-visible {
  display: block;
}

.hero {
  position: relative;
  min-height: calc(100vh - 72px);
  overflow: hidden;
  background: var(--steel-dark);
}

.hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 31, 61, 0.94), rgba(0, 45, 85, 0.64) 48%, rgba(0, 31, 61, 0.16)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 72px);
}

.hero-content {
  position: relative;
  z-index: 1;
  width: min(760px, calc(100% - 36px));
  min-height: calc(100vh - 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 0 90px clamp(18px, 6vw, 78px);
  color: #fff;
}

.eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
}

.hero h1 {
  max-width: 720px;
  margin: 0 0 20px;
  font-size: clamp(36px, 5.4vw, 68px);
  line-height: 1.08;
  letter-spacing: 0;
  text-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

.hero p {
  max-width: 660px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

/* Homepage motion stays subtle so industrial content remains easy to scan. */
html.motion-ready .motion-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 620ms ease var(--motion-delay, 0ms), transform 620ms cubic-bezier(.22, .7, .2, 1) var(--motion-delay, 0ms);
}

html.motion-ready .motion-reveal.is-motion-visible {
  opacity: 1;
  transform: translateY(0);
}

html.motion-ready .motion-hero .eyebrow,
html.motion-ready .motion-hero h1,
html.motion-ready .motion-hero p,
html.motion-ready .motion-hero .hero-actions,
html.motion-ready .motion-hero .hero-metrics {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(.22, .7, .2, 1);
}

html.motion-ready .motion-hero h1 { transition-delay: 90ms; }
html.motion-ready .motion-hero p { transition-delay: 170ms; }
html.motion-ready .motion-hero .hero-actions { transition-delay: 250ms; }
html.motion-ready .motion-hero .hero-metrics { transition-delay: 330ms; }

html.motion-ready .motion-hero.is-motion-visible .eyebrow,
html.motion-ready .motion-hero.is-motion-visible h1,
html.motion-ready .motion-hero.is-motion-visible p,
html.motion-ready .motion-hero.is-motion-visible .hero-actions,
html.motion-ready .motion-hero.is-motion-visible .hero-metrics {
  opacity: 1;
  transform: translateY(0);
}

html.motion-ready .motion-hero img {
  transform: scale(1.035);
  transition: transform 1400ms cubic-bezier(.22, .7, .2, 1);
}

html.motion-ready .motion-hero.is-motion-visible img { transform: scale(1); }

.primary-action,
.secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 7px;
  font-weight: 700;
}

.primary-action {
  color: #15202b;
  background: var(--accent);
  box-shadow: 0 12px 28px rgba(200, 150, 46, 0.28);
}

.secondary-action {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
}

.hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  max-width: 620px;
  margin: 44px 0 0;
  background: rgba(200, 150, 46, 0.5);
  border: 1px solid rgba(200, 150, 46, 0.52);
}

.hero-metrics div {
  padding: 18px;
  background: rgba(0, 31, 61, 0.7);
}

.hero-metrics dt {
  font-size: 30px;
  font-weight: 800;
}

.hero-metrics dd {
  margin: 2px 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 13px;
}

.section {
  padding: clamp(58px, 8vw, 96px) clamp(18px, 5vw, 72px);
}

.muted,
.intro-band {
  background: var(--soft);
}

.section-head {
  max-width: 780px;
  margin-bottom: 32px;
}

.section-head.inline {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  max-width: none;
}

.link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  align-items: center;
}

.section-head.compact {
  margin-bottom: 24px;
}

.capability-summary-section {
  padding-top: 42px;
  padding-bottom: 42px;
}

.capability-summary-band {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(300px, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.capability-summary-copy h2 {
  margin: 6px 0 8px;
  font-size: 30px;
}

.capability-summary-copy p {
  margin: 0;
  color: var(--muted-ink);
}

.capability-summary-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.capability-summary-points span {
  padding-left: 12px;
  border-left: 3px solid var(--accent);
  font-weight: 800;
}

.about-capabilities { scroll-margin-top: 88px; }
.about-capabilities .standard-head { max-width: 820px; }

.about-premium-page { background: #fff; }
.about-premium-main { overflow: hidden; }

.about-premium-hero {
  position: relative;
  display: flex;
  min-height: 590px;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}

.about-hero-media,
.about-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-hero-media { object-fit: cover; }
.about-hero-overlay { background: linear-gradient(90deg, rgba(2, 31, 54, .9) 0%, rgba(2, 44, 72, .68) 48%, rgba(2, 36, 59, .18) 100%); }

.about-hero-copy {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 96px));
  margin: 0 auto;
  padding: 0 0 78px;
}

.about-hero-copy > span,
.about-delivery-head > span,
.about-evidence-band > div > span,
.about-capabilities-head > span {
  color: #e2a62c;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.about-hero-copy h1 { max-width: 760px; margin: 14px 0 18px; font-size: 56px; line-height: 1.08; letter-spacing: 0; }
.about-hero-copy p { max-width: 720px; margin: 0; color: rgba(255, 255, 255, .84); font-size: 19px; line-height: 1.8; }

.about-local-nav {
  position: sticky;
  top: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0 max(24px, calc((100% - 1180px) / 2));
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--line);
}

.about-local-nav a { padding: 22px 12px; color: var(--navy); border-bottom: 3px solid transparent; text-align: center; text-decoration: none; font-weight: 700; }
.about-local-nav a:hover { color: #0b6694; border-bottom-color: #d39a27; }

.about-profile-band,
.about-capabilities-premium,
.about-evidence-band,
.about-contact-band {
  width: min(1180px, calc(100% - 96px));
  margin: 0 auto;
}

.about-profile-band {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 58px;
  padding: 104px 0 112px;
  scroll-margin-top: 72px;
}

.about-section-label { display: flex; flex-direction: column; align-items: flex-start; }
.about-section-label > span { color: #d59a20; font-size: 54px; font-weight: 800; line-height: 1; }
.about-section-label > strong { margin-top: 18px; color: #8a9aa5; font-size: 12px; }
.about-section-label > small { margin-top: 8px; color: var(--navy); font-size: 22px; font-weight: 800; }
.about-profile-copy h2 { max-width: 780px; margin: 12px 0 30px; color: var(--navy); font-size: 44px; line-height: 1.2; letter-spacing: 0; }
.about-profile-text { max-width: 900px; columns: 2; column-gap: 44px; }
.about-profile-text p { margin: 0 0 18px; color: #425a6a; line-height: 1.9; break-inside: avoid; }

.about-proof-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 44px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.about-proof-row div { padding: 24px 24px 24px 0; }
.about-proof-row div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.about-proof-row span { display: block; margin-bottom: 8px; color: #8999a4; font-size: 13px; }
.about-proof-row strong { color: var(--navy); line-height: 1.5; }

.about-capabilities-premium {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: 72px;
  padding: 100px max(48px, calc((100vw - 1180px) / 2));
  width: auto;
  max-width: none;
  background: #f0f4f6;
  scroll-margin-top: 72px;
}

.about-capabilities-head { max-width: 480px; justify-self: end; }
.about-capabilities-head h2 { margin: 14px 0 22px; color: var(--navy); font-size: 40px; line-height: 1.24; letter-spacing: 0; }
.about-capabilities-head p { margin: 0; color: #536a79; line-height: 1.8; }
.about-capability-list { max-width: 720px; }
.about-capability-list article { display: grid; grid-template-columns: 58px 190px minmax(0, 1fr); gap: 20px; padding: 28px 0; align-items: start; border-top: 1px solid #cbd7de; }
.about-capability-list article:last-child { border-bottom: 1px solid #cbd7de; }
.about-capability-list article > span { color: #c48b1b; font-weight: 800; }
.about-capability-list h3 { margin: 0; color: var(--navy); font-size: 21px; }
.about-capability-list p { margin: 0; color: #516675; line-height: 1.75; }

.about-delivery-band {
  padding: 104px max(48px, calc((100% - 1180px) / 2));
  color: #fff;
  background: #062f4d;
  scroll-margin-top: 72px;
}

.about-delivery-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 48px; align-items: end; }
.about-delivery-head > span { grid-column: 1 / -1; }
.about-delivery-head h2 { max-width: 760px; margin: 0; font-size: 42px; line-height: 1.24; letter-spacing: 0; }
.about-delivery-head p { margin: 0; color: rgba(255, 255, 255, .7); line-height: 1.8; }
.about-delivery-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 64px; border-top: 1px solid rgba(255, 255, 255, .24); }
.about-delivery-steps article { padding: 30px 26px 0 0; }
.about-delivery-steps article + article { padding-left: 26px; border-left: 1px solid rgba(255, 255, 255, .18); }
.about-delivery-steps span { color: #e0a32a; font-size: 13px; font-weight: 800; }
.about-delivery-steps h3 { margin: 15px 0 10px; font-size: 20px; }
.about-delivery-steps p { margin: 0; color: rgba(255, 255, 255, .68); line-height: 1.75; }

.about-evidence-band { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 76px; padding: 104px 0; scroll-margin-top: 72px; }
.about-evidence-band h2 { max-width: 480px; margin: 14px 0 0; color: var(--navy); font-size: 38px; line-height: 1.26; letter-spacing: 0; }
.about-evidence-list { border-top: 1px solid var(--line); }
.about-evidence-list a { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 24px; padding: 25px 0; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.about-evidence-list a:hover strong { color: #0b6694; }
.about-evidence-list span { color: #81939f; }
.about-evidence-list strong { color: var(--navy); font-size: 20px; }

.about-contact-band { display: flex; margin-bottom: 96px; padding: 42px 48px; align-items: center; justify-content: space-between; gap: 36px; color: #fff; background: #0b5b82; }
.about-contact-band > div > span { color: #f2c45f; font-size: 13px; font-weight: 800; }
.about-contact-band h2 { max-width: 680px; margin: 9px 0 0; font-size: 28px; line-height: 1.35; letter-spacing: 0; }
.about-contact-band .text-link { color: #fff; }

@media (max-width: 900px) {
  .about-premium-hero { min-height: 520px; }
  .about-hero-copy,
  .about-profile-band,
  .about-evidence-band,
  .about-contact-band { width: min(100% - 40px, 720px); }
  .about-profile-band,
  .about-capabilities-premium,
  .about-evidence-band,
  .about-delivery-head { grid-template-columns: 1fr; }
  .about-section-label { display: none; }
  .about-profile-text { columns: 1; }
  .about-capabilities-head { max-width: none; justify-self: stretch; }
  .about-delivery-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-delivery-steps article:nth-child(3) { padding-left: 0; border-left: 0; }
  .about-contact-band { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .about-premium-hero { min-height: 460px; }
  .about-hero-copy { width: calc(100% - 36px); padding-bottom: 44px; }
  .about-hero-copy h1 { font-size: 38px; }
  .about-hero-copy p { font-size: 16px; }
  .about-local-nav { grid-template-columns: repeat(4, max-content); padding: 0 18px; overflow-x: auto; }
  .about-local-nav a { padding: 17px 12px; white-space: nowrap; }
  .about-profile-band { padding: 70px 0; }
  .about-profile-copy h2,
  .about-capabilities-head h2,
  .about-delivery-head h2,
  .about-evidence-band h2 { font-size: 31px; }
  .about-proof-row { grid-template-columns: 1fr; }
  .about-proof-row div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .about-capabilities-premium,
  .about-delivery-band { padding: 72px 20px; }
  .about-capability-list article { grid-template-columns: 40px minmax(0, 1fr); }
  .about-capability-list article p { grid-column: 2; }
  .about-delivery-steps { grid-template-columns: 1fr; margin-top: 42px; }
  .about-delivery-steps article,
  .about-delivery-steps article + article { padding: 24px 0; border-top: 1px solid rgba(255, 255, 255, .16); border-left: 0; }
  .about-evidence-band { gap: 42px; padding: 72px 0; }
  .about-evidence-list a { grid-template-columns: 1fr; gap: 6px; }
  .about-contact-band { margin-bottom: 48px; padding: 34px 24px; }
}

.section h2,
.admin-header h2 {
  margin: 0;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.18;
  letter-spacing: 0;
}

.section-head p,
.about-contact p {
  color: var(--muted-ink);
  font-size: 17px;
}

.trust-grid,
.solution-grid,
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.news-card-link {
  color: inherit;
  text-decoration: none;
}

.news-card-link article {
  height: 100%;
}

.trust-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.trust-grid article,
.solution-card,
.news-grid article,
.admin-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(18, 42, 56, 0.06);
}

.trust-grid article {
  position: relative;
  padding: 24px;
}

.trust-grid article::before,
.solution-card::before {
  content: "";
  display: block;
  width: 52px;
  height: 4px;
  margin-bottom: 18px;
  background: var(--accent);
  border-radius: 999px;
}

.solution-card::before {
  margin: 18px 22px 0;
}

.trust-grid svg {
  width: 32px;
  height: 32px;
  color: var(--steel);
}

[data-lucide] {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--steel);
  background: #e8f0f4;
  border: 1px solid #cbd8df;
  border-radius: 7px;
}

[data-lucide]::before {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.trust-grid h3,
.solution-card h3,
.news-grid h3,
.case-feature h3,
.admin-panel h3 {
  margin: 12px 0 8px;
  line-height: 1.3;
}

.trust-grid p,
.solution-card p,
.news-grid p,
.case-list span,
.lead-list span {
  color: var(--muted-ink);
}

.solution-card {
  position: relative;
  overflow: hidden;
}

.solution-image {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.solution-image.product-cover-contain {
  object-fit: contain;
  background: #f3f5f6;
}

.homepage-product-carousel {
  position: relative;
}

.homepage-product-controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 0 0 14px;
}

.carousel-arrow {
  display: inline-grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  color: var(--steel);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 50%;
  font: 700 2rem/1 Arial, sans-serif;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.carousel-arrow:hover,
.carousel-arrow:focus-visible {
  color: #fff;
  background: var(--steel);
  border-color: var(--steel);
}

.homepage-product-viewport {
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 2px 2px 22px;
  cursor: grab;
  touch-action: pan-y;
}

.homepage-product-viewport.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.homepage-product-track {
  display: flex;
  width: max-content;
  gap: 18px;
  will-change: transform;
}

.homepage-product-track .solution-card {
  display: flex;
  flex: 0 0 clamp(340px, 31vw, 455px);
  flex-direction: column;
}

.homepage-product-media {
  display: block;
  height: 310px;
  margin-bottom: 16px;
  overflow: hidden;
  background: #f3f5f6;
}

.homepage-product-track .homepage-product-media .solution-image {
  width: 100%;
  height: 310px;
  padding: 6px;
  object-fit: contain;
  background: #f3f5f6;
  transform: scale(1.12);
}

.homepage-product-track .solution-card h3 {
  margin-top: 4px;
}

.homepage-product-track .solution-card p {
  flex: 1;
}

.homepage-product-track .spec-list {
  margin-top: auto;
}

@media (max-width: 900px) {
  .homepage-product-track .solution-card {
    flex-basis: min(78vw, 420px);
  }

  .homepage-product-media,
  .homepage-product-track .homepage-product-media .solution-image {
    height: 270px;
  }
}

@media (max-width: 560px) {
  .homepage-product-controls {
    margin-bottom: 10px;
  }

  .carousel-arrow {
    width: 40px;
    height: 40px;
  }

  .homepage-product-track {
    gap: 12px;
  }

  .homepage-product-track .solution-card {
    flex-basis: calc(100vw - 42px);
  }

  .homepage-product-media,
  .homepage-product-track .homepage-product-media .solution-image {
    height: 235px;
  }

  .homepage-product-track .homepage-product-media .solution-image {
    transform: scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-product-track {
    transform: none;
  }
}

/* Product center and the single product-detail showcase template. */
.product-center-showcase, .product-showcase-detail { color: #17384c; background: #fff; }
.product-center-hero { display: flex; align-items: center; min-height: 300px; padding: 52px 0; color: #fff; background: linear-gradient(115deg,#083d59,#0a526f); border-bottom: 3px solid #d5a21d; }
.product-center-hero .section { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 64px; width: 100%; }
.product-center-hero span, .product-center-section-head span, .product-showcase-media header span, .product-showcase-inquiry span { font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.product-center-hero h1 { margin: 11px 0; color: #fff; font-size: clamp(40px,4.5vw,58px); line-height: 1.06; }
.product-center-hero p { max-width: 720px; margin: 0; color: #d7e7ef; font-size: 16px; line-height: 1.75; }
.product-center-hero strong { display: flex; align-items: baseline; gap: 12px; min-width: 250px; padding: 20px 32px; color: #f0b82d; border-left: 1px solid rgba(255,255,255,.28); font-size: 68px; line-height: 1; }
.product-center-hero strong small { color: #fff; font-size: 14px; }
.product-center-main { padding-block: 62px 72px; background: #f5f7f7; }
.product-center-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 32px; padding-left: 18px; border-left: 3px solid #d5a21d; }
.product-center-section-head h2 { margin: 5px 0 0; color: #173f55; font-size: 32px; }
.product-center-section-head p { max-width: 520px; margin: 0; color: #637b89; line-height: 1.7; }
.product-center-main-card { margin-bottom: 28px; border: 1px solid #c7d9e4; background: #fff; }
.product-center-main-card > header { display: grid; grid-template-columns: minmax(300px,1fr) minmax(330px,.9fr) auto; align-items: center; gap: 34px; min-height: 122px; padding: 24px 26px; background: #dcebf3; }
.product-center-main-card > header span { color: #16739c; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.product-center-main-card h2 { margin: 7px 0 0; color: #173f55; font-size: 24px; }
.product-center-main-card > header p { margin: 0; color: #607886; font-size: 15px; line-height: 1.65; }
.product-center-main-summary > div, .product-center-support-card header > div > div { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 14px; }
.product-center-main-summary > div span, .product-center-support-card header > div > div span { position: relative; padding-left: 10px; color: #5b7281; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.product-center-main-summary > div span::before, .product-center-support-card header > div > div span::before { content: ""; position: absolute; left: 0; top: .55em; width: 4px; height: 4px; background: #d9a21c; border-radius: 50%; }
.product-center-main-card > header a, .product-center-support-card a { color: #fff; background: #07536f; padding: 14px 20px; font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.product-center-main-card > header a b, .product-center-support-card a b { margin-left: 8px; color: #f0b82d; }
.product-center-main-media { display: grid; grid-template-columns: minmax(0,1fr) minmax(200px,.66fr) minmax(200px,.66fr); align-items: center; gap: 28px; min-height: 400px; padding: 28px 38px; }
.product-center-render, .product-center-ratio-media, .product-center-support-image { position: relative; display: grid; place-items: center; overflow: hidden; color: #7b909c; background: #f5f7f8; }
.product-center-render { aspect-ratio: 4/3; padding: 18px; }
.product-center-render img { width: 100%; height: 100%; object-fit: contain; }
.product-center-support-image img { width: 100%; height: 100%; object-fit: contain; }
.product-center-ratio-media { aspect-ratio: 4/3; }
.product-center-ratio-media img, .product-center-ratio-media video { width: 100%; height: 100%; object-fit: cover; }
.product-center-video:not(.has-video) { background: linear-gradient(135deg,#edf2f5,#dce5ea); }
.product-center-media-label { position: absolute; right: 12px; bottom: 0; padding: 8px 11px; color: #fff; background: #173f55; font-size: 12px; }
.product-center-media-label::after { content: ""; position: absolute; right: 8px; bottom: -3px; width: 40px; height: 3px; background: #e5ad27; }
.product-center-media-label.is-pending { color: #fff; background: #c38a09; }
.product-center-supporting { padding: 66px 0 76px; background: #edf4f7; border-top: 1px solid #d0dee7; }
.product-center-support-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.product-center-support-card { overflow: hidden; border: 1px solid #c7d9e4; background: #fff; }
.product-center-support-card header { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; min-height: 112px; padding: 20px; background: #e2edf3; }
.product-center-support-card header > div > span { color: #16739c; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.product-center-support-card h3 { margin: 6px 0 0; color: #173f55; font-size: 20px; }
.product-center-support-image { aspect-ratio: 4/3; margin: 22px 34px 0; padding: 16px; }
.product-center-support-more { margin-top: 22px; }
.product-center-support-more > summary { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 12px 20px; color: #07536f; border: 1px solid #b9ceda; background: #fff; font-weight: 800; cursor: pointer; list-style: none; }
.product-center-support-more > summary::-webkit-details-marker { display: none; }
.product-center-support-more > summary small { color: #6b808c; font-size: 12px; font-weight: 600; }
.product-center-support-more > summary b { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.product-center-support-more[open] > summary b { transform: translateY(3px) rotate(225deg); }
.product-center-support-more > .product-center-support-grid { margin-top: 18px; }
.product-center-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-block: 54px; padding: 34px 36px; color: #fff; background: #083f5b; }
.product-center-cta h2 { margin: 6px 0; color: #fff; font-size: 26px; }
.product-center-cta p { margin: 0; color: #cbdde6; }
.product-center-cta a { padding: 13px 18px; color: #183d4e; background: #efbd3e; font-weight: 800; text-decoration: none; white-space: nowrap; }

.product-showcase-atmosphere { position: relative; display: flex; align-items: end; height: 292px; overflow: hidden; color: #fff; background: radial-gradient(circle at 78% 42%,rgba(37,145,159,.28),transparent 24%),linear-gradient(118deg,#082d47 0%,#123f57 60%,#0b344a 100%); background-size: cover; background-position: center 48%; }
.product-showcase-atmosphere.has-image { background-image: linear-gradient(90deg,rgba(4,34,52,.72) 0%,rgba(4,34,52,.48) 45%,rgba(4,34,52,.18) 100%),var(--product-atmosphere); }
.product-showcase-atmosphere::before { content: "XUNLI"; position: absolute; right: clamp(28px,8vw,120px); bottom: -26px; color: rgba(255,255,255,.1); font-size: clamp(92px,13vw,190px); font-weight: 900; line-height: 1; letter-spacing: -.06em; pointer-events: none; }
.product-showcase-atmosphere-shell { position: relative; z-index: 1; width: min(1320px,calc(100% - 64px)); margin-inline: auto; padding-bottom: 46px; }
.product-showcase-atmosphere-shell > span { color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.product-showcase-atmosphere h1 { max-width: 800px; margin: 12px 0 0; color: #fff; font-size: clamp(34px,3.3vw,46px); line-height: 1.12; letter-spacing: -.025em; }
.product-showcase-title { color: #fff; background: #91b5c8; }
.product-showcase-title-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.82fr); align-items: center; gap: 58px; width: min(1320px,calc(100% - 64px)); min-height: 154px; margin-inline: auto; padding-block: 26px; }
.product-showcase-title span { font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.product-showcase-title h2 { margin: 8px 0 0; color: #fff; font-size: clamp(28px,2.6vw,38px); line-height: 1.2; }
.product-showcase-title p { margin: 0; font-size: 15px; line-height: 1.7; }
.product-showcase-product { display: grid; grid-template-columns: minmax(300px,.76fr) minmax(450px,1.24fr); gap: 52px; padding-block: 70px 56px; }
.product-showcase-device { position: relative; display: grid; place-items: center; min-height: 470px; padding: 28px; overflow: hidden; background: linear-gradient(145deg,#fbfcfc,#edf2f3); border: 1px solid #d3e0e8; }
.product-showcase-device::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(8,113,147,.09); pointer-events: none; }
.product-showcase-device img { position: relative; z-index: 1; width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
.product-showcase-device > span { position: absolute; z-index: 2; right: 18px; bottom: 18px; padding: 9px 12px; color: #fff; background: #123f58; font-size: 11px; font-weight: 800; }
.product-showcase-placeholder { color: #758a96; }
.product-showcase-specs > header { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 2px solid #173d59; }
.product-showcase-specs > header span { grid-column: 1/-1; margin-bottom: 5px; color: #0877a0; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.product-showcase-specs > header h2 { margin: 0; color: #0b304a; font-size: 28px; }
.product-showcase-specs > header p { margin: 0; color: #617987; font-size: 13px; }
.product-showcase-workflow > h2 { margin: 0 0 15px; padding: 12px 16px; color: #fff; background: #087193; text-align: center; font-size: 18px; }
.product-showcase-variant-tabs { display: flex; gap: 8px; margin-bottom: 11px; }
.product-showcase-variant-tabs button { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; color: #173d59; border: 1px solid #b9ccda; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.product-showcase-variant-tabs button:hover, .product-showcase-variant-tabs button:focus-visible { border-color: #0067b5; }
.product-showcase-variant-tabs .is-active { color: #fff; background: #0067b5; border-color: #0067b5; }
.product-showcase-specs dl { margin: 0; border: 1px solid #d4dfe5; }
.product-showcase-specs dl > div { display: grid; grid-template-columns: 34% 1fr; }
.product-showcase-specs dt, .product-showcase-specs dd { margin: 0; padding: 12px 14px; border-bottom: 1px solid #d4dfe5; }
.product-showcase-specs dt { color: #506b79; background: #eef3f6; }
.product-showcase-specs dd { color: #17384c; font-weight: 700; }
.product-showcase-variant-summary { margin: 0 0 10px; padding: 11px 13px; color: #365a6e; border-left: 3px solid #efbd3e; background: #f3f7f8; font-size: 13px; line-height: 1.6; }
.product-showcase-spec-note { margin: 11px 0 0; color: #6b808b; font-size: 13px; line-height: 1.6; }
.product-showcase-workflow { padding-bottom: 48px; }
.product-showcase-workflow ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; border: 1px solid #d7e2e8; }
.product-showcase-workflow li { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; min-height: 72px; padding: 15px 18px; border-right: 1px solid #d7e2e8; text-align: center; }
.product-showcase-workflow li:last-child { border: 0; }
.product-showcase-workflow li > span { color: #0877a0; font-weight: 900; }
.product-showcase-workflow h3 { margin: 0; color: #1e475d; font-size: 15px; }
.product-showcase-workflow p { margin: 0; color: #6b808c; font-size: 13px; line-height: 1.55; }
.product-showcase-media { padding-block: 44px; }
.product-showcase-media header { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 28px; border-bottom: 2px solid #173d59; }
.product-showcase-media header span { color: #0877a0; }
.product-showcase-media header h2 { margin: 7px 0 14px; color: #092d4b; font-size: 29px; }
.product-showcase-media header p { margin: 0 0 15px; color: #587286; font-size: 13px; }
.product-showcase-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.product-showcase-gallery figure { margin: 0; }
.product-showcase-gallery button { width: 100%; aspect-ratio: 4/3; padding: 0; overflow: hidden; border: 0; background: #eef3f6; cursor: zoom-in; }
.product-showcase-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-showcase-gallery figcaption { padding-top: 8px; color: #536e7c; }
.product-showcase-media-placeholder { display: grid; place-items: center; align-content: center; aspect-ratio: 4/3; padding: 28px; color: #153b57; text-align: center; border: 1px solid #cbdbe5; background: repeating-linear-gradient(135deg,#f7fafb 0,#f7fafb 14px,#eef4f7 14px,#eef4f7 28px); }
.product-showcase-media-placeholder i { display: grid; width: 38px; height: 38px; margin-bottom: 10px; place-items: center; color: #376786; border: 1px solid #9ab5c6; border-radius: 50%; font-style: normal; font-size: 20px; }
.product-showcase-media-placeholder strong { margin-bottom: 7px; }
.product-showcase-media-placeholder span { max-width: 230px; color: #60798a; font-size: 13px; line-height: 1.55; }
.product-showcase-video video { display: block; width: min(920px,100%); max-height: 560px; background: #102f3d; }
.product-showcase-video p { color: #536e7c; }
.product-showcase-video-placeholder { display: grid; grid-template-columns:auto minmax(190px,.72fr) minmax(300px,1.28fr); gap: 18px; align-items: center; min-height: 150px; padding: 30px 44px; border-left: 4px solid #0067b5; background: #f0f4f7; }
.product-showcase-video-placeholder b { padding: 7px 10px; color: #0067b5; border: 1px solid #0067b5; font-size: 12px; }
.product-showcase-video-placeholder strong { color: #0d2e49; font-size: 20px; }
.product-showcase-video-placeholder span { color: #60798d; line-height: 1.7; }
.product-showcase-documents { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.product-showcase-documents a { display: flex; align-items: center; gap: 18px; padding: 22px; color: #173f55; border: 1px solid #d5e0e6; text-decoration: none; }
.product-showcase-documents b { color: #0877a0; }
.product-showcase-documents span { display: grid; gap: 4px; }
.product-showcase-documents small { color: #6b808c; }
.product-showcase-documents i { margin-left: auto; }
.product-showcase-document-placeholder { display: flex; align-items: center; gap: 28px; min-height: 104px; padding: 22px 26px; color: #173f55; border: 1px solid #d5e0e6; }
.product-showcase-document-placeholder b { color: #0067b5; font-size: 13px; letter-spacing: .08em; }
.product-showcase-document-placeholder span { display: grid; gap: 4px; }
.product-showcase-document-placeholder small { color: #758a9a; }
.product-showcase-inquiry { display: grid; grid-template-columns:minmax(280px,1.1fr) minmax(300px,.9fr) auto; align-items: center; gap: 38px; margin-block: 48px 64px; padding: 42px 50px; color: #fff; background: #0b3e5f; }
.product-showcase-inquiry h2 { margin: 7px 0; color: #fff; font-size: 29px; }
.product-showcase-inquiry p { margin: 0; color: #cedee7; }
.product-showcase-inquiry dl { display: grid; gap: 8px; margin: 0; }
.product-showcase-inquiry dl div { display: grid; grid-template-columns: 82px 1fr; gap: 14px; }
.product-showcase-inquiry dt { color: #8fb2c8; font-size: 13px; }
.product-showcase-inquiry dd { margin: 0; color: #fff; font-weight: 700; }
.product-showcase-inquiry .primary-action { padding: 16px 22px; color: #123550; background: #fff; text-decoration: none; white-space: nowrap; }

@media (max-width: 900px) {
  .product-center-main-card > header { grid-template-columns: 1fr auto; }
  .product-center-main-summary { grid-column: 1/-1; grid-row: 2; }
  .product-center-main-media { grid-template-columns: minmax(0,1fr) minmax(0,.66fr) minmax(0,.66fr); gap: 14px; min-height: 0; padding: 20px; }
  .product-center-render { grid-column: auto; width: 100%; max-height: none; }
  .product-center-support-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-center-support-card header { min-height: 122px; }
  .product-showcase-title-shell { grid-template-columns: minmax(0,1fr) minmax(300px,.9fr); gap: 34px; }
  .product-showcase-product { grid-template-columns: .85fr 1.15fr; gap: 28px; }
  .product-showcase-workflow ol { grid-template-columns: repeat(5,minmax(135px,1fr)); overflow-x: auto; }
  .product-showcase-inquiry { grid-template-columns: 1fr 1fr; }
  .product-showcase-inquiry .primary-action { grid-column: 1/-1; justify-self: start; }
}
@media (max-width: 620px) {
  .product-center-hero { min-height: 250px; padding: 38px 0; }
  .product-center-hero .section { grid-template-columns: 1fr; gap: 22px; }
  .product-center-hero h1 { font-size: 38px; }
  .product-center-hero strong { min-width: 0; padding: 0; border-left: 0; font-size: 48px; }
  .product-center-main, .product-center-supporting { padding-block: 44px 52px; }
  .product-center-section-head { display: block; }
  .product-center-section-head p { margin-top: 12px; }
  .product-center-main-card { margin-bottom: 22px; }
  .product-center-main-card > header { grid-template-columns: 1fr; gap: 16px; min-height: 0; padding: 20px; }
  .product-center-main-summary { grid-column: auto; grid-row: auto; }
  .product-center-main-card > header a { justify-self: start; }
  .product-center-main-media { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 16px; }
  .product-center-render { grid-column: 1/-1; width: 100%; max-height: none; }
  .product-center-support-grid { grid-template-columns: 1fr; }
  .product-center-support-card header { grid-template-columns: 1fr; gap: 16px; min-height: 0; }
  .product-center-support-card header a { justify-self: start; }
  .product-center-support-image { margin: 16px 18px 0; }
  .product-center-cta, .product-showcase-inquiry { display: block; padding: 28px 22px; }
  .product-center-cta a, .product-showcase-inquiry a { display: inline-block; margin-top: 20px; }
  .product-showcase-atmosphere { height: 242px; background-position: center; }
  .product-showcase-atmosphere-shell { width: calc(100% - 32px); padding-bottom: 30px; }
  .product-showcase-atmosphere h1 { font-size: 32px; }
  .product-showcase-title-shell { grid-template-columns: 1fr; gap: 14px; width: calc(100% - 32px); min-height: 0; padding-block: 25px; }
  .product-showcase-title h2 { font-size: 27px; }
  .product-showcase-title p { font-size: 14px; }
  .product-showcase-product { grid-template-columns: 1fr; padding-block: 42px; }
  .product-showcase-device { min-height: 300px; }
  .product-showcase-specs > header { grid-template-columns: 1fr; gap: 6px; }
  .product-showcase-variant-tabs { overflow-x: auto; }
  .product-showcase-variant-tabs button { min-width: max-content; }
  .product-showcase-specs dl > div { grid-template-columns: 38% 1fr; }
  .product-showcase-workflow ol { grid-template-columns: 1fr; overflow: visible; }
  .product-showcase-workflow li { display: grid; grid-template-columns: 36px 1fr; border-right: 0; border-bottom: 1px solid #d7e2e8; }
  .product-showcase-gallery, .product-showcase-documents { grid-template-columns: 1fr; }
  .product-showcase-media header { display: block; }
  .product-showcase-media header p { margin-top: -6px; }
  .product-showcase-video-placeholder { grid-template-columns: auto 1fr; min-height: 0; padding: 24px 20px; }
  .product-showcase-video-placeholder span { grid-column: 1/-1; }
  .product-showcase-inquiry { grid-template-columns: 1fr; gap: 24px; }
  .product-showcase-inquiry .primary-action { grid-column: auto; }
}

/* Canonical case detail template */
.case-showcase-page{--case-blue:#0068b7;--case-deep:#073c68;--case-ink:#10263d;--case-line:#d6e2eb;--case-pale:#eef6fb;background:#fff;color:var(--case-ink)}
.case-showcase-page .section{width:min(1180px,calc(100% - 48px));margin-inline:auto;padding-inline:0}
.case-showcase-breadcrumb{display:flex;gap:10px;align-items:center;padding-top:86px;padding-bottom:22px;color:#758899;font-size:13px;white-space:nowrap;overflow:hidden}
.case-showcase-breadcrumb a{color:#60798c;text-decoration:none}.case-showcase-breadcrumb strong{overflow:hidden;text-overflow:ellipsis;font-weight:600}
.case-showcase-hero{position:relative;overflow:hidden;padding:26px 0 76px;background:linear-gradient(135deg,#f5faff 0%,#edf5fa 55%,#f9fbfc 100%)}
.case-showcase-hero::after{content:"";position:absolute;width:540px;height:540px;right:-170px;top:-230px;border:48px solid rgba(0,104,183,.045);border-radius:50%;pointer-events:none}
.case-showcase-title{position:relative;z-index:1;max-width:980px;padding:30px 34px;border-left:4px solid var(--case-blue);background:linear-gradient(90deg,rgba(226,240,249,.95),rgba(248,251,253,.78))}
.case-showcase-title p,.case-showcase-section header p,.case-showcase-inquiry-copy>p{margin:0 0 14px;color:var(--case-blue);font-size:12px;font-weight:800;letter-spacing:.14em}
.case-showcase-title h1{display:grid;gap:3px;margin:0;font-size:clamp(34px,4.2vw,58px);line-height:1.08;letter-spacing:-.04em}.case-showcase-title h1 span{display:block}
.case-showcase-summary{max-width:900px;margin:24px 0 26px;color:#506b7f;font-size:17px;line-height:1.85}
.case-showcase-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;border:1px solid var(--case-line);background:#fff}
.case-showcase-context>div{display:grid;gap:7px;min-height:112px;padding:20px 22px}.case-showcase-context>div+div{border-left:1px solid var(--case-line)}
.case-showcase-context small,.case-showcase-product small{color:#60798d;font-size:12px}.case-showcase-context strong{font-size:18px}.case-showcase-context span{color:#668095;font-size:13px}
.case-showcase-context .case-showcase-milestone{position:relative;grid-template-columns:auto 1fr;color:#fff;background:linear-gradient(135deg,#0068b7,#064778)}.case-showcase-context .case-showcase-milestone>b{grid-row:1/4;align-self:center;padding-right:18px;color:#fff;font-size:38px;font-weight:300;letter-spacing:-.05em}.case-showcase-context .case-showcase-milestone small,.case-showcase-context .case-showcase-milestone span{color:#c8e5f7}
.case-showcase-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 0;border-top:1px solid var(--case-line);border-left:1px solid var(--case-line);background:rgba(255,255,255,.9)}
.case-showcase-facts>div{min-height:88px;padding:18px;border-right:1px solid var(--case-line);border-bottom:1px solid var(--case-line)}.case-showcase-facts dt{margin-bottom:8px;color:#6b8194;font-size:12px}.case-showcase-facts dd{margin:0;font-weight:700;line-height:1.5}
.case-showcase-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.case-showcase-actions .primary-action,.case-showcase-inquiry .primary-action{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:12px 22px;color:#fff;background:var(--case-blue);border:0;text-decoration:none;font-weight:700;cursor:pointer}.case-showcase-quiet{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;color:var(--case-blue);border:1px solid var(--case-blue);text-decoration:none;font-weight:700}
.case-showcase-nav{position:sticky;z-index:20;top:64px;background:linear-gradient(90deg,#e9f1f7,#f7fafc,#e9f1f7);border-block:1px solid #d4e0e9}.case-showcase-nav .section{display:flex;justify-content:center;gap:6px;padding-block:8px;overflow-x:auto}.case-showcase-nav a{display:grid;grid-template-columns:auto auto;gap:8px;align-items:center;min-width:max-content;padding:10px 16px;color:#405469;background:rgba(255,255,255,.82);border:1px solid #d6e2eb;text-decoration:none;font-size:13px;font-weight:700}.case-showcase-nav a::before{content:counter(case-anchor,decimal-leading-zero);counter-increment:case-anchor;color:#7f9bb1;font-size:9px}.case-showcase-nav .section{counter-reset:case-anchor}.case-showcase-nav a.active,.case-showcase-nav a:hover,.case-showcase-nav a:focus-visible{color:#fff;background:var(--case-blue);border-color:var(--case-blue)}.case-showcase-nav a.active::before,.case-showcase-nav a:hover::before{color:#bde1f8}
.case-showcase-section{padding:88px 0}.case-showcase-section header{margin-bottom:32px}.case-showcase-section h2,.case-showcase-inquiry h2{margin:0;color:var(--case-ink);font-size:clamp(28px,3vw,42px);line-height:1.15}.case-showcase-section header>span{display:block;max-width:760px;margin-top:16px;color:#60788a;line-height:1.75}
.case-showcase-gallery{background:#eaf2f7}.case-showcase-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.case-showcase-photo{position:relative;padding:0;overflow:hidden;text-align:left;background:#fff;border:1px solid #c9d9e4;box-shadow:0 12px 30px rgba(20,64,92,.07);cursor:zoom-in}.case-showcase-photo-frame{display:grid;place-items:center;width:100%;aspect-ratio:4/3;padding:0!important;overflow:hidden;background:#dfe8ee}.case-showcase-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.case-showcase-photo:hover img{transform:scale(1.012)}.case-showcase-photo-caption{display:grid!important;grid-template-columns:1fr auto;gap:16px;align-items:center;min-height:66px;padding:14px 18px!important;color:var(--case-ink)!important;background:#fff!important}.case-showcase-photo b{font-size:14px;text-align:left}.case-showcase-photo small{color:#71889a;white-space:nowrap}
.case-showcase-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.case-showcase-document{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;color:#073c68;background:#fff;border:1px solid #cbdce7;text-decoration:none}.case-showcase-document>b{display:grid;width:42px;height:42px;place-items:center;color:#fff;background:var(--case-blue);font-size:11px}.case-showcase-video-entry{margin-top:20px;padding:13px 20px;color:#fff;background:var(--case-blue);border:0;cursor:pointer}
.case-showcase-solution{background:#f5f8fa}.case-showcase-challenges{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));border:1px solid var(--case-line);background:#fff}.case-showcase-challenges>*{padding:17px 18px}.case-showcase-challenges b{color:#fff;background:var(--case-blue)}.case-showcase-challenges span{border-left:1px solid var(--case-line);font-size:14px;line-height:1.6}.case-showcase-product{display:grid;grid-template-columns:1fr auto;gap:5px 20px;align-items:center;margin-top:22px;padding:19px 22px;background:#fff;border:1px solid var(--case-line)}.case-showcase-product small{grid-column:1/-1}.case-showcase-product strong{font-size:18px}.case-showcase-product a{color:var(--case-blue);font-weight:700;text-decoration:none}.case-showcase-config{margin:14px 0 0;padding:18px 22px;color:#506b7f;background:#edf4f8;line-height:1.75}.case-showcase-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none}.case-showcase-steps li{position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px 14px;min-height:178px;padding:20px;background:#fff;border:1px solid var(--case-line)}.case-showcase-step-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--case-blue);background:#eaf4fa}.case-showcase-step-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.case-showcase-steps li>b{justify-self:end;color:#8aa4b7;font-size:11px}.case-showcase-steps li>div{grid-column:1/-1}.case-showcase-steps h3{margin:0 0 8px;font-size:17px}.case-showcase-steps p{margin:0;color:#61798b;font-size:14px;line-height:1.7}
.case-showcase-results{color:#fff;background:#064c83}.case-showcase-results h2{color:#fff}.case-showcase-results header p{color:#66bdf0}.case-showcase-result-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.2)}.case-showcase-result-cards article{display:grid;gap:8px;min-height:116px;padding:22px}.case-showcase-result-cards article+article{border-left:1px solid rgba(255,255,255,.2)}.case-showcase-result-cards strong{font-size:clamp(24px,3vw,38px);font-weight:500}.case-showcase-result-cards strong small{font-size:.5em}.case-showcase-result-cards span{color:#c7e0f1;font-size:13px}.case-showcase-result-summary{display:grid;gap:7px;margin-top:20px;padding-top:18px;border-top:2px solid rgba(75,184,246,.55)}.case-showcase-result-summary span{color:#8fcaed;font-size:12px}.case-showcase-result-summary p{max-width:960px;margin:0;line-height:1.75}
.case-showcase-inquiry{padding:76px 0;background:#eef5f8}.case-showcase-inquiry>.section{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:54px;align-items:start}.case-showcase-inquiry-copy>span{display:block;margin-top:18px;color:#60788b;line-height:1.75}.case-showcase-inquiry-copy dl{display:grid;gap:10px;margin-top:28px}.case-showcase-inquiry-copy dl div{display:grid;grid-template-columns:64px 1fr}.case-showcase-inquiry-copy dt{color:#748899}.case-showcase-inquiry-copy dd{margin:0;font-weight:700}.case-showcase-inquiry .inquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:28px;background:#fff}.case-showcase-inquiry .inquiry-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.case-showcase-inquiry .inquiry-form input,.case-showcase-inquiry .inquiry-form textarea{width:100%;padding:12px;border:1px solid var(--case-line);font:inherit}.case-showcase-inquiry .inquiry-form .wide{grid-column:1/-1}.case-showcase-inquiry .inquiry-consent{display:flex;grid-column:1/-1;gap:8px;align-items:flex-start}.case-showcase-inquiry .inquiry-consent input{width:auto;margin-top:3px}
.case-showcase-lightbox,.case-showcase-video-dialog{width:min(1180px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:52px 64px 24px;color:#fff;background:rgba(3,21,36,.97);border:0}.case-showcase-lightbox::backdrop,.case-showcase-video-dialog::backdrop{background:rgba(0,12,22,.82)}.case-showcase-lightbox figure{margin:0}.case-showcase-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 150px);margin:auto;object-fit:contain}.case-showcase-lightbox figcaption{text-align:center;margin-top:12px}.case-showcase-lightbox>button,.case-showcase-video-dialog>button{position:absolute;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);cursor:pointer}.case-showcase-lightbox [data-case-lightbox-close],.case-showcase-video-dialog [data-case-video-close]{right:14px;top:12px;width:38px;height:38px}.case-showcase-lightbox [data-case-lightbox-prev]{left:14px;top:50%;width:38px;height:54px}.case-showcase-lightbox [data-case-lightbox-next]{right:14px;top:50%;width:38px;height:54px}.case-showcase-video-dialog video{display:block;width:100%;max-height:calc(100vh - 110px);background:#000}
@media(max-width:900px){.case-showcase-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-showcase-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.case-showcase-inquiry>.section{grid-template-columns:1fr}.case-showcase-challenges{grid-template-columns:1fr}.case-showcase-challenges span{border-left:0;border-top:1px solid var(--case-line)}}
@media(max-width:600px){.case-showcase-page .section{width:min(100% - 30px,1180px)}.case-showcase-breadcrumb{padding-top:72px}.case-showcase-hero{padding:12px 0 48px}.case-showcase-title{padding:22px 18px}.case-showcase-title h1{font-size:32px}.case-showcase-context,.case-showcase-facts,.case-showcase-photo-grid,.case-showcase-documents,.case-showcase-result-cards,.case-showcase-steps{grid-template-columns:1fr}.case-showcase-context>div+div,.case-showcase-result-cards article+article{border-left:0;border-top:1px solid var(--case-line)}.case-showcase-nav{top:56px}.case-showcase-nav .section{justify-content:flex-start}.case-showcase-section{padding:56px 0}.case-showcase-product{grid-template-columns:1fr}.case-showcase-inquiry{padding:54px 0}.case-showcase-inquiry .inquiry-form{grid-template-columns:1fr;padding:20px}.case-showcase-lightbox{padding:56px 12px 18px}.case-showcase-lightbox [data-case-lightbox-prev]{left:4px}.case-showcase-lightbox [data-case-lightbox-next]{right:4px}}
@media(prefers-reduced-motion:reduce){.case-showcase-photo img{transition:none}.case-showcase-page *{scroll-behavior:auto!important}}

/* Compact high-fidelity case path and progressive motion. */
.case-showcase-hero>.section,.case-showcase-section>.section,.case-showcase-inquiry>.section{padding-block:0}
.case-showcase-hero{padding:18px 0 52px}.case-showcase-title{max-width:960px;padding:24px 28px}.case-showcase-title h1{font-size:clamp(32px,3.7vw,52px);line-height:1.08}.case-showcase-summary{margin:18px 0 20px;font-size:16px;line-height:1.72}.case-showcase-context>div{min-height:94px;padding:16px 18px}.case-showcase-context .case-showcase-milestone>b{font-size:32px}.case-showcase-facts{margin-top:14px}.case-showcase-facts>div{min-height:74px;padding:13px 15px}.case-showcase-facts dt{margin-bottom:5px}.case-showcase-facts dd{font-size:14px}.case-showcase-actions{margin-top:22px}.case-showcase-section{padding:66px 0}.case-showcase-section header{margin-bottom:26px}.case-showcase-section h2,.case-showcase-inquiry h2{font-size:clamp(27px,2.7vw,39px)}.case-showcase-photo-grid{gap:16px}.case-showcase-photo-caption{min-height:54px;padding:11px 15px!important}.case-showcase-solution header{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;align-items:end}.case-showcase-solution header>p{grid-column:1/-1;margin-bottom:2px}.case-showcase-solution header>span{margin-top:0}.case-showcase-challenges>*{padding:14px 16px}.case-showcase-product{margin-top:16px;padding:15px 18px}.case-showcase-config{margin-top:10px;padding:13px 18px}.case-showcase-steps{gap:10px;margin-top:14px}.case-showcase-steps li{min-height:148px;padding:16px;gap:8px 12px}.case-showcase-step-icon{width:36px;height:36px}.case-showcase-step-icon svg{width:22px;height:22px}.case-showcase-steps h3{font-size:16px}.case-showcase-steps p{font-size:13px;line-height:1.6}.case-showcase-result-cards article{min-height:96px;padding:18px}.case-showcase-result-summary{margin-top:16px;padding-top:14px}.case-showcase-inquiry{padding:62px 0}.case-showcase-inquiry>.section{gap:44px}.case-showcase-inquiry-copy>span{margin-top:14px}.case-showcase-inquiry-copy dl{margin-top:20px}.case-showcase-inquiry .inquiry-form{gap:13px;padding:23px}.case-showcase-inquiry .inquiry-form input,.case-showcase-inquiry .inquiry-form textarea{padding:10px 11px}
.case-motion-ready [data-case-reveal]{opacity:0;transform:translateY(14px);transition:opacity .52s ease var(--case-reveal-delay,0ms),transform .52s ease var(--case-reveal-delay,0ms)}.case-motion-ready [data-case-reveal].is-visible{opacity:1;transform:none}.case-showcase-photo[data-case-reveal]{transition:opacity .52s ease var(--case-reveal-delay,0ms),transform .52s ease var(--case-reveal-delay,0ms),box-shadow .25s ease}.case-showcase-photo[data-case-reveal].is-visible:hover{transform:translateY(-2px)}
@media(max-width:900px){.case-showcase-solution header{grid-template-columns:1fr}.case-showcase-solution header>p{grid-column:auto}.case-showcase-section{padding:58px 0}}
@media(max-width:600px){.case-showcase-hero{padding:10px 0 42px}.case-showcase-title{padding:19px 16px}.case-showcase-title h1{font-size:30px}.case-showcase-context>div{min-height:auto}.case-showcase-section{padding:48px 0}.case-showcase-inquiry{padding:48px 0}}
@media(prefers-reduced-motion:reduce){.case-motion-ready [data-case-reveal]{opacity:1;transform:none;transition:none}.case-showcase-photo[data-case-reveal]{transition:none}}

/* Rich news body only. Plain-v1 articles retain every existing selector and value above. */
.news-article-content.is-rich-news { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.news-article-content.is-rich-news p, .news-article-content.is-rich-news h2, .news-article-content.is-rich-news h3, .news-article-content.is-rich-news ul, .news-article-content.is-rich-news ol, .news-article-content.is-rich-news blockquote, .news-article-content.is-rich-news figure, .news-article-content.is-rich-news hr { max-width: 100%; }
.news-article-content.is-rich-news h3 { margin: 34px 0 14px; color: #153b52; font-size: clamp(20px,2.3vw,25px); line-height: 1.35; }
.news-article-content.is-rich-news ol { margin: 0 0 24px; padding-left: 1.45em; }
.news-article-content.is-rich-news li { margin: 7px 0; }
.news-article-content.is-rich-news blockquote { margin: 28px 0; padding: 18px 22px; border-left: 4px solid #147aa7; background: #f0f7fa; color: #3f5c6d; }
.news-article-content.is-rich-news blockquote > :last-child { margin-bottom: 0; }
.news-article-content.is-rich-news a { color: #116f9a; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.news-article-content.is-rich-news hr { height: 1px; margin: 38px 0; border: 0; background: #d6e0e6; }
.news-article-content.is-rich-news .align-center { text-align: center; }
.news-article-content.is-rich-news .align-right { text-align: right; }
.news-article-content.is-rich-news .text-small { font-size: .875em; }
.news-article-content.is-rich-news .text-emphasis { font-size: 1.125em; }
.news-article-content.is-rich-news .color-brand { color: #136f99; }
.news-article-content.is-rich-news .color-accent { color: #b7531e; }
.news-article-content.is-rich-news .color-muted { color: #6b7e8a; }
.news-article-content.is-rich-news figure.rich-image { clear: both; width: min(100%, 900px); margin: 32px auto; text-align: center; }
.news-article-content.is-rich-news figure.rich-image.align-left { margin-left: 0; margin-right: auto; }
.news-article-content.is-rich-news figure.rich-image.align-right { margin-left: auto; margin-right: 0; }
.news-article-content.is-rich-news figure.rich-image.size-small { width: min(38%, 320px); }
.news-article-content.is-rich-news figure.rich-image.size-medium { width: min(58%, 560px); }
.news-article-content.is-rich-news figure.rich-image.size-large { width: min(82%, 820px); }
.news-article-content.is-rich-news figure.rich-image.size-wide { width: 100%; }
.news-article-content.is-rich-news figure.rich-image img { display: block; width: 100%; height: auto; max-width: 100%; border-radius: 3px; cursor: zoom-in; }
.news-article-content.is-rich-news figure.rich-image figcaption { margin-top: 10px; color: #657b88; font-size: 13px; line-height: 1.55; }
.news-article-header h1.title-compact { max-width: 760px; font-size: clamp(34px,5vw,58px); line-height: 1.08; }
.news-article-header h1.title-large { max-width: 1100px; font-size: clamp(46px,7vw,82px); line-height: 1.02; }
.news-article-header h1.title-color-brand { color: #116f9a; }

@media (max-width: 600px) {
  .news-article-content.is-rich-news figure.rich-image.size-small, .news-article-content.is-rich-news figure.rich-image.size-medium { width: min(88%, 560px); }
  .news-article-content.is-rich-news figure.rich-image.size-large, .news-article-content.is-rich-news figure.rich-image.size-wide { width: 100%; }
  .news-article-content.is-rich-news blockquote { padding: 14px 16px; }
}

.solution-card.is-clickable,
.table-row.is-clickable {
  cursor: pointer;
}

.solution-card.is-clickable:hover,
.table-row.is-clickable:hover {
  border-color: var(--steel);
  box-shadow: 0 16px 36px rgba(18, 42, 56, 0.12);
}

@media (hover: hover) and (pointer: fine) {
  #website-view .trust-grid article,
  #website-view .solution-card,
  #website-view .news-grid article,
  #website-view .case-list article,
  #website-view .service-flow article {
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  }

  #website-view .trust-grid article:hover,
  #website-view .solution-card:hover,
  #website-view .news-grid article:hover,
  #website-view .case-list article:hover,
  #website-view .service-flow article:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(18, 42, 56, .11);
  }

  #website-view .solution-image {
    transition: transform 420ms cubic-bezier(.22, .7, .2, 1);
  }

  #website-view .solution-card:hover .solution-image { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
  html.motion-ready .motion-reveal,
  html.motion-ready .motion-hero .eyebrow,
  html.motion-ready .motion-hero h1,
  html.motion-ready .motion-hero p,
  html.motion-ready .motion-hero .hero-actions,
  html.motion-ready .motion-hero .hero-metrics {
    opacity: 1;
    transform: none;
    transition: none;
  }

  html.motion-ready .motion-hero img { transform: none; transition: none; }
}

.solution-card h3,
.solution-card p {
  padding: 0 22px;
}

.solution-card h3 {
  color: var(--steel);
}

.product-model {
  display: inline-flex;
  width: fit-content;
  margin: 0 22px 8px;
  padding: 4px 8px;
  color: var(--steel);
  background: #eef4f7;
  border-radius: 6px;
  font-size: 0.82rem;
}

.solution-card p {
  padding-bottom: 24px;
}

.spec-list {
  display: grid;
  gap: 8px;
  margin: 0 22px 24px;
  padding: 14px;
  background: #f6f8fa;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.spec-list div {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 10px;
}

.spec-list dt {
  color: var(--steel);
  font-weight: 800;
}

.spec-list dd {
  margin: 0;
  color: var(--muted-ink);
}

.table-row {
  display: grid;
  grid-template-columns: 1fr 1.25fr 1.25fr 1.25fr;
  border-top: 1px solid var(--line);
}

.table-row:first-child {
  border-top: 0;
}

.table-row span {
  padding: 14px 16px;
  border-left: 1px solid var(--line);
}

.table-row span:first-child {
  border-left: 0;
  font-weight: 800;
}

.table-head {
  color: #fff;
  background: var(--steel);
  font-weight: 800;
}

.selector-section {
  background: #ffffff;
}

.detail-section,
.faq-section,
.evidence-section {
  background: #fff;
}

.detail-grid,
.industry-grid,
.faq-list,
.evidence-grid {
  display: grid;
  gap: 16px;
}

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

.industry-grid,
.faq-list,
.evidence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-grid article,
.industry-grid article,
.faq-list article,
.evidence-grid article {
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(18, 42, 56, 0.06);
}

.industry-grid article {
  display: grid;
  gap: 8px;
}

.industry-grid strong {
  color: var(--steel);
  font-size: 18px;
}

.industry-grid span,
.detail-grid p,
.detail-grid dd,
.faq-list p,
.evidence-grid p {
  color: var(--muted-ink);
}

.homepage-evidence-section {
  background: #fff;
}

.homepage-evidence-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.homepage-evidence-card {
  grid-column: span 1;
  min-width: 0;
  color: var(--ink);
  text-decoration: none;
  border: 1px solid var(--line);
  background: #fff;
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.homepage-evidence-card:hover {
  transform: translateY(-4px);
  border-color: #8eaabd;
  box-shadow: 0 18px 36px rgba(11, 49, 75, .1);
}

.homepage-evidence-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e9eff3;
}

.homepage-evidence-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.homepage-evidence-card:hover .homepage-evidence-media img {
  transform: scale(1.035);
}

.homepage-evidence-media > span {
  position: absolute;
  right: 16px;
  bottom: 10px;
  color: #9caebb;
  font-size: 36px;
  font-weight: 800;
}

.homepage-evidence-copy {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 190px;
  padding: 18px;
}

.homepage-evidence-copy > span {
  color: #b87300;
  font-size: 12px;
  font-weight: 800;
}

.homepage-evidence-copy h3,
.homepage-evidence-copy p {
  margin: 0;
}

.homepage-evidence-copy h3 {
  font-size: 18px;
  line-height: 1.35;
}

.homepage-evidence-copy p {
  color: var(--muted-ink);
  font-size: 14px;
  line-height: 1.75;
}

.homepage-evidence-copy strong {
  align-self: end;
  margin-top: auto;
  color: #074f7a;
  font-size: 13px;
}

.homepage-evidence-proof-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
  border-top: 1px solid #b9cad5;
  border-bottom: 1px solid #b9cad5;
}

.homepage-evidence-proof-links a {
  display: grid;
  gap: 6px;
  padding: 20px 22px;
  color: var(--ink);
  text-decoration: none;
}

.homepage-evidence-proof-links a + a {
  border-left: 1px solid #d3dde4;
}

.homepage-evidence-proof-links span {
  color: #b87300;
  font-size: 12px;
  font-weight: 700;
}

.homepage-evidence-proof-links strong {
  font-size: 15px;
}

.homepage-evidence-proof-links a:hover strong {
  color: #075b8c;
}

@media (max-width: 1100px) {
  .homepage-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .homepage-evidence-grid,
  .homepage-evidence-proof-links {
    grid-template-columns: 1fr;
  }
  .homepage-evidence-media {
    aspect-ratio: 16 / 10;
  }
  .homepage-evidence-copy {
    min-height: 0;
  }
  .homepage-evidence-proof-links a + a {
    border-top: 1px solid #d3dde4;
    border-left: 0;
  }
}

.detail-grid h3,
.faq-list h3,
.evidence-grid h3 {
  margin: 0 0 10px;
  line-height: 1.28;
}

.detail-grid dl {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
}

.detail-grid .text-link {
  display: inline-flex;
  margin-top: 14px;
}

.product-detail-page {
  background: #fff;
  min-height: 100vh;
}

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

.product-process {
  margin-bottom: 24px;
}

.detail-grid dt {
  color: var(--steel);
  font-weight: 800;
}

.detail-grid dd {
  margin: 0;
}

.product-page {
  background:
    linear-gradient(120deg, rgba(0, 45, 85, 0.04), rgba(200, 150, 46, 0.06)),
    #f4f7fa;
}

.product-page .product-detail-page {
  background:
    linear-gradient(180deg, #f7fafc 0, #ffffff 420px);
  min-height: 100vh;
}

.product-page .product-detail-page > .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  margin: 26px 0 0 clamp(18px, 5vw, 72px);
  padding: 0 14px;
  color: var(--steel);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(18, 42, 56, 0.08);
}

.product-page .product-detail-page > .text-link::before {
  content: "<";
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--steel);
  border-radius: 50%;
  font-size: 12px;
}

.product-page .product-detail-page > .section {
  max-width: 1240px;
  margin: 0 auto;
  padding-top: clamp(34px, 5vw, 64px);
}

.product-page .section-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  max-width: none;
  min-height: 360px;
  margin-bottom: 28px;
  padding: clamp(30px, 5vw, 56px);
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(115deg, rgba(0, 31, 61, 0.96), rgba(0, 45, 85, 0.9) 52%, rgba(36, 93, 133, 0.72)),
    url("assets/hero-automation.png") center right / cover;
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(0, 31, 61, 0.18);
}

.product-page .section-head::after {
  content: "";
  min-height: 260px;
  align-self: stretch;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.04)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.18) 0 1px, transparent 1px 26px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.product-page .section-head.has-detail-media::after { display: none; }

.detail-media-stage {
  position: relative;
  min-width: 0;
  min-height: 260px;
  align-self: stretch;
  overflow: hidden;
  background: rgba(242, 247, 249, .94);
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.detail-media-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 258px;
  padding: 12px;
  background: transparent;
  border: 0;
  cursor: zoom-in;
}

.detail-media-image img,
.detail-media-video {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 340px;
  object-fit: contain;
}

.detail-media-video {
  position: absolute;
  inset: 0;
  max-height: none;
  background: #071a26;
}

.detail-media-video[hidden],
.detail-media-image[hidden],
.detail-media-placeholder[hidden],
.detail-media-play[hidden],
.detail-media-close[hidden] { display: none; }

.detail-media-placeholder {
  display: grid;
  min-height: 258px;
  place-items: center;
  color: #476679;
  background: repeating-linear-gradient(90deg, rgba(13, 66, 101, .08) 0 1px, transparent 1px 26px);
}

.detail-media-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  padding: 0;
  color: #fff;
  background: rgba(0, 46, 78, .9);
  border: 2px solid rgba(255, 255, 255, .84);
  border-radius: 50%;
  box-shadow: 0 12px 30px rgba(0, 24, 42, .28);
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.detail-media-play span { margin-left: 4px; font-size: 24px; }
.detail-media-play:hover { background: #b97d08; }

.detail-media-close {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 4;
  width: 36px;
  height: 36px;
  padding: 0;
  color: #052f4e;
  background: rgba(255, 255, 255, .94);
  border: 1px solid #b9c8d0;
  border-radius: 4px;
  font-size: 24px;
  cursor: pointer;
}

.detail-media-dialog {
  width: min(1180px, 94vw);
  max-height: 94vh;
  padding: 42px 18px 18px;
  background: #eef2f4;
  border: 1px solid #bdcbd2;
  border-radius: 6px;
  box-shadow: 0 30px 90px rgba(0, 22, 38, .38);
}

.detail-media-dialog::backdrop { background: rgba(0, 22, 38, .78); }
.detail-media-dialog img { display: block; width: 100%; max-height: calc(94vh - 64px); object-fit: contain; }
.detail-media-dialog button { position: absolute; right: 10px; top: 8px; width: 34px; height: 34px; padding: 0; color: #052f4e; background: #fff; border: 1px solid #bdcbd2; border-radius: 4px; font-size: 24px; cursor: pointer; }

.product-page .section-head .eyebrow,
.product-page .section-head p {
  color: rgba(255, 255, 255, 0.78);
}

.product-page .section-head h1 {
  max-width: 680px;
  margin: 16px 0 18px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: 0;
}

.product-page .section-head p {
  max-width: 700px;
  font-size: 18px;
  line-height: 1.8;
}

.product-page .single-detail {
  gap: 18px;
  margin-top: 24px;
}

.site-map-page .site-map-home-link {
  display: inline-flex;
  margin: 118px max(24px, calc((100% - 1180px) / 2)) 0;
}

.site-map-page .site-map-grid {
  align-items: start;
  gap: 18px;
  margin-top: 24px;
}

.site-map-page .site-map-card {
  min-width: 0;
  height: auto;
}

.site-map-page .site-map-card ul {
  display: grid;
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-map-page .site-map-card-news ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-map-page .site-map-card li,
.site-map-page .site-map-card a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.site-map-page .site-map-card a {
  display: block;
  line-height: 1.6;
}

.product-page .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.product-page .detail-grid article {
  position: relative;
  min-height: 156px;
  padding: 26px 26px 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(18, 42, 56, 0.08);
}

.product-page .detail-grid article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--accent);
}

.product-page .detail-grid article h2 {
  margin: 0 0 14px;
  color: var(--steel);
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.2;
}

.product-page .detail-grid article p {
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
}

.product-page .product-process {
  overflow: hidden;
  border: 1px solid rgba(0, 45, 85, 0.12);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18, 42, 56, 0.08);
}

.product-page .product-process span {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  background: var(--steel);
}

.product-page .product-process span::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  background: var(--accent);
  border-radius: 50%;
}

.product-page .primary-action {
  min-width: 210px;
  min-height: 52px;
  color: #102033;
  background: linear-gradient(135deg, #f4bd4b, var(--accent));
}

.more-menu {
  width: min(360px, 86vw);
  grid-template-columns: 1fr;
}

.product-page .about-contact {
  align-items: start;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
  gap: 28px;
}

.product-page .about-contact > div {
  display: grid;
  gap: 18px;
}

.product-page .about-contact .contact-strip {
  margin-top: 0;
  padding: 22px;
  color: var(--steel);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(232, 240, 244, 0.95));
  box-shadow: 0 14px 32px rgba(18, 42, 56, 0.06);
}

.product-page .about-contact .detail-grid {
  grid-template-columns: 1fr;
  margin-top: 0;
}

.product-page .about-contact .detail-grid article {
  min-height: auto;
}

.product-page .about-contact .inquiry-form {
  position: sticky;
  top: 110px;
  padding: 28px;
  box-shadow: 0 22px 54px rgba(18, 42, 56, 0.12);
}

.product-page .about-contact .inquiry-form h3 {
  color: var(--steel);
  font-size: 24px;
}

.product-page .catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  counter-reset: catalog-card;
}

.product-page .catalog-grid article {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-height: 250px;
  overflow: hidden;
  padding: 72px 22px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(18, 42, 56, .06);
  counter-increment: catalog-card;
}

.product-page .catalog-grid article[hidden] { display: none; }

.product-page .catalog-grid article.has-cover { padding-top: 0; }

.product-page .catalog-grid article > img {
  display: block;
  width: calc(100% + 44px);
  aspect-ratio: 16 / 10;
  margin: 0 -22px 18px;
  padding: 12px;
  object-fit: contain;
  background: #f1f5f6;
  border-bottom: 1px solid #dce5e9;
}

.product-page .catalog-grid article.has-cover::after {
  top: 14px;
  left: 16px;
  padding: 4px 7px;
  color: rgba(255, 255, 255, .92);
  background: rgba(0, 45, 85, .72);
  border-radius: 4px;
  font-size: 20px;
}

.product-page .catalog-grid article::after {
  content: counter(catalog-card, decimal-leading-zero);
  position: absolute;
  top: 22px;
  left: 26px;
  color: rgba(0, 45, 85, 0.14);
  font-size: 46px;
  font-weight: 900;
  line-height: 1;
}

.product-page .catalog-grid article h2 {
  position: relative;
  z-index: 1;
  min-height: 64px;
  font-size: 28px;
  line-height: 1.16;
}

.product-page .catalog-grid article p {
  position: relative;
  z-index: 1;
}

.product-introduction {
  max-width: 980px;
  margin: 34px auto 0;
}

.product-component-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.product-component-grid article {
  min-height: 132px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.product-component-grid h3 {
  margin: 0 0 10px;
  color: var(--steel);
  font-size: 18px;
}

.product-component-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}

.product-variant-table div {
  grid-template-columns: minmax(150px, .7fr) minmax(0, 2.3fr);
}

@media (max-width: 768px) {
  .product-component-grid {
    grid-template-columns: 1fr;
  }

  .product-page .catalog-grid article h2 {
    min-height: 0;
    font-size: 24px;
  }
}

/* Modern product detail template */
.product-detail-modern {
  background: #fff;
}

.product-detail-modern .section {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 72px 0;
}

.product-modern-hero {
  background: #eef3f5;
  border-bottom: 1px solid #d6e0e5;
}

.product-modern-hero .section {
  padding-top: 28px;
  padding-bottom: 72px;
}

.product-modern-back {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-bottom: 28px;
  color: #174b6d;
  font-weight: 700;
  text-decoration: none;
}

.product-modern-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
  gap: 68px;
  align-items: center;
}

.product-modern-copy {
  min-width: 0;
}

.product-modern-copy .eyebrow,
.product-modern-heading > span,
.product-modern-overview header > span {
  display: block;
  margin-bottom: 14px;
  color: #bd7900;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.product-modern-copy h1 {
  max-width: 720px;
  margin: 0;
  color: #082f4d;
  font-size: 52px;
  line-height: 1.08;
}

.product-modern-summary {
  max-width: 650px;
  margin: 24px 0 0;
  color: #36576c;
  font-size: 18px;
  line-height: 1.8;
}

.product-modern-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 32px 0 0;
  border-top: 1px solid #b9cbd5;
  border-bottom: 1px solid #b9cbd5;
}

.product-modern-facts div {
  min-width: 0;
  padding: 18px 18px 18px 0;
}

.product-modern-facts div + div {
  padding-left: 18px;
  border-left: 1px solid #b9cbd5;
}

.product-modern-facts dt {
  margin-bottom: 7px;
  color: #6d8391;
  font-size: 12px;
  font-weight: 700;
}

.product-modern-facts dd {
  margin: 0;
  color: #082f4d;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
}

.product-modern-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 32px;
}

.product-modern-media {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
  background: #fff;
  border: 1px solid #cad7de;
  box-shadow: 0 22px 48px rgba(18, 42, 56, .12);
}

.product-modern-media::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 2;
  width: 84px;
  height: 4px;
  background: #d19721;
}

.product-modern-media .detail-media-stage,
.product-modern-media .detail-media-image {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.product-modern-media .detail-media-image {
  padding: 28px;
}

.product-modern-media .detail-media-image img,
.product-modern-media .detail-media-video {
  max-height: none;
}

.product-modern-media-empty {
  display: grid;
  height: 100%;
  place-items: center;
  color: #68808f;
}

.product-modern-nav {
  position: sticky;
  top: 72px;
  z-index: 18;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid #d8e1e6;
  box-shadow: 0 8px 22px rgba(18, 42, 56, .06);
}

.product-modern-nav > div {
  display: flex;
  width: min(1180px, calc(100% - 48px));
  min-height: 58px;
  margin: 0 auto;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
}

.product-modern-nav > div::-webkit-scrollbar {
  display: none;
}

.product-modern-nav a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 24px;
  color: #34566b;
  border-bottom: 3px solid transparent;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.product-modern-nav a:hover,
.product-modern-nav a:focus-visible {
  color: #082f4d;
  border-bottom-color: #d19721;
}

.product-modern-section {
  scroll-margin-top: 70px;
  border-bottom: 1px solid #e0e7ea;
}

.product-modern-section:nth-of-type(even) {
  background: #f5f7f8;
}

.product-modern-overview-grid {
  display: grid;
  grid-template-columns: 210px minmax(0, 1.3fr) minmax(260px, .7fr);
  gap: 54px;
  align-items: start;
}

.product-modern-overview h2,
.product-modern-heading h2,
.product-modern-cta h2 {
  margin: 0;
  color: #082f4d;
  font-size: 36px;
  line-height: 1.18;
}

.product-modern-prose p {
  margin: 0 0 18px;
  color: #2f5268;
  font-size: 17px;
  line-height: 1.9;
}

.product-modern-overview aside {
  border-left: 3px solid #d19721;
}

.product-modern-overview aside div {
  padding: 4px 0 20px 22px;
}

.product-modern-overview aside div + div {
  padding-top: 20px;
  border-top: 1px solid #d6e0e5;
}

.product-modern-overview aside span {
  color: #bd7900;
  font-size: 12px;
  font-weight: 800;
}

.product-modern-overview aside p {
  margin: 8px 0 0;
  color: #35576c;
  line-height: 1.7;
}

.product-modern-heading {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(360px, 1.2fr);
  column-gap: 54px;
  align-items: end;
  margin-bottom: 38px;
}

.product-modern-heading > span {
  grid-column: 1;
}

.product-modern-heading h2 {
  grid-column: 1;
}

.product-modern-heading > p {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  color: #527083;
  line-height: 1.75;
}

.product-modern-component-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #cbd8df;
  border-left: 1px solid #cbd8df;
}

.product-modern-component-grid article {
  min-height: 184px;
  padding: 28px;
  background: #fff;
  border-right: 1px solid #cbd8df;
  border-bottom: 1px solid #cbd8df;
}

.product-modern-component-grid article > span {
  display: block;
  margin-bottom: 32px;
  color: #d19721;
  font-size: 13px;
  font-weight: 800;
}

.product-modern-component-grid h3,
.product-modern-variant-grid h3 {
  margin: 0 0 10px;
  color: #082f4d;
  font-size: 20px;
}

.product-modern-component-grid p,
.product-modern-variant-grid p {
  margin: 0;
  color: #527083;
  line-height: 1.75;
}

.product-modern-variant-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.product-modern-variant-grid article {
  min-height: 148px;
  padding: 28px;
  background: #082f4d;
  border-top: 4px solid #d19721;
}

.product-modern-variant-grid h3 {
  color: #fff;
}

.product-modern-variant-grid p {
  color: #d7e2e8;
}

.product-modern-spec-table {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #bfcfd7;
  border-left: 1px solid #bfcfd7;
}

.product-modern-spec-table div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 76px;
  border-right: 1px solid #bfcfd7;
  border-bottom: 1px solid #bfcfd7;
}

.product-modern-spec-table dt,
.product-modern-spec-table dd {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 16px 18px;
}

.product-modern-spec-table dt {
  color: #082f4d;
  background: #e6eef2;
  font-weight: 800;
}

.product-modern-spec-table dd {
  color: #3f6175;
  line-height: 1.6;
}

.product-modern-spec-layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  margin-top: 36px;
  align-items: start;
}

.product-modern-subheading {
  margin: 0;
  color: #082f4d;
  font-size: 20px;
}

.product-modern-spec-layout .product-modern-spec-table {
  grid-template-columns: 1fr;
  margin-top: 18px;
}

.product-modern-features > div {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.product-modern-features article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #d4dee4;
}

.product-modern-features article > span {
  display: grid;
  place-items: center;
  align-self: start;
  width: 34px;
  height: 34px;
  color: #fff;
  background: #0a4268;
  font-size: 12px;
  font-weight: 800;
}

.product-modern-features h3 {
  margin: 0;
  color: #082f4d;
  font-size: 16px;
}

.product-modern-features p {
  margin: 5px 0 0;
  color: #587082;
  font-size: 14px;
  line-height: 1.6;
}

.product-modern-delivery ol {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.product-modern-delivery li {
  position: relative;
  grid-column: span 3;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 210px;
  padding: 26px 24px 24px;
  background: #fff;
  border: 1px solid #d4dee4;
  box-shadow: 0 12px 28px rgba(18, 42, 56, .06);
  overflow: hidden;
}

.product-modern-delivery li:nth-child(n + 5) {
  grid-column: span 4;
}

.product-modern-delivery li::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #d19721;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .25s ease;
}

.product-modern-delivery li:hover::after {
  transform: scaleY(1);
}

.product-modern-delivery-index {
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-modern-delivery-index span {
  color: #d19721;
  font-weight: 800;
  font-size: 15px;
}

.product-modern-delivery-index i {
  display: block;
  width: 42px;
  height: 1px;
  background: #d19721;
}

.product-modern-delivery li h3 {
  margin: 32px 0 0;
  color: #082f4d;
  font-size: 23px;
}

.product-modern-delivery li p {
  margin: 12px 0 0;
  color: #587082;
  font-size: 15px;
  line-height: 1.55;
}

.product-modern-delivery-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  align-items: end;
  gap: 48px;
}

.product-modern-delivery-heading > p {
  margin: 0 0 5px;
  color: #587082;
  line-height: 1.75;
}

.product-modern-delivery footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 18px;
  padding: 18px 22px;
  color: #dce8ee;
  background: #082f4d;
}

.product-modern-delivery footer strong {
  color: #fff;
}

.product-modern-delivery footer span {
  color: #c3d3dc;
}

.product-modern-faq > .section > div {
  border-top: 1px solid #c8d5dc;
}

.product-modern-faq details {
  border-bottom: 1px solid #c8d5dc;
}

.product-modern-faq summary {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  min-height: 70px;
  cursor: pointer;
  list-style: none;
}

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

.product-modern-faq summary span {
  color: #d19721;
  font-size: 12px;
  font-weight: 800;
}

.product-modern-faq summary strong {
  color: #082f4d;
  font-size: 17px;
}

.product-modern-faq details > p {
  margin: 0;
  padding: 0 0 24px 52px;
  color: #527083;
  line-height: 1.8;
}

.product-modern-related .related-grid {
  margin-top: 0;
}

.product-modern-cta {
  background: #082f4d;
}

.product-modern-cta .section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.product-modern-cta span {
  color: #e4b64f;
  font-size: 13px;
  font-weight: 800;
}

.product-modern-cta h2 {
  max-width: 720px;
  margin-top: 10px;
  color: #fff;
}

.product-modern-cta p {
  margin: 12px 0 0;
  color: #cbd9e0;
}

.product-modern-cta .primary-action {
  flex: 0 0 auto;
}

@media (max-width: 980px) {
  .product-modern-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .product-modern-media {
    width: min(680px, 100%);
  }

  .product-modern-overview-grid {
    grid-template-columns: 180px minmax(0, 1fr);
  }

  .product-modern-overview aside {
    grid-column: 2;
  }

  .product-modern-component-grid,
  .product-modern-variant-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-modern-delivery ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-modern-delivery li,
  .product-modern-delivery li:nth-child(n + 5) {
    grid-column: auto;
  }

  .product-modern-delivery-heading {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .product-modern-spec-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .product-detail-modern .section,
  .product-modern-nav > div {
    width: min(100% - 28px, 1180px);
  }

  .product-detail-modern .section {
    padding: 52px 0;
  }

  .product-modern-hero .section {
    padding-top: 18px;
    padding-bottom: 44px;
  }

  .product-modern-back {
    margin-bottom: 20px;
  }

  .product-modern-copy h1 {
    font-size: 36px;
  }

  .product-modern-summary {
    font-size: 16px;
  }

  .product-modern-facts {
    grid-template-columns: 1fr;
  }

  .product-modern-facts div,
  .product-modern-facts div + div {
    padding: 14px 0;
    border-left: 0;
    border-top: 1px solid #c8d5dc;
  }

  .product-modern-facts div:first-child {
    border-top: 0;
  }

  .product-modern-actions,
  .product-modern-cta .section {
    align-items: stretch;
    flex-direction: column;
  }

  .product-modern-media {
    aspect-ratio: 1 / 1;
  }

  .product-modern-media .detail-media-image {
    padding: 16px;
  }

  .product-modern-nav > div {
    min-height: 52px;
  }

  .product-modern-nav a {
    padding: 0 16px;
  }

  .product-modern-overview-grid,
  .product-modern-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .product-modern-overview aside {
    grid-column: 1;
  }

  .product-modern-overview h2,
  .product-modern-heading h2,
  .product-modern-cta h2 {
    font-size: 30px;
  }

  .product-modern-heading > p {
    grid-column: 1;
    grid-row: auto;
  }

  .product-modern-component-grid,
  .product-modern-variant-grid,
  .product-modern-spec-table,
  .product-modern-delivery ol {
    grid-template-columns: 1fr;
  }

  .product-modern-delivery li {
    min-height: 0;
  }

  .product-modern-delivery footer {
    flex-direction: column;
    gap: 6px;
  }

  .product-modern-component-grid article {
    min-height: 0;
  }

  .product-modern-spec-table div {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .product-modern-spec-table dt,
  .product-modern-spec-table dd {
    padding: 14px;
  }

  .product-modern-cta .primary-action {
    width: 100%;
    justify-content: center;
  }
}

.site-image-tooltip {
  position: fixed;
  z-index: 1000;
  width: max-content;
  max-width: min(320px, calc(100vw - 24px));
  padding: 8px 11px;
  color: #fff;
  background: #063653;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 4px;
  box-shadow: 0 10px 28px rgba(0, 28, 48, .24);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  pointer-events: none;
  transform: translateX(-50%);
}

.site-image-tooltip[hidden] { display: none; }
.image-tooltip-target:focus-visible { outline: 2px solid #d79b21; outline-offset: 3px; }

.product-page .catalog-grid article .text-link,
.product-page .editorial-grid article .text-link {
  width: fit-content;
  min-height: 38px;
  margin-top: 18px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: var(--steel);
  border-radius: 7px;
}

.product-page .catalog-grid article:hover,
.product-page .editorial-grid article:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 45, 85, 0.32);
  box-shadow: 0 24px 48px rgba(18, 42, 56, 0.14);
}

.service-home-section { border-top: 1px solid #dce5e9; border-bottom: 1px solid #dce5e9; }
.service-home-section .section-head p { max-width: 780px; margin-top: 10px; }
.service-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.service-flow article { position: relative; min-height: 190px; padding: 22px; overflow: hidden; background: #fff; border: 1px solid #d7e2e7; border-radius: 6px; box-shadow: 0 12px 28px rgba(18, 42, 56, .06); }
.service-flow article > span { display: block; margin-bottom: 18px; color: #c38a17; font-size: 13px; font-weight: 900; }
.service-flow h3 { margin: 0 0 9px; color: #052f4e; font-size: 20px; }
.service-flow p { margin: 0; color: #516675; line-height: 1.75; }
.case-delivery-flow .service-flow article { display: flex; min-height: 260px; flex-direction: column; }
.case-delivery-flow .service-flow p { margin-bottom: 18px; }
.delivery-output { display: block; margin-top: auto; padding-top: 14px; color: #164f70; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.55; }
.service-support-strip { display: grid; grid-template-columns: 1.1fr repeat(4, 1fr); margin-top: 18px; color: #fff; background: #063653; border-radius: 6px; }
.service-support-strip > * { display: flex; min-height: 58px; align-items: center; justify-content: center; padding: 10px 14px; border-right: 1px solid rgba(255, 255, 255, .16); text-align: center; }
.service-support-strip > *:last-child { border-right: 0; }
.service-support-strip strong { color: #f1c15f; }
.service-home-action { display: flex; justify-content: center; margin: 18px 0 0; }

.product-page .editorial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.product-page .editorial-grid article {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-height: 280px;
  padding: 28px;
  overflow: hidden;
}

.product-page .editorial-grid article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--accent);
}

.product-page .editorial-grid time {
  width: fit-content;
  padding: 4px 10px;
  color: var(--steel);
  background: #eef4f7;
  border-radius: 999px;
  font-size: 13px;
}

.product-page .editorial-grid h2 {
  margin: 16px 0 10px;
  color: var(--steel);
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
}

.product-detail .section-head {
  background:
    linear-gradient(115deg, rgba(0, 31, 61, 0.97), rgba(0, 45, 85, 0.9) 52%, rgba(36, 93, 133, 0.72)),
    url("assets/hero-automation.png") center right / cover;
}

.industry-detail .section-head {
  background:
    linear-gradient(115deg, rgba(0, 45, 85, 0.96), rgba(28, 78, 105, 0.9) 54%, rgba(200, 150, 46, 0.54)),
    url("assets/hero-automation.png") center / cover;
}

.story-detail .section-head {
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.65fr);
  min-height: 320px;
  background:
    linear-gradient(115deg, rgba(248, 250, 252, 0.98), rgba(232, 240, 244, 0.96)),
    url("assets/hero-automation.png") center right / cover;
  color: var(--ink);
  border: 1px solid var(--line);
}

.story-detail .section-head .eyebrow,
.story-detail .section-head p {
  color: var(--muted-ink);
}

.story-detail .section-head h1 {
  color: var(--steel);
}

.story-detail .section-head::after {
  min-height: 220px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 248, 250, 0.86)),
    repeating-linear-gradient(0deg, transparent 0 26px, rgba(0, 45, 85, 0.08) 26px 27px);
  border-color: #d6e1e8;
}

.product-detail .detail-grid article,
.industry-detail .detail-grid article,
.story-detail .detail-grid article {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.product-detail .detail-grid article:hover,
.industry-detail .detail-grid article:hover,
.story-detail .detail-grid article:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 45, 85, 0.28);
  box-shadow: 0 22px 46px rgba(18, 42, 56, 0.13);
}

.industry-detail .detail-grid article::before {
  background: var(--blue);
}

.story-detail .detail-grid {
  max-width: 980px;
  margin-inline: auto;
}

.story-detail .detail-grid article {
  background:
    linear-gradient(180deg, #ffffff, #fbfdfe);
}

.story-detail .detail-grid article::before {
  background: var(--accent);
}

/* News article */
.news-article-main {
  padding: 0 0 72px;
  background: #f5f7f8;
}

.news-article-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  padding-top: 38px;
}

.news-back-link {
  display: inline-flex;
  margin-bottom: 42px;
}

.news-article {
  color: var(--ink);
}

.news-article-header {
  max-width: 960px;
  margin: 0 auto 38px;
  text-align: center;
}

.news-article-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  margin-bottom: 20px;
  color: #607180;
  font-size: 13px;
}

.news-article-meta span:first-child {
  color: #a96f00;
  font-weight: 800;
}

.news-article-meta > * + * {
  position: relative;
}

.news-article-meta > * + *::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -12px;
  width: 2px;
  height: 2px;
  background: #9eabb4;
  border-radius: 50%;
}

.news-article-header h1 {
  max-width: 900px;
  margin: 0 auto;
  color: var(--navy);
  font-size: clamp(34px, 4.2vw, 52px);
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.news-article-header > p {
  max-width: 780px;
  margin: 22px auto 0;
  color: #526575;
  font-size: 17px;
  line-height: 1.85;
}

.news-article-media {
  width: min(960px, 100%);
  margin: 0 auto 52px;
}

.news-article-media .detail-media-stage {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  background: #edf1f3;
  border: 1px solid #d5dfe4;
  border-radius: 6px;
  box-shadow: 0 18px 42px rgba(8, 38, 57, .1);
}

.news-article-media .detail-media-image,
.news-article-media .detail-media-image img,
.news-article-media .detail-media-video {
  width: 100%;
  height: 100%;
}

.news-article-media .detail-media-image img,
.news-article-media .detail-media-video {
  object-fit: contain;
  background: #f2f4f5;
}

.news-article-media figcaption {
  margin-top: 11px;
  color: #71808b;
  font-size: 12px;
  text-align: center;
}

.news-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(220px, 1fr);
  gap: 72px;
  max-width: 1060px;
  margin: 0 auto;
  padding-top: 44px;
  border-top: 1px solid #d4dee4;
}

.news-article-content {
  min-width: 0;
}

.news-article-content p {
  margin: 0 0 24px;
  color: #273d4c;
  font-size: 17px;
  line-height: 2;
}

.news-article-content p:first-child {
  color: #102f45;
  font-size: 19px;
}

.news-article-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 48px;
  padding-top: 34px;
  border-top: 1px solid #d9e1e6;
}

.news-article-gallery figure {
  min-width: 0;
  margin: 0;
}

.news-article-gallery button {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  background: #f2f5f6;
  border: 1px solid #d5dfe4;
  border-radius: 6px;
  cursor: zoom-in;
}

.news-article-gallery img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: contain;
  background: #f2f5f6;
}

.news-article-gallery figcaption {
  margin-top: 9px;
  color: #687b89;
  font-size: 13px;
  line-height: 1.6;
}

.case-detail-gallery {
  max-width: 980px;
  margin: 32px auto 0;
}

/* Product-aligned case detail template */
.case-detail-modern {
  background: #fff;
}

.case-modern-hero {
  background:
    linear-gradient(180deg, rgba(238, 243, 245, .94), rgba(238, 243, 245, .98)),
    url("assets/hero-automation.png") center / cover;
}

.case-modern-hero .product-modern-hero-grid {
  grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
}

.case-modern-media {
  overflow: hidden;
}

.case-modern-media .detail-media-image {
  padding: 0;
}

.case-modern-media .detail-media-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, .61, .36, 1);
}

.case-modern-media:hover .detail-media-image img {
  transform: scale(1.025);
}

.case-modern-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
  gap: 64px;
  align-items: start;
  margin-top: 42px;
}

.case-modern-fact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #c8d6dd;
  border-left: 1px solid #c8d6dd;
}

.case-modern-fact-grid article {
  min-height: 152px;
  padding: 24px;
  background: #fff;
  border-right: 1px solid #c8d6dd;
  border-bottom: 1px solid #c8d6dd;
}

.case-modern-fact-grid article > span {
  display: block;
  margin-bottom: 22px;
  color: #c1810a;
  font-size: 13px;
  font-weight: 800;
}

.case-modern-fact-grid h3 {
  margin: 0 0 8px;
  color: #082f4d;
  font-size: 17px;
}

.case-modern-fact-grid p {
  margin: 0;
  color: #466478;
  line-height: 1.7;
}

.case-modern-gallery-section {
  background: #f3f6f7;
}

.case-modern-documents {
  background: #fff;
}

.case-document-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 40px;
}

.case-document-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 92px;
  padding: 18px 20px;
  color: #07385e;
  text-decoration: none;
  border: 1px solid #c9d7de;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.case-document-card > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #fff;
  background: #0b4d78;
  font-size: 12px;
  font-weight: 800;
}

.case-document-card div {
  display: grid;
  gap: 5px;
}

.case-document-card strong {
  font-size: 16px;
}

.case-document-card small {
  color: #617a89;
  font-size: 13px;
}

.case-document-card > b {
  font-size: 20px;
}

.case-document-card:hover {
  border-color: #b87905;
  box-shadow: 0 14px 30px rgba(7, 56, 94, .1);
  transform: translateY(-2px);
}

.case-modern-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 40px;
}

.case-modern-gallery figure {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #cedae0;
}

.case-modern-gallery button {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  background: #e7edef;
  border: 0;
  cursor: zoom-in;
}

.case-modern-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22, .61, .36, 1);
}

.case-modern-gallery button:hover img {
  transform: scale(1.035);
}

.case-modern-gallery figcaption {
  min-height: 58px;
  padding: 17px 20px;
  color: #34566b;
  font-size: 14px;
  line-height: 1.6;
}

.case-modern-data .product-modern-spec-table {
  margin-top: 40px;
}

.case-modern-delivery ol {
  margin-top: 42px;
}

[data-case-reveal] {
  opacity: 1;
  transform: none;
}

.case-motion-ready [data-case-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity .65s ease var(--reveal-delay, 0ms),
    transform .65s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms);
}

.case-motion-ready [data-case-reveal].is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 900px) {
  .case-modern-hero .product-modern-hero-grid,
  .case-modern-overview-grid {
    grid-template-columns: 1fr;
  }

  .case-modern-overview-grid {
    gap: 38px;
  }
}

@media (max-width: 640px) {
  .case-modern-fact-grid,
  .case-modern-gallery,
  .case-document-grid {
    grid-template-columns: 1fr;
  }

  .case-modern-fact-grid article {
    min-height: 0;
  }

  .case-modern-gallery {
    gap: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-case-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .case-modern-media .detail-media-image img,
  .case-modern-gallery img {
    transition: none;
  }
}

.news-gallery-dialog {
  width: min(1120px, calc(100% - 40px));
  max-height: calc(100vh - 40px);
  padding: 44px 20px 20px;
  background: #f7f9fa;
  border: 0;
  border-radius: 6px;
  box-shadow: 0 24px 80px rgba(3, 25, 40, .32);
}

.news-gallery-dialog::backdrop {
  background: rgba(2, 23, 38, .78);
}

.news-gallery-dialog img {
  display: block;
  width: 100%;
  max-height: calc(100vh - 104px);
  object-fit: contain;
}

.news-gallery-dialog button {
  position: absolute;
  top: 8px;
  right: 12px;
  width: 34px;
  height: 34px;
  padding: 0;
  color: var(--navy);
  font-size: 28px;
  line-height: 1;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.news-article-aside {
  align-self: start;
  padding: 4px 0 4px 26px;
  border-left: 2px solid #bd8518;
}

.news-article-aside > span,
.news-related-head span {
  color: #a96f00;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.news-article-aside h2 {
  margin: 8px 0 20px;
  color: var(--navy);
  font-size: 22px;
}

.news-article-aside dl,
.news-article-aside dl div {
  margin: 0;
}

.news-article-aside dl div {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid #d9e1e6;
}

.news-article-aside dt {
  color: #71808b;
  font-size: 13px;
}

.news-article-aside dd {
  margin: 0;
  color: #223b4d;
  font-size: 13px;
  font-weight: 700;
}

.news-article-aside > .text-link {
  display: inline-flex;
  margin-top: 22px;
}

.news-related {
  max-width: 1060px;
  margin: 68px auto 0;
  padding-top: 30px;
  border-top: 1px solid #d4dee4;
}

.news-related-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.news-related-head h2 {
  margin: 0;
  color: var(--navy);
  font-size: 28px;
}

.news-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.news-related-grid a {
  display: flex;
  min-height: 170px;
  flex-direction: column;
  padding: 20px;
  color: inherit;
  text-decoration: none;
  background: #fff;
  border: 1px solid #d7e1e6;
  border-radius: 6px;
}

.news-related-grid a:hover {
  border-color: #8ca3b2;
  box-shadow: 0 14px 30px rgba(8, 38, 57, .08);
}

.news-related-grid span,
.news-related-grid small {
  color: #a96f00;
  font-size: 12px;
  font-weight: 800;
}

.news-related-grid strong {
  margin: 12px 0 24px;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.5;
}

.news-related-grid small {
  margin-top: auto;
}

@media (max-width: 820px) {
  .news-article-layout { grid-template-columns: 1fr; gap: 40px; }
  .news-article-aside { padding-left: 20px; }
  .news-related-grid { grid-template-columns: 1fr; }
  .news-related-grid a { min-height: 0; }
}

@media (max-width: 560px) {
  .news-article-main { padding-bottom: 48px; }
  .news-article-shell { width: min(100% - 28px, 1180px); padding-top: 24px; }
  .news-back-link { margin-bottom: 30px; }
  .news-article-header { text-align: left; }
  .news-article-meta { justify-content: flex-start; }
  .news-article-header h1 { font-size: 34px; }
  .news-article-header > p { font-size: 16px; }
  .news-article-media { margin-bottom: 38px; }
  .news-article-content p { font-size: 16px; line-height: 1.9; }
  .news-article-content p:first-child { font-size: 17px; }
  .news-article-gallery { grid-template-columns: 1fr; gap: 20px; margin-top: 36px; }
  .news-article-gallery img { height: auto; max-height: 420px; }
  .news-related-head { align-items: flex-start; flex-direction: column; }
}

/* Structured case library and editorial news detail */
.news-reading-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1200;
  height: 3px;
  pointer-events: none;
}

.news-reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: #c88b18;
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

.news-article-crumb {
  display: flex;
  gap: 10px;
  margin-bottom: 54px;
  color: #71808b;
  font-size: 13px;
}

.news-article-crumb a {
  color: #07385e;
  font-weight: 800;
  text-decoration: none;
}

.news-article-kicker {
  display: inline-flex;
  margin-bottom: 20px;
  color: #a96f00;
  font-size: 13px;
  font-weight: 800;
}

.news-article-header .news-article-meta {
  margin: 24px 0 0;
}

.news-article-media {
  width: min(920px, 100%);
}

.news-article-media.cover-size-small { width: min(520px, 100%); }
.news-article-media.cover-size-medium { width: min(720px, 100%); }
.news-article-media.cover-size-large { width: min(920px, 100%); }
.news-article-media.cover-size-wide { width: 100%; }
.news-article-media.cover-align-left { margin-left: 0; margin-right: auto; }
.news-article-media.cover-align-center { margin-left: auto; margin-right: auto; }
.news-article-media.cover-align-right { margin-left: auto; margin-right: 0; }

.news-article-layout {
  grid-template-columns: minmax(0, 740px) minmax(240px, 280px);
  gap: 76px;
}

.news-article-content h2 {
  scroll-margin-top: 110px;
  margin: 52px 0 18px;
  color: #062f4c;
  font-size: 27px;
  line-height: 1.35;
}

.news-article-content h2:first-child {
  margin-top: 0;
}

.news-article-content ul {
  display: grid;
  gap: 12px;
  margin: 0 0 28px;
  padding: 22px 26px 22px 48px;
  color: #273d4c;
  line-height: 1.85;
  background: #eef3f5;
  border-left: 3px solid #c88b18;
}

.news-article-aside {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 24px;
  padding: 0;
  border: 0;
}

.news-article-toc {
  display: grid;
  gap: 4px;
  padding-bottom: 18px;
  border-bottom: 1px solid #d5dfe4;
}

.news-article-toc strong {
  margin-bottom: 8px;
  color: #082f4d;
  font-size: 15px;
}

.news-article-toc a {
  padding: 7px 10px;
  color: #5c7180;
  font-size: 13px;
  line-height: 1.5;
  text-decoration: none;
  border-left: 2px solid transparent;
}

.news-article-toc a:hover,
.news-article-toc a.is-active {
  color: #07385e;
  background: #eaf0f3;
  border-left-color: #c88b18;
}

.news-article-aside dl {
  border-top: 1px solid #d9e1e6;
}

.news-article-consult {
  padding: 22px;
  color: #fff;
  background: #07385e;
}

.news-article-consult > span {
  display: block;
  font-weight: 800;
}

.news-article-consult p {
  margin: 10px 0 18px;
  color: #d8e5ed;
  font-size: 13px;
  line-height: 1.7;
}

.news-article-consult .primary-action {
  width: 100%;
  justify-content: center;
}

.case-modern-requirements {
  background: #eef3f5;
}

.case-modern-requirement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 40px;
  border-top: 1px solid #c4d2da;
  border-left: 1px solid #c4d2da;
}

.case-modern-requirement-grid article {
  min-height: 190px;
  padding: 28px;
  background: rgba(255, 255, 255, .72);
  border-right: 1px solid #c4d2da;
  border-bottom: 1px solid #c4d2da;
}

.case-modern-requirement-grid article > span {
  color: #b87905;
  font-size: 12px;
  font-weight: 800;
}

.case-modern-requirement-grid h3 {
  margin: 26px 0 10px;
  color: #07385e;
  font-size: 18px;
}

.case-modern-requirement-grid p {
  margin: 0;
  color: #415f72;
  line-height: 1.75;
  white-space: pre-line;
}

.case-modern-results {
  background: #fff;
}

.case-modern-results-layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 0;
  margin-top: 40px;
  border: 1px solid #c9d7de;
}

.case-modern-results-layout > article {
  min-width: 0;
  padding: 38px;
}

.case-modern-results-layout > article + article {
  border-left: 1px solid #c9d7de;
}

.case-modern-results-layout article > span {
  color: #b87905;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.case-modern-results-layout h3 {
  margin: 10px 0 18px;
  color: #07385e;
  font-size: 25px;
}

.case-modern-configuration > p {
  margin: 0;
  color: #38566a;
  font-size: 17px;
  line-height: 1.85;
  white-space: pre-line;
}

.case-modern-configuration dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 28px 0 0;
  background: #d5e0e5;
}

.case-modern-configuration dl div {
  padding: 14px;
  background: #f2f6f7;
}

.case-modern-configuration dt {
  color: #71808b;
  font-size: 12px;
}

.case-modern-configuration dd {
  margin: 5px 0 0;
  color: #07385e;
  font-weight: 800;
}

.case-modern-outcomes ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d4dfe4;
}

.case-modern-outcomes li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 17px 0;
  border-bottom: 1px solid #d4dfe4;
}

.case-modern-outcomes li span {
  padding-top: 3px;
  color: #b87905;
  font-size: 12px;
  font-weight: 800;
}

.case-modern-outcomes li p {
  margin: 0;
  color: #28485d;
  line-height: 1.75;
}

.case-modern-parameter-table {
  margin-top: 28px;
}

@media (max-width: 900px) {
  .news-article-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
  }

  .news-article-content {
    width: 100%;
  }

  .news-article-aside {
    position: static;
  }

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

  .case-modern-results-layout {
    grid-template-columns: 1fr;
  }

  .case-modern-results-layout > article + article {
    border-top: 1px solid #c9d7de;
    border-left: 0;
  }
}

@media (max-width: 600px) {
  .news-article-crumb {
    margin-bottom: 36px;
  }

  .news-article-content h2 {
    margin-top: 40px;
    font-size: 23px;
  }

  .news-article-content ul {
    padding: 18px 18px 18px 38px;
  }

  .case-modern-requirement-grid {
    grid-template-columns: 1fr;
  }

  .case-modern-requirement-grid article {
    min-height: 0;
  }

  .case-modern-results-layout > article {
    padding: 26px 20px;
  }
}

.detail-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 30px 0 0;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(0, 45, 85, 0.08), rgba(200, 150, 46, 0.12));
  border: 1px solid #d6e1e8;
  border-radius: 8px;
}

.detail-action-row::before {
  content: "下一步";
  color: var(--steel);
  font-size: 18px;
  font-weight: 900;
}

.detail-standard {
  display: grid;
  gap: 20px;
  margin: 28px 0 6px;
}

.standard-block {
  padding: 24px;
  background: #fff;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(18, 42, 56, 0.07);
}

.standard-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e3ebf0;
}

.standard-head span {
  color: var(--accent);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.standard-head h2 {
  margin: 0;
  color: var(--steel);
  font-size: clamp(22px, 2vw, 30px);
}

.standard-table {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
}

.standard-table div {
  display: grid;
  grid-template-columns: 130px 1fr;
  min-height: 58px;
  border-top: 1px solid #dbe5ec;
}

.standard-table div:nth-child(-n + 2) {
  border-top: 0;
}

.standard-table strong,
.standard-table span {
  display: flex;
  align-items: center;
  padding: 14px 16px;
}

.standard-table strong {
  color: var(--steel);
  background: #eef4f7;
}

.standard-table span {
  color: var(--muted-ink);
  border-left: 1px solid #dbe5ec;
}

.timeline-flow {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.industry-standard .timeline-flow,
.case-standard .timeline-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.timeline-flow span {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 52px;
  padding: 10px;
  color: #fff;
  background: var(--steel);
  border-radius: 8px;
  font-weight: 800;
  text-align: center;
}

.timeline-flow span::after {
  content: "";
  position: absolute;
  right: -10px;
  width: 10px;
  height: 2px;
  background: var(--accent);
}

.timeline-flow span:last-child::after {
  display: none;
}

.mini-faq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mini-faq article {
  padding: 18px;
  background: #f7fafb;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
}

.mini-faq h3 {
  margin: 0 0 8px;
  color: var(--steel);
  font-size: 17px;
}

.mini-faq p,
.article-format p {
  margin: 0;
  color: var(--muted-ink);
  line-height: 1.8;
}

.product-faq-list,
.product-detail .mini-faq {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.product-faq-item {
  overflow: hidden;
  background: #fff;
  border: 1px solid #d6e1e7;
  border-radius: 6px;
}

.product-faq-item summary {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 24px;
  align-items: center;
  min-height: 64px;
  padding: 0 18px 0 14px;
  cursor: pointer;
  list-style: none;
}

.product-faq-item summary::-webkit-details-marker { display: none; }
.product-faq-item summary span { color: #b77808; font-size: 12px; font-weight: 800; }
.product-faq-item summary strong { color: var(--navy); font-size: 17px; line-height: 1.45; }
.product-faq-item summary::after { content: "+"; color: var(--steel); font-size: 22px; text-align: right; }
.product-faq-item[open] summary { background: #edf4f7; }
.product-faq-item[open] summary::after { content: "−"; }
.product-faq-item > div { padding: 0 56px 20px 60px; background: #edf4f7; }
.product-faq-item p { margin: 0; color: var(--muted-ink); line-height: 1.8; }

.related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.related-grid a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 14px;
  color: var(--steel);
  background: #eef4f7;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
  font-weight: 800;
}

.related-grid a::after {
  content: ">";
  color: var(--accent);
}

.related-grid a:hover {
  color: #fff;
  background: var(--steel);
}

.related-grid a {
  position: relative;
  display: grid;
  align-content: center;
  justify-content: stretch;
  gap: 4px;
  padding-right: 34px;
}

.related-grid a span {
  color: #a36e08;
  font-size: 11px;
  font-weight: 800;
}

.related-grid a strong {
  color: inherit;
  font-size: 14px;
  line-height: 1.45;
}

.related-grid a::after {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.related-grid a:hover span { color: #f2c05a; }

.news-cover,
.case-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin-bottom: 12px;
  border-radius: 7px;
}

.news-category {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  margin-left: 8px;
  padding: 0 9px;
  color: var(--steel);
  background: #eef4f7;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.lead-filters {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 12px;
  margin-bottom: 14px;
}

.lead-detail {
  font-size: 12px;
  line-height: 1.6;
}

.lead-note {
  display: grid;
  gap: 6px;
}

.lead-note textarea {
  min-height: 72px;
}

.lead-status.following {
  color: #245d85;
  background: #e1eff7;
  border-color: #9bc4da;
}

.lead-status.won {
  color: #166534;
  background: #dcfce7;
  border-color: #86efac;
}

.media-meta {
  display: grid;
  gap: 8px;
}

.media-meta label {
  font-size: 12px;
}

.media-meta input {
  min-height: 32px;
  padding: 7px 9px;
}

.media-meta small {
  color: var(--muted-ink);
}

.selector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.selector-grid article {
  padding: 22px;
  background: #f6f8fa;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.selector-grid strong {
  color: var(--accent);
  font-size: 13px;
}

.selector-grid h3 {
  margin: 8px 0;
  line-height: 1.3;
}

.selector-grid p {
  margin: 0;
  color: var(--muted-ink);
}

.process-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-top: 22px;
  overflow: hidden;
  color: #fff;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 8px;
}

.process-strip span {
  padding: 16px;
  background: var(--steel);
  font-weight: 800;
}

.visual-placeholder {
  display: grid;
  place-items: center;
  height: 210px;
  background:
    linear-gradient(135deg, rgba(31, 79, 102, 0.12), rgba(212, 145, 42, 0.16)),
    repeating-linear-gradient(90deg, rgba(23, 32, 43, 0.08) 0 1px, transparent 1px 28px);
}

.visual-placeholder svg {
  width: 68px;
  height: 68px;
  color: var(--steel);
}

.case-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 20px;
}

.case-feature {
  min-height: 360px;
  padding: 34px;
  color: #fff;
  background:
    linear-gradient(rgba(18, 53, 68, 0.78), rgba(18, 53, 68, 0.88)),
    var(--case-feature-image, url("assets/hero-automation.webp")) center / cover;
  border-radius: 8px;
}

.case-feature span {
  color: #f3b54a;
  font-weight: 700;
}

.case-feature ul {
  display: grid;
  gap: 8px;
  margin: 24px 0 0;
  padding-left: 18px;
}

.homepage-case-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
  gap: 18px;
  align-items: stretch;
}

.homepage-featured-case {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
  min-width: 0;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-decoration: none;
}

.homepage-featured-case:hover,
.homepage-case-category:hover { border-color: var(--gold); }

.homepage-featured-case-media {
  min-height: 330px;
  background: #f4f6f7;
}

.homepage-featured-case-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.homepage-featured-case-copy {
  display: flex;
  min-width: 0;
  padding: 28px;
  flex-direction: column;
  justify-content: center;
}

.homepage-featured-case-copy h3 { margin: 8px 0 10px; font-size: 26px; }
.homepage-featured-case-copy > p { margin: 0 0 20px; color: var(--muted); }
.homepage-featured-case-copy > .text-link { margin-top: 18px; }

.homepage-case-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 0;
}

.homepage-case-facts div { min-width: 0; }
.homepage-case-facts .wide { grid-column: 1 / -1; }
.homepage-case-facts dt { margin-bottom: 3px; color: var(--muted); font-size: 13px; }
.homepage-case-facts dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }

.homepage-case-categories {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.homepage-case-category {
  display: flex;
  min-width: 0;
  padding: 18px 20px;
  color: inherit;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
}

.homepage-case-category span { color: var(--gold-dark); font-size: 13px; font-weight: 800; }
.homepage-case-category strong { margin-top: 4px; }
.homepage-case-category p { margin: 5px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

.case-list {
  display: grid;
  gap: 14px;
}

.case-list article,
.case-list a {
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.case-list a { color: inherit; text-decoration: none; }
.case-list a:hover { border-color: var(--gold); }
.case-category-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 28px; }
.case-category-filter a { padding: 9px 14px; color: var(--blue); background: #fff; border: 1px solid var(--line); border-radius: 5px; text-decoration: none; font-weight: 700; }
.case-category-filter a:hover,
.case-category-filter a.is-active { color: #fff; background: var(--blue); border-color: var(--blue); }
.case-library-tools { display: grid; gap: 18px; margin: 24px 0 30px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.case-library-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid #e2e8ec; }
.case-library-tabs a { padding: 9px 14px; color: var(--blue); border: 1px solid #cbd8df; border-radius: 5px; font-weight: 800; }
.case-library-tabs a:hover, .case-library-tabs a.is-active { color: #fff; background: var(--blue); border-color: var(--blue); }
.case-library-selects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; }
.case-library-selects label { gap: 6px; color: #435665; font-size: 13px; }
.case-library-selects select { min-height: 42px; padding: 0 34px 0 11px; background: #fff; border: 1px solid #bdcbd3; border-radius: 5px; }
.case-library-selects button { min-height: 42px; white-space: nowrap; }
.case-library-status { display: flex; align-items: baseline; gap: 7px; color: #5f6e79; }
.case-library-status strong { color: var(--steel); font-size: 24px; }
.case-library-status small { margin-left: auto; color: #75828b; }
.case-library-empty { padding: 52px 20px; color: #62727e; text-align: center; background: #fff; border: 1px dashed #bac8d0; }
.case-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 28px 0 8px; }
.case-pagination button { min-width: 40px; min-height: 40px; padding: 0 12px; color: var(--blue); background: #fff; border: 1px solid #cbd8df; border-radius: 5px; cursor: pointer; }
.case-pagination button:hover, .case-pagination button.is-current { color: #fff; background: var(--blue); border-color: var(--blue); }
.case-pagination button:disabled { color: #a4afb6; background: #edf1f3; cursor: not-allowed; }
.case-delivery-flow { margin-top: 56px; }
.product-category-section { scroll-margin-top: 90px; }
.product-category-section + .product-category-section { margin-top: 52px; }

@media (max-width: 820px) {
  .case-library-selects { grid-template-columns: 1fr 1fr; }
  .case-library-status { align-items: flex-start; flex-wrap: wrap; }
  .case-library-status small { width: 100%; margin-left: 0; }
}

@media (max-width: 560px) {
  .case-library-tools { padding: 14px; }
  .case-library-selects { grid-template-columns: 1fr; }
  .case-library-selects button { width: 100%; }
}

/* Approved case-center industry library. Scoped to the single cases list template. */
.collection-cases .case-center-page {
  color: #172b3c;
  background: #fff;
}

.collection-cases .case-center-shell {
  width: min(calc(100% - 48px), 1240px);
  margin-inline: auto;
}

.collection-cases .case-center-library {
  padding-block: 58px 92px;
}

.collection-cases .case-center-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 50px;
  margin: 0 0 44px;
  padding: 28px 32px;
  border-left: 3px solid #0a5595;
  background: #f2f6f9;
}

.collection-cases .case-center-intro > div > p,
.collection-cases .case-center-consultation div > p {
  margin: 0 0 10px;
  color: #0a5595;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.collection-cases .case-center-intro h1 {
  margin: 0;
  color: #172b3c;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.2;
  letter-spacing: -.035em;
}

.collection-cases .case-center-intro > p {
  max-width: 540px;
  margin: 0;
  color: #617382;
  font-size: 13px;
  line-height: 1.8;
}

.collection-cases .case-center-industry-row + .case-center-industry-row {
  margin-top: 68px;
}

.collection-cases .case-center-industry-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #d7e0e6;
}

.collection-cases .case-center-industry-heading > div {
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.collection-cases .case-center-industry-heading span {
  color: #0a5595;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.collection-cases .case-center-industry-heading h2 {
  margin: 0;
  font-size: 26px;
  line-height: 1.2;
}

.collection-cases .case-center-industry-heading p {
  margin: 0;
  color: #687986;
  font-size: 12px;
}

.collection-cases .case-center-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  transition: opacity .18s ease;
}

.collection-cases .case-center-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d6e0e6;
  background: #fff;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.collection-cases .case-center-card:hover {
  transform: translateY(-4px);
  border-color: #9db6c7;
  box-shadow: 0 14px 30px rgba(26, 52, 70, .09);
}

.collection-cases .case-center-card[hidden],
.collection-cases .case-center-industry-row[hidden] {
  display: none;
}

.collection-cases .case-center-card-link {
  position: absolute;
  z-index: 4;
  inset: 0;
}

.collection-cases .case-center-card-link:focus-visible {
  outline: 3px solid rgba(10, 85, 149, .42);
  outline-offset: -4px;
}

.collection-cases .case-center-card-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eaf0f4;
}

.collection-cases .case-center-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .3s ease;
}

.collection-cases .case-center-card:hover .case-center-card-media img {
  transform: scale(1.02);
}

.collection-cases .case-center-type-badge {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  padding: 6px 9px;
  color: #0a5595;
  background: #f4f9fc;
  border: 1px solid #b9d0df;
  font-size: 9px;
  font-weight: 800;
}

.collection-cases .is-real .case-center-type-badge {
  color: #fff;
  background: #0a5595;
  border-color: #0a5595;
}

.collection-cases .case-center-placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #edf3f6, #e7eef2);
}

.collection-cases .case-center-placeholder::after {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid #cad9e2;
}

.collection-cases .case-center-placeholder-mark {
  position: relative;
  z-index: 1;
  width: 92px;
  height: 80px;
  display: grid;
  align-content: center;
  gap: 11px;
  border: 1px solid #afc3d1;
}

.collection-cases .case-center-placeholder-mark i {
  width: 48px;
  height: 3px;
  margin-left: 21px;
  background: #7a9aaf;
}

.collection-cases .case-center-placeholder-mark i:nth-child(2) {
  width: 34px;
}

.collection-cases .case-center-placeholder em {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 27px;
  color: #728895;
  font-size: 9px;
  font-style: normal;
  letter-spacing: .12em;
}

.collection-cases .case-center-card-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 21px 23px;
}

.collection-cases .case-center-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.collection-cases .case-center-tag-row span {
  padding: 6px 10px;
  color: #40586b;
  background: #edf3f6;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.collection-cases .case-center-card-copy h3 {
  min-height: 58px;
  margin: 13px 0 0;
  color: #172b3c;
  font-size: 19px;
  line-height: 1.5;
  letter-spacing: -.015em;
}

.collection-cases .case-center-card-copy > p {
  min-height: 66px;
  margin: 10px 0 0;
  color: #617382;
  font-size: 12px;
  line-height: 1.8;
}

.collection-cases .case-center-equipment {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #d7e0e6;
}

.collection-cases .case-center-equipment small {
  color: #83909a;
  font-size: 9px;
}

.collection-cases .case-center-equipment strong {
  font-size: 11px;
}

.collection-cases .case-center-card-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 19px;
  color: #0a5595;
  font-size: 12px;
  font-weight: 700;
}

.collection-cases .case-center-card-action b {
  font-size: 16px;
}

.collection-cases .case-center-card-pending {
  color: #657684;
  background: #f8fafb;
  border-style: dashed;
  box-shadow: none;
}

.collection-cases .case-center-card-pending:hover {
  transform: none;
  border-color: #d6e0e6;
  box-shadow: none;
}

.collection-cases .case-center-pending-media {
  background: #f4f7f8;
}

.collection-cases .case-center-pending-media::after {
  border-style: dashed;
}

.collection-cases .case-center-pending-mark {
  position: relative;
  z-index: 1;
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  color: #7895a8;
  border: 1px dashed #a8bdcb;
  font-size: 28px;
  font-weight: 300;
}

.collection-cases .case-center-card-pending .case-center-type-badge {
  color: #637887;
  background: #f7f9fa;
  border-color: #c9d5dc;
}

.collection-cases .case-center-card-pending h3 {
  color: #536777;
}

.collection-cases .case-center-pending-action {
  color: #7b8b97;
  font-weight: 600;
}

.collection-cases .case-center-pagination,
.collection-cases [data-case-page-numbers] {
  display: flex;
  align-items: center;
  gap: 8px;
}

.collection-cases .case-center-pagination {
  justify-content: flex-end;
  margin-top: 24px;
}

.collection-cases .case-center-page-number,
.collection-cases .case-center-page-direction {
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  display: grid;
  place-items: center;
  color: #526778;
  background: #fff;
  border: 1px solid #c7d4dd;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.collection-cases .case-center-page-number:hover,
.collection-cases .case-center-page-direction:hover:not(:disabled) {
  color: #0a5595;
  border-color: #8fb0c7;
}

.collection-cases .case-center-page-number.is-active {
  color: #fff;
  background: #0a5595;
  border-color: #0a5595;
}

.collection-cases .case-center-page-number:focus-visible,
.collection-cases .case-center-page-direction:focus-visible {
  outline: 3px solid rgba(10, 85, 149, .25);
  outline-offset: 2px;
}

.collection-cases .case-center-page-direction:disabled {
  color: #aeb9c1;
  background: #f4f6f7;
  cursor: not-allowed;
}

.collection-cases .case-center-consultation {
  padding: 60px 0;
  color: #fff;
  background: #0d395e;
}

.collection-cases .case-center-consultation-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.collection-cases .case-center-consultation div > p {
  color: #a8c8e1;
}

.collection-cases .case-center-consultation h2 {
  margin: 0;
  font-size: clamp(30px, 3vw, 42px);
  letter-spacing: -.035em;
}

.collection-cases .case-center-consultation div > span {
  display: block;
  margin-top: 12px;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
}

.collection-cases .case-center-consultation-actions {
  display: flex;
  align-items: center;
  gap: 28px;
}

.collection-cases .case-center-consultation-actions > a:first-child {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 30px;
  color: #fff;
  background: #e77912;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.collection-cases .case-center-phone {
  display: grid;
  gap: 3px;
  color: #fff;
  white-space: nowrap;
}

.collection-cases .case-center-phone small {
  color: rgba(255, 255, 255, .62);
  font-size: 10px;
}

.collection-cases .case-center-phone strong {
  font-size: 17px;
}

@media (max-width: 980px) {
  .collection-cases .case-center-shell { width: min(calc(100% - 44px), 1240px); }
  .collection-cases .case-center-intro { gap: 36px; }
  .collection-cases .case-center-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-cases .case-center-industry-row + .case-center-industry-row { margin-top: 56px; }
  .collection-cases .case-center-card-copy h3,
  .collection-cases .case-center-card-copy > p { min-height: auto; }
}

@media (max-width: 720px) {
  .collection-cases .case-center-shell { width: calc(100% - 32px); }
  .collection-cases .case-center-library { padding-block: 44px 64px; }
  .collection-cases .case-center-intro { display: block; margin-bottom: 34px; padding: 22px 18px; }
  .collection-cases .case-center-intro > p { margin-top: 12px; }
  .collection-cases .case-center-industry-row + .case-center-industry-row { margin-top: 48px; }
  .collection-cases .case-center-industry-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .collection-cases .case-center-industry-heading h2 { font-size: 23px; }
  .collection-cases .case-center-grid { grid-template-columns: 1fr; gap: 16px; }
  .collection-cases .case-center-card-media { aspect-ratio: 4 / 3; }
  .collection-cases .case-center-card-copy { padding: 20px; }
  .collection-cases .case-center-card-copy h3 { font-size: 18px; }
  .collection-cases .case-center-pagination { justify-content: center; margin-top: 18px; }
  .collection-cases .case-center-page-number,
  .collection-cases .case-center-page-direction { min-width: 42px; height: 42px; }
  .collection-cases .case-center-consultation { padding: 46px 0; }
  .collection-cases .case-center-consultation-inner { display: block; }
  .collection-cases .case-center-consultation-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .collection-cases .case-center-card,
  .collection-cases .case-center-card-media img,
  .collection-cases .case-center-grid { transition: none; }
  .collection-cases .case-center-card:hover,
  .collection-cases .case-center-card:hover .case-center-card-media img { transform: none; }
}

.case-list span,
.case-list strong {
  display: block;
}

.text-link {
  color: var(--steel);
  font-weight: 700;
}

.news-grid article {
  padding: 24px;
}

.news-grid time {
  color: var(--accent);
  font-weight: 700;
}

.about-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: 36px;
  align-items: start;
}

.contact-strip {
  display: grid;
  gap: 8px;
  margin-top: 24px;
  padding: 18px;
  color: #344353;
  background: #eef4f7;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 700;
}

.inquiry-form {
  display: grid;
  gap: 14px;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.inquiry-form h3 {
  margin: 0;
}

label {
  display: grid;
  gap: 7px;
  color: #344353;
  font-size: 14px;
  font-weight: 700;
}

input,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 11px 12px;
  color: var(--ink);
  background: #fff;
}

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

.inquiry-form button,
.panel-title button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  background: var(--steel);
  font-weight: 700;
}

.form-status {
  min-height: 22px;
  margin: 0;
  color: var(--steel);
  font-weight: 700;
}

/* Compact, task-focused layouts for utility and enterprise pages. */
.utility-page .product-detail-page > .section,
.content-page .product-detail-page > .section {
  max-width: 1120px;
  padding: 30px 24px 84px;
}

.utility-hero {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr);
  gap: 48px;
  align-items: end;
  margin-bottom: 34px;
  padding: 42px 0 34px;
  border-bottom: 1px solid #cbd9e1;
}

.utility-hero .eyebrow { grid-column: 1; grid-row: 1; color: #b77808; }
.utility-hero h1 { grid-column: 2; grid-row: 1; max-width: 720px; margin: 8px 0 0; color: var(--navy); font-size: 44px; line-height: 1.12; }
.utility-hero p { grid-column: 2; grid-row: 2; max-width: 620px; margin: -28px 0 0; color: var(--muted-ink); font-size: 16px; line-height: 1.8; }
.utility-hero-compact { padding-block: 30px 26px; }
.collection-hero { display: grid; grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr); gap: 48px; align-items: end; margin-bottom: 30px; padding: 30px 0 26px; border-bottom: 1px solid #cbd9e1; }
.collection-hero .eyebrow { grid-column: 1; grid-row: 1; color: #b77808; }
.collection-hero h1 { grid-column: 2; grid-row: 1; max-width: 720px; margin: 8px 0 0; color: var(--navy); font-size: 42px; line-height: 1.14; }
.collection-hero p { grid-column: 2; grid-row: 2; max-width: 620px; margin: -24px 0 0; color: var(--muted-ink); font-size: 16px; line-height: 1.8; }

.utility-hero.has-media {
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  align-items: center;
}

.utility-hero.has-media .eyebrow { grid-column: 1; grid-row: 1; align-self: end; }
.utility-hero.has-media h1 { grid-column: 1; grid-row: 2; margin-top: 8px; }
.utility-hero.has-media p { grid-column: 1; grid-row: 3; margin-top: 0; align-self: start; }
.utility-hero.has-media .detail-media-stage { grid-column: 2; grid-row: 1 / 4; }

.utility-section-title { margin-bottom: 18px; }
.utility-section-title > span,
.selection-intro > span,
.selection-band > div:first-child > span,
.selection-submit > div > span,
.contact-details > span,
.utility-aside > span {
  color: #b77808;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.utility-section-title h2,
.selection-intro h2,
.selection-band h2,
.selection-submit h2,
.contact-details h2,
.utility-aside h2 { margin: 7px 0 8px; color: var(--navy); font-size: 26px; line-height: 1.25; }
.utility-section-title p,
.selection-intro p,
.selection-submit p,
.contact-details > p,
.utility-aside p { margin: 0; color: var(--muted-ink); line-height: 1.75; }

.faq-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 32px; align-items: start; }
.faq-accordion-list { display: grid; gap: 10px; }
.faq-accordion { overflow: hidden; background: #fff; border: 1px solid #d6e1e7; border-radius: 6px; }
.faq-accordion summary { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; min-height: 62px; padding: 0 18px 0 12px; cursor: pointer; list-style: none; }
.faq-accordion summary::-webkit-details-marker { display: none; }
.faq-accordion summary span { color: #b77808; font-size: 12px; font-weight: 800; }
.faq-accordion summary strong { color: var(--navy); font-size: 16px; }
.faq-accordion summary::after { content: "+"; grid-column: 3; color: var(--steel); font-size: 22px; }
.faq-accordion[open] summary::after { content: "−"; }
.faq-accordion[open] summary { background: #edf4f7; }
.faq-accordion > div { padding: 0 60px 18px 54px; }
.faq-accordion p { margin: 0; color: var(--muted-ink); line-height: 1.8; }
.utility-aside { position: sticky; top: 96px; display: grid; gap: 12px; padding: 24px; background: #edf4f7; border-left: 3px solid var(--accent); }
.utility-aside .text-link { margin-top: 4px; }
.utility-aside .primary-action { justify-content: center; margin-top: 4px; }

.selection-intro { max-width: 720px; margin: 8px 0 20px; }
.selection-route-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.selection-route { grid-column: span 2; display: flex; min-height: 230px; flex-direction: column; padding: 20px; color: inherit; background: #fff; border: 1px solid #d5e1e8; border-radius: 6px; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.selection-route:nth-child(4) { grid-column: 2 / span 2; }
.selection-route:hover, .selection-route:focus-visible { border-color: #6c98b1; box-shadow: 0 14px 28px rgba(14, 52, 76, .1); transform: translateY(-2px); }
.selection-route > span { color: #b77808; font-weight: 800; }
.selection-route small { margin-top: 22px; color: var(--steel); font-weight: 800; }
.selection-route h3 { margin: 6px 0 10px; color: var(--navy); font-size: 19px; line-height: 1.35; }
.selection-route p { margin: 0; color: var(--muted-ink); line-height: 1.65; }
.selection-route > strong { margin-top: auto; padding-top: 16px; color: var(--steel); font-size: 13px; }
.selection-band { margin: 46px 0; padding: 32px; color: #fff; background: var(--navy); border-radius: 6px; }
.selection-band h2 { color: #fff; }
.selection-condition-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 22px; background: rgba(255,255,255,.18); }
.selection-condition-grid article { min-height: 150px; padding: 20px; background: #073958; }
.selection-condition-grid strong { color: #fff; }
.selection-condition-grid p { margin: 10px 0 0; color: rgba(255,255,255,.72); line-height: 1.65; }
.selection-compare { margin-bottom: 42px; }
.selection-compare-list { border-top: 1px solid #cddae1; }
.selection-compare-list > div { display: grid; grid-template-columns: 180px 260px minmax(0, 1fr); gap: 20px; align-items: center; padding: 16px 4px; border-bottom: 1px solid #dce5ea; }
.selection-compare-list strong { color: var(--steel); }
.selection-compare-list span { color: var(--navy); font-weight: 800; }
.selection-compare-list p { margin: 0; color: var(--muted-ink); line-height: 1.6; }
.selection-submit { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); gap: 34px; align-items: center; padding: 30px; background: #edf4f7; border-top: 3px solid var(--accent); }
.selection-submit ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0; padding: 0; list-style: none; }
.selection-submit li { position: relative; padding-left: 18px; color: #314b5c; }
.selection-submit li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; background: #b77808; }
.selection-submit .primary-action { justify-self: end; }

.assessment-principle {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin: 0 0 24px;
  padding: 18px 22px;
  color: #fff;
  background: var(--steel);
  border-left: 3px solid var(--accent);
}

.assessment-principle strong { font-size: 18px; }
.assessment-principle p { margin: 0; color: rgba(255,255,255,.74); line-height: 1.7; }
.assessment-progress { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 30px; border-top: 1px solid #cbd9e1; border-bottom: 1px solid #cbd9e1; }
.assessment-progress span { display: flex; gap: 10px; align-items: center; padding: 14px 16px; color: #385366; font-weight: 800; }
.assessment-progress span + span { border-left: 1px solid #cbd9e1; }
.assessment-progress b { color: #b77808; font-size: 12px; }
.assessment-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 34px; align-items: start; }
.assessment-form { display: grid; gap: 22px; }
.assessment-section { background: #fff; border: 1px solid #d5e1e8; border-radius: 6px; }
.assessment-section > header { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 18px; padding: 22px 24px; border-bottom: 1px solid #dce5ea; }
.assessment-section > header > span { color: #b77808; font-size: 12px; font-weight: 800; }
.assessment-section h2 { margin: 0; color: var(--steel); font-size: 24px; }
.assessment-section header p { margin: 6px 0 0; color: var(--muted-ink); line-height: 1.65; }
.assessment-fields { display: grid; gap: 18px; padding: 24px; }
.assessment-fields.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.assessment-fields.selection-criteria-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.assessment-fields .wide { grid-column: 1 / -1; }
.assessment-fields label { align-content: start; line-height: 20px; }
.assessment-field-label { display: flex; min-height: 20px; gap: 4px; align-items: center; }
.assessment-field-label em { color: #c84a32; font-size: 15px; font-style: normal; line-height: 1; }
.assessment-fields input,
.assessment-fields select,
.assessment-fields textarea { width: 100%; min-height: 44px; border: 1px solid #cbd9e1; border-radius: 5px; padding: 10px 12px; color: var(--ink); background: #fff; }
.assessment-fields textarea { min-height: 96px; resize: vertical; }
.assessment-options { min-width: 0; margin: 2px 0 0; padding: 0; border: 0; }
.assessment-options legend { margin-bottom: 10px; color: #344353; font-size: 14px; font-weight: 800; }
.assessment-options legend small { margin-left: 6px; color: var(--muted-ink); font-weight: 400; }
.assessment-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.assessment-check-grid label { display: flex; min-height: 44px; gap: 9px; align-items: center; padding: 9px 11px; color: #314b5c; background: #f6f9fa; border: 1px solid #d8e3e9; border-radius: 5px; cursor: pointer; }
.assessment-check-grid input { width: 16px; min-height: 16px; margin: 0; padding: 0; accent-color: var(--steel); }
.assessment-check-grid span { line-height: 1.35; }
.selection-result-panel {
  margin: 0 24px 24px;
  padding: 22px 24px;
  border-left: 4px solid #8fa1ad;
  background: #edf3f6;
}
.selection-result-panel > span { color: #667d8c; font-size: 12px; font-weight: 800; }
.selection-result-panel h3 { margin: 8px 0 6px; color: var(--steel); font-size: 21px; }
.selection-result-panel p { margin: 0; color: #496273; line-height: 1.65; }
.selection-result-panel ul { display: grid; gap: 7px; margin: 14px 0 0; padding-left: 20px; color: var(--steel); font-weight: 800; }
.selection-result-panel li strong { display: block; }
.selection-result-panel li small { display: block; margin-top: 3px; color: #526a79; font-size: 12px; font-weight: 500; line-height: 1.5; }
.selection-result-panel.has-result { border-left-color: #16815f; background: #eaf6f1; }
.selection-result-panel.has-result > span { color: #16815f; }
.selection-result-panel.needs-review { border-left-color: #c98914; background: #fff6df; }
.selection-result-panel.needs-review > span { color: #9a6810; }
.selection-warning {
  padding: 18px 20px;
  border-left: 4px solid #c98914;
  background: #fff7e5;
}
.selection-warning strong { color: #79510c; }
.selection-warning p { margin: 6px 0 0; color: #674f2d; line-height: 1.7; }
.assessment-form > .inquiry-consent { padding: 2px 4px; }
.assessment-submit { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding: 22px 24px; background: #edf4f7; border-top: 3px solid var(--accent); }
.assessment-submit strong { color: var(--steel); }
.assessment-submit p { margin: 5px 0 0; color: var(--muted-ink); line-height: 1.6; }
.assessment-submit .primary-action { flex: 0 0 auto; }
.assessment-summary { position: sticky; top: 92px; display: grid; gap: 18px; padding: 24px; background: #edf4f7; border-left: 3px solid var(--accent); }
.assessment-summary > span { color: #b77808; font-size: 12px; font-weight: 800; }
.assessment-summary h2 { margin: -8px 0 0; color: var(--steel); font-size: 23px; line-height: 1.3; }
.assessment-summary [data-assessment-summary] { display: grid; gap: 14px; }
.assessment-summary [data-assessment-summary] > p { margin: 0; color: var(--muted-ink); line-height: 1.7; }
.assessment-summary section strong { color: var(--steel); font-size: 13px; }
.assessment-summary ul { display: grid; gap: 7px; margin: 8px 0 0; padding: 0; list-style: none; }
.assessment-summary li { position: relative; padding-left: 16px; color: #385366; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.assessment-summary li::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; background: #b77808; }
.assessment-summary .is-missing li { color: #758794; }
.assessment-summary .is-missing li::before { background: transparent; border: 1px solid #8fa1ad; }
.assessment-next { padding-top: 16px; border-top: 1px solid #c8d7df; }
.assessment-next > strong { color: var(--steel); }
.assessment-next ol { display: grid; gap: 7px; margin: 10px 0 0; padding-left: 20px; color: #385366; font-size: 13px; }

@media (max-width: 960px) {
  .assessment-layout { grid-template-columns: 1fr; }
  .assessment-summary { position: static; order: -1; }
  .assessment-summary [data-assessment-summary] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .assessment-principle { grid-template-columns: 1fr; gap: 6px; }
  .assessment-progress { grid-template-columns: 1fr; }
  .assessment-progress span + span { border-top: 1px solid #cbd9e1; border-left: 0; }
  .assessment-section > header { grid-template-columns: 1fr; gap: 8px; padding: 18px; }
  .assessment-fields { padding: 18px; }
  .assessment-fields.two-columns,
  .assessment-fields.selection-criteria-grid,
  .assessment-check-grid,
  .assessment-summary [data-assessment-summary] { grid-template-columns: 1fr; }
  .assessment-fields .wide { grid-column: 1; }
  .assessment-submit { align-items: stretch; flex-direction: column; }
  .assessment-submit .primary-action { width: 100%; justify-content: center; }
}

.contact-workspace { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(420px, 1.2fr); gap: 42px; align-items: start; }
.contact-details { padding: 24px 0; }
.contact-details dl { display: grid; gap: 0; margin: 26px 0; border-top: 1px solid #d7e1e7; }
.contact-details dl div { display: grid; grid-template-columns: 92px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid #d7e1e7; }
.contact-details dt { color: var(--muted-ink); }
.contact-details dd { margin: 0; color: var(--navy); font-weight: 800; overflow-wrap: anywhere; }
.contact-page .inquiry-form { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 24px; box-shadow: 0 14px 34px rgba(18, 42, 56, .08); }
.contact-page .inquiry-form h2,
.contact-page .inquiry-form > p,
.contact-page .inquiry-form label:last-of-type,
.contact-page .inquiry-form button,
.contact-page .form-status { grid-column: 1 / -1; }
.contact-page .inquiry-form h2 { margin: 0; color: var(--navy); }
.contact-page .inquiry-form > p { margin: -6px 0 2px; color: var(--muted-ink); font-size: 13px; }

@media (max-width: 800px) {
  .utility-hero { grid-template-columns: 1fr; gap: 14px; padding: 24px 0; }
  .utility-hero .eyebrow, .utility-hero h1, .utility-hero p { grid-column: 1; grid-row: auto; margin-top: 0; }
  .utility-hero.has-media .detail-media-stage { grid-column: 1; grid-row: auto; min-height: 190px; }
  .utility-hero h1 { font-size: 32px; }
  .collection-hero { grid-template-columns: 1fr; gap: 14px; padding: 24px 0; }
  .collection-hero .eyebrow, .collection-hero h1, .collection-hero p { grid-column: 1; grid-row: auto; margin-top: 0; }
  .collection-hero h1 { font-size: 32px; }
  .faq-workspace, .contact-workspace, .selection-submit { grid-template-columns: 1fr; }
  .utility-aside { position: static; }
  .selection-route-grid { grid-template-columns: 1fr; }
  .selection-route, .selection-route:nth-child(4) { grid-column: auto; min-height: 0; }
  .selection-condition-grid { grid-template-columns: 1fr; }
  .selection-condition-grid article { min-height: 0; }
  .selection-compare-list > div { grid-template-columns: 1fr; gap: 5px; }
  .selection-submit ul { grid-template-columns: 1fr; }
  .selection-submit .primary-action { justify-self: stretch; justify-content: center; }
  .contact-page .inquiry-form { grid-template-columns: 1fr; padding: 20px; }
  .contact-page .inquiry-form { order: -1; }
  .contact-page .inquiry-form > * { grid-column: 1; }
}

.product-modal[hidden] {
  display: none;
}

.product-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  height: 100dvh;
  padding: clamp(12px, 3vw, 30px);
  isolation: isolate;
}

.product-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 28, 36, 0.62);
}

.product-modal-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(720px, calc(100vw - 32px));
  height: min(720px, calc(100dvh - 32px));
  max-height: calc(100dvh - 32px);
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(0, 24, 40, .34);
}

body.modal-open {
  overflow: hidden;
}

.product-modal-header {
  position: relative;
  padding: 22px 64px 18px 24px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.product-modal-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px 24px;
  scrollbar-gutter: stable;
}

.product-modal-footer {
  padding: 14px 24px 18px;
  background: #fff;
  border-top: 1px solid var(--line);
}

.modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 7px;
  background: #edf2f5;
  cursor: pointer;
  font-size: 22px;
}

.product-modal-panel h2 {
  margin: 6px 0 0;
  line-height: 1.2;
}

.modal-specs {
  display: grid;
  gap: 12px;
  margin: 0;
}

.modal-specs div {
  padding: 14px;
  background: #f6f8fa;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.modal-specs dt {
  color: var(--steel);
  font-weight: 800;
}

.modal-specs dd {
  margin: 4px 0 0;
  color: var(--muted-ink);
}

.modal-action {
  justify-content: center;
  width: 100%;
}

@media (max-width: 600px) {
  .product-modal { padding: 10px; }
  .product-modal-panel { width: calc(100vw - 20px); height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); }
  .product-modal-header { padding: 18px 56px 14px 18px; }
  .product-modal-scroll { padding: 14px 18px; }
  .product-modal-footer { padding: 12px 18px 16px; }
  .modal-specs div { padding: 12px; }
}

.admin-shell.is-visible {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: calc(100vh - 72px);
}

.admin-shell.is-locked {
  display: block;
}

.admin-shell.is-locked .admin-sidebar,
.admin-shell.is-locked .admin-main {
  display: none;
}

.login-screen {
  display: none;
  min-height: calc(100vh - 72px);
  padding: 48px 18px;
  place-items: center;
  background:
    linear-gradient(rgba(18, 53, 68, 0.84), rgba(18, 53, 68, 0.9)),
    url("assets/hero-automation.png") center / cover;
}

.admin-shell.is-locked .login-screen {
  display: grid;
}

.login-panel {
  display: grid;
  gap: 14px;
  width: min(420px, 100%);
  padding: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.login-panel h2,
.login-panel p {
  margin: 0;
}

.login-panel button {
  min-height: 42px;
  color: #fff;
  background: var(--steel);
  border: 0;
  border-radius: 7px;
  font-weight: 800;
  cursor: pointer;
}

.login-error {
  min-height: 20px;
  color: #9a3412;
  font-weight: 700;
}

.admin-sidebar {
  padding: 22px;
  color: #dbe8ee;
  background: var(--steel-dark);
}

.admin-logo {
  margin-bottom: 28px;
}

.admin-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  margin-bottom: 8px;
  padding: 0 12px;
  color: #c8d7de;
  background: transparent;
  border: 0;
  border-radius: 7px;
  text-align: left;
  cursor: pointer;
}

.admin-nav.is-active,
.admin-nav:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.admin-main {
  padding: 28px;
}

.admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.admin-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.publish-status {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  color: var(--steel);
  background: #e9f1f5;
  border: 1px solid #cbd8df;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 800;
}

.publish-status.is-dirty {
  color: #7a4b00;
  background: #fff4dc;
  border-color: #ecc778;
}

.ghost-button {
  padding: 0 18px;
  color: var(--steel);
  background: #e9f1f5;
  font-weight: 700;
}

.ghost-button.danger {
  color: #8c3d1b;
  background: #fff0e8;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.admin-panel {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.admin-panel.is-hidden {
  display: none;
}

.admin-panel.wide {
  grid-column: 1 / -1;
}

.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.panel-title span {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
}

.panel-title h3 {
  margin: 2px 0 0;
}

.panel-title button {
  min-width: 112px;
  padding: 0 14px;
}

.editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.editor-grid .full {
  grid-column: 1 / -1;
}

.product-editor {
  display: grid;
  gap: 14px;
}

.product-edit-row,
.news-edit-row {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #f6f8fa;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.product-edit-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}

.product-edit-row label.wide {
  grid-column: span 2;
}

.product-media-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.field-label {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.product-media-preview {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  color: var(--muted-ink);
  background: #e8f0f4;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 12px;
}

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

.product-media-actions {
  display: grid;
  grid-template-columns: 1fr 64px;
  gap: 7px;
}

.product-media-actions button {
  min-height: 34px;
  color: var(--steel);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
  font-weight: 800;
}

.product-edit-row textarea {
  min-height: 76px;
}

.product-edit-row input,
.product-edit-row textarea,
.product-edit-row select {
  min-width: 0;
}

.product-edit-row select {
  min-height: 40px;
}

.product-edit-row .row-delete {
  grid-column: 1 / span 1;
}

.news-editor {
  display: grid;
  gap: 14px;
}

.case-editor {
  display: grid;
  gap: 14px;
}

.case-edit-feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  background: #f6f8fa;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.case-edit-feature label:nth-child(2) {
  grid-column: 1 / -1;
}

.news-edit-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}

.news-edit-row label:nth-child(3) {
  grid-column: span 2;
}

.news-edit-row label:nth-child(4),
.news-edit-row label:nth-child(6) {
  grid-column: 1 / -1;
}

.news-edit-row label:nth-child(5),
.news-edit-row label:nth-child(7) {
  grid-column: span 3;
}

.news-edit-row label:nth-child(8) {
  grid-column: span 1;
}

.news-edit-row .row-delete {
  grid-column: 1 / span 1;
}

.row-delete {
  align-self: end;
  min-height: 39px;
  color: #8c3d1b;
  background: #fff0e8;
  border: 1px solid #efc0a8;
  border-radius: 7px;
  cursor: pointer;
  font-weight: 800;
}

.case-edit-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(260px, 1.2fr) 74px;
  gap: 12px;
  padding: 14px;
  background: #f6f8fa;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.news-edit-row textarea,
.case-edit-row textarea,
.case-edit-feature textarea {
  min-height: 76px;
}

.news-edit-row input,
.news-edit-row textarea,
.news-edit-row select {
  min-width: 0;
}

.news-edit-row label:nth-child(4) textarea,
.news-edit-row label:nth-child(6) textarea,
.news-edit-row label:nth-child(7) textarea {
  min-height: 96px;
}

.news-edit-row select {
  min-height: 40px;
}

.badge {
  display: inline-grid;
  place-items: center;
  min-width: 52px;
  min-height: 34px;
  color: #fff;
  background: var(--accent);
  border-radius: 7px;
}

.lead-list {
  display: grid;
  gap: 12px;
}

.lead-list p {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 12px;
  background: #f6f8fa;
  border-radius: 7px;
}

.lead-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.lead-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  color: #7a4b00;
  background: #fff4dc;
  border: 1px solid #e6bf63;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 800;
}

.lead-status.done {
  color: #166534;
  background: #dcfce7;
  border-color: #86efac;
}

.lead-status.archived {
  color: #374151;
  background: #f3f4f6;
  border-color: #d1d5db;
}

.lead-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.lead-action,
.lead-delete {
  width: fit-content;
  min-height: 30px;
  padding: 0 10px;
  color: var(--steel);
  background: #e9f1f5;
  border: 1px solid #cbd8df;
  border-radius: 7px;
  cursor: pointer;
  font-weight: 800;
}

.lead-delete {
  color: #8c3d1b;
  background: #fff0e8;
  border-color: #efc0a8;
}

.media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.drop-zone {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 24px;
  overflow: hidden;
  color: #506273;
  text-align: center;
  background: #f5f8fa;
  border: 2px dashed #b8c8d3;
  border-radius: 8px;
}

.drop-zone.is-dragging {
  border-color: var(--accent);
  background: #fff8eb;
}

.drop-zone svg {
  width: 54px;
  height: 54px;
  color: var(--steel);
}

.drop-zone strong,
.drop-zone span {
  display: block;
}

.drop-zone [data-browse-media] {
  position: relative;
  z-index: 2;
  min-height: 36px;
  padding: 0 14px;
  color: #fff;
  background: var(--steel);
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 800;
}

.drop-zone img,
.drop-zone video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-library {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.media-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #f7fafb;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.media-preview {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e8f0f4;
  border-radius: 6px;
}

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

.media-card strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-usage {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 24px;
  color: var(--muted-ink);
  font-size: 12px;
}

.media-usage span {
  padding: 3px 7px;
  color: #245d85;
  background: #e1eff7;
  border-radius: 5px;
  font-weight: 700;
}

.media-picker {
  width: min(960px, calc(100vw - 36px));
  max-height: 82vh;
  padding: 0;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(3, 35, 59, 0.24);
}

.media-picker::backdrop {
  background: rgba(3, 35, 59, 0.58);
}

.media-picker-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.media-picker-head span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
}

.media-picker-head h3 {
  margin: 2px 0 0;
}

.media-picker-head button {
  min-height: 36px;
  padding: 0 14px;
  color: var(--steel);
  background: #eef4f7;
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
  font-weight: 800;
}

.media-picker-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 20px;
  overflow: auto;
}

.media-picker-item {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 8px;
  color: var(--ink);
  text-align: left;
  background: #f7fafb;
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
}

.media-picker-item:hover {
  border-color: var(--accent);
  box-shadow: 0 8px 22px rgba(3, 35, 59, 0.12);
}

.media-picker-item img,
.media-picker-item video {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #e8f0f4;
  border-radius: 5px;
}

.media-picker-item span {
  overflow: hidden;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.media-actions button,
.media-select {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--steel);
  background: #fff;
  font-weight: 700;
  cursor: pointer;
}

.media-actions button.danger {
  color: #8c3d1b;
  background: #fff0e8;
  border-color: #efc0a8;
}

.media-select {
  display: grid;
  grid-column: 1 / -1;
  gap: 6px;
  padding: 8px 10px;
  cursor: default;
}

.media-select select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  background: #fff;
}

.empty-state {
  grid-column: 1 / -1;
  padding: 18px;
  color: var(--muted-ink);
  background: #f7fafb;
  border: 1px dashed var(--line);
  border-radius: 8px;
}

@media (max-width: 960px) {
  .topbar {
    flex-wrap: wrap;
    gap: 12px;
  }

  .site-nav-toggle { display: inline-grid; place-items: center; }

  .site-nav {
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 8px 0 4px;
    border-top: 1px solid var(--line);
  }

  .topbar.is-nav-open .site-nav { display: flex; }
  .site-nav > a, .site-nav .nav-group-head > a { display: block; width: 100%; padding: 10px 4px; }
  .site-nav > .nav-consult { display: flex; width: 100%; min-height: 44px; padding: 0 14px; }

  .nav-group {
    display: block;
    min-height: auto;
  }

  .nav-group-head {
    width: 100%;
  }

  .nav-group-head > button {
    position: relative;
    display: grid;
    flex: 0 0 42px;
    height: 42px;
    place-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
  }

  .nav-group-head > button::before,
  .nav-group-head > button::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 2px;
    background: var(--steel);
    transition: transform 0.18s ease;
  }

  .nav-group-head > button::after {
    transform: rotate(90deg);
  }

  .nav-group.is-submenu-open .nav-group-head > button::after {
    transform: rotate(0);
  }

  .mega-menu {
    display: none;
  }

  .nav-group.is-submenu-open .mega-menu {
    position: static;
    display: grid;
    width: 100%;
    min-width: 0;
    max-height: 60vh;
    overflow-y: auto;
    visibility: visible;
    opacity: 1;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }

  .nav-group.is-submenu-open .mega-menu:not(.mega-menu-featured) {
    grid-template-columns: 1fr;
    padding: 8px;
    background: #f5f8fa;
  }

  .mega-menu-featured {
    grid-template-columns: 1fr;
  }

  .mega-categories {
    display: flex;
    gap: 6px;
    padding: 10px 8px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .mega-category {
    flex: 0 0 auto;
    width: auto;
    padding: 9px 12px;
    white-space: nowrap;
  }

  .mega-category::after,
  .mega-category span {
    display: none;
  }

  .mega-category:hover,
  .mega-category:focus-visible,
  .mega-category.is-active {
    box-shadow: inset 0 -2px 0 var(--gold);
  }

  .mega-previews {
    padding: 12px 8px;
  }

  .mega-preview-head h2 {
    font-size: 17px;
  }

  .mega-preview-grid {
    grid-template-columns: 1fr;
  }

  .mega-preview-image {
    height: 150px;
  }

  .nav-page-overlay {
    display: none;
  }

  .product-page .section-head {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .product-page .section-head::after {
    min-height: 190px;
  }

  .detail-media-stage, .detail-media-image, .detail-media-placeholder { min-height: 220px; }

  .product-page .catalog-grid,
  .product-page .editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .standard-table,
  .mini-faq,
  .related-grid {
    grid-template-columns: 1fr;
  }

  .standard-table div:nth-child(2) {
    border-top: 1px solid #dbe5ec;
  }

  .timeline-flow,
  .industry-standard .timeline-flow,
  .case-standard .timeline-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline-flow span::after {
    display: none;
  }

  .mode-switch {
    width: 220px;
    margin-left: auto;
  }

  .hero-content {
    min-height: 720px;
    padding-top: 82px;
    box-sizing: border-box;
  }

  .trust-grid,
  .solution-grid,
  .news-grid,
  .case-layout,
  .homepage-case-showcase,
  .about-contact,
  .admin-shell.is-visible,
  .admin-grid,
  .selector-grid,
  .process-strip,
  .detail-grid,
  .industry-grid,
  .faq-list,
  .evidence-grid,
  .media-grid {
    grid-template-columns: 1fr;
  }

  .site-map-page .site-map-card-news ul {
    grid-template-columns: 1fr;
  }

  .site-map-page .site-map-home-link {
    margin-top: 96px;
  }

  .capability-summary-band { grid-template-columns: 1fr; gap: 18px; }
  .capability-summary-band > .text-link { justify-self: start; }

  .homepage-featured-case { grid-template-columns: 1fr; }
  .homepage-featured-case-media { min-height: 0; aspect-ratio: 16 / 10; }
  .homepage-case-categories { grid-template-rows: none; }

  .table-row {
    grid-template-columns: 1fr;
  }

  .table-row span {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .table-row span:first-child {
    border-top: 0;
  }

  .admin-sidebar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
  }

  .admin-logo {
    min-width: 170px;
    margin-bottom: 0;
  }

  .admin-nav {
    min-width: 128px;
  }

  .product-page .about-contact {
    grid-template-columns: 1fr;
  }

  .product-page .about-contact .inquiry-form {
    position: static;
  }
}

@media (max-width: 640px) {
  .brand {
    min-width: 0;
  }

  .brand small {
    display: none;
  }

  .mode-switch {
    width: 100%;
  }

  .mode-switch.single-admin {
    width: 100%;
  }

  .product-page .product-detail-page > .text-link {
    margin-left: 18px;
  }

  .product-page .section-head {
    padding: 26px 20px;
  }

  .product-page .section-head h1 {
    font-size: 34px;
  }

  .product-page .section-head::after {
    min-height: 150px;
  }

  .detail-media-stage, .detail-media-image, .detail-media-placeholder { min-height: 190px; }

  .product-page .catalog-grid,
  .product-page .editorial-grid {
    grid-template-columns: 1fr;
  }

  .standard-head {
    align-items: stretch;
    flex-direction: column;
  }

  .standard-table div {
    grid-template-columns: 1fr;
  }

  .standard-table span {
    border-left: 0;
    border-top: 1px solid #dbe5ec;
  }

  .timeline-flow,
  .industry-standard .timeline-flow,
  .case-standard .timeline-flow {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: 760px;
  }

  .hero-content {
    width: 100%;
    min-height: 760px;
    padding: 76px 18px 70px;
  }

  .hero h1 {
    font-size: 34px;
    width: calc(100% - 18px);
    max-width: calc(100% - 18px);
    overflow-wrap: anywhere;
    word-break: break-all;
  }

  .hero p {
    font-size: 16px;
    width: calc(100% - 18px);
    overflow-wrap: anywhere;
  }

  .hero .eyebrow { width: calc(100% - 18px); overflow-wrap: anywhere; }

  .hero-metrics {
    grid-template-columns: 1fr;
  }

  .section-head.inline,
  .admin-header,
  .panel-title {
    align-items: stretch;
    flex-direction: column;
  }

  .editor-grid {
    grid-template-columns: 1fr;
  }

  .product-edit-row,
  .news-edit-row,
  .case-edit-row,
  .case-edit-feature {
    grid-template-columns: 1fr;
  }

  .product-edit-row label.wide {
    grid-column: auto;
  }

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

/* Evidence library */
.evidence-page { background: #f3f6f7; }
.evidence-main { overflow: clip; }
.evidence-hero {
  position: relative;
  display: grid;
  min-height: 620px;
  height: calc(100vh - 128px);
  max-height: 780px;
  align-items: end;
  overflow: hidden;
  color: #fff;
  background: #052f4e;
}
.evidence-hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: evidence-hero-drift 18s ease-in-out infinite alternate;
}
.evidence-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2, 31, 52, .9) 0%, rgba(2, 43, 70, .7) 43%, rgba(2, 43, 70, .18) 78%), linear-gradient(0deg, rgba(2, 31, 52, .42), transparent 55%);
}
.evidence-hero-copy {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 0 96px;
}
.evidence-hero-copy > span,
.evidence-story-head > span,
.evidence-subsection span,
.evidence-comparison-copy > span {
  color: #f0b431;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.evidence-hero-copy h1 {
  max-width: 880px;
  margin: 18px 0 20px;
  color: #fff;
  font-size: 58px;
  line-height: 1.08;
  letter-spacing: 0;
}
.evidence-hero-copy p { max-width: 760px; margin: 0 0 30px; color: rgba(255,255,255,.88); font-size: 18px; line-height: 1.8; }
.evidence-ghost-action {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 5px;
  font-weight: 700;
}
.evidence-stage-nav {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(1180px, calc(100% - 48px));
  min-height: 82px;
  margin: -42px auto 0;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(199,213,221,.9);
  box-shadow: 0 14px 40px rgba(3, 40, 64, .12);
  backdrop-filter: blur(12px);
}
.evidence-stage-nav a {
  position: relative;
  display: grid;
  place-items: center;
  color: #38566a;
  font-weight: 700;
}
.evidence-stage-nav a::after {
  position: absolute;
  right: 24px;
  bottom: 0;
  left: 24px;
  height: 3px;
  content: "";
  background: #0b6694;
  transform: scaleX(0);
  transition: transform .24s ease;
}
.evidence-stage-nav a:hover,
.evidence-stage-nav a.is-active { color: #063b60; }
.evidence-stage-nav a.is-active::after { transform: scaleX(1); }
.evidence-content { padding-top: 76px; padding-bottom: 90px; }
.evidence-story { padding: 92px 0; scroll-margin-top: 100px; border-top: 1px solid #cbd8de; }
.evidence-story-head { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(0, 1.25fr); column-gap: 72px; align-items: end; margin-bottom: 42px; }
.evidence-story-head > span { grid-column: 1; }
.evidence-story-head h2 { grid-column: 1; margin: 12px 0 0; color: #052f4e; font-size: 42px; line-height: 1.15; letter-spacing: 0; }
.evidence-story-head p { grid-column: 2; grid-row: 1 / 3; max-width: 680px; margin: 0; color: #536b7b; font-size: 17px; line-height: 1.85; }
.evidence-story-dark {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-right: max(24px, calc((100vw - 1180px) / 2));
  padding-left: max(24px, calc((100vw - 1180px) / 2));
  color: #fff;
  background: #073653;
  border-top: 0;
}
.evidence-story-dark .evidence-story-head h2,
.evidence-story-dark .evidence-photo h3 { color: #fff; }
.evidence-story-dark .evidence-story-head p,
.evidence-story-dark .evidence-photo p { color: #c5d4dc; }
.evidence-story-dark .evidence-photo { border-color: rgba(255,255,255,.18); }
.evidence-story-dark .evidence-photo-copy { background: #0a405f; }
.evidence-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.evidence-gallery-assembly,
.evidence-gallery-detail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evidence-gallery-delivery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evidence-photo { overflow: hidden; background: #fff; border: 1px solid #d0dde3; border-radius: 6px; }
.evidence-photo-button { display: block; width: 100%; height: clamp(230px, 22vw, 340px); padding: 0; overflow: hidden; background: #e9eef0; border: 0; cursor: zoom-in; }
.evidence-photo-button img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.evidence-photo-button:hover img { transform: scale(1.03); }
.evidence-photo-copy { display: grid; gap: 10px; padding: 20px; }
.evidence-photo-copy > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.evidence-photo-copy span { color: #b0780b; font-size: 12px; font-weight: 800; }
.evidence-photo-copy small { color: #718590; }
.evidence-photo h3 { margin: 0; color: #052f4e; font-size: 20px; line-height: 1.35; }
.evidence-photo p { margin: 0; color: #5a7080; line-height: 1.75; }
.evidence-subsection { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 60px; align-items: end; margin: 74px 0 30px; padding-top: 48px; border-top: 1px solid #cbd8de; }
.evidence-subsection h3 { margin: 9px 0 0; color: #052f4e; font-size: 30px; letter-spacing: 0; }
.evidence-subsection p { margin: 0; color: #5a7080; line-height: 1.8; }
.evidence-comparison-card { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: 34px; align-items: center; }
.evidence-comparison { position: relative; overflow: hidden; background: #071f30; border-radius: 6px; aspect-ratio: 4 / 3; }
.evidence-comparison img { display: block; width: 100%; height: 100%; object-fit: cover; }
.evidence-comparison-after { position: absolute; inset: 0; }
.evidence-comparison-before { position: absolute; inset: 0 auto 0 0; width: var(--comparison-position); overflow: hidden; }
.evidence-comparison-before img { width: calc(100vw - 48px); max-width: 806px; }
.evidence-comparison-divider { position: absolute; z-index: 3; top: 0; bottom: 0; left: var(--comparison-position); width: 2px; background: #fff; transform: translateX(-1px); pointer-events: none; }
.evidence-comparison-divider::after { position: absolute; top: 50%; left: 50%; display: grid; width: 42px; height: 42px; place-items: center; content: "↔"; color: #073653; background: #fff; border-radius: 50%; box-shadow: 0 5px 18px rgba(0,0,0,.25); transform: translate(-50%,-50%); }
.evidence-comparison input[type="range"] { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; }
.evidence-comparison-label { position: absolute; z-index: 2; top: 16px; padding: 7px 10px; color: #fff; background: rgba(3,42,67,.78); border-radius: 4px; font-size: 12px; font-weight: 800; }
.evidence-comparison-label.is-before { left: 16px; }
.evidence-comparison-label.is-after { right: 16px; }
.evidence-comparison-copy h3 { margin: 12px 0 14px; color: #052f4e; font-size: 30px; line-height: 1.3; letter-spacing: 0; }
.evidence-comparison-copy p { margin: 0; color: #536b7b; line-height: 1.85; }
.evidence-boundary { max-width: 830px; margin: 28px 0 0 auto; padding-left: 18px; color: #5c7180; border-left: 3px solid #d29a1f; line-height: 1.8; }
.evidence-reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease var(--reveal-delay, 0ms), transform .65s ease var(--reveal-delay, 0ms); }
.evidence-reveal.is-visible { opacity: 1; transform: translateY(0); }
.evidence-lightbox { width: min(1080px, calc(100% - 32px)); max-width: none; padding: 0; overflow: visible; background: transparent; border: 0; }
.evidence-lightbox::backdrop { background: rgba(1,18,30,.88); backdrop-filter: blur(5px); }
.evidence-lightbox img { display: block; width: 100%; max-height: 78vh; object-fit: contain; background: #071f30; border-radius: 6px; }
.evidence-lightbox p { margin: 12px 0 0; color: #fff; text-align: center; }
.evidence-lightbox button { position: absolute; top: -42px; right: 0; width: 36px; height: 36px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; cursor: pointer; }

@keyframes evidence-hero-drift {
  from { transform: scale(1); }
  to { transform: scale(1.035); }
}

@media (max-width: 980px) {
  .evidence-hero-copy h1 { font-size: 44px; }
  .evidence-story-head { grid-template-columns: 1fr; gap: 18px; }
  .evidence-story-head p { grid-column: 1; grid-row: auto; }
  .evidence-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-comparison-card { grid-template-columns: 1fr; }
  .evidence-comparison-before img { max-width: none; width: calc(100vw - 48px); }
}

@media (max-width: 720px) {
  .evidence-hero { min-height: 590px; height: calc(100vh - 92px); max-height: 700px; }
  .evidence-hero-copy { width: calc(100% - 32px); padding-bottom: 74px; }
  .evidence-hero-copy h1 { margin-top: 14px; font-size: 34px; line-height: 1.16; }
  .evidence-hero-copy p { font-size: 15px; line-height: 1.7; }
  .evidence-hero-copy .link-row { align-items: stretch; flex-direction: column; }
  .evidence-stage-nav { display: flex; width: calc(100% - 24px); min-height: 64px; margin-top: -32px; overflow-x: auto; }
  .evidence-stage-nav a { flex: 0 0 112px; min-height: 64px; font-size: 13px; }
  .evidence-content { padding-top: 54px; }
  .evidence-story { padding: 64px 0; }
  .evidence-story-dark { padding-right: 16px; padding-left: 16px; }
  .evidence-story-head { margin-bottom: 28px; }
  .evidence-story-head h2 { font-size: 32px; }
  .evidence-story-head p { font-size: 15px; }
  .evidence-gallery,
  .evidence-gallery-assembly,
  .evidence-gallery-detail,
  .evidence-gallery-delivery { grid-template-columns: 1fr; }
  .evidence-photo-button { height: min(68vw, 320px); }
  .evidence-photo-copy { padding: 17px; }
  .evidence-subsection { grid-template-columns: 1fr; gap: 14px; margin-top: 54px; }
  .evidence-subsection h3 { font-size: 26px; }
  .evidence-comparison-card { gap: 22px; }
  .evidence-comparison-before img { width: calc(100vw - 32px); }
  .evidence-comparison-copy h3 { font-size: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  .evidence-hero-media { animation: none; }
  .evidence-reveal { opacity: 1; transform: none; transition: none; }
  .evidence-photo-button img { transition: none; }
  .evidence-stage-nav a::after { transition: none; }
}

@media (max-width: 560px) {
  .media-picker-grid {
    grid-template-columns: 1fr;
  }
}
.detail-hero-media {
  display: block;
  width: min(100%, 1080px);
  max-height: 560px;
  margin: 28px auto;
  object-fit: contain;
  background: #f3f6f7;
  border: 1px solid #d9e2e7;
  border-radius: 6px;
}

.detail-video-frame {
  width: min(100%, 960px);
  margin: 30px auto 42px;
  padding: 10px;
  background: #eef2f4;
  border: 1px solid #d3dde3;
  border-radius: 6px;
  box-shadow: 0 14px 34px rgba(5, 42, 68, .1);
}

.detail-video {
  display: block;
  width: 100%;
  max-height: 540px;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #071a26;
  border-radius: 3px;
}

.patent-premium-main { color: #092b43; background: #f4f7f8; }
.patent-premium-hero { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: end; min-height: 380px; padding: clamp(72px, 9vw, 126px) max(5vw, calc((100vw - 1180px) / 2)) 74px; color: #fff; background: linear-gradient(105deg, #042d4b 0%, #075b84 72%, #0c7698 100%); }
.patent-hero-copy { max-width: 760px; }
.patent-hero-copy > span, .patent-section-heading > span { color: #e2a820; font-size: 12px; font-weight: 800; }
.patent-hero-copy h1 { margin: 14px 0 18px; font-size: clamp(44px, 5vw, 72px); line-height: 1; }
.patent-hero-copy p { max-width: 760px; margin: 0; color: rgba(255, 255, 255, .82); font-size: 18px; line-height: 1.9; }
.patent-hero-note { display: grid; justify-items: end; padding-left: 30px; border-left: 1px solid rgba(255, 255, 255, .3); }
.patent-hero-note strong { font-size: 72px; line-height: 1; }
.patent-hero-note span { margin-top: 12px; color: rgba(255, 255, 255, .76); }
.patent-local-nav { position: sticky; z-index: 20; top: 0; display: grid; grid-template-columns: repeat(4, 1fr); width: min(1180px, calc(100% - 48px)); margin: -1px auto 0; background: rgba(255, 255, 255, .97); border: 1px solid #d5e0e6; box-shadow: 0 14px 34px rgba(5, 42, 68, .1); }
.patent-local-nav a { padding: 20px 16px; color: #173f5b; font-weight: 800; text-align: center; border-right: 1px solid #d5e0e6; }
.patent-local-nav a:last-child { border-right: 0; }
.patent-local-nav a:hover { color: #006a9d; background: #f3f8fa; }
.patent-stats-band { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(1180px, calc(100% - 48px)); margin: 70px auto; background: #fff; border-block: 1px solid #cfdae1; }
.patent-stats-band article { display: grid; min-height: 176px; align-content: center; padding: 28px 34px; border-right: 1px solid #cfdae1; }
.patent-stats-band article:last-child { border-right: 0; }
.patent-stats-band strong { color: #006b9d; font-size: 48px; line-height: 1; }
.patent-stats-band span { margin-top: 13px; font-size: 17px; font-weight: 800; }
.patent-stats-band small { margin-top: 6px; color: #687a87; }
.patent-qualification-section, .patent-core-section, .patent-list-section { padding: 78px max(24px, calc((100vw - 1180px) / 2)); scroll-margin-top: 74px; }
.patent-qualification-section { background: #eaf0f3; }
.patent-core-section { background: #fff; }
.patent-list-section { background: #edf2f4; }
.patent-section-heading { max-width: 760px; margin-bottom: 34px; }
.patent-section-heading h2 { margin: 9px 0 12px; color: #073450; font-size: clamp(30px, 3vw, 44px); line-height: 1.18; }
.patent-section-heading p { margin: 0; color: #5a6d7b; line-height: 1.8; }
.qualification-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.qualification-card { display: grid; grid-template-columns: 136px minmax(0, 1fr); min-width: 0; min-height: 168px; padding: 0; overflow: hidden; color: inherit; text-align: left; background: #fff; border: 1px solid #d3dee4; border-radius: 6px; box-shadow: 0 10px 28px rgba(5, 42, 68, .06); cursor: zoom-in; }
.qualification-card:hover { border-color: #5b94b4; transform: translateY(-2px); box-shadow: 0 16px 34px rgba(5, 42, 68, .12); }
.qualification-card-media { display: block; box-sizing: border-box; width: 136px; overflow: hidden; background: #f8fafb; border: 2px solid #9aabb5; }
.qualification-card-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.qualification-card-copy { display: grid; align-content: center; padding: 16px 14px; }
.qualification-card-copy small { display: none; }
.qualification-card-copy strong { color: #073450; font-size: 17px; line-height: 1.45; }
.qualification-card-copy span { margin-top: 9px; overflow: hidden; color: #657783; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.patent-core-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #cfdae1; border-left: 1px solid #cfdae1; }
.patent-core-card { position: relative; min-height: 286px; padding: 34px; border-right: 1px solid #cfdae1; border-bottom: 1px solid #cfdae1; }
.patent-core-index { position: absolute; top: 28px; right: 30px; color: #d7e0e5; font-size: 52px; font-weight: 800; }
.patent-core-card > small { color: #b77900; font-weight: 800; }
.patent-core-card h3 { max-width: 78%; margin: 12px 0; font-size: 25px; line-height: 1.35; }
.patent-core-card p { max-width: 86%; margin: 0; color: #5c6e7a; line-height: 1.75; }
.patent-core-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.patent-core-links button, .patent-view-button { padding: 8px 11px; color: #075b84; background: #f1f6f8; border: 1px solid #c5d7e1; border-radius: 4px; font-size: 12px; font-weight: 800; cursor: zoom-in; }
.patent-core-links button:hover, .patent-view-button:hover { color: #fff; background: #075b84; border-color: #075b84; }
.patent-list-tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.patent-search { flex: 1 1 280px; max-width: 360px; }
.patent-search input { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid #c8d5dc; border-radius: 4px; }
.patent-filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.patent-filter-tabs button { min-height: 42px; padding: 0 15px; color: #294b61; background: #fff; border: 1px solid #c9d6dd; border-radius: 4px; cursor: pointer; }
.patent-filter-tabs button span { margin-left: 3px; color: #7c8d98; font-size: 12px; }
.patent-filter-tabs button.is-active { color: #fff; background: #075b84; border-color: #075b84; }
.patent-filter-tabs button.is-active span { color: rgba(255, 255, 255, .72); }
.patent-table-wrap { overflow: hidden; background: #fff; border: 1px solid #cbd7de; border-radius: 5px; box-shadow: 0 12px 28px rgba(5, 42, 68, .06); }
.patent-list-table { width: 100%; border-collapse: collapse; }
.patent-list-table th { padding: 15px 18px; color: #fff; text-align: left; background: #06476d; }
.patent-list-table td { padding: 16px 18px; color: #425765; border-bottom: 1px solid #dce4e8; }
.patent-list-table tr:last-child td { border-bottom: 0; }
.patent-list-table tbody tr:hover { background: #f5f9fa; }
.patent-list-table td:first-child { width: 72px; color: #8796a0; }
.patent-list-table td:nth-child(2) { width: 32%; color: #153d57; }
.patent-type-badge { display: inline-flex; padding: 5px 9px; color: #4b5f6c; background: #edf1f3; border-radius: 3px; font-size: 12px; white-space: nowrap; }
.patent-number-link { display: inline-flex; gap: 7px; align-items: center; color: #006b9d; font-weight: 800; }
.patent-number-link:hover { color: #a36e08; }
.patent-no-results { padding: 46px 20px; color: #687a87; text-align: center; }
.patent-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 22px; }
.patent-pagination button { min-width: 38px; min-height: 38px; padding: 0 10px; color: #315166; background: #fff; border: 1px solid #c5d2d9; border-radius: 4px; cursor: pointer; }
.patent-pagination button.is-active { color: #fff; background: #075b84; border-color: #075b84; }
.patent-pagination button:disabled { opacity: .45; cursor: default; }
.patent-official-note { margin: 20px 0 0; color: #657783; font-size: 13px; line-height: 1.7; }
.patent-contact-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 62px max(24px, calc((100vw - 1180px) / 2)); color: #fff; background: #063b5d; }
.patent-contact-band span { color: #dfaa2d; font-size: 13px; font-weight: 800; }
.patent-contact-band h2 { margin: 9px 0 0; font-size: 30px; }
.patent-lightbox { width: min(1000px, 94vw); max-height: 94vh; padding: 52px 18px 18px; background: #eef2f4; border: 1px solid #bfccd3; border-radius: 6px; box-shadow: 0 30px 90px rgba(0, 22, 38, .38); }
.patent-lightbox::backdrop { background: rgba(0, 22, 38, .82); }
.patent-lightbox > strong { position: absolute; top: 18px; left: 20px; right: 62px; overflow: hidden; color: #073450; text-overflow: ellipsis; white-space: nowrap; }
.patent-lightbox img { display: block; width: 100%; max-height: calc(94vh - 78px); object-fit: contain; }
.patent-lightbox [data-patent-close] { position: absolute; top: 8px; right: 10px; width: 34px; height: 34px; color: #052f4e; background: #fff; border: 1px solid #bdcbd2; border-radius: 4px; font-size: 24px; line-height: 1; cursor: pointer; }

@media (max-width: 960px) {
  .patent-premium-hero { grid-template-columns: 1fr; }
  .patent-hero-note { justify-items: start; margin-top: 34px; padding: 24px 0 0; border-top: 1px solid rgba(255, 255, 255, .3); border-left: 0; }
  .patent-stats-band, .qualification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .patent-stats-band article:nth-child(2) { border-right: 0; }
  .patent-stats-band article:nth-child(-n+2) { border-bottom: 1px solid #cfdae1; }
  .qualification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .patent-list-tools { align-items: stretch; flex-direction: column; }
  .patent-search { max-width: none; }
  .detail-video-frame { width: min(100%, 820px); }
  .service-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-support-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-support-strip > * { border-bottom: 1px solid rgba(255, 255, 255, .16); }
}

@media (max-width: 600px) {
  .detail-hero-media, .detail-video-frame { margin-block: 20px 30px; }
  .detail-video-frame { padding: 5px; }
  .detail-video { max-height: 64vh; }
  .patent-premium-hero { min-height: auto; padding: 88px 20px 52px; }
  .patent-hero-copy h1 { font-size: 42px; }
  .patent-hero-copy p { font-size: 15px; }
  .patent-hero-note strong { font-size: 52px; }
  .patent-local-nav { position: static; grid-template-columns: repeat(2, 1fr); width: 100%; }
  .patent-local-nav a { border-bottom: 1px solid #d5e0e6; }
  .patent-stats-band { grid-template-columns: 1fr; width: calc(100% - 32px); margin: 40px auto; }
  .patent-stats-band article { min-height: 130px; border-right: 0; border-bottom: 1px solid #cfdae1; }
  .patent-stats-band article:last-child { border-bottom: 0; }
  .patent-qualification-section, .patent-core-section, .patent-list-section { padding: 54px 16px; }
  .qualification-grid, .patent-core-grid { grid-template-columns: 1fr; }
  .qualification-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 144px; }
  .qualification-card-media { width: 112px; }
  .patent-core-card { min-height: 250px; padding: 26px 22px; }
  .patent-core-card h3, .patent-core-card p { max-width: 100%; }
  .patent-filter-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .patent-filter-tabs button { padding-inline: 8px; }
  .patent-table-wrap { overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .patent-list-table, .patent-list-table tbody { display: grid; gap: 10px; }
  .patent-list-table thead { display: none; }
  .patent-list-table tr { display: grid; gap: 8px; padding: 16px; background: #fff; border: 1px solid #cbd7de; border-radius: 5px; }
  .patent-list-table tr[hidden] { display: none; }
  .patent-list-table td, .patent-list-table td:first-child, .patent-list-table td:nth-child(2) { display: grid; grid-template-columns: 76px minmax(0, 1fr); width: auto; padding: 0; border: 0; font-size: 13px; }
  .patent-list-table td::before { content: attr(data-label); color: #7a8b96; font-size: 12px; }
  .patent-contact-band { align-items: flex-start; flex-direction: column; padding: 46px 20px; }
  .patent-contact-band h2 { font-size: 25px; }
  .service-flow, .service-support-strip { grid-template-columns: 1fr; }
  .service-flow article { min-height: auto; }
  .service-support-strip > * { border-right: 0; }
}
.inquiry-consent {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}

.inquiry-consent input {
  width: 16px;
  height: 16px;
  margin: 3px 0 0;
}

.inquiry-consent a,
.contact-map-link {
  color: #0b5f92;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.assessment-route {
  display: grid;
  grid-template-columns: repeat(4, max-content 1fr) max-content;
  align-items: center;
  gap: 12px;
  margin: 18px 0 26px;
  padding: 16px 18px;
  color: #355166;
  background: #f4f7f8;
  border: 1px solid #d5dfe4;
  font-size: 13px;
  font-weight: 700;
}

.assessment-route i { height: 1px; background: #b8c7cf; }
.assessment-route strong { color: #9b6500; }

.assessment-files > span {
  margin-top: 6px;
  color: #617383;
  font-size: 13px;
  font-weight: 400;
}

.assessment-files input {
  padding: 10px;
  background: #f7f9fa;
}

.assessment-files output {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.assessment-files output span {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 10px;
  color: #355166;
  background: #edf3f5;
  border: 1px solid #d6e0e5;
  font-size: 12px;
  font-weight: 600;
}

.testing-intro,
.evidence-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 64px;
  align-items: end;
  margin: 34px 0;
  padding-bottom: 30px;
  border-bottom: 1px solid #cad7dd;
}

.testing-intro span,
.testing-band-head span,
.testing-output > div > span,
.testing-cta span,
.evidence-intro span,
.evidence-proof-band > div > span,
.evidence-pending > span {
  color: #a46c00;
  font-size: 12px;
  font-weight: 800;
}

.testing-intro h2,
.evidence-intro h2 {
  max-width: 760px;
  margin: 10px 0 0;
  color: #052f4e;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.2;
}

.testing-intro p,
.evidence-intro p {
  margin: 0;
  color: #536a7b;
  line-height: 1.85;
}

.testing-scenarios {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 58px;
  border: 1px solid #d3dee4;
}

.testing-scenarios article {
  min-height: 220px;
  padding: 24px;
  border-right: 1px solid #d3dee4;
}

.testing-scenarios article:last-child { border-right: 0; }
.testing-scenarios span { color: #b37a0b; font-weight: 800; }
.testing-scenarios h3 { margin: 42px 0 12px; color: #052f4e; font-size: 20px; }
.testing-scenarios p, .testing-grid p { color: #576d7c; line-height: 1.75; }

.testing-band {
  margin: 0 -24px;
  padding: 54px 24px;
  background: #eef3f5;
}

.testing-band-dark { color: #fff; background: #073b5c; }
.testing-band-head { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 26px; }
.testing-band-head h2 { max-width: 700px; margin: 0; color: #052f4e; font-size: 32px; }
.testing-band-dark .testing-band-head h2 { color: #fff; }
.testing-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #cbd7dd; }
.testing-grid article { min-height: 180px; padding: 24px 20px 18px 0; }
.testing-grid h3 { margin: 0 0 12px; color: #052f4e; font-size: 19px; }
.testing-band-dark .testing-grid { border-color: rgba(255,255,255,.25); }
.testing-band-dark .testing-grid h3 { color: #fff; }
.testing-band-dark .testing-grid p { color: #c7d8e2; }

.testing-output,
.testing-cta,
.evidence-proof-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
  gap: 64px;
  margin: 58px 0;
  align-items: start;
}

.testing-output h2,
.testing-cta h2,
.evidence-proof-band h2 {
  margin: 8px 0 12px;
  color: #052f4e;
  font-size: 30px;
}

.testing-output p, .evidence-proof-band p { color: #5a6f7e; line-height: 1.75; }
.testing-output ol { margin: 0; padding: 0; list-style: none; counter-reset: output; border-top: 1px solid #cbd7dd; }
.testing-output li { counter-increment: output; display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid #cbd7dd; color: #29495f; }
.testing-output li::before { content: counter(output, decimal-leading-zero); color: #a46c00; font-weight: 800; }
.testing-cta { align-items: center; padding: 30px; background: #eef3f5; border-left: 3px solid #c99221; }

.evidence-stage-list { border-top: 1px solid #cbd7dd; }
.evidence-stage-list article {
  display: grid;
  grid-template-columns: 68px minmax(220px, .85fr) minmax(260px, 1.15fr);
  gap: 28px;
  align-items: center;
  min-height: 124px;
  padding: 22px 0;
  border-bottom: 1px solid #cbd7dd;
}
.evidence-stage-list article > span { color: #b0780b; font-size: 20px; font-weight: 800; }
.evidence-stage-list h3 { margin: 0 0 8px; color: #052f4e; font-size: 21px; }
.evidence-stage-list p { margin: 0; color: #5d7180; }
.evidence-stage-list strong { color: #35556b; font-size: 14px; font-weight: 600; }
.evidence-proof-links { display: grid; border-top: 1px solid #cbd7dd; }
.evidence-proof-links a { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid #cbd7dd; color: #052f4e; }
.evidence-proof-links span { color: #607483; font-size: 13px; }
.evidence-pending { display: grid; grid-template-columns: 180px 1fr; gap: 28px; padding: 22px 0; border-block: 1px solid #cbd7dd; }
.evidence-pending p { margin: 0; color: #536b7b; }

@media (max-width: 960px) {
  .assessment-route { grid-template-columns: repeat(5, 1fr); }
  .assessment-route i { display: none; }
  .testing-intro, .evidence-intro, .testing-output, .testing-cta, .evidence-proof-band { grid-template-columns: 1fr; gap: 22px; }
  .testing-scenarios, .testing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testing-scenarios article:nth-child(2) { border-right: 0; }
  .testing-scenarios article:nth-child(-n+2) { border-bottom: 1px solid #d3dee4; }
}

@media (max-width: 600px) {
  .assessment-route { grid-template-columns: 1fr 1fr; }
  .assessment-route strong { grid-column: 1 / -1; }
  .testing-scenarios, .testing-grid { grid-template-columns: 1fr; }
  .testing-scenarios article { min-height: auto; border-right: 0; border-bottom: 1px solid #d3dee4; }
  .testing-scenarios h3 { margin-top: 22px; }
  .testing-band { margin-inline: -16px; padding-inline: 16px; }
  .testing-band-head { display: grid; }
  .evidence-stage-list article { grid-template-columns: 44px 1fr; gap: 12px; }
  .evidence-stage-list strong { grid-column: 2; }
  .evidence-pending { grid-template-columns: 1fr; }
}
/* Delivery and after-sales assurance */
.service-assurance-page {
  background: #f4f7f9;
  color: #0a2842;
}

.service-assurance-page main {
  overflow: hidden;
}

.service-assurance-hero {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #073555;
}

.service-assurance-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  animation: service-hero-drift 18s ease-in-out infinite alternate;
}

.service-assurance-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 35, 59, .94) 0%, rgba(3, 43, 73, .78) 45%, rgba(3, 43, 73, .25) 78%, rgba(3, 43, 73, .1) 100%);
}

.service-assurance-hero-copy {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 96px));
  margin: 0 auto;
  color: #fff;
}

.service-assurance-hero-copy > span,
.service-story-head > span,
.service-verification-copy > span,
.service-request-intro > span {
  display: block;
  margin-bottom: 18px;
  color: #e7ad29;
  font-size: 13px;
  font-weight: 800;
}

.service-assurance-hero-copy h1 {
  max-width: 760px;
  margin: 0;
  font-size: 58px;
  line-height: 1.08;
  letter-spacing: 0;
}

.service-assurance-hero-copy > p {
  max-width: 690px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: 19px;
  line-height: 1.9;
}

.service-assurance-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 34px;
}

.service-hero-link {
  color: #fff;
  font-weight: 700;
}

.service-assurance-nav {
  position: sticky;
  top: 0;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  width: min(1180px, calc(100% - 96px));
  margin: -34px auto 0;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #cfdae3;
  box-shadow: 0 14px 30px rgba(5, 42, 70, .11);
  backdrop-filter: blur(12px);
}

.service-assurance-nav a {
  min-height: 68px;
  display: grid;
  place-items: center;
  color: #123653;
  font-weight: 700;
  border-right: 1px solid #d9e2e9;
}

.service-assurance-nav a:last-child {
  border-right: 0;
}

.service-assurance-nav a:hover,
.service-assurance-nav a:focus-visible {
  color: #b87600;
  background: #f7fafc;
}

.service-commitments {
  width: min(1180px, calc(100% - 96px));
  margin: 72px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #cbd8e1;
  border-bottom: 1px solid #cbd8e1;
}

.service-commitments article {
  padding: 32px 28px;
  border-right: 1px solid #cbd8e1;
}

.service-commitments article:last-child {
  border-right: 0;
}

.service-commitments strong {
  display: block;
  color: #07395f;
  font-size: 38px;
  line-height: 1;
}

.service-commitments span {
  display: block;
  margin-top: 12px;
  color: #536b7f;
}

.service-story {
  width: min(1180px, calc(100% - 96px));
  margin: 112px auto;
}

.service-story-head {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) 1.2fr;
  column-gap: 80px;
  align-items: end;
  margin-bottom: 46px;
}

.service-story-head > span {
  grid-column: 1 / -1;
}

.service-story-head h2,
.service-verification-copy h2,
.service-request-intro h2 {
  margin: 0;
  color: #082b48;
  font-size: 42px;
  line-height: 1.18;
  letter-spacing: 0;
}

.service-story-head p,
.service-verification-copy > p,
.service-request-intro > p {
  margin: 0;
  color: #51697c;
  font-size: 17px;
  line-height: 1.85;
}

.service-delivery-flow {
  border-top: 1px solid #bdcbd6;
}

.service-delivery-flow article {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 22px;
  padding: 30px 0;
  border-bottom: 1px solid #d5dfe6;
}

.service-delivery-flow article > span {
  color: #c48200;
  font-size: 14px;
  font-weight: 800;
}

.service-delivery-flow article > div {
  display: grid;
  grid-template-columns: 250px minmax(260px, 1fr) 260px;
  align-items: baseline;
  gap: 34px;
}

.service-delivery-flow h3,
.service-support-grid h3,
.service-response-flow h3,
.service-verification-copy article h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
}

.service-delivery-flow p,
.service-support-grid p,
.service-response-flow p,
.service-verification-copy article p {
  margin: 0;
  color: #536b7d;
  line-height: 1.75;
}

.service-delivery-flow strong {
  color: #123d5c;
  font-size: 14px;
  line-height: 1.65;
}

.service-verification {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  min-height: 760px;
  background: #073858;
  color: #fff;
}

.service-verification-media {
  min-height: 620px;
}

.service-verification-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-verification-copy {
  align-self: center;
  padding: 72px max(48px, calc((100vw - 1180px) / 2));
}

.service-verification-copy h2 {
  color: #fff;
}

.service-verification-copy > p {
  margin-top: 24px;
  color: rgba(255, 255, 255, .72);
}

.service-verification-copy > div {
  margin: 38px 0 26px;
  border-top: 1px solid rgba(255, 255, 255, .22);
}

.service-verification-copy article {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.service-verification-copy article p {
  margin-top: 8px;
  color: rgba(255, 255, 255, .7);
}

.service-verification-copy .text-link {
  color: #fff;
}

.service-document-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #c8d4dd;
  border-left: 1px solid #c8d4dd;
}

.service-document-grid > div {
  min-height: 150px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid #c8d4dd;
  border-bottom: 1px solid #c8d4dd;
  background: #fff;
}

.service-document-grid span {
  color: #c48200;
  font-size: 13px;
  font-weight: 800;
}

.service-document-grid strong {
  font-size: 19px;
}

.service-support-band {
  padding: 108px max(48px, calc((100vw - 1180px) / 2));
  background: #eaf0f4;
}

.service-support-band .service-story-head {
  margin-left: auto;
  margin-right: auto;
}

.service-support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #bccbd6;
  border-left: 1px solid #bccbd6;
}

.service-support-grid article {
  min-height: 190px;
  padding: 30px;
  background: rgba(255, 255, 255, .58);
  border-right: 1px solid #bccbd6;
  border-bottom: 1px solid #bccbd6;
}

.service-support-grid p {
  margin-top: 16px;
}

.service-response-flow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 76px;
  border-top: 3px solid #0a466e;
}

.service-response-flow article {
  position: relative;
  padding: 30px 22px 0 0;
}

.service-response-flow article::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #d39410;
  border: 3px solid #eaf0f4;
}

.service-response-flow span {
  color: #bd7e00;
  font-size: 13px;
  font-weight: 800;
}

.service-response-flow h3 {
  margin-top: 14px;
}

.service-response-flow p {
  margin-top: 12px;
  font-size: 14px;
}

.service-faq-band {
  width: min(1180px, calc(100% - 96px));
  margin: 112px auto;
}

.service-faq-list {
  margin-bottom: 26px;
  border-top: 1px solid #bccbd6;
}

.service-faq-list details {
  border-bottom: 1px solid #cbd7df;
}

.service-faq-list summary {
  min-height: 82px;
  display: grid;
  grid-template-columns: 64px 1fr;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

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

.service-faq-list summary span {
  color: #c48200;
  font-size: 13px;
  font-weight: 800;
}

.service-faq-list summary strong {
  position: relative;
  padding-right: 40px;
  font-size: 19px;
}

.service-faq-list summary strong::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  color: #0b456c;
  font-size: 24px;
}

.service-faq-list details[open] summary strong::after {
  content: "−";
}

.service-faq-list details > p {
  max-width: 900px;
  margin: -4px 0 28px 64px;
  color: #536b7d;
  line-height: 1.85;
}

.service-request-band {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(560px, 1.28fr);
  gap: 70px;
  padding: 112px max(48px, calc((100vw - 1180px) / 2));
  background: #fff;
}

.service-request-intro > p {
  margin-top: 24px;
}

.service-request-intro > div {
  margin-top: 44px;
  padding-top: 26px;
  border-top: 1px solid #c9d5dd;
}

.service-request-intro strong,
.service-request-intro small {
  display: block;
  color: #627789;
}

.service-request-intro a {
  display: block;
  margin: 8px 0;
  color: #07395f;
  font-size: 30px;
  font-weight: 800;
}

.service-request-form {
  padding: 38px;
  background: #f2f6f8;
  border: 1px solid #cbd8e1;
  border-radius: 6px;
}

.service-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.service-form-grid label {
  display: grid;
  gap: 9px;
  color: #163d5b;
  font-weight: 700;
}

.service-form-grid label.wide {
  grid-column: 1 / -1;
}

.service-form-grid label > span {
  font-size: 14px;
}

.service-form-grid em {
  margin-right: 5px;
  color: #c94b38;
  font-style: normal;
}

.service-form-grid input,
.service-form-grid select,
.service-form-grid textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #b9cad6;
  border-radius: 4px;
  background: #fff;
  color: #0a2842;
  font: inherit;
}

.service-form-grid textarea {
  min-height: 150px;
  resize: vertical;
}

.service-form-grid input:focus,
.service-form-grid select:focus,
.service-form-grid textarea:focus {
  outline: 2px solid rgba(9, 79, 121, .18);
  border-color: #0a527d;
}

.service-request-files {
  padding: 20px;
  border: 1px dashed #9db3c2;
  background: #fff;
}

.service-request-files small,
.service-request-files > b {
  color: #6b7e8d;
  font-size: 12px;
  font-weight: 500;
}

.service-request-files output {
  display: grid;
  gap: 8px;
}

.service-request-files output span {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 10px;
  background: #edf3f6;
}

.service-form-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  margin-top: 24px;
}

.service-form-submit p {
  max-width: 430px;
  margin: 0;
  color: #647989;
  font-size: 13px;
  line-height: 1.65;
}

.service-request-form .form-status {
  min-height: 24px;
  margin: 16px 0 0;
  color: #0c5d46;
  font-weight: 700;
}

.service-reveal.is-reveal-ready {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s ease, transform .65s ease;
}

.service-reveal.is-reveal-ready.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes service-hero-drift {
  from { transform: scale(1); }
  to { transform: scale(1.035); }
}

@media (max-width: 980px) {
  .service-assurance-hero {
    min-height: 560px;
  }

  .service-assurance-hero-copy,
  .service-assurance-nav,
  .service-commitments,
  .service-story,
  .service-faq-band {
    width: min(100% - 48px, 760px);
  }

  .service-assurance-hero-copy h1 {
    font-size: 48px;
  }

  .service-story-head,
  .service-verification,
  .service-request-band {
    grid-template-columns: 1fr;
  }

  .service-story-head {
    gap: 16px;
  }

  .service-delivery-flow article > div {
    grid-template-columns: 1fr 1.5fr;
  }

  .service-delivery-flow article > div strong {
    grid-column: 2;
  }

  .service-verification-media {
    min-height: 520px;
  }

  .service-verification-copy,
  .service-support-band,
  .service-request-band {
    padding-left: 32px;
    padding-right: 32px;
  }

  .service-document-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-support-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-response-flow {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 38px;
  }

  .service-request-band {
    gap: 46px;
  }
}

@media (max-width: 640px) {
  .service-assurance-hero {
    min-height: 520px;
  }

  .service-assurance-hero > img {
    object-position: 60% center;
  }

  .service-assurance-overlay {
    background: rgba(3, 39, 66, .82);
  }

  .service-assurance-hero-copy,
  .service-commitments,
  .service-story,
  .service-faq-band {
    width: calc(100% - 32px);
  }

  .service-assurance-hero-copy h1 {
    font-size: 39px;
  }

  .service-assurance-hero-copy > p {
    font-size: 16px;
    line-height: 1.75;
  }

  .service-assurance-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .service-assurance-nav {
    width: 100%;
    margin-top: 0;
    overflow-x: auto;
    grid-template-columns: repeat(5, minmax(112px, 1fr));
    border-left: 0;
    border-right: 0;
  }

  .service-commitments {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 52px;
  }

  .service-commitments article:nth-child(2) {
    border-right: 0;
  }

  .service-commitments article:nth-child(-n+2) {
    border-bottom: 1px solid #cbd8e1;
  }

  .service-commitments strong {
    font-size: 30px;
  }

  .service-story {
    margin-top: 76px;
    margin-bottom: 76px;
  }

  .service-faq-list summary {
    grid-template-columns: 42px 1fr;
  }

  .service-faq-list details > p {
    margin-left: 42px;
  }

  .service-story-head h2,
  .service-verification-copy h2,
  .service-request-intro h2 {
    font-size: 32px;
  }

  .service-delivery-flow article {
    grid-template-columns: 42px 1fr;
  }

  .service-delivery-flow article > div {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service-delivery-flow article > div strong {
    grid-column: auto;
  }

  .service-verification-media {
    min-height: 360px;
  }

  .service-verification-copy,
  .service-support-band,
  .service-request-band {
    padding: 72px 16px;
  }

  .service-document-grid,
  .service-support-grid {
    grid-template-columns: 1fr;
  }

  .service-document-grid > div {
    min-height: 110px;
  }

  .service-response-flow {
    grid-template-columns: 1fr;
    margin-top: 58px;
    border-top: 0;
    border-left: 3px solid #0a466e;
  }

  .service-response-flow article {
    padding: 0 0 30px 28px;
  }

  .service-response-flow article::before {
    top: 3px;
    left: -8px;
  }

  .service-form-grid {
    grid-template-columns: 1fr;
  }

  .service-form-grid label.wide {
    grid-column: auto;
  }

  .service-request-form {
    padding: 22px 16px;
  }

  .service-form-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .service-form-submit .primary-action {
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-assurance-hero > img {
    animation: none;
  }

  .service-reveal.is-reveal-ready {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* Approved showcase homepage. All selectors stay inside the homepage namespace. */
.xunli-homepage .xunli-showcase-home {
  --showcase-shell: min(1180px, calc(100% - 48px));
  color: var(--ink);
  background: #fff;
}

.xunli-homepage .showcase-shell {
  width: var(--showcase-shell);
  margin-inline: auto;
}

.xunli-homepage .showcase-hero {
  height: clamp(440px, 54vh, 540px);
  min-height: 440px;
}

.xunli-homepage .showcase-hero .hero-overlay {
  background: linear-gradient(90deg, rgba(2, 24, 43, .88) 0%, rgba(2, 35, 62, .68) 47%, rgba(2, 31, 54, .14) 78%);
}

.xunli-homepage .showcase-hero .hero-content {
  width: min(680px, calc(100% - 48px));
  min-height: 100%;
  margin-inline: max(24px, calc((100% - 1180px) / 2));
  padding: 42px 0 38px;
}

.xunli-homepage .showcase-hero h1 {
  max-width: 630px;
  margin-bottom: 16px;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.1;
}

.xunli-homepage .showcase-hero p {
  max-width: 610px;
  font-size: 16px;
  line-height: 1.75;
}

.xunli-homepage .showcase-hero .hero-actions { margin-top: 24px; }
.xunli-homepage .showcase-hero .primary-action,
.xunli-homepage .showcase-hero .secondary-action { min-height: 44px; border-radius: 2px; }

.xunli-homepage .showcase-hero .hero-metrics {
  max-width: 560px;
  margin-top: 26px;
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.18);
}

.xunli-homepage .showcase-hero .hero-metrics div {
  padding: 11px 15px;
  background: rgba(1, 33, 57, .72);
}

.xunli-homepage .showcase-hero .hero-metrics dt { font-size: 22px; }
.xunli-homepage .showcase-hero .hero-metrics dd { font-size: 11px; }

.xunli-homepage .capability-summary-section {
  padding: 24px max(24px, calc((100% - 1180px) / 2));
  background: #eef3f6;
}

.xunli-homepage .capability-summary-band {
  width: 100%;
  grid-template-columns: minmax(250px, 1fr) auto auto;
  gap: 24px;
}

.xunli-homepage .capability-summary-copy { display: flex; align-items: baseline; gap: 18px; }
.xunli-homepage .capability-summary-copy .eyebrow { margin: 0; white-space: nowrap; }
.xunli-homepage .capability-summary-copy h2 { margin: 0; font-size: 20px; white-space: nowrap; }
.xunli-homepage .capability-summary-copy p { display: none; }
.xunli-homepage .capability-summary-points { display: flex; gap: 18px; }
.xunli-homepage .capability-summary-points span { color: #50616e; font-size: 12px; font-weight: 700; white-space: nowrap; }

.xunli-homepage .showcase-section { padding: 78px 0; }
.xunli-homepage .showcase-section:nth-of-type(even) { background: #f3f6f8; }

.xunli-homepage .showcase-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 30px;
}

.xunli-homepage .showcase-section-head > div { max-width: 760px; }
.xunli-homepage .showcase-section-head h2,
.xunli-homepage .showcase-proof-panel h2,
.xunli-homepage .showcase-news-panel h2,
.xunli-homepage .showcase-about-card h2,
.xunli-homepage .showcase-form-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.xunli-homepage .showcase-section-head p,
.xunli-homepage .showcase-proof-panel header p,
.xunli-homepage .showcase-news-panel header p,
.xunli-homepage .showcase-about-card > p,
.xunli-homepage .showcase-form-heading p {
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.75;
}

.xunli-homepage .showcase-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.xunli-homepage .showcase-product-card {
  min-width: 0;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid #d8e0e5;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}

.xunli-homepage .showcase-product-card:hover { border-color: #94aabc; transform: translateY(-2px); }
.xunli-homepage .showcase-product-card:focus-visible,
.xunli-homepage .showcase-case-card:focus-visible,
.xunli-homepage .showcase-news-card:focus-visible,
.xunli-homepage .showcase-proof-item:focus-visible { outline: 3px solid rgba(12, 98, 177, .28); outline-offset: 3px; }

.xunli-homepage .showcase-product-media {
  height: 260px;
  padding: 22px;
  display: grid;
  place-items: center;
  background: #f3f5f6;
}

.xunli-homepage .showcase-product-media img { width: 100%; height: 100%; object-fit: contain; }
.xunli-homepage .showcase-product-copy { padding: 22px; display: block; }
.xunli-homepage .showcase-product-copy h3 { margin: 0; color: var(--navy); font-size: 21px; line-height: 1.35; }
.xunli-homepage .showcase-product-copy p { min-height: 3.4em; margin: 10px 0 18px; color: var(--muted); line-height: 1.7; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.xunli-homepage .showcase-product-copy strong,
.xunli-homepage .showcase-case-copy > strong,
.xunli-homepage .showcase-news-copy > strong { color: var(--steel); font-size: 13px; }

.xunli-homepage .showcase-case { background: #f3f6f8; }
.xunli-homepage .showcase-case-card {
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(0, 1.05fr);
  min-height: 390px;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid #d8e0e5;
  text-decoration: none;
}

.xunli-homepage .showcase-case-media { min-height: 360px; background: #e9eef1; }
.xunli-homepage .showcase-case-media img { width: 100%; height: 100%; object-fit: cover; }
.xunli-homepage .showcase-case-copy { padding: 34px 38px; display: flex; flex-direction: column; justify-content: center; }
.xunli-homepage .showcase-case-copy h3 { margin: 0; color: var(--navy); font-size: clamp(25px, 2.4vw, 34px); line-height: 1.3; }
.xunli-homepage .showcase-case-copy > p { margin: 13px 0 22px; color: var(--muted); line-height: 1.75; }
.xunli-homepage .showcase-case-copy dl { margin: 0 0 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
.xunli-homepage .showcase-case-copy dt { color: #71808b; font-size: 11px; }
.xunli-homepage .showcase-case-copy dd { margin: 3px 0 0; color: #243746; font-weight: 700; overflow-wrap: anywhere; }

.xunli-homepage .showcase-proof-news { background: #fff; }
.xunli-homepage .showcase-pair-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.xunli-homepage .showcase-proof-panel,
.xunli-homepage .showcase-news-panel { min-width: 0; padding: 34px; display: flex; flex-direction: column; background: #f3f6f8; border: 1px solid #d8e0e5; }
.xunli-homepage .showcase-proof-panel h2,
.xunli-homepage .showcase-news-panel h2 { font-size: clamp(25px, 2.4vw, 32px); }
.xunli-homepage .showcase-proof-list { margin: 24px 0; border-top: 1px solid #d5dee4; }
.xunli-homepage .showcase-proof-item { padding: 14px 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) 18px; gap: 10px; align-items: center; color: inherit; border-bottom: 1px solid #d5dee4; text-decoration: none; }
.xunli-homepage .showcase-proof-item > span:first-child { color: var(--steel); font-size: 11px; font-weight: 800; }
.xunli-homepage .showcase-proof-item strong,
.xunli-homepage .showcase-proof-item small { display: block; }
.xunli-homepage .showcase-proof-item small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.xunli-homepage .showcase-proof-item b { color: var(--steel); }
.xunli-homepage .showcase-proof-panel > .text-link,
.xunli-homepage .showcase-news-panel > .text-link { margin-top: auto; padding-top: 18px; }
.xunli-homepage .showcase-news-panel > div { margin: 24px 0 0; }
.xunli-homepage .showcase-news-card { display: block; overflow: hidden; color: inherit; background: #fff; border: 1px solid #d8e0e5; text-decoration: none; }
.xunli-homepage .showcase-news-media { height: 220px; display: block; overflow: hidden; background: #e9eef1; }
.xunli-homepage .showcase-news-media img { width: 100%; height: 100%; object-fit: cover; }
.xunli-homepage .showcase-news-copy { padding: 22px; display: block; }
.xunli-homepage .showcase-news-copy time { color: var(--steel); font-size: 12px; font-weight: 800; }
.xunli-homepage .showcase-news-copy h3 { margin: 8px 0; color: var(--navy); font-size: 20px; line-height: 1.4; }
.xunli-homepage .showcase-news-copy p { margin: 0 0 16px; color: var(--muted); line-height: 1.65; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.xunli-homepage .showcase-about-inquiry { background: #f3f6f8; }
.xunli-homepage .showcase-about-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 18px; align-items: stretch; }
.xunli-homepage .showcase-about-card { padding: 38px 34px; display: flex; flex-direction: column; background: var(--steel-dark); color: #fff; }
.xunli-homepage .showcase-about-card h2 { color: #fff; }
.xunli-homepage .showcase-about-card > p { color: rgba(255,255,255,.74); }
.xunli-homepage .showcase-about-card > .text-link { margin-top: 22px; color: #fff; }
.xunli-homepage .showcase-about-card dl { margin: auto 0 0; padding-top: 34px; }
.xunli-homepage .showcase-about-card dl div { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.16); }
.xunli-homepage .showcase-about-card dt { color: rgba(255,255,255,.58); font-size: 11px; }
.xunli-homepage .showcase-about-card dd { margin: 3px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.xunli-homepage .showcase-inquiry-form { padding: 34px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; border-radius: 0; box-shadow: none; }
.xunli-homepage .showcase-form-heading,
.xunli-homepage .showcase-form-wide { grid-column: 1 / -1; }
.xunli-homepage .showcase-form-heading { margin-bottom: 6px; }
.xunli-homepage .showcase-form-heading h2 { font-size: 30px; }
.xunli-homepage .showcase-inquiry-form textarea { min-height: 92px; }
.xunli-homepage .showcase-inquiry-form button { min-height: 46px; width: min(260px, 100%); border-radius: 2px; }

.xunli-homepage .showcase-footer { --showcase-shell: min(1180px, calc(100% - 48px)); }
.showcase-footer { background: #e9eef1; border-top: 1px solid #d5dde3; }
.showcase-footer .showcase-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.showcase-footer-main { padding: 58px 0 48px; display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 34px; }
.showcase-footer-brand img { width: 145px; height: auto; object-fit: contain; }
.showcase-footer-brand p { max-width: 250px; margin: 20px 0 12px; color: #5f6e79; font-size: 12px; line-height: 1.75; }
.showcase-footer-brand > span { color: #71808b; font-size: 12px; line-height: 1.65; }
.showcase-footer-column { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 11px; }
.showcase-footer-column h2 { margin: 0 0 7px; color: #253746; font-size: 13px; }
.showcase-footer-column a,
.showcase-footer-column span { color: #60707c; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.showcase-footer-column a:hover { color: var(--steel); }
.showcase-footer-contact a:first-of-type { color: var(--steel-dark); font-size: 15px; font-weight: 800; }
.showcase-footer-legal { border-top: 1px solid #cfd8de; }
.showcase-footer-legal > div { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.showcase-footer-legal p { margin: 0; color: #71808b; font-size: 11px; }
.showcase-footer-legal > div > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; }
.showcase-footer-legal a,
.showcase-footer-legal span { color: #667681; font-size: 11px; }

@media (max-width: 900px) {
  .xunli-homepage .xunli-showcase-home { --showcase-shell: min(100% - 36px, 760px); }
  .xunli-homepage .showcase-hero { height: 500px; min-height: 0; }
  .xunli-homepage .showcase-hero .hero-content { width: calc(100% - 44px); margin-inline: 22px; }
  .xunli-homepage .capability-summary-section { padding-inline: 22px; }
  .xunli-homepage .capability-summary-band { grid-template-columns: 1fr auto; }
  .xunli-homepage .capability-summary-points { grid-column: 1 / -1; }
  .xunli-homepage .showcase-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xunli-homepage .showcase-case-card { grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr); }
  .xunli-homepage .showcase-case-copy { padding: 28px; }
  .xunli-homepage .showcase-pair-grid { gap: 14px; }
  .xunli-homepage .showcase-proof-panel,
  .xunli-homepage .showcase-news-panel { padding: 26px; }
  .xunli-homepage .showcase-about-grid { grid-template-columns: 2fr 3fr; gap: 14px; }
  .xunli-homepage .showcase-about-card,
  .xunli-homepage .showcase-inquiry-form { padding: 28px; }
  .showcase-footer-main { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .showcase-footer-brand { grid-column: 1 / -1; display: grid; grid-template-columns: 150px 1fr 1fr; gap: 24px; align-items: start; }
  .showcase-footer-brand p { margin: 0; }
}

@media (max-width: 680px) {
  .xunli-homepage .xunli-showcase-home { --showcase-shell: calc(100% - 28px); }
  .xunli-homepage .showcase-hero { height: 440px; }
  .xunli-homepage .showcase-hero .hero-content { width: calc(100% - 28px); margin-inline: 14px; padding-block: 28px; }
  .xunli-homepage .showcase-hero h1 { font-size: 34px; }
  .xunli-homepage .showcase-hero p { font-size: 14px; line-height: 1.65; }
  .xunli-homepage .showcase-hero .hero-actions { gap: 8px; margin-top: 18px; }
  .xunli-homepage .showcase-hero .primary-action,
  .xunli-homepage .showcase-hero .secondary-action { min-height: 40px; padding-inline: 14px; font-size: 12px; }
  .xunli-homepage .showcase-hero .hero-metrics { margin-top: 20px; }
  .xunli-homepage .showcase-hero .hero-metrics div { padding: 8px; }
  .xunli-homepage .showcase-hero .hero-metrics dt { font-size: 17px; }
  .xunli-homepage .showcase-hero .hero-metrics dd { font-size: 9px; line-height: 1.35; }
  .xunli-homepage .capability-summary-section { padding: 22px 14px; }
  .xunli-homepage .capability-summary-band { display: block; }
  .xunli-homepage .capability-summary-copy { display: block; }
  .xunli-homepage .capability-summary-copy h2 { white-space: normal; }
  .xunli-homepage .capability-summary-points { margin-top: 14px; display: grid; gap: 7px; }
  .xunli-homepage .capability-summary-band > .text-link { display: inline-block; margin-top: 14px; }
  .xunli-homepage .showcase-section { padding: 54px 0; }
  .xunli-homepage .showcase-section-head { display: block; margin-bottom: 22px; }
  .xunli-homepage .showcase-section-head > .text-link { display: inline-block; margin-top: 14px; }
  .xunli-homepage .showcase-product-grid,
  .xunli-homepage .showcase-pair-grid,
  .xunli-homepage .showcase-about-grid { grid-template-columns: 1fr; }
  .xunli-homepage .showcase-product-media { height: 220px; }
  .xunli-homepage .showcase-product-copy p { min-height: 0; }
  .xunli-homepage .showcase-case-card { grid-template-columns: 1fr; }
  .xunli-homepage .showcase-case-media { min-height: 230px; height: 230px; }
  .xunli-homepage .showcase-case-copy { padding: 24px 20px; }
  .xunli-homepage .showcase-case-copy dl { grid-template-columns: 1fr; }
  .xunli-homepage .showcase-proof-panel,
  .xunli-homepage .showcase-news-panel,
  .xunli-homepage .showcase-about-card,
  .xunli-homepage .showcase-inquiry-form { padding: 24px 20px; }
  .xunli-homepage .showcase-inquiry-form { grid-template-columns: 1fr; }
  .xunli-homepage .showcase-inquiry-form > * { grid-column: 1; }
  .showcase-footer .showcase-shell { width: calc(100% - 28px); }
  .showcase-footer-main { padding: 44px 0 34px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; }
  .showcase-footer-brand { grid-column: 1 / -1; display: block; }
  .showcase-footer-brand p { margin-top: 18px; }
  .showcase-footer-legal > div { padding: 18px 0; display: block; }
  .showcase-footer-legal > div > div { margin-top: 12px; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .xunli-homepage .showcase-product-card { transition: none; }
}

/* Brand showcase homepage v2 — approved prototype translation */
body.xunli-homepage {
  --motion-fast: 180ms;
  --motion-base: 420ms;
  --motion-slow: 600ms;
  --motion-distance: 16px;
  --motion-stagger: 60ms;
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
}
.xunli-showcase-home,
.showcase-v2-footer {
  --showcase-v2-blue: #0a55a0;
  --showcase-v2-blue-dark: #073766;
  --showcase-v2-ink: #14202b;
  --showcase-v2-muted: #5e6b76;
  --showcase-v2-line: #dfe5ea;
  --showcase-v2-soft: #f3f6f8;
  --showcase-v2-shell: min(1240px, calc(100% - 64px));
  color: var(--showcase-v2-ink);
  background: #fff;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}
.showcase-v2-shell { width: var(--showcase-v2-shell); margin-inline: auto; }
.xunli-showcase-home .showcase-v2-eyebrow { margin: 0 0 14px; color: var(--showcase-v2-blue); font-size: 11px; font-weight: 800; letter-spacing: .18em; }

.showcase-v2-hero { height: clamp(450px, 52vh, 520px); min-height: 450px; position: relative; overflow: hidden; background: #12293b; }
.showcase-v2-hero-image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 47%; }
.showcase-v2-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,22,36,.82) 0%, rgba(4,22,36,.58) 42%, rgba(4,22,36,.12) 74%); }
.showcase-v2-hero-content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 5px; color: #fff; }
.xunli-showcase-home .showcase-v2-hero-content .showcase-v2-eyebrow { color: #a9c7e3; }
.showcase-v2-hero h1 { max-width: 650px; margin: 0; color: #fff; font-size: clamp(40px, 4vw, 58px); line-height: 1.12; letter-spacing: -.035em; font-weight: 700; }
.showcase-v2-hero-content > p:not(.showcase-v2-eyebrow) { max-width: 610px; margin: 20px 0 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.8; }
.showcase-v2-hero-content > div { display: flex; gap: 12px; margin-top: 27px; }
.showcase-v2-button { min-height: 47px; padding: 0 21px; display: inline-flex; align-items: center; gap: 32px; border: 1px solid transparent; color: #fff; font-size: 14px; font-weight: 700; transition: color var(--motion-fast) var(--motion-ease), background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease); }
.showcase-v2-button span { font-size: 18px; font-weight: 400; transition: transform var(--motion-fast) var(--motion-ease); }
.showcase-v2-button.primary { background: var(--showcase-v2-blue); }
.showcase-v2-button.ghost { border-color: rgba(255,255,255,.55); background: rgba(0,0,0,.06); }

.showcase-v2-brand-strip { background: #f4f7f9; border-bottom: 1px solid var(--showcase-v2-line); }
.showcase-v2-brand-inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.showcase-v2-brand-inner > p { margin: 0; font-size: clamp(17px, 1.55vw, 22px); line-height: 1.55; font-weight: 700; letter-spacing: -.015em; }
.showcase-v2-certifications { flex: 0 0 auto; padding-left: 34px; display: flex; align-items: center; gap: 13px; border-left: 1px solid #cfd9e1; }
.showcase-v2-certifications span { color: var(--showcase-v2-muted); font-size: 10px; letter-spacing: .08em; }
.showcase-v2-certifications b { color: var(--showcase-v2-blue-dark); font-size: 13px; white-space: nowrap; }
.showcase-v2-certifications i { width: 3px; height: 3px; border-radius: 50%; background: #90a0ad; }

.showcase-v2-section { padding: 92px 0; }
.showcase-v2-section-heading,
.showcase-v2-case-heading { margin-bottom: 38px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 48px; }
.showcase-v2-section-heading h2,
.showcase-v2-case-heading h2,
.showcase-v2-video-heading h2 { margin: 0; color: var(--showcase-v2-ink); font-size: clamp(30px, 3vw, 42px); line-height: 1.2; letter-spacing: -.035em; }
.showcase-v2-section-heading > p,
.showcase-v2-case-heading > p,
.showcase-v2-video-heading > p { max-width: 500px; margin: 0; color: var(--showcase-v2-muted); font-size: 14px; line-height: 1.8; }
.showcase-v2-section-heading > a,
.showcase-v2-case-heading > a { color: var(--showcase-v2-blue); font-size: 13px; font-weight: 700; white-space: nowrap; }
.showcase-v2-section-heading > a span { margin-left: 16px; }

.showcase-v2-product-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.showcase-v2-product-card,
.showcase-v2-auxiliary-card { grid-column: span 2; min-width: 0; }
.showcase-v2-product-card { display: block; border: 1px solid var(--showcase-v2-line); background: #fff; transition: transform var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease); }
.showcase-v2-product-card:focus-visible,
.showcase-v2-case-row:focus-visible,
.showcase-v2-video-card a:focus-visible,
.showcase-v2-video-poster:focus-visible { outline: 3px solid rgba(10,85,160,.28); outline-offset: 3px; }
.showcase-v2-product-media { height: 275px; padding: 25px; display: grid; place-items: center; overflow: hidden; background: var(--showcase-v2-soft); }
.showcase-v2-product-media img { width: 100%; height: 100%; object-fit: contain; transition: transform var(--motion-fast) var(--motion-ease); }
.showcase-v2-product-copy { padding: 22px 20px 24px; display: block; }
.showcase-v2-performance { display: flex; align-items: baseline; gap: 8px; color: var(--showcase-v2-blue); }
.showcase-v2-performance strong { font-size: 27px; line-height: 1.1; letter-spacing: -.03em; }
.showcase-v2-performance em { color: var(--showcase-v2-muted); font-size: 10px; font-style: normal; font-weight: 700; }
.showcase-v2-product-function { min-height: 48px; margin-top: 13px; display: -webkit-box; overflow: hidden; color: var(--showcase-v2-ink); font-size: 16px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.showcase-v2-product-highlight { min-height: 32px; margin-top: 12px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; }
.showcase-v2-product-highlight b { padding: 7px 9px; border: 1px solid #c9d9e6; background: #f1f6fa; color: var(--showcase-v2-blue-dark); font-size: 11px; line-height: 1.25; }
.showcase-v2-product-name { margin-top: 17px; padding-top: 13px; display: block; border-top: 1px solid var(--showcase-v2-line); color: #65727c; font-size: 11px; line-height: 1.5; }
.showcase-v2-auxiliary-card { padding: 34px 32px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid #c8d8e5; background: #edf4f9; }
.showcase-v2-auxiliary-mark { width: 74px; height: 74px; padding: 16px; display: grid; align-content: center; gap: 8px; border: 1px solid #b5ccde; }
.showcase-v2-auxiliary-mark span { height: 2px; background: var(--showcase-v2-blue); }
.showcase-v2-auxiliary-mark span:nth-child(2) { width: 70%; }
.showcase-v2-auxiliary-card div:nth-child(2) > p:first-child { margin: 0 0 13px; color: var(--showcase-v2-blue); font-size: 10px; letter-spacing: .12em; font-weight: 800; }
.showcase-v2-auxiliary-card h3 { margin: 0; color: var(--showcase-v2-ink); font-size: 24px; line-height: 1.35; }
.showcase-v2-auxiliary-card div:nth-child(2) > p:last-child { margin: 14px 0 0; color: var(--showcase-v2-muted); font-size: 13px; line-height: 1.7; }
.showcase-v2-auxiliary-card > a { min-height: 47px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; background: var(--showcase-v2-blue); color: #fff; font-size: 13px; font-weight: 700; }

.showcase-v2-cases { background: #f3f6f8; }
.showcase-v2-case-heading { margin-bottom: 35px; gap: 45px; }
.showcase-v2-case-list { border-top: 1px solid var(--showcase-v2-line); }
.showcase-v2-case-row { min-height: 184px; padding: 20px 22px 20px 20px; display: grid; grid-template-columns: 220px 125px minmax(280px, 1fr) 175px 86px; align-items: center; gap: 26px; border: 1px solid var(--showcase-v2-line); border-top: 0; background: #fff; transition: transform var(--motion-fast) var(--motion-ease), background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease); }
.showcase-v2-case-thumb { height: 142px; display: block; overflow: hidden; background: #e8edf0; }
.showcase-v2-case-thumb img { width: 100%; height: 100%; object-fit: cover; }
.showcase-v2-case-thumb.contain { padding: 13px; background: #f2f4f5; }
.showcase-v2-case-thumb.contain img { object-fit: contain; }
.showcase-v2-case-category { display: grid; gap: 9px; }
.showcase-v2-case-category small { color: var(--showcase-v2-blue); font-size: 9px; letter-spacing: .1em; }
.showcase-v2-case-category strong { font-size: 18px; }
.showcase-v2-case-summary { min-width: 0; display: grid; gap: 10px; }
.showcase-v2-case-summary > strong { font-size: 18px; line-height: 1.45; }
.showcase-v2-case-summary > span { display: -webkit-box; overflow: hidden; color: var(--showcase-v2-muted); font-size: 12px; line-height: 1.7; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.showcase-v2-case-facts { display: grid; gap: 7px; }
.showcase-v2-case-facts b { color: var(--showcase-v2-blue); font-size: 12px; }
.showcase-v2-case-facts span { color: var(--showcase-v2-muted); font-size: 10px; }
.showcase-v2-case-row > i { color: var(--showcase-v2-blue); font-size: 11px; font-style: normal; text-align: right; white-space: nowrap; }

.showcase-v2-videos { background: var(--showcase-v2-soft); }
.showcase-v2-video-heading { margin-bottom: 36px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 50px; }
.showcase-v2-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.showcase-v2-video-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--showcase-v2-line); background: #fff; transition: transform var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease); }
.showcase-v2-video-poster { width: 100%; height: 265px; padding: 0; position: relative; display: block; overflow: hidden; border: 0; background: #dfe5e8; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.showcase-v2-video-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,18,28,.56), transparent 58%); pointer-events: none; }
.showcase-v2-video-poster img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--motion-fast) var(--motion-ease); }
.showcase-v2-video-poster.contain { padding: 24px; background: #e9edef; }
.showcase-v2-video-poster.contain img { object-fit: contain; }
.showcase-v2-video-poster > span { position: absolute; left: 18px; bottom: 17px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; color: #fff; }
.showcase-v2-video-poster > span i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--showcase-v2-blue); font-size: 12px; font-style: normal; text-indent: 2px; }
.showcase-v2-video-poster > span b { font-size: 12px; }
.showcase-v2-video-copy { flex: 1; padding: 23px 24px 25px; display: flex; flex-direction: column; align-items: flex-start; }
.showcase-v2-video-copy > p { margin: 0 0 9px; color: var(--showcase-v2-blue); font-size: 9px; letter-spacing: .08em; font-weight: 800; }
.showcase-v2-video-copy h3 { margin: 0; color: var(--showcase-v2-ink); font-size: 20px; line-height: 1.4; }
.showcase-v2-video-copy > span { margin-top: 11px; color: var(--showcase-v2-muted); font-size: 12px; line-height: 1.7; }
.showcase-v2-video-copy > a { width: 100%; min-height: 43px; margin-top: auto; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #bfd1df; color: var(--showcase-v2-blue); font-size: 12px; font-weight: 700; transition: background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease); }
.showcase-v2-video-copy > a b,
.showcase-v2-update-item i { transition: transform var(--motion-fast) var(--motion-ease); }
.showcase-v2-video-dialog { width: min(1080px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: #06131d; color: #fff; box-shadow: 0 28px 80px rgba(0,16,29,.38); }
.showcase-v2-video-dialog::backdrop { background: rgba(3,14,23,.78); }
.showcase-v2-video-dialog-shell { display: grid; background: #06131d; }
.showcase-v2-video-dialog-heading { min-height: 58px; padding: 0 14px 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.showcase-v2-video-dialog-heading strong { overflow: hidden; font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.showcase-v2-video-dialog-heading button { width: 40px; height: 40px; padding: 0; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; color: #fff; font: inherit; font-size: 25px; line-height: 1; cursor: pointer; transition: background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease); }
.showcase-v2-video-dialog-heading button:hover,
.showcase-v2-video-dialog-heading button:focus-visible { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.1); outline: none; }
.showcase-v2-video-dialog video { width: 100%; max-height: calc(100vh - 106px); display: block; background: #000; }

.showcase-v2-support-hub { padding: 0 0 70px; background: var(--showcase-v2-soft); }
.showcase-v2-support-card { border: 1px solid var(--showcase-v2-line); background: #fff; }
.showcase-v2-support-proof,
.showcase-v2-support-updates,
.showcase-v2-support-project { padding: 30px 36px; display: grid; grid-template-columns: 210px minmax(0, 1fr) 270px; align-items: center; column-gap: 34px; }
.showcase-v2-support-proof,
.showcase-v2-support-updates { border-bottom: 1px solid var(--showcase-v2-line); }
.showcase-v2-support-card h2 { margin: 0; color: var(--showcase-v2-ink); font-size: 25px; line-height: 1.25; letter-spacing: -.025em; }
.showcase-v2-support-card .showcase-v2-eyebrow { margin-bottom: 8px; }
.showcase-v2-support-proof > p,
.showcase-v2-support-project > p { margin: 0; color: var(--showcase-v2-muted); font-size: 12px; line-height: 1.7; }
.showcase-v2-support-proof > div:last-child,
.showcase-v2-support-project > div:last-child { display: flex; justify-content: flex-end; align-items: center; gap: 22px; }
.showcase-v2-support-proof a,
.showcase-v2-support-project a,
.showcase-v2-support-updates > a { color: var(--showcase-v2-blue); font-size: 12px; font-weight: 700; white-space: nowrap; }
.showcase-v2-update-list { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.showcase-v2-update-item { min-width: 0; padding: 4px 20px; display: grid; grid-template-columns: auto 1fr 18px; align-items: center; gap: 17px; border-left: 1px solid var(--showcase-v2-line); transition: color var(--motion-fast) var(--motion-ease); }
.showcase-v2-update-item:first-child { border-left: 0; }
.showcase-v2-update-item time { color: var(--showcase-v2-blue); font-size: 10px; font-weight: 800; }
.showcase-v2-update-item p { min-width: 0; margin: 0; display: grid; gap: 5px; }
.showcase-v2-update-item b { color: var(--showcase-v2-muted); font-size: 10px; }
.showcase-v2-update-item span { overflow: hidden; font-size: 12px; font-weight: 700; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.showcase-v2-update-item i { color: var(--showcase-v2-blue); font-style: normal; }
.showcase-v2-support-updates > a { justify-self: end; }

.showcase-v2-footer { background: #eef2f4; border-top: 1px solid var(--showcase-v2-line); }
.showcase-v2-footer-main { padding: 68px 0 54px; display: grid; grid-template-columns: 1.65fr repeat(4, 1fr); gap: 42px; }
.showcase-v2-footer-brand img { width: 145px; height: auto; }
.showcase-v2-footer-brand p { max-width: 260px; margin: 24px 0 0; color: var(--showcase-v2-muted); font-size: 12px; line-height: 1.75; }
.showcase-v2-footer-brand > span { margin-top: 15px; display: block; color: #78848d; font-size: 12px; line-height: 1.6; }
.showcase-v2-footer-column { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 13px; }
.showcase-v2-footer-column h2 { margin: 0 0 8px; color: var(--showcase-v2-ink); font-size: 13px; }
.showcase-v2-footer-column a,
.showcase-v2-footer-column span { color: var(--showcase-v2-muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.showcase-v2-footer-column a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: color var(--motion-fast) var(--motion-ease), text-decoration-color var(--motion-fast) var(--motion-ease); }
.showcase-v2-footer-column a:hover { color: var(--showcase-v2-blue); text-decoration-color: currentColor; }
.showcase-v2-footer-contact a:first-of-type { color: var(--showcase-v2-blue-dark); font-size: 16px; font-weight: 800; }
.showcase-v2-footer-legal { border-top: 1px solid #d5dde3; }
.showcase-v2-footer-legal > div { min-height: 64px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.showcase-v2-footer-legal p { margin: 0; color: #76828c; font-size: 11px; }
.showcase-v2-footer-legal > div > div { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px 20px; }
.showcase-v2-footer-legal a,
.showcase-v2-footer-legal span { color: #697680; font-size: 11px; }

@keyframes showcase-v2-hero-image-in {
  from { opacity: .92; }
  to { opacity: 1; }
}

@keyframes showcase-v2-intro-in {
  from { opacity: 0; transform: translateY(var(--motion-distance)); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes showcase-v2-module-in {
  from { opacity: 0; transform: translateY(var(--motion-distance)); }
  to { opacity: 1; transform: translateY(0); }
}

.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-image {
  animation: showcase-v2-hero-image-in var(--motion-slow) var(--motion-ease) both;
}
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > .showcase-v2-eyebrow,
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > h1,
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > p,
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > div {
  animation: showcase-v2-intro-in var(--motion-slow) var(--motion-ease) both;
}
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > h1 { animation-delay: 50ms; }
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > p { animation-delay: 110ms; }
.showcase-v2-hero.is-home-intro-active .showcase-v2-hero-content > div { animation-delay: 170ms; }

.showcase-v2-products.is-home-revealed .showcase-v2-section-heading,
.showcase-v2-cases.is-home-revealed .showcase-v2-case-heading,
.showcase-v2-videos.is-home-revealed .showcase-v2-video-heading,
.showcase-v2-products.is-home-revealed .showcase-v2-product-card,
.showcase-v2-products.is-home-revealed .showcase-v2-auxiliary-card,
.showcase-v2-cases.is-home-revealed .showcase-v2-case-row,
.showcase-v2-videos.is-home-revealed .showcase-v2-video-card,
.showcase-v2-support-hub.is-home-revealed .showcase-v2-support-card,
.showcase-v2-footer.is-home-revealed {
  animation: showcase-v2-module-in var(--motion-base) var(--motion-ease) backwards;
}
.showcase-v2-products.is-home-revealed .showcase-v2-product-card,
.showcase-v2-products.is-home-revealed .showcase-v2-auxiliary-card,
.showcase-v2-cases.is-home-revealed .showcase-v2-case-row,
.showcase-v2-videos.is-home-revealed .showcase-v2-video-card {
  animation-delay: calc(var(--motion-index, 0) * var(--motion-stagger));
}
.showcase-v2-footer.is-home-revealed {
  --motion-distance: 8px;
}

.xunli-homepage .mega-menu {
  transform: translate(-50%, 4px);
  transition: opacity var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease), visibility var(--motion-fast) var(--motion-ease);
}
.xunli-homepage .nav-group:hover .mega-menu,
.xunli-homepage .nav-group:focus-within .mega-menu { transform: translate(-50%, 0); }

.showcase-v2-button:focus-visible,
.showcase-v2-auxiliary-card > a:focus-visible,
.showcase-v2-update-item:focus-visible,
.showcase-v2-support-card a:focus-visible,
.showcase-v2-footer-column a:focus-visible { outline: 3px solid rgba(10,85,160,.28); outline-offset: 3px; }

@media (hover: hover) and (pointer: fine) {
  .showcase-v2-button:hover span,
  .showcase-v2-video-copy > a:hover b,
  .showcase-v2-update-item:hover i { transform: translateX(3px); }
  .showcase-v2-button.primary:hover { background: var(--showcase-v2-blue-dark); }
  .showcase-v2-button.ghost:hover { border-color: rgba(255,255,255,.82); background: rgba(255,255,255,.08); }
  .showcase-v2-product-card:hover { transform: translateY(-4px); border-color: #b7c5d1; box-shadow: 0 14px 30px rgba(22,48,68,.09); }
  .showcase-v2-product-card:hover .showcase-v2-product-media img { transform: scale(1.02); }
  .showcase-v2-case-row:hover { transform: translateY(-3px); background: #f9fbfc; border-color: #b9cbd8; box-shadow: 0 12px 26px rgba(22,48,68,.07); }
  .showcase-v2-video-card:hover { transform: translateY(-3px); border-color: #b9cbd8; box-shadow: 0 12px 26px rgba(22,48,68,.07); }
  .showcase-v2-video-card:hover .showcase-v2-video-poster img { transform: scale(1.02); }
  .showcase-v2-video-copy > a:hover { border-color: var(--showcase-v2-blue); background: #f1f6fa; }
}

@media (max-width: 900px) {
  .xunli-showcase-home,
  .showcase-v2-footer { --showcase-v2-shell: min(100% - 44px, 760px); }
  .showcase-v2-hero { height: 500px; min-height: 0; }
  .showcase-v2-hero-image { object-position: 60% center; }
  .showcase-v2-hero h1 { font-size: 47px; }
  .showcase-v2-brand-inner { min-height: 112px; gap: 24px; }
  .showcase-v2-brand-inner > p { font-size: 16px; }
  .showcase-v2-certifications { padding-left: 22px; flex-wrap: wrap; gap: 8px 11px; }
  .showcase-v2-certifications span { width: 100%; }
  .showcase-v2-section { padding: 72px 0; }
  .showcase-v2-section-heading,
  .showcase-v2-case-heading { grid-template-columns: 1fr auto; gap: 18px; }
  .showcase-v2-section-heading > p,
  .showcase-v2-case-heading > p { grid-column: 1 / -1; grid-row: 2; }
  .showcase-v2-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .showcase-v2-product-card,
  .showcase-v2-auxiliary-card { grid-column: span 1; }
  .showcase-v2-product-media { height: 200px; padding: 17px; }
  .showcase-v2-product-copy { padding: 20px 18px 22px; }
  .showcase-v2-case-row { min-height: 170px; padding: 16px; grid-template-columns: 170px 95px minmax(0, 1fr) 64px; gap: 18px; }
  .showcase-v2-case-thumb { height: 132px; }
  .showcase-v2-case-facts { display: none; }
  .showcase-v2-case-summary > strong { font-size: 15px; }
  .showcase-v2-video-grid { gap: 12px; }
  .showcase-v2-video-poster { height: 190px; }
  .showcase-v2-video-copy { padding: 20px 18px 22px; }
  .showcase-v2-video-copy h3 { font-size: 17px; }
  .showcase-v2-support-proof,
  .showcase-v2-support-updates,
  .showcase-v2-support-project { grid-template-columns: 170px minmax(0, 1fr); gap: 20px 26px; }
  .showcase-v2-support-proof > div:last-child,
  .showcase-v2-support-project > div:last-child,
  .showcase-v2-support-updates > a { grid-column: 2; justify-self: start; justify-content: flex-start; }
  .showcase-v2-update-list { grid-template-columns: 1fr; }
  .showcase-v2-update-item { border-left: 0; }
  .showcase-v2-footer-main { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 35px 22px; }
  .showcase-v2-footer-brand { grid-column: 1 / -1; display: grid; grid-template-columns: 150px 1fr 1fr; align-items: start; gap: 30px; }
  .showcase-v2-footer-brand p,
  .showcase-v2-footer-brand > span { margin: 0; }
}

@media (max-width: 600px) {
  .xunli-showcase-home,
  .showcase-v2-footer { --showcase-v2-shell: calc(100% - 32px); }
  .showcase-v2-hero { height: 480px; }
  .showcase-v2-hero-image { object-position: 66% center; }
  .showcase-v2-hero-shade { background: linear-gradient(90deg, rgba(4,22,36,.87), rgba(4,22,36,.58) 82%, rgba(4,22,36,.4)); }
  .showcase-v2-hero h1 { font-size: 36px; line-height: 1.18; }
  .showcase-v2-hero-content > p:not(.showcase-v2-eyebrow) { margin-top: 17px; font-size: 14px; line-height: 1.7; }
  .showcase-v2-hero-content > div { width: 100%; margin-top: 23px; }
  .showcase-v2-button { flex: 1; min-width: 0; padding-inline: 15px; justify-content: space-between; }
  .showcase-v2-brand-inner { min-height: 148px; padding-block: 24px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; }
  .showcase-v2-brand-inner > p { font-size: 17px; }
  .showcase-v2-certifications { width: 100%; padding: 15px 0 0; border-top: 1px solid #cfd9e1; border-left: 0; }
  .showcase-v2-certifications span { width: auto; margin-right: auto; }
  .showcase-v2-section { padding: 62px 0; }
  .showcase-v2-section-heading,
  .showcase-v2-case-heading,
  .showcase-v2-video-heading { display: block; }
  .showcase-v2-section-heading > p,
  .showcase-v2-case-heading > p,
  .showcase-v2-video-heading > p { margin-top: 17px; }
  .showcase-v2-section-heading > a,
  .showcase-v2-case-heading > a { display: inline-block; margin-top: 17px; }
  .showcase-v2-product-grid,
  .showcase-v2-video-grid { grid-template-columns: 1fr; gap: 16px; }
  .showcase-v2-product-media { height: 230px; }
  .showcase-v2-product-function,
  .showcase-v2-product-highlight { min-height: 0; }
  .showcase-v2-auxiliary-card { min-height: 360px; }
  .showcase-v2-case-row { min-height: 0; padding: 16px; grid-template-columns: 1fr; gap: 15px; }
  .showcase-v2-case-thumb { height: 190px; }
  .showcase-v2-case-category { display: flex; align-items: center; justify-content: space-between; }
  .showcase-v2-case-summary > strong { font-size: 17px; }
  .showcase-v2-case-facts { padding-top: 13px; display: flex; flex-wrap: wrap; gap: 8px 14px; border-top: 1px solid var(--showcase-v2-line); }
  .showcase-v2-case-row > i { text-align: left; }
  .showcase-v2-video-heading > p { margin-top: 16px; }
  .showcase-v2-video-poster { height: 220px; }
  .showcase-v2-video-copy h3 { font-size: 19px; }
  .showcase-v2-support-hub { padding-bottom: 48px; }
  .showcase-v2-support-proof,
  .showcase-v2-support-updates,
  .showcase-v2-support-project { padding: 26px 23px; grid-template-columns: 1fr; gap: 18px; }
  .showcase-v2-support-proof > div:last-child,
  .showcase-v2-support-project > div:last-child { grid-column: auto; flex-direction: column; align-items: flex-start; gap: 13px; }
  .showcase-v2-support-updates > a { grid-column: auto; justify-self: start; margin-top: 4px; }
  .showcase-v2-update-item { min-height: 76px; padding-inline: 0; border-top: 1px solid var(--showcase-v2-line); }
  .showcase-v2-update-item span { white-space: normal; }
  .showcase-v2-footer-main { padding: 52px 0 40px; grid-template-columns: 1fr 1fr; gap: 36px 26px; }
  .showcase-v2-footer-brand { grid-column: 1 / -1; display: block; padding-bottom: 30px; border-bottom: 1px solid #d5dde3; }
  .showcase-v2-footer-brand p { margin-top: 18px; }
  .showcase-v2-footer-brand > span { margin-top: 9px; }
  .showcase-v2-footer-contact { grid-column: 1 / -1; }
  .showcase-v2-footer-legal > div { padding-block: 18px; display: block; }
  .showcase-v2-footer-legal > div > div { margin-top: 12px; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .xunli-homepage .is-home-intro-active,
  .xunli-homepage .is-home-intro-active *,
  .xunli-homepage .is-home-revealed,
  .xunli-homepage .is-home-revealed * {
    animation: none !important;
  }
  .showcase-v2-product-card,
  .showcase-v2-product-media img,
  .showcase-v2-case-row,
  .showcase-v2-video-card,
  .showcase-v2-video-poster img,
  .showcase-v2-button,
  .showcase-v2-button span,
  .showcase-v2-video-copy > a,
  .showcase-v2-video-copy > a b,
  .showcase-v2-update-item,
  .showcase-v2-update-item i,
  .showcase-v2-footer-column a,
  .xunli-homepage .mega-menu,
  .xunli-homepage .nav-page-overlay { transition: none !important; }
  .showcase-v2-product-card:hover,
  .showcase-v2-product-card:hover .showcase-v2-product-media img,
  .showcase-v2-case-row:hover,
  .showcase-v2-video-card:hover,
  .showcase-v2-video-card:hover .showcase-v2-video-poster img,
  .showcase-v2-button:hover span,
  .showcase-v2-video-copy > a:hover b,
  .showcase-v2-update-item:hover i { transform: none !important; }
}
