/*
 ▌║█║▌│║▌│║▌║▌█║  Character Study × Otterpine  ║▌█║▌║▌│║║▌█║▌║█

 File         : reading-party.css
 Description  : Co-brand layer for /reading-party/. Loads after styles.css
                and only on that page (body.rp-page). Character Study keeps
                its paper, Bodoni and handwriting; Otterpine brings its
                navy, red, cream, Montserrat caps and slash rules.
 Used on      : reading-party/index.html
 Author       : Mindtonic Media | hello@mindtonic.media

 ▌║█║▌│║▌│║▌║▌█║  Code by Mindtonic Media  ║▌█║▌║▌│║║▌█║▌║█
*/

.rp-page {
  /* Otterpine palette, from otterpine.com */
  --op-navy:  #181e2b;
  --op-red:   #990000;
  --op-cream: #f8f4f0;
  --font-op:  "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Anchor jumps on this page clear a little headroom */
.rp-page [id] { scroll-margin-top: var(--space-3); }

.rp-page .topnav a[aria-current="page"] {
  color: var(--op-red);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ─── Shared Otterpine pieces ─────────────────────────────────────────── */

.rp-kicker {
  margin: 0 0 var(--space-1);
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--op-navy);
}

/* Otterpine's red slash rule */
.rp-slashes {
  width: 168px;
  height: 14px;
  margin: var(--space-3) 0;
  background: repeating-linear-gradient(
    -60deg,
    transparent 0 7px,
    var(--op-red) 7px 9px
  );
}

.rp-slashes--center { margin-left: auto; margin-right: auto; }

.rp-meta span { white-space: nowrap; }

.rp-meta {
  margin: 0 0 var(--space-3);
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 500;
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--op-navy);
}

.rp-button {
  display: inline-block;
  padding: 16px 40px;
  background: var(--op-red);
  color: #fff;
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: 3px;
  box-shadow: 0 6px 18px rgba(153, 0, 0, 0.22);
  transition: background 220ms var(--ease-soft),
              transform  220ms var(--ease-soft),
              box-shadow 220ms var(--ease-soft);
}

.rp-button:hover,
.rp-button:focus-visible {
  background: var(--op-navy);
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(24, 30, 43, 0.28);
}

/* ─── Lockup: Character Study × Otterpine ─────────────────────────────── */

.rp-lockup {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin: var(--space-4) auto 0;
}

.rp-lockup a { background: none; transition: transform 220ms var(--ease-soft); }
.rp-lockup a:hover,
.rp-lockup a:focus-visible { transform: translateY(-2px); text-decoration: none; }

.rp-lockup__cs img { width: clamp(110px, 13vw, 150px); height: auto; }

.rp-lockup__x {
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 200;
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1;
  color: var(--op-navy);
}

.rp-lockup__op {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.rp-lockup__op-icon { width: clamp(44px, 5vw, 58px); height: auto; }
.rp-lockup__op-word { width: clamp(160px, 22vw, 240px); height: auto; }

@media (max-width: 599px) {
  .rp-lockup { flex-direction: column; gap: 6px; }
  .rp-lockup__x { font-size: 1.75rem; }
}

/* ─── Hero ────────────────────────────────────────────────────────────── */

.rp-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  align-items: center;
  max-width: var(--max-menu);
  margin: var(--space-4) auto 0;
  padding: 0;
}

.rp-hero__art {
  margin: 0 auto;
  width: min(80vw, 360px);
}

.rp-hero__art img { width: 100%; height: auto; }

.rp-hero__text { text-align: center; }

.rp-title {
  margin: 0;
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 600;
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--op-red);
}

.rp-hero__tagline { margin: var(--space-2) 0 0; }

.rp-hero .rp-slashes { margin-left: auto; margin-right: auto; }

.rp-hero__lead { max-width: 560px; }

.rp-hero__cta { margin: var(--space-4) auto 0; }

@media (min-width: 900px) {
  .rp-hero {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: var(--space-5);
    margin-top: var(--space-5);
  }

  .rp-hero__art { order: 2; align-self: start; width: 100%; max-width: 480px; margin-top: var(--space-4); }
  .rp-hero__text { order: 1; text-align: left; }
  .rp-hero .rp-slashes { margin-left: 0; }
  .rp-hero__lead { margin: 0; }
  .rp-hero .reading-party__fine-print { margin-left: 0; }
}

/* ─── Details (date-due card, programme, prose, extra) ────────────────── */

.rp-details { margin-top: var(--space-5); }

.rp-details .programme__title {
  font-family: var(--font-op);
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--op-navy);
}

.rp-shelf { max-width: 880px; margin-top: var(--space-6); }

/* ─── Hosts ───────────────────────────────────────────────────────────── */

.rp-hosts { padding: 0; }

.rp-hosts .section-heading { margin-top: var(--space-6); }

.rp-hosts .section-heading__ornament img { max-width: 160px; }

.rp-hosts__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  max-width: 920px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .rp-hosts__grid { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}

.rp-host {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-4) var(--space-3);
}

.rp-host__name { margin: var(--space-2) 0 var(--space-1); }

.rp-host__tagline {
  margin: 0;
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 500;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--op-navy);
}

.rp-host__body { max-width: 340px; margin: 0 auto var(--space-3); }

.rp-host__link { margin-top: auto; }

/* Otterpine: cream card, rounded, Montserrat, navy + red */
.rp-host--op {
  background: var(--op-cream);
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.18);
  color: var(--op-navy);
}

.rp-host--op .rp-host__art { width: 132px; height: auto; }
.rp-host--op .rp-host__name img { width: min(220px, 70%); height: auto; margin: 0 auto; }
.rp-host--op .rp-slashes { width: 96px; margin: var(--space-2) auto; }

.rp-host--op .rp-host__body {
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 400;
  font-size: 0.95rem;
  line-height: 1.9;
}

.rp-host--op .rp-host__link {
  display: inline-block;
  padding: 12px 28px;
  background: var(--op-red);
  color: #fff;
  font-family: var(--font-op);
  font-style: normal;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: 3px;
}

.rp-host--op .rp-host__link:hover,
.rp-host--op .rp-host__link:focus-visible {
  background: var(--op-navy);
  color: #fff;
  text-decoration: none;
}

/* Character Study: paper card, double rule, Bodoni */
.rp-host--cs {
  background: var(--paper-deep);
  border: 6px double var(--ink);
  transform: rotate(0.5deg);
}

.rp-host--cs .rp-host__seal { width: 132px; height: auto; }

.rp-host__name--cs {
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--red);
  line-height: 1.1;
}

.rp-host__tagline--cs {
  font-family: var(--font-type);
  letter-spacing: 0.24em;
  color: var(--ink-soft);
}

.rp-host__body--cs { font-size: 1.05rem; margin-top: var(--space-3); }

.rp-host__link--cs {
  font-family: var(--font-type);
  font-style: normal;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  .rp-host--cs { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rp-button, .rp-lockup a { transition: none; }
  .rp-button:hover, .rp-lockup a:hover { transform: none; }
}
