/* V7: self-contained navigation components shared by overview and landing pages. */
html body[class] .sb-related-v2,
html body[class] .service-subnav-section { padding:48px 0!important; }
html body[class] .sb-related-v2 > .wrap { width:calc(100% - 48px); max-width:1440px; margin-inline:auto; }
html body[class] .sb-related-v2 *,
html body[class] .service-subnav * { box-sizing:border-box; }
html body[class] .sb-related-v2 .sb-related-panel,
html body[class] .service-subnav {
  min-width:0; padding:32px; border:1px solid rgba(var(--sb-metal-bronze-rgb,114,88,60),.25);
  border-radius:24px; background:linear-gradient(145deg,rgba(19,16,12,.94),rgba(8,7,5,.88))!important;
  box-shadow:0 18px 54px rgba(0,0,0,.17);
}
html body[class] .sb-related-v2 .sb-related-heading {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
  align-items:end; gap:32px; margin:0 0 26px; padding:0 0 24px;
  border-bottom:1px solid rgba(var(--sb-metal-bronze-rgb,114,88,60),.18);
}
html body[class] .sb-related-v2 .eyebrow,
html body[class] .service-subnav > div > span {
  display:block; color:var(--sb-metal-mid,#9F886B); font-size:12px; line-height:1.5; font-weight:750;
  text-transform:uppercase; letter-spacing:.16em; margin:0 0 12px;
}
html body[class] .sb-related-v2 h2 {
  font-family:var(--sb-serif,var(--serif,Georgia,serif)); font-size:clamp(28px,2.7vw,42px);
  line-height:1.15; font-weight:500; letter-spacing:-.025em; color:#f1e8d9; margin:0;
  max-width:650px; text-transform:none;
}
html body[class] .sb-related-v2 .sb-related-heading p {
  color:#c0b7a9; font-size:16px; line-height:1.65; margin:0; max-width:560px;
}
html body[class] .sb-related-v2 .sb-related-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
}
html body[class] .sb-related-v2 .sb-service-link,
html body[class] .service-subnav nav a {
  display:flex; position:relative; align-items:center; justify-content:space-between;
  min-width:0; gap:18px; padding:20px; border:1px solid rgba(var(--sb-metal-bronze-rgb,114,88,60),.25);
  border-radius:16px; background:linear-gradient(145deg,rgba(var(--sb-metal-bronze-rgb,114,88,60),.06),rgba(0,0,0,.16));
  color:#ead8ba; text-decoration:none; font-size:16px; line-height:1.5;
  transition:border-color .2s,background .2s; cursor:pointer; pointer-events:auto;
}
html body[class] .sb-related-v2 .sb-service-link { min-height:106px; }
html body[class] .sb-related-v2 .sb-service-link > span:first-child { min-width:0; }
html body[class] .sb-related-v2 .sb-service-link strong {
  display:block; font-family:inherit; font-size:16px; font-weight:650; line-height:1.4; color:#f0e0c4;
}
html body[class] .sb-related-v2 .sb-service-link small {
  display:block; margin-top:8px; font-size:14px; line-height:1.5; color:#bbb1a2;
}
html body[class] .sb-related-v2 .sb-link-arrow,
html body[class] .service-subnav nav a > span {
  display:block; flex:0 0 24px; margin:0; padding:0; font-size:20px; line-height:1;
  text-align:right; color:var(--sb-metal-mid,#9F886B);
}
html body[class] .sb-related-v2 .sb-service-link:hover,
html body[class] .service-subnav nav a:hover {
  border-color:var(--sb-metal-bronze,#72583C); background:rgba(var(--sb-metal-bronze-rgb,114,88,60),.12); color:#fff; transform:none;
}
html body[class] .sb-related-v2 .sb-service-link:focus-visible,
html body[class] .service-subnav nav a:focus-visible { outline:2px solid var(--sb-metal-bronze,#72583C); outline-offset:4px; }
html body[class] .sb-related-v2 .sb-related-parent { margin:22px 0 0; color:#c0b7a9; font-size:14px; line-height:1.6; }
html body[class] .sb-related-v2 .sb-related-parent a { color:var(--sb-metal-mid,#9F886B); text-underline-offset:4px; }
html body[class] .service-subnav { display:block; }
html body[class] .service-subnav > div { padding:0 0 22px; margin:0 0 22px; border-right:0; border-bottom:1px solid rgba(var(--sb-metal-bronze-rgb,114,88,60),.18); }
html body[class] .service-subnav > div > strong {
  display:block; color:#f1e8d9; font-family:var(--sb-serif,var(--serif,Georgia,serif));
  font-size:32px; line-height:1.15; font-weight:500; letter-spacing:-.02em;
}
html body[class] .service-subnav nav {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  padding:0; margin:0; justify-content:stretch; overflow:visible;
}
html body[class] .service-subnav nav a { min-height:68px; font-weight:600; }
@media(max-width:1000px) {
  html body[class] .sb-related-v2 .sb-related-grid,
  html body[class] .service-subnav nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body[class] .sb-related-v2 .sb-related-heading { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:600px) {
  html body[class] .sb-related-v2,html body[class] .service-subnav-section { padding:30px 0!important; }
  html body[class] .sb-related-v2 > .wrap { width:calc(100% - 32px); }
  html body[class] .sb-related-v2 .sb-related-panel,html body[class] .service-subnav { padding:20px; border-radius:20px; }
  html body[class] .sb-related-v2 .sb-related-grid,html body[class] .service-subnav nav { grid-template-columns:minmax(0,1fr); }
  html body[class] .sb-related-v2 .sb-service-link,html body[class] .service-subnav nav a { padding:18px; }
  html body[class] .sb-related-v2 h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  html body[class] .sb-related-v2 .sb-service-link,html body[class] .service-subnav nav a { transition:none; }
}
