/* HJ Service & Maintenance Master
   Scoped companion stylesheet for generated Service landing pages. */

.sm-mode-rail {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 8px;
  margin-top: 28px;
  padding: 10px;
  overflow-x: auto;
  border: 1px solid var(--hj-line);
  border-radius: 12px;
  background: rgba(6, 10, 19, .58);
  scrollbar-width: thin;
}
.sm-mode-rail span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  flex: none;
  padding: 0 12px;
  color: var(--hj-muted);
  border: 1px solid var(--hj-line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
  font: 700 .7rem/1.2 'JetBrains Mono', monospace;
}
.sm-mode-rail span:first-child { color: var(--hj-cyan); border-color: var(--hj-cyan-line); }

.sm-master-axis {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--hj-line);
  border-radius: var(--hj-radius-lg);
  background: rgba(255, 255, 255, .018);
}
.sm-axis-item {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  padding: 21px;
  border-bottom: 1px solid var(--hj-line);
}
.sm-axis-item:last-child { border-bottom: 0; }
.sm-axis-item[aria-current="page"] { background: linear-gradient(90deg, rgba(0, 212, 255, .13), transparent); }
.sm-axis-number {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--hj-cyan);
  border: 1px solid var(--hj-cyan-line);
  border-radius: 50%;
  font: 700 .72rem/1 'JetBrains Mono', monospace;
}
.sm-axis-item h3 { margin: 0; color: var(--hj-white); font: 700 1.05rem/1.25 'Space Grotesk', sans-serif; }
.sm-axis-item p { margin: 6px 0 0; color: var(--hj-muted); font-size: .84rem; }
.sm-axis-item a { display: inline-flex; min-height: 40px; align-items: center; margin-top: 8px; color: var(--hj-cyan); font-size: .8rem; font-weight: 800; }

.sm-directory-tools {
  display: grid;
  gap: 12px;
  margin-bottom: 30px;
}
.sm-search-label { color: var(--hj-white); font-weight: 800; }
.sm-search-wrap { position: relative; max-width: 720px; }
.sm-search-wrap svg { position: absolute; left: 16px; top: 50%; width: 19px; height: 19px; color: var(--hj-cyan); transform: translateY(-50%); pointer-events: none; }
.sm-search {
  width: 100%;
  min-height: 54px;
  padding: 0 18px 0 48px;
  color: var(--hj-white);
  border: 1px solid var(--hj-cyan-line);
  border-radius: 12px;
  outline: 0;
  background: rgba(6, 10, 19, .72);
  font: 600 .95rem/1 'Inter', sans-serif;
}
.sm-search::placeholder { color: var(--hj-dim); }
.sm-search:focus { border-color: var(--hj-cyan); box-shadow: 0 0 0 3px rgba(0, 212, 255, .11); }
.sm-search-status { min-height: 23px; margin: 0; color: var(--hj-dim); font-size: .78rem; }

.sm-directory { display: grid; gap: 46px; }
.sm-directory-group { scroll-margin-top: calc(var(--hj-header-height) + 76px); }
.sm-group-head { display: grid; gap: 6px; margin-bottom: 17px; }
.sm-group-head h2 { margin: 0; color: var(--hj-white); font: 700 clamp(1.45rem, 3vw, 2.1rem)/1.1 'Space Grotesk', sans-serif; }
.sm-group-head p { margin: 0; color: var(--hj-muted); }
.sm-service-list { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--hj-line); border-radius: var(--hj-radius-lg); background: var(--hj-line); }
.sm-service-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  padding: 20px;
  background: var(--hj-navy-900);
  transition: background .16s ease;
}
.sm-service-row:hover { background: var(--hj-navy-850); }
.sm-service-row[hidden] { display: none; }
.sm-service-index { color: var(--hj-cyan); font: 700 .73rem/1.5 'JetBrains Mono', monospace; }
.sm-service-row h3 { margin: 0; color: var(--hj-white); font: 700 1.03rem/1.25 'Space Grotesk', sans-serif; }
.sm-service-row p { margin: 7px 0 0; color: var(--hj-muted); font-size: .84rem; }
.sm-service-row a { min-height: 44px; display: inline-flex; align-items: center; margin-top: 9px; color: var(--hj-cyan); font-size: .8rem; font-weight: 800; }

.sm-other-grid { display: grid; gap: 11px; }
.sm-other-item { padding: 21px; border-left: 2px solid var(--hj-cyan); background: rgba(0, 212, 255, .045); }
.sm-other-item h3 { margin: 0; color: var(--hj-white); font: 700 1rem/1.25 'Space Grotesk', sans-serif; }
.sm-other-item p { margin: 8px 0 0; color: var(--hj-muted); font-size: .84rem; }
.sm-other-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 11px; }
.sm-other-actions a { min-height: 40px; display: inline-flex; align-items: center; color: var(--hj-cyan); font-size: .78rem; font-weight: 800; }

.sm-scope-layout { display: grid; gap: 24px; }
.sm-system-summary {
  align-self: start;
  padding: 23px;
  border: 1px solid var(--hj-cyan-line);
  border-radius: var(--hj-radius-lg);
  background: linear-gradient(145deg, rgba(0, 212, 255, .10), rgba(255, 255, 255, .018));
}
.sm-system-summary h3 { margin: 0; color: var(--hj-white); font: 700 1.08rem/1.3 'Space Grotesk', sans-serif; }
.sm-system-summary dl { display: grid; gap: 13px; margin: 18px 0 0; }
.sm-system-summary div { padding-top: 12px; border-top: 1px solid var(--hj-line); }
.sm-system-summary dt { color: var(--hj-dim); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sm-system-summary dd { margin: 4px 0 0; color: var(--hj-text); font-size: .84rem; }
.sm-keyword-groups { display: grid; gap: 13px; }
.sm-keyword-group { padding: 21px; border: 1px solid var(--hj-line); border-radius: var(--hj-radius-lg); background: rgba(255, 255, 255, .018); }
.sm-keyword-group h3 { margin: 0; color: var(--hj-white); font: 700 1rem/1.3 'Space Grotesk', sans-serif; }
.sm-keyword-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.sm-keyword-list li {
  padding: 8px 10px;
  color: var(--hj-muted);
  border: 1px solid var(--hj-line);
  border-radius: 7px;
  background: rgba(255, 255, 255, .025);
  font-size: .76rem;
}

.sm-amc-banner {
  display: grid;
  gap: 18px;
  align-items: center;
  padding: 26px;
  border: 1px solid var(--hj-cyan-line);
  border-radius: var(--hj-radius-lg);
  background: linear-gradient(120deg, rgba(0, 212, 255, .12), rgba(8, 13, 24, .82) 58%);
}
.sm-amc-banner h2, .sm-amc-banner h3 { margin: 0; color: var(--hj-white); font: 700 clamp(1.3rem, 3vw, 1.85rem)/1.18 'Space Grotesk', sans-serif; }
.sm-amc-banner p { margin: 9px 0 0; color: var(--hj-muted); }
.sm-amc-banner .pc-button { width: fit-content; }

.sm-process { position: relative; display: grid; gap: 0; counter-reset: process; }
.sm-process article { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 15px; padding: 0 0 28px; counter-increment: process; }
.sm-process article:last-child { padding-bottom: 0; }
.sm-process article::before {
  content: counter(process, decimal-leading-zero);
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--hj-cyan);
  border: 1px solid var(--hj-cyan-line);
  border-radius: 50%;
  background: var(--hj-navy-900);
  font: 700 .68rem/1 'JetBrains Mono', monospace;
}
.sm-process article:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 42px; bottom: 0; width: 1px; background: var(--hj-cyan-line); }
.sm-process h3 { margin: 2px 0 0; color: var(--hj-white); font: 700 1.03rem/1.3 'Space Grotesk', sans-serif; }
.sm-process p { margin: 7px 0 0; color: var(--hj-muted); font-size: .86rem; }

.sm-boundary {
  padding: 24px;
  border: 1px solid rgba(255, 193, 99, .30);
  border-left: 3px solid #ffc163;
  border-radius: var(--hj-radius-lg);
  background: rgba(255, 193, 99, .055);
}
.sm-boundary h2, .sm-boundary h3 { margin: 0; color: var(--hj-white); font: 700 1.18rem/1.25 'Space Grotesk', sans-serif; }
.sm-boundary p { margin: 10px 0 0; color: var(--hj-muted); }
.sm-boundary strong { color: #ffd59a; }

.sm-amc-groups, .sm-amc-models { display: grid; gap: 13px; }
.sm-amc-group, .sm-amc-model {
  padding: 22px;
  border: 1px solid var(--hj-line);
  border-radius: var(--hj-radius-lg);
  background: rgba(255, 255, 255, .02);
}
.sm-amc-group h3, .sm-amc-model h3 { margin: 0; color: var(--hj-white); font: 700 1.08rem/1.25 'Space Grotesk', sans-serif; }
.sm-amc-group ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 15px 0 0; padding: 0; list-style: none; }
.sm-amc-group a { min-height: 40px; display: flex; align-items: center; color: var(--hj-muted); border-bottom: 1px solid var(--hj-line-soft); font-size: .78rem; font-weight: 700; }
.sm-amc-group a:hover { color: var(--hj-cyan); }
.sm-amc-model { position: relative; padding-left: 70px; }
.sm-amc-model span { position: absolute; left: 22px; top: 22px; color: var(--hj-cyan); font: 700 .7rem/1 'JetBrains Mono', monospace; }
.sm-amc-model p { margin: 8px 0 0; color: var(--hj-muted); font-size: .84rem; }

.sm-related-grid { display: grid; gap: 10px; }
.sm-related-link {
  min-height: 116px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  border: 1px solid var(--hj-line);
  border-radius: var(--hj-radius-lg);
  background: rgba(255, 255, 255, .018);
}
.sm-related-link:hover { border-color: var(--hj-cyan-line); background: var(--hj-cyan-soft); }
.sm-related-link span { color: var(--hj-dim); font: 700 .65rem/1.2 'JetBrains Mono', monospace; letter-spacing: .07em; text-transform: uppercase; }
.sm-related-link strong { margin-top: 16px; color: var(--hj-white); font: 700 .95rem/1.3 'Space Grotesk', sans-serif; }
.sm-related-link strong::after { content: " →"; color: var(--hj-cyan); }
.sm-related-link--primary { border-color: var(--hj-cyan-line); background: rgba(0, 212, 255, .08); }

.sm-cta {
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid var(--hj-cyan-line);
  border-radius: var(--hj-radius-lg);
  background:
    radial-gradient(circle at 84% 22%, rgba(0, 212, 255, .16), transparent 34%),
    var(--hj-navy-850);
}
.sm-cta h2 { max-width: 760px; margin: 0; color: var(--hj-white); font: 700 clamp(1.6rem, 4vw, 2.7rem)/1.08 'Space Grotesk', sans-serif; }
.sm-cta p { max-width: 70ch; margin: 14px 0 0; color: var(--hj-muted); }

@media (min-width: 680px) {
  .sm-master-axis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sm-axis-item { grid-template-columns: 1fr; border-right: 1px solid var(--hj-line); border-bottom: 0; }
  .sm-axis-item:last-child { border-right: 0; }
  .sm-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm-other-grid, .sm-amc-groups, .sm-amc-models, .sm-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm-amc-banner { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (min-width: 940px) {
  .sm-scope-layout { grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); align-items: start; }
  .sm-system-summary { position: sticky; top: calc(var(--hj-header-height) + 78px); }
  .sm-other-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm-amc-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm-amc-models { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .sm-amc-model { padding: 50px 19px 21px; }
  .sm-amc-model span { left: 19px; top: 20px; }
  .sm-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 679px) {
  .sm-service-row { padding: 18px; }
  .sm-amc-group ul { grid-template-columns: 1fr; }
  .sm-amc-banner .pc-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .sm-service-row { transition: none; }
}

/* ---------- 2026 premium service experience ----------
   The master reads like an engineering lifecycle, not a row of filter pills. */
.sm-mode-track {
  position: relative;
  z-index: 1;
  margin-top: clamp(26px, 4vw, 42px);
  padding: 17px 0 5px;
  border-top: 1px solid var(--hj-line);
}
.sm-mode-track > p {
  margin: 0 0 10px;
  color: var(--hj-white);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.sm-mode-rail {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(9, minmax(118px, 1fr));
  gap: 0;
  margin: 0;
  padding: 0 0 10px;
  overflow-x: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
.sm-mode-rail::before {
  content: "";
  position: absolute;
  top: 22px;
  right: 0;
  left: 7px;
  height: 1px;
  background: linear-gradient(90deg, var(--hj-cyan), var(--hj-line) 18%, var(--hj-line));
}
.sm-mode-rail span {
  position: relative;
  min-height: 68px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 17px;
  flex: none;
  padding: 0 16px 0 0;
  color: var(--hj-muted);
  border: 0;
  border-radius: 0;
  background: transparent;
  font: 600 .72rem/1.35 'Inter', sans-serif;
  scroll-snap-align: start;
}
.sm-mode-rail span::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 0;
  width: 10px;
  height: 10px;
  border: 2px solid var(--hj-navy-900);
  border-radius: 50%;
  background: #6f788e;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
}
.sm-mode-rail span b {
  color: var(--hj-dim);
  font: 700 .67rem/1 'JetBrains Mono', monospace;
}
.sm-mode-rail span:first-child { color: var(--hj-cyan); border: 0; }
.sm-mode-rail span:first-child::before {
  background: var(--hj-cyan);
  box-shadow: 0 0 14px rgba(0,212,255,.38);
}
.sm-mode-rail span:first-child b { color: var(--hj-cyan); }

.sm-hero-aside { min-width: 0; display: grid; gap: 16px; align-content: end; }
.sm-master-hero-visual {
  position: relative;
  min-width: 0;
  margin: -36px -34px -48px -40px;
  pointer-events: none;
}
.sm-master-hero-visual picture,
.sm-master-hero-visual img { display: block; width: 100%; }
.sm-master-hero-visual img {
  height: auto;
  filter: brightness(1.08) saturate(1.06) drop-shadow(0 26px 34px rgba(0,0,0,.46)) drop-shadow(0 0 24px rgba(0,212,255,.10));
}
.sm-master-hero-visual figcaption {
  position: absolute;
  top: 24%;
  left: 5%;
  max-width: 25ch;
  padding-left: 11px;
  border-left: 1px solid rgba(0,212,255,.46);
  color: #8798aa;
  font-size: .67rem;
  line-height: 1.45;
  text-align: left;
}
.sm-master-hero .pc-boundary {
  position: relative;
  z-index: 2;
  margin-left: 14%;
  padding: 19px 0 4px 22px;
  border: 0;
  border-left: 2px solid var(--hj-cyan);
  border-radius: 0;
  background: linear-gradient(90deg, rgba(0,212,255,.055), transparent 72%);
}
.sm-master-hero .pc-boundary h2 { font-size: 1rem; }
.sm-master-hero .pc-boundary p { font-size: .78rem; }

.sm-master-directory .sm-directory-tools {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px 24px;
  padding: 18px 0 22px;
  border-top: 1px solid var(--hj-line);
  border-bottom: 1px solid var(--hj-line);
}
.sm-master-finder {
  padding-block: clamp(30px, 4vw, 50px);
  border-bottom: 1px solid var(--hj-line);
}
.sm-master-finder-grid {
  display: grid;
  grid-template-columns: minmax(250px, .68fr) minmax(0, 1.32fr);
  gap: clamp(32px, 6vw, 84px);
  align-items: end;
}
.sm-master-finder .pc-section-head { margin: 0; }
.sm-master-finder .sm-directory-tools { padding: 0 0 10px; border-top: 0; }
.sm-master-directory-list { padding-top: clamp(50px, 6vw, 76px); }
.sm-master-directory .sm-search-label { grid-column: 1 / -1; color: var(--hj-cyan); font: 700 .7rem/1.2 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.sm-master-directory .sm-search-wrap { max-width: none; }
.sm-master-directory .sm-search {
  min-height: 58px;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  font-size: 1.02rem;
}
.sm-master-directory .sm-search-status { align-self: center; max-width: 36ch; text-align: right; }
.sm-master-directory .sm-directory { gap: 34px; }
.sm-master-directory .sm-group-head {
  grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr);
  align-items: end;
  gap: 18px;
  margin-bottom: 13px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--hj-line);
}
.sm-master-directory .sm-group-head h2 { font-size: clamp(1.25rem, 2vw, 1.62rem); }
.sm-master-directory .sm-group-head p { font-size: .82rem; }
.sm-master-directory .sm-service-list {
  gap: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.sm-master-directory .sm-service-row {
  min-height: 188px;
  padding: 22px 20px 18px 0;
  border-bottom: 1px solid var(--hj-line);
  background: transparent;
}
.sm-master-directory .sm-service-row:hover { background: linear-gradient(90deg, rgba(0,212,255,.045), transparent); }
.sm-master-directory .sm-service-row h3 { font-size: 1rem; }

@media (min-width: 940px) {
  .sm-master-hero .pc-hero-grid { grid-template-columns: minmax(0, 1.16fr) minmax(380px, .84fr); gap: clamp(38px, 6vw, 86px); align-items: center; }
  .sm-master-directory .sm-service-list { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
  .sm-master-axis { border-radius: 0; border-inline: 0; }
  .sm-axis-item { padding: 26px 24px 25px; }
}

@media (max-width: 939px) {
  .sm-master-hero-visual { max-width: 620px; margin: -30px auto -42px; }
  .sm-master-hero-visual figcaption { top: 23%; left: 4%; }
  .sm-master-hero .pc-boundary { margin-left: 0; }
  .sm-master-finder-grid { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 679px) {
  .sm-master-hero-visual { margin: -18px -30px -52px; }
  .sm-master-hero-visual figcaption { display: none; }
  .sm-master-hero .pc-boundary { padding: 16px 0 2px 17px; }
  .sm-mode-track { margin-top: 24px; padding-top: 14px; }
  .sm-mode-rail { grid-template-columns: repeat(9, 126px); margin-right: -20px; padding-right: 20px; }
  .sm-master-directory .sm-directory-tools { grid-template-columns: 1fr; }
  .sm-master-directory .sm-search-label { grid-column: auto; }
  .sm-master-directory .sm-search-status { max-width: none; text-align: left; }
  .sm-master-directory .sm-group-head { grid-template-columns: 1fr; gap: 7px; }
  .sm-master-directory .sm-service-row { min-height: 0; padding: 18px 0; }
}
