/* Institutional pages: Mainstream's paper, sage and rose identity. */
.mainstream-theme .ms-info {
  padding: 0 0 100px;
  background:
    radial-gradient(ellipse at 92% 0, #dfe4d574, transparent 45%),
    linear-gradient(180deg, #f0f0e9 0, var(--ms-paper) 470px);
}
.mainstream-theme .ms-info-shell { width: min(1240px, calc(100% - 96px)); margin: 0 auto; }
.mainstream-theme .ms-info-heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 56px 0 46px; border-bottom: 1px solid #4052472b; }
.mainstream-theme .ms-info-back { display: inline-flex; gap: 12px; align-items: center; font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--ms-muted); }
.mainstream-theme .ms-info-back span { color: #9ea698; }
.mainstream-theme .ms-info-heading h1 { max-width: 970px; margin: 21px 0 0; font-family: 'Gelasio', Georgia, serif; font-size: clamp(40px, 5.2vw, 72px); line-height: 1.09; letter-spacing: -.045em; color: var(--ms-green); }
.mainstream-theme .ms-info-arrow { flex: 0 0 56px; width: 56px; height: 56px; opacity: .85; }
.mainstream-theme .ms-info-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(40px, 6vw, 100px); align-items: start; padding-top: 46px; }
.mainstream-theme .ms-info-sidebar { position: sticky; top: 142px; }
.mainstream-theme .ms-info-label { display: block; font-size: 10px; line-height: 1.5; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--ms-muted); }
.mainstream-theme .ms-info-links { display: grid; gap: 4px; margin: 14px 0 0; }
.mainstream-theme .ms-info-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-radius: 8px; padding: 11px 13px; margin-left: -13px; color: #667061; font-size: 13px; line-height: 1.5; transition: color .18s, background .18s; }
.mainstream-theme .ms-info-links a > span { opacity: 0; font-size: 15px; }
.mainstream-theme .ms-info-links a[aria-current="page"] { background: #e1e6d8; color: #34483c; font-weight: 500; }
.mainstream-theme .ms-info-links a[aria-current="page"] > span { opacity: 1; color: #6e806a; }
.mainstream-theme .ms-info-links a:hover { background: #e7eadf; color: var(--ms-green); }
.mainstream-theme .ms-info-help { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--ms-line); }
.mainstream-theme .ms-info-help p { margin: 9px 0 14px; font-size: 12px; line-height: 1.6; color: var(--ms-muted); }
.mainstream-theme .ms-info-help a { display: inline-flex; align-items: center; gap: 15px; font-size: 12px; line-height: 1.6; color: var(--ms-green); text-decoration: underline; text-underline-offset: 5px; }
.mainstream-theme .ms-info-content { max-width: 780px; min-width: 0; padding: 0 0 8px; font-family: 'DM Sans', sans-serif; font-size: 15px; line-height: 1.85; color: #535e51; overflow-wrap: anywhere; }
.mainstream-theme .ms-info-content > :first-child { margin-top: 0; }
.mainstream-theme .ms-info-content p { margin: 0 0 20px; font-size: inherit; line-height: inherit; }
.mainstream-theme .ms-info-content > p:first-child:has(> em:only-child) { width: fit-content; padding: 6px 11px; border: 1px solid #d9decf; border-radius: 30px; background: #ffffff75; color: #66735f; font-size: 11px; line-height: 1.6; margin-bottom: 27px; }
.mainstream-theme .ms-info-content > p:first-child > em:only-child { font-style: normal; }
.mainstream-theme .ms-info-content h2 { margin: 34px 0 16px; padding-top: 27px; border-top: 1px solid var(--ms-line); font-family: 'DM Sans', sans-serif; font-size: 21px; line-height: 1.4; font-weight: 500; letter-spacing: -.025em; color: var(--ms-ink); }
.mainstream-theme .ms-info-content h3 { margin: 25px 0 12px; font-family: 'DM Sans', sans-serif; font-size: 17px; line-height: 1.5; font-weight: 500; letter-spacing: -.015em; }
.mainstream-theme .ms-info-content strong { font-weight: 500; color: var(--ms-ink); }
.mainstream-theme .ms-info-content a { color: #405c46; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #87967e; }
.mainstream-theme .ms-info-content ul, .mainstream-theme .ms-info-content ol { padding-left: 21px; margin: 0 0 23px; font-size: inherit; line-height: inherit; }
.mainstream-theme .ms-info-content li { padding-left: 5px; margin-bottom: 10px; line-height: inherit; }
.mainstream-theme .ms-info-content li::marker { color: #85957a; }
.mainstream-theme .ms-info a:focus-visible { outline: 2px solid var(--ms-green); outline-offset: 4px; }
@media (max-width: 900px) {
  .mainstream-theme .ms-info-shell { width: calc(100% - 48px); }
  .mainstream-theme .ms-info-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 32px; }
  .mainstream-theme .ms-info-links a { font-size: 12px; }
}
@media (max-width: 767px) {
  .mainstream-theme .ms-info { padding-bottom: 54px; }
  .mainstream-theme .ms-info-shell { width: calc(100% - 40px); }
  .mainstream-theme .ms-info-heading { padding: 32px 0 28px; gap: 16px; }
  .mainstream-theme .ms-info-heading h1 { margin-top: 18px; font-size: clamp(35px, 10vw, 50px); }
  .mainstream-theme .ms-info-back { font-size: 9px; letter-spacing: .07em; }
  .mainstream-theme .ms-info-arrow { flex-basis: 30px; width: 30px; height: 30px; align-self: flex-end; margin-bottom: 6px; }
  .mainstream-theme .ms-info-layout { display: flex; flex-direction: column; gap: 28px; padding-top: 22px; }
  .mainstream-theme .ms-info-sidebar { position: static; width: 100%; }
  .mainstream-theme .ms-info-nav > .ms-info-label { font-size: 9px; }
  .mainstream-theme .ms-info-links { display: flex; overflow-x: auto; gap: 6px; margin-top: 10px; padding: 0 2px 10px; scrollbar-width: thin; scrollbar-color: #c3cbbb transparent; }
  .mainstream-theme .ms-info-links a { flex: 0 0 auto; margin: 0; padding: 9px 11px; font-size: 11px; border: 1px solid var(--ms-line); background: #ffffff65; }
  .mainstream-theme .ms-info-links a > span { display: none; }
  .mainstream-theme .ms-info-help { display: none; }
  .mainstream-theme .ms-info-content { width: 100%; font-size: 14px; line-height: 1.8; }
  .mainstream-theme .ms-info-content h2 { margin-top: 26px; padding-top: 22px; font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .mainstream-theme .ms-info-links a { transition: none; }
}
