:root {
  --rs-accent: #00447C;
  --rs-accent-bright: #0092CE;
  --rs-ink: #152033;
  --rs-text: #445268;
  --rs-muted: #6B778C;
  --rs-line: #DDE6EE;
  --rs-surface: #F4F7FA;
  --rs-surface-2: #EEF4F8;
  --rs-white: #FFFFFF;
  --rs-radius: 18px;
  --rs-shadow: 0 12px 35px rgba(18, 38, 63, .06);
}

.rs-section { padding: 34px 0; color: var(--rs-ink); }
.rs-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.rs-eyebrow { margin: 0 0 10px; color: var(--rs-accent); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.rs-title, .rs-heading { margin: 0; color: var(--rs-ink); line-height: 1.08; }
.rs-title { max-width: 820px; font-size: clamp(2.15rem, 5vw, 4.6rem); letter-spacing: -.035em; }
.rs-heading { font-size: clamp(1.55rem, 3vw, 2.35rem); letter-spacing: -.025em; }
.rs-richtext { color: var(--rs-text); font-size: 1rem; line-height: 1.72; }
.rs-richtext > :first-child { margin-top: 0; }
.rs-richtext > :last-child { margin-bottom: 0; }
.rs-richtext a { color: var(--rs-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.rs-richtext a:hover { color: var(--rs-accent-bright); }
.rs-card { border: 1px solid var(--rs-line); border-radius: var(--rs-radius); background: var(--rs-white); box-shadow: var(--rs-shadow); }
.rs-card__kicker { display: block; margin-bottom: 14px; color: var(--rs-accent); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.rs-intro { padding-top: 54px; }
.rs-intro__head { padding-bottom: 30px; border-bottom: 1px solid var(--rs-line); }
.rs-intro__grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 30px; padding-top: 30px; align-items: start; }
.rs-intro__lead { font-size: 1.06rem; }
.rs-intro__availability { position: relative; overflow: hidden; padding: 24px 26px; }
.rs-intro__availability::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--rs-accent-bright); }

.rs-editorial__header, .rs-guidelines__header, .rs-archive__header { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 24px; }
.rs-editorial__grid { display: grid; grid-template-columns: 1.35fr .9fr .9fr; gap: 18px; }
.rs-editorial__card { padding: 26px; }
.rs-editorial__card h3 { margin: 0 0 18px; font-size: 1.12rem; }
.rs-people { list-style: none; margin: 0; padding: 0; }
.rs-person { padding: 13px 0; border-top: 1px solid var(--rs-line); }
.rs-person:first-child { padding-top: 0; border-top: 0; }
.rs-person__name { display: block; color: var(--rs-ink); font-weight: 750; line-height: 1.35; }
.rs-person__role { display: block; margin-top: 3px; color: var(--rs-muted); font-size: .92rem; line-height: 1.45; }
.rs-simple-list { margin: 0; padding-left: 1.15rem; color: var(--rs-text); line-height: 1.7; }

.rs-guidelines { background: var(--rs-surface); }
.rs-guidelines__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rs-guidelines__card { padding: 28px; }
.rs-guidelines__card h3 { margin: 0 0 18px; font-size: 1.2rem; }
.rs-file-button { display: inline-flex; align-items: center; gap: 9px; margin-top: 18px; padding: 11px 15px; border-radius: 999px; background: var(--rs-accent); color: var(--rs-white) !important; font-weight: 750; text-decoration: none !important; }
.rs-file-button:hover { background: var(--rs-accent-bright); }

.rs-archive__intro { max-width: 720px; margin: 8px 0 0; color: var(--rs-text); }
.rs-archive__list { display: grid; gap: 14px; }
.rs-issue { overflow: hidden; border: 1px solid var(--rs-line); border-radius: var(--rs-radius); background: var(--rs-white); }
.rs-issue[open] { box-shadow: var(--rs-shadow); }
.rs-issue__summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 20px 22px; cursor: pointer; list-style: none; font-weight: 800; }
.rs-issue__summary::-webkit-details-marker { display: none; }
.rs-issue__summary::after { content: '+'; display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--rs-surface-2); color: var(--rs-accent); font-size: 1.25rem; font-weight: 500; }
.rs-issue[open] > .rs-issue__summary::after { content: '−'; }
.rs-issue__meta { color: var(--rs-muted); font-size: .86rem; font-weight: 650; }
.rs-issue__body { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; padding: 0 22px 24px; border-top: 1px solid var(--rs-line); }
.rs-issue__cover { padding-top: 24px; }
.rs-issue__cover img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 10px 26px rgba(18,38,63,.12); }
.rs-issue__entries { min-width: 0; padding-top: 12px; }
.rs-entry { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--rs-line); }
.rs-entry:last-child { border-bottom: 0; }
.rs-entry__type { color: var(--rs-accent); font-size: .7rem; font-weight: 850; letter-spacing: .05em; }
.rs-entry__link { color: var(--rs-ink); font-weight: 650; line-height: 1.45; text-decoration: none; }
.rs-entry__link:hover { color: var(--rs-accent); text-decoration: underline; text-underline-offset: 3px; }
.rs-entry__arrow { color: var(--rs-accent-bright); font-size: 1.1rem; }
.rs-entry-heading { margin: 22px 0 6px; color: var(--rs-accent); font-size: .84rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.rs-entry-text { padding: 12px 0; color: var(--rs-text); border-bottom: 1px solid var(--rs-line); }
.rs-archive__empty { padding: 28px; border: 1px dashed var(--rs-line); border-radius: var(--rs-radius); color: var(--rs-muted); background: var(--rs-surface); }

@media (max-width: 900px) {
  .rs-intro__grid, .rs-editorial__grid, .rs-guidelines__grid { grid-template-columns: 1fr; }
  .rs-issue__body { grid-template-columns: 130px minmax(0, 1fr); gap: 20px; }
}

@media (max-width: 620px) {
  .rs-section { padding: 26px 0; }
  .rs-shell { width: min(100% - 24px, 1180px); }
  .rs-intro { padding-top: 36px; }
  .rs-intro__availability, .rs-editorial__card, .rs-guidelines__card { padding: 20px; }
  .rs-issue__summary { align-items: flex-start; padding: 17px 18px; }
  .rs-issue__body { grid-template-columns: 1fr; padding: 0 18px 20px; }
  .rs-issue__cover { width: 120px; }
  .rs-entry { grid-template-columns: 42px minmax(0, 1fr) 16px; gap: 8px; }
}
