/* Shared visual layer for the existing public pages. */
:root {
  --red: #1761be;
  --red-dark: #154991;
  --yellow: #65d8e6;
  --yellow-dark: #117b95;
  --black: #10243d;
  --black-soft: #18344f;
  --gray: #5d7086;
  --gray-light: #dce5ee;
  --gray-bg: #f3f7fb;
  --white: #fff;
  --ui-line: #e0e8f0;
  --ui-blue: #1761be;
  --ui-ink: #10243d;
  --ui-muted: #5d7086;
  --ui-shadow: 0 8px 30px rgba(22, 48, 78, .045);
}
html { scroll-padding-top: 88px; }
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
  color: var(--ui-ink);
  background: #f3f7fb;
}
body.stock-page, body.catalog-page, body.contact-page {
  background: radial-gradient(ellipse at 85% 0, #e6effa 0, transparent 48rem), #f3f7fb;
}
button, input, select, textarea { font: inherit; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible {
  outline: 3px solid #3299db;
  outline-offset: 4px;
}
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 0;
  border-color: var(--ui-blue);
  box-shadow: 0 0 0 3px rgba(23, 97, 190, .13);
}
::selection { background: #c7e8ff; color: #10243d; }
.site-nav {
  height: 68px;
  padding-inline: max(24px, calc((100vw - 1280px) / 2));
  background: rgba(10, 27, 47, .97);
  border-bottom: 1px solid rgba(158, 197, 231, .14);
  box-shadow: 0 4px 20px rgba(7, 23, 42, .08);
  backdrop-filter: blur(18px);
  gap: 12px;
}
.site-nav .logo { font-size: 17px; letter-spacing: .02em; gap: 10px; }
.site-nav .logo-mark { width: 36px; height: 36px; filter: none; }
.site-nav .logo .dot { width: 9px; height: 9px; border-radius: 50%; background: #65d8e6; box-shadow: 0 0 14px #65d8e644; }
.site-nav .links { gap: 4px; }
.site-nav .links > a, .nav-item > .nav-link {
  height: 68px;
  padding-inline: 18px;
  font-size: 13px;
  color: #bacbde;
  border-bottom-width: 2px;
}
.site-nav .links > a.active, .nav-item.active > .nav-link { color: #fff; border-bottom-color: #65d8e6; }
.site-nav .links > a:hover { color: #fff; background: #ffffff08; }
.lang-toggle { border-radius: 7px; border-color: #40566d; color: #d3e2f2; padding: 6px 12px; font-size: 12px; }
.lang-toggle:hover { border-color: #65d8e6; background: #65d8e614; }
.nav-item { height: 68px; }
.nav-drop { top: 68px; }
.crumb { max-width: 1200px; color: #73869b; font-size: 12px; padding: 0; }
.crumb a, .pager .tx { color: var(--ui-blue); }
.crumb b { color: #354f69; font-weight: 600; }
.landing-page { background: #0a1b2f; }
.landing-page .slide.cover {
  min-height: calc(100svh - 117px);
  background: radial-gradient(ellipse at 74% 20%, #164d775c, transparent 55%), linear-gradient(130deg, #08182a, #122e48);
}
.cover { background: radial-gradient(ellipse at 85% 0, #16476b, transparent 70%), #0d2239; }
.cover::before { height: 1px; background: linear-gradient(90deg, transparent, #65d8e6aa, transparent); }
.cover::after { height: 1px; background: #ffffff12; }
.cover-bg {
  opacity: .1;
  background-image: linear-gradient(#80badb30 1px, transparent 1px), linear-gradient(90deg, #80badb30 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse, #000 10%, transparent 75%);
}
.cover-content { width: 100%; max-width: 1120px; padding: 68px 40px 80px; }
.cover-brand-mark { width: 90px; height: 90px; margin-bottom: 24px; filter: drop-shadow(0 5px 20px #0002); }
.cover-eyebrow { color: #a5c1db; letter-spacing: .17em; font-size: 12px; margin-bottom: 20px; }
.cover h1 { font-size: clamp(30px, 3.6vw, 50px); font-weight: 650; line-height: 1.4; letter-spacing: -.025em; }
.cover h1 .accent { color: #f0f7ff; }
.cover .cover-en { color: #a5bcd3; font-size: 17px; margin: 18px auto 32px; line-height: 1.8; }
.cover-pills { gap: 10px; }
.cover-pills .pill { background: #ffffff04; border-color: #b6d7f12b; border-radius: 6px; padding: 7px 16px; color: #c2d7e9; font-size: 12px; }
.slide-footer { height: 34px; background: #0b2036; border-top: 1px solid #ffffff0a; color: #839db6; font-size: 11px; }
.slide-footer .brand, .slide-footer .page-num { color: #a5c4df; font-weight: 500; }
.site-filing { background: #091929; border-top-color: #ffffff0b; font-size: 11px; }
.site-filing a, .site-visitor-count { color: #8fa7bf; }
.document-stack { width: min(1200px, calc(100% - 48px)); margin: auto; padding-top: 28px; }
.document-stack > .slide { border: 1px solid var(--ui-line); border-radius: 14px; box-shadow: var(--ui-shadow); margin-bottom: 24px; }
.slide-inner { padding: 38px 44px 58px; }
.slide-title { font-size: 25px; color: var(--ui-ink); letter-spacing: -.02em; margin-bottom: 24px; padding-bottom: 14px; }
.slide-title::after { width: 36px; height: 3px; background: #1a83bd; }
.slide-title .sub { font-size: 12px; color: #7b8ea2; }
.card { background: #f6f9fc; border: 1px solid var(--ui-line); border-top: 2px solid #3c8ec2; border-radius: 10px; }
.card-dark { background: #122d47; border-color: #294661; border-top-color: #65d8e6; }
.card .label { color: #60778e; }
.card .value { color: #1761be; }
.card .value.yellow { color: #117b95; }
.card-dark .label, .card-dark .desc { color: #b0c6d9; }
.card-dark .value { color: #65d8e6; }
.toc-item { background: #f5f8fc; border: 1px solid var(--ui-line); border-left: 3px solid #3989bd; border-radius: 8px; padding: 12px 20px; }
.toc-item:hover { background: #eaf3fb; border-left-color: #117b95; }
.toc-num { color: #2b6aa6; font-size: 20px; }
.toc-text { font-size: 14px; }
.note { background: #eef7fb; border-left-color: #1684a3; }
.note-red { background: #edf3fd; border-left-color: #1761be; }
.chart-box, .adv-card, .feat-item { background: #f5f8fc; }
.tag-red { background: #eaf2fe; color: #1761be; }
.tag-yellow { background: #e4f5f6; color: #117b95; }
.product-list-col { border-radius: 10px; }
.stock-panel, .catalog-panel, .contact-panel { border: 1px solid var(--ui-line); border-radius: 14px; box-shadow: var(--ui-shadow); background: #fff; }
.stock-main, .catalog-main, .contact-main { margin-bottom: 32px; }
.stock-intro, .catalog-intro, .contact-intro { padding: 32px 36px 26px; gap: 32px; }
.stock-intro h1, .catalog-intro h1, .contact-intro h1 { font-size: clamp(27px, 3vw, 38px); color: var(--ui-ink); letter-spacing: -.035em; line-height: 1.3; font-weight: 700; }
.stock-intro > p, .catalog-intro > p, .contact-intro > p { font-size: 13px; line-height: 1.9; color: var(--ui-muted); }
.stock-eyebrow, .catalog-eyebrow, .contact-eyebrow { color: #1761be; letter-spacing: .12em; font-size: 11px; }
.stock-eyebrow::before, .catalog-eyebrow::before, .contact-eyebrow::before { height: 2px; width: 20px; background: #1684a3; }
.stock-stats, .catalog-stats { padding-inline: 36px; padding-bottom: 28px; gap: 12px; }
.stock-stat, .catalog-stat { min-height: auto; border-radius: 10px; padding: 17px 20px; border-color: var(--ui-line); background: #f6f9fc; }
.stock-stat .value, .catalog-stat .value { font-size: 28px; color: var(--ui-ink); font-variant-numeric: tabular-nums; }
.stock-stat.emphasis, .catalog-stat.emphasis { background: #112e49; border-color: #112e49; box-shadow: none; }
.stock-stat.emphasis .value, .catalog-stat.emphasis .value { color: #85e0eb; }
.stock-stat.emphasis .label, .catalog-stat.emphasis .label, .stock-stat.emphasis .unit, .catalog-stat.emphasis .unit { color: #b1c9df; }
.stock-section-head, .stock-chips, .stock-toolbar, .stock-pager, .catalog-toolbar, .catalog-brand-head, .catalog-lines, .catalog-empty { padding-inline: 36px; }
.catalog-desc { margin-inline: 36px; }
.stock-section-head h2, .catalog-brand-head h2 { font-size: 19px; color: var(--ui-ink); }
.stock-tabs { gap: 6px; }
.stock-tab { border-radius: 7px; font-size: 13px; padding: 9px 18px; background: #e9eff6; color: #536d86; }
.stock-tab.active, .stock-chip.active { background: #143d62; border-color: #143d62; }
.stock-chip { border-radius: 6px; border-color: var(--ui-line); min-height: 32px; padding: 0 10px; font-size: 12px; font-weight: 500; }
.stock-chip span { color: #637c93; }
.stock-chip.active span { color: #94dce9; }
.stock-brand-name { background: #edf4fd; color: #1761be; border-radius: 5px; font-size: 12px; }
.stock-search, .catalog-search { min-height: 40px; border-color: #cddae7; border-radius: 7px; padding: 9px 12px; font-size: 13px; min-width: 0; }
.stock-search:focus { border-color: #1761be; }
.stock-filter { border-radius: 6px; background: #eef3f8; color: #546d84; font-size: 12px; }
.stock-filter.active, .catalog-submit { background: #1761be; color: #fff; }
.catalog-submit, .catalog-reset { border-radius: 7px; font-size: 13px; padding: 10px 16px; }
.catalog-submit:hover { background: #154991; }
.stock-count span, .stock-pager a, .catalog-brand-head .meta a { color: #1761be; }
.stock-table { font-size: 13px; }
.stock-table th { padding: 12px 16px; background: #f3f7fb; color: #526b83; font-size: 12px; border-bottom: 1px solid var(--ui-line); }
.stock-table td { padding: 11px 16px; border-bottom-color: #edf2f7; }
.stock-table tbody tr:hover td { background: #edf5fd; }
.stock-table .col-dc { color: #376d96; }
.stock-empty, .stock-no-data, .catalog-empty { color: #6a8096; }
.stock-pager { font-size: 12px; padding-block: 16px; border-top: 1px solid #edf2f7; }
.catalog-lines { gap: 12px; }
.catalog-line { background: #f7fafd; border-color: var(--ui-line); border-radius: 9px; transition: border-color .18s, box-shadow .18s; }
.catalog-line:hover { border-color: #9dbedb; box-shadow: 0 5px 14px #143d6208; }
.catalog-line-image { height: 100px; border: 1px solid #edf2f7; }
.catalog-line strong { color: #213e59; }
.contact-grid { padding: 0 36px 36px; gap: 20px; }
.location-card { border-color: var(--ui-line); border-radius: 10px; background: #f5f8fc; padding: 24px; }
.location-card::after { border-color: #1761be06; }
.location-index { background: #1761be; border-radius: 8px; }
.location-index-yellow { background: #e3f3f7; color: #117b95; }
.location-card h2 { font-size: 19px; color: var(--ui-ink); }
.contact-direct { border-radius: 10px; background: #112e49; box-shadow: none; }
.contact-direct::after { background: radial-gradient(circle, #207b9b44, transparent 70%); }
.contact-direct-label { color: #85dce7; }
.contact-direct > p { color: #afc5d9; }
.contact-action { border-radius: 7px; }
.contact-action:hover { border-color: #65d8e6; }
.contact-action-primary { background: #65d8e6; border-color: #65d8e6; }
.contact-action-primary:hover { background: #8be6f0; }
.contact-action-primary span, .contact-action-primary strong { color: #103049; }
.site-footer { background: #0d243c; border-radius: 12px; box-shadow: none; font-size: 12px; }
.site-footer .brand { color: #d8ebf9; }
.site-footer .tagline { color: #a7bfd5; font-size: 12px; }
.site-footer .contact { color: #a7bfd5; font-size: 12px; }
.site-footer .contact a { color: #8bd3e4; }
@media (min-width: 769px) and (max-width: 1000px) {
  .grid-4, .feat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .slide-inner { padding-inline: 30px; }
}
@media (max-width: 900px) {
  .site-nav { height: auto; min-height: 64px; padding: 12px 20px; gap: 10px; }
  .site-nav .links { gap: 0; margin-top: 4px; padding-top: 8px; border-top: 1px solid #ffffff14; }
  .site-nav .links > a, .nav-item > .nav-link { height: auto; min-height: 42px; padding: 10px 12px; border-radius: 6px; border-bottom: 0; }
  .site-nav .links > a.active { background: #65d8e612; color: #a4e7ef; }
  .nav-item { height: auto; }
  .nav-drop { top: auto; }
  .site-nav .nav-burger { margin-left: auto; order: 2; border-radius: 6px; color: #d5e4f1; }
  .site-nav .lang-toggle { margin-left: auto; order: 1; }
  .site-nav .links { order: 3; }
  .cover-content { padding: 56px 28px 72px; }
  .landing-page .slide.cover { min-height: calc(100svh - 113px); }
  .stock-intro, .catalog-intro, .contact-intro { display: block; padding: 28px; }
  .stock-intro > p, .catalog-intro > p, .contact-intro > p { margin-top: 14px; }
  .stock-stats, .catalog-stats, .stock-section-head, .stock-chips, .stock-toolbar, .stock-pager, .catalog-toolbar, .catalog-brand-head, .catalog-lines, .catalog-empty { padding-inline: 28px; }
  .catalog-desc { padding: 0; margin-inline: 28px; }
  .contact-grid { grid-template-columns: 1fr; padding: 0 28px 28px; }
}
@media (max-width: 600px) {
  .site-nav { padding: 10px 16px; }
  .site-nav .logo { font-size: 15px; margin-right: 0; gap: 7px; }
  .site-nav .logo-mark { width: 30px; height: 30px; }
  .site-nav .lang-toggle { padding: 6px 10px; }
  .document-stack { width: calc(100% - 24px); padding-top: 16px; }
  .document-stack > .slide { margin-bottom: 16px; border-radius: 10px; }
  .slide-inner { padding: 24px 20px 52px; }
  .slide-title { font-size: 22px; }
  .slide-title .sub { display: block; margin: 4px 0 0; }
  .cover-content { padding: 40px 20px 62px; }
  .cover-brand-mark { width: 72px; height: 72px; margin-bottom: 22px; }
  .cover-eyebrow { font-size: 10px; letter-spacing: .1em; line-height: 1.8; }
  .cover h1 { font-size: 29px; line-height: 1.45; }
  .cover .cover-en { font-size: 14px; margin: 16px 0 24px; }
  .cover-pills { gap: 8px; }
  .cover-pills .pill { font-size: 11px; padding: 6px 10px; }
  .slide-footer { padding-inline: 16px; font-size: 10px; }
  .slide-footer .brand { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-right: 10px; }
  .slide-footer .page-num { white-space: nowrap; }
  .stock-main, .catalog-main, .contact-main { width: calc(100% - 24px); }
  .stock-intro, .catalog-intro, .contact-intro { padding: 24px 20px 22px; }
  .stock-intro h1, .catalog-intro h1, .contact-intro h1 { font-size: 28px; }
  .stock-stats, .catalog-stats, .stock-section-head, .stock-chips, .stock-toolbar, .stock-pager, .catalog-toolbar, .catalog-brand-head, .catalog-lines, .catalog-empty { padding-inline: 20px; }
  .stock-stats { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-stat { padding: 14px 12px; min-width: 0; }
  .stock-stat .value { font-size: 23px; }
  .stock-stat .unit { font-size: 11px; margin-left: 3px; }
  .stock-search, .catalog-search { width: 100%; }
  .stock-toolbar { gap: 8px; }
  .stock-table { min-width: 600px; }
  .stock-table td, .stock-table th { padding: 10px 12px; }
  .stock-pager { flex-wrap: wrap; }
  .catalog-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .catalog-stat { padding: 14px; }
  .catalog-desc { margin-inline: 20px; }
  .catalog-lines { grid-template-columns: 1fr; }
  .catalog-brand-head h2 span { display: block; font-size: 12px; margin-top: 3px; }
  .catalog-brand-logo { width: 54px; }
  .contact-grid { padding: 0 20px 20px; }
  .location-card { min-height: 190px; padding: 22px; }
  .contact-direct { padding: 26px 22px; }
  .site-footer { padding: 24px 20px; }
  .site-filing { flex-wrap: wrap; gap: 6px; padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  body { background: #fff; }
  .document-stack { width: 100%; padding-top: 0; }
  .document-stack > .slide { border: 0; box-shadow: none; border-radius: 0; margin: 0; }
}

/* Original product illustration for the existing homepage hero. */
.landing-page .cover-bg {
  opacity: 1;
  background-image:
    linear-gradient(180deg, rgba(6, 20, 35, .12), rgba(6, 20, 35, .35)),
    url("../images/header_bg.png");
  background-size: cover;
  background-position: center;
  mask-image: none;
  pointer-events: none;
}
.landing-page .cover-content {
  text-shadow: 0 2px 20px rgba(3, 15, 28, .8);
}
.landing-page .cover-pills .pill {
  background: rgba(7, 26, 44, .72);
  border-color: rgba(185, 215, 240, .24);
}
@media (max-width: 600px) {
  .landing-page .cover-bg {
    background-image:
      linear-gradient(180deg, rgba(6, 20, 35, .44), rgba(6, 20, 35, .68)),
      url("../images/header_bg.png");
    background-position: center;
  }
}
.landing-page .cover h1 { text-wrap: balance; word-break: keep-all; }

/* Keep the contact footer and filing strip at the bottom of short pages. */
body.contact-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
}
.contact-page > .site-nav,
.contact-page > .site-footer,
.contact-page > .site-filing {
  flex-shrink: 0;
}
.contact-page > .crumb {
  width: min(1200px, calc(100% - 32px));
}
.contact-page > .contact-main {
  flex: 1 0 auto;
}

/* Align inventory tabs with the content inside the shared details card. */
.stock-details-panel > .stock-tabs {
  margin: 0;
  padding: 24px 36px 0;
}
.stock-details-panel .stock-section-head {
  padding-top: 20px;
}
@media (max-width: 900px) {
  .stock-details-panel > .stock-tabs { padding-inline: 28px; }
}
@media (max-width: 600px) {
  .stock-details-panel > .stock-tabs { padding: 20px 20px 0; }
}

/* PDF references on the existing catalog cards. */
.catalog-brand-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.catalog-brochure { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border: 1px solid #c7d9e9; border-radius: 6px; background: #edf5fc; color: #1761be; font-size: 12px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.catalog-brochure:hover { background: #e0effc; border-color: #9ebedb; }
.catalog-category { display: inline-block; margin: 6px 8px 0 0; padding: 2px 7px; border-radius: 4px; background: #edf4fb; color: #326a9c; font-size: 11px; }
@media (max-width: 600px) {
  .catalog-brand-actions { width: 100%; justify-content: space-between; gap: 8px; }
  .catalog-brand-head h2 { overflow-wrap: anywhere; }
  .catalog-brand-head h2 span { overflow-wrap: anywhere; }
}

/* Keep brands in the same category together within the existing catalog. */
.catalog-group-nav { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 36px 28px; }
.catalog-group-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 7px 11px; border: 1px solid #dce6f0; border-radius: 6px; background: #f5f9fd; color: #355d80; font-size: 12px; text-decoration: none; }
.catalog-group-nav a:hover { background: #eaf3fc; border-color: #9ebedb; color: #1761be; }
.catalog-group-nav b { color: #6a8197; font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; }
.catalog-group { margin-top: 30px; scroll-margin-top: 88px; }
.catalog-group-heading { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 16px; padding: 0 4px 12px; border-bottom: 1px solid #dce5ef; }
.catalog-group-heading h2 { margin: 0; color: #183c5d; font-size: 22px; font-weight: 700; line-height: 1.5; }
.catalog-group-heading > span { color: #698096; font-size: 12px; }
.catalog-brand-name { margin: 0; color: var(--ui-ink); font-size: 19px; font-weight: 800; line-height: 1.5; }
.catalog-brand-name span { color: #94a3b8; font-size: 15px; font-weight: 600; }
@media (max-width: 900px) {
  .catalog-group-nav { padding-inline: 28px; }
}
@media (max-width: 600px) {
  .catalog-group-nav { padding: 0 20px 24px; gap: 6px; }
  .catalog-group-heading { margin-bottom: 12px; }
  .catalog-group-heading h2 { font-size: 20px; }
  .catalog-brand-name { overflow-wrap: anywhere; }
  .catalog-brand-name span { display: block; font-size: 12px; margin-top: 3px; overflow-wrap: anywhere; }
}

/* Category panels use the same four-column cards as the product reference. */
.catalog-group { padding: 24px 36px 32px; border: 1px solid var(--ui-line); border-radius: 14px; background: #fff; box-shadow: var(--ui-shadow); }
.catalog-group-heading { padding: 0 0 16px; margin-bottom: 20px; }
.catalog-group-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.catalog-group-grid > .catalog-brand { min-width: 0; margin: 0; }
.catalog-brand-compact { display: flex; flex-direction: column; gap: 0; padding: 16px; border-radius: 9px; background: #f7fafd; border-color: #dce6f0; box-shadow: none; }
.catalog-brand-compact > .catalog-brand-logo, .catalog-brand-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100px; padding: 12px; margin-bottom: 12px; border: 1px solid #e7eef6; border-radius: 8px; background: #fff; object-fit: contain; }
.catalog-brand-placeholder { color: #60778d; font-size: 18px; font-weight: 650; overflow-wrap: anywhere; text-align: center; }
.catalog-brand-compact .catalog-brand-name { font-size: 14px; line-height: 1.6; }
.catalog-brand-compact .catalog-brand-name span { display: block; font-size: 12px; color: #6b83a0; font-weight: 400; }
.catalog-brand-country, .catalog-brand-summary { margin: 6px 0 0; color: #67829d; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.catalog-compact-links { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 14px; margin-top: auto; }
.catalog-compact-links:empty { display: none; }
.catalog-compact-links .catalog-brochure { padding: 4px 8px; min-height: 30px; font-size: 11px; }
.catalog-brand-website { color: #1761be; font-size: 11px; text-decoration: none; }
.catalog-brand-website:hover { text-decoration: underline; }
.catalog-group-grid > .catalog-brand-detailed { grid-column: 1 / -1; border: 0; border-radius: 0; box-shadow: none; }
.catalog-brand-detailed > .catalog-brand-head { padding: 0 0 18px; }
.catalog-brand-detailed > .catalog-desc { margin: 0 0 18px; }
.catalog-brand-detailed > .catalog-lines { padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.catalog-brand-detailed > .catalog-empty { padding: 0 0 16px; }
.catalog-brand-detailed .catalog-line { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .catalog-group { padding: 24px 28px 28px; }
  .catalog-group-grid, .catalog-brand-detailed > .catalog-lines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .catalog-group { padding: 20px; }
  .catalog-group-grid, .catalog-brand-detailed > .catalog-lines { grid-template-columns: minmax(0, 1fr); }
  .catalog-brand-compact { padding: 16px; }
  .catalog-brand-detailed .catalog-brand-title { min-width: 0; }
  .catalog-brand-detailed .catalog-brand-title > div { min-width: 0; }
  .catalog-brand-detailed .meta a { overflow-wrap: anywhere; }
}

/* Compact catalog overview: title and inline totals, then search and categories. */
.catalog-overview { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 24px; padding: 22px 28px 18px; }
.catalog-overview .catalog-intro { display: block; min-width: 0; padding: 0; }
.catalog-overview .catalog-eyebrow { display: none; }
.catalog-overview .catalog-intro h1 { font-size: 26px; line-height: 1.35; letter-spacing: -.025em; }
.catalog-overview .catalog-intro > p { max-width: none; margin: 6px 0 0; color: #6b8196; font-size: 12px; line-height: 1.7; }
.catalog-overview .catalog-stats { display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding: 0; }
.catalog-overview .catalog-stat { display: flex; align-items: baseline; gap: 8px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.catalog-overview .catalog-stat:first-child { padding-right: 18px; border-right: 1px solid #e1e8ef; }
.catalog-overview .catalog-stat .label { color: #6b8196; font-size: 11px; font-weight: 500; white-space: nowrap; }
.catalog-overview .catalog-stat .value { margin: 0; color: #183c5d; font-size: 23px; line-height: 1.3; font-weight: 700; white-space: nowrap; }
.catalog-overview .catalog-stat.emphasis .value { color: #1761be; }
.catalog-overview .catalog-stat .unit { color: #7e91a5; font-size: 10px; margin-left: 3px; }
.catalog-overview .catalog-toolbar { grid-column: 1 / -1; padding: 0; gap: 8px; }
.catalog-overview .catalog-search { flex: 1; width: auto; max-width: 400px; min-height: 36px; padding: 8px 11px; font-size: 12px; }
.catalog-overview .catalog-submit, .catalog-overview .catalog-reset { min-height: 36px; padding: 8px 16px; font-size: 12px; }
.catalog-overview .catalog-group-nav { grid-column: 1 / -1; gap: 6px; padding: 12px 0 0; border-top: 1px solid #edf1f6; }
.catalog-overview .catalog-group-nav a { min-height: 30px; padding: 5px 9px; border-color: #e2eaf2; border-radius: 5px; background: #f6f9fc; font-size: 11px; }
.catalog-overview .catalog-group-nav b { font-size: 10px; }
@media (max-width: 1000px) {
  .catalog-overview { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 24px 18px; }
  .catalog-overview .catalog-stats { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .catalog-overview { padding: 18px 20px 14px; }
  .catalog-overview .catalog-intro h1 { font-size: 23px; }
  .catalog-overview .catalog-intro > p { font-size: 11px; }
  .catalog-overview .catalog-stats { gap: 14px; flex-wrap: wrap; }
  .catalog-overview .catalog-stat { gap: 6px; }
  .catalog-overview .catalog-stat:first-child { padding-right: 14px; }
  .catalog-overview .catalog-stat .value { font-size: 21px; }
  .catalog-overview .catalog-group-nav { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .catalog-overview .catalog-group-nav a { flex: none; }
}

/* Align compact brand names and document actions in one row. */
.catalog-compact-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.catalog-compact-identity { flex: 1; min-width: 0; }
.catalog-compact-identity .catalog-brand-name { overflow-wrap: anywhere; }
.catalog-compact-identity .catalog-brand-name span { margin-top: 1px; line-height: 1.45; }
.catalog-compact-footer .catalog-compact-links { flex: none; flex-direction: column; align-items: flex-end; gap: 5px; margin: 0; padding: 0; }
.catalog-compact-footer .catalog-brochure { min-height: 30px; padding: 5px 9px; border-color: #cddfee; background: #eef6fd; font-size: 11px; line-height: 1.5; border-radius: 5px; }
.catalog-compact-footer .catalog-brochure:hover { background: #deedfa; border-color: #91b7d7; }
.catalog-compact-footer .catalog-brand-website { font-size: 10px; }
.catalog-brand-compact { transition: border-color .15s, box-shadow .15s; }
.catalog-brand-compact:hover { border-color: #afcbe3; box-shadow: 0 4px 14px rgba(30, 70, 105, .05); }

/* Homepage styling follows the original dark red and gold reference. */
.landing-page { background: #0b1220; }
.landing-page > .site-nav { height: 56px; padding: 0 24px; background: #0b1220; border-bottom: 0; gap: 8px; backdrop-filter: none; }
.landing-page .site-nav .logo { font-size: 16px; gap: 8px; }
.landing-page .site-nav .logo-mark { width: 40px; height: 40px; }
.landing-page .site-nav .links { gap: 2px; }
.landing-page .site-nav .links > a { height: 56px; padding: 0 14px; font-size: 14px; color: #cbd5e1; }
.landing-page .site-nav .links > a.active { color: #fff; border-bottom-color: #f9a825; }
.landing-page .lang-toggle { border-radius: 999px; border-color: #334155; padding: 5px 14px; font-size: 13px; color: #93c5fd; }
.landing-page .slide.cover { min-height: calc(100svh - 105px); background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 40%, #8b0000 100%); }
.landing-page .cover-bg { opacity: .15; background-image: url("../images/header_bg.png"); background-position: center; background-size: cover; mask-image: none; }
.landing-page .cover::before { height: 6px; background: linear-gradient(90deg, #c62828, #f9a825, #c62828); z-index: 2; }
.landing-page .cover::after { height: 6px; background: linear-gradient(90deg, #f9a825, #c62828, #f9a825); z-index: 2; }
.landing-page .cover-content { max-width: 1200px; padding: 50px 40px; text-shadow: none; }
.landing-page .cover-brand-mark { width: 112px; height: 112px; margin-bottom: 18px; }
.landing-page .cover-eyebrow { color: #f9a825; font-size: 14px; letter-spacing: .3em; margin-bottom: 24px; }
.landing-page .cover h1 { font-size: clamp(32px, 3.6vw, 48px); font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.landing-page .cover h1 .accent { color: #f9a825; }
.landing-page .cover .cover-en { color: rgba(255, 255, 255, .7); font-size: 20px; line-height: 1.7; margin: 18px auto 36px; }
.landing-page .cover-pills { gap: 12px; }
.landing-page .cover-pills .pill { color: rgba(255, 255, 255, .9); border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; background: rgba(255, 255, 255, .05); padding: 8px 20px; font-size: 14px; }
.landing-page .slide-footer { height: 32px; background: #1a1a1a; border-top: 0; font-size: 12px; z-index: 1; }
.landing-page .slide-footer .brand, .landing-page .slide-footer .page-num { color: #f9a825; font-weight: 600; }
.landing-page .site-filing { min-height: 49px; padding: 12px 20px; background: #0b1220; border-top: 0; font-size: 13px; }
.landing-page .site-filing a { color: #cbd5e1; }
.landing-page .site-visitor-count, .landing-page .site-filing-divider { color: #94a3b8; }
@media (max-width: 900px) {
  .landing-page > .site-nav { height: auto; min-height: 64px; padding: 10px 16px; }
  .landing-page .site-nav .links > a { height: auto; min-height: 42px; padding: 10px 12px; }
  .landing-page .site-nav .links > a.active { background: rgba(249,168,37,.1); color: #ffcc75; }
  .landing-page .slide.cover { min-height: calc(100svh - 113px); }
}
@media (max-width: 600px) {
  .landing-page .site-nav .logo { font-size: 15px; gap: 7px; }
  .landing-page .site-nav .logo-mark { width: 32px; height: 32px; }
  .landing-page .cover-content { padding: 40px 20px 56px; }
  .landing-page .cover-brand-mark { width: 88px; height: 88px; margin-bottom: 18px; }
  .landing-page .cover-eyebrow { font-size: 11px; letter-spacing: .12em; margin-bottom: 20px; }
  .landing-page .cover h1 { font-size: 28px; line-height: 1.45; }
  .landing-page .cover .cover-en { font-size: 16px; margin: 16px auto 24px; }
  .landing-page .cover-pills { gap: 8px; }
  .landing-page .cover-pills .pill { padding: 7px 14px; font-size: 12px; }
  .landing-page .slide-footer { font-size: 10px; }
  .landing-page .site-filing { font-size: 11px; padding: 12px; }
}

/* Dynamic catalog translations keep names safe as text and avoid duplicate aliases. */
.catalog-brand-name > span.catalog-brand-primary { display: inline; color: inherit; font: inherit; line-height: inherit; margin: 0; }
html[data-lang="en"] .catalog-brand-alias { display: none; }
html[data-lang="en"] .catalog-brand-name { overflow-wrap: anywhere; }
html[data-lang="en"] .catalog-group-heading h2 { overflow-wrap: anywhere; }
