/* =========================================================
   BUILD 41 — SIGNATURE BRAND / CONTENT-RESPONSIVE SECTIONS
   Loaded after every legacy stylesheet so these rules are authoritative.
   ========================================================= */

/* Clickable signature lock-up. The caption begins beneath the "o" in Ron and
   finishes near the nib, rather than extending beneath the feather. */
.rc-brand {
  width: clamp(320px, 30vw, 500px);
  max-width: 100%;
  flex: 0 0 auto;
  align-items: flex-start;
  line-height: 1;
}

.rc-brand-picture {
  display: block;
  width: 100%;
}

.rc-brand-logo {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .3));
}

.rc-brand-tagline {
  display: block;
  width: 55%;
  margin: 2px 0 0 14%;
  transform: none;
  color: var(--rc-gilt-mid);
  font-size: clamp(12px, 1vw, 16px);
  font-weight: 600;
  letter-spacing: .17em;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

.rc-brand:hover .rc-brand-logo,
.rc-brand:focus-visible .rc-brand-logo {
  filter: brightness(1.06) drop-shadow(0 3px 5px rgba(0, 0, 0, .3));
}

.rc-brand:focus-visible {
  outline: 2px solid #efd17c;
  outline-offset: 7px;
}

/* Content determines vertical size. Existing visual minimums are retained for
   designed hero panels, but no section has a fixed ceiling that can crop copy,
   links, headers or the footer when WordPress content changes. */
.rc-main {
  overflow: visible;
  overflow-x: clip;
}

.rc-main section,
.rc-page,
.rc-section,
.rc-hero,
.rc-book-showcase,
.rc-home-equal-section,
.rc-social-hero,
.rc-progress-section,
.rc-home-contact-section {
  max-height: none;
}

.rc-page,
.rc-section,
.rc-book-showcase,
.home .rc-hero,
.home .rc-home-equal-section,
.home .rc-progress-section,
.home .rc-home-contact-section,
.rc-social-hero {
  height: auto;
}

.home .rc-home-equal-section > .rc-wrap,
.rc-home-about-section .rc-home-about,
.rc-home-contact-section .rc-home-contact-grid,
.rc-progress-section .rc-progress-grid,
.rc-social-hero-inner {
  height: auto;
  max-height: none;
}

.home .rc-home-equal-section {
  min-height: 0;
}

.home .rc-progress-section,
.home .rc-home-contact-section {
  min-height: clamp(350px, 31vw, 430px);
}

.rc-social-hero {
  min-height: clamp(390px, 43vw, 540px);
}

/* Remove only the rule before the first book; later books retain their own
   separators. The first showcase now starts where that rule previously sat. */
.rc-books-page .rc-book-showcase:first-of-type {
  padding-top: 0;
  border-top: 0;
}

/* The Social follow-on heading likewise occupies the former separator line. */
.rc-social-page .rc-instagram-section {
  padding-top: 0;
  border-top: 0;
}

/* The title row owns a 50px lower gap. Lift and lengthen the desktop portrait
   by exactly that amount so its top meets the bottom edge of "About" while its
   existing lower edge remains unchanged. */
@media (min-width: 821px) {
  .rc-about-layout .rc-author-portrait-about {
    height: calc(100% + 50px);
    margin-top: -50px;
  }
}

@media (max-width: 820px) {
  .rc-brand {
    width: min(92vw, 500px);
  }

  .rc-social-hero {
    min-height: 500px;
  }

  .home .rc-home-contact-section .rc-home-contact-grid {
    min-height: 0;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .rc-header-inner {
    gap: 20px;
  }

  .rc-brand {
    width: clamp(240px, 27vw, 300px);
  }
}

@media (max-width: 480px) {
  .rc-brand {
    width: 100%;
  }

  .rc-brand-tagline {
    width: 58%;
    margin-left: 13%;
    font-size: clamp(11px, 3.2vw, 14px);
    letter-spacing: .13em;
  }

  .rc-social-hero {
    min-height: 440px;
  }
}

@media (forced-colors: active) {
  .rc-brand-tagline {
    color: CanvasText;
    -webkit-text-fill-color: currentColor;
    background: none;
    filter: none;
  }
}
