/* Paper Bloom styles are scoped to this section; adjacent homepage sections retain their existing styles. */
@font-face{font-family:BloomJakarta;src:url('/static/fonts/plus-jakarta-sans-latin-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:BloomTight;src:url('/static/fonts/inter-tight-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'BloomSerif';src:url('/static/paper-bloom/instrument-serif-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
.paper-bloom{color-scheme:dark;--ground:#090716;--ink:#f4f0ff;--muted:#d2c8e1;--lavender:#c7b8fa;--rule:#544361;font-family:BloomJakarta,sans-serif;background:var(--ground);color:var(--ink)}
.paper-bloom *{box-sizing:border-box}
.paper-bloom ::selection{background:#cab9fa;color:#10091c}
.paper-bloom a{color:var(--lavender);text-underline-offset:5px;text-decoration-thickness:1px}
.paper-bloom a:focus-visible,.paper-bloom .tool:focus-visible,.paper-bloom.lite-explorer [role="tab"]:focus{outline:2px solid var(--lavender);outline-offset:6px;border-radius:2px}
.paper-bloom{position:relative;width:100%;margin:0}
.paper-bloom .bloom-scene{position:relative;isolation:isolate;display:flex;flex-direction:column}
.paper-bloom .section-heading{position:absolute;top:36px;left:24px;right:24px;text-align:center;z-index:2}
.paper-bloom .bloom-title{margin:0;font-family:BloomTight,BloomJakarta,sans-serif;font-weight:650;font-size:clamp(42px,5.3vw,76px);line-height:1.08;letter-spacing:-.025em}
.paper-bloom .bloom-title em{font-family:'BloomSerif',Georgia,serif;font-weight:400;color:var(--lavender);letter-spacing:-.02em}
.paper-bloom .word-mask{display:inline-block;vertical-align:bottom;padding:.12em .05em .19em;margin:-.12em -.05em -.19em;overflow:visible}
.paper-bloom .word{display:inline-block}
.paper-bloom .artwork{position:relative;width:100%;height:clamp(290px,52vw,480px);margin:0;pointer-events:none;overflow:clip;order:0}
.paper-bloom .artwork-surface{position:relative;width:100%;height:100%;transform-origin:50% 48%}
.paper-bloom .artwork img,.paper-bloom .artwork video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.paper-bloom .artwork::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--ground),transparent 25%,transparent 70%,rgba(9,7,22,.65))}
.paper-bloom .artwork video{visibility:hidden}
.paper-bloom .artwork .motion-poster{display:none}
.paper-bloom.motion-ready.poster-ready .artwork .motion-poster,.paper-bloom.compact-motion.poster-ready .artwork .motion-poster{display:block}
.paper-bloom.video-ready .artwork video{visibility:visible}
.paper-bloom.video-ready .artwork img{visibility:hidden}
.paper-bloom .tool-nav{order:1;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;padding:12px 24px 20px;z-index:3}
.paper-bloom .tool-tabs{display:contents}
.paper-bloom .tool-nav a{display:inline-flex;align-items:center;position:relative;min-height:44px;padding:10px 2px;font-size:14px;font-weight:550;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}
.paper-bloom .tool-nav a:hover{color:white}
.paper-bloom .tool-nav a[aria-current]{color:var(--ink);border-bottom-color:var(--lavender)}
.paper-bloom .tools{order:2;width:100%;max-width:1000px;margin:auto;padding:36px 48px 16px}
.paper-bloom .tool{position:relative;max-width:650px;margin:0 auto 60px;scroll-margin-top:80px}
.paper-bloom .tool[hidden]{display:none!important}
.paper-bloom .bloom-tool-title{font-family:BloomTight,BloomJakarta,sans-serif;font-size:clamp(38px,4.6vw,66px);font-weight:550;line-height:1.08;letter-spacing:-.025em;margin:0 0 18px}
.paper-bloom .benefit{font-size:19px;line-height:1.55;color:var(--ink);margin:0;max-width:40ch}
.paper-bloom .example{padding-top:18px;margin-top:26px;border-top:1px solid var(--rule)}
.paper-bloom .example h4{font-size:13px;line-height:1.5;font-weight:600;color:var(--lavender);margin:0 0 9px}
.paper-bloom .example p{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:44ch}
.paper-bloom .sample-answer{display:block;margin-top:9px}
.paper-bloom .example .sample-label{color:var(--ink);font-weight:600}
.paper-bloom .quiz-sample{display:grid;grid-template-columns:1fr 1.12fr;gap:20px;align-items:center}
.paper-bloom .sample-graph{display:block;width:100%;height:auto;overflow:visible}
.paper-bloom .graph-guide{fill:none;stroke:#695876;stroke-width:.6}
.paper-bloom .graph-axis{fill:none;stroke:#b5a5c7;stroke-width:1.2}
.paper-bloom .graph-curve{fill:none;stroke:var(--lavender);stroke-width:2.2;stroke-linecap:round}
.paper-bloom .graph-crossing{fill:var(--ink)}
.paper-bloom .graph-label{font-family:BloomJakarta,sans-serif;font-size:12px;fill:var(--muted)}
.paper-bloom .example .sample-question{color:var(--ink);font-size:16px;line-height:1.5}
.paper-bloom .example .quiz-answer{font-size:14px;line-height:1.5;margin-top:10px}
.paper-bloom .quiz-answer strong{color:var(--lavender);font-weight:600}
.paper-bloom .tool-action{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:22px;padding:10px 0;font-size:14px;font-weight:650;text-decoration:none}
.paper-bloom .tool-action:hover{color:#fff;text-decoration:underline}
.paper-bloom a svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.paper-bloom.motion-ready{height:calc(100svh + var(--story-travel,2100px))}
.paper-bloom.motion-ready .bloom-scene{display:block;position:sticky;top:0;height:100svh;overflow:clip}
.paper-bloom.motion-ready .section-heading{top:88px;left:6%;right:6%}
.paper-bloom.motion-ready .artwork{position:absolute;inset:0;width:100%;height:100%}
.paper-bloom.motion-ready .artwork-surface{transform:scale(var(--art-scale,1))}
.paper-bloom.motion-ready .artwork::after{background:linear-gradient(90deg,rgba(9,7,22,.88),rgba(9,7,22,.88) 28%,rgba(9,7,22,.60) 43%,transparent 66%),linear-gradient(0deg,rgba(9,7,22,.82),transparent 24%,transparent 82%,rgba(9,7,22,.35))}
.paper-bloom.motion-ready .tools{position:absolute;top:clamp(178px,28svh,252px);left:6%;width:min(40vw,470px);height:calc(75svh - 118px);max-width:none;margin:0;padding:0;z-index:2}
.paper-bloom.motion-ready .tool{position:absolute;inset:0;max-width:none;margin:0;opacity:var(--tool-alpha,1);transform:translateY(var(--tool-y,0px))}
.paper-bloom.motion-ready .tool-nav{position:absolute;bottom:25px;left:6%;right:6%;padding:10px 0;margin:0;gap:28px;flex-wrap:nowrap}
.paper-bloom.motion-ready .word-mask{overflow:clip}
.paper-bloom.motion-ready .word{transform:translateY(var(--word-y,0%));opacity:var(--word-alpha,1)}
.paper-bloom.motion-ready .tool:focus-within{opacity:1!important}
.paper-bloom.compact-motion .word{transform:translateY(var(--word-y,0px));opacity:var(--word-alpha,1)}

/* Lite mode is a still, browsable composition rather than five stacked chapters.
   These styles activate only after its native links have been enhanced to tabs. */
.paper-bloom.lite-explorer .bloom-scene {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  grid-template-areas:"heading heading" "nav nav" "tools art";
  gap:32px 48px;
  max-width:1440px;
  margin:auto;
  padding:64px max(32px, 5%) 72px;
}
.paper-bloom.lite-explorer .section-heading {
  grid-area:heading;
  position:relative;
  inset:auto;
}
.paper-bloom.lite-explorer .tool-nav {
  grid-area:nav;
  display:block;
  padding:0;
  border-bottom:1px solid #30273f;
}
.paper-bloom.lite-explorer .tool-tabs {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 30px;
}
.paper-bloom.lite-explorer .tool-nav a {
  min-height:52px;
  padding:12px 4px;
  font-size:16px;
  font-weight:600;
  color:#b5abc8;
}
.paper-bloom.lite-explorer .tool-nav a[aria-selected="true"] {
  color:var(--ink);
  border-bottom-color:var(--lavender);
}
.paper-bloom.lite-explorer .artwork {
  grid-area:art;
  align-self:center;
  height:100%;
  min-height:440px;
  max-height:540px;
}
.paper-bloom.lite-explorer .artwork img {
  object-position:54% 50%;
}
.paper-bloom.lite-explorer .artwork::after {
  background:linear-gradient(90deg,var(--ground),transparent 16%,transparent 88%,var(--ground)),linear-gradient(0deg,var(--ground),transparent 18%,transparent 85%,var(--ground));
}
.paper-bloom.lite-explorer .tools {
  grid-area:tools;
  align-self:center;
  max-width:none;
  min-height:440px;
  margin:0;
  padding:12px 0 0;
}
.paper-bloom.lite-explorer .tool {
  max-width:none;
  margin:0;
}
.paper-bloom.lite-explorer .bloom-tool-title {
  font-size:clamp(36px, 3.8vw, 54px);
  margin-bottom:20px;
}
.paper-bloom.lite-explorer .benefit {
  font-size:18px;
  line-height:1.65;
}
.paper-bloom.lite-explorer .example {
  padding-top:22px;
  margin-top:26px;
}
.paper-bloom.lite-explorer .example h4 {
  font-size:14px;
  margin-bottom:14px;
}
.paper-bloom.lite-explorer .tool-action {
  min-height:48px;
  margin-top:28px;
  padding:12px 18px;
  border:1px solid #786493;
  border-radius:6px;
  color:var(--ink);
  font-size:15px;
}
.paper-bloom.lite-explorer .tool-action:hover {
  background:#211a33;
  border-color:var(--lavender);
  text-decoration:none;
}
@media(max-width:900px) {
  .paper-bloom.lite-explorer .bloom-scene {
    grid-template-columns:minmax(0, 1fr);
    grid-template-areas:"heading" "art" "nav" "tools";
    gap:24px;
    padding:44px 24px 48px;
  }
  .paper-bloom.lite-explorer .artwork {
    height:clamp(210px, 52vw, 390px);
    min-height:0;
  }
  .paper-bloom.lite-explorer .tool-tabs {gap:0 20px}
  .paper-bloom.lite-explorer .tool-nav a {font-size:14px;min-height:48px}
  .paper-bloom.lite-explorer .tools {max-width:600px;min-height:460px;margin:auto;padding:4px 0 0}
  .paper-bloom.lite-explorer .benefit {font-size:17px}
  .paper-bloom.lite-explorer .bloom-tool-title {font-size:36px}
}
@media(max-width:1100px){.paper-bloom.motion-ready .tools{width:43vw}
.paper-bloom.motion-ready .benefit{font-size:18px}
.paper-bloom.motion-ready .example{margin-top:20px}
.paper-bloom.motion-ready .example p{font-size:15px}}
@media(max-width:600px){.paper-bloom .section-heading{top:28px;left:20px;right:20px}
.paper-bloom .tools{padding:30px 24px 0}
.paper-bloom .tool{margin-bottom:48px}
.paper-bloom .benefit{font-size:17px}
.paper-bloom .example{margin-top:22px}
.paper-bloom .example p{font-size:15px}
.paper-bloom .tool-nav{gap:4px 18px;padding:8px 24px}
.paper-bloom .tool-nav a{font-size:13px}}
@media(max-width:600px){.paper-bloom .quiz-sample{grid-template-columns:1fr;gap:18px}
.paper-bloom .sample-graph{max-width:280px}
.paper-bloom .example .sample-question{font-size:16px}}
@media(min-width:901px) and (max-height:740px){.paper-bloom.motion-ready .quiz-example{margin-top:16px;padding-top:14px}
.paper-bloom.motion-ready #bloom-quizzes .tool-action{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.paper-bloom .word,.paper-bloom .tool,.paper-bloom .artwork-surface{transform:none!important;opacity:1!important}
.paper-bloom .word-mask{overflow:visible!important}
.paper-bloom .artwork video{display:none}
.paper-bloom.video-ready .artwork img{visibility:visible}}
.paper-bloom{isolation:isolate;scroll-margin-top:64px}
.paper-bloom .bloom-title,.paper-bloom .bloom-tool-title,.paper-bloom .example h4{word-spacing:normal;text-wrap:wrap}
.paper-bloom .example h4{font-family:inherit;letter-spacing:normal}
@media(min-width:901px) and (max-height:740px){.paper-bloom.motion-ready .example{margin-top:16px;padding-top:14px}.paper-bloom.motion-ready .tool-action{margin-top:12px}}

/* The same continuous story on phones, with a reading area over the paper. */
@media(max-width:900px){
 .paper-bloom.motion-ready .section-heading{top:78px;left:20px;right:20px}
 .paper-bloom.motion-ready .bloom-title{font-size:clamp(34px,9vw,44px)}
 .paper-bloom.motion-ready .artwork img,.paper-bloom.motion-ready .artwork video{object-position:55% 42%}
 .paper-bloom.motion-ready .artwork::after{background:linear-gradient(0deg,rgba(9,7,22,.96),rgba(9,7,22,.88) 28%,rgba(9,7,22,.73) 65%,rgba(9,7,22,.2) 88%,rgba(9,7,22,.4))}
 .paper-bloom.motion-ready .tools{top:clamp(164px,26svh,250px);left:6%;right:6%;bottom:calc(220px + env(safe-area-inset-bottom));width:auto;height:auto;max-width:490px}
 .paper-bloom.motion-ready .bloom-tool-title{font-size:clamp(32px,8.6vw,42px);margin-bottom:12px}
 .paper-bloom.motion-ready .benefit{font-size:16px;line-height:1.5}
 .paper-bloom.motion-ready .example{margin-top:16px;padding-top:12px}
 .paper-bloom.motion-ready .example h4{font-size:12px;margin-bottom:8px}
 .paper-bloom.motion-ready .example p{font-size:14px;line-height:1.5}
 .paper-bloom.motion-ready .quiz-sample{grid-template-columns:.85fr 1.15fr;gap:16px}
 .paper-bloom.motion-ready .sample-graph{max-width:none}
 .paper-bloom.motion-ready .example .sample-question{font-size:15px}
 .paper-bloom.motion-ready .example .quiz-answer{font-size:13px;margin-top:8px}
 .paper-bloom.motion-ready .tool-action{margin-top:14px}
 .paper-bloom.motion-ready .tool-nav{bottom:calc(82px + env(safe-area-inset-bottom));left:5%;right:5%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 12px;padding:8px 0}
 .paper-bloom.motion-ready .tool-nav a{grid-column:span 2;justify-content:center;min-width:0;min-height:44px;padding:8px 0;font-size:12px;line-height:1.4;text-align:center}
 .paper-bloom.motion-ready .tool-nav a:nth-child(4){grid-column:2 / span 2}
 .paper-bloom.motion-ready .tool-nav a:nth-child(5){grid-column:4 / span 2}
 .paper-bloom.motion-ready .tool-nav a:nth-child(4):last-child{grid-column:3 / span 2}
}
