/* RC5 public-release pages: conservation, method, coda extension, restricted register. */

.release-hero {
  padding-block: clamp(var(--space-16), 9vw, var(--space-24));
  border-bottom: 1px solid var(--color-border);
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent 31rem),
    var(--color-surface);
}

.release-hero__eyebrow,
.release-label {
  color: var(--color-primary);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.release-hero h1 {
  max-width: 15ch;
  margin-top: var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(2.7rem, 7vw, 6.6rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.release-hero__lede {
  max-width: 63ch;
  margin-top: var(--space-6);
  color: var(--color-text-muted);
  font-size: clamp(var(--text-lg), 2vw, var(--text-xl));
  line-height: 1.65;
}

.release-section {
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
  border-bottom: 1px solid var(--color-border);
}

.release-section--paper {
  background: var(--color-surface-raised);
}

.release-section h2 {
  max-width: 23ch;
  margin-top: var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.7rem);
  font-weight: 500;
  line-height: 1.05;
}

.release-intro {
  max-width: 70ch;
  margin-top: var(--space-5);
  color: var(--color-text-muted);
  font-size: var(--text-lg);
  line-height: 1.75;
}

.method-grid,
.echo-grid,
.register-grid,
.release-paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-10);
}

.method-card,
.echo-card,
.register-card,
.release-path-card {
  min-width: 0;
  padding: clamp(var(--space-5), 3vw, var(--space-8));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.method-card h3,
.echo-card h3,
.register-card h2,
.release-path-card h3 {
  margin-top: var(--space-3);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  line-height: 1.15;
}

.method-card p,
.echo-card p,
.register-card p,
.release-path-card p {
  margin-top: var(--space-3);
  color: var(--color-text-muted);
  line-height: 1.65;
}

.method-card dl {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.method-card dt {
  color: var(--color-text-faint);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.method-card dd {
  margin-top: var(--space-1);
  color: var(--color-text);
  line-height: 1.55;
}

.finding {
  display: grid;
  grid-template-columns: minmax(10rem, 0.75fr) minmax(0, 2fr);
  gap: var(--space-6);
  padding-block: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.finding:last-child {
  border-bottom: 1px solid var(--color-border);
}

.finding__name {
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 700;
}

.finding__body h3 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
}

.finding__body p {
  margin-top: var(--space-2);
  color: var(--color-text-muted);
  line-height: 1.7;
}

.release-callout {
  margin-top: var(--space-10);
  padding: clamp(var(--space-6), 5vw, var(--space-10));
  border-left: 3px solid var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));
}

.release-callout blockquote {
  max-width: 31ch;
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.6rem);
  line-height: 1.25;
}

.release-callout p {
  max-width: 65ch;
  margin-top: var(--space-4);
  color: var(--color-text-muted);
  line-height: 1.7;
}

/* Acknowledgement, not a claim: a quiet phrase for readers who know where the work began. */
.margin-notation {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.34rem;
  margin-top: var(--space-6);
  color: color-mix(in srgb, var(--color-primary) 70%, var(--color-text-muted));
  font-family: var(--font-mono);
  font-size: 0.67rem;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.margin-notation i { color: var(--color-text-faint); font-style: normal; }
.margin-notation span { transition: color 900ms ease, letter-spacing 900ms ease; }
.margin-notation:hover span,
.margin-notation:focus-within span { color: var(--color-primary); letter-spacing: 0.17em; }
@media (prefers-reduced-motion: reduce) { .margin-notation span { transition: none; } }

.register-card {
  position: relative;
  min-height: 21rem;
  overflow: hidden;
}

.register-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.32rem;
  content: '';
  background: var(--color-primary);
}

.register-card--closed::after {
  position: absolute;
  right: -3.7rem;
  top: 2.4rem;
  width: 14rem;
  padding: 0.35rem;
  transform: rotate(37deg);
  content: 'ACCESS CLOSED';
  border: 1px solid color-mix(in srgb, var(--color-error) 70%, transparent);
  color: var(--color-error);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-align: center;
}

.register-card__status {
  display: inline-flex;
  margin-top: var(--space-6);
  padding: 0.3rem 0.55rem;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  color: var(--color-text-faint);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.register-card__disposition,
.register-card__classification,
.register-current-file {
  margin-top: var(--space-4);
  color: var(--color-primary);
  font: 600 var(--text-xs) var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.register-card__classification { color: var(--color-text-faint); }
.register-current-file { margin-top: var(--space-6); }
.register-reference-issue {
  margin-top: var(--space-8);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}
.register-reference-issue > p { margin-bottom: var(--space-4); color: var(--color-text-muted); line-height: 1.6; }
.register-reference-code {
  display: block;
  overflow-wrap: anywhere;
  margin-block: var(--space-6);
  padding: var(--space-5);
  border-block: 1px solid var(--color-border);
  color: var(--color-primary);
  font: 600 clamp(0.9rem, 2vw, 1.15rem) var(--font-mono);
  letter-spacing: 0.08em;
  text-align: center;
}
.register-reference-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); margin-bottom:var(--space-4); }
.register-reference-actions span { color:var(--color-text-muted); font-size:var(--text-sm); }
.register-behind-link { margin-top:var(--space-8); }

.redaction {
  display: inline-block;
  min-width: 9ch;
  border-radius: 0.1rem;
  background: currentColor;
  color: var(--color-text);
  line-height: 0.86;
}

.orientation-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.orientation-frame {
  display: grid;
  min-height: 22rem;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #171510;
}

.orientation-frame img {
  width: min(92%, 42rem);
  height: auto;
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}

.orientation-frame--turned img {
  width: min(64%, 30rem);
  transform: rotate(90deg);
}

.orientation-caption {
  margin-top: var(--space-3);
  color: var(--color-text-faint);
  font-size: var(--text-sm);
  text-align: center;
}

.boundary-list {
  display: grid;
  gap: var(--space-4);
  max-width: 72ch;
  margin-top: var(--space-8);
  padding-left: 1.2rem;
}

.boundary-list li {
  padding-left: 0.4rem;
  color: var(--color-text-muted);
  line-height: 1.7;
}

.co-reader-brief {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.co-reader-brief > label {
  color: var(--color-primary);
  font: 600 var(--text-xs) var(--font-mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.co-reader-brief textarea {
  width: 100%;
  min-height: 18rem;
  resize: vertical;
  padding: var(--space-5);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  background: color-mix(in oklab, var(--color-bg) 76%, var(--color-surface));
  color: var(--color-text);
  font: 0.92rem/1.65 var(--font-body);
}

.co-reader-brief__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.co-reader-brief__actions p {
  min-height: 1.4em;
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

@media (max-width: 880px) {
  .method-grid,
  .echo-grid,
  .register-grid,
  .release-paths {
    grid-template-columns: 1fr;
  }

  .register-card {
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .finding,
  .orientation-pair {
    grid-template-columns: 1fr;
  }

  .orientation-frame {
    min-height: 17rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orientation-frame img {
    transition: none;
  }
}
