:root {
  --rc-ground: #f1d8f6;
  --rc-ink: #2b1b1f;
  --rc-accent: #265b6e;
  --rc-support: #dcbbbe;
  --rc-wash: #e6c1eb;
  --rc-edge: 132px;
  --rc-serif: 'Rosarivo', Georgia, serif;
  --rc-body: 'Rambla', 'Trebuchet MS', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 116px; }
body { margin: 0; color: var(--rc-ink); background: var(--rc-ground); font: 19px/1.6 var(--rc-body); }
::selection { background: var(--rc-accent); color: var(--rc-ground); }
a { color: var(--rc-accent); text-decoration-thickness: 1px; text-underline-offset: 5px; transition: text-decoration-thickness .15s ease, color .15s ease; }
a:hover { text-decoration-thickness: 3px; }
a:focus-visible { outline: 3px solid var(--rc-accent); outline-offset: 6px; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
img { display: block; max-width: 100%; }
h1, h2, h3 { margin: 0; font-weight: 400; }
h1, h3 { font-family: var(--rc-serif); }
i[data-lucide] { display: inline-flex; flex: 0 0 auto; }
svg { display: block; }
.rc-skip { position: absolute; left: 20px; top: -100px; z-index: 10; padding: 10px 16px; background: var(--rc-ground); }
.rc-skip:focus { top: 12px; }

/* The fastener is the masthead, rather than a navigation bar. */
.rc-fastener { position: relative; padding: 18px 40px 12px; border-top: 8px solid var(--rc-accent); }
.rc-wordmark { display: block; width: max-content; max-width: 100%; margin: 0 auto; color: var(--rc-ink); font-size: clamp(32px, 5vw, 68px); font-weight: 700; line-height: 1.05; letter-spacing: -2.5px; white-space: nowrap; text-decoration: none; }
.rc-wordmark:hover { color: var(--rc-accent); }
.rc-fastener-nav { position: relative; display: grid; grid-template-columns: 1fr 4px 1fr; grid-template-rows: repeat(3, 22px); width: 330px; max-width: 100%; height: 66px; margin: 7px auto 0; }
.rc-fastener-nav::before { content: ''; position: absolute; width: 4px; height: 58px; top: 4px; left: calc(50% - 2px); background: var(--rc-accent); }
.rc-navtooth { position: relative; display: flex; gap: 8px; align-items: center; width: max-content; color: var(--rc-ink); font-size: 17px; line-height: 22px; text-decoration: none; }
.rc-navtooth::after { content: ''; position: absolute; width: 22px; height: 10px; background: var(--rc-accent); transition: width .15s ease; }
.rc-nav-access, .rc-nav-legal { grid-column: 1; justify-self: end; padding-right: 34px; }
.rc-nav-access { grid-row: 1; }
.rc-nav-legal { grid-row: 3; }
.rc-nav-access::after, .rc-nav-legal::after { right: 0; }
.rc-nav-evidence { grid-column: 3; grid-row: 2; padding-left: 34px; }
.rc-nav-evidence::after { left: 0; }
.rc-navtooth svg, .rc-navtooth i { width: 17px; height: 17px; }
.rc-navtooth:hover, .rc-navtooth[aria-current='page'] { color: var(--rc-accent); text-decoration: underline; text-decoration-thickness: 2px; }
.rc-navtooth:hover::after, .rc-navtooth:focus-visible::after { width: 29px; }

/* One continuous photograph, with two unequal, square-edged ground fields. */
.rc-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: 52% 48%; grid-template-rows: auto auto; min-height: 640px; }
.rc-bridge { position: absolute; inset: 0; z-index: -1; margin: 0; background: var(--rc-support); }
.rc-bridge picture, .rc-bridge img { position: absolute; inset: 0; width: 100%; height: 100%; }
.rc-bridge img { object-fit: cover; object-position: 50% 45%; }
.rc-hero-words { position: relative; grid-column: 2; grid-row: 1; align-self: start; padding: 34px 48px 38px 72px; background: var(--rc-ground); border-right: 14px solid var(--rc-accent); clip-path: polygon(32px 0, 100% 0, 100% 100%, 32px 100%, 32px 75%, 0 75%, 0 59%, 32px 59%, 32px 30%, 0 30%, 0 14%, 32px 14%); }
.rc-hero h1 { max-width: 17ch; font-size: clamp(44px, 4.25vw, 64px); line-height: 1.08; letter-spacing: -1.7px; text-wrap: balance; }
.rc-hero-lead { max-width: 36ch; margin-top: 22px; font-size: 20px; line-height: 1.45; }
.rc-address { position: relative; grid-column: 1; grid-row: 2; align-self: end; margin: 0; padding: 26px 44px 28px max(44px, calc((100vw - 1312px) / 2)); background: var(--rc-support); }
.rc-address::before { content: ''; position: absolute; width: 72px; height: 22px; right: 0; top: -22px; background: var(--rc-support); }
.rc-address-lines { max-width: calc(100% - 135px); margin-bottom: 16px; line-height: 1.2; }
.rc-address-lines span { display: block; width: max-content; max-width: 100%; }
.rc-address-name { font-size: 27px; font-weight: 700; }
.rc-address-site { font-size: 22px; }
.rc-address-category { padding-top: 5px; font-size: 18px; }
.rc-address-qualification { max-width: 64ch; font-size: 17px; line-height: 1.45; }
.rc-remote-dot { position: absolute; top: 48px; right: 48px; width: 9px; height: 9px; border-radius: 50%; background: var(--rc-accent); }
.rc-seam-pull { position: absolute; top: 0; left: calc(52% - 23px); width: 23px; height: 58px; background: var(--rc-accent); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 77%, 10px 77%, 10px 55%, 0 55%); animation: rc-fastening .7s ease-out both; }
@keyframes rc-fastening { from { transform: translateY(-16px); } to { transform: translateY(0); } }

/* The middle stays empty. Complete passages project from opposite edges. */
.rc-reading { width: calc(100% - 128px); max-width: 1260px; margin: 0 auto; }
.rc-opening { max-width: calc(50% - var(--rc-edge) / 2); margin: 88px 0 76px; font-size: 24px; line-height: 1.5; }
.rc-opening::first-letter { float: left; margin: 3px 8px 0 0; color: var(--rc-accent); font: 76px/.87 var(--rc-serif); }
.rc-spread-head { position: sticky; top: 0; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) var(--rc-edge) minmax(0, 1fr); margin-bottom: 78px; padding: 14px 0; background: var(--rc-ground); }
.rc-spread-head h2 { display: flex; align-items: center; gap: 13px; padding: 13px 20px; color: var(--rc-ground); background: var(--rc-accent); font: 28px/1.2 var(--rc-body); }
.rc-spread-head h2:last-child { grid-column: 3; }
.rc-edge-heading svg, .rc-edge-heading i { width: 24px; height: 24px; flex: 0 0 24px; }
.rc-concern { display: grid; grid-template-columns: minmax(0, 1fr) var(--rc-edge) minmax(0, 1fr); margin-bottom: 100px; align-items: start; }
.rc-prose-tooth { position: relative; padding: 50px 42px 42px; }
.rc-prose-tooth::after { content: ''; position: absolute; width: 34px; height: 56px; }
.rc-access-tooth { grid-column: 1; grid-row: 1; border-left: 8px solid var(--rc-accent); background: var(--rc-support); box-shadow: -10px 12px 0 #bc969d; }
.rc-access-tooth a { color: var(--rc-ink); text-decoration-color: var(--rc-ink); }
.rc-access-tooth::after { right: -34px; top: 46px; background: var(--rc-support); }
.rc-evidence-tooth { grid-column: 3; grid-row: 2; margin-top: -108px; border-top: 8px solid var(--rc-accent); background: var(--rc-wash); }
.rc-evidence-tooth::after { left: -34px; top: 120px; background: var(--rc-wash); }
.rc-prose-tooth h3 { margin-bottom: 22px; font-size: 30px; line-height: 1.23; letter-spacing: -.6px; text-wrap: balance; }
.rc-prose-tooth p { line-height: 1.6; }
.rc-source-tooth h3 a { color: var(--rc-ink); text-decoration-color: var(--rc-accent); overflow-wrap: anywhere; }
.rc-pair-stitch { position: absolute; width: 12px; height: 38px; top: -14px; right: 40px; background: var(--rc-accent); }
.rc-evidence-tooth .rc-pair-stitch { top: -22px; right: auto; left: 40px; }
.rc-pair-number { position: absolute; top: -65px; left: -22px; color: var(--rc-accent); font: 104px/1 var(--rc-serif); letter-spacing: -8px; text-shadow: 3px 3px 0 var(--rc-ground); }
.rc-pair-number::before { content: attr(data-pair); }
.rc-closing { max-width: calc(50% - var(--rc-edge) / 2); margin: 78px 0 100px calc(50% + var(--rc-edge) / 2); padding: 2px 0 2px 26px; border-left: 12px solid var(--rc-accent); font-size: 23px; line-height: 1.5; }

/* Article titles make a second, smaller join against their own photograph. */
.rc-inner-intro { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) var(--rc-edge) minmax(0, 1fr); align-items: end; width: calc(100% - 128px); max-width: 1260px; margin: 58px auto 0; }
.rc-inner-title { position: relative; grid-column: 1; padding: 42px 34px 38px; background: var(--rc-support); }
.rc-inner-title::after { content: ''; position: absolute; right: -34px; bottom: 36px; width: 34px; height: 56px; background: var(--rc-support); }
.rc-inner-title h1 { font-size: clamp(36px, 3.55vw, 54px); line-height: 1.15; letter-spacing: -1.4px; text-wrap: balance; }
.rc-page-marker { position: absolute; top: -25px; left: 30px; display: grid; place-items: center; width: 52px; height: 52px; color: var(--rc-ground); background: var(--rc-accent); box-shadow: 5px 5px 0 var(--rc-ground); transform: rotate(-5deg); }
.rc-page-marker svg, .rc-page-marker i { width: 28px; height: 28px; }
.rc-inner-lead { grid-column: 3; padding: 24px 0 24px 24px; background: var(--rc-ground); font-size: 23px; line-height: 1.5; }
.rc-photographic-band { position: relative; height: 310px; margin: -48px 0 0 32px; background: var(--rc-support); border-bottom: 14px solid var(--rc-accent); }
.rc-photographic-band img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }
.rc-photographic-band::after { content: ''; position: absolute; left: calc(50% - 66px); bottom: -14px; width: 132px; height: 48px; background: var(--rc-ground); }
.rc-inner-intro + .rc-reading .rc-opening { margin-top: 76px; }
.rc-colophon { padding: 48px 64px 32px; color: var(--rc-ground); background: var(--rc-accent); }
.rc-colophon-inner { display: grid; grid-template-columns: minmax(0, 1fr) 1fr; gap: 48px 80px; max-width: 1260px; margin: auto; }
.rc-colophon p { max-width: 46ch; }
.rc-colophon a { color: var(--rc-ground); }
.rc-colophon a:focus-visible { outline-color: var(--rc-ground); }
.rc-end-nav { display: flex; flex-wrap: wrap; justify-content: end; align-content: start; gap: 8px 28px; }
.rc-end-nav a { min-height: 40px; }
.rc-copyright { grid-column: 1 / -1; font-size: 16px; }
.rc-not-found { padding: 80px 0 100px; }
.rc-not-found h1 { max-width: 17ch; font-size: 54px; line-height: 1.2; }
.rc-not-found p { max-width: 38ch; margin-top: 30px; font-size: 22px; }

@media (min-width: 1800px) {
  .rc-hero { min-height: 760px; }
  .rc-hero-words { padding: 46px max(64px, calc((100vw - 1540px) / 2)) 46px 82px; }
  .rc-hero h1 { font-size: 70px; }
}
@media (max-width: 1100px) and (min-width: 901px) {
  .rc-hero-words { padding: 30px 30px 34px 56px; }
  .rc-hero-lead { font-size: 18px; }
  .rc-address { padding: 26px 32px; }
  .rc-address-lines { max-width: calc(100% - 85px); }
  .rc-address-name { font-size: 24px; }
  .rc-address-site { font-size: 21px; }
  .rc-address-qualification { font-size: 16px; }
  .rc-remote-dot { right: 30px; }
  .rc-reading, .rc-inner-intro { width: calc(100% - 80px); --rc-edge: 100px; }
  .rc-prose-tooth { padding: 44px 28px 32px; }
  .rc-prose-tooth h3 { font-size: 27px; }
  .rc-evidence-tooth { margin-top: -60px; }
  .rc-spread-head h2 { font-size: 24px; padding: 13px; }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 24px; }
  body { font-size: 18px; line-height: 1.55; }
  .rc-fastener { padding: 12px 20px 8px; border-top-width: 5px; }
  .rc-wordmark { font-size: clamp(24px, 7.45vw, 36px); line-height: 1.15; letter-spacing: -.8px; }
  .rc-fastener-nav { width: 270px; height: 66px; grid-template-rows: repeat(3, 22px); margin-top: 4px; }
  .rc-fastener-nav::before { height: 40px; top: 13px; }
  .rc-navtooth { font-size: 16px; line-height: 22px; gap: 6px; }
  .rc-navtooth::after { width: 17px; height: 9px; }
  .rc-nav-access, .rc-nav-legal { padding-right: 26px; }
  .rc-nav-evidence { padding-left: 26px; }
  .rc-navtooth:hover::after, .rc-navtooth:focus-visible::after { width: 22px; }
  .rc-navtooth svg, .rc-navtooth i { width: 15px; height: 15px; }
  .rc-hero { display: flex; flex-direction: column; min-height: 0; }
  .rc-hero-words { padding: 22px 24px 24px 28px; border-right-width: 8px; clip-path: polygon(8px 0, 100% 0, 100% 100%, 8px 100%, 8px 76%, 0 76%, 0 59%, 8px 59%, 8px 31%, 0 31%, 0 15%, 8px 15%); }
  .rc-hero h1 { max-width: 19ch; font-size: 32px; line-height: 1.12; letter-spacing: -.65px; }
  .rc-hero-lead { max-width: 42ch; margin-top: 14px; font-size: 17px; line-height: 1.43; }
  .rc-address { width: 100%; padding: 22px 24px 24px; }
  .rc-address::before { width: 42px; height: 12px; top: -12px; }
  .rc-address-lines { max-width: calc(100% - 86px); margin-bottom: 12px; line-height: 1.24; }
  .rc-address-name { font-size: 22px; }
  .rc-address-site { font-size: 20px; }
  .rc-address-category { padding-top: 3px; font-size: 18px; }
  .rc-address-qualification { max-width: 54ch; font-size: 16px; line-height: 1.4; }
  .rc-remote-dot { right: 26px; top: 46px; width: 8px; height: 8px; }
  .rc-bridge { position: relative; inset: auto; z-index: auto; flex: 0 0 110px; min-height: 110px; width: 100%; }
  .rc-bridge img { object-position: 50% 52%; }
  .rc-bridge::before, .rc-bridge::after { content: ''; position: absolute; z-index: 1; width: 20px; height: 20px; background: var(--rc-support); }
  .rc-bridge::before { top: 20px; left: 0; }
  .rc-bridge::after { top: 70px; right: 0; background: var(--rc-ground); }
  .rc-seam-pull { display: none; }
  .rc-reading { width: calc(100% - 40px); }
  .rc-opening { max-width: none; margin: 52px 0 42px; font-size: 21px; line-height: 1.5; }
  .rc-opening::first-letter { font-size: 65px; }
  .rc-spread-head { position: static; grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr); margin-bottom: 54px; padding: 0; }
  .rc-spread-head h2 { align-items: start; gap: 7px; padding: 12px 9px; font-size: 20px; line-height: 1.2; }
  .rc-edge-heading svg, .rc-edge-heading i { width: 18px; height: 20px; flex-basis: 18px; }
  .rc-concern { display: flex; flex-direction: column; gap: 32px; margin-bottom: 74px; }
  .rc-prose-tooth { width: calc(100% - 21px); padding: 39px 22px 28px; }
  .rc-prose-tooth h3 { margin-bottom: 20px; font-size: 26px; line-height: 1.25; }
  .rc-access-tooth { align-self: start; border-left-width: 5px; box-shadow: -6px 8px 0 #bc969d; }
  .rc-access-tooth::after { width: 21px; right: -21px; height: 32px; top: 38px; }
  .rc-evidence-tooth { align-self: end; margin-top: 0; border-top-width: 6px; padding-top: 31px; }
  .rc-evidence-tooth::after { width: 21px; left: -21px; height: 32px; top: 82px; }
  .rc-pair-stitch { right: 24px; width: 9px; height: 28px; top: -10px; }
  .rc-evidence-tooth .rc-pair-stitch { top: -17px; left: 22px; }
  .rc-pair-number { top: -40px; left: 6px; font-size: 70px; letter-spacing: -5px; }
  .rc-inner-intro { display: block; width: calc(100% - 40px); margin-top: 42px; }
  .rc-inner-title { padding: 42px 24px 28px; }
  .rc-inner-title::after { width: 20px; right: -20px; height: 36px; bottom: 28px; }
  .rc-inner-title h1 { font-size: 34px; line-height: 1.15; letter-spacing: -.8px; }
  .rc-page-marker { top: -23px; left: 22px; width: 46px; height: 46px; box-shadow: 4px 4px 0 var(--rc-ground); }
  .rc-page-marker svg, .rc-page-marker i { width: 25px; height: 25px; }
  .rc-inner-lead { margin: 0; padding: 24px 6px 26px; font-size: 20px; }
  .rc-photographic-band { height: 178px; margin: 0 0 0 20px; border-bottom-width: 8px; }
  .rc-photographic-band::after { width: 40px; height: 26px; left: calc(50% - 20px); bottom: -8px; }
  .rc-inner-intro + .rc-reading .rc-opening { margin-top: 28px; }
  .rc-closing { max-width: none; margin: 42px 0 58px; padding-left: 18px; border-left-width: 8px; font-size: 21px; }
  .rc-colophon { padding: 36px 24px 25px; }
  .rc-colophon-inner { display: block; }
  .rc-end-nav { justify-content: start; gap: 8px 23px; margin-top: 25px; }
  .rc-copyright { margin-top: 30px; }
  .rc-not-found { padding: 50px 0 70px; }
  .rc-not-found h1 { font-size: 34px; }
}
@media (max-width: 360px) {
  .rc-hero-words { padding-left: 23px; padding-right: 19px; }
  .rc-address { padding-left: 20px; padding-right: 20px; }
  .rc-address-lines { max-width: calc(100% - 54px); }
  .rc-hero h1 { font-size: 30px; }
  .rc-remote-dot { right: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
