:root {
  --majors-ink: #14213d;
  --majors-muted: #5f6c84;
  --majors-blue: #315ee7;
  --majors-blue-dark: #1f43ba;
  --majors-line: rgba(20, 33, 61, 0.11);
  --majors-soft: #f4f7fd;
  --majors-warm: #fffaf3;
}

html {
  scroll-behavior: smooth;
}

body.majors-public-page {
  margin: 0;
  color: var(--majors-ink);
  background: #fff;
  font-family: "Inter", sans-serif;
}

.majors-public-page *,
.majors-public-page *::before,
.majors-public-page *::after {
  box-sizing: border-box;
}

.majors-public-page button,
.majors-public-page input,
.majors-public-page select {
  font: inherit;
}

.majors-public-page button,
.majors-public-page a {
  -webkit-tap-highlight-color: transparent;
}

.majors-public-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.majors-eyebrow {
  margin: 0 0 14px;
  color: var(--majors-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.majors-public-hero {
  position: relative;
  overflow: hidden;
  padding: 48px 0 64px;
  background:
    radial-gradient(circle at 76% 18%, rgba(129, 105, 255, 0.15), transparent 28%),
    radial-gradient(circle at 20% 0%, rgba(49, 94, 231, 0.13), transparent 28%),
    linear-gradient(180deg, #f7f9ff 0%, #fff 100%);
}

.majors-public-hero::after {
  position: absolute;
  right: -170px;
  bottom: -270px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(49, 94, 231, 0.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 70px rgba(49, 94, 231, 0.03),
    0 0 0 140px rgba(49, 94, 231, 0.025);
  content: "";
  pointer-events: none;
}

.majors-public-hero h1,
.major-detail-hero h1,
.major-tool-hero h1 {
  max-width: 920px;
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: clamp(52px, 6.25vw, 80px);
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.96;
}

.majors-public-hero h1 span,
.major-detail-hero h1 span,
.major-tool-hero h1 span {
  color: var(--majors-blue);
}

.majors-hero-lede {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--majors-muted);
  font-size: 20px;
  line-height: 1.6;
}

.majors-search-form {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  max-width: 900px;
  min-height: 76px;
  margin-top: 28px;
  padding: 10px 11px 10px 24px;
  border: 1px solid rgba(32, 51, 91, 0.1);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 26px 75px rgba(35, 63, 128, 0.14);
}

.majors-search-form svg {
  width: 25px;
  fill: none;
  stroke: #65738c;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.majors-search-form input {
  width: 100%;
  height: 54px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--majors-ink);
  background: transparent;
  font-size: 18px;
}

.majors-search-form input::placeholder {
  color: #9099aa;
}

.majors-search-form button,
.major-primary-link,
.major-tool-cta a,
.major-final-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 25px;
  border: 0;
  border-radius: 17px;
  color: #fff;
  background: var(--majors-blue);
  box-shadow: 0 12px 26px rgba(49, 94, 231, 0.24);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.majors-search-form button:hover,
.major-primary-link:hover,
.major-tool-cta a:hover,
.major-final-cta a:hover {
  transform: translateY(-2px);
  background: var(--majors-blue-dark);
  box-shadow: 0 16px 32px rgba(49, 94, 231, 0.3);
}

.majors-prompt-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.majors-prompt-row button,
.major-family-filter button,
.majors-browse-button {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid var(--majors-line);
  border-radius: 999px;
  color: #43506a;
  background: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: border 160ms ease, color 160ms ease, background 160ms ease;
}

.majors-prompt-row button:hover,
.major-family-filter button:hover,
.major-family-filter button.active {
  border-color: rgba(49, 94, 231, 0.26);
  color: var(--majors-blue);
  background: #f0f4ff;
}


/* Prominent browse-all path beneath the natural-language search. */
.majors-quick-jump {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(300px, 390px);
  width: min(900px, 100%);
  align-items: center;
  gap: 20px;
  margin-top: 22px;
  padding: 18px 18px 18px 20px;
  overflow: hidden;
  border: 1px solid rgba(49, 94, 231, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(239, 244, 255, 0.98), rgba(250, 248, 255, 0.96));
  box-shadow:
    0 22px 54px rgba(35, 63, 128, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.majors-quick-jump::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #315ee7, #7759ef);
  content: "";
}

.majors-quick-jump::after {
  position: absolute;
  top: -54px;
  left: 190px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(105, 91, 237, 0.08);
  content: "";
  pointer-events: none;
}

.majors-quick-jump-intro {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.majors-quick-jump-icon {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border: 1px solid rgba(49, 94, 231, 0.16);
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(145deg, #315ee7, #6b55e8);
  box-shadow: 0 10px 24px rgba(49, 94, 231, 0.24);
}

.majors-quick-jump-icon svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.majors-quick-jump-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.majors-quick-jump-copy span {
  color: var(--majors-blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.majors-quick-jump-copy strong {
  color: var(--majors-ink);
  font-family: "Manrope", sans-serif;
  font-size: 18px;
  letter-spacing: -0.025em;
}

.majors-quick-jump-copy small {
  color: #68758d;
  font-size: 12px;
  line-height: 1.4;
}

.majors-quick-jump-badge {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid rgba(49, 94, 231, 0.14);
  border-radius: 999px;
  color: #3854a9;
  background: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.majors-quick-jump-select {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}

.majors-quick-jump-select select {
  width: 100%;
  min-height: 56px;
  padding: 0 50px 0 18px;
  border: 1.5px solid rgba(49, 94, 231, 0.32);
  border-radius: 17px;
  outline: 0;
  color: #213154;
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 10px 26px rgba(35, 63, 128, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.majors-quick-jump-select select:hover {
  border-color: rgba(49, 94, 231, 0.58);
  box-shadow: 0 14px 32px rgba(35, 63, 128, 0.16);
  transform: translateY(-1px);
}

.majors-quick-jump-select select:focus-visible {
  border-color: var(--majors-blue);
  box-shadow: 0 0 0 4px rgba(49, 94, 231, 0.15), 0 14px 32px rgba(35, 63, 128, 0.16);
}

.majors-quick-jump-select svg {
  position: absolute;
  top: 50%;
  right: 17px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  fill: none;
  stroke: var(--majors-blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  pointer-events: none;
}
.majors-route-strip {
  padding: 26px 0 30px;
  border-bottom: 1px solid var(--majors-line);
}

.majors-route-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--majors-line);
  border-radius: 24px;
  background: var(--majors-line);
}

.majors-route-grid > a {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 24px;
  color: var(--majors-ink);
  background: #fff;
  text-decoration: none;
  transition: background 160ms ease;
}

.majors-route-grid > a:hover {
  background: #f8faff;
}

.majors-route-kicker {
  display: block;
  margin-bottom: 18px;
  color: var(--majors-blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.majors-route-grid strong {
  display: block;
  font-family: "Manrope", sans-serif;
  font-size: 20px;
  letter-spacing: -0.025em;
}

.majors-route-grid small {
  display: block;
  margin-top: 9px;
  color: var(--majors-muted);
  font-size: 14px;
  line-height: 1.55;
}

.majors-route-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 20px;
  color: var(--majors-blue);
  font-size: 13px;
  font-weight: 800;
}

.majors-route-action span {
  font-size: 18px;
  transition: transform 160ms ease;
}

.majors-route-grid > a:hover .majors-route-action span {
  transform: translateX(3px);
}

.majors-explorer-section,
.major-detail-section,
.major-tool-content {
  padding: 68px 0;
}

.majors-section-heading,
.major-section-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 34px;
}

.majors-section-heading h2,
.major-section-intro h2,
.major-detail-two-column h2,
.majors-trust-grid h2,
.major-final-cta h2,
.major-tool-cta h2,
.major-decision-framework h2 {
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: clamp(35px, 4vw, 54px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1.03;
}

.majors-section-heading p:last-child,
.major-section-intro > p:last-child {
  max-width: 620px;
  margin: 12px 0 0;
  color: var(--majors-muted);
  font-size: 16px;
  line-height: 1.6;
}

.majors-browse-button {
  flex: 0 0 auto;
  min-height: 46px;
  background: #fff;
}

.major-family-filter {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
  padding-bottom: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.major-family-filter::-webkit-scrollbar {
  display: none;
}

.major-family-filter button {
  flex: 0 0 auto;
}

.major-search-insights {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: -8px 0 22px;
  padding: 14px 16px;
  border: 1px solid rgba(49, 94, 231, 0.12);
  border-radius: 16px;
  background: #f7f9ff;
}

.major-search-insights[hidden] {
  display: none;
}

.major-search-insights > span {
  margin-right: 2px;
  color: #66738b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.major-search-insights strong {
  padding: 6px 10px;
  border: 1px solid rgba(49, 94, 231, 0.12);
  border-radius: 999px;
  color: #315ee7;
  background: #fff;
  font-size: 13px;
  font-weight: 750;
}

@media (min-width: 981px) {
  .major-family-filter {
    flex-wrap: wrap;
    overflow-x: visible;
  }
}

.major-card-grid,
.major-related-grid {
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  gap: 18px;
}

.major-search-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 330px;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--major-accent), transparent 83%);
  border-radius: 26px;
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--major-accent), transparent 95%) 0%,
      #fff 42%
    );
  box-shadow: 0 15px 42px rgba(35, 50, 83, 0.06);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.major-search-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--major-accent);
  content: "";
  pointer-events: none;
}

.major-search-card:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--major-accent), transparent 60%);
  box-shadow: 0 26px 62px rgba(35, 50, 83, 0.12);
}

.major-search-card.is-comparing {
  border-color: var(--majors-blue);
  box-shadow:
    0 0 0 3px rgba(49, 94, 231, 0.12),
    0 23px 55px rgba(35, 50, 83, 0.11);
}

.major-card-link {
  display: flex;
  min-height: 330px;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 28px;
  color: var(--majors-ink);
  text-decoration: none;
}

.major-card-family {
  display: flex;
  min-height: 38px;
  align-items: flex-start;
  max-width: calc(100% - 105px);
  color: var(--major-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.major-card-compare {
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 18px;
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid rgba(20, 33, 61, 0.12);
  border-radius: 999px;
  color: #41506c;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 18px rgba(32, 50, 84, 0.06);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease;
}

.major-card-compare > span:first-child {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--majors-blue);
  background: #eef3ff;
  font-size: 14px;
  line-height: 1;
}

.major-card-compare:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(49, 94, 231, 0.3);
  color: var(--majors-blue);
  background: #fff;
}

.major-card-compare.is-selected {
  border-color: rgba(49, 94, 231, 0.3);
  color: var(--majors-blue);
  background: #eef3ff;
}

.major-card-compare.is-selected > span:first-child {
  color: #fff;
  background: var(--majors-blue);
}

.major-card-compare:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.major-search-card h3 {
  display: flex;
  min-height: 64px;
  align-items: flex-start;
  margin: 18px 0 9px;
  font-family: "Manrope", sans-serif;
  font-size: 29px;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.major-card-link > p {
  min-height: 70px;
  margin: 0;
  color: var(--majors-muted);
  font-size: 15px;
  line-height: 1.55;
}

.major-card-match {
  display: grid;
  min-height: 48px;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 17px;
  padding: 11px 12px;
  border-radius: 13px;
  background: color-mix(in srgb, var(--major-accent), transparent 94%);
}

.major-card-match > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--major-accent);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.major-card-match i {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--major-accent), transparent 88%);
}

.major-card-match > p {
  overflow: hidden;
  color: #53617a;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.major-card-topics {
  display: flex;
  min-height: 75px;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 7px;
  margin: 22px 0 26px;
}

.major-card-topics span {
  padding: 7px 9px;
  border-radius: 8px;
  color: #526079;
  background: #f2f5fa;
  font-size: 12px;
  font-weight: 650;
}

.major-card-footer {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(20, 33, 61, 0.08);
}

.major-card-footer > * {
  align-self: center;
}

.major-card-projects {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #56647c;
  font-size: 13px;
  font-weight: 750;
}

.major-card-projects > span {
  color: var(--major-accent);
}

.major-search-card strong {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--major-accent);
  font-size: 14px;
  white-space: nowrap;
}

.major-search-card strong span {
  font-size: 20px;
  transition: transform 180ms ease;
}

.major-search-card:hover strong span {
  transform: translateX(3px);
}

/* Premium major cards */
.major-search-card:has(.major-card-art) {
  min-height: 486px;
  isolation: isolate;
  border-color: color-mix(in srgb, var(--major-accent), transparent 78%);
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--major-accent), transparent 88%), transparent 32%),
    linear-gradient(155deg, color-mix(in srgb, var(--major-accent), transparent 96%) 0%, #fff 46%, #fff 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 18px 48px rgba(27, 42, 75, 0.08);
}

.major-card-art {
  position: absolute;
  z-index: 0;
  top: 74px;
  right: -74px;
  width: 224px;
  height: 174px;
  overflow: hidden;
  transform: rotate(var(--major-card-angle, 4deg));
  border-radius: 52px;
  opacity: 0.46;
  pointer-events: none;
}

/* Quiet Compass-orbit watermark: visible enough to brand the card, never content. */
.major-card-art::before,
.major-card-art::after,
.major-card-art i {
  position: absolute;
  content: "";
  border: 1px solid color-mix(in srgb, var(--major-accent), transparent 84%);
  border-radius: 999px;
}

.major-card-art::before {
  width: 154px;
  height: 154px;
  right: 10px;
  top: 9px;
  background: radial-gradient(circle at 42% 42%, color-mix(in srgb, var(--major-accent), transparent 96%), transparent 62%);
}

.major-card-art::after {
  width: 104px;
  height: 104px;
  right: 35px;
  top: 34px;
  border-color: color-mix(in srgb, var(--major-accent), transparent 88%);
}

.major-card-art i {
  top: 58px;
  right: 60px;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border-color: color-mix(in srgb, var(--major-accent), transparent 86%);
  background: rgba(255, 255, 255, 0.5);
  box-shadow:
    0 10px 28px color-mix(in srgb, var(--major-accent), transparent 94%),
    inset 0 1px 0 rgba(255,255,255,.8);
  transform: rotate(calc(var(--major-card-angle, 4deg) * -1));
}

.major-card-art > span {
  position: absolute;
  z-index: 1;
  right: 77px;
  top: 74px;
  color: var(--major-accent);
  font-family: "Manrope", sans-serif;
  font-size: 25px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.065em;
  opacity: 0.085;
  transform: rotate(calc(var(--major-card-angle, 4deg) * -1));
}

.major-card-topline {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 70px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 0;
}

.major-card-topline .major-card-family {
  min-height: 0;
  padding-top: 9px;
}

.major-card-topline .major-card-compare {
  position: static;
  flex: 0 0 auto;
}

.major-search-card:has(.major-card-art) .major-card-link {
  position: relative;
  z-index: 1;
  min-height: 412px;
  padding: 10px 24px 24px;
}

.major-search-card:has(.major-card-art) h3 {
  min-height: 66px;
  max-width: calc(100% - 58px);
  margin: 6px 0 10px;
  font-size: clamp(26px, 2.1vw, 31px);
  line-height: 1.05;
}

.major-search-card:has(.major-card-art) .major-card-tagline {
  min-height: 70px;
  max-width: 88%;
  font-size: 15px;
  line-height: 1.5;
}

.major-card-question {
  display: flex;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  margin-top: 17px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--major-accent), transparent 86%);
  border-radius: 15px;
  background: color-mix(in srgb, var(--major-accent), transparent 95%);
}

.major-card-question > span,
.major-card-signature > span {
  color: var(--major-accent);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.major-card-question > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #263553;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.38;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.major-card-signature {
  display: grid;
  min-height: 58px;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 12px 0 16px;
}

.major-card-signature > div {
  display: flex;
  min-width: 0;
  justify-content: flex-end;
  gap: 6px;
}

.major-card-signature i {
  overflow: hidden;
  padding: 6px 8px;
  border-radius: 999px;
  color: #55637b;
  background: #f1f4f9;
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.major-search-card:has(.major-card-art) .major-card-match {
  min-height: 44px;
  margin-top: 12px;
}

.major-search-card:has(.major-card-art) .major-card-footer {
  min-height: 62px;
  margin-top: auto;
  padding-top: 14px;
}

.major-search-card:has(.major-card-art) .major-card-projects {
  max-width: 56%;
  line-height: 1.35;
}

.major-search-card:has(.major-card-art) .major-card-footer strong {
  min-height: 42px;
  min-width: 116px;
  flex: 0 0 auto;
  justify-content: center;
  gap: 10px;
  padding: 0 15px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(180deg, color-mix(in srgb, var(--major-accent), #fff 8%), var(--major-accent));
  box-shadow:
    0 10px 24px color-mix(in srgb, var(--major-accent), transparent 82%),
    inset 0 1px 0 rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 820;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.major-search-card:has(.major-card-art):hover .major-card-footer strong {
  box-shadow: 0 14px 30px color-mix(in srgb, var(--major-accent), transparent 70%);
}

.major-results-more {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin: 28px auto 0;
  padding: 0 20px;
  border: 1px solid rgba(49, 94, 231, 0.2);
  border-radius: 999px;
  color: var(--majors-blue);
  background: #fff;
  box-shadow: 0 12px 30px rgba(35, 50, 83, 0.06);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.major-results-more:hover {
  transform: translateY(-2px);
  border-color: rgba(49, 94, 231, 0.36);
  box-shadow: 0 18px 38px rgba(35, 50, 83, 0.1);
}

.major-results-more[hidden] {
  display: none;
}

.major-compare-tray {
  position: fixed;
  z-index: 90;
  right: 24px;
  bottom: 22px;
  left: 24px;
  width: min(940px, calc(100% - 48px));
  margin: 0 auto;
  color: #fff;
  background: rgba(20, 33, 61, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 24px;
  box-shadow: 0 26px 80px rgba(13, 24, 47, 0.28);
  backdrop-filter: blur(18px);
  animation: major-compare-tray-in 200ms ease both;
}

.major-compare-tray[hidden] {
  display: none;
}

.major-compare-tray-inner {
  display: flex;
  min-height: 94px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 17px 18px 17px 24px;
}

.major-compare-tray-summary {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 22px;
}

.major-compare-tray-summary > div:first-child {
  min-width: 180px;
}

.major-compare-tray-summary strong,
.major-compare-tray-summary > div:first-child > span {
  display: block;
}

.major-compare-tray-summary strong {
  font-family: "Manrope", sans-serif;
  font-size: 17px;
  letter-spacing: -0.025em;
}

.major-compare-tray-summary > div:first-child > span {
  margin-top: 3px;
  color: #bfc9dc;
  font-size: 13px;
}

.major-compare-tray-selections {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.major-compare-tray-selections button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 9px;
  padding: 0 11px 0 13px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.major-compare-tray-selections button:hover {
  background: rgba(255, 255, 255, 0.14);
}

.major-compare-tray-selections button span {
  color: #bfc9dc;
  font-size: 18px;
  line-height: 1;
}

.major-compare-tray-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.major-compare-tray-actions button,
.major-compare-tray-actions a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border-radius: 15px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.major-compare-tray-actions button {
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #d5dced;
  background: transparent;
}

.major-compare-tray-actions button:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.major-compare-tray-actions a {
  gap: 12px;
  border: 0;
  color: #fff;
  background: var(--majors-blue);
  box-shadow: 0 12px 28px rgba(49, 94, 231, 0.3);
}

.major-compare-tray-actions a:hover {
  background: #416bf0;
}

.major-compare-tray-actions a[hidden] {
  display: none;
}

body.major-compare-tray-visible {
  padding-bottom: 118px;
}

@keyframes major-compare-tray-in {
  from {
    transform: translateY(12px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.majors-empty {
  padding: 70px 24px;
  border: 1px dashed rgba(49, 94, 231, 0.25);
  border-radius: 25px;
  text-align: center;
}

.majors-empty strong {
  font-family: "Manrope", sans-serif;
  font-size: 25px;
}

.majors-empty p {
  margin: 8px 0 0;
  color: var(--majors-muted);
  font-size: 16px;
}

.major-directory-section {
  padding: 72px 0;
  border-top: 1px solid var(--majors-line);
  background: #f8faff;
}

.major-directory-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 28px;
}

.major-directory-heading h2 {
  margin: 0;
  color: var(--majors-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(35px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1.04;
}

.major-directory-heading > p {
  margin: 0;
  color: var(--majors-muted);
  font-size: 16px;
  line-height: 1.65;
}

.major-directory {
  overflow: hidden;
  border: 1px solid var(--majors-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(34, 52, 91, 0.06);
}

.major-directory summary {
  display: flex;
  min-height: 92px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
}

.major-directory summary::-webkit-details-marker {
  display: none;
}

.major-directory summary > span:first-child {
  display: grid;
  gap: 3px;
}

.major-directory summary strong {
  color: var(--majors-ink);
  font-family: "Manrope", sans-serif;
  font-size: 18px;
}

.major-directory summary small {
  color: var(--majors-muted);
  font-size: 13px;
}

.major-directory summary > span:last-child {
  display: inline-flex;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--majors-blue);
  background: #eef3ff;
  font-size: 22px;
  transition: transform 160ms ease;
}

.major-directory[open] summary > span:last-child {
  transform: rotate(45deg);
}

.major-directory-groups {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 38px 28px;
  padding: 8px 24px 32px;
  border-top: 1px solid var(--majors-line);
}

.major-directory-groups section {
  padding-top: 24px;
}

.major-directory-groups h3 {
  margin: 0 0 13px;
  color: var(--majors-blue);
  font-family: "Manrope", sans-serif;
  font-size: 18px;
}

.major-directory-groups ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.major-directory-groups a {
  color: #42506a;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
}

.major-directory-groups a:hover {
  color: var(--majors-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.majors-trust-section {
  padding: 78px 0;
  color: #fff;
  background: #14213d;
}

.majors-trust-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 100px;
  align-items: end;
}

.majors-trust-grid .majors-eyebrow {
  color: #9eb3ff;
}

.majors-trust-grid > p {
  margin: 0;
  color: #cbd3e2;
  font-size: 18px;
  line-height: 1.7;
}

.majors-trust-grid h2 {
  color: #fff;
}

.majors-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 46px;
  color: #708099;
  font-size: 13px;
  font-weight: 700;
}

.majors-breadcrumb a {
  color: #596a84;
  text-decoration: none;
}

.major-detail-hero,
.major-tool-hero {
  position: relative;
  overflow: hidden;
  padding: 58px 0 86px;
  background:
    radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--major-accent, #315ee7), transparent 86%), transparent 30%),
    linear-gradient(180deg, #f8faff 0%, #fff 100%);
}

.major-detail-hero h1 {
  max-width: 1040px;
  font-size: clamp(50px, 6.4vw, 82px);
}

.major-detail-hero::after {
  position: absolute;
  top: 150px;
  right: -80px;
  width: 330px;
  height: 330px;
  border: 60px solid color-mix(in srgb, var(--major-accent), transparent 93%);
  border-radius: 50%;
  content: "";
}

.major-detail-family {
  display: inline-flex;
  margin-bottom: 22px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--major-accent);
  background: color-mix(in srgb, var(--major-accent), transparent 91%);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.major-detail-tagline {
  max-width: 760px;
  margin: 28px 0 0;
  color: #34435e;
  font-family: "Manrope", sans-serif;
  font-size: clamp(23px, 3vw, 33px);
  font-weight: 700;
  letter-spacing: -0.035em;
}

.major-detail-overview {
  max-width: 820px;
  margin: 18px 0 0;
  color: var(--majors-muted);
  font-size: 18px;
  line-height: 1.75;
}

.major-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 35px;
}

.major-secondary-link {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 0 23px;
  border: 1px solid var(--majors-line);
  border-radius: 17px;
  color: var(--majors-ink);
  background: #fff;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.major-detail-two-column {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 90px;
  align-items: start;
}

.major-check-list {
  display: grid;
  gap: 12px;
}

.major-check-list p {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 14px;
  align-items: start;
  margin: 0;
  padding: 21px 22px;
  border: 1px solid var(--majors-line);
  border-radius: 18px;
  color: #33405a;
  background: #fff;
  font-size: 16px;
  line-height: 1.55;
}

.major-check-list span {
  display: inline-flex;
  width: 27px;
  height: 27px;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  color: var(--majors-blue);
  background: #edf2ff;
  font-size: 13px;
  font-weight: 900;
}

.major-detail-soft {
  background: var(--majors-soft);
}

.major-section-intro {
  display: block;
  max-width: 820px;
}

.major-section-intro.compact {
  max-width: 660px;
}

.major-study-grid {
  display: grid;
  grid-template-columns: 1fr 0.92fr;
  gap: 24px;
}

.major-dimensions,
.major-question-card {
  padding: 30px;
  border: 1px solid var(--majors-line);
  border-radius: 25px;
  background: #fff;
}

.major-dimension-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid var(--majors-line);
}

.major-dimension-row:last-child {
  border-bottom: 0;
}

.major-dimension-row > span {
  color: #33405a;
  font-size: 14px;
  font-weight: 700;
}

.major-dimension-row > strong {
  min-width: 78px;
  padding: 8px 11px;
  border: 1px solid #dbe3f3;
  border-radius: 999px;
  color: #3b4d70;
  background: #f3f6fc;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.major-question-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #fff;
  border-color: rgba(96, 99, 255, 0.20);
  background:
    radial-gradient(circle at 92% 10%, rgba(151, 142, 255, 0.28), transparent 34%),
    radial-gradient(circle at 8% 100%, rgba(117, 106, 255, 0.16), transparent 40%),
    linear-gradient(145deg, #3437b8 0%, #4749d0 48%, #2f3192 100%);
  box-shadow:
    0 24px 56px rgba(47, 49, 146, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.major-question-card::before,
.major-question-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 999px;
  pointer-events: none;
}

.major-question-card::before {
  width: 220px;
  height: 220px;
  right: -105px;
  bottom: -120px;
  box-shadow:
    0 0 0 40px rgba(255, 255, 255, 0.018),
    0 0 0 80px rgba(255, 255, 255, 0.012);
}

.major-question-card::after {
  width: 92px;
  height: 92px;
  right: 34px;
  bottom: 34px;
  opacity: 0.55;
}

.major-question-card > span {
  display: block;
  margin-bottom: 18px;
  color: rgba(224, 227, 255, 0.88);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.major-question-card p {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  min-height: 0;
  margin: 0;
  padding: 19px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  color: rgba(255, 255, 255, 0.98);
  font-family: "Manrope", sans-serif;
  font-size: 19px;
  font-weight: 720;
  letter-spacing: -0.028em;
  line-height: 1.34;
}

.major-question-card p:last-child {
  border-bottom: 0;
}

@media (min-width: 761px) {
  .major-study-grid {
    align-items: stretch;
  }

  .major-question-card {
    min-height: 100%;
  }
}

@media (max-width: 760px) {
  .major-question-card {
    padding: 26px 24px;
  }

  .major-question-card > span {
    margin-bottom: 12px;
  }

  .major-question-card p {
    flex: none;
    padding: 16px 0;
    font-size: 18px;
  }
}

.major-course-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.major-course-row span {
  padding: 12px 15px;
  border: 1px solid var(--majors-line);
  border-radius: 12px;
  color: #42506a;
  background: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 700;
}

.major-career-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.major-career-grid article {
  min-height: 265px;
  padding: 25px;
  border: 1px solid var(--majors-line);
  border-radius: 22px;
  background: #fff;
}

.major-career-grid article > span {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: var(--majors-blue);
  background: #edf2ff;
  font-size: 20px;
}

.major-career-grid h3 {
  margin: 38px 0 10px;
  font-family: "Manrope", sans-serif;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.major-career-grid p,
.major-career-note {
  color: var(--majors-muted);
  font-size: 15px;
  line-height: 1.6;
}

.major-career-note {
  max-width: 900px;
  margin: 24px 0 0;
  padding-left: 17px;
  border-left: 3px solid #c7d2f5;
}

.major-project-section {
  background: var(--majors-warm);
}

.major-project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.major-project-value {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 54px;
  align-items: center;
  margin: 0 0 30px;
  padding: 38px 40px;
  overflow: hidden;
  border: 1px solid rgba(49, 94, 231, 0.18);
  border-radius: 26px;
  color: var(--majors-ink);
  background:
    radial-gradient(circle at 90% 10%, rgba(49, 94, 231, 0.1), transparent 34%),
    linear-gradient(135deg, #fff 0%, #fbfcff 70%, #f3f6ff 100%);
}

.major-project-value-copy {
  min-width: 0;
}

.major-project-value-copy > span {
  color: var(--majors-blue);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.major-project-value-copy h3 {
  max-width: 830px;
  margin: 14px 0 0;
  color: var(--majors-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(27px, 3.2vw, 39px);
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.major-project-value-copy p {
  max-width: 820px;
  margin: 16px 0 0;
  color: var(--majors-muted);
  font-size: 16px;
  line-height: 1.65;
}

.major-project-value-copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.major-project-value-copy li {
  padding: 8px 12px;
  border: 1px solid #dce4f5;
  border-radius: 999px;
  color: #4a5872;
  background: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 800;
}

.major-project-value-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}

.major-project-value-actions .major-project-value-cta {
  display: inline-flex;
  width: 100%;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 21px;
  border-radius: 16px;
  color: #fff;
  background: var(--majors-blue);
  box-shadow: 0 16px 34px rgba(49, 94, 231, 0.2);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.major-project-value-actions .major-project-value-cta:hover {
  transform: translateY(-2px);
  background: #244fd5;
  box-shadow: 0 20px 42px rgba(49, 94, 231, 0.27);
}

.major-project-value-actions .major-project-value-pricing {
  display: inline-flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid #d8e0ef;
  border-radius: 15px;
  color: #44516a;
  background: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.major-project-value-actions .major-project-value-pricing:hover {
  border-color: rgba(49, 94, 231, 0.34);
  color: var(--majors-blue);
  background: #fff;
}

.major-project-card {
  min-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(111, 82, 31, 0.12);
  border-radius: 24px;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 27px;
}

.major-project-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.major-project-card-top > span {
  color: #9b6e20;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.major-project-card-top small {
  color: #78694f;
  font-size: 12px;
  font-weight: 700;
}

.major-project-card h3 {
  margin: 22px 0 11px;
  font-family: "Manrope", sans-serif;
  font-size: 25px;
  letter-spacing: -0.04em;
  line-height: 1.08;
}

.major-project-card p {
  margin: 0;
  color: var(--majors-muted);
  font-size: 15px;
  line-height: 1.6;
}

.major-project-card dl {
  margin: 21px 0 24px;
  padding: 16px 0 0;
  border-top: 1px solid rgba(111, 82, 31, 0.1);
}

.major-project-card dt {
  margin-bottom: 5px;
  color: #907145;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.major-project-card dd {
  margin: 0;
  color: #3b465c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.major-project-card a {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding: 0 18px;
  border: 1px solid #dce5ff;
  border-radius: 15px;
  color: var(--majors-blue);
  background: #f0f4ff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.major-project-card a:hover {
  transform: translateY(-2px);
  border-color: rgba(49, 94, 231, 0.32);
  background: #e8eeff;
}

.major-sources-section {
  padding: 0 0 88px;
}

.major-sources-section details {
  border: 1px solid var(--majors-line);
  border-radius: 20px;
  background: #fafbfe;
}

.major-sources-section summary {
  padding: 21px 24px;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

.major-sources-section details > div {
  padding: 0 24px 24px;
}

.major-sources-section p,
.major-sources-section li {
  color: var(--majors-muted);
  font-size: 14px;
  line-height: 1.65;
}

.major-sources-section ul {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.major-sources-section li {
  display: grid;
  grid-template-columns: minmax(200px, 0.5fr) 1fr;
  gap: 20px;
}

.major-sources-section a {
  color: var(--majors-blue);
  font-weight: 700;
}

.major-final-cta {
  padding: 78px 0;
  color: #fff;
  background: #15213a;
}

.major-final-cta .majors-public-shell,
.major-tool-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.major-final-cta span,
.major-tool-cta span {
  display: block;
  margin-bottom: 8px;
  color: #aab9dc;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.major-final-cta h2 {
  max-width: 760px;
  color: #fff;
}

.major-tool-hero {
  padding-bottom: 86px;
  --major-accent: var(--majors-blue);
}

.major-tool-hero h1 {
  max-width: 980px;
}

.major-tool-hero > .majors-public-shell > p:last-child {
  max-width: 760px;
  margin: 25px 0 0;
  color: var(--majors-muted);
  font-size: 19px;
  line-height: 1.65;
}

.major-compare-hero {
  position: relative;
  overflow: hidden;
  padding: 34px 0 48px;
  background:
    radial-gradient(circle at 84% 14%, rgba(49, 94, 231, 0.15), transparent 28%),
    linear-gradient(180deg, #f7f9ff 0%, #fff 100%);
}

.major-compare-hero .majors-breadcrumb {
  margin-bottom: 28px;
}

.major-compare-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.36fr);
  gap: 56px;
  align-items: end;
}

.major-compare-intro h1 {
  max-width: 760px;
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: clamp(44px, 5vw, 64px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.98;
}

.major-compare-intro h1 span {
  color: var(--majors-blue);
}

.major-compare-intro > div > p:last-child {
  max-width: 740px;
  margin: 18px 0 0;
  color: var(--majors-muted);
  font-size: 17px;
  line-height: 1.6;
}

.major-compare-limit {
  display: grid;
  gap: 4px;
  margin: 0 0 3px;
  padding: 16px 18px;
  border: 1px solid rgba(49, 94, 231, 0.14);
  border-radius: 17px;
  color: var(--majors-muted);
  background: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  line-height: 1.45;
}

.major-compare-limit strong {
  color: var(--majors-ink);
  font-size: 14px;
}

.major-compare-controls {
  margin-top: 28px;
  padding: 18px;
  border: 1px solid rgba(20, 33, 61, 0.1);
  border-radius: 23px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 20px 56px rgba(35, 63, 128, 0.1);
}

.major-compare-controls {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: end;
}

.major-compare-controls label,
.major-career-picker {
  color: #4c5a73;
  font-size: 13px;
  font-weight: 800;
}

.major-compare-controls select,
.major-career-picker select {
  display: block;
  width: 100%;
  height: 64px;
  margin-top: 8px;
  padding: 0 18px;
  border: 1px solid var(--majors-line);
  border-radius: 17px;
  outline: 0;
  color: var(--majors-ink);
  background: #fff;
  font-size: 17px;
  font-weight: 700;
}

.major-compare-controls > span {
  padding-bottom: 22px;
  color: #8490a4;
  font-size: 14px;
  font-weight: 700;
}

.major-compare-swap {
  display: inline-flex;
  min-width: 72px;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 14px;
  border: 1px solid var(--majors-line);
  border-radius: 17px;
  color: #53617a;
  background: #f6f8fc;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.major-compare-swap span:first-child {
  color: var(--majors-blue);
  font-size: 20px;
}

.major-compare-swap:hover {
  border-color: rgba(49, 94, 231, 0.28);
  color: var(--majors-blue);
  background: #eef3ff;
}

.major-compare-content {
  padding: 46px 0 78px;
}

.major-comparison {
  overflow: hidden;
  border: 1px solid var(--majors-line);
  border-radius: 25px;
  box-shadow: 0 22px 64px rgba(35, 50, 83, 0.07);
}

.major-comparison-head,
.major-comparison-row {
  display: grid;
  grid-template-columns: 220px 1fr 1fr;
}

.major-comparison-head > div,
.major-comparison-row > div,
.major-comparison-label {
  padding: 24px;
  border-right: 1px solid var(--majors-line);
}

.major-comparison-head > div:last-child,
.major-comparison-row > div:last-child {
  border-right: 0;
}

.major-comparison-head {
  background: #f4f7fd;
}

.major-comparison-head > div:not(.major-comparison-label) {
  position: relative;
  overflow: hidden;
}

.major-comparison-head > div:not(.major-comparison-label)::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--major-accent);
  content: "";
}

.major-comparison-family {
  display: block;
  margin-bottom: 15px;
  color: var(--major-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.major-comparison-head h2 {
  margin: 0 0 8px;
  font-family: "Manrope", sans-serif;
  font-size: 28px;
  letter-spacing: -0.04em;
}

.major-comparison-head p,
.major-comparison-row p,
.major-comparison-row li {
  margin: 0;
  color: var(--majors-muted);
  font-size: 15px;
  line-height: 1.6;
}

.major-comparison-head a {
  color: var(--majors-blue);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.major-comparison-row {
  border-top: 1px solid var(--majors-line);
  background: #fff;
}

.major-comparison-row:nth-child(odd) {
  background: #fcfdff;
}

.major-comparison-label {
  color: #33405a;
  background: #fafbfe;
  font-size: 14px;
  font-weight: 800;
}

.major-comparison-row ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 19px;
}

.major-comparison-cell::before {
  display: none;
}

.major-comparison-project-link {
  color: var(--majors-blue);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
  text-decoration: none;
}

.major-compare-meter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 11px;
}

.major-compare-meter:last-child {
  margin-bottom: 0;
}

.major-compare-meter strong {
  color: #33405a;
  font-size: 13px;
  font-weight: 700;
}

.major-compare-meter span {
  min-width: 68px;
  padding: 6px 9px;
  border-radius: 999px;
  color: #66738b;
  background: #f1f4fa;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.major-comparison-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: center;
  margin-top: 30px;
  padding: 34px;
  border-radius: 25px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%, rgba(93, 123, 255, 0.25), transparent 30%),
    #14213d;
}

.major-comparison-next > div:first-child > span {
  color: #a9bbff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.major-comparison-next h2 {
  max-width: 700px;
  margin: 10px 0 0;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.major-comparison-next p {
  max-width: 700px;
  margin: 12px 0 0;
  color: #cbd3e2;
  font-size: 15px;
  line-height: 1.6;
}

.major-comparison-next-actions {
  display: grid;
  min-width: 240px;
  gap: 10px;
}

.major-comparison-next-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.major-comparison-next-actions a:first-child {
  border-color: var(--majors-blue);
  background: var(--majors-blue);
}

.major-comparison-next-actions a:hover {
  background: rgba(255, 255, 255, 0.15);
}

.major-comparison-next-actions a:first-child:hover {
  background: var(--majors-blue-dark);
}

.major-theme-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.major-theme-grid a {
  min-height: 230px;
  padding: 26px;
  border: 1px solid var(--majors-line);
  border-radius: 23px;
  color: var(--majors-ink);
  background: #fff;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.major-theme-grid a:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(35, 51, 88, 0.09);
}

.major-theme-grid span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: var(--majors-blue);
  background: #edf2ff;
  font-size: 20px;
}

.major-theme-grid h3 {
  margin: 44px 0 10px;
  font-family: "Manrope", sans-serif;
  font-size: 22px;
  letter-spacing: -0.03em;
}

.major-theme-grid p {
  margin: 0;
  color: var(--majors-muted);
  font-size: 15px;
  line-height: 1.6;
}

.major-decision-framework {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 80px;
  align-items: start;
  margin-top: 100px;
  padding: 50px;
  border-radius: 30px;
  background: var(--majors-soft);
}

.major-decision-framework ol {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.major-decision-framework li {
  display: grid;
  grid-template-columns: 45px 1fr;
  column-gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--majors-line);
}

.major-decision-framework li:last-child {
  border-bottom: 0;
}

.major-decision-framework li > span {
  grid-row: span 2;
  color: var(--majors-blue);
  font-size: 13px;
  font-weight: 800;
}

.major-decision-framework strong {
  font-size: 17px;
}

.major-decision-framework li p {
  margin: 6px 0 0;
  color: var(--majors-muted);
  font-size: 15px;
  line-height: 1.55;
}

.major-tool-cta {
  margin-top: 30px;
  padding: 46px;
  border-radius: 30px;
  color: #fff;
  background: #15213a;
}

.major-tool-cta h2 {
  color: #fff;
}

.major-career-picker {
  max-width: 520px;
  margin-bottom: 32px;
}

.major-career-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 25px;
}

.major-career-results-head h2 {
  margin: 0;
  font-family: "Manrope", sans-serif;
  font-size: clamp(34px, 4vw, 49px);
  letter-spacing: -0.05em;
}

.major-career-results-head a {
  color: var(--majors-blue);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.major-career-context {
  max-width: 900px;
  margin: 24px 0 0;
  padding: 22px;
  border-radius: 17px;
  color: #56647d;
  background: var(--majors-soft);
  font-size: 15px;
  line-height: 1.65;
}

.major-curated-links-section {
  padding: 88px 0;
  border-top: 1px solid var(--majors-line);
  background:
    radial-gradient(circle at 12% 0%, rgba(49, 94, 231, 0.07), transparent 32%),
    #fff;
}

.major-curated-links-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 30px;
}

.major-curated-links-heading h2 {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--majors-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: -0.05em;
  line-height: 1.04;
}

.major-curated-links-heading > a {
  flex: 0 0 auto;
  padding: 13px 18px;
  border: 1px solid var(--majors-line);
  border-radius: 999px;
  color: #36435c;
  background: rgba(255, 255, 255, 0.84);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.major-curated-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.major-curated-links > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 74px;
  padding: 16px 20px;
  border: 1px solid var(--majors-line);
  border-radius: 18px;
  color: var(--majors-ink);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 11px 28px rgba(35, 51, 88, 0.04);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.major-curated-links > a:hover {
  transform: translateY(-2px);
  border-color: rgba(49, 94, 231, 0.3);
  box-shadow: 0 17px 36px rgba(35, 51, 88, 0.09);
}

.major-curated-links i {
  color: #8995aa;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.major-curated-links strong {
  color: var(--majors-blue);
  font-size: 19px;
}

.major-curated-compare-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  margin-top: 76px;
}

.major-curated-compare-intro h1 {
  max-width: 1040px;
  margin: 14px 0 0;
  color: var(--majors-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(52px, 7.4vw, 102px);
  letter-spacing: -0.07em;
  line-height: 0.94;
}

.major-curated-compare-intro h1 span {
  display: block;
  color: var(--majors-blue);
}

.major-curated-compare-intro p {
  max-width: 780px;
  margin: 24px 0 0;
  color: var(--majors-muted);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.55;
}

.major-curated-compare-intro > a {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  gap: 14px;
  padding: 0 21px;
  border: 1px solid rgba(49, 94, 231, 0.22);
  border-radius: 16px;
  color: var(--majors-blue);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 13px 30px rgba(49, 94, 231, 0.08);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.major-curated-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 42px;
}

.major-curated-choice-grid article {
  position: relative;
  min-height: 148px;
  padding: 26px 28px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--major-accent) 22%, #dfe4ed);
  border-radius: 23px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--major-accent) 7%, #fff), #fff 64%);
}

.major-curated-choice-grid article::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--major-accent);
  content: "";
}

.major-curated-choice-grid span {
  color: var(--major-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.major-curated-choice-grid p {
  max-width: 620px;
  margin: 15px 0 0;
  color: #36435c;
  font-size: 16px;
  line-height: 1.62;
}

.major-curated-compare-page .major-compare-content {
  padding-top: 54px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .major-card-grid,
  .major-related-grid,
  .major-theme-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .major-career-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .major-project-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .major-curated-links-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .major-curated-compare-intro {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .major-curated-compare-intro {
    display: grid;
    margin-top: 48px;
  }

  .major-curated-compare-intro > a {
    width: fit-content;
  }

  .majors-route-grid {
    grid-template-columns: 1fr;
  }

  .majors-route-grid > a {
    min-height: auto;
  }

  .major-study-grid,
  .major-detail-two-column,
  .majors-trust-grid,
  .major-decision-framework {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .major-comparison-head,
  .major-comparison-row {
    grid-template-columns: 155px 1fr 1fr;
  }

  .major-directory-groups {
    grid-template-columns: repeat(3, 1fr);
  }

  .major-compare-intro,
  .major-comparison-next {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .major-compare-limit {
    display: inline-grid;
    width: fit-content;
  }

  .major-comparison-next-actions {
    grid-template-columns: 1fr 1fr;
    min-width: 0;
  }

  .major-compare-tray-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 700px) {
  .majors-public-shell {
    width: min(100% - 32px, 1180px);
  }

  .majors-public-hero {
    padding: 36px 0 58px;
  }

  .majors-public-hero h1,
  .major-detail-hero h1,
  .major-tool-hero h1 {
    font-size: clamp(47px, 14vw, 66px);
  }

  .majors-hero-lede,
  .major-detail-overview,
  .major-tool-hero > .majors-public-shell > p:last-child {
    font-size: 17px;
  }

  .majors-search-form {
    grid-template-columns: 24px minmax(0, 1fr);
    min-height: 72px;
    padding: 8px 17px;
    border-radius: 21px;
  }

  .majors-search-form input {
    height: 54px;
    font-size: 16px;
  }

  .majors-search-form button {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 5px;
  }

  .majors-prompt-row {
    flex-wrap: nowrap;
    padding-bottom: 4px;
    overflow-x: auto;
  }

  .majors-prompt-row button {
    flex: 0 0 auto;
  }

  .majors-quick-jump {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 20px;
    padding: 17px;
    border-radius: 21px;
  }

  .majors-quick-jump::after {
    top: -70px;
    right: -45px;
    left: auto;
  }

  .majors-quick-jump-intro {
    align-items: flex-start;
  }

  .majors-quick-jump-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 14px;
  }

  .majors-quick-jump-copy strong {
    font-size: 17px;
  }

  .majors-quick-jump-badge {
    display: none;
  }

  .majors-quick-jump-select {
    width: 100%;
  }

  .majors-quick-jump-select select {
    min-height: 56px;
    font-size: 16px;
  }

  .major-curated-links-section {
    padding: 62px 0;
  }

  .major-curated-links {
    grid-template-columns: 1fr;
  }

  .major-curated-links > a {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    padding: 15px 16px;
  }

  .major-curated-choice-grid {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .major-curated-choice-grid article {
    min-height: 0;
    padding: 23px;
  }

  .major-curated-compare-intro h1 {
    font-size: clamp(45px, 13.5vw, 66px);
  }

  .major-search-card:has(.major-card-art),
  .major-search-card:has(.major-card-art) .major-card-link {
    min-height: 0;
  }

  .major-search-card:has(.major-card-art) .major-card-link {
    padding: 8px 20px 22px;
  }

  .major-card-topline {
    min-height: 66px;
    padding: 20px 20px 0;
  }

  .major-card-art {
    top: 62px;
    right: -86px;
    transform: scale(0.82) rotate(var(--major-card-angle, 4deg));
    opacity: 0.4;
  }

  .major-search-card:has(.major-card-art) h3 {
    min-height: 0;
    max-width: calc(100% - 65px);
    font-size: 28px;
  }

  .major-search-card:has(.major-card-art) .major-card-tagline {
    min-height: 0;
  }

  .major-card-signature {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .major-card-signature > div {
    justify-content: flex-start;
  }

  .major-search-card:has(.major-card-art) .major-card-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .major-search-card:has(.major-card-art) .major-card-projects {
    max-width: none;
  }

  .major-search-card:has(.major-card-art) .major-card-footer strong {
    width: 100%;
  }

  .majors-route-strip {
    padding-top: 20px;
  }

  .majors-route-grid {
    border-radius: 20px;
  }

  .majors-explorer-section,
  .major-detail-section,
  .major-tool-content {
    padding: 58px 0;
  }

  .major-directory-section {
    padding: 58px 0;
  }

  .major-directory-heading {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .major-directory-groups {
    grid-template-columns: repeat(2, 1fr);
  }

  .majors-section-heading,
  .major-final-cta .majors-public-shell,
  .major-tool-cta,
  .major-career-results-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .majors-section-heading h2,
  .major-section-intro h2,
  .major-detail-two-column h2,
  .majors-trust-grid h2,
  .major-final-cta h2,
  .major-tool-cta h2,
  .major-decision-framework h2 {
    font-size: 37px;
  }

  .major-card-grid,
  .major-related-grid,
  .major-theme-grid,
  .major-career-grid,
  .major-project-grid {
    grid-template-columns: 1fr;
  }

  .major-search-card,
  .major-card-link {
    min-height: 315px;
  }

  .major-search-card h3,
  .major-card-link > p,
  .major-card-topics {
    min-height: 0;
  }

  .major-detail-hero,
  .major-tool-hero {
    padding: 38px 0 62px;
  }

  .majors-breadcrumb {
    margin-bottom: 50px;
  }

  .major-detail-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .major-primary-link,
  .major-secondary-link {
    width: 100%;
    text-align: center;
  }

  .major-dimension-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
  }

  .major-course-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .major-career-grid article {
    min-height: 240px;
  }

  .major-project-value {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 28px 24px;
  }

  .major-project-value-actions {
    width: 100%;
    gap: 10px;
  }

  .major-project-value-actions .major-project-value-cta,
  .major-project-value-actions .major-project-value-pricing {
    width: 100%;
  }

  .major-project-value-copy h3 {
    font-size: 28px;
  }

  .major-project-value-copy ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .major-project-value-copy li {
    width: fit-content;
  }

  .major-project-card {
    min-height: 360px;
  }

  .major-sources-section li {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .major-compare-controls {
    grid-template-columns: 1fr;
  }

  .major-compare-swap {
    width: 100%;
    min-height: 48px;
  }

  .major-comparison {
    overflow: hidden;
  }

  .major-comparison-head,
  .major-comparison-row {
    min-width: 0;
    grid-template-columns: 1fr 1fr;
  }

  .major-comparison-head > .major-comparison-label {
    display: none;
  }

  .major-comparison-head > div,
  .major-comparison-row > div,
  .major-comparison-label {
    padding: 18px;
  }

  .major-comparison-head h2 {
    font-size: 22px;
  }

  .major-comparison-head p,
  .major-comparison-row p,
  .major-comparison-row li {
    font-size: 14px;
  }

  .major-comparison-row > .major-comparison-label {
    grid-column: 1 / -1;
    padding: 12px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--majors-line);
    background: #f4f7fd;
  }

  .major-comparison-cell::before {
    display: block;
    margin-bottom: 13px;
    color: var(--majors-blue);
    content: attr(data-major-name);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .major-comparison-next {
    padding: 26px 22px;
  }

  .major-comparison-next-actions {
    grid-template-columns: 1fr;
  }

  .major-compare-hero {
    padding: 28px 0 36px;
  }

  .major-compare-intro h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .major-compare-content {
    padding: 32px 0 58px;
  }

  .major-decision-framework,
  .major-tool-cta {
    padding: 28px;
  }

  .major-compare-tray {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: calc(100% - 24px);
    border-radius: 21px;
  }

  .major-compare-tray-inner,
  .major-compare-tray-summary,
  .major-compare-tray-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .major-compare-tray-inner {
    gap: 14px;
    padding: 18px;
  }

  .major-compare-tray-summary {
    gap: 11px;
  }

  .major-compare-tray-summary > div:first-child {
    min-width: 0;
  }

  .major-compare-tray-selections {
    flex-wrap: nowrap;
    padding-bottom: 2px;
    overflow-x: auto;
  }

  .major-compare-tray-selections button {
    flex: 0 0 auto;
  }

  .major-compare-tray-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .major-compare-tray-actions a {
    min-width: 0;
    padding-right: 12px;
    padding-left: 12px;
  }

  body.major-compare-tray-visible {
    padding-bottom: 210px;
  }
}

@media (max-width: 480px) {
  .major-directory-groups {
    grid-template-columns: 1fr;
  }

  .major-comparison-head > div,
  .major-comparison-row > div,
  .major-comparison-label {
    padding: 15px;
  }

  .major-comparison-head h2 {
    font-size: 19px;
  }

  .major-comparison-head p {
    font-size: 13px;
  }

  .major-compare-meter {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .major-compare-meter span {
    width: fit-content;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .major-search-card,
  .major-card-compare,
  .major-search-card strong span,
  .major-theme-grid a,
  .majors-search-form button,
  .major-primary-link,
  .major-tool-cta a,
  .major-final-cta a {
    transition: none;
  }

  .major-compare-tray {
    animation: none;
  }

}


/* =========================================================
   What Can I Do With My Major? — 10/10 authority page
========================================================= */

.major-career-authority-page .major-career-hero {
  padding-bottom: 30px;
}

.major-career-authority-page .major-career-hero .majors-breadcrumb {
  margin-bottom: 34px;
}

.major-career-authority-page .major-career-hero h1 {
  max-width: 860px;
}

.major-career-authority-page .major-career-hero > .majors-public-shell > p:last-child {
  max-width: 820px;
  margin-top: 18px;
}

.major-career-authority-page .major-career-content {
  padding-top: 22px;
}

.major-career-tool-intro {
  max-width: 820px;
  margin-bottom: 22px;
}

.major-career-tool-intro h2 {
  margin: 0;
  color: #17223a;
  font-family: "Manrope", sans-serif;
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.major-career-tool-intro > p:last-child {
  margin: 10px 0 0;
  color: #68758c;
  font-size: 15px;
  line-height: 1.55;
}

.major-career-authority-page .major-career-picker {
  max-width: 720px;
  margin-bottom: 34px;
}

.major-career-authority-page .major-career-picker select {
  min-height: 66px;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(24, 41, 78, 0.06);
}

.major-career-authority-page [data-major-career-results] {
  margin-top: 0;
}

.major-career-authority-page [data-major-career-results] a[href*="/compass/majors/"][href$="/"]:not([class]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 20px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(180deg, #4268ef 0%, #3154cf 100%);
  color: #fff !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(49, 94, 231, 0.22);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.major-career-authority-page [data-major-career-results] a[href*="/compass/majors/"][href$="/"]:not([class]):hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(49, 94, 231, 0.26);
}

.major-career-authority {
  margin-top: 84px;
  padding-top: 74px;
  border-top: 1px solid rgba(20, 33, 61, .09);
}

.major-career-authority-copy {
  max-width: 850px;
}

.major-career-authority-copy h2,
.major-career-faq h2 {
  margin: 0;
  color: #17223a;
  font-family: "Manrope", sans-serif;
  font-size: clamp(38px, 4.8vw, 60px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
}

.major-career-authority-copy > p:last-child {
  max-width: 760px;
  margin: 16px 0 0;
  color: #68758c;
  font-size: 16px;
  line-height: 1.62;
}

.major-career-authority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
}

.major-career-authority-grid article {
  min-height: 245px;
  padding: 26px;
  border: 1px solid rgba(20, 33, 61, .09);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(24, 41, 78, .05);
}

.major-career-authority-grid article > span {
  color: #315ee7;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}

.major-career-authority-grid h3 {
  margin: 54px 0 0;
  color: #1f2d47;
  font-family: "Manrope", sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.035em;
}

.major-career-authority-grid p {
  margin: 9px 0 0;
  color: #6e7a91;
  font-size: 13px;
  line-height: 1.55;
}

.major-career-faq {
  margin-top: 84px;
  padding: 48px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 92% 0%, rgba(88, 96, 220, .09), transparent 32%),
    #f7f9fd;
}

.major-career-faq header {
  max-width: 780px;
  margin-bottom: 24px;
}

.major-career-faq > div {
  max-width: 960px;
}

.major-career-faq details {
  border-bottom: 1px solid rgba(20, 33, 61, .09);
}

.major-career-faq summary {
  padding: 22px 0;
  color: #22304a;
  font-family: "Manrope", sans-serif;
  font-size: 19px;
  font-weight: 750;
  cursor: pointer;
}

.major-career-faq details p {
  max-width: 820px;
  margin: -6px 0 22px;
  color: #68758c;
  font-size: 14px;
  line-height: 1.65;
}

.major-career-reviewed {
  margin: 32px 0 0;
  color: #929baa;
  font-size: 11px;
}

@media (max-width: 900px) {
  .major-career-authority-grid {
    grid-template-columns: 1fr;
  }

  .major-career-authority-grid article {
    min-height: 0;
  }

  .major-career-authority-grid h3 {
    margin-top: 26px;
  }
}

@media (max-width: 700px) {
  .major-career-authority-page .major-career-hero {
    padding-bottom: 22px;
  }

  .major-career-authority-page .major-career-content {
    padding-top: 16px;
  }

  .major-career-authority-page .major-career-picker {
    margin-bottom: 26px;
  }

  .major-career-authority {
    margin-top: 58px;
    padding-top: 52px;
  }

  .major-career-faq {
    margin-top: 58px;
    padding: 30px 22px;
    border-radius: 28px;
  }
}


.major-career-authority-page .major-career-dynamic-faq {
  margin-bottom: 8px;
  padding: 0 18px;
  border: 1px solid rgba(49, 94, 231, .13);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 94, 231, .08), transparent 34%),
    rgba(255, 255, 255, .72);
}

.major-career-authority-page .major-career-dynamic-faq summary {
  color: #2446bb;
}

.major-career-authority-page .major-career-dynamic-faq p {
  color: #59667d;
}

/* Major OS 2026-07-29 */
.major-os-page {
  --major-os-bg: #f7f8fc;
  --major-os-card: rgba(255, 255, 255, 0.9);
  --major-os-shadow: 0 24px 70px rgba(20, 33, 61, 0.08);
}

.major-os-hero {
  position: relative;
  overflow: hidden;
  padding: 36px 0 78px;
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--major-accent) 18%, transparent), transparent 30%),
    radial-gradient(circle at 8% 6%, rgba(49, 94, 231, 0.09), transparent 24%),
    linear-gradient(180deg, #fbfcff 0%, #f6f8fd 100%);
}

.major-os-hero::after {
  position: absolute;
  right: -160px;
  bottom: -320px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(49, 94, 231, 0.09);
  border-radius: 50%;
  box-shadow: 0 0 0 82px rgba(49,94,231,.025), 0 0 0 164px rgba(49,94,231,.018);
  content: "";
  pointer-events: none;
}

.major-os-hero-grid,
.major-ai-shell,
.major-ai-world-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
  gap: 56px;
  align-items: center;
}

.major-os-hero-copy h1 {
  max-width: 820px;
  margin: 16px 0 0;
  font-family: "Manrope", sans-serif;
  font-size: clamp(58px, 7vw, 92px);
  font-weight: 800;
  letter-spacing: -.067em;
  line-height: .95;
}

.major-os-tagline {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--majors-blue);
  font-family: "Manrope", sans-serif;
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.15;
}

.major-os-snapshot {
  padding: 28px;
  border: 1px solid rgba(20,33,61,.08);
  border-radius: 30px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 30px 80px rgba(44,66,120,.1);
  backdrop-filter: blur(18px);
}

.major-os-snapshot-label,
.major-ai-badge {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--majors-blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.major-os-snapshot h2 { margin: 10px 0 22px; font-family: "Manrope", sans-serif; font-size: 25px; letter-spacing: -.04em; }
.major-os-patterns { display: grid; gap: 4px; }
.major-os-patterns div { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: center; padding: 14px 0; border-top: 1px solid var(--majors-line); }
.major-os-patterns span { color: #97a0b0; font-size: 11px; font-weight: 800; }
.major-os-patterns strong { font-size: 14px; text-transform: capitalize; }
.major-os-snapshot > a { display: inline-flex; margin-top: 18px; color: var(--majors-blue); font-size: 13px; font-weight: 800; text-decoration: none; }

.major-os-nav { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(20,33,61,.08); background: rgba(255,255,255,.9); backdrop-filter: blur(18px); }
.major-os-nav .majors-public-shell { display: flex; gap: 4px; overflow-x: auto; padding-top: 10px; padding-bottom: 10px; scrollbar-width: none; }
.major-os-nav .majors-public-shell::-webkit-scrollbar { display: none; }
.major-os-nav a { flex: 0 0 auto; padding: 9px 12px; border-radius: 999px; color: #647087; font-size: 12px; font-weight: 750; text-decoration: none; }
.major-os-nav a:hover { color: var(--majors-blue); background: #f1f5ff; }

.major-os-section { padding: 92px 0; scroll-margin-top: 76px; }
.major-os-soft { background: var(--major-os-bg); }
.major-section-lede { max-width: 480px; color: var(--majors-muted); line-height: 1.65; }

.major-fit-lab {
  background:
    radial-gradient(circle at 12% 16%, rgba(128,98,255,.16), transparent 28%),
    radial-gradient(circle at 90% 90%, rgba(49,94,231,.18), transparent 30%),
    #0f1830;
  color: #fff;
}
.major-ai-shell { align-items: stretch; }
.major-ai-intro { padding: 24px 0; }
.major-ai-intro h2, .major-ai-world-title h2 { max-width: 620px; margin: 16px 0; font-family: "Manrope", sans-serif; font-size: clamp(40px, 4.6vw, 64px); line-height: 1; letter-spacing: -.055em; }
.major-ai-intro > p { max-width: 590px; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.65; }
.major-fit-lab .major-ai-badge { color: #aebfff; }
.major-ai-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.major-ai-suggestions button { padding: 10px 13px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.07); font-size: 12px; cursor: pointer; }

.major-ai-console { padding: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 30px; background: rgba(255,255,255,.09); box-shadow: 0 26px 80px rgba(0,0,0,.22); backdrop-filter: blur(20px); }
.major-ai-console label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 800; }
.major-ai-console textarea { width: 100%; min-height: 142px; padding: 18px; resize: vertical; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; outline: none; color: #fff; background: rgba(8,14,30,.46); font-size: 15px; line-height: 1.55; }
.major-ai-console textarea::placeholder { color: rgba(255,255,255,.36); }
.major-ai-console textarea:focus { border-color: rgba(155,178,255,.65); box-shadow: 0 0 0 4px rgba(93,126,255,.12); }
.major-ai-actions { display: flex; gap: 9px; margin-top: 12px; }
.major-ai-actions button, .major-ai-world-title button { min-height: 46px; padding: 0 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; color: #fff; background: rgba(255,255,255,.08); font-weight: 800; cursor: pointer; }
.major-ai-actions .major-ai-run { border-color: transparent; background: #fff; color: #17234a; }
.major-ai-result { margin-top: 18px; padding: 18px; border-radius: 20px; background: rgba(6,12,28,.34); }
.major-ai-result > span { color: #acbfff; font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.major-ai-result h3 { margin: 8px 0; font-family: "Manrope", sans-serif; font-size: 22px; letter-spacing: -.035em; }
.major-ai-result p { margin: 7px 0 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.55; }
.major-ai-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.major-ai-result-grid div { padding: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(255,255,255,.04); }
.major-ai-result-grid small { display: block; margin-bottom: 5px; color: rgba(255,255,255,.45); }
.major-ai-result-grid strong { font-size: 12px; line-height: 1.4; }
.major-ai-plan { margin: 14px 0 0; padding-left: 20px; color: rgba(255,255,255,.75); }
.major-ai-plan li { margin: 8px 0; line-height: 1.5; }
.major-ai-provider-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.major-ai-provider-row > span { width: 100%; color: rgba(255,255,255,.48); font-size: 11px; }
.major-ai-provider-row button { padding: 9px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; color: #fff; background: transparent; font-size: 12px; font-weight: 800; cursor: pointer; }

.major-journey-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 36px 0 44px; }
.major-journey-grid article { position: relative; min-height: 230px; padding: 24px; overflow: hidden; border: 1px solid var(--majors-line); border-radius: 24px; background: #fff; }
.major-journey-grid article > span { position: absolute; right: 14px; top: 6px; color: rgba(49,94,231,.07); font-family: "Manrope", sans-serif; font-size: 82px; font-weight: 800; }
.major-journey-grid small { color: var(--majors-blue); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.major-journey-grid h3 { position: relative; margin: 42px 0 8px; font-family: "Manrope", sans-serif; font-size: 20px; letter-spacing: -.035em; }
.major-journey-grid p { position: relative; margin: 0; color: var(--majors-muted); font-size: 13px; line-height: 1.55; }
.major-os-study-grid { margin-top: 24px; }

.major-reality-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 34px; }
.major-reality-grid article { padding: 27px; border: 1px solid rgba(20,33,61,.09); border-radius: 24px; background: #fff; box-shadow: 0 20px 52px rgba(31,52,100,.055); }
.major-reality-grid article > span { color: var(--majors-blue); font-size: 24px; }
.major-reality-grid h3 { margin: 18px 0 8px; font-family: "Manrope", sans-serif; font-size: 20px; letter-spacing: -.035em; }
.major-reality-grid p { margin: 0; color: var(--majors-muted); font-size: 14px; line-height: 1.65; }

.major-career-section { background: #fff; }
.major-path-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 34px; }
.major-path-grid article { display: flex; flex-direction: column; min-height: 300px; padding: 24px; border: 1px solid var(--majors-line); border-radius: 24px; background: linear-gradient(180deg,#fff,#fafbfe); }
.major-path-number { color: #9aa4b6; font-size: 11px; font-weight: 850; }
.major-path-grid h3 { margin: 34px 0 9px; font-family: "Manrope", sans-serif; font-size: 21px; letter-spacing: -.035em; }
.major-path-grid p { margin: 0 0 20px; color: var(--majors-muted); font-size: 13px; line-height: 1.6; }
.major-path-grid button { margin-top: auto; padding: 0; border: 0; color: var(--majors-blue); background: transparent; font-size: 12px; font-weight: 850; text-align: left; cursor: pointer; }

.major-skill-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 34px; }
.major-skill-grid article { padding: 24px; border: 1px solid var(--majors-line); border-radius: 24px; background: #fff; }
.major-skill-grid article > span { color: var(--majors-blue); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.major-skill-grid h3 { margin: 26px 0 8px; font-family: "Manrope", sans-serif; font-size: 19px; letter-spacing: -.035em; }
.major-skill-grid p { min-height: 66px; margin: 0; color: var(--majors-muted); font-size: 13px; line-height: 1.55; }
.major-skill-meter { height: 5px; margin-top: 20px; overflow: hidden; border-radius: 999px; background: #edf0f7; }
.major-skill-meter i { display: block; width: calc(var(--skill) * 20%); height: 100%; border-radius: inherit; background: var(--majors-blue); }

.major-ai-world { color: #fff; background: #111a31; }
.major-ai-world-grid { grid-template-columns: .8fr 1.2fr; }
.major-ai-world-title .major-ai-badge { color: #aebfff; }
.major-ai-world-title > p { color: rgba(255,255,255,.62); line-height: 1.65; }
.major-ai-world-title button { margin-top: 16px; background: #fff; color: #17234a; }
.major-ai-change-list { display: grid; gap: 10px; }
.major-ai-change-list article { padding: 24px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(255,255,255,.055); }
.major-ai-change-list h3 { margin: 0 0 7px; font-family: "Manrope", sans-serif; font-size: 19px; letter-spacing: -.03em; }
.major-ai-change-list p { margin: 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.6; }

.major-os-conversion { margin-top: 28px; }
.major-related-section { padding-top: 70px; }
.major-os-final { background: linear-gradient(135deg,#2348c8,#5b46dc); }

@media (max-width: 900px) {
  .major-os-hero-grid, .major-ai-shell, .major-ai-world-grid { grid-template-columns: 1fr; gap: 34px; }
  .major-journey-grid, .major-path-grid, .major-skill-grid { grid-template-columns: repeat(2, 1fr); }
  .major-reality-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .major-os-hero { padding-bottom: 52px; }
  .major-os-hero-copy h1 { font-size: clamp(50px, 15vw, 70px); }
  .major-os-tagline { font-size: 24px; }
  .major-os-section { padding: 68px 0; }
  .major-os-snapshot, .major-ai-console { padding: 20px; border-radius: 24px; }
  .major-journey-grid, .major-path-grid, .major-skill-grid { grid-template-columns: 1fr; }
  .major-ai-result-grid { grid-template-columns: 1fr; }
  .major-ai-actions { flex-direction: column; }
  .major-ai-actions button { width: 100%; }
}

/* Major OS V2 refinement 2026-07-29 */
.major-os-v2 {
  --major-v2-ink: #17213a;
  --major-v2-muted: #637089;
  --major-v2-line: rgba(23, 33, 58, .10);
  --major-v2-soft: #f7f8fb;
}

.major-os-v2 .majors-public-shell {
  width: min(1160px, calc(100% - 48px));
}

.major-os-v2 .major-os-hero {
  padding: 30px 0 68px;
  background:
    radial-gradient(circle at 80% 10%, color-mix(in srgb, var(--major-accent) 14%, transparent), transparent 30%),
    radial-gradient(circle at 12% 0%, rgba(49, 94, 231, .07), transparent 24%),
    linear-gradient(180deg, #fbfcff 0%, #f7f9fd 100%);
}

.major-os-v2 .major-os-hero::after {
  opacity: .55;
}

.major-os-v2 .major-os-hero-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
  gap: 72px;
}

.major-os-v2 .major-os-hero-copy h1 {
  max-width: 760px;
  margin-top: 14px;
  font-size: clamp(54px, 6.3vw, 82px);
  letter-spacing: -.062em;
}

.major-os-v2 .major-os-tagline {
  max-width: 700px;
  margin-top: 20px;
  font-size: clamp(23px, 2.15vw, 31px);
}

.major-os-v2 .major-detail-overview {
  max-width: 720px;
  margin-top: 20px;
  color: var(--major-v2-muted);
  font-size: 17px;
  line-height: 1.68;
}

.major-os-v2 .major-detail-actions {
  margin-top: 28px;
}

.major-os-v2 .major-primary-link,
.major-os-v2 .major-secondary-link {
  min-height: 52px;
  border-radius: 15px;
}

.major-os-v2 .major-os-snapshot {
  padding: 25px 26px;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(41, 59, 105, .085);
}

.major-os-v2 .major-os-snapshot h2 {
  margin: 9px 0 17px;
  font-size: 22px;
  color: var(--major-v2-ink);
}

.major-os-v2 .major-os-patterns div {
  padding: 12px 0;
}

.major-os-v2 .major-os-patterns strong {
  color: var(--major-v2-ink);
  font-size: 13px;
}

.major-os-v2 .major-os-nav {
  top: 0;
  box-shadow: 0 1px 0 rgba(23, 33, 58, .03);
}

.major-os-v2 .major-os-nav .majors-public-shell {
  gap: 10px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.major-os-v2 .major-os-nav a {
  padding: 8px 10px;
  font-size: 12px;
}

.major-os-v2 .major-os-section {
  padding: 76px 0;
}

.major-os-v2 .major-section-intro {
  max-width: 760px;
  margin-bottom: 30px;
}

.major-os-v2 .major-section-intro h2 {
  max-width: 700px;
  color: var(--major-v2-ink);
  font-size: clamp(36px, 3.7vw, 50px);
}

.major-os-v2 .major-section-intro > p:last-child {
  max-width: 680px;
  color: var(--major-v2-muted);
  font-size: 15px;
}

/* Fit lab becomes a calm product interaction instead of a second hero. */
.major-os-v2 .major-fit-lab {
  color: var(--major-v2-ink);
  background: #fff;
}

.major-os-v2 .major-fit-heading {
  display: flex;
  gap: 40px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 28px;
}

.major-os-v2 .major-fit-heading > div {
  max-width: 760px;
}

.major-os-v2 .major-fit-heading h2 {
  margin: 12px 0 10px;
  color: var(--major-v2-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(38px, 4vw, 54px);
  letter-spacing: -.05em;
  line-height: 1.02;
}

.major-os-v2 .major-fit-heading p {
  margin: 0;
  color: var(--major-v2-muted);
  font-size: 16px;
  line-height: 1.62;
}

.major-os-v2 .major-fit-lab .major-ai-badge {
  color: var(--majors-blue);
}

.major-os-v2 .major-fit-note {
  flex: 0 0 auto;
  padding: 9px 13px;
  border: 1px solid rgba(49, 94, 231, .12);
  border-radius: 999px;
  color: #5c6980 !important;
  background: #f8faff;
  font-size: 12px !important;
  font-weight: 750;
}

.major-os-v2 .major-fit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 22px;
}

.major-os-v2 .major-ai-console {
  padding: 25px;
  border: 1px solid rgba(23, 33, 58, .10);
  border-radius: 24px;
  color: var(--major-v2-ink);
  background: linear-gradient(180deg, #fbfcff, #f7f9ff);
  box-shadow: 0 18px 55px rgba(37, 57, 108, .07);
  backdrop-filter: none;
}

.major-os-v2 .major-ai-console label {
  color: var(--major-v2-ink);
}

.major-os-v2 .major-ai-console textarea {
  min-height: 116px;
  border: 1px solid rgba(23, 33, 58, .11);
  border-radius: 17px;
  color: var(--major-v2-ink);
  background: #fff;
  font-size: 14px;
}

.major-os-v2 .major-ai-console textarea::placeholder {
  color: #97a0b1;
}

.major-os-v2 .major-ai-console textarea:focus {
  border-color: rgba(49, 94, 231, .45);
  box-shadow: 0 0 0 4px rgba(49, 94, 231, .08);
}

.major-os-v2 .major-ai-suggestions {
  margin-top: 11px;
}

.major-os-v2 .major-ai-suggestions button {
  border-color: rgba(23, 33, 58, .10);
  color: #57647a;
  background: #fff;
}

.major-os-v2 .major-ai-suggestions button:hover {
  border-color: rgba(49, 94, 231, .25);
  color: var(--majors-blue);
  background: #f4f7ff;
}

.major-os-v2 .major-ai-actions button {
  min-height: 44px;
  border-color: rgba(23, 33, 58, .12);
  color: var(--major-v2-ink);
  background: #fff;
}

.major-os-v2 .major-ai-actions .major-ai-run {
  color: #fff;
  background: var(--majors-blue);
}

.major-os-v2 .major-ai-result {
  padding: 15px 16px;
  border: 1px solid rgba(49, 94, 231, .08);
  border-radius: 16px;
  background: rgba(49, 94, 231, .045);
}

.major-os-v2 .major-ai-result > span {
  color: var(--majors-blue);
}

.major-os-v2 .major-ai-result h3 {
  color: var(--major-v2-ink);
  font-size: 20px;
}

.major-os-v2 .major-ai-result p,
.major-os-v2 .major-ai-plan {
  color: #68748a;
}

.major-os-v2 .major-ai-result-grid div {
  border-color: rgba(23, 33, 58, .08);
  background: rgba(255, 255, 255, .7);
}

.major-os-v2 .major-ai-result-grid small {
  color: #8d97aa;
}

.major-os-v2 .major-ai-result-grid strong {
  color: var(--major-v2-ink);
}

.major-os-v2 .major-ai-provider-row > span {
  color: #8b95a8;
}

.major-os-v2 .major-ai-provider-row button {
  border-color: rgba(23, 33, 58, .11);
  color: var(--major-v2-ink);
  background: #fff;
}

.major-os-v2 .major-fit-signals {
  display: grid;
  align-content: start;
  overflow: hidden;
  border: 1px solid var(--major-v2-line);
  border-radius: 24px;
  background: #fff;
}

.major-os-v2 .major-fit-signals-label {
  padding: 20px 22px 13px;
  color: #8a95aa;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.major-os-v2 .major-fit-signals article {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 12px;
  align-items: start;
  padding: 18px 22px;
  border-top: 1px solid var(--major-v2-line);
}

.major-os-v2 .major-fit-signals article > span {
  color: #a0a9ba;
  font-size: 11px;
  font-weight: 850;
}

.major-os-v2 .major-fit-signals article p {
  margin: 0;
  color: #34415a;
  font-size: 14px;
  line-height: 1.55;
}

.major-os-v2 .major-fit-signals-foot {
  margin: 0;
  padding: 16px 22px 19px;
  border-top: 1px solid var(--major-v2-line);
  color: #7e899d;
  background: #fbfcfe;
  font-size: 12px;
}

/* Experience */
.major-os-v2 .major-experience-section {
  background: #f7f8fb;
}

.major-os-v2 .major-journey-grid {
  gap: 10px;
  margin: 28px 0 22px;
}

.major-os-v2 .major-journey-grid article {
  min-height: 178px;
  padding: 21px;
  border-radius: 20px;
}

.major-os-v2 .major-journey-grid article > span {
  top: 3px;
  right: 10px;
  font-size: 65px;
}

.major-os-v2 .major-journey-grid h3 {
  margin: 31px 0 7px;
  font-size: 17px;
}

.major-os-v2 .major-journey-grid p {
  font-size: 12px;
}

.major-os-v2 .major-experience-bottom {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 12px;
}

.major-os-v2 .major-dimensions-compact,
.major-os-v2 .major-question-card-v2 {
  border: 1px solid var(--major-v2-line);
  border-radius: 22px;
  background: #fff;
}

.major-os-v2 .major-mini-heading,
.major-os-v2 .major-question-card-v2 > span {
  display: block;
  padding: 18px 20px 12px;
  color: var(--majors-blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.major-os-v2 .major-dimensions-compact > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 20px;
  border-top: 1px solid var(--major-v2-line);
  color: #34415a;
  font-size: 13px;
}

.major-os-v2 .major-dimensions-compact strong {
  color: #66738a;
  font-size: 12px;
}

.major-os-v2 .major-question-card-v2 {
  padding: 0;
  color: var(--major-v2-ink);
  background: linear-gradient(145deg, #2539c9, #6049dd);
}

.major-os-v2 .major-question-card-v2 > span {
  color: rgba(255, 255, 255, .68);
}

.major-os-v2 .major-question-card-v2 p {
  margin: 0;
  padding: 17px 20px;
  border-top: 1px solid rgba(255, 255, 255, .13);
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

/* Reality check becomes compact editorial rows. */
.major-os-v2 .major-reality-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 22px;
  border-top: 1px solid var(--major-v2-line);
}

.major-os-v2 .major-reality-grid article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 8px;
  padding: 24px 0;
  border: 0;
  border-bottom: 1px solid var(--major-v2-line);
  border-radius: 0;
  box-shadow: none;
}

.major-os-v2 .major-reality-grid article > span {
  color: #9ca6b8;
  font-size: 12px;
  font-weight: 850;
}

.major-os-v2 .major-reality-grid h3 {
  margin: 0 0 6px;
  color: var(--major-v2-ink);
  font-size: 18px;
}

.major-os-v2 .major-reality-grid p {
  max-width: 850px;
  color: var(--major-v2-muted);
  font-size: 14px;
}

/* Careers: intro on the left, useful compact pathways on the right. */
.major-os-v2 .major-career-section {
  background: #f8f9fc;
}

.major-os-v2 .major-career-layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 70px;
  align-items: start;
}

.major-os-v2 .major-career-intro {
  position: sticky;
  top: 82px;
}

.major-os-v2 .major-career-intro h2 {
  margin: 0;
  color: var(--major-v2-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(38px, 3.6vw, 50px);
  letter-spacing: -.05em;
  line-height: 1.03;
}

.major-os-v2 .major-career-intro > p:not(.majors-eyebrow) {
  color: var(--major-v2-muted);
  font-size: 15px;
  line-height: 1.65;
}

.major-os-v2 .major-career-note {
  margin-top: 22px;
  padding: 16px 0 0 16px;
  border-top: 1px solid var(--major-v2-line);
  border-left: 2px solid rgba(49, 94, 231, .23);
  font-size: 12px !important;
}

.major-os-v2 .major-path-grid {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}

.major-os-v2 .major-path-grid article {
  min-height: 210px;
  padding: 21px;
  border-radius: 20px;
  background: #fff;
}

.major-os-v2 .major-path-grid h3 {
  margin: 19px 0 6px;
  color: var(--major-v2-ink);
  font-size: 18px;
}

.major-os-v2 .major-path-grid p {
  font-size: 12px;
}

.major-os-v2 .major-path-grid button {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--majors-blue);
  font-size: 11px;
}

/* Skills and AI become one coherent section, with contrast fixed. */
.major-os-v2 .major-skills-ai-section {
  color: var(--major-v2-ink);
  background: #fff;
}

.major-os-v2 .major-skills-ai-heading {
  display: flex;
  gap: 40px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 28px;
}

.major-os-v2 .major-skills-ai-heading > div {
  max-width: 760px;
}

.major-os-v2 .major-skills-ai-heading h2 {
  margin: 0;
  color: var(--major-v2-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(38px, 3.8vw, 52px);
  letter-spacing: -.05em;
  line-height: 1.03;
}

.major-os-v2 .major-skills-ai-heading p:last-child {
  margin: 12px 0 0;
  color: var(--major-v2-muted);
  line-height: 1.62;
}

.major-os-v2 .major-skills-ai-heading button {
  flex: 0 0 auto;
  min-height: 45px;
  padding: 0 15px;
  border: 1px solid rgba(49, 94, 231, .15);
  border-radius: 14px;
  color: var(--majors-blue);
  background: #f6f8ff;
  font-weight: 800;
  cursor: pointer;
}

.major-os-v2 .major-skills-ai-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 12px;
}

.major-os-v2 .major-skill-grid {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}

.major-os-v2 .major-skill-grid article {
  min-height: 155px;
  padding: 21px;
  border-radius: 20px;
  background: #f8f9fc;
}

.major-os-v2 .major-skill-grid h3 {
  margin: 20px 0 7px;
  color: var(--major-v2-ink);
  font-size: 18px;
}

.major-os-v2 .major-skill-grid p {
  min-height: 0;
  color: var(--major-v2-muted);
  font-size: 12px;
}

.major-os-v2 .major-ai-change-list {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--major-v2-line);
  border-radius: 20px;
  background: #111a31;
}

.major-os-v2 .major-ai-change-list article {
  padding: 20px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .10);
  border-radius: 0;
  background: transparent;
}

.major-os-v2 .major-ai-change-list article:last-child {
  border-bottom: 0;
}

.major-os-v2 .major-ai-change-list h3 {
  color: #fff;
  font-size: 16px;
}

.major-os-v2 .major-ai-change-list p {
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
}

/* Projects: lower visual weight and remove unnecessary empty height. */
.major-os-v2 .major-project-section {
  background: #fffaf4;
}

.major-os-v2 .major-project-grid {
  gap: 12px;
}

.major-os-v2 .major-project-card {
  min-height: 0;
  border-radius: 22px;
  box-shadow: none;
}

.major-os-v2 .major-project-card h3 {
  font-size: 20px;
}

.major-os-v2 .major-project-card .major-project-card-copy,
.major-os-v2 .major-project-card > p {
  font-size: 13px;
}

.major-os-v2 .major-os-conversion {
  margin-top: 20px;
}

.major-os-v2 .major-project-value {
  padding: 28px 30px;
  border-radius: 24px;
}

.major-os-v2 .major-project-value-copy h3 {
  max-width: 680px;
  font-size: clamp(27px, 3vw, 38px);
}

/* Related majors are quiet editorial cards, not a second search-results page. */
.major-os-v2 .major-related-section {
  padding-top: 70px;
  background: #fff;
}

.major-os-v2 .major-related-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.major-os-v2 .major-related-v2 > a {
  position: relative;
  display: flex;
  min-height: 210px;
  flex-direction: column;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--major-v2-line);
  border-radius: 20px;
  color: var(--major-v2-ink);
  background: linear-gradient(160deg, color-mix(in srgb, var(--related-accent) 6%, #fff), #fff 58%);
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.major-os-v2 .major-related-v2 > a:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--related-accent) 28%, #dfe4ee);
  box-shadow: 0 18px 42px rgba(30, 47, 88, .08);
}

.major-os-v2 .major-related-v2 > a > span {
  color: var(--related-accent);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.major-os-v2 .major-related-v2 h3 {
  margin: 26px 0 7px;
  font-family: "Manrope", sans-serif;
  font-size: 23px;
  letter-spacing: -.04em;
}

.major-os-v2 .major-related-v2 p {
  margin: 0;
  color: var(--major-v2-muted);
  font-size: 13px;
  line-height: 1.55;
}

.major-os-v2 .major-related-v2 strong {
  margin-top: auto;
  padding-top: 22px;
  color: var(--related-accent);
  font-size: 12px;
}

.major-os-v2 .major-related-v2 strong i {
  margin-left: 4px;
  font-style: normal;
}

.major-os-v2 .major-compare-inline {
  display: inline-flex;
  gap: 8px;
  margin-top: 18px;
  color: var(--majors-blue);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.major-os-v2 .major-sources-section {
  padding-top: 18px;
  padding-bottom: 18px;
}

.major-os-v2 .major-final-cta {
  padding: 54px 0;
}

.major-os-v2 .major-final-cta .majors-public-shell {
  gap: 40px;
}

.major-os-v2 .major-final-cta h2 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(34px, 4vw, 50px);
}

@media (max-width: 900px) {
  .major-os-v2 .major-os-hero-grid,
  .major-os-v2 .major-fit-grid,
  .major-os-v2 .major-career-layout,
  .major-os-v2 .major-skills-ai-grid,
  .major-os-v2 .major-experience-bottom {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .major-os-v2 .major-career-intro {
    position: static;
  }

  .major-os-v2 .major-fit-heading,
  .major-os-v2 .major-skills-ai-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .major-os-v2 .major-related-v2 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .major-os-v2 .majors-public-shell {
    width: min(100% - 30px, 1160px);
  }

  .major-os-v2 .major-os-hero {
    padding-bottom: 48px;
  }

  .major-os-v2 .major-os-hero-copy h1 {
    font-size: clamp(46px, 14vw, 64px);
  }

  .major-os-v2 .major-os-section {
    padding: 58px 0;
  }

  .major-os-v2 .major-fit-note {
    white-space: normal;
  }

  .major-os-v2 .major-journey-grid,
  .major-os-v2 .major-path-grid,
  .major-os-v2 .major-skill-grid,
  .major-os-v2 .major-related-v2 {
    grid-template-columns: 1fr;
  }

  .major-os-v2 .major-ai-console,
  .major-os-v2 .major-fit-signals,
  .major-os-v2 .major-dimensions-compact,
  .major-os-v2 .major-question-card-v2 {
    border-radius: 19px;
  }

  .major-os-v2 .major-reality-grid article {
    grid-template-columns: 38px 1fr;
  }
}

/* Major OS V3 polish 2026-07-29 */
.major-os-v2 {
  --major-v3-navy: #111a33;
  --major-v3-blue: #315ee7;
  --major-v3-violet: #7257e8;
  --major-v3-ice: #f5f8ff;
  --major-v3-shadow: 0 22px 58px rgba(27, 46, 93, .08);
}

/* Make the sticky guide feel like a deliberate product control. */
.major-os-v2 .major-os-nav {
  top: 10px;
  z-index: 60;
  width: min(820px, calc(100% - 32px));
  margin: 10px auto 0;
  border: 1px solid rgba(35, 53, 101, .11);
  border-radius: 20px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 12px 36px rgba(24, 42, 88, .09), inset 0 1px 0 rgba(255, 255, 255, .9);
  backdrop-filter: blur(22px) saturate(145%);
  transition: box-shadow .25s ease, background .25s ease, transform .25s ease;
}

.major-os-v2 .major-os-nav.is-scrolled {
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 18px 48px rgba(24, 42, 88, .14), inset 0 1px 0 rgba(255, 255, 255, .95);
  transform: translateY(2px);
}

.major-os-v2 .major-os-nav .majors-public-shell {
  width: 100%;
  justify-content: center;
  gap: 5px;
  padding: 6px;
}

.major-os-v2 .major-os-nav a {
  position: relative;
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 14px;
  color: #667188;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -.01em;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.major-os-v2 .major-os-nav a::before {
  content: '';
  width: 5px;
  height: 5px;
  margin-right: 0;
  border-radius: 50%;
  background: currentColor;
  opacity: 0;
  transform: scale(.4);
  transition: opacity .2s ease, transform .2s ease, margin .2s ease;
}

.major-os-v2 .major-os-nav a:hover {
  color: var(--major-v3-blue);
  background: rgba(49, 94, 231, .06);
  transform: translateY(-1px);
}

.major-os-v2 .major-os-nav a.is-active,
.major-os-v2 .major-os-nav a[aria-current='location'] {
  color: #fff;
  background: linear-gradient(135deg, var(--major-v3-blue), var(--major-v3-violet));
  box-shadow: 0 8px 20px rgba(49, 94, 231, .25);
}

.major-os-v2 .major-os-nav a.is-active::before,
.major-os-v2 .major-os-nav a[aria-current='location']::before {
  margin-right: 7px;
  opacity: .85;
  transform: scale(1);
}

.major-os-v2 .major-os-section {
  scroll-margin-top: 92px;
}

/* Replace defensive messaging with an inviting product promise. */
.major-os-v2 .major-fit-note {
  position: relative;
  max-width: 260px;
  padding: 11px 15px 11px 36px;
  border-color: rgba(49, 94, 231, .15);
  color: #4c5972 !important;
  background: linear-gradient(135deg, #fbfcff, #f1f5ff);
  box-shadow: 0 9px 24px rgba(49, 94, 231, .07);
  line-height: 1.35;
}

.major-os-v2 .major-fit-note::before {
  content: '✦';
  position: absolute;
  left: 14px;
  top: 50%;
  color: var(--major-v3-blue);
  font-size: 13px;
  transform: translateY(-50%);
}

/* Subtle visual language used across the page. */
.major-os-v2 .major-os-hero,
.major-os-v2 .major-fit-lab,
.major-os-v2 .major-os-soft,
.major-os-v2 .major-career-section,
.major-os-v2 .major-related-section {
  position: relative;
  overflow: hidden;
}

.major-os-v2 .major-os-hero::before,
.major-os-v2 .major-fit-lab::before,
.major-os-v2 .major-os-soft::before,
.major-os-v2 .major-related-section::before {
  content: '';
  position: absolute;
  width: 360px;
  height: 360px;
  border: 1px solid color-mix(in srgb, var(--major-accent) 14%, transparent);
  border-radius: 50%;
  pointer-events: none;
  opacity: .42;
}

.major-os-v2 .major-os-hero::before {
  right: -170px;
  bottom: -205px;
  box-shadow: 0 0 0 54px color-mix(in srgb, var(--major-accent) 4%, transparent), 0 0 0 108px color-mix(in srgb, var(--major-accent) 2%, transparent);
}

.major-os-v2 .major-fit-lab::before {
  left: -260px;
  bottom: -230px;
  box-shadow: 0 0 0 58px rgba(49, 94, 231, .025), 0 0 0 116px rgba(114, 87, 232, .018);
}

.major-os-v2 .major-os-soft::before,
.major-os-v2 .major-related-section::before {
  right: -280px;
  top: 90px;
  opacity: .24;
  box-shadow: 0 0 0 56px rgba(49, 94, 231, .02);
}

.major-os-v2 .major-os-snapshot,
.major-os-v2 .major-ai-console,
.major-os-v2 .major-fit-signals,
.major-os-v2 .major-journey-grid article,
.major-os-v2 .major-path-grid article,
.major-os-v2 .major-skill-grid article,
.major-os-v2 .major-project-card,
.major-os-v2 .major-related-v2 article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.major-os-v2 .major-os-snapshot::after,
.major-os-v2 .major-ai-console::after,
.major-os-v2 .major-journey-grid article::after,
.major-os-v2 .major-path-grid article::after,
.major-os-v2 .major-skill-grid article::after,
.major-os-v2 .major-related-v2 article::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 140px;
  height: 140px;
  right: -82px;
  top: -82px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--major-accent) 10%, transparent), transparent 68%);
  pointer-events: none;
}

.major-os-v2 .major-os-snapshot,
.major-os-v2 .major-ai-console,
.major-os-v2 .major-fit-signals {
  border-color: rgba(31, 49, 92, .105);
  box-shadow: var(--major-v3-shadow);
}

.major-os-v2 .major-journey-grid article,
.major-os-v2 .major-path-grid article,
.major-os-v2 .major-skill-grid article,
.major-os-v2 .major-related-v2 article {
  border-color: rgba(31, 49, 92, .095);
  box-shadow: 0 14px 36px rgba(31, 49, 92, .045);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.major-os-v2 .major-journey-grid article:hover,
.major-os-v2 .major-path-grid article:hover,
.major-os-v2 .major-skill-grid article:hover,
.major-os-v2 .major-related-v2 article:hover {
  border-color: color-mix(in srgb, var(--major-accent) 24%, rgba(31, 49, 92, .095));
  box-shadow: 0 20px 46px rgba(31, 49, 92, .085);
  transform: translateY(-3px);
}

.major-os-v2 .major-section-intro .major-detail-kicker,
.major-os-v2 .major-ai-badge {
  position: relative;
  padding-left: 18px;
}

.major-os-v2 .major-section-intro .major-detail-kicker::before,
.major-os-v2 .major-ai-badge::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: .7;
}

.major-os-v2 .major-section-intro .major-detail-kicker::after,
.major-os-v2 .major-ai-badge::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
}

.major-os-v2 .major-ai-badge i {
  display: none;
}

.major-os-v2 .major-question-card-v2,
.major-os-v2 .major-ai-panel-v2 {
  background:
    radial-gradient(circle at 92% 88%, rgba(114, 87, 232, .18), transparent 31%),
    linear-gradient(145deg, #273fd1, #5a45df);
  box-shadow: 0 24px 58px rgba(58, 61, 191, .19);
}

.major-os-v2 .major-project-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.99)),
    radial-gradient(circle at 100% 0, rgba(183, 119, 18, .08), transparent 40%);
  box-shadow: 0 16px 40px rgba(85, 60, 20, .055);
}

@media (max-width: 900px) {
  .major-os-v2 .major-os-nav {
    width: calc(100% - 24px);
    border-radius: 17px;
  }

  .major-os-v2 .major-os-nav .majors-public-shell {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .major-os-v2 .major-os-nav {
    top: 7px;
    margin-top: 7px;
  }

  .major-os-v2 .major-os-nav a {
    min-height: 36px;
    padding: 0 12px;
    font-size: 11px;
  }

  .major-os-v2 .major-fit-note {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .major-os-v2 .major-os-nav,
  .major-os-v2 .major-os-nav a,
  .major-os-v2 .major-journey-grid article,
  .major-os-v2 .major-path-grid article,
  .major-os-v2 .major-skill-grid article,
  .major-os-v2 .major-related-v2 article {
    transition: none;
  }
}

/* Major OS V4: native Compass Intelligence handoff */
.major-ai-sheet[hidden] { display: none; }
body.major-ai-sheet-open { overflow: hidden; }
.major-ai-sheet {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  align-items: end;
  justify-items: center;
  padding: 24px;
}
.major-ai-sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 18, 38, .34);
  backdrop-filter: blur(10px) saturate(120%);
  opacity: 0;
  transition: opacity 180ms ease;
}
.major-ai-sheet-panel {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  padding: 34px;
  border: 1px solid rgba(49, 94, 231, .14);
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 8%, rgba(110, 83, 239, .12), transparent 31%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,255,.99));
  box-shadow: 0 34px 90px rgba(13, 27, 66, .24);
  opacity: 0;
  transform: translateY(26px) scale(.985);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1);
}
.major-ai-sheet.is-open .major-ai-sheet-backdrop { opacity: 1; }
.major-ai-sheet.is-open .major-ai-sheet-panel { opacity: 1; transform: translateY(0) scale(1); }
.major-ai-sheet-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(20, 33, 61, .1);
  border-radius: 50%;
  color: #536078;
  background: rgba(255,255,255,.82);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.major-ai-sheet-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #315ee7, #6a50ee);
  box-shadow: 0 12px 28px rgba(49,94,231,.25);
}
.major-ai-sheet-kicker {
  display: block;
  margin-bottom: 8px;
  color: #315ee7;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.major-ai-sheet-panel h2 {
  max-width: 560px;
  margin: 0;
  color: #14213d;
  font-family: "Manrope", sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  letter-spacing: -.04em;
  line-height: 1.05;
}
.major-ai-sheet-panel > p {
  max-width: 570px;
  margin: 12px 0 0;
  color: #66738a;
  font-size: 15px;
  line-height: 1.6;
}
.major-ai-sheet-context {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 22px 0 16px;
  padding: 13px 15px;
  border: 1px solid rgba(49,94,231,.11);
  border-radius: 15px;
  background: rgba(49,94,231,.045);
}
.major-ai-sheet-context span { color: #8590a5; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.major-ai-sheet-context strong { color: #263551; font-size: 13px; }
.major-ai-sheet-providers { display: grid; gap: 9px; }
.major-ai-sheet-providers button {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 16px;
  align-items: center;
  width: 100%;
  padding: 15px 17px;
  border: 1px solid rgba(20,33,61,.1);
  border-radius: 17px;
  text-align: left;
  color: #14213d;
  background: rgba(255,255,255,.9);
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.major-ai-sheet-providers button:hover { transform: translateY(-1px); border-color: rgba(49,94,231,.24); box-shadow: 0 12px 30px rgba(31,49,92,.08); }
.major-ai-sheet-providers button.is-launching,
.major-ai-sheet-providers button:disabled {
  transform: none;
  border-color: rgba(49,94,231,.24);
  background: rgba(244,247,255,.96);
  box-shadow: inset 0 0 0 1px rgba(49,94,231,.05);
  cursor: wait;
}
.major-ai-sheet-providers button.is-launching span { color: #315ee7; font-weight: 750; }
.major-ai-sheet-providers strong { font-size: 15px; }
.major-ai-sheet-providers span { margin-top: 2px; color: #7b879b; font-size: 12px; }
.major-ai-sheet-providers i { grid-column: 2; grid-row: 1 / span 2; color: #315ee7; font-style: normal; font-size: 20px; }
.major-ai-sheet-foot { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: 16px; color: #8b95a7; font-size: 11px; }
.major-ai-sheet-foot button { padding: 0; border: 0; color: #315ee7; background: transparent; font-weight: 800; cursor: pointer; }

.major-os-v2 .major-ai-result-intro { padding: 17px 18px; }
.major-intelligence-steps { display: grid; gap: 12px; margin-top: 12px; }
.major-intelligence-steps > div { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: start; }
.major-intelligence-steps i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  color: #315ee7;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(49,94,231,.12);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}
.major-intelligence-steps p { margin: 0 !important; }
.major-intelligence-steps strong { display: block; color: #263551; font-size: 12px; line-height: 1.35; }
.major-intelligence-steps small { display: block; margin-top: 2px; color: #7a8699; font-size: 11px; line-height: 1.45; }

.major-os-v2 [data-major-ai-action="future"],
.major-os-v2 [data-major-ai-career] {
  position: relative;
  overflow: hidden;
}
.major-os-v2 [data-major-ai-action="future"]::after,
.major-os-v2 [data-major-ai-career]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 15%, rgba(255,255,255,.45) 46%, transparent 72%);
  transform: translateX(-130%);
  transition: transform 520ms ease;
  pointer-events: none;
}
.major-os-v2 [data-major-ai-action="future"]:hover::after,
.major-os-v2 [data-major-ai-career]:hover::after { transform: translateX(130%); }

@media (max-width: 620px) {
  .major-ai-sheet { padding: 10px; }
  .major-ai-sheet-panel { padding: 27px 20px 20px; border-radius: 24px; }
  .major-ai-sheet-context { display: block; }
  .major-ai-sheet-context strong { display: block; margin-top: 5px; }
  .major-ai-sheet-foot { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .major-ai-sheet-backdrop,
  .major-ai-sheet-panel,
  .major-ai-sheet-providers button,
  .major-os-v2 [data-major-ai-action="future"]::after,
  .major-os-v2 [data-major-ai-career]::after { transition: none; }
}

/* Major OS V5: field-specific content intelligence */
.major-os-v2 .major-detail-fingerprint {
  max-width: 770px;
  margin: 14px 0 0;
  padding-left: 16px;
  border-left: 2px solid color-mix(in srgb, var(--major-accent, #315ee7) 42%, transparent);
  color: #7a879c;
  font-size: 13px;
  line-height: 1.62;
}

.major-os-v2 .major-project-test {
  margin: 14px 0 0;
  padding: 13px 14px;
  border: 1px solid rgba(166,107,14,.12);
  border-radius: 14px;
  color: #6f6553;
  background: linear-gradient(135deg, rgba(255,249,238,.88), rgba(255,255,255,.72));
  font-size: 12px;
  line-height: 1.5;
}
.major-os-v2 .major-project-test span {
  display: block;
  margin-bottom: 4px;
  color: #9b6509;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.major-os-v2 .major-ai-change-list article > span {
  display: block;
  margin-bottom: 8px;
  color: #aebcff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.major-os-v2 .major-related-v2 > a small {
  display: block;
  min-height: 36px;
  margin: 13px 0 0;
  color: #8290a4;
  font-size: 11px;
  line-height: 1.55;
}

.major-os-v2 .major-section-intro > p:last-child {
  max-width: 860px;
}

.major-os-v2 .major-journey-grid article:nth-child(1)::before,
.major-os-v2 .major-journey-grid article:nth-child(2)::before,
.major-os-v2 .major-journey-grid article:nth-child(3)::before,
.major-os-v2 .major-journey-grid article:nth-child(4)::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 56px;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--majors-blue), rgba(106,80,238,.42));
}

@media (max-width: 700px) {
  .major-os-v2 .major-detail-fingerprint { font-size: 12px; }
  .major-os-v2 .major-related-v2 > a small { min-height: 0; }
}

/* Career context: quiet explanations for specialized career titles */
.major-context-layer[hidden],
.major-context-example[hidden] {
  display: none !important;
}

.major-context-term {
  position: relative;
  display: inline;
  margin: 0;
  padding: 0 1px 2px;
  border: 0;
  border-bottom: 1px dotted color-mix(in srgb, var(--major-accent, #315ee7) 60%, #77839a);
  border-radius: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: inherit;
  vertical-align: baseline;
  cursor: help;
  -webkit-appearance: none;
  appearance: none;
  transition: color 150ms ease, border-color 150ms ease, background 150ms ease;
}

.major-context-term:hover,
.major-context-term:focus-visible,
.major-context-term[aria-expanded="true"] {
  color: color-mix(in srgb, var(--major-accent, #315ee7) 78%, #1f43ba);
  border-bottom-color: currentColor;
  background: linear-gradient(180deg, transparent 70%, rgba(49, 94, 231, .08) 70%);
  outline: none;
}

.major-context-term:focus-visible {
  box-shadow: 0 3px 0 -1px rgba(49, 94, 231, .22);
}

.major-path-grid h3 .major-context-term {
  cursor: pointer;
}

.major-context-layer {
  position: fixed;
  inset: 0;
  z-index: 10020;
  opacity: 0;
  transition: opacity 170ms ease;
}

.major-context-layer.is-open {
  opacity: 1;
}

.major-context-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(15, 25, 49, .08);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  cursor: default;
}

.major-context-card {
  --context-left: 24px;
  --context-top: 24px;
  position: fixed;
  left: var(--context-left);
  top: var(--context-top);
  width: min(390px, calc(100vw - 36px));
  max-height: min(640px, calc(100vh - 36px));
  overflow: auto;
  padding: 26px;
  border: 1px solid rgba(31, 49, 86, .1);
  border-radius: 24px;
  outline: none;
  background:
    radial-gradient(circle at 92% 5%, rgba(112, 84, 238, .08), transparent 31%),
    linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(249, 251, 255, .99));
  box-shadow: 0 28px 80px rgba(23, 38, 78, .22), 0 4px 18px rgba(23, 38, 78, .08);
  opacity: 0;
  transform: translateY(8px) scale(.985);
  transform-origin: top left;
  transition: opacity 170ms ease, transform 190ms cubic-bezier(.2, .8, .2, 1);
}

.major-context-layer.is-open .major-context-card {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.major-context-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(20, 33, 61, .09);
  border-radius: 50%;
  color: #647188;
  background: rgba(255, 255, 255, .84);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease;
}

.major-context-close:hover,
.major-context-close:focus-visible {
  transform: scale(1.04);
  background: #fff;
  outline: none;
}

.major-context-category {
  margin: 0 44px 7px 0;
  color: #315ee7;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.major-context-card h2 {
  margin: 0;
  color: #14213d;
  font-family: "Manrope", sans-serif;
  font-size: clamp(25px, 4vw, 33px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.08;
}

.major-context-definition {
  margin: 14px 0 0;
  color: #58667d;
  font-size: 15px;
  line-height: 1.66;
}

.major-context-example {
  margin-top: 18px;
  padding: 15px 16px;
  border: 1px solid rgba(49, 94, 231, .09);
  border-radius: 17px;
  background: rgba(49, 94, 231, .045);
}

.major-context-example span {
  display: block;
  margin-bottom: 5px;
  color: #315ee7;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.major-context-example p {
  margin: 0;
  color: #536078;
  font-size: 13px;
  line-height: 1.58;
}

body.major-context-open {
  overflow: hidden;
}

@media (max-width: 680px) {
  .major-context-backdrop {
    background: rgba(15, 25, 49, .32);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
  }

  .major-context-card {
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 10px;
    width: auto;
    max-height: min(78vh, 650px);
    padding: 26px 21px 22px;
    border-radius: 27px;
    transform: translateY(28px) scale(.99);
    transform-origin: bottom center;
  }

  .major-context-layer.is-open .major-context-card {
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .major-context-term,
  .major-context-layer,
  .major-context-card,
  .major-context-close {
    transition: none;
  }
}

/* Enriched guide decision support */
.major-program-checks {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(26px, 5vw, 68px);
  align-items: start;
  margin-top: clamp(30px, 5vw, 58px);
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid rgba(25, 43, 80, .09);
  border-radius: 30px;
  background:
    radial-gradient(circle at 94% 8%, rgba(49, 94, 231, .09), transparent 31%),
    linear-gradient(145deg, #fff, #f7f9ff);
  box-shadow: 0 22px 60px rgba(24, 42, 82, .08);
}

.major-program-checks h3 {
  margin: 6px 0 10px;
  color: #14213d;
  font-size: clamp(25px, 3.2vw, 38px);
  letter-spacing: -.045em;
  line-height: 1.06;
}

.major-program-checks > div > p:last-child {
  margin: 0;
  color: #647188;
  line-height: 1.7;
}

.major-program-checks ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.major-program-checks li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 13px;
  align-items: start;
  padding: 17px 18px;
  border: 1px solid rgba(31, 49, 86, .08);
  border-radius: 18px;
  background: rgba(255, 255, 255, .82);
}

.major-program-checks li span {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  color: #315ee7;
  background: rgba(49, 94, 231, .09);
  font-size: 10px;
  font-weight: 850;
}

.major-program-checks li p {
  margin: 2px 0 0;
  color: #4f5d75;
  font-size: 14px;
  line-height: 1.6;
}

.major-faq-section {
  background: linear-gradient(180deg, #f8faff, #fff);
}

.major-faq-list,
.major-comparison-faq > div {
  display: grid;
  gap: 12px;
  max-width: 900px;
}

.major-faq-list details,
.major-comparison-faq details {
  border: 1px solid rgba(31, 49, 86, .1);
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 32px rgba(23, 38, 78, .05);
  overflow: hidden;
}

.major-faq-list summary,
.major-comparison-faq summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px 22px;
  color: #172541;
  font-weight: 760;
  cursor: pointer;
  list-style: none;
}

.major-faq-list summary::-webkit-details-marker,
.major-comparison-faq summary::-webkit-details-marker {
  display: none;
}

.major-faq-list summary i,
.major-comparison-faq summary i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #315ee7;
  background: rgba(49, 94, 231, .08);
  font-style: normal;
  transition: transform 160ms ease;
}

.major-faq-list details[open] summary i,
.major-comparison-faq details[open] summary i {
  transform: rotate(45deg);
}

.major-faq-list details > p,
.major-comparison-faq details > p {
  margin: 0;
  padding: 0 22px 22px;
  color: #5d6a80;
  line-height: 1.72;
}

/* Curated comparison explainers */
.major-explainer-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: clamp(24px, 4vw, 42px);
}

.major-explainer-summary article {
  min-height: 100%;
  padding: clamp(21px, 3vw, 29px);
  border: 1px solid rgba(31, 49, 86, .09);
  border-radius: 22px;
  background: linear-gradient(145deg, #fff, #f8faff);
  box-shadow: 0 14px 38px rgba(23, 38, 78, .06);
}

.major-explainer-summary article span {
  display: block;
  margin-bottom: 10px;
  color: #315ee7;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.major-explainer-summary article p {
  margin: 0;
  color: #4f5d75;
  font-size: 14px;
  line-height: 1.68;
}

.major-comparison-faq {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: start;
  margin: clamp(42px, 7vw, 82px) 0;
}

.major-comparison-faq header h2 {
  margin: 6px 0 0;
  color: #14213d;
  font-size: clamp(27px, 3.4vw, 42px);
  letter-spacing: -.045em;
  line-height: 1.06;
}

@media (max-width: 820px) {
  .major-program-checks,
  .major-comparison-faq {
    grid-template-columns: 1fr;
  }

  .major-explainer-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .major-program-checks {
    padding: 22px 18px;
    border-radius: 24px;
  }

  .major-faq-list summary,
  .major-comparison-faq summary {
    padding: 18px;
  }

  .major-faq-list details > p,
  .major-comparison-faq details > p {
    padding: 0 18px 19px;
  }
}

/* SEO discovery bridges and decision-guide content, 2026-08-10 */
.majors-project-bridge{padding:26px 0;border-bottom:1px solid #eceef5;background:#fafaff}.majors-project-bridge .majors-public-shell{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 28px;border:1px solid #e5e3fa;border-radius:22px;background:#fff}.majors-project-bridge h2{margin:4px 0 7px;font-family:var(--major-heading,Manrope,sans-serif);font-size:25px;letter-spacing:-.035em}.majors-project-bridge p:not(.majors-eyebrow){max-width:760px;margin:0;color:#6b7280;line-height:1.6}.majors-project-bridge a{flex:0 0 auto;color:#4f46d7;font-weight:800;text-decoration:none}.major-project-title-link{color:inherit;text-decoration:none}.major-project-title-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.major-project-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto}.major-project-card-actions>a:first-child{flex:1 1 auto}.major-project-card-actions>a:last-child{color:#5b5f73;font-size:12px;font-weight:750;text-decoration:none}.major-choice-answer{padding:42px 0;border-bottom:1px solid #eceef4;background:#fff}.major-choice-answer .majors-public-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.major-choice-answer h2{margin:0;font-family:var(--major-heading,Manrope,sans-serif);font-size:clamp(29px,4vw,43px);line-height:1.1;letter-spacing:-.045em}.major-choice-answer>.majors-public-shell>p{margin:0;color:#566175;font-size:17px;line-height:1.75}.major-theme-choice{border:1px solid #e6e8ef;border-radius:20px;overflow:hidden;background:#fff}.major-theme-choice>a:first-child{display:block;border:0!important;border-radius:0!important}.major-theme-examples{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 18px}.major-theme-examples a{padding:6px 9px;border:1px solid #e4e3f4;border-radius:999px;color:#5f57c8;background:#fafaff;font-size:11px;font-weight:700;text-decoration:none}.major-choice-steps{margin-top:76px}.major-choice-steps>ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}.major-choice-steps>ol>li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 24px;border:1px solid #e6e8ef;border-radius:18px;background:#fff}.major-choice-steps>ol>li>span{color:#8b86e8;font-family:var(--major-heading,Manrope,sans-serif);font-size:13px;font-weight:800}.major-choice-steps h3{margin:0;font-family:var(--major-heading,Manrope,sans-serif);font-size:20px;letter-spacing:-.025em}.major-choice-steps li p{margin:7px 0 0;color:#667085;line-height:1.6}.major-choice-steps li a{display:inline-block;margin-top:10px;color:#4f46d7;font-size:13px;font-weight:800;text-decoration:none}.major-choice-mistakes{margin-top:74px}.major-choice-mistakes>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.major-choice-mistakes article{padding:22px;border:1px solid #e6e8ef;border-radius:18px;background:#fbfbfd}.major-choice-mistakes h3{margin:0 0 8px;font-family:var(--major-heading,Manrope,sans-serif);font-size:18px}.major-choice-mistakes article p{margin:0;color:#667085;font-size:14px;line-height:1.6}.major-choice-faq{margin-top:74px}.major-career-explainer{margin:0 0 26px;padding:24px 26px;border:1px solid #e5e7ef;border-radius:20px;background:#fbfbfd}.major-career-explainer h2{max-width:800px;margin:0;font-family:var(--major-heading,Manrope,sans-serif);font-size:28px;line-height:1.15;letter-spacing:-.035em}.major-career-explainer>p:not(.majors-eyebrow){max-width:880px;margin:12px 0 0;color:#667085;line-height:1.65}.major-career-static-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.major-career-static-links a{padding:8px 11px;border-radius:999px;color:#4f46d7;background:#efefff;font-size:12px;font-weight:750;text-decoration:none}@media(max-width:800px){.majors-project-bridge .majors-public-shell,.major-choice-answer .majors-public-shell{align-items:flex-start;flex-direction:column;display:flex;gap:18px}.major-choice-mistakes>div{grid-template-columns:1fr}.major-choice-steps>ol>li{grid-template-columns:42px 1fr}.major-project-card-actions{align-items:stretch;flex-direction:column}.major-project-card-actions>a{width:100%;text-align:center}}

/* =========================================================
   What Should I Major In? — premium decision guide, 2026-08-11
========================================================= */
.major-choice-guide {
  --choice-blue: #315ee7;
  --choice-violet: #5b45ee;
  --choice-ink: #18233c;
  --choice-muted: #5f6d84;
  --choice-line: #e5e9f2;
  --choice-soft: #f6f8ff;
  --choice-shadow: 0 24px 70px rgba(41, 56, 100, .10);
  background: #fff;
}

.major-choice-guide .majors-public-shell {
  width: min(1180px, calc(100% - 44px));
}

.major-choice-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(58px, 7vw, 96px) 0 clamp(64px, 8vw, 108px);
  border-bottom: 1px solid var(--choice-line);
  background:
    radial-gradient(circle at 84% 22%, rgba(94, 74, 238, .13), transparent 28%),
    radial-gradient(circle at 67% 72%, rgba(49, 94, 231, .08), transparent 31%),
    linear-gradient(180deg, #fbfcff 0%, #fff 82%);
}

.major-choice-hero::before,
.major-choice-hero::after {
  position: absolute;
  border-radius: 999px;
  content: "";
  pointer-events: none;
}

.major-choice-hero::before {
  width: 360px;
  height: 360px;
  right: -175px;
  top: -155px;
  border: 1px solid rgba(91, 69, 238, .12);
}

.major-choice-hero::after {
  width: 180px;
  height: 180px;
  right: 9%;
  bottom: -120px;
  border: 1px solid rgba(49, 94, 231, .09);
}

.major-choice-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(370px, .85fr);
  gap: clamp(46px, 7vw, 88px);
  align-items: center;
}

.major-choice-hero-copy .majors-breadcrumb {
  margin-bottom: 48px;
}

.major-choice-hero-copy h1 {
  max-width: 760px;
  margin: 13px 0 22px;
  color: var(--choice-ink);
  font-family: var(--major-heading, Manrope, sans-serif);
  font-size: clamp(56px, 7vw, 86px);
  line-height: .98;
  letter-spacing: -.065em;
}

.major-choice-hero-copy h1 span {
  color: var(--choice-blue);
}

.major-choice-hero-lede {
  max-width: 690px;
  margin: 0;
  color: var(--choice-muted);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.62;
}

.major-choice-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.major-choice-hero-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid #dfe4ef;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.major-choice-primary {
  color: #fff;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--choice-blue), var(--choice-violet));
  box-shadow: 0 15px 34px rgba(66, 76, 219, .22);
}

.major-choice-secondary {
  color: #2f3a54;
  background: rgba(255,255,255,.82);
}

.major-choice-hero-actions a:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(38, 53, 99, .12);
}

.major-choice-trust {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 23px;
  color: #667085;
  font-size: 12px;
  font-weight: 750;
}

.major-choice-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.major-choice-trust span::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7d72ef;
  content: "";
}

.major-choice-visual {
  position: relative;
  min-height: 440px;
  border: 1px solid rgba(69, 79, 151, .10);
  border-radius: 38px;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.96) 0 21%, transparent 22%),
    linear-gradient(145deg, rgba(239,243,255,.95), rgba(247,244,255,.92));
  box-shadow: var(--choice-shadow);
}

.major-choice-visual::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: radial-gradient(rgba(74, 83, 190, .12) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: linear-gradient(135deg, transparent 8%, #000 43%, transparent 92%);
  content: "";
  pointer-events: none;
}

.major-choice-orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(91, 69, 238, .13);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.major-choice-orbit-a { width: 270px; height: 270px; }
.major-choice-orbit-b { width: 350px; height: 350px; border-style: dashed; }

.major-choice-center {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: flex;
  width: 124px;
  height: 124px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid rgba(75, 66, 203, .12);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #365fe7, #6149ee);
  box-shadow: 0 20px 45px rgba(70, 64, 206, .28);
  transform: translate(-50%, -50%);
}

.major-choice-center span {
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .14em;
}

.major-choice-center strong {
  margin-top: 2px;
  font-family: var(--major-heading, Manrope, sans-serif);
  font-size: 18px;
  letter-spacing: -.02em;
}

.major-choice-signal {
  position: absolute;
  z-index: 3;
  width: 172px;
  padding: 16px 17px;
  border: 1px solid rgba(31, 49, 86, .09);
  border-radius: 17px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 15px 34px rgba(30, 43, 88, .10);
}

.major-choice-signal > span {
  display: inline-flex;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
  margin-bottom: 9px;
  border-radius: 8px;
  color: #5d54df;
  background: #eeedff;
  font-size: 10px;
  font-weight: 850;
}

.major-choice-signal strong,
.major-choice-signal small {
  display: block;
}

.major-choice-signal strong {
  color: #1f2b46;
  font-size: 14px;
}

.major-choice-signal small {
  margin-top: 4px;
  color: #77839a;
  font-size: 11px;
  line-height: 1.42;
}

.signal-curiosity { left: 28px; top: 44px; transform: rotate(-2deg); }
.signal-work { right: 26px; top: 58px; transform: rotate(2deg); }
.signal-experience { left: 50%; bottom: 28px; transform: translateX(-50%); }

.major-choice-answer {
  padding: clamp(55px, 7vw, 86px) 0;
  border-bottom: 1px solid var(--choice-line);
  background: #fff;
}

.major-choice-answer .majors-public-shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(50px, 7vw, 86px);
  align-items: start;
}

.major-choice-answer h2 {
  max-width: 540px;
  margin: 8px 0 0;
  color: var(--choice-ink);
  font-family: var(--major-heading, Manrope, sans-serif);
  font-size: clamp(34px, 4vw, 49px);
  line-height: 1.06;
  letter-spacing: -.05em;
}

.major-choice-answer-copy > p {
  margin: 0;
  color: #56647b;
  font-size: 17px;
  line-height: 1.78;
}

.major-choice-answer-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 24px;
}

.major-choice-answer-points span {
  display: grid;
  gap: 7px;
  min-height: 92px;
  align-content: center;
  padding: 13px 14px;
  border: 1px solid #e7e9f3;
  border-radius: 15px;
  color: #48556c;
  background: #fafbff;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.4;
}

.major-choice-answer-points b {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  color: #5d54df;
  background: #eeedff;
  font-size: 10px;
}

.major-choice-content {
  padding-top: clamp(70px, 8vw, 110px);
  padding-bottom: 92px;
  background: #fff;
}

.major-choice-section-intro {
  max-width: 760px;
  margin-bottom: 34px;
}

.major-choice-section-intro h2 {
  color: var(--choice-ink);
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1.03;
  letter-spacing: -.055em;
}

.major-choice-section-intro > p:last-child {
  max-width: 690px;
  color: #65728a;
  font-size: 16px;
  line-height: 1.7;
}

.major-choice-theme-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}

.major-choice-guide .major-theme-choice {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid #e5e8f1;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(36, 50, 92, .05);
  transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
}

.major-choice-guide .major-theme-choice:hover {
  border-color: rgba(88, 76, 230, .20);
  box-shadow: 0 22px 52px rgba(36, 50, 92, .09);
  transform: translateY(-3px);
}

.major-choice-guide .major-theme-grid .major-theme-main {
  position: relative;
  display: block;
  min-height: 0;
  padding: 25px 24px 20px;
  border: 0;
  border-radius: 0;
  color: var(--choice-ink);
  background: transparent;
  box-shadow: none;
  text-decoration: none;
  transform: none;
}

.major-choice-guide .major-theme-grid .major-theme-main:hover {
  box-shadow: none;
  transform: none;
}

.major-theme-icon {
  display: inline-flex !important;
  width: 46px !important;
  height: 46px !important;
  align-items: center;
  justify-content: center;
  border-radius: 14px !important;
  color: #4f46d7 !important;
  background: #efefff !important;
}

.major-theme-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.theme-health .major-theme-icon { color:#16766a !important; background:#e9fbf7 !important; }
.theme-design .major-theme-icon { color:#a23c72 !important; background:#fff0f7 !important; }
.theme-tech .major-theme-icon { color:#315ee7 !important; background:#edf3ff !important; }
.theme-business .major-theme-icon { color:#9a6715 !important; background:#fff8e9 !important; }
.theme-systems .major-theme-icon { color:#5e4ab8 !important; background:#f4efff !important; }

.major-theme-number {
  position: absolute;
  right: 22px;
  top: 22px;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  color: #a0a8ba !important;
  background: none !important;
  font-size: 10px !important;
  font-weight: 850;
  letter-spacing: .12em;
}

.major-choice-guide .major-theme-grid h3 {
  margin: 24px 0 9px;
  font-size: 21px;
  line-height: 1.18;
}

.major-choice-guide .major-theme-grid p {
  min-height: 72px;
  color: #66748b;
  font-size: 14px;
  line-height: 1.62;
}

.major-theme-open {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  align-items: center;
  gap: 7px;
  margin-top: 16px;
  border-radius: 0 !important;
  color: #4d46d8 !important;
  background: none !important;
  font-size: 12px !important;
  font-weight: 800;
}

.major-theme-examples {
  display: flex;
  min-height: 62px;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 24px 22px;
}

.major-choice-guide .major-theme-grid .major-theme-examples a {
  display: inline-flex;
  width: auto;
  min-width: 0;
  min-height: 0;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid #e2e4f3;
  border-radius: 999px;
  color: #5b55ca;
  background: #fbfbff;
  box-shadow: none;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none;
  transform: none;
}

.major-choice-guide .major-theme-grid .major-theme-examples a:hover {
  border-color: #cfcdf4;
  background: #f2f1ff;
  box-shadow: none;
  transform: none;
}

.major-choice-steps {
  margin-top: clamp(86px, 10vw, 128px);
}

.major-choice-steps > ol {
  position: relative;
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.major-choice-steps > ol::before {
  position: absolute;
  left: 41px;
  top: 40px;
  bottom: 40px;
  width: 1px;
  background: linear-gradient(#d8dcf3, #d8dcf3 70%, transparent);
  content: "";
}

.major-choice-steps > ol > li {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 54px 48px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 24px 28px 24px 14px;
  border: 1px solid #e6e9f2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(36, 50, 92, .035);
}

.major-choice-steps > ol > li > span {
  display: inline-flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe1f5;
  border-radius: 16px;
  color: #6e66e5;
  background: #fff;
  font-size: 11px;
  font-weight: 850;
}

.major-choice-step-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  border-radius: 13px;
  color: #4f46d7;
  background: #f0f1ff;
  font-size: 18px;
  font-weight: 800;
}

.major-choice-steps h3 {
  margin: 2px 0 0;
  color: #1f2a43;
  font-size: 21px;
}

.major-choice-steps li p {
  margin: 7px 0 0;
  color: #66748b;
  font-size: 15px;
  line-height: 1.65;
}

.major-choice-steps li a {
  margin-top: 12px;
  color: #4f46d7;
  font-size: 12px;
}

.major-choice-framework {
  display: grid;
  grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr);
  gap: clamp(45px, 7vw, 85px);
  align-items: center;
  margin-top: clamp(86px, 10vw, 128px);
  padding: clamp(38px, 5vw, 58px);
  border: 1px solid #e2e6f1;
  border-radius: 32px;
  background: linear-gradient(145deg, #f7f8ff, #f2f5ff);
}

.major-choice-framework-graphic {
  position: relative;
  min-height: 335px;
}

.framework-circle {
  position: absolute;
  display: flex;
  width: 180px;
  height: 180px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(78, 70, 216, .22);
  border-radius: 50%;
  color: #5149cf;
  background: rgba(116, 107, 239, .07);
  font-size: 11px;
  font-weight: 850;
}

.framework-a { left: 50%; top: 7px; transform: translateX(-50%); }
.framework-b { left: 21px; bottom: 16px; }
.framework-c { right: 21px; bottom: 16px; }

.major-choice-framework-graphic > strong {
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 2;
  display: inline-flex;
  width: 76px;
  height: 76px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg,#355ee7,#6148ee);
  box-shadow: 0 15px 35px rgba(73, 65, 215, .24);
  font-size: 13px;
  letter-spacing: .08em;
  transform: translate(-50%, -50%);
}

.major-choice-framework-copy h2 {
  margin: 8px 0 28px;
  color: var(--choice-ink);
  font-family: var(--major-heading, Manrope, sans-serif);
  font-size: clamp(36px, 4.5vw, 54px);
  line-height: 1.03;
  letter-spacing: -.055em;
}

.major-choice-framework-copy ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.major-choice-framework-copy li {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 17px;
  padding: 17px 0;
  border-top: 1px solid rgba(80, 91, 126, .13);
}

.major-choice-framework-copy li:first-child { border-top: 0; }
.major-choice-framework-copy li > span { color:#315ee7; font-size:11px; font-weight:850; }
.major-choice-framework-copy li strong { color:#1d2943; font-size:17px; }
.major-choice-framework-copy li p { margin:5px 0 0; color:#66748b; font-size:14px; line-height:1.6; }

.major-choice-mistakes {
  margin-top: clamp(86px, 10vw, 128px);
}

.major-choice-mistakes > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 15px;
}

.major-choice-mistakes article {
  min-height: 228px;
  padding: 24px;
  border: 1px solid #e6e9f1;
  border-radius: 22px;
  background: linear-gradient(145deg,#fff,#fbfbfe);
  box-shadow: 0 12px 32px rgba(36,50,92,.035);
}

.mistake-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
  border-radius: 13px;
  color: #7b56c8;
  background: #f5efff;
  font-size: 17px;
  font-weight: 850;
}

.major-choice-mistakes h3 {
  color: #1f2a43;
  font-size: 19px;
}

.major-choice-mistakes article p {
  color: #66748b;
  font-size: 14px;
  line-height: 1.65;
}

.major-choice-faq {
  margin-top: clamp(86px, 10vw, 128px);
}

.major-choice-faq .major-faq-list {
  max-width: 940px;
}

.major-choice-faq .major-faq-list details {
  border-color: #e4e8f1;
  border-radius: 18px;
  background: #fff;
}

.major-choice-final-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  margin-top: clamp(86px, 10vw, 128px);
  padding: clamp(30px, 4vw, 42px);
  border: 0;
  border-radius: 28px;
  color: #fff;
  background: linear-gradient(135deg,#312c96,#3f48d8 48%,#6547ef);
  box-shadow: 0 25px 60px rgba(58, 55, 185, .22);
}

.major-choice-final-cta::before,
.major-choice-final-cta::after {
  position:absolute;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  content:"";
}
.major-choice-final-cta::before { width:240px;height:240px;right:12%;top:-170px; }
.major-choice-final-cta::after { width:150px;height:150px;right:-65px;bottom:-95px; }

.major-choice-final-cta > div:first-child { position:relative;z-index:1; }
.major-choice-final-cta > div:first-child > span { color:#cfd2ff; font-size:10px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.major-choice-final-cta h2 { margin:7px 0 5px; color:#fff; font-size:clamp(28px,3.5vw,40px); }
.major-choice-final-cta p { max-width:620px; margin:0; color:#dfe2ff; font-size:14px; line-height:1.6; }

.major-choice-final-actions {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.major-choice-final-actions a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 13px;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.major-choice-final-actions a:first-child {
  color: #373394;
  border-color: #fff;
  background: #fff;
}

@media (max-width: 980px) {
  .major-choice-hero-grid,
  .major-choice-answer .majors-public-shell,
  .major-choice-framework {
    grid-template-columns: 1fr;
  }

  .major-choice-visual {
    min-height: 400px;
  }

  .major-choice-theme-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .major-choice-framework-graphic {
    width: min(440px, 100%);
    margin: 0 auto;
  }

  .major-choice-final-cta {
    grid-template-columns: 1fr;
  }

  .major-choice-final-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .major-choice-guide .majors-public-shell {
    width: min(100% - 28px, 1180px);
  }

  .major-choice-hero {
    padding-top: 36px;
  }

  .major-choice-hero-copy .majors-breadcrumb {
    margin-bottom: 34px;
  }

  .major-choice-hero-copy h1 {
    font-size: clamp(47px, 14vw, 68px);
  }

  .major-choice-hero-actions,
  .major-choice-final-actions {
    flex-direction: column;
  }

  .major-choice-hero-actions a,
  .major-choice-final-actions a {
    width: 100%;
  }

  .major-choice-trust {
    gap: 10px 15px;
  }

  .major-choice-visual {
    min-height: 350px;
    border-radius: 28px;
  }

  .major-choice-orbit-a { width: 220px; height: 220px; }
  .major-choice-orbit-b { width: 290px; height: 290px; }
  .major-choice-center { width: 102px; height: 102px; }
  .major-choice-signal { width: 145px; padding: 13px; }
  .signal-curiosity { left: 12px; top: 28px; }
  .signal-work { right: 12px; top: 42px; }
  .signal-experience { bottom: 18px; }

  .major-choice-answer-points,
  .major-choice-theme-grid,
  .major-choice-mistakes > div {
    grid-template-columns: 1fr;
  }

  .major-choice-answer-points span {
    min-height: 0;
  }

  .major-choice-guide .major-theme-grid p {
    min-height: 0;
  }

  .major-choice-steps > ol::before {
    display: none;
  }

  .major-choice-steps > ol > li {
    grid-template-columns: 44px 1fr;
    padding: 20px;
  }

  .major-choice-steps > ol > li > span {
    width: 44px;
    height: 44px;
  }

  .major-choice-step-icon {
    display: none;
  }

  .major-choice-framework {
    padding: 28px 20px;
    border-radius: 24px;
  }

  .major-choice-framework-graphic {
    min-height: 285px;
  }

  .framework-circle {
    width: 150px;
    height: 150px;
  }

  .framework-b { left: 0; }
  .framework-c { right: 0; }

  .major-choice-final-cta {
    padding: 28px 22px;
    border-radius: 22px;
  }
}

@media (max-width: 430px) {
  .major-choice-visual {
    min-height: 330px;
  }
  .major-choice-signal {
    width: 132px;
  }
  .major-choice-signal small {
    font-size: 10px;
  }
  .framework-circle {
    width: 136px;
    height: 136px;
  }
}

/* Editorial trust, source transparency, and authority polish */
.major-editorial-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0;margin:18px 0 0;border:1px solid #e5e7f0;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(28,32,72,.04);overflow:hidden}.major-editorial-trust>div,.major-editorial-trust>a{padding:14px 18px}.major-editorial-trust>div+div,.major-editorial-trust>a{border-left:1px solid #eceef4}.major-editorial-trust span{display:block;color:#8a93a8;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.major-editorial-trust strong{display:block;margin-top:4px;color:#25304a;font-size:11px;line-height:1.35}.major-editorial-trust>a{display:flex;align-items:center;justify-content:center;gap:7px;color:#5247dc;font-size:10px;font-weight:850;text-decoration:none;background:#faf9ff}.major-editorial-trust>a:hover{background:#f3f1ff}.major-methodology-link{margin-top:18px!important;padding-top:15px;border-top:1px solid #eceef4}.major-methodology-link a{color:#5045d9;font-weight:800;text-decoration:none}.major-methodology-link a:hover{text-decoration:underline}
@media(max-width:900px){.major-editorial-trust{grid-template-columns:1fr 1fr}.major-editorial-trust>a{border-top:1px solid #eceef4}.major-editorial-trust>div:nth-child(3){border-left:0;border-top:1px solid #eceef4}}@media(max-width:560px){.major-editorial-trust{grid-template-columns:1fr}.major-editorial-trust>div+div,.major-editorial-trust>a,.major-editorial-trust>div:nth-child(3){border-left:0;border-top:1px solid #eceef4}.major-editorial-trust>a{justify-content:flex-start}}
.majors-trust-methodology{display:inline-flex;margin-top:13px;color:#5146db;font-size:12px;font-weight:800;text-decoration:none}.majors-trust-methodology:hover{text-decoration:underline}.major-choice-trust a{color:#5146db;font-size:11px;font-weight:800;text-decoration:none}.major-choice-trust a:hover{text-decoration:underline}

/* Career authority page */
.major-career-hero{padding-bottom:62px}.major-career-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.72fr);gap:70px;align-items:center}.major-career-hero-actions{display:flex;gap:11px;margin-top:25px}.major-career-hero-actions a{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#594ae7,#315ee7);font-size:12px;font-weight:850;text-decoration:none}.major-career-hero-actions a+a{color:#4138bd;border:1px solid #dde0ed;background:#fff}.major-career-map{position:relative;min-height:315px;border:1px solid #e3e5f0;border-radius:28px;background:radial-gradient(circle at center,rgba(91,74,231,.12),transparent 38%),linear-gradient(145deg,#fff,#f8f8ff);overflow:hidden}.major-career-map:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#7669ef 1.1px,transparent 1.1px);background-size:17px 17px;opacity:.1;mask-image:radial-gradient(circle at center,#000,transparent 72%)}.career-map-center{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:105px;height:105px;border-radius:50%;transform:translate(-50%,-50%);color:#fff;background:linear-gradient(145deg,#6252e9,#3e71e6);font-size:10px;text-align:center;letter-spacing:.08em;box-shadow:0 18px 42px rgba(63,61,182,.23);z-index:2}.career-map-center strong{display:block;font-size:15px}.career-map-node{position:absolute;z-index:2;padding:9px 12px;border:1px solid #e3e2f4;border-radius:999px;color:#5149b8;background:#fff;font-size:10px;font-weight:800;box-shadow:0 9px 22px rgba(40,42,90,.07)}.node-a{left:12%;top:18%}.node-b{right:10%;top:16%}.node-c{left:8%;bottom:18%}.node-d{right:9%;bottom:20%}.node-e{left:50%;bottom:7%;transform:translateX(-50%)}.major-career-principles,.major-career-levers,.major-career-popular,.major-career-faq{padding:72px 0}.major-career-principles{background:#fff}.major-career-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.major-career-principle-grid article,.major-career-lever-grid article{padding:24px;border:1px solid #e3e5ef;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(29,33,73,.04)}.major-career-principle-grid span,.major-career-lever-grid span{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;color:#5548dc;background:#f0efff;font-size:11px;font-weight:850}.major-career-principle-grid h3,.major-career-lever-grid h3{margin:20px 0 8px;font-family:var(--major-heading,Manrope,sans-serif);font-size:19px;letter-spacing:-.025em}.major-career-principle-grid p,.major-career-lever-grid p{margin:0;color:#66738a;font-size:13px;line-height:1.65}.major-career-levers{background:#f8f9fd}.major-career-lever-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.major-career-lever-grid article{padding:20px}.major-career-lever-grid h3{font-size:16px}.major-career-lever-grid p{font-size:11px}.major-career-popular{background:#fff}.major-career-popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.major-career-popular-grid a{display:flex;flex-direction:column;min-height:190px;padding:20px;border:1px solid #e3e5ef;border-radius:18px;color:inherit;background:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(29,33,73,.035);transition:transform .18s ease,border-color .18s ease}.major-career-popular-grid a:hover{transform:translateY(-2px);border-color:#d0cdf6}.major-career-popular-grid a>span{color:#5b50dc;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.major-career-popular-grid h3{margin:12px 0 6px;font-family:var(--major-heading,Manrope,sans-serif);font-size:18px}.major-career-popular-grid p{margin:0;color:#6b768c;font-size:12px;line-height:1.5}.major-career-popular-grid strong{margin-top:auto;padding-top:16px;color:#4f45d7;font-size:11px}.major-career-popular-grid i{font-style:normal}.major-career-faq{background:#f8f9fd}.major-career-faq .major-faq-list{max-width:1000px}.major-career-guide .major-tool-content{padding-top:66px}
@media(max-width:1050px){.major-career-lever-grid{grid-template-columns:repeat(3,1fr)}.major-career-lever-grid article:nth-child(4),.major-career-lever-grid article:nth-child(5){grid-column:auto}}@media(max-width:850px){.major-career-hero-grid{grid-template-columns:1fr}.major-career-map{min-height:270px}.major-career-principle-grid,.major-career-popular-grid{grid-template-columns:1fr 1fr}.major-career-lever-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.major-career-hero-actions{flex-direction:column}.major-career-hero-actions a{width:100%}.major-career-principle-grid,.major-career-popular-grid,.major-career-lever-grid{grid-template-columns:1fr}.major-career-principles,.major-career-levers,.major-career-popular,.major-career-faq{padding:54px 0}}

/* Editorial provenance for comparison tools and curated comparisons. */
.major-comparison-trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 22px;
  padding: 13px 16px;
  border: 1px solid rgba(49, 94, 231, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 30px rgba(18, 35, 74, 0.05);
  color: #667089;
  font-size: 13px;
  line-height: 1.45;
  backdrop-filter: blur(12px);
}
.major-comparison-trust strong { color: #27334d; font-weight: 800; }
.major-comparison-trust a {
  margin-left: auto;
  color: #315ee7;
  font-weight: 800;
  text-decoration: none;
}
.major-comparison-trust a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .major-comparison-trust { align-items: flex-start; gap: 7px; }
  .major-comparison-trust > span,
  .major-comparison-trust a { width: 100%; margin-left: 0; }
}


/* Premium career-direction map */
.major-career-map{
  min-height:360px;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 48%,rgba(79,92,240,.16),transparent 27%),
    radial-gradient(circle at 83% 14%,rgba(114,83,235,.09),transparent 24%),
    linear-gradient(145deg,#fff 0%,#fbfbff 48%,#f6f7ff 100%);
  box-shadow:0 28px 70px rgba(35,42,92,.08),inset 0 1px 0 rgba(255,255,255,.9);
}
.major-career-map:before{opacity:.085;background-size:18px 18px;mask-image:radial-gradient(circle at center,#000 0 44%,transparent 78%)}
.major-career-map:after{content:"";position:absolute;inset:24px;border-radius:22px;border:1px solid rgba(105,99,235,.07);pointer-events:none}
.career-map-orbits,.career-map-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.career-map-orbits span{position:absolute;left:50%;top:50%;border:1px solid rgba(87,96,231,.16);border-radius:50%;transform:translate(-50%,-50%)}
.career-map-orbits span:nth-child(1){width:176px;height:176px;box-shadow:0 0 0 14px rgba(86,93,236,.035)}
.career-map-orbits span:nth-child(2){width:238px;height:238px;border-style:dashed}
.career-map-orbits span:nth-child(3){width:304px;height:304px;border-color:rgba(87,96,231,.075)}
.career-map-connectors{z-index:1;overflow:visible}
.career-map-connectors path{fill:none;stroke:url(#careerLine);stroke:#736af0;stroke-width:1.35;opacity:.48;vector-effect:non-scaling-stroke}
.career-map-connectors circle{fill:#fff;stroke:#5568ea;stroke-width:2;filter:drop-shadow(0 2px 4px rgba(73,78,190,.18));vector-effect:non-scaling-stroke}
.career-map-center{
  width:142px;height:142px;z-index:3;display:flex;flex-direction:column;gap:1px;
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.34),transparent 28%),
    linear-gradient(145deg,#6d5cf0 0%,#4268eb 52%,#9259e8 100%);
  border:9px solid rgba(255,255,255,.86);
  outline:1px solid rgba(87,87,210,.12);
  box-shadow:0 22px 50px rgba(70,72,190,.25),0 0 0 12px rgba(91,91,229,.06),inset 0 1px 0 rgba(255,255,255,.45);
  font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;
}
.career-map-center>span:not(.career-map-logo){opacity:.92}
.career-map-center strong{font-size:23px;line-height:1.05;letter-spacing:-.035em}
.career-map-logo{display:grid;place-items:center;width:26px;height:26px;margin-top:8px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 6px 14px rgba(43,46,130,.18)}
.career-map-logo img{width:17px;height:17px;object-fit:contain}
.career-map-node{
  display:flex;align-items:center;gap:9px;min-width:128px;padding:10px 14px 10px 10px;
  color:#26304b;border:1px solid rgba(94,91,211,.14);background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(35,39,85,.08),inset 0 1px 0 #fff;
  backdrop-filter:blur(14px);font-size:11px;letter-spacing:0;
}
.career-map-node b{font-weight:800}
.career-map-node-icon{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:10px;color:#5b55e7;background:linear-gradient(145deg,#f3f1ff,#f8f9ff);border:1px solid rgba(91,85,231,.11)}
.career-map-node-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.major-career-map .node-a{left:8%;top:12%}.major-career-map .node-b{right:8%;top:12%}.major-career-map .node-c{left:5%;bottom:18%}.major-career-map .node-d{right:5%;bottom:18%}.major-career-map .node-e{left:50%;bottom:4%;transform:translateX(-50%)}
@media(max-width:850px){
  .major-career-map{min-height:340px;max-width:620px;width:100%;margin-inline:auto}
}
@media(max-width:560px){
  .major-career-map{min-height:420px;border-radius:24px}
  .career-map-orbits span:nth-child(3){width:260px;height:260px}
  .career-map-orbits span:nth-child(2){width:210px;height:210px}
  .career-map-center{width:128px;height:128px}
  .career-map-center strong{font-size:20px}
  .career-map-node{min-width:116px;padding:8px 10px 8px 8px;font-size:10px}
  .career-map-node-icon{width:28px;height:28px;flex-basis:28px}
  .major-career-map .node-a{left:4%;top:8%}.major-career-map .node-b{right:4%;top:8%}
  .major-career-map .node-c{left:3%;bottom:17%}.major-career-map .node-d{right:3%;bottom:17%}.major-career-map .node-e{bottom:4%}
  .career-map-connectors{opacity:.72}
}
