/* A rehearsal-room archive: dark surfaces, hard edges and utilitarian type. */
:root {
  --ink: #080909;
  --paper: #e3e0d6;
  --paper-dark: #b9b6ad;
  --muted: #9b9c97;
  --line: #3a3a37;
  --accent: #bb3b32;
  --sans: Arial, Helvetica, sans-serif;
  --mono: Consolas, 'Courier New', monospace;
}

body { background: var(--ink); color: var(--paper); }
body::after {
  content: '';
  position: fixed;
  z-index: 1000;
  inset: 0;
  pointer-events: none;
  opacity: .15;
  background: repeating-linear-gradient(0deg, transparent 0 3px, #fff1 3px 4px);
}
.site-header { background: #090909; border-bottom: 2px solid var(--accent); }
.brand-mark { transform: rotate(-3deg); border-width: 3px; }
.brand-name { letter-spacing: .07em; }
.site-header nav a, .header-link, .eyebrow, .section-index,
.hero-meta, .hero-bottom, .photo-label, .vertical-word,
.outro-kicker, .button, .gallery-item span, .member-info span,
.member-profile-link, .gallery-credit, .site-footer {
  font-family: var(--mono);
  letter-spacing: .08em;
}
.site-header nav a, .header-link { font-size: 11px; }
.header-link { border-bottom-width: 2px; }

.hero {
  background: linear-gradient(90deg, #101111 0 54%, #090909 54%);
  border-bottom: 3px solid var(--accent);
}
.hero-copy { padding-top: clamp(68px, 7vw, 105px); }
.hero h1 { font-size: clamp(72px, 8vw, 128px); margin: 32px 0 28px; }
.hero h1 em { font-weight: 700; }
.hero-greeting { font: 700 18px/1.35 var(--mono); margin-bottom: 12px; }
.hero-lead { font-size: clamp(16px, 1.3vw, 18px); line-height: 1.65; color: #c4c2bc; }
.hero-signature { font-family: var(--mono); color: var(--paper); }
.hero-actions { margin-top: 30px; }
.button { border: 1px solid var(--accent); }
.button-primary { background: var(--accent); color: #fff; }
.button-primary:hover { background: #8d2b27; }
.hero-photo-wrap { border: 1px solid #494946; background: #171717; }
.hero-photo-wrap::after {
  background: linear-gradient(180deg, #0002 0%, transparent 35%, #0005 100%);
  mix-blend-mode: normal;
}
.photo-label { background: #111; color: var(--paper); border: 1px solid #494946; }
.hero-bottom { border-top-color: #4a4a47; color: #aaa8a1; }

.section-shell { border-bottom: 1px solid #393936; }
.section-index { color: var(--accent); border-color: #575753; }
.section-index span:last-child { color: #a3a19b; }
.story, .gallery, .profile-photos { background: #171817; color: var(--paper); }
.story .section-index, .gallery .section-index,
.profile-photos .section-index { border-color: #575753; }
.story h2, .section-heading h2, .outro h2 { font-size: clamp(56px, 6.4vw, 95px); }
.story-copy > p:first-child { font-size: 17px; line-height: 1.75; color: #d0cec6; }
.story blockquote {
  background: #0e0f0e;
  border-left: 5px solid var(--accent);
  padding: 22px 25px;
  font-size: clamp(24px, 2.3vw, 34px);
}
.story cite { font-family: var(--mono); color: #aaa8a0; }
.story cite span:last-child { color: #e1776e; }

.members, .comments, .forum-page { background: #0d0e0e; }
.members .section-index, .comments .section-index,
.forum-hero .section-index { border-color: #4b4b47; }
.section-heading p, .gallery .section-heading p,
.comments-heading p { color: #aaa9a3; }
.member-photo { border: 1px solid #55554f; background: #101111; }
.member-photo span { font-family: var(--mono); letter-spacing: .06em; }
.member-info { border-bottom: 1px solid #575753; padding: 17px 2px 22px; }
.member-info h3 { font-weight: 700; }
.member-profile-link { border-bottom-width: 2px; }
.gallery-item { border: 1px solid #55554f; }
.gallery-credit { color: #a8a7a0; line-height: 1.7; }
.gallery-credit a { color: var(--paper); }

.rehearsal, .forum-hero, .profile-hero { background: #111212; }
.rehearsal-player {
  background: #080808;
  border: 1px solid #6b6a63;
  box-shadow: 9px 9px 0 #5c211e;
}
.outro {
  background: #421a18;
  color: var(--paper);
  border-top: 4px solid var(--accent);
}
.outro h2 em { color: #d66d62; }
.outro-side p { color: #e0d0cb; }
.button-outline { border: 1px solid var(--paper); color: var(--paper); }
.button-outline:hover { background: var(--paper); color: var(--ink); }
.site-footer { background: #070707; color: #a6a49c; }

.profile-photos h2, .comments h2 { font-size: clamp(54px, 6.4vw, 95px); }
.profile-photo-grid button { border: 1px solid #55554f; background: #0e0e0e; }
.comment-write, .forum-write { background: #1c1d1b; border-top: 3px solid var(--accent); }
.comment-list li, .topic-list li, .reply-list li { border-color: #4c4c47; }
.login-form input, #comment-form textarea,
.forum-write input, .forum-write textarea { background: #0c0d0c; border-color: #66665e; }
.forum-section-heading { border-color: #4c4c47; }
.forum-content { background: #0d0e0e; }
.topic-list h3, .forum-section-heading h2, .forum-section-heading h3 { font-weight: 700; }

@media (max-width: 760px) {
  .hero { background: #101111; }
  .hero h1 { font-size: clamp(65px, 13vw, 100px); }
  .hero-photo-wrap { border: 1px solid #494946; }
  .story h2, .section-heading h2 { font-size: clamp(54px, 10vw, 76px); }
}
@media (max-width: 420px) {
  .hero h1 { font-size: 62px; }
  .site-header nav a { font-size: 9px; }
}
