:root {
  --rc-paper: #f3f1e9;
  --rc-ink: #173d3c;
  --rc-muted: #52645c;
  --rc-line: #c4cfc4;
  --rc-accent: #bfe968;
  --rc-width: 70rem;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--rc-paper); color: var(--rc-ink); font: 1rem/1.75 Verdana, sans-serif; }
a { color: inherit; text-underline-offset: .22em; }
a:focus-visible { outline: 3px solid var(--rc-ink); outline-offset: 5px; }
.rc-shell { max-width: var(--rc-width); margin: auto; padding: 2rem clamp(1.2rem, 5vw, 4rem); }
.rc-header, .rc-footer { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.rc-header { border-bottom: 1px solid var(--rc-line); padding-bottom: 1.5rem; }
.rc-brand { font-weight: bold; text-decoration: none; }
.rc-nav { display: flex; gap: 1.2rem; flex-wrap: wrap; font-size: .8rem; }
.rc-kicker { font: .75rem/1.5 Verdana, sans-serif; letter-spacing: .14em; text-transform: uppercase; margin-top: 3.5rem; }
h1, h2 { font-family: Georgia, serif; font-weight: normal; line-height: 1.12; }
h1 { font-size: clamp(2.7rem, 6vw, 5.2rem); letter-spacing: -.04em; max-width: 14ch; margin: 1rem 0 1.6rem; }
h2 { font-size: 1.85rem; margin-top: 2rem; }
.rc-lead { max-width: 44rem; font-size: 1.12rem; }
.rc-badge { display: inline-block; background: var(--rc-accent); padding: .25rem .7rem; font-size: .75rem; }
.rc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 3rem; border-top: 1px solid var(--rc-line); }
.rc-copy { max-width: 48rem; }
.rc-copy h1 { font-size: clamp(2.5rem, 5vw, 4rem); max-width: 20ch; }
.rc-copy p, .rc-copy li { color: var(--rc-muted); }
.rc-footer { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--rc-line); font-size: .75rem; color: var(--rc-muted); }
.rc-skip { position: absolute; left: -10000px; }
.rc-skip:focus { left: 1rem; top: 1rem; padding: .5rem; background: var(--rc-accent); z-index: 1; }
@media (max-width: 42rem) { .rc-grid { grid-template-columns: 1fr; gap: 0; } }
