/* Ready for Preschool: an illustrated handbook and its companion printables. */
.rfp-page { color: #2E2E2E; background: #FBFAF8; font: 400 1rem/1.7 'DM Sans', sans-serif; }
.rfp-page * { box-sizing: border-box; }
.rfp-page h1, .rfp-page h2, .rfp-page h3 { font-family: 'Playfair Display', serif; line-height: 1.15; margin: 0 0 1.1rem; color: #294E46; }
.rfp-page h1 { font-size: clamp(3.3rem, 5.6vw, 5.5rem); letter-spacing: -.035em; max-width: 9ch; }
.rfp-page h2 { font-size: clamp(2rem, 3.1vw, 3rem); letter-spacing: -.025em; }
.rfp-page h3 { font-size: clamp(1.55rem, 2.2vw, 2.1rem); }
.rfp-page p { margin: 0 0 1.25rem; }
.rfp-page a { color: #305D53; text-underline-offset: .22em; }
.rfp-page a:focus-visible, .rfp-page summary:focus-visible { outline: 3px solid #305D53; outline-offset: 5px; }
.rfp-wrap { max-width: 1180px; margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 3rem); }
.rfp-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.rfp-hero { padding-top: clamp(2.5rem, 5vw, 5rem); background: #EFF5F2; }
.rfp-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.rfp-byline { max-width: 32ch; font-size: .95rem; color: #436158; }
.rfp-page .rfp-lead { font-size: clamp(1.22rem, 1.7vw, 1.55rem); line-height: 1.5; }
.rfp-hero-copy > p:not(.rfp-byline) { max-width: 48ch; }
.rfp-page .rfp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .9rem 1.3rem; border: 1px solid transparent; border-radius: 5px; background: #C49826; color: #1F2926; font-weight: 700; line-height: 1.45; text-decoration: none; text-align: center; }
.rfp-page .rfp-button:hover { background: #D9B04C; }
.rfp-page .rfp-button-outline { background: transparent; color: #305D53; border-color: #3D6B62; }
.rfp-page .rfp-button-outline:hover { background: #EFF5F2; }
.rfp-page .rfp-checkout-note { font-size: .82rem; margin: .6rem 0 1.1rem; color: #52625B; }
.rfp-text-link { font-weight: 600; }
.rfp-books { min-width: 0; padding-top: 1rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); align-items: start; }
.rfp-books figure { margin: 0; min-width: 0; }
.rfp-book { display: block; width: 100%; height: auto; border: 1px solid #DADCD2; box-shadow: 5px 9px 20px rgb(34 68 56 / 10%); }
.rfp-books figcaption { margin-top: 1rem; color: #3D6B62; }
.rfp-books figcaption strong { display: block; font-size: .8rem; letter-spacing: .04em; }
.rfp-books figcaption span { display: block; margin-top: .25rem; font-size: clamp(1rem, 1.4vw, 1.2rem); }
.rfp-book-caption { grid-column: 1 / -1; text-align: center; padding-top: .5rem; color: #436158; font-size: 1rem; }
.rfp-format-strip { display: flex; flex-wrap: wrap; justify-content: center; column-gap: clamp(1.5rem, 5vw, 4rem); row-gap: .5rem; margin-top: clamp(2.5rem, 5vw, 4rem); padding-block: 1.2rem; border-top: 1px solid #C7D5CD; font-size: .88rem; color: #436158; }
.rfp-section-intro { max-width: 650px; margin-bottom: 2.25rem; }
.rfp-previews { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.3vw, 2rem); }
.rfp-previews figure { margin: 0; min-width: 0; }
.rfp-previews img { display: block; width: 100%; border: 1px solid #DBDFD8; box-shadow: 0 5px 12px rgb(34 68 56 / 7%); }
.rfp-previews figcaption { font-size: .9rem; line-height: 1.55; margin-top: 1rem; }
.rfp-previews strong, .rfp-previews span { display: block; }
.rfp-previews span { font-size: .76rem; margin-top: .55rem; color: #5C685F; }
.rfp-page .rfp-small { font-size: .88rem; line-height: 1.65; color: #52625B; }
.rfp-previews + .rfp-small { margin-top: 1.5rem; }
.rfp-options { background: #F0F2EC; }
.rfp-bundle { display: grid; grid-template-columns: 1.7fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(1.5rem, 4vw, 3rem); background: #fff; border: 2px solid #3D6B62; border-radius: 8px; }
.rfp-page .rfp-badge { display: inline-block; color: #305D53; background: #E8F0EA; padding: .2rem .75rem; border-radius: 20px; font-size: .8rem; font-weight: 700; }
.rfp-bundle ul { padding-left: 1.2rem; margin-bottom: 1.25rem; }
.rfp-bundle li { padding-left: .3rem; margin-bottom: .5rem; }
.rfp-bundle-buy { align-self: center; border-left: 1px solid #D7DFD7; padding-left: clamp(1.5rem, 3vw, 3rem); }
.rfp-page .rfp-price { font-size: clamp(2.6rem, 4vw, 3.5rem); font-weight: 500; line-height: 1.1; margin-bottom: 1rem; color: #294E46; }
.rfp-price span { font-size: .8rem; font-weight: 400; }
.rfp-page .rfp-price-small { font-size: 1.9rem; }
.rfp-standalones { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 4rem); margin-top: 3rem; }
.rfp-standalones article { display: grid; grid-template-columns: 100px 1fr; gap: 1.3rem; align-items: start; }
.rfp-standalones img { width: 100%; border: 1px solid #D7DFD7; }
.rfp-standalones h3 { font-size: 1.65rem; }
.rfp-preview-link { display: block; margin-top: .9rem; font-size: .82rem; }
.rfp-page .rfp-payment-line { margin: 2rem 0 0; }
.rfp-free-grid { display: grid; grid-template-columns: .9fr 1.2fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.rfp-sample-page { width: min(100%, 345px); justify-self: center; box-shadow: 6px 8px 25px rgb(34 68 56 / 12%); transform: rotate(-3deg); }
.rfp-author { background: #EFF5F2; }
.rfp-author-grid { display: grid; grid-template-columns: 230px 1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.rfp-author-grid > img { width: 100%; height: 290px; object-fit: cover; border-radius: 115px 115px 8px 8px; }
.rfp-author-grid h2 { font-size: clamp(1.8rem, 2.6vw, 2.5rem); }
.rfp-author-grid .rfp-small { margin-top: 1.4rem; margin-bottom: 0; }
.rfp-faq-wrap { max-width: 880px; }
.rfp-page details { border-bottom: 1px solid #D7DFD7; padding-block: 1.25rem; }
.rfp-page summary { cursor: pointer; font-weight: 600; color: #294E46; padding-right: .5rem; }
.rfp-page details p { margin: 1rem 0 0; }
.rfp-closing { background: #E4EDE7; text-align: center; }
.rfp-closing h2 { max-width: 18ch; margin-inline: auto; }
.rfp-page .rfp-local-link { margin: 2rem 0 0; font-size: .85rem; }
@media (max-width: 850px) {
  .rfp-hero-grid { grid-template-columns: 1fr; }
  .rfp-hero-copy { max-width: 620px; }
  .rfp-books { max-width: 440px; width: 88%; justify-self: center; }
  .rfp-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rfp-standalones article { grid-template-columns: 1fr; }
  .rfp-standalones img { width: 90px; }
  .rfp-author-grid { grid-template-columns: 175px 1fr; gap: 2rem; }
  .rfp-author-grid > img { height: 230px; }
}
@media (max-width: 600px) {
  .rfp-bundle, .rfp-standalones, .rfp-free-grid, .rfp-author-grid { grid-template-columns: 1fr; }
  .rfp-bundle-buy { border-left: 0; border-top: 1px solid #D7DFD7; padding: 1.5rem 0 0; }
  .rfp-standalones article { grid-template-columns: 72px 1fr; gap: 1rem; }
  .rfp-standalones img { width: 72px; }
  .rfp-standalones h3 { font-size: 1.5rem; }
  .rfp-standalones .rfp-button { padding-inline: .8rem; font-size: .88rem; }
  .rfp-free-grid > img { width: 65%; }
  .rfp-author-grid > img { width: 165px; height: 215px; }
  .rfp-page h1 { font-size: clamp(3.3rem, 14vw, 4.6rem); }
  .rfp-hero-copy > .rfp-button { width: 100%; }
  .rfp-books { grid-template-columns: 1fr; gap: 2rem; width: 100%; }
  .rfp-books figure { width: min(100%, 324px); justify-self: center; }
  .rfp-book-caption { max-width: 28ch; justify-self: center; }
  .rfp-format-strip { justify-content: flex-start; }
}
