/* Rev33: story and development update, using the approved editorial palette. */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
.fairy-page [hidden] { display: none !important; }
.r33-skip { position: absolute; top: -100px; left: 12px; z-index: 1000; padding: 12px 18px; background: #fff; color: #68496f; }
.r33-skip:focus { top: 12px; }
.r33-anchor { display: block; position: relative; top: -20px; }
.r33-nav { display: flex; gap: 28px; align-items: center; margin-left: auto; color: #68496f; font-size: 15px; }
.r33-nav a { text-decoration: none; }
.r33-nav a:hover, .r33-story-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.fairy-page .fairy-rev17-header .fairy-header-buy { margin-left: 28px; min-width: 145px; }
.fairy-page .fairy-rev17-header .header-wordmark { width: 174px; }
.fairy-page .r33-hero { padding: 70px 0 68px; background: #fffdf9; }
.fairy-page .r33-hero .fairy-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr); gap: 72px; align-items: center; }
.fairy-page .r33-hero #fairy-title { font-size: clamp(44px, 4.6vw, 65px); line-height: 1.13; max-width: 730px; margin: 15px 0 20px; font-weight: 400; }
.fairy-page .r33-hero .fairy-kicker { font-size: 11px; }
.fairy-page .r33-hero .fairy-title-row { margin: 20px 0 15px; }
.fairy-page .r33-hero .fairy-status { background: #f0eaf1; border-color: #d9cddd; color: #68496f; font-size: 12px; letter-spacing: .035em; font-weight: 600; padding: 6px 11px; }
.fairy-page .r33-hero .fairy-byline { margin-top: 0; font-size: 15px; }
.fairy-page .r33-hero .fairy-hero-lede { font-size: 20px; line-height: 1.65; max-width: 600px; margin-top: 25px; }
.r33-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 27px; }
.fairy-page .r33-primary { min-height: 48px; padding: 12px 23px; border-radius: 4px; background: #68496f; color: #fff; font-weight: 600; font-size: 15px; box-shadow: none; }
.r33-story-link { color: #68496f; font-size: 15px; text-decoration: none; padding: 10px 0; }
.r33-story-link span { margin-left: 8px; }
.fairy-page .r33-development-note { max-width: 500px; margin: 23px 0 0; padding-top: 18px; border-top: 1px solid #e1d9de; color: #6f6870; font-size: 14px; line-height: 1.6; }
.r33-excerpt { padding: 44px 0 40px 40px; border-left: 1px solid #d9cddd; }
.r33-excerpt blockquote, .r33-origin blockquote { margin: 0; padding: 0; border: 0; background: transparent; }
.r33-excerpt blockquote p { margin: 27px 0 30px; font: 400 clamp(27px, 2.7vw, 38px)/1.6 "Lora", Georgia, serif; letter-spacing: -.025em; color: #68496f; }
.r33-excerpt blockquote em { font-size: 1.45em; line-height: 1.2; }
.r33-excerpt-credit { color: #6f6870; font-size: 13px; line-height: 1.8; }
.r33-excerpt-credit cite { font-style: normal; }
.r33-story { padding: 68px 0; background: #fff; }
.r33-story-grid, .r33-origin-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 65px; }
.fairy-page .r33-story h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.2; max-width: 470px; }
.r33-story .fairy-prose p { margin: 0 0 18px; font-size: 18px; line-height: 1.75; }
.r33-origin-grid { margin-top: 38px; padding-top: 42px; border-top: 1px solid #e3dce3; }
.fairy-page .r33-origin-grid h3 { font-size: 26px; line-height: 1.35; }
.r33-origin { margin: 0; }
.r33-origin blockquote p { margin: 0; color: #615a61; font: 400 17px/1.8 "Lora", Georgia, serif; }
.r33-origin figcaption { margin-top: 18px; font-size: 14px; color: #68496f; }
.fairy-page .fairy-rev17-audience .fairy-audience-grid { grid-template-columns: 1fr; gap: 24px; }
.fairy-page .fairy-rev17-audience h2 { max-width: 850px; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.25; }
.fairy-page .fairy-audience-copy > p:not(.fairy-kicker) { max-width: 820px; }
.fairy-page .fairy-rev17-audience .fairy-audience-list div { min-height: 0; }
.fairy-page .fairy-author-grid { display: block; max-width: 1120px; }
.fairy-page .fairy-creators-heading { margin-bottom: 26px; }
.fairy-page .fairy-creators-heading h2 { font-size: clamp(30px, 3.5vw, 44px); }
.fairy-page .fairy-creators-grid { display: block; }
.fairy-page .fairy-creator-lindsey { display: grid; grid-template-columns: 180px 1fr; gap: 34px; align-items: center; max-width: 950px; }
.fairy-page .fairy-creator-lindsey > img { width: 180px; height: auto; max-height: 240px; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 25%; }
.fairy-page .fairy-creator-lindsey .fairy-author-bio p { font-size: 17px; }
.fairy-page .fairy-rev17-updates { padding-bottom: 64px; }
.fairy-page .fairy-rev17-updates .fairy-updates-shell { gap: 45px; }
.fairy-page .fairy-updates-copy h2 { font-size: clamp(30px, 3.5vw, 44px); line-height: 1.2; }
.fairy-page .fairy-updates-copy .fairy-registration-note { font-size: 14px; line-height: 1.65; }
.fairy-page a:focus-visible, .fairy-page button:focus-visible, .fairy-page input:focus-visible, .fairy-page summary:focus-visible { outline: 3px solid #91669a; outline-offset: 4px; }
@media (max-width: 900px) {
  .fairy-page .r33-hero .fairy-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .r33-excerpt { padding: 23px 0 4px 28px; }
  .r33-excerpt blockquote p { margin-top: 16px; font-size: 30px; }
  .r33-story-grid, .r33-origin-grid { grid-template-columns: 1fr; gap: 22px; }
  .fairy-page .fairy-rev17-updates .fairy-updates-shell { grid-template-columns: 1fr; gap: 26px; }
  .fairy-page .fairy-rev17-audience .fairy-audience-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .r33-nav { display: none; }
  .fairy-page .fairy-rev17-header .header-wordmark { width: 150px; }
  .fairy-page .fairy-rev17-header .fairy-header-buy { min-width: 118px; margin-left: auto; padding: 10px 14px; }
  .fairy-page .r33-hero { padding: 35px 0 42px; }
  .fairy-page .r33-hero #fairy-title { font-size: clamp(37px, 10vw, 49px); }
  .fairy-page .r33-hero .fairy-hero-lede { font-size: 18px; }
  .r33-actions { gap: 14px; }
  .r33-story { padding: 43px 0; }
  .r33-origin-grid { margin-top: 25px; padding-top: 32px; }
  .r33-origin blockquote p { font-size: 16px; }
  .fairy-page .fairy-rev17-audience .fairy-audience-list { grid-template-columns: 1fr; }
  .fairy-page .fairy-creator-lindsey { grid-template-columns: 1fr; gap: 24px; }
  .fairy-page .fairy-creator-lindsey > img { width: 180px; }
  .fairy-page .fairy-creator-lindsey .fairy-author-links { align-items: flex-start; }
  .fairy-page .fairy-rev17-updates .fairy-updates-shell { padding: 28px 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
