/* Receipt Book: a scoped replacement for the original receipt-only hero. */
.receipt-book-hero { grid-template-columns: .94fr 1.06fr; gap: 24px; padding-top: 40px; padding-bottom: 35px; }
.receipt-book-hero .hero-copy { position: relative; z-index: 2; }
.receipt-book-hero h1 { font-size: clamp(3rem, 4.85vw, 5.4rem); }
.receipt-book-hero .hero-lede { max-width: 470px; font-size: 1.13rem; }
.receipt-book-hero .cta-row { gap: 18px; flex-wrap: wrap; }
.receipt-book-hero .text-button { font-size: .9rem; }
.receipt-book-hero .hero-proof { flex-wrap: wrap; gap: 8px 16px; font-size: .8rem; }
.rb-premium-note { margin-top: 24px; font-size: .78rem; line-height: 1.75; color: var(--muted); }
.rb-premium-note > span { display: inline-block; color: var(--pink); border: 1px solid #e5b7c9; border-radius: 5px; padding: 1px 7px; margin-right: 6px; font-size: .66rem; letter-spacing: .06em; font-weight: 700; }
.receipt-book-hero .rb-stage { height: 720px; width: 100%; transform: none; margin: 0; position: relative; min-width: 0; isolation: isolate; }
.rb-stage::before { content: ''; position: absolute; width: 92%; height: 390px; left: 3%; top: 110px; border-radius: 50%; background: #f5c5d89e; filter: blur(35px); z-index: -1; }
.rb-hand-note { position: absolute; top: 15px; left: 6%; font: 1.7rem/1.04 'Caveat', cursive; color: var(--pink); transform: rotate(-7deg); }
.rb-hand-note::after { content: '⤵'; position: absolute; right: -39px; bottom: -18px; font-size: 2.3rem; transform: rotate(-12deg); }
.rb-one-file { position: absolute; right: 3%; top: 18px; color: var(--ink); font-size: .64rem; font-weight: 700; line-height: 1.7; transform: rotate(7deg); border: 1px solid #e6bb55; border-radius: 12px 17px 11px 17px; padding: 12px 16px; background: #ffe48b; box-shadow: 3px 4px 0 #f2c85f48; }
.rb-one-file strong { font: 1.2rem 'Caveat', cursive; }
.rb-source { position: absolute; top: 90px; left: 6%; width: 207px; border: 6px solid #42152e; padding: 10px; background: #fff7fa; border-radius: 28px; box-shadow: 8px 14px 0 #51172e15, 0 22px 50px #61153618; transform: rotate(-5deg); opacity: 0; visibility: hidden; }
.rb-phone-top { display: flex; justify-content: space-between; align-items: center; font-size: .66rem; padding: 2px 0 12px; }
.rb-phone-top > span:first-child { background: var(--ink); width: 27px; height: 5px; border-radius: 10px; }
.rb-phone-top > span:last-child { color: var(--pink); }
.rb-camera { position: relative; border-radius: 12px; overflow: hidden; border: 1px solid #dab8c5; }
.rb-camera img { display: block; width: 100%; height: auto; }
.rb-scan-beam { position: absolute; top: 0; width: 100%; height: 3px; background: #ed2c81; box-shadow: 0 0 14px #ed2c81; opacity: 0; }
.rb-camera-corner { position: absolute; inset: 8px; border: 1px solid #fff8; border-radius: 6px; }
.rb-phone-bottom { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 11px; font-size: .56rem; }
.rb-phone-bottom span { letter-spacing: .08em; color: var(--pink); }
.rb-phone-bottom b { font-weight: 500; }
.rb-review { position: absolute; top: 142px; right: 0; width: 55%; background: #fff; padding: 23px 20px 17px; border: 1px solid #e4abc2; border-radius: 18px; box-shadow: 0 18px 45px #50153019; opacity: 0; visibility: hidden; }
.rb-card-kicker { font-size: .58rem; letter-spacing: .08em; font-weight: 700; color: var(--pink); }
.rb-review h3 { margin: 8px 0 15px; font-size: 1.2rem; letter-spacing: -.03em; }
.rb-extracted-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: .8rem; padding: 11px 0; border-bottom: 1px solid #f4dde7; }
.rb-extracted-row span { display: flex; align-items: center; gap: 8px; }
.rb-extracted-row i { font-style: normal; background: #fff0f6; border-radius: 5px; padding: 3px; font-size: .58rem; color: var(--pink); }
.rb-review-total { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 15px 0; font-size: .68rem; }
.rb-review-total strong { font-size: 1.06rem; color: var(--pink); }
.rb-consent { font-size: .65rem; display: flex; align-items: center; gap: 6px; margin: 15px 0 9px; }
.rb-consent span { background: var(--pink); color: white; border-radius: 4px; padding: 1px 3px; }
.rb-export-button { background: var(--pink); color: white; border-radius: 9px; padding: 14px 10px; text-align: center; font-size: .8rem; font-weight: 700; }
.rb-export-button small { font-weight: 400; margin-left: 3px; }
.rb-review > p { font-size: .57rem; line-height: 1.5; margin: 10px 0 0; color: var(--muted); }
.rb-workbook { position: absolute; top: 106px; left: 1%; width: 98%; background: white; border: 1px solid #df9db6; border-radius: 13px; overflow: hidden; box-shadow: 0 27px 65px #69123824, 7px 9px 0 #eebdd138; }
.rb-workbook-bar { display: flex; align-items: center; gap: 9px; padding: 14px 17px; background: #8a0c3d; color: white; font-size: .74rem; }
.rb-workbook-bar > span:first-child { font-size: 1.1rem; }
.rb-workbook-bar strong { font-weight: 600; }
.rb-saved { margin-left: auto; font-size: .56rem; color: #ffc3dc; white-space: nowrap; }
.rb-workbook-ribbon { display: flex; align-items: center; gap: 18px; background: #ffedf4; color: #74435b; padding: 9px 17px; border-bottom: 1px solid #f1d0de; font-size: .53rem; }
.rb-workbook-ribbon > i { width: 18px; height: 10px; border-radius: 2px; background: #f080ab; margin-left: auto; }
.rb-workbook-ribbon b { font-size: .8rem; }
.rb-workbook-body { padding: 20px 21px 15px; min-height: 309px; }
.rb-panel[hidden] { display: none; }
.rb-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); padding-bottom: 11px; }
.rb-panel-heading > span { font-weight: 700; font-size: .71rem; letter-spacing: .05em; color: var(--pink); }
.rb-panel-heading small { font-size: .53rem; color: var(--muted); }
.rb-picture-layout { display: grid; grid-template-columns: .8fr 1fr; gap: 22px; align-items: center; margin-top: 18px; }
.rb-picture-layout figure { margin: 0; }
.rb-picture-image { display: block; height: 211px; width: 100%; object-fit: contain; border: 1px solid #f0d8e2; border-radius: 4px; background: #fff6f9; }
.rb-picture-layout figcaption { font-size: .55rem; text-align: center; margin-top: 8px; color: var(--muted); }
.rb-picture-info h3 { font-size: 1.2rem; line-height: 1.25; margin-top: 8px; letter-spacing: -.035em; }
.rb-picture-info dl { margin-top: 16px; }
.rb-picture-info dl > div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid #f3e0e8; padding: 8px 0; font-size: .64rem; }
.rb-picture-info dt { color: var(--muted); }
.rb-picture-info dd { margin: 0; font-weight: 700; text-align: right; }
.rb-picture-info dd small { font-size: .5rem; }
.rb-picture-info p { font-size: .65rem; color: var(--muted); line-height: 1.5; margin-top: 13px; }
.rb-attached { display: inline-block; background: #ffedf4; color: #9e174e; font-size: .6rem; border-radius: 6px; padding: 5px 7px; margin-top: 9px; }
.rb-panel-intro { font-size: 1.1rem; font-weight: 700; margin: 20px 0 17px; letter-spacing: -.025em; }
.rb-panel table { width: 100%; border-collapse: collapse; font-size: .73rem; }
.rb-panel th, .rb-panel td { padding: 11px 9px; text-align: left; border-bottom: 1px solid #ecd3de; }
.rb-panel thead { background: #b51455; color: white; }
.rb-panel tbody th { font-weight: 500; }
.rb-panel td:nth-child(2), .rb-panel thead th:nth-child(2) { text-align: right; }
.rb-panel tfoot { background: #fff0f6; font-weight: 700; }
.rb-panel-footnote { font-size: .6rem; line-height: 1.55; color: var(--muted); margin-top: 15px; }
.rb-dashboard-stats { display: grid; grid-template-columns: .85fr .65fr 1fr; gap: 9px; margin: 21px 0; }
.rb-dashboard-stats > div { background: #fff0f6; border: 1px solid #f0c6d8; border-radius: 7px; padding: 11px 10px; }
.rb-dashboard-stats span { display: block; font-size: .55rem; color: var(--muted); }
.rb-dashboard-stats strong { display: block; font-size: 1.5rem; line-height: 1.4; color: var(--pink); }
#rb-panel-dashboard h3 { font-size: .97rem; letter-spacing: -.02em; }
.rb-spending-bars { display: grid; gap: 15px; margin-top: 18px; }
.rb-spending-bars > div { display: grid; grid-template-columns: 68px 1fr 42px; gap: 9px; align-items: center; font-size: .64rem; }
.rb-spending-bars i { display: block; width: var(--amount); background: #da3b7b; height: 9px; border-radius: 3px; min-width: 4px; }
.rb-spending-bars b { text-align: right; }
.rb-tabs { display: flex; background: #fff2f7; padding: 0 12px; border-top: 1px solid #efcddb; }
.rb-tabs button { background: transparent; border: 0; border-right: 1px solid #efd3df; border-bottom: 3px solid transparent; color: #855269; padding: 11px 13px 9px; font: 600 .64rem var(--font); white-space: nowrap; }
.rb-tabs button[aria-selected="true"] { background: white; color: var(--pink); border-bottom-color: var(--pink); }
.rb-workbook-status { display: flex; justify-content: space-between; background: #fbe3ed; color: #80405b; font-size: .48rem; padding: 6px 16px; }
.rb-stage:not([data-phase="4"]) .rb-workbook { opacity: 0; visibility: hidden; pointer-events: none; }
.rb-stage:not([data-phase="4"]) .rb-source { opacity: 1; visibility: visible; }
.rb-stage[data-phase="2"] .rb-review, .rb-stage[data-phase="3"] .rb-review { opacity: 1; visibility: visible; }
.rb-stage[data-phase="1"] .rb-source { left: 30%; }
.rb-transfer-photo { position: absolute; opacity: 0; visibility: hidden; object-fit: contain; z-index: 5; pointer-events: none; border-radius: 4px; }
.rb-cursor { position: absolute; width: 32px; height: 38px; opacity: 0; visibility: hidden; z-index: 6; pointer-events: none; }
.rb-piggy { width: 96px; height: 96px; position: absolute; right: -10px; bottom: 71px; z-index: 3; transform: rotate(7deg); pointer-events: none; }
.rb-piggy img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 8px 8px #972e551f); }
.rb-eye { position: absolute; width: 6.5%; height: 9%; top: 43%; background: #41112d; border-radius: 50%; transform-origin: center; animation: rb-blink 5.3s infinite; }
.rb-eye.left { left: 31%; }.rb-eye.right { left: 62.5%; }
@keyframes rb-blink { 0%, 42%, 48%, 100% { transform: scaleY(1); } 44%, 46% { transform: scaleY(.12); } }
.rb-controls { position: absolute; bottom: 0; left: 0; width: 100%; padding-top: 15px; }
.rb-steps { display: flex; justify-content: center; gap: 5px; }
.rb-steps button { display: flex; align-items: center; gap: 5px; background: #fff5f9; color: #78475f; border: 1px solid #e7bdce; border-radius: 40px; padding: 8px 11px; font: 600 .64rem var(--font); }
.rb-steps button > span { display: grid; place-items: center; height: 17px; width: 17px; border-radius: 50%; background: #efd3df; font-size: .57rem; }
.rb-steps button[aria-pressed="true"] { background: var(--pink); color: white; border-color: var(--pink); }
.rb-steps button[aria-pressed="true"] > span { color: white; background: #fff3; }
.rb-playback { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 15px; color: var(--muted); font-size: .65rem; }
.rb-playback > div { display: flex; gap: 12px; }
.rb-playback button { background: none; border: 0; border-bottom: 1px solid #c18ca4; padding: 4px 0; font: 500 .62rem var(--font); color: var(--ink); }
.rb-playback button:disabled { color: var(--muted); border-color: transparent; cursor: default; }
.rb-stage.is-paused .rb-eye, .rb-stage.is-static .rb-eye { animation-play-state: paused; }
.rb-stage button:focus-visible { outline: 3px solid #661b41; outline-offset: 3px; }
.rb-sr-only { position: absolute; height: 1px; width: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.receipt-book-hero .demo-disclaimer { position: static; margin: 0 auto; font-size: .68rem; line-height: 1.6; max-width: 1000px; }
@media (min-width: 1450px) { .rb-workbook-body { min-height: 335px; }.rb-picture-image { height: 230px; }.rb-picture-info h3 { font-size: 1.4rem; }.rb-panel-heading > span { font-size: .8rem; } }
@media (max-width: 1100px) and (min-width: 801px) {
  .receipt-book-hero { padding-left: 4vw; padding-right: 4vw; gap: 18px; }
  .receipt-book-hero h1 { font-size: 3rem; }
  .rb-source { width: 178px; left: 0; top: 126px; }
  .rb-review { width: 57%; padding: 17px 14px; }
  .rb-review h3 { font-size: 1.03rem; }.rb-extracted-row { font-size: .7rem; }
  .rb-workbook-body { padding: 17px 15px; }.rb-picture-layout { gap: 13px; }
  .rb-workbook-bar { padding: 14px 13px; font-size: .63rem; }.rb-workbook-ribbon { gap: 13px; }
  .rb-picture-info h3 { font-size: 1rem; }.rb-picture-info dl > div { font-size: .56rem; }
  .rb-picture-image { height: 216px; }.rb-hand-note { left: 0; font-size: 1.5rem; }
  .rb-one-file { right: 0; }.rb-steps button { padding: 8px; }.rb-playback { font-size: .58rem; }
}
@media (max-width: 800px) {
  .receipt-book-hero { display: block; padding: 38px 5vw 28px; }
  .receipt-book-hero .hero-copy { max-width: 570px; margin: auto; text-align: center; }
  .receipt-book-hero h1 { font-size: clamp(2.8rem, 7.5vw, 4.3rem); }
  .receipt-book-hero .hero-lede { margin-left: auto; margin-right: auto; font-size: 1.08rem; }
  .receipt-book-hero .hero-proof { justify-content: center; }.rb-premium-note { margin-top: 18px; }
  .receipt-book-hero .rb-stage { height: 720px; max-width: 600px; margin: 35px auto 0; }
  .receipt-book-hero .demo-disclaimer { text-align: center; margin: 22px auto 0; }
}
@media (max-width: 480px) {
  .receipt-book-hero .rb-stage { height: 750px; }
  .receipt-book-hero .cta-row { gap: 8px; margin-top: 23px; }
  .receipt-book-hero .hero-proof { margin-top: 20px; }
  .site-footer > div { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .insights-card { min-width: 0; max-width: 100%; }
  .rb-hand-note { left: 2%; font-size: 1.4rem; }.rb-one-file { right: 0; font-size: .55rem; padding: 10px 11px; }.rb-one-file strong { font-size: 1rem; }
  .rb-source { width: 162px; left: 0; top: 111px; padding: 8px; border-width: 4px; }.rb-stage[data-phase="1"] .rb-source { left: 26%; }
  .rb-review { top: 128px; width: 56%; padding: 18px 12px 13px; border-radius: 12px; }
  .rb-card-kicker { font-size: .51rem; }.rb-review h3 { font-size: .96rem; }.rb-extracted-row { padding: 10px 0; font-size: .66rem; }.rb-extracted-row span { gap: 5px; }
  .rb-review-total { font-size: .58rem; }.rb-review-total strong { font-size: .92rem; }.rb-consent { font-size: .56rem; }.rb-export-button { font-size: .66rem; padding: 12px 6px; }
  .rb-review > p { font-size: .53rem; }.rb-workbook { top: 99px; width: 100%; left: 0; }
  .rb-workbook-bar { padding: 13px 11px; font-size: .61rem; gap: 6px; }.rb-saved { font-size: .48rem; }
  .rb-workbook-ribbon { padding: 9px 11px; gap: 13px; }.rb-workbook-ribbon span:nth-child(4) { display: none; }
  .rb-workbook-body { padding: 17px 12px 15px; min-height: 321px; }
  .rb-panel-heading > span { font-size: .61rem; }.rb-panel-heading small { font-size: .48rem; }
  .rb-picture-layout { grid-template-columns: .83fr 1fr; gap: 13px; margin-top: 24px; }.rb-picture-image { height: 225px; }
  .rb-picture-info h3 { font-size: .98rem; }.rb-picture-info dl > div { font-size: .54rem; padding: 9px 0; flex-wrap: wrap; gap: 3px; }
  .rb-picture-info p { font-size: .58rem; }.rb-attached { font-size: .53rem; }.rb-picture-layout figcaption { font-size: .5rem; }
  .rb-panel-intro { font-size: 1rem; }.rb-panel table { font-size: .65rem; }.rb-panel th, .rb-panel td { padding: 11px 6px; }
  .rb-tabs { padding: 0 5px; }.rb-tabs button { font-size: .59rem; padding: 12px 10px 10px; }
  .rb-dashboard-stats { gap: 6px; }.rb-dashboard-stats > div { padding: 12px 7px; }.rb-dashboard-stats strong { font-size: 1.15rem; }.rb-dashboard-stats span { font-size: .5rem; }
  .rb-piggy { width: 78px; height: 78px; right: -7px; bottom: 78px; }
  .rb-steps { gap: 4px; }.rb-steps button { padding: 9px 8px; font-size: .59rem; }.rb-playback { flex-wrap: wrap; justify-content: center; margin-top: 10px; font-size: .59rem; row-gap: 4px; }.rb-playback > span { width: 100%; text-align: center; }
  .rb-playback button { font-size: .6rem; padding: 7px 0; }
}
@media (max-width: 350px) {
  .receipt-book-hero h1 { font-size: 2.6rem; }.receipt-book-hero .hero-lede { font-size: .98rem; }
  .rb-source { width: 139px; }.rb-review { width: 58%; padding: 15px 10px; }.rb-review h3 { font-size: .85rem; }.rb-extracted-row { font-size: .59rem; }.rb-extracted-row i { display: none; }
  .rb-workbook-bar { font-size: .57rem; }.rb-saved { display: none; }.rb-picture-layout { gap: 9px; }.rb-picture-info h3 { font-size: .9rem; }.rb-picture-info .rb-card-kicker { font-size: .47rem; }
  .rb-tabs button { font-size: .55rem; padding: 12px 8px; }.rb-steps button { padding: 9px 6px; font-size: .55rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-eye { animation: none; }.rb-transfer-photo, .rb-cursor, .rb-scan-beam { display: none; }
}
