/* Love Does No Harm: scoped additions to the Eagle's Wings brand system. */
.book-page{background:var(--cream)}
.book-hero{padding:56px 0 64px}
.book-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.book-cover-stage{margin:0;background:color-mix(in srgb,var(--sage) 28%,var(--cream));border-radius:12px;padding:24px 12px 30px;text-align:center}
.book-cover{width:100%;max-width:420px;height:auto;margin:0 auto}
.book-cover-stage figcaption{font-family:var(--cond);font-size:14px;text-transform:uppercase;letter-spacing:.16em;color:var(--taupe)}
.book-intro h1{font-size:clamp(40px,5.5vw,64px);letter-spacing:-.025em;margin:16px 0}
.book-subtitle{font-family:var(--serif);font-size:23px}
.book-byline{font-size:16px;color:var(--taupe);margin-top:8px}
.book-intro .lead{margin-top:22px;max-width:42ch;font-size:20px}
.book-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.book-text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:underline;font-size:16px}
.book-small{font-size:14px;line-height:1.6;color:var(--muted);margin-top:18px;max-width:66ch}
.book-page h2{font-size:clamp(28px,3.2vw,36px)}
.book-two-column{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.book-two-column h2{margin-top:12px;max-width:23ch}
.book-two-column p:not(.eyebrow){margin-top:18px;max-width:52ch}
.book-story{border-top:1px solid var(--line)}
.book-plan{background:color-mix(in srgb,var(--sage) 28%,var(--cream))}
.book-plan h2{margin-top:12px}
.book-plan-intro{margin-top:16px}
.book-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:36px 0 28px;padding-left:24px}
.book-steps li{padding-left:6px}
.book-steps li::marker{font-family:var(--cond);font-size:18px;color:var(--taupe)}
.book-steps h3{font-size:25px}
.book-steps p{margin-top:12px;max-width:27ch}
.book-contact-panel{background:var(--cream-2);padding:30px;border:1px solid var(--line);border-radius:12px}
.book-field{display:flex;flex-direction:column;gap:8px}
.book-field label{font-family:var(--cond);font-size:15px;letter-spacing:.05em;text-transform:uppercase}
.book-field input{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--taupe);border-radius:8px;color:var(--ink);background:var(--surface);font:inherit;font-size:16px}
.book-consent{display:flex;align-items:flex-start;gap:12px;margin:16px 0;min-height:44px;font-size:15px;line-height:1.5;padding:8px 0}
.book-consent input{width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:var(--sage-deep)}
.book-contact-panel .field-error{margin-top:0}
.book-faq{max-width:880px}
.book-faq h2{margin:12px 0 28px}
.book-faq details{border-top:1px solid var(--line);padding:4px 0}
.book-faq details:last-child{border-bottom:1px solid var(--line)}
.book-faq summary{cursor:pointer;padding:18px 0;font-size:18px;font-weight:600;min-height:48px}
.book-faq details p{padding:0 0 20px;max-width:67ch}
.book-closing{text-align:center}
.book-closing h2{margin:14px 0 18px}
.book-closing .btn{margin-top:28px}
.book-promo{display:grid;grid-template-columns:210px 1fr;gap:36px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:28px;background:var(--cream-2)}
.book-promo img{width:210px;height:auto}
.book-promo h2{font-size:clamp(28px,3.2vw,36px);margin:10px 0 14px}
.book-promo p:not(.eyebrow){max-width:56ch}
.book-promo .btn{margin-top:20px}
@media(max-width:760px){.book-hero{padding:28px 0 44px}.book-hero-grid,.book-two-column{grid-template-columns:1fr;gap:32px}.book-cover-stage{max-width:420px;width:100%;margin:auto;padding:4px 12px 18px}.book-cover{max-width:300px}.book-steps{grid-template-columns:1fr;gap:28px}.book-contact-panel{padding:24px}.book-page .section{padding:48px 0}.book-promo{grid-template-columns:140px 1fr;gap:20px;padding:22px}.book-promo img{width:140px}}
@media(max-width:480px){.book-intro h1{font-size:44px}.book-cover-stage{max-width:310px}.book-cover{max-width:240px}.book-intro .lead{font-size:18px}.book-actions{gap:12px}.book-actions .btn{width:100%;justify-content:center}.book-contact-panel{padding:22px 18px}.book-promo{grid-template-columns:1fr}.book-promo img{width:180px;margin:auto}}

/* Give the book purchase the primary emphasis in the hero. */
.book-landing .site-top .nav .btn-coral{background:transparent;border-color:var(--taupe);color:var(--ink);box-shadow:none}
.book-landing .site-top .nav .btn-coral:hover{background:var(--cream-2)}
.book-hero .book-actions{align-items:flex-start;flex-direction:column;gap:12px;margin-top:30px}
.book-hero .book-actions>.book-text-link{font-size:15px;min-height:44px}
.book-hero #book-purchase-note{margin-top:8px;max-width:42ch}
@media(max-width:760px){.book-hero .book-intro{order:-1}.book-hero .book-actions{margin-top:24px}.book-hero-grid{gap:36px}}
@media(max-width:480px){.book-hero{padding-top:22px}.book-intro h1{margin:12px 0;font-size:42px}.book-intro .lead{margin-top:16px}.book-hero .book-cover-stage{max-width:340px}.book-cover{max-width:280px}}

/* Soft brand-colored light gives the frosted book surfaces depth. */
.book-hero {
  background: radial-gradient(ellipse at 12% 35%, rgba(141, 158, 148, .45), transparent 48%), radial-gradient(ellipse at 85% 5%, rgba(234, 147, 104, .2), transparent 48%), var(--cream);
}
.book-page .section:has(.book-contact) {
  background: radial-gradient(ellipse at 88% 50%, rgba(141, 158, 148, .28), transparent 55%), var(--cream);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .book-promo.glass-panel {
    background: linear-gradient(120deg, rgba(255, 255, 255, .65), rgba(234, 147, 104, .16));
  }
}
@media (prefers-reduced-transparency: reduce), (forced-colors: active) {
  .book-promo.glass-panel { background: var(--cream-2); }
}

/* Book artwork purchase CTA: live text stays crisp over the original cover crop. */
.book-buy-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: min(100%, 440px);
  min-height: 128px;
  padding: 24px;
  border: 1px solid #E5BE83;
  border-radius: 16px;
  background: #30224B;
  color: #FFF8E9;
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  box-shadow: 0 5px 0 #271B40, 0 14px 30px rgba(59, 34, 65, .22), inset 0 1px 0 rgba(255, 239, 202, .45);
  transition: transform .18s ease, box-shadow .18s ease;
}

.book-buy-cta::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0 0 0 auto;
  width: min(100%, 303px);
  background: url('/assets/books/love-does-no-harm-button-source.png') 35% center / auto 100% no-repeat;
}

.book-buy-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #30224B 0%, rgba(48, 34, 75, .98) 34%, rgba(58, 34, 72, .85) 53%, rgba(83, 41, 77, .38) 73%, rgba(83, 41, 77, .05) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 241, 202, .5), inset 0 0 0 1px rgba(255, 222, 180, .12);
  border-radius: inherit;
}

.book-actions .book-buy-cta {
  justify-content: space-between;
}

.book-buy-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  text-align: left;
}

.book-buy-label {
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: 0 1px 8px rgba(28, 17, 45, .4);
}

.book-buy-caption {
  font-family: var(--cond);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #F6DBB0;
}

.book-buy-arrow {
  display: grid;
  place-items: center;
  flex: none;
  width: 42px;
  height: 42px;
  border: 1px solid #E5BE83;
  border-radius: 50%;
  background: #30224B;
  color: #FFF0CF;
  font-size: 26px;
  line-height: 1;
}

.book-buy-cta:hover {
  background: #30224B;
  color: #FFF8E9;
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 7px 0 #271B40, 0 18px 36px rgba(59, 34, 65, .28), 0 0 0 2px rgba(229, 190, 131, .35);
}

.book-buy-cta:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #271B40, 0 7px 18px rgba(59, 34, 65, .2);
}

.book-buy-cta:focus-visible {
  outline: 3px solid #30224B;
  outline-offset: 6px;
  border-radius: 16px;
}

@media (max-width: 480px) {
  .book-buy-cta { width: 100%; min-height: 124px; padding: 20px; gap: 12px; font-size: 22px; }
  .book-buy-cta::before { width: min(100%, 293px); }
  .book-buy-caption { font-size: 12px; letter-spacing: .1em; }
  .book-buy-arrow { width: 36px; height: 36px; font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .book-buy-cta:hover, .book-buy-cta:active { transform: none; }
}

@media (forced-colors: active) {
  .book-buy-cta { border: 2px solid ButtonText; background: ButtonFace; color: ButtonText; box-shadow: none; }
  .book-buy-cta::before, .book-buy-cta::after { display: none; }
  .book-buy-caption, .book-buy-arrow { color: ButtonText; }
}
