/*
Theme Name: Ron Clark Author
Author: Ron Clark
Description: Original editorial author theme for Ron Clark.
Version: 44.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ron-clark-author
*/
:root{--ink:#f3efe7;--paper:#08171b;--surface:#031014;--surface-raised:#0d2227;--muted:#a7b1ae;--line:rgba(243,239,231,.15);--accent:#c88b62;--max:1280px;--gutter:clamp(22px,4vw,68px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent)}img{display:block;max-width:100%;height:auto}.rc-wrap{width:min(calc(100% - 2 * var(--gutter)),var(--max));margin:auto}
.rc-site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.rc-header-inner{min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:35px}.rc-brand{text-decoration:none;line-height:1;display:flex;flex-direction:column}.rc-brand-name{font:400 clamp(30px,3vw,46px)/.95 Georgia,"Times New Roman",serif;letter-spacing:.035em}.rc-brand-tagline{margin-top:12px;font:400 11px/1.1 Georgia,"Times New Roman",serif;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.rc-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(15px,2.4vw,31px);flex-wrap:wrap}.rc-nav a{font:400 14px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.035em;text-decoration:none}
.rc-main{overflow:hidden}.rc-hero{min-height:78vh;display:flex;align-items:flex-end;padding:clamp(80px,10vw,145px) 0 clamp(65px,8vw,110px);border-bottom:1px solid var(--line)}.rc-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(40px,8vw,130px);align-items:end}.rc-kicker,.rc-section-label{margin:0 0 18px;font:700 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.rc-hero h1{margin:0;max-width:1000px;font-size:clamp(58px,9.3vw,138px);font-weight:400;line-height:.87;letter-spacing:-.055em}.rc-hero-intro{max-width:420px;margin:0 0 6px;font-size:clamp(20px,2vw,27px);line-height:1.35}.rc-hero-mark{font-family:Georgia,serif;font-size:clamp(100px,16vw,230px);line-height:.6;text-align:right;opacity:.1;user-select:none}
.rc-section{padding:clamp(78px,10vw,145px) 0;border-bottom:1px solid var(--line)}.rc-section-grid{display:grid;grid-template-columns:minmax(155px,.32fr) 1fr;gap:clamp(45px,8vw,135px)}.rc-section h2{margin:0 0 25px;font-size:clamp(40px,5.3vw,76px);font-weight:400;line-height:.98;letter-spacing:-.04em}.rc-lead{max-width:760px;font-size:clamp(20px,2vw,26px);line-height:1.42}.rc-book{display:grid;grid-template-columns:minmax(260px,.62fr) 1fr;gap:clamp(40px,7vw,105px);align-items:center}.rc-cover{aspect-ratio:2/3;max-width:440px;display:grid;place-items:center;padding:35px;background:var(--surface-raised);border:1px solid var(--line);box-shadow:12px 15px 0 rgba(0,0,0,.2);text-align:center}.rc-cover-title{font-size:clamp(32px,4vw,61px);line-height:.92}.rc-cover-author{display:block;margin-top:18px;font:700 10px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.rc-buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:31px}.rc-button{display:inline-block;padding:13px 19px;border:1px solid var(--ink);font:700 10px/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;text-decoration:none}.rc-button:hover{background:var(--ink);color:var(--paper)}.rc-dark{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}.rc-dark .rc-kicker,.rc-dark .rc-section-label{color:var(--muted)}.rc-dark .rc-button{border-color:var(--ink)}.rc-dark .rc-button:hover{background:var(--ink);color:var(--paper)}.rc-quote{font-size:clamp(34px,5.2vw,72px);line-height:1.02;letter-spacing:-.035em;max-width:1050px}.rc-linkrow{display:flex;flex-wrap:wrap;gap:20px;margin-top:35px}.rc-linkrow a{font:700 11px/1.3 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}
.rc-page{padding:clamp(75px,10vw,145px) 0}.rc-page-title{margin:0 0 50px;font-size:clamp(55px,8vw,110px);font-weight:400;line-height:.9;letter-spacing:-.05em}.rc-content{max-width:800px}.rc-content h2{font-size:clamp(34px,4.5vw,58px);font-weight:400;line-height:1.02}.rc-content h3{font-size:28px;font-weight:400}.rc-footer{padding:48px 0;font:11px/1.5 Arial,sans-serif;letter-spacing:.08em;color:var(--muted)}.rc-footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.rc-footer a{text-decoration:none}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:820px){.rc-header-inner{min-height:0;padding:27px 0;align-items:flex-start;flex-direction:column}.rc-nav ul{gap:13px 18px}.rc-hero{min-height:auto}.rc-hero-grid,.rc-section-grid,.rc-book{grid-template-columns:1fr}.rc-hero-mark{text-align:left;margin-top:20px}.rc-cover{max-width:360px}}


/* ---------------------------------------------------------
   FRAGMENTS / BOOK PRESENTATION — v3.1.0
   --------------------------------------------------------- */

.rc-book-visual {
  position: relative;
  width: min(100%, 520px);
  margin-inline: auto;
}

.rc-book-render {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 28px 32px rgba(0,0,0,.16));
  transition: transform .3s ease, filter .3s ease;
}

.rc-book-render:hover {
  transform: translateY(-4px) rotate(-.25deg);
  filter: drop-shadow(0 34px 38px rgba(0,0,0,.19));
}

.rc-format-note {
  margin: 0 0 14px;
  color: var(--muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.rc-book-copy {
  max-width: 700px;
}

.rc-book-copy .rc-lead {
  margin-bottom: 24px;
}

.rc-button-primary {
  background: var(--ink);
  color: var(--paper);
}

.rc-button-primary:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.rc-button-secondary {
  background: transparent;
}

.rc-text-link {
  display: inline-block;
  margin-top: 24px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
}

.rc-books-intro {
  max-width: 760px;
  margin: -18px 0 clamp(55px, 7vw, 90px);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.45;
}

.rc-book-showcase {
  padding: clamp(60px, 8vw, 110px) 0;
  border-top: 1px solid var(--line);
}

.rc-book-showcase-grid {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) 1fr;
  gap: clamp(45px, 8vw, 120px);
  align-items: center;
}

.rc-book-showcase h2 {
  margin: 0 0 20px;
  font-size: clamp(42px, 5.6vw, 80px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .96;
}

.rc-book-detail {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) 1fr;
  gap: clamp(50px, 8vw, 125px);
  align-items: start;
}

.rc-book-detail-copy {
  padding-top: 20px;
}

.rc-book-detail-copy .rc-page-title {
  margin-bottom: 25px;
}

.rc-book-description {
  max-width: 760px;
  font-size: 19px;
  line-height: 1.72;
}

.rc-book-description p:first-child {
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.48;
}

.rc-book-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 27px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.rc-book-purchase {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.rc-book-purchase-label {
  margin-bottom: 13px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
}

@media (max-width: 820px) {
  .rc-book-showcase-grid,
  .rc-book-detail {
    grid-template-columns: 1fr;
  }

  .rc-book-visual {
    max-width: 440px;
    margin-inline: 0;
  }

  .rc-book-detail-copy {
    padding-top: 0;
  }
}


/* ---------------------------------------------------------
   SOCIAL SPLIT HERO / EDITORIAL INSTAGRAM — v15.0.0
   --------------------------------------------------------- */

.rc-social-page {
  padding-bottom: clamp(75px, 10vw, 145px);
}

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

.rc-social-hero-inner {
  display: flex;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  justify-content: center;
}

.rc-social-hero .rc-page-title,
.rc-social-hero .rc-social-intro {
  width: 50%;
  margin-right: auto;
  margin-left: 0;
  padding-right: clamp(28px, 5vw, 78px);
  padding-left: 0;
  text-align: left;
}

.rc-social-hero .rc-page-title {
  margin-bottom: 30px;
}

.rc-social-hero .rc-social-intro {
  display: block;
  padding-bottom: 0;
}

.rc-social-hero::before,
.rc-social-hero::after {
  right: 0;
  width: 50%;
}

.rc-social-hero::after {
  background: linear-gradient(90deg, var(--paper) 0, rgba(8, 23, 27, .52) 24%, rgba(8, 23, 27, .16) 68%, rgba(8, 23, 27, .3) 100%);
}

.rc-instagram-heading {
  display: block;
  max-width: 1040px;
  margin-bottom: clamp(42px, 6vw, 72px);
}

.rc-instagram-heading h2 {
  max-width: 1040px;
}

.rc-instagram-subheading {
  max-width: 850px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.48;
}

/* Masonry-compatible safeguards: the plugin controls the desktop feed itself. */
.rc-instagram-feed-shell #sb_instagram .sbi_item,
.rc-instagram-feed-shell #sb_instagram .sbi_photo_wrap {
  break-inside: avoid;
}

.rc-instagram-feed-shell #sb_instagram img {
  height: auto;
}

@media (max-width: 820px) {
  .rc-social-hero {
    min-height: 500px;
  }

  .rc-social-hero::before,
  .rc-social-hero::after {
    width: 64%;
  }

  .rc-social-hero .rc-page-title,
  .rc-social-hero .rc-social-intro {
    width: 72%;
    padding-right: 24px;
  }

  .rc-instagram-feed-shell #sb_instagram #sbi_images {
    column-count: 1;
  }

  .rc-instagram-feed-shell #sb_instagram .sbi_item {
    width: 100% !important;
  }
}


/* Final v16 layout overrides follow every legacy component rule. */
.rc-social-page {
  padding-top: 0;
}

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

.rc-social-hero::before,
.rc-social-hero::after {
  top: 0;
  bottom: 0;
  height: 100%;
}

.rc-social-hero::before {
  background-position: center;
  background-size: cover;
}

.rc-home-contact-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #031014;
}

.rc-home-contact-section > .rc-wrap {
  width: 100%;
  max-width: none;
}

.rc-home-contact-section .rc-home-contact-grid {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
}

.rc-home-contact-section .rc-home-contact-image {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: 50%;
  height: 100%;
  margin: 0;
}

.rc-home-contact-section .rc-home-contact-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 0 0 55%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0, rgba(3, 16, 20, .48) 42%, #031014 100%);
}

.rc-home-contact-section .rc-home-contact-image img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center 43%;
  opacity: .86;
  filter: contrast(1.06) brightness(.7);
  -webkit-mask-image: none;
  mask-image: none;
}

.rc-home-contact-section .rc-home-contact-copy {
  position: relative;
  z-index: 2;
  width: 50%;
  max-width: none;
  margin-left: 50%;
  padding: clamp(40px, 6vw, 90px) var(--gutter) clamp(40px, 6vw, 90px) clamp(30px, 5vw, 78px);
  align-self: center;
}

@media (min-width: 821px) {
  .rc-home-about-section .rc-home-about {
    grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  }

  .rc-home-about-section .rc-author-portrait-home {
    align-self: center;
    width: min(100%, 560px);
    height: auto;
    justify-self: end;
  }

  .rc-home-about-section .rc-author-portrait-home img {
    width: 100%;
    height: auto;
    max-height: calc(var(--rc-home-section-height) - 60px);
    object-fit: contain;
    object-position: center right;
  }

  .rc-book-copy .rc-kindle-page-figure {
    width: 120%;
    max-width: none;
    margin: 20px 0 0 -10%;
  }
}

@media (max-width: 820px) {
  .rc-social-hero {
    height: 500px;
  }

  .rc-book-copy .rc-kindle-page-figure {
    width: 100%;
    margin: 24px 0 0;
  }

  .rc-home-contact-section .rc-home-contact-grid {
    min-height: 700px;
    align-items: flex-end;
  }

  .rc-home-contact-section .rc-home-contact-image {
    width: min(82%, 360px);
    height: 55%;
  }

  .rc-home-contact-section .rc-home-contact-image::after {
    inset: 40% 0 0;
    background: linear-gradient(180deg, transparent 0, rgba(3, 16, 20, .72) 50%, #031014 100%);
  }

  .rc-home-contact-section .rc-home-contact-copy {
    width: 100%;
    margin-left: 0;
    padding: 350px var(--gutter) 55px;
  }
}


/* ---------------------------------------------------------
   LAYOUT POLISH / COOKIE CONSENT — v16.0.0
   --------------------------------------------------------- */

.rc-social-page {
  padding-top: 0;
}

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

.rc-social-hero::before,
.rc-social-hero::after {
  top: 0;
  bottom: 0;
  height: 100%;
}

.rc-social-hero::before {
  background-position: center;
  background-size: cover;
}

@media (min-width: 821px) {
  .rc-home-about-section .rc-home-about {
    grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  }

  .rc-home-about-section .rc-author-portrait-home {
    align-self: center;
    width: min(100%, 560px);
    height: auto;
    justify-self: end;
  }

  .rc-home-about-section .rc-author-portrait-home img {
    width: 100%;
    height: auto;
    max-height: calc(var(--rc-home-section-height) - 60px);
    object-fit: contain;
    object-position: center right;
  }

  .rc-book-copy .rc-kindle-page-figure {
    width: 120%;
    max-width: none;
    margin: 20px 0 0 -10%;
  }
}

.rc-home-contact-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #031014;
}

.rc-home-contact-section > .rc-wrap {
  width: 100%;
  max-width: none;
}

.rc-home-contact-section .rc-home-contact-grid {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
}

.rc-home-contact-section .rc-home-contact-image {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: 50%;
  height: 100%;
  margin: 0;
}

.rc-home-contact-section .rc-home-contact-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 0 0 55%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0, rgba(3, 16, 20, .48) 42%, #031014 100%);
}

.rc-home-contact-section .rc-home-contact-image img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center 43%;
  opacity: .86;
  filter: contrast(1.06) brightness(.7);
  -webkit-mask-image: none;
  mask-image: none;
}

.rc-home-contact-section .rc-home-contact-copy {
  position: relative;
  z-index: 2;
  width: 50%;
  max-width: none;
  margin-left: 50%;
  padding: clamp(40px, 6vw, 90px) var(--gutter) clamp(40px, 6vw, 90px) clamp(30px, 5vw, 78px);
  align-self: center;
}

.rc-cookie-banner {
  position: fixed;
  z-index: 99999;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: none;
  max-width: 960px;
  margin: 0 auto;
  padding: 22px 24px;
  background: #0d2227;
  border: 1px solid rgba(229, 189, 114, .42);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55);
}

.rc-cookie-banner.is-visible {
  display: block;
}

.rc-cookie-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.rc-cookie-copy h2 {
  margin: 0 0 7px;
  font-size: 27px;
  font-weight: 400;
}

.rc-cookie-copy p {
  margin: 0;
  color: var(--muted);
  font: 14px/1.55 Arial, Helvetica, sans-serif;
}

.rc-cookie-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  flex-wrap: wrap;
}

.rc-cookie-settings {
  padding: 0;
  color: var(--muted);
  background: transparent;
  border: 0;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .18em;
  cursor: pointer;
}

.rc-cookie-blocked {
  padding: clamp(30px, 5vw, 55px);
  background: var(--surface);
  border: 1px solid var(--line);
}

@media (max-width: 820px) {
  .rc-social-hero {
    height: 500px;
  }

  .rc-book-copy .rc-kindle-page-figure {
    width: 100%;
    margin: 24px 0 0;
  }

  .rc-home-contact-section .rc-home-contact-grid {
    min-height: 700px;
    align-items: flex-end;
  }

  .rc-home-contact-section .rc-home-contact-image {
    width: min(82%, 360px);
    height: 55%;
  }

  .rc-home-contact-section .rc-home-contact-image::after {
    inset: 40% 0 0;
    background: linear-gradient(180deg, transparent 0, rgba(3, 16, 20, .72) 50%, #031014 100%);
  }

  .rc-home-contact-section .rc-home-contact-copy {
    width: 100%;
    margin-left: 0;
    padding: 350px var(--gutter) 55px;
  }

  .rc-cookie-banner-inner {
    align-items: stretch;
    flex-direction: column;
  }

  .rc-cookie-actions {
    width: 100%;
  }

  .rc-cookie-actions .rc-button {
    flex: 1 1 145px;
    text-align: center;
  }
}


/* ---------------------------------------------------------
   HOMEPAGE EDITORIAL IMAGERY / HEADING INTERACTION — v10.0.0
   --------------------------------------------------------- */

.rc-main h1,
.rc-main h2,
.rc-main .rc-quote {
  transition: color .28s ease;
}

.rc-main h1:hover,
.rc-main h2:hover,
.rc-main .rc-quote:hover {
  color: var(--accent);
}

.rc-main h1::selection,
.rc-main h2::selection,
.rc-main .rc-quote::selection {
  color: var(--accent);
  background: rgba(243, 239, 231, .12);
}

.rc-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.rc-hero-content {
  position: relative;
  z-index: 2;
}

.rc-hero-heading {
  position: relative;
  z-index: 2;
}

.rc-hero-art {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  width: min(64vw, 920px);
  pointer-events: none;
}

.rc-hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, var(--paper) 0, rgba(8, 23, 27, .94) 9%, rgba(8, 23, 27, .28) 42%, rgba(8, 23, 27, .08) 72%, var(--paper) 100%),
    linear-gradient(180deg, var(--paper) 0, transparent 17%, transparent 76%, var(--paper) 100%);
}

.rc-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  opacity: .62;
  filter: contrast(1.08) brightness(.72);
  mix-blend-mode: luminosity;
}

.rc-author-portrait-home {
  width: min(100%, 500px);
  box-shadow: none;
}


/* ---------------------------------------------------------
   BOOKSHELF NAVIGATION / INSTAGRAM FEED — v11.0.0
   --------------------------------------------------------- */

.rc-header-inner {
  min-height: 216px;
  align-items: flex-end;
}

.rc-bookshelf {
  position: relative;
  flex: 0 0 auto;
  padding: 30px 11px 14px;
  isolation: isolate;
}

.rc-bookshelf::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 13px;
  border-radius: 2px 2px 5px 5px;
  background: linear-gradient(180deg, #765338 0, #3d291d 42%, #1c1210 100%);
  border-top: 1px solid rgba(226, 177, 108, .36);
  box-shadow: 0 8px 14px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .08);
}

.rc-bookshelf .rc-bookshelf-list {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 4px;
  margin: 0;
  padding: 0 5px;
  list-style: none;
}

.rc-bookshelf-list > li {
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0;
}

.rc-bookshelf-list > li > a {
  position: relative;
  display: flex;
  width: 58px;
  height: 150px;
  align-items: center;
  justify-content: center;
  padding: 14px 8px 11px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .09);
  border-bottom: 0;
  border-radius: 8px 8px 2px 2px;
  color: #e5bd72;
  font: 600 11px/1.05 Georgia, "Times New Roman", serif;
  letter-spacing: .13em;
  text-decoration: none;
  text-shadow: 0 0 7px rgba(229, 189, 114, .36), 0 1px 1px #150e08;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  box-shadow:
    -5px 0 9px rgba(0, 0, 0, .28),
    inset 4px 0 8px rgba(255, 255, 255, .055),
    inset -5px 0 9px rgba(0, 0, 0, .28),
    inset 0 1px rgba(255, 255, 255, .16);
  transition: height .28s ease, transform .28s ease, filter .28s ease, color .2s ease;
}

.rc-bookshelf-list > li:nth-child(1) > a { background: linear-gradient(90deg, #082d31, #0e4b4e 50%, #062429); }
.rc-bookshelf-list > li:nth-child(2) > a { background: linear-gradient(90deg, #42151c, #6a202a 50%, #351016); }
.rc-bookshelf-list > li:nth-child(3) > a { background: linear-gradient(90deg, #26321b, #48532b 50%, #202a17); }
.rc-bookshelf-list > li:nth-child(4) > a { background: linear-gradient(90deg, #101f3b, #20375e 50%, #0b172e); }
.rc-bookshelf-list > li:nth-child(5) > a { background: linear-gradient(90deg, #65301b, #984923 50%, #512515); }
.rc-bookshelf-list > li:nth-child(6) > a { background: linear-gradient(90deg, #2d193c, #513064 50%, #241330); }

.rc-bookshelf-list > li > a::before,
.rc-bookshelf-list > li > a::after {
  content: "";
  position: absolute;
  right: 6px;
  left: 6px;
  height: 1px;
  background: rgba(229, 189, 114, .34);
  box-shadow: 0 1px rgba(0, 0, 0, .34);
}

.rc-bookshelf-list > li > a::before { top: 10px; }
.rc-bookshelf-list > li > a::after { bottom: 10px; }

.rc-bookshelf-list > li > a:hover,
.rc-bookshelf-list > li > a:focus-visible {
  color: #f4d28c;
  filter: brightness(1.12) saturate(1.08);
  transform: translateY(-10px);
}

.rc-bookshelf-list > li > a:focus-visible {
  outline: 2px solid #f4d28c;
  outline-offset: 2px;
}

.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a {
  height: 174px;
  color: #f5d58e;
  filter: brightness(1.13) saturate(1.08);
  text-shadow: 0 0 10px rgba(245, 213, 142, .52), 0 1px 1px #150e08;
}

.rc-bookshelf-list > li.current-menu-item > a:hover,
.rc-bookshelf-list > li.current_page_item > a:hover,
.rc-bookshelf-list > li.current-menu-ancestor > a:hover {
  transform: translateY(-7px);
}

.rc-instagram-placeholder {
  color: var(--muted);
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}

.rc-instagram-placeholder:hover {
  color: var(--ink);
  border-color: rgba(200, 139, 98, .48);
}

.rc-instagram-admin-note {
  margin: 18px 0 0;
  padding: 13px 15px;
  border-left: 2px solid var(--accent);
  color: var(--muted);
  font: 12px/1.55 Arial, Helvetica, sans-serif;
}

.rc-instagram-feed-shell #sb_instagram {
  padding: 0 !important;
}

.rc-instagram-feed-shell #sb_instagram .sbi_photo {
  filter: saturate(.78) contrast(1.04) brightness(.88);
  transition: filter .25s ease, transform .25s ease;
}

.rc-instagram-feed-shell #sb_instagram .sbi_photo:hover {
  filter: saturate(1) contrast(1.03) brightness(1);
  transform: translateY(-3px);
}

.rc-instagram-feed-shell #sb_instagram .sbi_load_btn,
.rc-instagram-feed-shell #sb_instagram .sbi_follow_btn a {
  border: 1px solid var(--accent) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font: 700 10px/1 Arial, Helvetica, sans-serif !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .rc-header-inner {
    min-height: 0;
    align-items: flex-start;
  }

  .rc-bookshelf {
    width: 100%;
    padding-top: 20px;
  }

  .rc-bookshelf .rc-bookshelf-list {
    width: 100%;
    justify-content: center;
    gap: 3px;
  }

  .rc-bookshelf-list > li {
    flex: 1 1 0;
    max-width: 58px;
  }

  .rc-bookshelf-list > li > a {
    width: 100%;
    height: 128px;
    min-width: 0;
    padding-inline: 5px;
    font-size: 9px;
    letter-spacing: .08em;
  }

  .rc-bookshelf-list > li.current-menu-item > a,
  .rc-bookshelf-list > li.current_page_item > a,
  .rc-bookshelf-list > li.current-menu-ancestor > a {
    height: 146px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-bookshelf-list > li > a,
  .rc-instagram-feed-shell #sb_instagram .sbi_photo {
    transition: none;
  }

  .rc-bookshelf-list > li > a:hover,
  .rc-bookshelf-list > li > a:focus-visible,
  .rc-instagram-feed-shell #sb_instagram .sbi_photo:hover {
    transform: none;
  }
}


/* ---------------------------------------------------------
   COMPACT HEADER / SECTION BACKGROUNDS — v12.0.0
   --------------------------------------------------------- */

.rc-header-inner {
  align-items: center;
}

.rc-brand {
  align-self: center;
  flex: 0 0 auto;
}

.rc-brand-name {
  font-size: clamp(39px, 3.9vw, 60px);
}

.rc-brand-tagline {
  margin-top: 14px;
  font-size: 14px;
}

.rc-bookshelf-list > li,
.rc-bookshelf-list > li > a {
  width: 35px;
}

.rc-bookshelf-list > li > a {
  padding-inline: 4px;
}

.home .rc-section {
  padding-top: clamp(52px, 6vw, 88px);
  padding-bottom: clamp(52px, 6vw, 88px);
}

.home .rc-hero {
  min-height: 68vh;
  padding-top: clamp(65px, 8vw, 105px);
  padding-bottom: clamp(52px, 6vw, 82px);
}

.rc-progress-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--surface);
}

.rc-progress-section::before,
.rc-progress-section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.rc-progress-section::before {
  z-index: -2;
  background-image: var(--rc-new-novel-bg);
  background-position: center;
  background-size: cover;
  filter: contrast(1.04) brightness(.72);
}

.rc-progress-section::after {
  z-index: -1;
  background: linear-gradient(90deg, rgba(3, 16, 20, .9) 0, rgba(3, 16, 20, .64) 45%, rgba(3, 16, 20, .34) 72%, rgba(3, 16, 20, .56) 100%);
}

.rc-progress-section .rc-progress-grid {
  position: relative;
  z-index: 1;
}

.rc-contact-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.rc-contact-page::before,
.rc-contact-page::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 50%;
  pointer-events: none;
}

.rc-contact-page::before {
  z-index: -2;
  background-image: var(--rc-contact-bg);
  background-position: center;
  background-size: cover;
  filter: contrast(1.04) brightness(.7);
}

.rc-contact-page::after {
  z-index: -1;
  background: linear-gradient(90deg, rgba(8, 23, 27, .2) 0, rgba(8, 23, 27, .48) 62%, var(--paper) 100%);
}

.rc-contact-page > .rc-wrap {
  position: relative;
  z-index: 1;
}

.rc-contact-page .rc-contact-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 6vw, 90px);
}

.rc-contact-page .rc-contact-copy {
  padding-right: clamp(10px, 2vw, 28px);
  text-shadow: 0 2px 12px rgba(0, 0, 0, .62);
}

.rc-social-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(470px, 58vw, 690px);
  flex-direction: column;
  justify-content: center;
  margin-bottom: clamp(48px, 7vw, 90px);
  overflow: hidden;
}

.rc-social-hero::before,
.rc-social-hero::after {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  pointer-events: none;
}

.rc-social-hero::before {
  background-image: var(--rc-social-bg);
  background-position: center;
  background-size: cover;
  filter: contrast(1.04) brightness(.72);
}

.rc-social-hero::after {
  z-index: -1;
  background:
    linear-gradient(90deg, var(--paper) 0, rgba(8, 23, 27, .58) 24%, rgba(8, 23, 27, .18) 70%, rgba(8, 23, 27, .4) 100%),
    linear-gradient(180deg, var(--paper) 0, transparent 17%, transparent 78%, var(--paper) 100%);
}

.rc-social-hero .rc-page-title,
.rc-social-hero .rc-social-intro {
  position: relative;
  z-index: 1;
  width: 50%;
  margin-left: auto;
  padding-left: clamp(26px, 4vw, 64px);
}

.rc-social-hero .rc-social-intro {
  padding-bottom: 0;
}

.rc-social-hero .rc-content {
  max-width: 100%;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .66);
}

.rc-social-page .rc-instagram-heading {
  display: block;
}

@media (max-width: 920px) {
  .rc-contact-page::before,
  .rc-contact-page::after {
    width: 100%;
    height: 620px;
    bottom: auto;
  }

  .rc-contact-page::after {
    background: linear-gradient(180deg, rgba(8, 23, 27, .26) 0, rgba(8, 23, 27, .62) 65%, var(--paper) 100%);
  }

  .rc-contact-page .rc-contact-layout {
    grid-template-columns: 1fr;
  }

  .rc-contact-page .rc-contact-copy {
    min-height: 430px;
    padding-right: 0;
  }
}

@media (max-width: 820px) {
  .rc-header-inner {
    align-items: center;
  }

  .rc-brand {
    text-align: center;
  }

  .rc-bookshelf-list > li {
    flex: 0 0 35px;
    max-width: 35px;
  }

  .rc-bookshelf-list > li > a {
    width: 35px;
  }

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

  .rc-social-hero::before,
  .rc-social-hero::after {
    width: 76%;
  }

  .rc-social-hero .rc-content {
    max-width: 100%;
  }

  .rc-social-hero .rc-page-title,
  .rc-social-hero .rc-social-intro {
    width: 78%;
  }
}

.rc-author-portrait-home img {
  -webkit-mask-image: radial-gradient(ellipse 72% 76% at 53% 48%, #000 0 69%, rgba(0, 0, 0, .86) 82%, transparent 100%);
  mask-image: radial-gradient(ellipse 72% 76% at 53% 48%, #000 0 69%, rgba(0, 0, 0, .86) 82%, transparent 100%);
  filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .46));
}

.rc-home-contact-grid {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1fr);
  gap: clamp(45px, 8vw, 125px);
  align-items: center;
}

.rc-home-contact-image {
  width: min(100%, 500px);
  margin: 0;
}

.rc-home-contact-image img {
  width: 100%;
  max-height: 610px;
  object-fit: cover;
  object-position: center 43%;
  opacity: .9;
  filter: contrast(1.05) brightness(.82) drop-shadow(0 28px 48px rgba(0, 0, 0, .42));
  -webkit-mask-image: radial-gradient(ellipse 77% 77% at 50% 48%, #000 0 65%, rgba(0, 0, 0, .88) 78%, transparent 100%);
  mask-image: radial-gradient(ellipse 77% 77% at 50% 48%, #000 0 65%, rgba(0, 0, 0, .88) 78%, transparent 100%);
}

.rc-home-contact-copy {
  max-width: 760px;
}

@media (max-width: 820px) {
  .rc-hero-art {
    width: 88vw;
    opacity: .65;
  }

  .rc-hero-art::after {
    background:
      linear-gradient(90deg, var(--paper) 0, rgba(8, 23, 27, .66) 35%, var(--paper) 100%),
      linear-gradient(180deg, var(--paper) 0, transparent 17%, transparent 68%, var(--paper) 100%);
  }

  .rc-home-contact-grid {
    grid-template-columns: 1fr;
  }

  .rc-home-contact-image {
    width: min(100%, 520px);
  }
}


/* ---------------------------------------------------------
   AUTHOR PORTRAIT / ABOUT PRESENTATION — v5.0.0
   --------------------------------------------------------- */

.rc-home-about {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .48fr);
  gap: clamp(38px, 6vw, 86px);
  align-items: center;
}

.rc-home-about-copy {
  min-width: 0;
}

.rc-author-portrait {
  position: relative;
  margin: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: 34px 42px 86px rgba(0, 0, 0, .52);
}

.rc-author-portrait::after {
  content: none;
}

.rc-author-portrait img {
  width: 100%;
  height: auto;
}

.rc-author-portrait-home {
  width: min(100%, 360px);
  justify-self: end;
}

.rc-about-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .58fr);
  gap: clamp(50px, 8vw, 125px);
  align-items: start;
}

.rc-about-content {
  max-width: 760px;
  font-size: clamp(19px, 1.65vw, 23px);
  line-height: 1.68;
}

.rc-about-content > :first-child {
  margin-top: 0;
}

.rc-about-content > :last-child {
  margin-bottom: 0;
}

.rc-author-portrait-about {
  width: min(100%, 475px);
  justify-self: end;
}

@media (min-width: 821px) {
  .rc-about-layout {
    align-items: stretch;
  }

  .rc-author-portrait-about {
    align-self: stretch;
    height: 100%;
    min-height: 0;
  }

  .rc-author-portrait-about img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
}

@media (max-width: 980px) {
  .rc-home-about,
  .rc-about-layout {
    gap: clamp(34px, 5vw, 58px);
  }
}

@media (max-width: 820px) {
  .rc-home-about,
  .rc-about-layout {
    grid-template-columns: 1fr;
  }

  .rc-author-portrait-home,
  .rc-author-portrait-about {
    width: min(100%, 480px);
    justify-self: start;
    height: auto;
  }

  .rc-author-portrait-about img {
    position: static;
    height: auto;
  }

  .rc-author-portrait {
    margin-top: 10px;
    box-shadow: 24px 30px 64px rgba(0, 0, 0, .48);
  }
}


/* ---------------------------------------------------------
   DARK EDITORIAL THEME / CONTACT — v6.0.0
   --------------------------------------------------------- */

body {
  background-image: radial-gradient(circle at 88% 4%, rgba(42, 88, 96, .16), transparent 34rem);
  background-attachment: fixed;
}

.rc-site-header {
  box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
}

.rc-nav a,
.rc-brand,
.rc-footer a {
  transition: color .2s ease;
}

.rc-button-primary {
  background: var(--ink);
  color: var(--paper);
}

.rc-button-primary:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #071216;
}

.rc-book-render {
  filter: none;
}

.rc-book-render:hover {
  filter: none;
}


/* ---------------------------------------------------------
   SEAMLESS PORTRAIT / BOOK PRESENTATION — v7.0.0
   --------------------------------------------------------- */

.rc-book-visual,
.rc-book-visual a {
  background: transparent;
}

.rc-author-portrait img,
.rc-book-render {
  border: 0;
  outline: 0;
}

.rc-footer {
  background: var(--surface);
  border-top: 1px solid var(--line);
}

.rc-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
}

.rc-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(420px, 1fr);
  gap: clamp(55px, 8vw, 125px);
  align-items: start;
}

.rc-contact-copy .rc-content {
  font-size: clamp(19px, 1.6vw, 23px);
  line-height: 1.62;
}

.rc-connect {
  margin-top: clamp(42px, 6vw, 72px);
}

.rc-connect-title {
  margin: 0 0 19px;
  color: var(--muted);
  font: 700 10px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.rc-social-links {
  border-top: 1px solid var(--line);
}

.rc-social-link {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  font-size: 20px;
  text-decoration: none;
}

.rc-social-link span:last-child {
  color: var(--accent);
}

.rc-contact-panel {
  padding: clamp(28px, 4vw, 52px);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  box-shadow: 18px 22px 0 rgba(0, 0, 0, .2);
}

.rc-contact-panel h2 {
  margin: 0 0 30px;
  font-size: clamp(36px, 4.5vw, 60px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1;
}

.rc-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.rc-field {
  margin-bottom: 21px;
}

.rc-field label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font: 700 10px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.rc-field input,
.rc-field textarea {
  width: 100%;
  padding: 14px 15px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 0;
  font: inherit;
}

.rc-field textarea {
  min-height: 190px;
  resize: vertical;
}

.rc-field input:focus,
.rc-field textarea:focus {
  border-color: var(--accent);
  outline: 2px solid rgba(200, 139, 98, .25);
  outline-offset: 2px;
}

.rc-contact-submit {
  cursor: pointer;
  background: var(--ink);
  color: var(--paper);
}

.rc-contact-submit:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #071216;
}

.rc-form-note {
  margin: 18px 0 0;
  color: var(--muted);
  font: 12px/1.55 Arial, Helvetica, sans-serif;
}

.rc-form-status {
  margin: 0 0 25px;
  padding: 15px 17px;
  border: 1px solid var(--line);
  font-size: 16px;
}

.rc-form-status-success {
  border-color: rgba(133, 192, 161, .55);
  background: rgba(71, 128, 97, .14);
}

.rc-form-status-error {
  border-color: rgba(200, 139, 98, .65);
  background: rgba(200, 139, 98, .1);
}

.rc-contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 920px) {
  .rc-contact-layout {
    grid-template-columns: 1fr;
  }

  .rc-contact-panel {
    max-width: 720px;
  }
}

@media (max-width: 560px) {
  body {
    background-attachment: scroll;
  }

  .rc-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .rc-contact-panel {
    padding: 25px 20px;
    box-shadow: 10px 13px 0 rgba(0, 0, 0, .2);
  }
}


/* ---------------------------------------------------------
   FORTHCOMING NOVEL / SOCIAL PAGE — v8.0.0
   --------------------------------------------------------- */

.rc-progress-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .54fr);
  gap: clamp(50px, 8vw, 125px);
  align-items: center;
}

.rc-progress-copy {
  position: relative;
  z-index: 1;
}

.rc-progress-visual {
  width: min(100%, 470px);
  margin: 0;
  justify-self: end;
  overflow: visible;
}

.rc-forthcoming-book-render {
  width: 100%;
  height: auto;
  opacity: .88;
  filter: blur(1.8px) saturate(.82) contrast(1.04);
  -webkit-mask-image: radial-gradient(ellipse 72% 75% at 50% 48%, #000 0 62%, rgba(0, 0, 0, .94) 72%, transparent 100%);
  mask-image: radial-gradient(ellipse 72% 75% at 50% 48%, #000 0 62%, rgba(0, 0, 0, .94) 72%, transparent 100%);
  transform: scale(1.015);
}

.rc-social-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 35px;
  padding-bottom: clamp(60px, 8vw, 105px);
}

.rc-social-intro .rc-content {
  font-size: clamp(20px, 1.8vw, 25px);
  line-height: 1.55;
}

.rc-instagram-profile-link {
  flex: 0 0 auto;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  font: 700 11px/1.3 Arial, Helvetica, sans-serif;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
}

.rc-instagram-section {
  padding-top: clamp(58px, 8vw, 100px);
  border-top: 1px solid var(--line);
}

.rc-instagram-heading {
  display: grid;
  grid-template-columns: minmax(155px, .32fr) 1fr;
  gap: clamp(45px, 8vw, 135px);
  align-items: start;
  margin-bottom: clamp(42px, 6vw, 75px);
}

.rc-instagram-heading h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(38px, 5.2vw, 72px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1;
}

.rc-instagram-feed-shell {
  width: 100%;
}

.rc-instagram-feed-shell img {
  border: 0;
  outline: 0;
}

.rc-instagram-placeholder {
  min-height: clamp(280px, 38vw, 470px);
  display: grid;
  place-content: center;
  gap: 18px;
  padding: 45px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(200, 139, 98, .12), transparent 20rem),
    var(--surface);
  border: 1px solid var(--line);
  color: var(--muted);
}

.rc-instagram-placeholder p {
  margin: 0;
  font-size: clamp(20px, 2vw, 27px);
}

.rc-instagram-mark {
  color: var(--accent);
  font-size: 58px;
  line-height: 1;
}

@media (max-width: 820px) {
  .rc-progress-grid,
  .rc-instagram-heading {
    grid-template-columns: 1fr;
  }

  .rc-progress-visual {
    width: min(100%, 440px);
    justify-self: start;
  }

  .rc-social-intro {
    align-items: start;
    flex-direction: column;
  }
}

/* Final homepage portrait sizing follows the v10 café composition. */
.rc-author-portrait-home {
  width: min(100%, 500px);
  box-shadow: none;
}


/* ---------------------------------------------------------
   KINDLE PRESENTATION / HOME REFINEMENTS — v13.0.0
   --------------------------------------------------------- */

.home .rc-hero h1 {
  font-size: clamp(46px, 7.44vw, 110px);
}

.rc-bookshelf-list > li:not(:nth-child(4)) > a {
  font-size: 14px;
  letter-spacing: .16em;
}

.rc-home-fragments-promo {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 32px 44px rgba(0, 0, 0, .34));
}

.rc-kindle-page-figure {
  width: 50%;
  margin: clamp(25px, 4vw, 55px) 0 0 auto;
}

.rc-kindle-page-image {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 28px 44px rgba(0, 0, 0, .42));
}

@media (max-width: 820px) {
  .rc-bookshelf-list > li:not(:nth-child(4)) > a {
    font-size: 12px;
    letter-spacing: .11em;
  }

  .rc-bookshelf-list > li:nth-child(4) > a {
    font-size: 9px;
    letter-spacing: .08em;
  }

  .rc-kindle-page-figure {
    width: 100%;
    max-width: 650px;
    margin-top: 32px;
  }

  .rc-home-contact-image {
    width: min(82%, 360px);
    justify-self: center;
  }

  .rc-home-contact-image img {
    max-height: 420px;
  }
}


/* ---------------------------------------------------------
   EQUAL-HEIGHT HOMEPAGE SECTIONS — v14.0.0
   --------------------------------------------------------- */

@media (min-width: 821px) {
  .home {
    --rc-home-section-height: clamp(700px, 62vw, 860px);
  }

  .home .rc-hero,
  .home .rc-home-equal-section {
    height: var(--rc-home-section-height);
    min-height: var(--rc-home-section-height);
  }

  .home .rc-home-equal-section {
    padding-top: 0;
    padding-bottom: 0;
  }

  .home .rc-home-equal-section > .rc-wrap {
    height: 100%;
  }

  .rc-home-about-section .rc-home-about,
  .rc-home-contact-section .rc-home-contact-grid,
  .rc-progress-section .rc-progress-grid {
    height: 100%;
  }

  .rc-home-about-section .rc-author-portrait-home,
  .rc-home-contact-section .rc-home-contact-image {
    align-self: stretch;
    width: 100%;
    height: 100%;
  }

  .rc-home-about-section .rc-author-portrait-home img,
  .rc-home-contact-section .rc-home-contact-image img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
  }
}

.rc-home-book-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #031014;
}

.rc-home-book-section > .rc-wrap {
  width: 100%;
  max-width: none;
}

.rc-home-book-section .rc-book {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
}

.rc-home-book-section .rc-book-visual {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: 50%;
  max-width: none;
  margin: 0;
}

.rc-home-book-section .rc-book-visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 0 54%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0, rgba(3, 16, 20, .42) 38%, #031014 100%);
}

.rc-home-book-section .rc-book-visual a {
  display: block;
  width: 100%;
  height: 100%;
}

.rc-home-book-section .rc-home-fragments-promo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 44% center;
  filter: brightness(.72) contrast(1.08) saturate(.9);
}

.rc-home-book-section .rc-book-copy {
  position: relative;
  z-index: 3;
  width: 60%;
  max-width: 760px;
  margin-left: 40%;
  padding: clamp(32px, 5vw, 80px) var(--gutter) clamp(32px, 5vw, 80px) clamp(28px, 4vw, 68px);
  text-shadow: 0 3px 18px rgba(0, 0, 0, .78);
}

.rc-home-book-section .rc-book-copy h2 {
  font-size: clamp(44px, 5.83vw, 84px);
}

.rc-home-book-section .rc-book-copy .rc-lead {
  font-size: clamp(22px, 2.2vw, 29px);
}

.rc-home-book-section .rc-format-note,
.rc-home-book-section .rc-button,
.rc-home-book-section .rc-text-link {
  font-size: 12px;
}

@media (max-width: 820px) {
  .rc-home-book-section {
    min-height: 720px;
    padding: 0;
  }

  .rc-home-book-section .rc-book {
    min-height: 720px;
    align-items: flex-end;
  }

  .rc-home-book-section .rc-book-visual {
    width: 100%;
    height: 62%;
  }

  .rc-home-book-section .rc-book-visual::after {
    inset: 42% 0 0;
    background: linear-gradient(180deg, transparent 0, rgba(3, 16, 20, .7) 48%, #031014 100%);
  }

  .rc-home-book-section .rc-home-fragments-promo {
    object-position: 40% center;
  }

  .rc-home-book-section .rc-book-copy {
    width: 100%;
    max-width: none;
    margin-left: 0;
    padding: 330px var(--gutter) 54px;
  }
}


/* Final v15 Social-page overrides follow all legacy presentation rules. */
.rc-social-page {
  padding-bottom: clamp(75px, 10vw, 145px);
}

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

.rc-social-hero-inner {
  display: flex;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  justify-content: center;
}

.rc-social-hero .rc-page-title,
.rc-social-hero .rc-social-intro {
  width: 50%;
  margin-right: auto;
  margin-left: 0;
  padding-right: clamp(28px, 5vw, 78px);
  padding-left: 0;
  text-align: left;
}

.rc-social-hero .rc-page-title {
  margin-bottom: 30px;
}

.rc-social-hero .rc-social-intro {
  display: block;
  padding-bottom: 0;
}

.rc-social-hero::before,
.rc-social-hero::after {
  right: 0;
  width: 50%;
}

.rc-social-hero::after {
  background: linear-gradient(90deg, var(--paper) 0, rgba(8, 23, 27, .52) 24%, rgba(8, 23, 27, .16) 68%, rgba(8, 23, 27, .3) 100%);
}

.rc-social-page .rc-instagram-heading {
  display: block;
  max-width: 1040px;
  margin-bottom: clamp(42px, 6vw, 72px);
}

.rc-social-page .rc-instagram-heading h2 {
  max-width: 1040px;
}

.rc-instagram-subheading {
  max-width: 850px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.48;
}

.rc-instagram-feed-shell #sb_instagram .sbi_item,
.rc-instagram-feed-shell #sb_instagram .sbi_photo_wrap {
  break-inside: avoid;
}

.rc-instagram-feed-shell #sb_instagram img {
  height: auto;
}

@media (max-width: 820px) {
  .rc-social-hero {
    min-height: 500px;
  }

  .rc-social-hero::before,
  .rc-social-hero::after {
    width: 64%;
  }

  .rc-social-hero .rc-page-title,
  .rc-social-hero .rc-social-intro {
    width: 72%;
    padding-right: 24px;
  }

  .rc-instagram-feed-shell #sb_instagram #sbi_images {
    column-count: 1;
  }

  .rc-instagram-feed-shell #sb_instagram .sbi_item {
    width: 100% !important;
  }
}
/* =========================================================
   PRIVACY POLICY PAGE
   ========================================================= */

.rc-privacy-main {
    background: var(--surface);
}

.rc-privacy-hero {
    padding: clamp(72px, 10vw, 128px) 0 clamp(52px, 7vw, 88px);
    border-bottom: 1px solid var(--line);
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.018),
            rgba(255,255,255,0)
        );
}

.rc-privacy-hero-inner {
    max-width: 980px;
}

.rc-privacy-eyebrow,
.rc-privacy-aside-label,
.rc-privacy-contact-label {
    display: block;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--accent);
}

.rc-privacy-hero h1 {
    margin: 0;
    max-width: 900px;
    font-size: clamp(56px, 8vw, 118px);
    font-weight: 400;
    line-height: .92;
    letter-spacing: -.04em;
}

.rc-privacy-intro {
    max-width: 760px;
    margin: 34px 0 0;
    font-size: clamp(20px, 2.1vw, 28px);
    line-height: 1.45;
    color: var(--muted);
}

.rc-privacy-body {
    padding: clamp(64px, 8vw, 110px) 0;
}

.rc-privacy-layout {
    display: grid;
    grid-template-columns: minmax(230px, .7fr) minmax(0, 1.65fr);
    gap: clamp(48px, 7vw, 110px);
    align-items: start;
}

.rc-privacy-aside {
    position: sticky;
    top: 40px;
    padding: 28px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.rc-privacy-aside p {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: var(--muted);
}

.rc-privacy-promise {
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid var(--line);
}

.rc-privacy-promise strong {
    display: block;
    margin-bottom: 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
    color: var(--paper);
}

.rc-privacy-promise span {
    display: block;
    font-size: 15px;
    line-height: 1.65;
    color: var(--muted);
}

.rc-privacy-cookie-button {
    margin-top: 28px;
}

.rc-privacy-content {
    max-width: 780px;
}

.rc-privacy-content > *:first-child {
    margin-top: 0;
}

.rc-privacy-content h2 {
    margin: 64px 0 18px;
    font-size: clamp(30px, 3.5vw, 48px);
    font-weight: 400;
    line-height: 1.05;
}

.rc-privacy-content h3 {
    margin: 42px 0 14px;
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 400;
}

.rc-privacy-content p,
.rc-privacy-content li {
    font-size: 18px;
    line-height: 1.8;
    color: var(--paper);
}

.rc-privacy-content p {
    margin: 0 0 22px;
}

.rc-privacy-content ul,
.rc-privacy-content ol {
    margin: 0 0 26px 1.2em;
    padding: 0;
}

.rc-privacy-content li + li {
    margin-top: 10px;
}

.rc-privacy-content a {
    color: var(--accent);
    text-decoration-thickness: 1px;
    text-underline-offset: .16em;
}

.rc-privacy-content a:hover {
    color: var(--paper);
}

.rc-privacy-content strong {
    color: var(--paper);
}

.rc-privacy-contact {
    padding: clamp(56px, 7vw, 90px) 0;
    border-top: 1px solid var(--line);
    background: var(--surface-raised);
}

.rc-privacy-contact-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: 40px;
    align-items: end;
}

.rc-privacy-contact h2 {
    margin: 0;
    font-size: clamp(38px, 5vw, 72px);
    font-weight: 400;
    line-height: .98;
}

.rc-privacy-contact p {
    max-width: 620px;
    margin: 22px 0 0;
    font-size: 18px;
    line-height: 1.7;
    color: var(--muted);
}

.rc-privacy-contact-button {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .rc-privacy-layout {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .rc-privacy-aside {
        position: static;
        max-width: 700px;
    }

    .rc-privacy-contact-inner {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .rc-privacy-contact-button {
        width: fit-content;
    }
}

@media (max-width: 640px) {
    .rc-privacy-hero {
        padding-top: 56px;
    }

    .rc-privacy-hero h1 {
        font-size: clamp(48px, 16vw, 76px);
    }

    .rc-privacy-intro {
        font-size: 20px;
    }

    .rc-privacy-content p,
    .rc-privacy-content li {
        font-size: 17px;
    }

    .rc-privacy-content h2 {
        margin-top: 48px;
    }
}
/* =========================================================
   BUILD 24 — ELEVATED BOOKSHELF + DESKTOP REFINEMENTS
   ========================================================= */

/* Bookshelf: natural asymmetry, restrained leather grain and physical depth. */
.rc-bookshelf {
  padding-left: 12px;
  padding-right: 12px;
}

.rc-bookshelf .rc-bookshelf-list {
  gap: 5px;
  overflow: visible;
}

.rc-bookshelf-list > li {
  position: relative;
  overflow: visible;
  transform-origin: center bottom;
}

.rc-bookshelf-list > li > a {
  /* Layered gradients imply a very light leather/cloth grain without image assets. */
  background-blend-mode: soft-light, normal !important;
  transition: transform .24s cubic-bezier(.2,.7,.2,1), filter .24s ease, color .2s ease, box-shadow .24s ease;
}

.rc-bookshelf-list > li:nth-child(1) > a {
  width: 104px;
  height: 42px;
  padding: 8px 13px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  border-radius: 5px 7px 3px 3px;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, rgba(0,0,0,.018) 1px 3px),
    linear-gradient(180deg, #0e4b4e 0, #082d31 52%, #062429 100%) !important;
  box-shadow: 0 5px 8px rgba(0,0,0,.32), inset 0 2px 5px rgba(255,255,255,.07), inset 0 -4px 6px rgba(0,0,0,.25);
}
.rc-bookshelf-list > li:nth-child(2) > a {
  width: 52px; height: 137px;
  background: repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.018) 1px 3px),linear-gradient(90deg,#42151c,#6a202a 50%,#351016) !important;
}
.rc-bookshelf-list > li:nth-child(3) > a {
  width: 57px; height: 154px;
  background: repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.018) 1px 3px),linear-gradient(90deg,#26321b,#48532b 50%,#202a17) !important;
}
.rc-bookshelf-list > li:nth-child(4) > a {
  width: 59px; height: 174px;
  background: repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.018) 1px 3px),linear-gradient(90deg,#101f3b,#20375e 50%,#0b172e) !important;
}
.rc-bookshelf-list > li:nth-child(5) > a {
  width: 55px; height: 151px;
  background: repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.018) 1px 3px),linear-gradient(90deg,#65301b,#984923 50%,#512515) !important;
}
.rc-bookshelf-list > li:nth-child(6) {
  margin-left: 2px;
  transform: rotate(-8deg);
  transform-origin: left bottom;
}
.rc-bookshelf-list > li:nth-child(6) > a {
  width: 53px; height: 143px;
  background: repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.018) 1px 3px),linear-gradient(90deg,#2d193c,#513064 50%,#241330) !important;
  box-shadow: -7px 2px 10px rgba(0,0,0,.34), inset 4px 0 8px rgba(255,255,255,.055), inset -5px 0 9px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.16);
}

/* Active page: red cloth bookmark + small physical pull, no glow. */
.rc-bookshelf-list > li.current-menu-item::after,
.rc-bookshelf-list > li.current_page_item::after,
.rc-bookshelf-list > li.current-menu-ancestor::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: -11px;
  left: 50%;
  width: 13px;
  height: 25px;
  transform: translateX(-50%);
  background: linear-gradient(90deg,#8e1717 0,#d13a2d 46%,#9b1717 100%);
  clip-path: polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);
  box-shadow: 0 2px 3px rgba(0,0,0,.35);
  pointer-events: none;
}
.rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(1).current_page_item::after,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
  top: -8px;
}

.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a {
  color: #f2ca7b;
  filter: brightness(1.04) saturate(1.03);
  text-shadow: 0 1px 1px #150e08;
  transform: translateY(-6px);
}
/* Preserve the designed individual heights instead of legacy active-height expansion. */
.rc-bookshelf-list > li:nth-child(1).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(1).current_page_item > a { height: 42px; transform: translateX(-4px); }
.rc-bookshelf-list > li:nth-child(2).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(2).current_page_item > a { height: 137px; }
.rc-bookshelf-list > li:nth-child(3).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(3).current_page_item > a { height: 154px; }
.rc-bookshelf-list > li:nth-child(4).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(4).current_page_item > a,
.rc-bookshelf-list > li:nth-child(4).current-menu-ancestor > a { height: 174px; }
.rc-bookshelf-list > li:nth-child(5).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(5).current_page_item > a { height: 151px; }
.rc-bookshelf-list > li:nth-child(6).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(6).current_page_item > a { height: 143px; transform: translateY(-5px); }

/* Hover: a restrained pull from the shelf; Contact retains its lean. */
.rc-bookshelf-list > li:not(:nth-child(1)):not(:nth-child(6)) > a:hover,
.rc-bookshelf-list > li:not(:nth-child(1)):not(:nth-child(6)) > a:focus-visible { transform: translateY(-7px); }
.rc-bookshelf-list > li:nth-child(1) > a:hover,
.rc-bookshelf-list > li:nth-child(1) > a:focus-visible { transform: translateX(-5px); }
.rc-bookshelf-list > li:nth-child(6) > a:hover,
.rc-bookshelf-list > li:nth-child(6) > a:focus-visible { transform: translateY(-5px); }

/* Desktop-only page refinements requested for Build 24. */
@media (min-width: 1001px) {
  /* Contact form top aligns with the Contact heading rather than starting below it. */
  .rc-contact-page .rc-contact-panel {
    transform: translateY(clamp(-112px, -7.5vw, -82px));
  }

  /* Photography: use the generous desktop text areas more confidently. */
  .rc-photography-intro {
    max-width: 780px !important;
    font-size: clamp(20px, 1.48vw, 25px) !important;
    line-height: 1.58 !important;
  }
  .rc-photography-feature-copy {
    font-size: clamp(19px, 1.35vw, 23px) !important;
    line-height: 1.58 !important;
  }
  .rc-photography-feature-copy .rc-lead {
    font-size: clamp(22px, 1.65vw, 27px) !important;
    line-height: 1.45 !important;
  }

  /* Home / Fragments: reveal more of the promotional artwork on the left. */
  .rc-home-book-section .rc-book-visual::after {
    inset: 0 0 0 61%;
  }
  .rc-home-book-section .rc-book-copy {
    width: 53%;
    margin-left: 47%;
    padding-left: clamp(34px, 4.5vw, 76px);
  }
}

/* Compact asymmetric bookshelf: same identity and active bookmark on phones/tablets. */
@media (max-width: 820px) {
  .rc-bookshelf { padding: 25px 7px 12px; }
  .rc-bookshelf .rc-bookshelf-list { gap: 3px; padding: 0 3px; }
  .rc-bookshelf-list > li { flex: 0 0 auto; max-width: none; }
  .rc-bookshelf-list > li:nth-child(1) > a { width: 68px; height: 31px; padding: 5px 8px; font-size: 8px; }
  .rc-bookshelf-list > li:nth-child(2) > a { width: 30px; height: 92px; }
  .rc-bookshelf-list > li:nth-child(3) > a { width: 32px; height: 104px; }
  .rc-bookshelf-list > li:nth-child(4) > a { width: 34px; height: 118px; }
  .rc-bookshelf-list > li:nth-child(5) > a { width: 31px; height: 102px; }
  .rc-bookshelf-list > li:nth-child(6) > a { width: 30px; height: 96px; }
  .rc-bookshelf-list > li:not(:nth-child(1)) > a { padding: 10px 5px 8px; font-size: 8px; letter-spacing: .09em; }
  .rc-bookshelf-list > li:nth-child(6) { transform: rotate(-7deg); margin-left: 1px; }
  .rc-bookshelf-list > li.current-menu-item::after,
  .rc-bookshelf-list > li.current_page_item::after,
  .rc-bookshelf-list > li.current-menu-ancestor::after { width: 9px; height: 18px; top: -8px; }
  .rc-bookshelf-list > li:nth-child(1).current-menu-item > a,
  .rc-bookshelf-list > li:nth-child(1).current_page_item > a { height: 31px; }
  .rc-bookshelf-list > li:nth-child(2).current-menu-item > a,
  .rc-bookshelf-list > li:nth-child(2).current_page_item > a { height: 92px; }
  .rc-bookshelf-list > li:nth-child(3).current-menu-item > a,
  .rc-bookshelf-list > li:nth-child(3).current_page_item > a { height: 104px; }
  .rc-bookshelf-list > li:nth-child(4).current-menu-item > a,
  .rc-bookshelf-list > li:nth-child(4).current_page_item > a,
  .rc-bookshelf-list > li:nth-child(4).current-menu-ancestor > a { height: 118px; }
  .rc-bookshelf-list > li:nth-child(5).current-menu-item > a,
  .rc-bookshelf-list > li:nth-child(5).current_page_item > a { height: 102px; }
  .rc-bookshelf-list > li:nth-child(6).current-menu-item > a,
  .rc-bookshelf-list > li:nth-child(6).current_page_item > a { height: 96px; }
}

@media (max-width: 430px) {
  .rc-bookshelf-list > li:nth-child(1) > a { width: 58px; }
  .rc-bookshelf-list > li:nth-child(2) > a { width: 27px; }
  .rc-bookshelf-list > li:nth-child(3) > a { width: 29px; }
  .rc-bookshelf-list > li:nth-child(4) > a { width: 31px; }
  .rc-bookshelf-list > li:nth-child(5) > a { width: 28px; }
  .rc-bookshelf-list > li:nth-child(6) > a { width: 27px; }
  .rc-bookshelf-list > li:not(:nth-child(1)) > a { font-size: 7px; letter-spacing: .07em; }
}


/* =========================================================
   BUILD 25 — BOOKSHELF GEOMETRY / ACTIVE-STATE CORRECTIONS
   ========================================================= */

/* Give every flex item its real physical width. Build 24 changed the
   anchors, but an older compact-header rule still left each LI at 35px. */
.rc-bookshelf-list > li:nth-child(1) { flex: 0 0 112px; width: 112px; max-width: none; }
.rc-bookshelf-list > li:nth-child(2) { flex: 0 0 52px;  width: 52px;  max-width: none; }
.rc-bookshelf-list > li:nth-child(3) { flex: 0 0 57px;  width: 57px;  max-width: none; }
.rc-bookshelf-list > li:nth-child(4) { flex: 0 0 59px;  width: 59px;  max-width: none; }
.rc-bookshelf-list > li:nth-child(5) { flex: 0 0 55px;  width: 55px;  max-width: none; }
.rc-bookshelf-list > li:nth-child(6) { flex: 0 0 53px;  width: 53px;  max-width: none; }

/* HOME is a genuine horizontal book rather than a shortened upright spine. */
.rc-bookshelf-list > li:nth-child(1) > a {
  box-sizing: border-box;
  width: 112px !important;
  min-width: 112px;
  height: 42px !important;
  padding: 8px 14px !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: nowrap;
  overflow: visible;
  font-size: 14px !important;
  letter-spacing: .12em !important;
}

/* Extend the timber shelf naturally beneath the wider horizontal HOME book. */
.rc-bookshelf {
  padding-left: 22px;
  padding-right: 18px;
}
.rc-bookshelf::after {
  left: 4px;
  right: 2px;
}

/* CONTACT leans against SOCIAL rather than crossing over it. */
.rc-bookshelf-list > li:nth-child(6) {
  margin-left: 16px;
  transform: rotate(-7deg);
  transform-origin: left bottom;
}

/* The bookmark is centred from the actual book's fixed-width LI. */
.rc-bookshelf-list > li.current-menu-item::after,
.rc-bookshelf-list > li.current_page_item::after,
.rc-bookshelf-list > li.current-menu-ancestor::after {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* Selected book comes TOWARD the reader: slightly lower / in front of the
   shelf, rather than lifting upward. The bookmark travels with the book. */
.rc-bookshelf-list > li.current-menu-item,
.rc-bookshelf-list > li.current_page_item,
.rc-bookshelf-list > li.current-menu-ancestor {
  transform: translateY(7px);
  z-index: 6;
}
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform: translateY(7px) rotate(-7deg);
}

/* Remove Build 24's upward transform from active anchors. */
.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a,
.rc-bookshelf-list > li:nth-child(1).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(1).current_page_item > a,
.rc-bookshelf-list > li:nth-child(6).current-menu-item > a,
.rc-bookshelf-list > li:nth-child(6).current_page_item > a {
  transform: none !important;
}

/* Hover previews the same physical action, but more subtly than selection. */
.rc-bookshelf-list > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
.rc-bookshelf-list > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:focus-visible {
  transform: translateY(4px) !important;
}

/* Tablet / phone: keep the exact same composition at compact scale. */
@media (max-width: 820px) {
  .rc-bookshelf {
    padding: 25px 13px 14px 15px;
  }
  .rc-bookshelf .rc-bookshelf-list {
    width: auto;
    gap: 3px;
    padding: 0;
    justify-content: center;
  }
  .rc-bookshelf-list > li:nth-child(1) { flex-basis: 72px; width: 72px; }
  .rc-bookshelf-list > li:nth-child(2) { flex-basis: 30px; width: 30px; }
  .rc-bookshelf-list > li:nth-child(3) { flex-basis: 32px; width: 32px; }
  .rc-bookshelf-list > li:nth-child(4) { flex-basis: 34px; width: 34px; }
  .rc-bookshelf-list > li:nth-child(5) { flex-basis: 31px; width: 31px; }
  .rc-bookshelf-list > li:nth-child(6) { flex-basis: 30px; width: 30px; margin-left: 10px; transform: rotate(-7deg); }

  .rc-bookshelf-list > li:nth-child(1) > a {
    width: 72px !important;
    min-width: 72px;
    height: 31px !important;
    padding: 5px 8px !important;
    font-size: 8px !important;
    letter-spacing: .10em !important;
  }

  .rc-bookshelf-list > li.current-menu-item,
  .rc-bookshelf-list > li.current_page_item,
  .rc-bookshelf-list > li.current-menu-ancestor {
    transform: translateY(5px);
  }
  .rc-bookshelf-list > li:nth-child(6).current-menu-item,
  .rc-bookshelf-list > li:nth-child(6).current_page_item,
  .rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
    transform: translateY(5px) rotate(-7deg);
  }
}

@media (max-width: 430px) {
  .rc-bookshelf-list > li:nth-child(1) { flex-basis: 66px; width: 66px; }
  .rc-bookshelf-list > li:nth-child(2) { flex-basis: 27px; width: 27px; }
  .rc-bookshelf-list > li:nth-child(3) { flex-basis: 29px; width: 29px; }
  .rc-bookshelf-list > li:nth-child(4) { flex-basis: 31px; width: 31px; }
  .rc-bookshelf-list > li:nth-child(5) { flex-basis: 28px; width: 28px; }
  .rc-bookshelf-list > li:nth-child(6) { flex-basis: 27px; width: 27px; margin-left: 9px; }
  .rc-bookshelf-list > li:nth-child(1) > a { width: 66px !important; min-width: 66px; }
}


/* =========================================================
   BUILD 26 — BOOK PROPORTIONS / SHELF CONTACT / BOOKMARK DETAIL
   ========================================================= */

/* All books sit precisely on the TOP edge of the timber shelf.
   The shelf occupies 13px from bottom:3px, so its top is 16px. */
.rc-bookshelf {
  padding-bottom: 16px;
}

/* Refine the collection: approximately 30% slimmer upright spines.
   HOME remains long enough to read comfortably, but its horizontal
   spine thickness is reduced by the same proportion. */
.rc-bookshelf-list > li:nth-child(1) { flex: 0 0 112px; width: 112px; }
.rc-bookshelf-list > li:nth-child(2) { flex: 0 0 36px;  width: 36px; }
.rc-bookshelf-list > li:nth-child(3) { flex: 0 0 40px;  width: 40px; }
.rc-bookshelf-list > li:nth-child(4) { flex: 0 0 41px;  width: 41px; }
.rc-bookshelf-list > li:nth-child(5) { flex: 0 0 39px;  width: 39px; }
.rc-bookshelf-list > li:nth-child(6) { flex: 0 0 37px;  width: 37px; }

.rc-bookshelf-list > li:nth-child(1) > a {
  width: 112px !important;
  min-width: 112px;
  height: 30px !important;
  padding: 5px 14px !important;
  font-size: 15px !important;
  letter-spacing: .12em !important;
}
.rc-bookshelf-list > li:nth-child(2) > a { width: 36px; }
.rc-bookshelf-list > li:nth-child(3) > a { width: 40px; }
.rc-bookshelf-list > li:nth-child(4) > a { width: 41px; }
.rc-bookshelf-list > li:nth-child(5) > a { width: 39px; }
.rc-bookshelf-list > li:nth-child(6) > a { width: 37px; }

/* Slightly larger spine lettering for improved legibility. */
.rc-bookshelf-list > li:not(:nth-child(1)) > a {
  font-size: 12px;
  padding-left: 5px;
  padding-right: 5px;
}

/* HOME is a book lying on its side: its decorative rules therefore
   rotate with the book and sit vertically at the left and right ends. */
.rc-bookshelf-list > li:nth-child(1) > a::before,
.rc-bookshelf-list > li:nth-child(1) > a::after {
  top: 5px;
  bottom: 5px;
  width: 1px;
  height: auto;
  background: rgba(229, 189, 114, .42);
  box-shadow: 1px 0 rgba(0, 0, 0, .34);
}
.rc-bookshelf-list > li:nth-child(1) > a::before {
  left: 10px;
  right: auto;
}
.rc-bookshelf-list > li:nth-child(1) > a::after {
  right: 10px;
  left: auto;
}

/* Reinforce both decorative rules on every standing spine, including
   ABOUT and CONTACT, so the top rule cannot be lost in the texture. */
.rc-bookshelf-list > li:not(:nth-child(1)) > a::before,
.rc-bookshelf-list > li:not(:nth-child(1)) > a::after {
  right: 5px;
  left: 5px;
  height: 1px;
  background: rgba(229, 189, 114, .46);
  box-shadow: 0 1px rgba(0, 0, 0, .38);
}
.rc-bookshelf-list > li:not(:nth-child(1)) > a::before { top: 10px; }
.rc-bookshelf-list > li:not(:nth-child(1)) > a::after  { bottom: 10px; }

/* CONTACT remains leaning, but the slimmer geometry needs less clearance
   to touch SOCIAL naturally without crossing it. */
.rc-bookshelf-list > li:nth-child(6) {
  margin-left: 11px;
  transform: rotate(-7deg);
  transform-origin: left bottom;
}

/* Horizontal HOME gets a physically correct sideways bookmark.  The
   pointed/notched end enters the book; the red ribbon projects left. */
.rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(1).current_page_item::after,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
  top: 50% !important;
  left: -13px !important;
  width: 25px !important;
  height: 13px !important;
  transform: translateY(-50%) !important;
  clip-path: polygon(0 0, 100% 0, 78% 50%, 100% 100%, 0 100%) !important;
  background: linear-gradient(180deg,#8e1717 0,#d13a2d 48%,#9b1717 100%);
  box-shadow: 2px 1px 3px rgba(0,0,0,.35);
}

/* Preserve Build 25's 'pulled toward the reader' state while keeping the
   unselected books precisely seated on the shelf. */
.rc-bookshelf-list > li.current-menu-item,
.rc-bookshelf-list > li.current_page_item,
.rc-bookshelf-list > li.current-menu-ancestor {
  transform: translateY(6px);
  z-index: 6;
}
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform: translateY(6px) rotate(-7deg);
}

/* Tablet / mobile: same proportions and visual grammar at compact scale. */
@media (max-width: 820px) {
  .rc-bookshelf { padding-bottom: 16px; }

  .rc-bookshelf-list > li:nth-child(1) { flex-basis: 72px; width: 72px; }
  .rc-bookshelf-list > li:nth-child(2) { flex-basis: 21px; width: 21px; }
  .rc-bookshelf-list > li:nth-child(3) { flex-basis: 22px; width: 22px; }
  .rc-bookshelf-list > li:nth-child(4) { flex-basis: 24px; width: 24px; }
  .rc-bookshelf-list > li:nth-child(5) { flex-basis: 22px; width: 22px; }
  .rc-bookshelf-list > li:nth-child(6) { flex-basis: 21px; width: 21px; margin-left: 7px; }

  .rc-bookshelf-list > li:nth-child(1) > a {
    width: 72px !important;
    min-width: 72px;
    height: 22px !important;
    padding: 3px 8px !important;
    font-size: 9px !important;
  }
  .rc-bookshelf-list > li:nth-child(2) > a { width: 21px; }
  .rc-bookshelf-list > li:nth-child(3) > a { width: 22px; }
  .rc-bookshelf-list > li:nth-child(4) > a { width: 24px; }
  .rc-bookshelf-list > li:nth-child(5) > a { width: 22px; }
  .rc-bookshelf-list > li:nth-child(6) > a { width: 21px; }

  .rc-bookshelf-list > li:not(:nth-child(1)) > a {
    font-size: 9px;
    letter-spacing: .06em;
    padding-left: 3px;
    padding-right: 3px;
  }

  .rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(1).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
    left: -10px !important;
    width: 19px !important;
    height: 10px !important;
  }
}

@media (max-width: 430px) {
  .rc-bookshelf-list > li:nth-child(1) { flex-basis: 66px; width: 66px; }
  .rc-bookshelf-list > li:nth-child(2) { flex-basis: 19px; width: 19px; }
  .rc-bookshelf-list > li:nth-child(3) { flex-basis: 20px; width: 20px; }
  .rc-bookshelf-list > li:nth-child(4) { flex-basis: 22px; width: 22px; }
  .rc-bookshelf-list > li:nth-child(5) { flex-basis: 20px; width: 20px; }
  .rc-bookshelf-list > li:nth-child(6) { flex-basis: 19px; width: 19px; margin-left: 6px; }
  .rc-bookshelf-list > li:nth-child(1) > a { width: 66px !important; min-width: 66px; }
  .rc-bookshelf-list > li:nth-child(2) > a { width: 19px; }
  .rc-bookshelf-list > li:nth-child(3) > a { width: 20px; }
  .rc-bookshelf-list > li:nth-child(4) > a { width: 22px; }
  .rc-bookshelf-list > li:nth-child(5) > a { width: 20px; }
  .rc-bookshelf-list > li:nth-child(6) > a { width: 19px; }
  .rc-bookshelf-list > li:not(:nth-child(1)) > a { font-size: 8px; letter-spacing: .045em; }
}


/* =========================================================
   BUILD 27 — PHONE-ONLY HEADER / BOOKMARK REFINEMENTS
   No desktop or tablet geometry is changed by this block.
   ========================================================= */
@media (max-width: 480px) {
  /* Reduce the combined brand-to-books whitespace by approximately 50%:
     previous 35px flex gap + 25px bookshelf top padding = 60px;
     now 15px + 15px = 30px. */
  .rc-header-inner {
    gap: 15px;
    padding-bottom: 0;
  }

  .rc-bookshelf {
    padding-top: 15px;
  }

  /* With the header's mobile bottom padding removed, the timber shelf now
     settles directly above the header/next-section divider instead of
     floating noticeably above it. */
  .rc-bookshelf::after {
    bottom: 0;
  }

  /* Phone-only bookmark refinement: 30% slimmer than Build 26's 9px ribbon. */
  .rc-bookshelf-list > li.current-menu-item::after,
  .rc-bookshelf-list > li.current_page_item::after,
  .rc-bookshelf-list > li.current-menu-ancestor::after {
    width: 6px;
  }

  /* HOME uses the same 30% reduction on the perpendicular ribbon thickness. */
  .rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(1).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
    width: 19px !important;
    height: 7px !important;
  }
}


/* =========================================================
   BUILD 28 — DESKTOP SPINE DETAIL / CONTACT LEAN / CONTACT LINKS
   ========================================================= */

/* Desktop/browser only: make the decorative spine rules unmistakable.
   HOME keeps its rules at the two ends because it is lying horizontally. */
@media (min-width: 821px) {
  .rc-bookshelf-list > li:nth-child(1) > a::before,
  .rc-bookshelf-list > li:nth-child(1) > a::after {
    top: 6px !important;
    bottom: 6px !important;
    width: 1px !important;
    height: auto !important;
    background: rgba(229, 189, 114, .68) !important;
    box-shadow: 1px 0 rgba(0,0,0,.38) !important;
    z-index: 2;
  }
  .rc-bookshelf-list > li:nth-child(1) > a::before {
    left: 10px !important;
    right: auto !important;
  }
  .rc-bookshelf-list > li:nth-child(1) > a::after {
    right: 10px !important;
    left: auto !important;
  }

  .rc-bookshelf-list > li:nth-child(2) > a::before,
  .rc-bookshelf-list > li:nth-child(2) > a::after,
  .rc-bookshelf-list > li:nth-child(6) > a::before,
  .rc-bookshelf-list > li:nth-child(6) > a::after {
    left: 5px !important;
    right: 5px !important;
    width: auto !important;
    height: 1px !important;
    background: rgba(229, 189, 114, .68) !important;
    box-shadow: 0 1px rgba(0,0,0,.38) !important;
    z-index: 2;
  }
  .rc-bookshelf-list > li:nth-child(2) > a::before,
  .rc-bookshelf-list > li:nth-child(6) > a::before { top: 10px !important; bottom: auto !important; }
  .rc-bookshelf-list > li:nth-child(2) > a::after,
  .rc-bookshelf-list > li:nth-child(6) > a::after { bottom: 10px !important; top: auto !important; }
}

/* CONTACT: a deliberately more pronounced 30-degree lean on every device.
   Extra shelf clearance keeps the tilted book from overlapping SOCIAL. */
.rc-bookshelf-list > li:nth-child(6) {
  margin-left: 72px !important;
  transform: rotate(-30deg) !important;
  transform-origin: left bottom !important;
}
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform: translateY(6px) rotate(-30deg) !important;
}

@media (max-width: 820px) {
  .rc-bookshelf-list > li:nth-child(6) {
    margin-left: 49px !important;
    transform: rotate(-30deg) !important;
  }
  .rc-bookshelf-list > li:nth-child(6).current-menu-item,
  .rc-bookshelf-list > li:nth-child(6).current_page_item,
  .rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
    transform: translateY(5px) rotate(-30deg) !important;
  }
}

@media (max-width: 430px) {
  .rc-bookshelf-list > li:nth-child(6) { margin-left: 45px !important; }
}

/* Contact-page connection heading: editorial rather than utility-label styling. */
.rc-connect-title {
  margin: 0 0 18px;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.3;
  letter-spacing: .01em;
  text-transform: none;
}

/* Recognisable social/service marks with a restrained line-arrow pointing at each logo. */
.rc-social-link {
  align-items: center;
}
.rc-social-target {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  color: var(--accent);
}
.rc-social-arrow {
  position: relative;
  display: block;
  width: 25px;
  height: 1px;
  background: currentColor;
  opacity: .9;
}
.rc-social-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1px;
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
}
.rc-social-logo {
  display: block;
  width: 20px;
  height: 20px;
  overflow: visible;
  color: var(--ink);
  transition: color .2s ease, transform .2s ease;
}
.rc-social-link:hover .rc-social-logo,
.rc-social-link:focus-visible .rc-social-logo {
  color: var(--accent);
  transform: translateX(1px);
}
.rc-social-logo * {
  vector-effect: non-scaling-stroke;
}


/* =========================================================
   BUILD 29 — BOOK SPACING / 20° CONTACT LEAN / SPINE RULES
   ========================================================= */

/* A tighter, more natural shelf: 2px between standard books on every device. */
.rc-bookshelf .rc-bookshelf-list {
  gap: 2px !important;
}

/* CONTACT leans 20 degrees toward SOCIAL.  The compensating left margin is
   calculated so the upper-left edge of CONTACT sits about 1px from SOCIAL
   rather than overlapping it. */
.rc-bookshelf-list > li:nth-child(6) {
  margin-left: 48px !important;
  transform: rotate(-20deg) !important;
  transform-origin: left bottom !important;
}
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform: translateY(6px) rotate(-20deg) !important;
}

/* Draw the gold rules explicitly on every standing book. This is intentionally
   stronger than earlier texture rules so ABOUT and CONTACT cannot lose their
   top rule in desktop rendering. */
.rc-bookshelf-list > li:nth-child(n+2) > a::before,
.rc-bookshelf-list > li:nth-child(n+2) > a::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 5px !important;
  right: 5px !important;
  width: auto !important;
  height: 1px !important;
  background: rgba(229, 189, 114, .70) !important;
  box-shadow: 0 1px rgba(0,0,0,.38) !important;
  opacity: 1 !important;
  z-index: 3 !important;
}
.rc-bookshelf-list > li:nth-child(n+2) > a::before {
  top: 10px !important;
  bottom: auto !important;
}
.rc-bookshelf-list > li:nth-child(n+2) > a::after {
  top: auto !important;
  bottom: 10px !important;
}

/* HOME remains horizontal, so its matching rules stay vertical at the ends. */
.rc-bookshelf-list > li:nth-child(1) > a::before,
.rc-bookshelf-list > li:nth-child(1) > a::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 5px !important;
  bottom: 5px !important;
  width: 1px !important;
  height: auto !important;
  background: rgba(229, 189, 114, .70) !important;
  opacity: 1 !important;
  z-index: 3 !important;
}
.rc-bookshelf-list > li:nth-child(1) > a::before { left: 10px !important; right: auto !important; }
.rc-bookshelf-list > li:nth-child(1) > a::after  { right: 10px !important; left: auto !important; }

@media (max-width: 820px) {
  /* 96px CONTACT height at 20° moves its top about 33px toward SOCIAL;
     30px compensation leaves approximately a 1px visual gap. */
  .rc-bookshelf-list > li:nth-child(6) {
    margin-left: 30px !important;
    transform: rotate(-20deg) !important;
  }
  .rc-bookshelf-list > li:nth-child(6).current-menu-item,
  .rc-bookshelf-list > li:nth-child(6).current_page_item,
  .rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
    transform: translateY(5px) rotate(-20deg) !important;
  }
}

@media (max-width: 430px) {
  .rc-bookshelf-list > li:nth-child(6) { margin-left: 30px !important; }
}

/* Build 29 keeps the service marks but removes the directional arrows. */
.rc-social-arrow { display: none !important; }
.rc-social-target { gap: 0 !important; }

/* Preserve the official service colours rather than tinting the marks gold. */
.rc-social-link:nth-child(1) .rc-social-logo { color: #ff6719; }
.rc-social-link:nth-child(2) .rc-social-logo { color: #0a66c2; }
.rc-social-link:nth-child(3) .rc-social-logo { color: var(--ink); }
.rc-social-link:hover .rc-social-logo,
.rc-social-link:focus-visible .rc-social-logo { transform: none; }


/* =========================================================
   BUILD 30 — REFINED BOOKMARK / STATIC BOOKS / PAGE MARKERS
   ========================================================= */

/* The bookshelf is now a static navigation object. Page state is communicated
   by the ribbon marker only: no book lifts, slides or active-height animation. */
.rc-bookshelf-list > li,
.rc-bookshelf-list > li > a {
  transition: color .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
.rc-bookshelf-list > li:not(:nth-child(6)),
.rc-bookshelf-list > li:not(:nth-child(6)).current-menu-item,
.rc-bookshelf-list > li:not(:nth-child(6)).current_page_item,
.rc-bookshelf-list > li:not(:nth-child(6)).current-menu-ancestor {
  transform: none !important;
}
.rc-bookshelf-list > li:nth-child(6),
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform: rotate(-20deg) !important;
  transform-origin: left bottom !important;
}
.rc-bookshelf-list > li > a:hover,
.rc-bookshelf-list > li > a:focus-visible,
.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a,
.rc-bookshelf-list > li.current-menu-item > a:hover,
.rc-bookshelf-list > li.current_page_item > a:hover,
.rc-bookshelf-list > li.current-menu-ancestor > a:hover {
  transform: none !important;
}

/* Tilted-fold ribbon. The darker rear loop plus the slightly angled front
   ribbon gives the active marker a folded, draped appearance and real depth. */
.rc-bookshelf-list > li.current-menu-item::before,
.rc-bookshelf-list > li.current_page_item::before,
.rc-bookshelf-list > li.current-menu-ancestor::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: -15px;
  left: 50%;
  width: 14px;
  height: 15px;
  transform: translateX(-50%) rotate(8deg);
  transform-origin: 50% 100%;
  border-radius: 9px 9px 2px 2px;
  background: linear-gradient(90deg,#72100f 0%,#b51e19 55%,#64100f 100%);
  box-shadow: 0 3px 5px rgba(0,0,0,.50), inset 2px 0 2px rgba(255,255,255,.10);
  pointer-events: none;
}
.rc-bookshelf-list > li.current-menu-item::after,
.rc-bookshelf-list > li.current_page_item::after,
.rc-bookshelf-list > li.current-menu-ancestor::after {
  content: "" !important;
  position: absolute !important;
  z-index: 5 !important;
  top: -8px !important;
  left: 50% !important;
  width: 13px !important;
  height: 34px !important;
  transform: translateX(-38%) rotate(8deg) !important;
  transform-origin: 50% 0 !important;
  border-radius: 3px 4px 1px 1px !important;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,rgba(0,0,0,.035) 1px 3px),
    linear-gradient(90deg,#941712 0%,#df3b2d 46%,#a01814 100%) !important;
  clip-path: polygon(0 0,100% 0,100% 100%,52% 79%,0 100%) !important;
  box-shadow: 3px 4px 6px rgba(0,0,0,.48), inset 2px 0 2px rgba(255,255,255,.14) !important;
  pointer-events: none !important;
}

/* HOME is horizontal, so its ribbon exits from the left edge with the same
   folded character, rotated through 90 degrees. */
.rc-bookshelf-list > li:nth-child(1).current-menu-item::before,
.rc-bookshelf-list > li:nth-child(1).current_page_item::before,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::before {
  top: 50% !important;
  left: -10px !important;
  width: 15px !important;
  height: 14px !important;
  transform: translateY(-50%) rotate(-82deg) !important;
}
.rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(1).current_page_item::after,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
  top: 50% !important;
  left: -18px !important;
  width: 34px !important;
  height: 13px !important;
  transform: translateY(-50%) rotate(-2deg) !important;
  transform-origin: 100% 50% !important;
  clip-path: polygon(0 0,79% 0,100% 50%,79% 100%,0 100%,17% 50%) !important;
  border-radius: 3px 1px 1px 3px !important;
  box-shadow: -3px 3px 6px rgba(0,0,0,.46), inset 0 2px 2px rgba(255,255,255,.12) !important;
}

/* Page-title literary marker: a cropped corner of the matching navigation
   book with the same tilted ribbon. No surrounding circle. */
.rc-title-with-marker {
  display: flex;
  align-items: center;
  gap: clamp(16px,2vw,28px);
  margin-bottom: 50px;
}
.rc-title-with-marker > .rc-page-title,
.rc-title-with-marker > h1 {
  margin-bottom: 0;
}
.rc-page-marker {
  --marker-colour:#20375e;
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  width: clamp(54px,5vw,72px);
  height: clamp(62px,5.8vw,84px);
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 9px;
  overflow: visible;
  border: 1px solid rgba(255,255,255,.10);
  border-bottom: 0;
  border-radius: 13px 13px 3px 3px;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,rgba(0,0,0,.022) 1px 3px),
    linear-gradient(90deg,rgba(0,0,0,.24),rgba(255,255,255,.03) 46%,rgba(0,0,0,.30)),
    var(--marker-colour);
  box-shadow: 0 8px 16px rgba(0,0,0,.34), inset 4px 0 8px rgba(255,255,255,.045), inset -5px 0 9px rgba(0,0,0,.25);
  color:#eac77e;
  font:600 clamp(18px,1.65vw,25px)/1 Georgia,"Times New Roman",serif;
  text-shadow:0 1px 1px #150e08;
}
.rc-page-marker::after {
  content:"";
  position:absolute;
  left:9px;
  right:9px;
  top:14px;
  height:1px;
  background:rgba(229,189,114,.72);
  box-shadow:0 1px rgba(0,0,0,.4);
}
.rc-page-marker::before {
  content:"";
  position:absolute;
  z-index:3;
  width:clamp(14px,1.25vw,18px);
  height:clamp(36px,3.4vw,49px);
  top:-9px;
  left:56%;
  transform:translateX(-40%) rotate(8deg);
  transform-origin:50% 0;
  border-radius:8px 8px 2px 2px;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,rgba(0,0,0,.035) 1px 3px),
    linear-gradient(90deg,#941712 0%,#df3b2d 46%,#a01814 100%);
  clip-path:polygon(0 0,100% 0,100% 100%,52% 79%,0 100%);
  box-shadow:3px 4px 7px rgba(0,0,0,.52), inset 2px 0 2px rgba(255,255,255,.14);
}
.rc-page-marker-home{--marker-colour:#0e4b4e}
.rc-page-marker-about{--marker-colour:#6a202a}
.rc-page-marker-books{--marker-colour:#48532b}
.rc-page-marker-photography{--marker-colour:#20375e}
.rc-page-marker-social{--marker-colour:#984923}
.rc-page-marker-contact{--marker-colour:#513064}

/* Keep the first-page hero's marker/title relationship deliberate without
   changing the hero's wording or existing layout. */
.rc-hero-heading .rc-title-with-marker { align-items:flex-start; margin-bottom:0; }
.rc-hero-heading .rc-page-marker { margin-top:.05em; }

@media (max-width: 480px) {
  /* Build 29 moved the timber to bottom:0 while a 16px content padding remained.
     13px equals the timber height, so every book now lands precisely on its top. */
  .rc-bookshelf { padding-bottom: 13px !important; }

  /* Preserve the phone's intentionally slimmer ribbon while retaining the fold. */
  .rc-bookshelf-list > li.current-menu-item::after,
  .rc-bookshelf-list > li.current_page_item::after,
  .rc-bookshelf-list > li.current-menu-ancestor::after {
    width: 7px !important;
    height: 24px !important;
  }
  .rc-bookshelf-list > li.current-menu-item::before,
  .rc-bookshelf-list > li.current_page_item::before,
  .rc-bookshelf-list > li.current-menu-ancestor::before {
    width: 8px !important;
    height: 10px !important;
    top: -10px !important;
  }
  .rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(1).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
    top: 50% !important;
    left: -14px !important;
    width: 24px !important;
    height: 7px !important;
  }
  .rc-bookshelf-list > li:nth-child(1).current-menu-item::before,
  .rc-bookshelf-list > li:nth-child(1).current_page_item::before,
  .rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::before {
    top: 50% !important;
    left: -7px !important;
    width: 10px !important;
    height: 8px !important;
  }

  .rc-title-with-marker { gap:12px; }
  .rc-page-marker { width:44px; height:51px; padding-bottom:6px; border-radius:9px 9px 2px 2px; font-size:16px; }
  .rc-page-marker::after { left:7px; right:7px; top:10px; }
  .rc-page-marker::before { width:10px; height:29px; top:-6px; }
}


/* =========================================================
   BUILD 31 — RENDERED PAGE MARKERS / RENDERED RIBBON ASSET
   ========================================================= */

/* Page-title marker now uses the approved rendered artwork itself rather than
   a CSS approximation.  The transparent PNG preserves the leather grain,
   curved ribbon, fold, shadow and gold initial at small sizes. */
.rc-page-marker-image {
  display: block;
  flex: 0 0 auto;
  width: clamp(62px, 5.4vw, 82px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 13px rgba(0,0,0,.34));
}
.rc-title-with-marker {
  align-items: center;
}
.rc-hero-heading .rc-page-marker-image {
  margin-top: .03em;
}

/* Retire the Build 30 CSS-drawn title icon if it remains in cached markup. */
.rc-page-marker { display:none !important; }

/* The shelf stays completely static.  The current page is indicated only by
   the rendered ribbon asset; no translate/height/hover movement is allowed. */
.rc-bookshelf-list > li,
.rc-bookshelf-list > li > a,
.rc-bookshelf-list > li.current-menu-item,
.rc-bookshelf-list > li.current_page_item,
.rc-bookshelf-list > li.current-menu-ancestor,
.rc-bookshelf-list > li > a:hover,
.rc-bookshelf-list > li > a:focus-visible,
.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a {
  transition: color .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
.rc-bookshelf-list > li:not(:nth-child(6)),
.rc-bookshelf-list > li:not(:nth-child(6)).current-menu-item,
.rc-bookshelf-list > li:not(:nth-child(6)).current_page_item,
.rc-bookshelf-list > li:not(:nth-child(6)).current-menu-ancestor {
  transform:none !important;
}
.rc-bookshelf-list > li:nth-child(6),
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform:rotate(-20deg) !important;
  transform-origin:left bottom !important;
}
.rc-bookshelf-list > li > a,
.rc-bookshelf-list > li > a:hover,
.rc-bookshelf-list > li > a:focus-visible,
.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a {
  transform:none !important;
}

/* Replace the CSS ribbon with the actual rendered tilted-fold ribbon. */
.rc-bookshelf-list > li.current-menu-item::before,
.rc-bookshelf-list > li.current_page_item::before,
.rc-bookshelf-list > li.current-menu-ancestor::before {
  display:none !important;
}
.rc-bookshelf-list > li.current-menu-item::after,
.rc-bookshelf-list > li.current_page_item::after,
.rc-bookshelf-list > li.current-menu-ancestor::after {
  content:"" !important;
  position:absolute !important;
  z-index:8 !important;
  top:-16px !important;
  left:50% !important;
  width:27px !important;
  height:38px !important;
  transform:translateX(-42%) rotate(2deg) !important;
  transform-origin:50% 0 !important;
  background:url("assets/images/build31/bookmark-ribbon.png") center top / contain no-repeat !important;
  clip-path:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
  filter:drop-shadow(3px 4px 4px rgba(0,0,0,.44));
}

/* HOME lies horizontally, so the same rendered ribbon exits from its left
   edge and is rotated through 90 degrees. */
.rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(1).current_page_item::after,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
  top:50% !important;
  left:-18px !important;
  width:38px !important;
  height:27px !important;
  transform:translateY(-50%) rotate(-90deg) !important;
  transform-origin:50% 50% !important;
  background-size:contain !important;
}

@media (max-width: 480px) {
  .rc-page-marker-image { width:52px; }
  .rc-title-with-marker { gap:12px; }

  /* Phone ribbon remains proportionally restrained while keeping the full
     rendered curve/fold rather than reverting to the former CSS strip. */
  .rc-bookshelf-list > li.current-menu-item::after,
  .rc-bookshelf-list > li.current_page_item::after,
  .rc-bookshelf-list > li.current-menu-ancestor::after {
    width:18px !important;
    height:28px !important;
    top:-12px !important;
  }
  .rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(1).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
    top:50% !important;
    left:-13px !important;
    width:28px !important;
    height:18px !important;
  }
}

/* =========================================================
   BUILD 32 — HIGH-FIDELITY BOOKMARKS / HOME PAGE-EDGE DETAIL
   ========================================================= */

/* Build 32 keeps the successful asymmetric geometry from Build 31 but raises
   the tactile finish.  Books remain completely static: no lift or selection
   movement.  Only colour/focus feedback changes on interaction. */
.rc-bookshelf-list > li,
.rc-bookshelf-list > li > a,
.rc-bookshelf-list > li.current-menu-item,
.rc-bookshelf-list > li.current_page_item,
.rc-bookshelf-list > li.current-menu-ancestor,
.rc-bookshelf-list > li > a:hover,
.rc-bookshelf-list > li > a:focus-visible,
.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a {
  transition: color .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
.rc-bookshelf-list > li:not(:nth-child(6)),
.rc-bookshelf-list > li:not(:nth-child(6)).current-menu-item,
.rc-bookshelf-list > li:not(:nth-child(6)).current_page_item,
.rc-bookshelf-list > li:not(:nth-child(6)).current-menu-ancestor {
  transform: none !important;
}
.rc-bookshelf-list > li:nth-child(6),
.rc-bookshelf-list > li:nth-child(6).current-menu-item,
.rc-bookshelf-list > li:nth-child(6).current_page_item,
.rc-bookshelf-list > li:nth-child(6).current-menu-ancestor {
  transform: rotate(-20deg) !important;
  transform-origin: left bottom !important;
}
.rc-bookshelf-list > li > a,
.rc-bookshelf-list > li > a:hover,
.rc-bookshelf-list > li > a:focus-visible,
.rc-bookshelf-list > li.current-menu-item > a,
.rc-bookshelf-list > li.current_page_item > a,
.rc-bookshelf-list > li.current-menu-ancestor > a {
  transform: none !important;
}

/* Higher-fidelity leather/cloth impression using several very low-contrast
   layers.  No external texture download is required and the result remains
   crisp at Retina resolutions. */
.rc-bookshelf-list > li:nth-child(1) > a {
  background:
    repeating-linear-gradient(4deg, rgba(255,255,255,.018) 0 1px, rgba(0,0,0,.020) 1px 3px),
    repeating-linear-gradient(92deg, rgba(255,255,255,.014) 0 1px, transparent 1px 4px),
    radial-gradient(ellipse at 46% 20%, rgba(255,255,255,.08), transparent 48%),
    linear-gradient(180deg,#105459 0%,#0b3d41 52%,#06272b 100%) !important;
  box-shadow:
    0 4px 8px rgba(0,0,0,.32),
    inset 0 2px 4px rgba(255,255,255,.08),
    inset 0 -3px 5px rgba(0,0,0,.30),
    inset 1px 0 rgba(255,255,255,.08) !important;
}
.rc-bookshelf-list > li:nth-child(2) > a {
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 3px),
    radial-gradient(ellipse at 45% 18%,rgba(255,255,255,.07),transparent 48%),
    linear-gradient(90deg,#42151c,#742531 50%,#351016) !important;
}
.rc-bookshelf-list > li:nth-child(3) > a {
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 3px),
    radial-gradient(ellipse at 45% 18%,rgba(255,255,255,.07),transparent 48%),
    linear-gradient(90deg,#26321b,#526033 50%,#202a17) !important;
}
.rc-bookshelf-list > li:nth-child(4) > a {
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 3px),
    radial-gradient(ellipse at 45% 18%,rgba(255,255,255,.075),transparent 48%),
    linear-gradient(90deg,#101f3b,#27456f 50%,#0b172e) !important;
}
.rc-bookshelf-list > li:nth-child(5) > a {
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 3px),
    radial-gradient(ellipse at 45% 18%,rgba(255,255,255,.07),transparent 48%),
    linear-gradient(90deg,#65301b,#a55328 50%,#512515) !important;
}
.rc-bookshelf-list > li:nth-child(6) > a {
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 3px),
    radial-gradient(ellipse at 45% 18%,rgba(255,255,255,.07),transparent 48%),
    linear-gradient(90deg,#2d193c,#5d3973 50%,#241330) !important;
}

/* Slightly richer timber grain while preserving the exact shelf geometry. */
.rc-bookshelf::after {
  background:
    repeating-linear-gradient(2deg,rgba(255,255,255,.025) 0 1px,rgba(0,0,0,.025) 1px 4px),
    linear-gradient(180deg,#80593b 0%,#52341f 39%,#2b1a13 72%,#180f0c 100%) !important;
  box-shadow: 0 8px 15px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.10) !important;
}

/* RENDERED RIBBON — upright books.
   This asset contains only the red satin bookmark: no book fragment, letter,
   or gold rule.  It overlaps the top edge so there can be no visible gap. */
.rc-bookshelf-list > li.current-menu-item::before,
.rc-bookshelf-list > li.current_page_item::before,
.rc-bookshelf-list > li.current-menu-ancestor::before {
  display:none !important;
}
.rc-bookshelf-list > li.current-menu-item::after,
.rc-bookshelf-list > li.current_page_item::after,
.rc-bookshelf-list > li.current-menu-ancestor::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:10 !important;
  top:-10px !important;
  left:50% !important;
  width:27px !important;
  height:34px !important;
  transform:translateX(-44%) rotate(1.5deg) !important;
  transform-origin:50% 0 !important;
  background:url("assets/images/build32/bookmark-upright.png") center top / contain no-repeat !important;
  clip-path:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(3px 4px 4px rgba(0,0,0,.48)) !important;
  pointer-events:none !important;
}

/* HOME is physically different because it lies horizontally.  A slim page
   block is exposed at the far-left side.  Its ribbon emerges from between the
   pages at roughly 50% of the book thickness, then curves down in front of the
   timber shelf under gravity. */
.rc-bookshelf-list > li:nth-child(1) {
  isolation:isolate;
}
.rc-bookshelf-list > li:nth-child(1)::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:1 !important;
  left:-5px !important;
  top:6px !important;
  width:16px !important;
  height:18px !important;
  border-radius:3px 0 0 3px !important;
  background:
    repeating-linear-gradient(180deg,#e6d9b8 0 1px,#cbbd9c 1px 2px,#f0e5c8 2px 3px) !important;
  box-shadow:inset 0 0 2px rgba(70,45,25,.35), -2px 2px 3px rgba(0,0,0,.28) !important;
  pointer-events:none !important;
}
.rc-bookshelf-list > li:nth-child(1) > a {
  position:relative !important;
  z-index:2 !important;
  border-left-color:rgba(255,255,255,.16) !important;
}
.rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(1).current_page_item::after,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
  top:11px !important;
  left:-22px !important;
  width:42px !important;
  height:46px !important;
  transform:none !important;
  transform-origin:50% 0 !important;
  background:url("assets/images/build32/bookmark-home.png") left top / contain no-repeat !important;
  filter:drop-shadow(3px 5px 4px rgba(0,0,0,.48)) !important;
}

/* Ensure the intentional decorative gold rules remain on the book faces and
   never leak into the bookmark asset itself. */
.rc-bookshelf-list > li:nth-child(n+2) > a::before,
.rc-bookshelf-list > li:nth-child(n+2) > a::after {
  z-index:3 !important;
}

/* Phone scale: same physical logic, smaller bookmark and page block. Books
   remain seated directly on the top edge of the timber shelf. */
@media (max-width:480px) {
  .rc-bookshelf { padding-bottom:13px !important; }

  .rc-bookshelf-list > li.current-menu-item::after,
  .rc-bookshelf-list > li.current_page_item::after,
  .rc-bookshelf-list > li.current-menu-ancestor::after {
    top:-7px !important;
    width:15px !important;
    height:22px !important;
    transform:translateX(-44%) rotate(1.5deg) !important;
  }

  .rc-bookshelf-list > li:nth-child(1)::before {
    left:-3px !important;
    top:4px !important;
    width:10px !important;
    height:13px !important;
  }

  .rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(1).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
    top:7px !important;
    left:-14px !important;
    width:29px !important;
    height:34px !important;
    transform:none !important;
  }
}

/* =========================================================
   BUILD 34 — COMPACT PAGE RHYTHM / SOCIAL BOOKSHOP HERO
   ========================================================= */

/* Bring the opening title area on the standard internal pages closer to the
   header, following the compact rhythm already established by Social. */
.rc-page:not(.rc-social-page) {
  padding-top: clamp(38px, 5vw, 72px);
}

/* Home uses its own hero rather than .rc-page.  Reduce its opening air while
   retaining the existing artwork, typography and bottom-aligned composition. */
.home .rc-hero {
  padding-top: clamp(32px, 4vw, 52px);
}

/* The supplied night-time bookshop now fills the complete Social hero.  Both
   the title and introductory copy sit directly over it with a restrained dark
   veil for dependable contrast at every crop. */
.rc-social-hero::before,
.rc-social-hero::after {
  right: 0;
  left: 0;
  width: 100%;
}
.rc-social-hero::before {
  background-position: center 52%;
  background-size: cover;
  filter: grayscale(1) contrast(1.08) brightness(.62);
}
.rc-social-hero::after {
  background:
    linear-gradient(90deg, rgba(3,16,20,.91) 0%, rgba(3,16,20,.72) 43%, rgba(3,16,20,.38) 72%, rgba(3,16,20,.52) 100%),
    linear-gradient(180deg, rgba(3,16,20,.30) 0%, transparent 50%, rgba(3,16,20,.42) 100%);
}
.rc-social-hero .rc-page-title,
.rc-social-hero .rc-social-intro {
  width: min(62%, 760px);
  padding-right: 0;
}

/* Reduce the two tall homepage panels to the requested compact proportions.
   Their images remain cover-cropped rather than being squeezed. */
@media (min-width: 821px) {
  .home .rc-progress-section,
  .home .rc-home-contact-section {
    height: clamp(350px, 31vw, 430px);
    min-height: clamp(350px, 31vw, 430px);
  }
  .home .rc-progress-section {
    padding-top: clamp(26px, 3vw, 44px);
    padding-bottom: clamp(26px, 3vw, 44px);
  }
  .home .rc-progress-section > .rc-wrap,
  .home .rc-progress-section .rc-progress-grid {
    height: 100%;
  }
  .home .rc-progress-visual {
    width: min(100%, 310px);
    max-height: 100%;
  }
  .home .rc-forthcoming-book-render {
    max-height: 350px;
    object-fit: contain;
  }
  .home .rc-home-contact-section .rc-home-contact-copy {
    padding-top: clamp(20px, 3vw, 45px);
    padding-bottom: clamp(20px, 3vw, 45px);
  }

  /* The contact form is visually lifted; remove the corresponding phantom
     space from normal flow so the footer follows the visible content. */
  .rc-contact-page .rc-contact-layout {
    margin-bottom: clamp(-112px, -7.5vw, -82px);
  }
}

/* Trim the page endings after the final Kindle image and contact form. */
.rc-books-page,
.rc-contact-page {
  padding-bottom: clamp(28px, 4vw, 56px);
}
.rc-books-page .rc-book-showcase:last-of-type {
  padding-bottom: 0;
}

@media (max-width: 820px) {
  .rc-page:not(.rc-social-page) {
    padding-top: clamp(30px, 7vw, 48px);
  }
  .home .rc-hero {
    padding-top: clamp(28px, 7vw, 44px);
  }
  .rc-social-hero .rc-page-title,
  .rc-social-hero .rc-social-intro {
    width: min(88%, 650px);
    padding-right: 0;
  }
  .home .rc-progress-section {
    padding-top: clamp(30px, 7vw, 48px);
    padding-bottom: clamp(30px, 7vw, 48px);
  }
  .home .rc-home-contact-section .rc-home-contact-grid {
    min-height: 520px;
  }
  .home .rc-home-contact-section .rc-home-contact-copy {
    padding-top: 235px;
    padding-bottom: 28px;
  }
}

@media (max-width: 480px) {
  .rc-social-hero {
    min-height: 440px;
  }
  .rc-social-hero::before {
    background-position: 58% center;
  }
  .rc-social-hero::after {
    background: rgba(3,16,20,.66);
  }
  .rc-social-hero .rc-page-title,
  .rc-social-hero .rc-social-intro {
    width: 100%;
  }
  .home .rc-home-contact-section .rc-home-contact-grid {
    min-height: 480px;
  }
  .home .rc-home-contact-section .rc-home-contact-copy {
    padding-top: 210px;
  }
}

/* =========================================================
   BUILD 33 — SEAMLESS UPRIGHT RIBBONS / HOME RESET
   ========================================================= */

/* HOME returns to its clean horizontal-spine presentation.  There is no
   exposed page block and no active-page ribbon on HOME. */
.rc-bookshelf-list > li:nth-child(1)::before {
  content:none !important;
  display:none !important;
}
.rc-bookshelf-list > li:nth-child(1) > a {
  border-left-color:rgba(255,255,255,.08) !important;
}
.rc-bookshelf-list > li:nth-child(1).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(1).current_page_item::after,
.rc-bookshelf-list > li:nth-child(1).current-menu-ancestor::after {
  content:none !important;
  display:none !important;
  background:none !important;
  filter:none !important;
}

/* Only the five upright books receive the active-page bookmark.  The Build 33
   asset contains the red satin ribbon alone.  It is deliberately lowered so
   the curved rear fold meets the book's rounded top edge seamlessly while the
   front tail falls over the spine. */
.rc-bookshelf-list > li:nth-child(n+2).current-menu-item::after,
.rc-bookshelf-list > li:nth-child(n+2).current_page_item::after,
.rc-bookshelf-list > li:nth-child(n+2).current-menu-ancestor::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:12 !important;
  top:-3px !important;
  left:50% !important;
  width:28px !important;
  height:32px !important;
  transform:translateX(-44%) rotate(1.5deg) !important;
  transform-origin:50% 0 !important;
  background:url("assets/images/build33/bookmark-upright.png") center top / contain no-repeat !important;
  clip-path:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(2px 3px 3px rgba(0,0,0,.52)) !important;
  pointer-events:none !important;
}

/* The gold rules remain part of the spine beneath the ribbon. */
.rc-bookshelf-list > li:nth-child(n+2) > a::before,
.rc-bookshelf-list > li:nth-child(n+2) > a::after {
  z-index:3 !important;
}

@media (max-width:820px) {
  .rc-bookshelf-list > li:nth-child(n+2).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(n+2).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(n+2).current-menu-ancestor::after {
    top:-3px !important;
    width:20px !important;
    height:24px !important;
    transform:translateX(-44%) rotate(1.5deg) !important;
  }
}

@media (max-width:480px) {
  .rc-bookshelf-list > li:nth-child(n+2).current-menu-item::after,
  .rc-bookshelf-list > li:nth-child(n+2).current_page_item::after,
  .rc-bookshelf-list > li:nth-child(n+2).current-menu-ancestor::after {
    top:-2px !important;
    width:15px !important;
    height:19px !important;
    transform:translateX(-44%) rotate(1.5deg) !important;
  }
}

/* =========================================================
   BUILD 35 — CONSISTENT TITLE ALIGNMENT / MARKER SCALE
   ========================================================= */

/* Social previously centred its complete introduction vertically inside the
   hero.  Anchor it from the top using exactly the same responsive padding as
   the other internal pages so its title no longer shifts when navigating. */
.rc-social-hero-inner {
  justify-content: flex-start;
  padding-top: clamp(38px, 5vw, 72px);
}

/* The Photography artwork has a wider source canvas than the other rendered
   title markers.  A small proportional width correction equalises its visible
   height without altering any of the other marker assets. */
.rc-page-marker-image-photography {
  width: clamp(67px, 5.85vw, 89px);
}

@media (max-width: 820px) {
  .rc-social-hero-inner {
    padding-top: clamp(30px, 7vw, 48px);
  }
}

@media (max-width: 480px) {
  .rc-page-marker-image-photography {
    width: 56px;
  }
}

/* =========================================================
   BUILD 36 — PAGE ALIGNMENT / HOME HERO REFINEMENT
   ========================================================= */

/* Reserve the same vertical-scrollbar gutter on every desktop page.  This
   prevents short and long pages from shifting the centred header and main
   wrapper by a few pixels when navigating to or from Contact. */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

/* Social and Contact use wider source canvases than the original page-marker
   artwork.  Apply the same visible-size correction approved for Photography. */
.rc-page-marker-image-social,
.rc-page-marker-image-contact {
  width: clamp(67px, 5.85vw, 89px);
}

/* Position the Home title row with the same top padding as the internal page
   titles rather than anchoring it to the bottom of the opening section. */
.home .rc-hero {
  align-items: flex-start;
  padding-top: clamp(38px, 5vw, 72px);
}

@media (max-width: 820px) {
  .home .rc-hero {
    padding-top: clamp(30px, 7vw, 48px);
    padding-bottom: clamp(22px, 5vw, 34px);
  }

  /* Removing this non-content flourish shortens the phone/tablet hero by
     approximately 30% while leaving the title, marker and artwork unchanged. */
  .home .rc-hero-mark {
    display: none;
  }
}

/* =========================================================
   BUILD 38 — GILT TYPOGRAPHY AND HORIZONTAL BOOK LINKS
   ========================================================= */

:root {
  --rc-gilt-dark: #8a5522;
  --rc-gilt-mid: #e2b963;
  --rc-gilt-light: #f1d583;
}

.rc-deboss-filter {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

/* A restrained, centre-lit gilt surface: darker at the top and bottom as if
   the lettering follows the convex face of a traditional rounded book spine. */
.rc-brand-name,
.rc-brand-tagline,
.rc-page-title {
  color: var(--rc-gilt-mid);
  background-image: linear-gradient(
    to bottom,
    #80501f 0%,
    #b47b35 18%,
    #e5bd65 40%,
    #f2d480 52%,
    #dda94f 72%,
    #976329 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 0 rgba(255, 229, 151, .1);
  filter: url("#rc-debossed-gilt");
  overflow: visible;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.rc-brand-tagline {
  margin-top: 9px;
  width: 79%;
  white-space: nowrap;
  font-size: clamp(8px, .72vw, 11px);
  transform: scaleX(1.265);
  transform-origin: left center;
}

.rc-brand-name {
  display: block;
}

/* Reserve extra paint space for long descenders and terminals. This prevents
   the curved gilt falloff and deboss filter from clipping Photography's g/y. */
.rc-page-title {
  padding: .05em .08em .14em .03em;
  margin-left: -.03em;
}

/* FRAGMENTS retains the stressed uppercase identity of the published cover. */
.rc-fragments-title {
  position: relative;
  width: min(100%, 620px);
  min-height: clamp(48px, 7vw, 92px);
  margin-bottom: 22px;
  font-size: 0 !important;
  background: none !important;
  -webkit-text-fill-color: initial;
  text-shadow: none;
}

.rc-fragments-title::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 2037 / 525;
  background: url("assets/images/fragments-title-wordmark.png") left center / contain no-repeat;
}

.rc-fragments-title > a {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.rc-home-book-section .rc-fragments-title,
.rc-book-showcase .rc-fragments-title {
  width: min(100%, 380px);
}

.rc-book-detail .rc-fragments-title {
  width: min(100%, 480px);
}

/* Shared interactive book component. */
.rc-horizontal-book {
  --rc-book-edge: #25351d;
  --rc-book-centre: #4b5930;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 168px;
  height: 48px;
  margin-top: 28px;
  padding: 0 34px;
  border: 1px solid rgba(223, 184, 92, .27);
  border-radius: 7px 13px 13px 7px;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.09), transparent 22%, transparent 72%, rgba(0,0,0,.34)),
    linear-gradient(90deg, var(--rc-book-edge), var(--rc-book-centre) 48%, var(--rc-book-edge));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), inset 0 -3px 4px rgba(0,0,0,.3), 0 5px 0 #4b2d18, 0 8px 12px rgba(0,0,0,.32);
  color: #dcb45e;
  font: 600 15px/1 Georgia, "Times New Roman", serif;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
  appearance: none;
}

.rc-horizontal-book::before,
.rc-horizontal-book::after {
  content: "";
  position: absolute;
  top: 7px;
  bottom: 7px;
  width: 1px;
  background: linear-gradient(to bottom, #8b591f, #e1b757 48%, #76501d);
  opacity: .9;
}

.rc-horizontal-book::before { left: 17px; }
.rc-horizontal-book::after { right: 17px; }

.rc-horizontal-book span {
  color: #f0cf76;
  background: none;
  -webkit-text-fill-color: #f0cf76;
  text-shadow: 0 1px 0 #4c2b0d, 0 0 1px rgba(255, 230, 154, .35);
  font-weight: 700;
}

.rc-horizontal-book:hover,
.rc-horizontal-book:focus-visible {
  color: #efd17c;
  filter: brightness(1.08);
  transform: translateY(-3px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), inset 0 -3px 4px rgba(0,0,0,.3), 0 6px 0 #4b2d18, 0 11px 16px rgba(0,0,0,.38);
}

.rc-horizontal-book:focus-visible {
  outline: 2px solid #efd17c;
  outline-offset: 5px;
}

.rc-horizontal-book--about {
  --rc-book-edge: #3a1118;
  --rc-book-centre: #762432;
}

.rc-horizontal-book--books {
  --rc-book-edge: #25351d;
  --rc-book-centre: #4b5930;
}

.rc-horizontal-book--portfolio {
  --rc-book-edge: #0e203e;
  --rc-book-centre: #274879;
}

.rc-horizontal-book--instagram {
  --rc-book-edge: #672d16;
  --rc-book-centre: #a85125;
}

.rc-horizontal-book--contact {
  --rc-book-edge: #2c193c;
  --rc-book-centre: #57336b;
}

.rc-linkrow .rc-horizontal-book,
.rc-instagram-heading .rc-horizontal-book {
  border-bottom: 1px solid rgba(223, 184, 92, .27);
  padding-bottom: 0;
}

.rc-contact-form .rc-horizontal-book--send {
  margin-top: 10px;
}

@media (max-width: 600px) {
  .rc-horizontal-book {
    min-width: 148px;
    height: 44px;
    padding-inline: 29px;
    font-size: 14px;
    letter-spacing: .075em;
  }

  .rc-fragments-title {
    width: min(100%, 460px);
  }
}

@media (forced-colors: active) {
  .rc-brand-name,
  .rc-brand-tagline,
  .rc-page-title,
  .rc-horizontal-book span {
    -webkit-text-fill-color: currentColor;
    background: none;
    filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-horizontal-book {
    transition: none;
  }
}

@media (max-width: 480px) {
  .rc-page-marker-image-social,
  .rc-page-marker-image-contact {
    width: 56px;
  }
}

/* =========================================================
   BUILD 37 — CONTENT-LED HOME OPENING SECTION
   ========================================================= */

/* The legacy equal-height and 68vh rules reserved large blank bands above and
   below the Home title.  Let the opening section size itself from its actual
   title row, with the same compact vertical rhythm used by the other pages. */
.home .rc-hero {
  height: auto;
  min-height: 0;
  padding-top: clamp(38px, 5vw, 72px);
  padding-bottom: clamp(38px, 5vw, 72px);
}

@media (max-width: 820px) {
  .home .rc-hero {
    height: auto;
    min-height: 0;
    padding-top: clamp(30px, 7vw, 48px);
    padding-bottom: clamp(30px, 7vw, 48px);
  }
}

/* =========================================================
   BUILD 40 — CONSISTENT INTRO RHYTHM / SLIM BOOK LINKS
   ========================================================= */

/* About is the spacing reference: every core-page introduction now begins
   exactly one shared title-row gap below its heading. */
.rc-books-page .rc-books-intro,
.rc-photography-intro-copy .rc-photography-intro,
.rc-social-hero .rc-social-intro,
.rc-contact-page .rc-contact-layout {
  margin-top: 0;
}

.rc-books-intro > :first-child,
.rc-photography-intro > :first-child,
.rc-social-intro .rc-content > :first-child,
.rc-contact-copy .rc-content > :first-child {
  margin-top: 0;
}

/* Forty percent less depth keeps the horizontal spines refined while their
   width and lettering remain comfortably readable and tappable. */
.rc-horizontal-book {
  height: 29px;
  min-height: 29px;
  border-radius: 4px 9px 9px 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), inset 0 -2px 3px rgba(0,0,0,.3), 0 3px 0 #4b2d18, 0 6px 9px rgba(0,0,0,.32);
}

.rc-horizontal-book::before,
.rc-horizontal-book::after {
  top: 4px;
  bottom: 4px;
}

.rc-horizontal-book:hover,
.rc-horizontal-book:focus-visible {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), inset 0 -2px 3px rgba(0,0,0,.3), 0 4px 0 #4b2d18, 0 8px 12px rgba(0,0,0,.38);
}

.rc-read-more-book {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
}

.rc-read-more-book-label {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: var(--muted);
}

.rc-read-more-book .rc-horizontal-book {
  margin-top: 0;
}

@media (max-width: 600px) {
  .rc-horizontal-book {
    height: 27px;
    min-height: 27px;
  }
}
