.sub-shell-header,
.sub-shell-footer {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sub-shell-header {
  position: relative;
  z-index: 20;
  background: rgba(250, 250, 253, .94);
  border-bottom: 1px solid rgba(13, 15, 60, .08);
  backdrop-filter: blur(18px);
}

.sub-shell-wrap {
  width: min(1220px, calc(100% - 48px));
  margin-inline: auto;
}

.sub-shell-header__inner {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.sub-shell-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #10113f;
  text-decoration: none;
}

.sub-shell-brand__mark { width: 38px; height: 38px; flex: none; }
.sub-shell-brand__word { font: 800 24px/1 "Plus Jakarta Sans", Inter, sans-serif; letter-spacing: -.045em; }

.sub-shell-nav {
  display: flex;
  align-items: center;
  gap: 34px;
}

.sub-shell-nav a {
  color: #4c4e69;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}

.sub-shell-nav a:hover { color: #735cff; }
.sub-shell-nav .sub-shell-cta {
  padding: 13px 20px;
  border-radius: 999px;
  background: #11133f;
  color: #fff;
  box-shadow: 0 8px 22px rgba(13, 15, 60, .16);
}
.sub-shell-nav .sub-shell-cta:hover { color: #fff; transform: translateY(-2px); }

/* collsta.com Sign in entry (DEC-238, T4): the quiet link to the existing app.collsta.com sign-in. */
.sub-shell-divider { width: 1px; height: 22px; background: rgba(13, 15, 60, .12); flex: none; }
.sub-shell-nav .sub-shell-signin { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; border-radius: 8px; color: #10113f; font: 700 15px/1 "Plus Jakarta Sans", Inter, sans-serif; transition: color .15s ease; }
.sub-shell-nav .sub-shell-signin:hover { color: #735cff; }
.sub-shell-nav .sub-shell-signin:active { color: #735cff; text-decoration: underline; text-underline-offset: 4px; }
.sub-shell-nav a:focus-visible, .sub-shell-brand:focus-visible { outline: none; border-radius: 8px; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #735cff; }
@media (prefers-reduced-motion: reduce) { .sub-shell-nav a { transition: none; } }

.sub-shell-footer {
  margin: 24px;
  overflow: hidden;
  border-radius: 40px;
  background: #0d0f34;
  color: #fff;
}

.sub-shell-footer__top {
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(120px, .65fr));
  gap: 48px;
  padding: 74px 0 58px;
}

.sub-shell-footer .sub-shell-brand { color: #fff; }
.sub-shell-footer__tagline { max-width: 320px; margin: 22px 0 0; color: #aeb0c7; font-size: 14px; line-height: 1.7; }
.sub-shell-footer__group h2 { margin: 3px 0 22px; color: #7d7f9d; font: 700 11px/1.2 Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.sub-shell-footer__links { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.sub-shell-footer__links a { color: #e5e6f0; font-size: 14px; text-decoration: none; }
.sub-shell-footer__links a:hover { color: #9c8dff; }
.sub-shell-footer__bottom { padding: 22px 0 28px; border-top: 1px solid rgba(255,255,255,.09); color: #777995; font-size: 12px; }

@media (max-width: 820px) {
  .sub-shell-nav a:not(.sub-shell-cta):not(.sub-shell-signin), .sub-shell-divider { display: none; }
  .sub-shell-nav { gap: 14px; }
  .sub-shell-nav .sub-shell-signin { font-size: 14px; }
  .sub-shell-footer__top { grid-template-columns: 1fr 1fr; }
  .sub-shell-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .sub-shell-wrap { width: min(100% - 32px, 1220px); }
  .sub-shell-header__inner { min-height: 78px; }
  .sub-shell-brand__mark { width: 32px; height: 32px; }
  .sub-shell-brand__word { font-size: 21px; }
  .sub-shell-nav .sub-shell-cta { padding: 11px 15px; font-size: 13px; }
  .sub-shell-footer { margin: 12px; border-radius: 28px; }
  .sub-shell-footer__top { grid-template-columns: 1fr 1fr; gap: 38px 24px; padding: 52px 0 42px; }
  .sub-shell-footer__group:last-child { grid-column: 1 / -1; }
}

@media (max-width: 339px) {
  .sub-shell-nav .sub-shell-signin { display: none; }
}
