/* Shared homepage catalog 20261009.1. Intentionally scoped; no global overflow hiding. */
#catalog[data-s66i-catalog="home-v1"] {
  --navy: #062f6d; --navy-2: #041c43; --blue: #0878d7; --orange: #ff6b00;
  box-sizing: border-box; display: block; position: relative; width: 100%; max-width: 100%; min-width: 0;
  margin: 0; padding: 0 0 14px; border: 0; border-top: 1px solid #e2eaf3; border-radius: 0;
  background: #f5f8fc; color: #14213d;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;
  font-size: 16px; line-height: 1.72; font-weight: 400; text-align: start; letter-spacing: normal;
  isolation: isolate;
}
#catalog[data-s66i-catalog] *, #catalog[data-s66i-catalog] *::before, #catalog[data-s66i-catalog] *::after { box-sizing: border-box; }
#catalog[data-s66i-catalog] > .container {
  display: block; width: min(1440px,calc(100% - 24px)); max-width: 1440px; min-width: 0;
  padding: 0; margin: 0 auto;
}
#catalog[data-s66i-catalog] .section-head {
  display: block; width: 100%; max-width: none; margin: 0; padding: 17px 20px 13px;
  border: 1px solid #dfe9f4; border-bottom: 0; border-radius: 24px 24px 0 0;
  background: #fff; box-shadow: none;
}
#catalog[data-s66i-catalog] .section-head > div:first-child { max-width: none; width: 100%; }
#catalog[data-s66i-catalog] .section-kicker {
  display: inline-flex; margin: 0; padding: 0; color: #ff6b00; font-size: 11.2px;
  line-height: 1.72; font-weight: 1000; text-transform: uppercase; letter-spacing: .09em;
}
#catalog[data-s66i-catalog] .section-head h2 {
  display: block; margin: 3px 0 5px; padding: 0; border: 0; background: none;
  color: #041c43; font-size: clamp(26.4px,2.7vw,41.6px); font-weight: 700;
  line-height: 1.08; letter-spacing: -.035em; overflow-wrap: anywhere;
}
#catalog[data-s66i-catalog] .section-head p {
  display: block; max-width: none; margin: 0; padding: 0; color: #607286;
  font-size: 13.44px; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere;
}
#catalog[data-s66i-catalog] .catalog-groups {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; min-width: 0;
  margin: 0; padding: 0; border: 1px solid #dfe9f4; border-radius: 0 0 24px 24px;
  background: #dfe9f4;
}
#catalog[data-s66i-catalog] .catGroup {
  display: block; min-width: 0; max-width: 100%; margin: 0; padding: 0 12px;
  border: 0; border-radius: 0; background: #fff; box-shadow: none;
}
#catalog[data-s66i-catalog] .catGroup[open] { grid-column: 1 / -1; padding: 0 13px 12px; }
#catalog[data-s66i-catalog] .catGroup summary {
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  min-width: 0; min-height: 44px; margin: 0; padding: 10px 0; border: 0; background: none;
  color: #163f6d; font-size: 13.44px; font-weight: 900; line-height: 1.25;
  cursor: pointer; list-style: none; white-space: normal; text-align: start;
}
#catalog[data-s66i-catalog] .catGroup summary::-webkit-details-marker { display: none; }
#catalog[data-s66i-catalog] .catGroup summary::marker { content: ""; }
#catalog[data-s66i-catalog] .catGroup summary span { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
#catalog[data-s66i-catalog] .catGroup summary em {
  display: inline-block; flex: 0 0 auto; margin: 0; padding: 3px 6px; border: 0; border-radius: 999px;
  background: #f1f6fb; color: #72849a; font-size: 10.56px; font-weight: 850;
  font-style: normal; line-height: 1.25; white-space: nowrap;
}
#catalog[data-s66i-catalog] .catGroup[open] summary { margin-bottom: 9px; border-bottom: 1px solid #e4edf6; color: #0878d7; }
#catalog[data-s66i-catalog] .catLinks { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; margin: 0; padding: 0; min-width: 0; }
#catalog[data-s66i-catalog] .catLinks a {
  display: flex; align-items: center; min-width: 0; max-width: 100%; min-height: 31px; margin: 0; padding: 5px 7px;
  border: 1px solid #e0eaf4; border-radius: 8px; background: #f7fafd; color: #41607f;
  font-family: inherit; font-size: 11.36px; font-weight: 400; line-height: 1.28;
  text-decoration: none; text-align: start; white-space: normal; overflow-wrap: anywhere; word-break: normal;
}
#catalog[data-s66i-catalog] .catLinks a[href]:hover { background: #eaf5ff; border-color: #bfdcf6; color: #064d91; }
#catalog[data-s66i-catalog] :is(summary,a[href]):focus-visible { outline: 3px solid #0878d7; outline-offset: -3px; }
#catalog[data-s66i-catalog] a[data-s66i-unavailable] { color: #677688; background: #f1f3f5; border-style: dashed; cursor: not-allowed; }
@media (max-width:1100px) {
  #catalog[data-s66i-catalog] .catalog-groups { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #catalog[data-s66i-catalog] .catLinks { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width:820px) {
  #catalog[data-s66i-catalog] .catalog-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #catalog[data-s66i-catalog] .catLinks { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:680px) {
  #catalog[data-s66i-catalog] { padding-bottom: 10px; }
  #catalog[data-s66i-catalog] > .container { width: calc(100% - 16px); }
  #catalog[data-s66i-catalog] .section-head { padding: 14px 13px 11px; border-radius: 18px 18px 0 0; }
  #catalog[data-s66i-catalog] .section-head h2 { font-size: clamp(24px,7vw,32px); }
  #catalog[data-s66i-catalog] .section-head p { font-size: 12.64px; line-height: 1.4; }
  #catalog[data-s66i-catalog] .catalog-groups { grid-template-columns: repeat(2,minmax(0,1fr)); border-radius: 0 0 18px 18px; }
  #catalog[data-s66i-catalog] .catGroup { padding: 0 9px; }
  #catalog[data-s66i-catalog] .catGroup[open] { padding: 0 10px 10px; }
  #catalog[data-s66i-catalog] .catGroup summary { min-height: 42px; padding: 8px 0; font-size: 12.48px; gap: 5px; }
  #catalog[data-s66i-catalog] .catGroup summary em { padding: 2px 5px; font-size: 9.76px; }
  #catalog[data-s66i-catalog] .catLinks { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
  #catalog[data-s66i-catalog] .catLinks a { min-height: 29px; padding: 5px 6px; font-size: 10.88px; }
}
@media (max-width:420px) {
  #catalog[data-s66i-catalog] .catalog-groups { grid-template-columns: minmax(0,1fr); }
  #catalog[data-s66i-catalog] .catLinks { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
/* Match the homepage's existing compact gutters, including its !important legacy rules. */
@media (max-width:680px) {
  #catalog[data-s66i-catalog] > .container { width: calc(100% - 16px) !important; max-width: calc(100% - 16px) !important; }
}
@media (max-width:379px) {
  #catalog[data-s66i-catalog] > .container { width: calc(100% - 12px) !important; max-width: calc(100% - 12px) !important; }
}
@media (max-width:319px) {
  #catalog[data-s66i-catalog] > .container { width: calc(100% - 8px) !important; max-width: calc(100% - 8px) !important; }
}
/* Legacy standalone HTML documents have a padded body. Only this shared section is full-width. */
body[data-s66i-document="1"] > #catalog[data-s66i-catalog] {
  width: calc(100% + 2 * clamp(12px,3vw,28px)); max-width: none;
  margin-inline: calc(-1 * clamp(12px,3vw,28px));
}
