/* Susan Haught — cohesive reader review section and editorial polish */
/* Restore straight, intentional book covers instead of accidental tilted pages. */
.feature-cover .cover-frame,
.hero-cover-main { transform: rotate(0deg) !important; }
/* Existing GFS typography is authoritative; this sheet adds only layouts and styling. */
.reader-reviews {
  padding: clamp(74px, 9vw, 126px) 0;
  background: linear-gradient(150deg,#F9F6FB 0%, #F4EFF9 52%, #FCF8F3 100%);
  border-block: 1px solid #E8E0ED;
  color:#392653;
}
.reader-reviews-header { max-width:840px;margin:0 auto 44px;text-align:center; }
.reader-reviews-header .section-kicker { text-align:center; }
.reader-reviews-header h2 {
  font-family:'GFSArtemisiaBold',Georgia,serif!important;
  font-size:clamp(43px,5.5vw,72px)!important;
  line-height:1.12!important;letter-spacing:-.035em!important;
  margin:12px 0 15px;
  color:#392653!important;
}
.reader-reviews-header p {
  font-family:'GFSArtemisiaRegular',Georgia,serif!important;
  font-size:clamp(18px,1.7vw,21px)!important;line-height:1.5!important;
  color:#605269;margin:0;
}
.reader-reviews-grid {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;
 gap:22px;
}
.reader-review-card {
  margin:0;min-width:0;border:1px solid #E7DEED;
  background:#FFFFFF;padding:32px 29px 27px;
  border-radius:8px;
  box-shadow:0 12px 30px rgba(57,38,83,.055);
  display:flex;flex-direction:column;position:relative;
}
.review-quote-mark {font-family:Georgia,serif!important;color:#B18CC3;font-size:72px!important;line-height:.65;display:block;margin:10px 0 20px;}
.reader-review-card blockquote {
 font-family:'GFSArtemisiaRegular',Georgia,serif!important;
 color:#392653;font-size:clamp(18px,1.55vw,21px)!important;
 font-weight:400!important;line-height:1.55!important;margin:0 0 28px;
}
.reader-review-card figcaption {
 margin-top:auto;padding-top:16px;border-top:1px solid #EFE9F3;
 font-family:'GFSArtemisiaRegular',Georgia,serif!important;
 font-size:15px!important;font-weight:600!important;letter-spacing:.04em;color:#765F89;
}
.reviews-more {
 margin:34px auto 0;display:flex;gap:16px 24px;flex-wrap:wrap;
 align-items:center;justify-content:center;
 font-family:'GFSArtemisiaRegular',Georgia,serif!important;
 font-size:18px!important;color:#605269;
}
.reviews-more-link {
 font-family:'GFSArtemisiaRegular',Georgia,serif!important;
 font-size:18px!important;font-weight:600!important;
 color:#392653;text-decoration:underline;text-decoration-color:#B6A1C8;
 text-underline-offset:5px;
}
.reviews-more-link:hover { color:#775F91; }
/* Avoid an unbalanced blank right half in the final author-page CTA. */
.end-cta>.container {max-width:min(1140px,calc(100% - 60px));}
@media (min-width:1024px) {
  .end-cta h2.editorial-one-line { white-space:nowrap!important;max-width:100%!important;font-size:clamp(40px,4.4vw,62px)!important; }
  .page-hero-about h1.editorial-one-line {white-space:nowrap!important;}
}
@media(max-width:900px) {
  .reader-reviews-grid {grid-template-columns:1fr;max-width:660px;margin-inline:auto;gap:15px;}
  .reader-review-card {padding:28px;}
  .reader-reviews-header{margin-bottom:28px;}
}
@media(max-width:610px) {
  .reader-reviews {padding:65px 0;}
  .reader-reviews-header h2 {font-size:clamp(40px,10vw,56px)!important;}
  .reader-review-card blockquote {font-size:18px!important;}
  .reviews-more {flex-direction:column;gap:13px;}
  .end-cta>.container {max-width:calc(100% - 36px);}
}
/* Center the closing invitation to eliminate the previously empty right rail. */
.end-cta>.container { text-align:center; }
.end-cta .section-kicker { justify-content:center; }
.end-cta p {margin-left:auto!important;margin-right:auto!important;}
.end-cta .button {margin-inline:auto;}
/* No stray gold stroke adjacent to the hero heading. */
.hero-copy>.eyebrow .line {display:none!important;}
/* Book detail headings are major headlines, so use the actual bold face. */
body .detail-content h1, body .detail-content h1 span {
  font-family:'GFSArtemisiaBold',Georgia,serif!important;
  font-weight:400!important;
}

/* Susan Haught | About-page spacing and responsive balance
   Scoped to the About layout; no changes to other pages or content. */
@media (min-width: 901px) {
  /* Place the two shorter biography areas beside the portrait card,
     rather than letting the portrait produce a tall empty rail. */
  .bio-grid {
    display: grid !important;
    grid-template-columns: minmax(295px, .78fr) minmax(0, 1.22fr) !important;
    gap: 22px clamp(30px, 4.2vw, 64px) !important;
    align-items: start !important;
  }
  .bio-feature-grid { display: contents !important; }
  .bio-feature-identity {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    height: auto !important;
    align-self: stretch !important;
    min-width: 0;
  }
  .bio-feature-intro {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    padding-top: 6px !important;
    max-width: none !important;
    min-width: 0;
  }
  .bio-secondary-grid {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 0 !important;
    align-self: start !important;
    min-width: 0;
  }
  .bio-feature-identity .bio-identity {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 19px !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: clamp(22px, 2.4vw, 34px) !important;
  }
  .bio-identity .susan-author-photo {
    width: 100% !important;
    max-width: 385px !important;
    margin: 0 auto !important;
    flex: none !important;
  }
  .bio-identity .susan-author-photo img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }
  .bio-personal-details { margin-top: 4px !important; }
  .bio-feature-identity .bio-identity > small { margin-top: 8px !important; }
}
/* Preserve the full portrait without the HTML width/height hints stretching it. */
.bio-identity .susan-author-photo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1122 / 1402;
  object-fit: cover !important;
}
/* Shorten the long, half-empty banner and use its full width centrally. */
.page-hero-about {
  padding: clamp(46px, 5.1vw, 76px) 0 clamp(48px, 5.5vw, 78px) !important;
}
.page-hero-about > .container { text-align: center; }
.page-hero-about .eyebrow {
  justify-content: center !important;
  text-align: center;
}
.page-hero-about h1.editorial-one-line {
  margin: 12px auto 12px !important;
  max-width: 100% !important;
}
.page-hero-about p {
  margin: 0 auto !important;
  max-width: 760px !important;
}
/* More deliberate rhythm between portrait, copy and closing invitation. */
.page-hero-about + .section { padding: clamp(54px, 6vw, 84px) 0 !important; }
.bio-info-card { padding: clamp(25px, 2.5vw, 37px) !important; }
.bio-info-card h3 { margin-bottom: 13px !important; }
.bio-info-card p { margin-bottom: 12px !important; }
.bio-info-card p:last-child { margin-bottom: 0 !important; }
body:has(.page-hero-about) .end-cta { padding: clamp(55px, 7vw, 86px) 0 !important; }
@media (max-width: 900px) {
  .bio-grid { display: block !important; }
  .bio-feature-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 24px !important; }
  .bio-feature-identity { height: auto !important; }
  .bio-feature-identity .bio-identity {
    height: auto !important;
    min-height: 0 !important;
    gap: 18px !important;
    padding: 25px !important;
  }
  .bio-identity .susan-author-photo { width: min(100%, 340px) !important; margin: 0 auto !important; }
  .bio-feature-intro { align-self: start !important; max-width: none !important; }
  .bio-secondary-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; margin-top: 22px !important; }
}
@media (max-width: 610px) {
  .page-hero-about { padding: 45px 0 48px !important; }
  .page-hero-about h1.editorial-one-line { margin: 14px auto !important; }
  .page-hero-about + .section { padding: 50px 0 58px !important; }
  .bio-info-card { padding: 24px 22px !important; }
  .bio-feature-identity .bio-identity { padding: 23px !important; }
  body:has(.page-hero-about) .end-cta { padding: 58px 0 !important; }
}

/* Susan Haught | straighten the homepage book display without changing
   the lavender backdrop, palette, arch shape, cover sizes, or illustration. */
.hero .hero-arch { transform: rotate(0deg) !important; transform-origin: center bottom !important; }
.hero .hero-cover-back { transform: rotate(0deg) !important; transform-origin: center center !important; }



/* 2026-11-06: Restore an intentional cover pairing. The lavender arch,
   fireflies, story tagline and original covers stay exactly the same. */
.hero .hero-arch {transform: none !important;}
.hero .hero-cover-main,
.hero .hero-cover-back {
  top: 19% !important;
  transform: none !important;
  width: 44% !important;
  max-width: 292px !important;
  right: auto !important;
  z-index: 2 !important;
}
.hero .hero-cover-main {left: 4.5% !important;}
.hero .hero-cover-back {left: auto !important; right: 4.5% !important;}
.hero .hero-cover-main .cover-frame,
.hero .hero-cover-back .cover-frame {transform:none !important;}
@media (max-width:760px) {
  .hero .hero-cover-main, .hero .hero-cover-back {
    top: 15% !important;
    width: 44% !important;
    max-width: none !important;
  }
  .hero .hero-cover-main {left:4.5% !important;}
  .hero .hero-cover-back {right:4.5% !important;}
}

/* Books page: remove dead zones by using the full width of the page and
   bringing each book's art and details together as a single balanced card. */
.book-index {padding-top:clamp(48px,5.7vw,76px) !important;
             padding-bottom:clamp(62px,7vw,94px) !important;}
.book-index .section-heading.compact {
  display:flex !important;gap:clamp(20px,3vw,52px) !important;
  align-items:center !important;justify-content:space-between !important;
  margin-bottom:clamp(27px,3.1vw,42px) !important;
}
.book-index .section-heading.compact>p {
  max-width:480px !important;margin:0 !important;
  font-size:clamp(17px,1.6vw,20px) !important;
  line-height:1.5 !important;
}
.book-index .book-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.book-index .book-grid>.book-card {
  min-width:0 !important;background:#FBF9FD !important;
  border:1px solid #E9E0F0 !important;
}
.book-index .book-grid>.book-card:not(:first-child){
  display:grid !important;
  grid-template-columns:minmax(175px,0.84fr) minmax(0,1.16fr) !important;
  align-items:center !important;gap:clamp(18px,2vw,30px) !important;
  padding:22px !important;
}
.book-index .book-grid>.book-card:not(:first-child) .book-card-cover {
  width:100% !important;max-width:none !important;
  height:330px !important;padding:24px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  border-radius:4px !important;
}
.book-index .book-grid>.book-card:not(:first-child) .book-card-cover .cover-frame {
  width:auto !important;max-width:100% !important;
  height:100% !important;aspect-ratio:213/320 !important;
  flex:none !important;
}
.book-index .book-grid>.book-card:not(:first-child) .book-card-cover .cover-frame img {
  width:100% !important;height:100% !important;object-fit:contain !important;
}
.book-index .book-grid>.book-card:not(:first-child) .book-card-content {
  padding:0 !important;min-width:0 !important;max-width:none !important;
}
.book-index .book-grid>.book-card:not(:first-child) h3 {
  font-size:clamp(25px,2.3vw,34px) !important;
  line-height:1.16 !important;margin:10px 0 12px !important;
}
.book-index .book-grid>.book-card:not(:first-child) p {
  font-size:clamp(15px,1.25vw,18px) !important;
  line-height:1.55 !important;margin-bottom:13px !important;
}
.book-index .book-grid>.book-card:first-child {
  padding:clamp(24px,3vw,40px) !important;
  gap:clamp(28px,5vw,75px) !important;
}
.book-index .book-grid>.book-card:first-child .book-card-cover {
  height:415px !important;
  max-width:none !important;
  padding:26px !important;
}
.book-index .book-grid>.book-card:first-child .book-card-content {max-width:630px !important;}
/* Tighter transition from the series to the companion works and videos. */
body:has(.book-index) .extras {padding:clamp(65px,7vw,88px) 0 !important;}
body:has(.book-index) .extras h2 {margin-bottom:30px !important;}
body:has(.book-index) .video-section {padding-top:clamp(65px,7vw,88px) !important;}
@media(max-width:1180px) {
  .book-index .book-grid {grid-template-columns:1fr !important;gap:22px !important;}
  .book-index .book-grid>.book-card:first-child {grid-column:1 !important;}
  .book-index .book-grid>.book-card:not(:first-child) {
    grid-template-columns:minmax(200px,0.55fr) minmax(0,1.45fr) !important;
  }
}
@media(max-width:760px) {
  .book-index .section-heading.compact {display:block !important;}
  .book-index .section-heading.compact>p {margin-top:20px !important;}
  .book-index .book-grid {gap:25px !important;}
  .book-index .book-grid>.book-card:first-child,
  .book-index .book-grid>.book-card:not(:first-child){
    display:block !important;
    padding:18px !important;
  }
  .book-index .book-grid>.book-card:first-child .book-card-cover,
  .book-index .book-grid>.book-card:not(:first-child) .book-card-cover {
    height:355px !important;max-width:none !important;
    padding:26px !important;
  }
  .book-index .book-grid>.book-card .book-card-content {padding:22px 4px 2px !important;}
}
@media(max-width:410px){
  .book-index .book-grid>.book-card:first-child .book-card-cover,
  .book-index .book-grid>.book-card:not(:first-child) .book-card-cover {height:325px !important;}
}

/* HOMEPAGE — art-directed book overlap, restrained, gently angled, and centered.
   A Promise of Fireflies leads. The second book stays clearly identifiable.
   Preserve lavender arch, soft fireflies, and emotional quote. */
.hero .hero-cover-main,
.hero .hero-cover-back {
  transform-origin: 50% 50% !important;
  will-change: auto;
  filter: drop-shadow(0 17px 17px rgba(57,38,83,.20)) !important;
}
.hero .hero-cover-main {
  left: 14% !important; right: auto !important;
  top: 16% !important; width: 47% !important; max-width: 268px !important;
  z-index: 4 !important;
  transform: rotate(-4.5deg) !important;
  filter: drop-shadow(0 22px 20px rgba(57,38,83,.27)) !important;
}
.hero .hero-cover-back {
  left: 55% !important; right: auto !important;
  top: 20% !important; width: 44% !important; max-width: 245px !important;
  z-index: 3 !important;
  transform: rotate(5.5deg) !important;
}
.hero .hero-cover-main .cover-frame,
.hero .hero-cover-back .cover-frame {
  border: 2px solid rgba(255,255,255,.88) !important;
  border-radius: 3px !important;
}
@media (min-width:761px) and (max-width:1100px) {
  .hero .hero-cover-main {left:14% !important;top:16% !important;width:47% !important;max-width:none !important;transform:rotate(-4deg) !important;}
  .hero .hero-cover-back {left:54% !important;top:20% !important;width:45% !important;max-width:none !important;transform:rotate(5deg) !important;}
}
@media(max-width:760px) {
  .hero .hero-cover-main {left:13% !important;top:13% !important;width:47% !important;max-width:none !important;transform:rotate(-3.5deg) !important;}
  .hero .hero-cover-back {left:53% !important;top:17% !important;width:44% !important;max-width:none !important;transform:rotate(4deg) !important;}
}
@media(max-width:410px) {
  .hero .hero-cover-main {left:12% !important;top:13% !important;width:48% !important;}
  .hero .hero-cover-back {left:53% !important;top:17% !important;width:45% !important;}
}
