.receipts-page { min-height:100vh; background:radial-gradient(circle at 14% 7%, rgba(201,224,222,.7), transparent 26rem), var(--ivory); }
.receipts-header { position:sticky; z-index:20; top:.7rem; display:flex; align-items:center; justify-content:space-between; width:min(1380px, calc(100% - 2rem)); min-height:68px; margin:0 auto; padding:.6rem .8rem; border:1px solid rgba(255,255,255,.82); border-bottom-color:rgba(21,20,18,.14); border-radius:999px; background:rgba(255,255,255,.72); box-shadow:0 12px 35px rgba(47,36,24,.08), inset 0 1px 0 #fff; }
.receipts-back { padding:.8rem 1rem; border-radius:999px; color:var(--ink); font-size:.82rem; font-weight:600; text-decoration:none; transition:box-shadow .25s ease, transform .25s ease; }
.receipts-back:hover { transform:translateY(-2px); box-shadow:0 0 30px rgba(198,168,126,.58); }
.receipts-hero { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:clamp(2rem,8vw,9rem); width:min(1380px, calc(100% - 2rem)); margin:0 auto; padding:clamp(6rem,10vw,10rem) clamp(1rem,4vw,4rem) clamp(4rem,7vw,7rem); }
.receipts-hero h1 { margin:0; font-size:clamp(5rem,11vw,10.8rem); line-height:.82; letter-spacing:-.075em; }
.receipts-hero h1 em { color:var(--champagne); font-weight:400; }
.receipts-hero-copy { max-width:540px; padding-bottom:1rem; }
.receipt-count { display:inline-flex; padding:.7rem 1rem; border:1px solid rgba(21,20,18,.12); border-radius:999px; background:rgba(255,255,255,.6); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.receipts-hero-copy p { color:#5a5047; font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.55; }
.receipts-browser { width:min(1480px, calc(100% - 2rem)); margin:0 auto; padding:clamp(3rem,6vw,6rem); border-radius:clamp(3rem,7vw,7rem); background:var(--ink); color:var(--ivory); overflow:hidden; }
.receipts-browser-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.receipts-browser-heading h2 { max-width:740px; margin:0; font-size:clamp(2.8rem,5.5vw,6rem); }
.receipts-browser .eyebrow { color:var(--sand); }
.receipt-filters { display:flex; justify-content:flex-end; gap:.55rem; max-width:620px; flex-wrap:wrap; }
.receipt-filter { padding:.72rem 1rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.06); color:var(--ivory); font:600 .76rem/1 var(--sans); cursor:pointer; transition:background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease; }
.receipt-filter:hover, .receipt-filter:focus-visible, .receipt-filter.active { outline:none; background:var(--champagne); color:var(--ink); box-shadow:0 0 28px rgba(198,168,126,.6); transform:translateY(-2px); }
.receipt-grid { columns:4 270px; column-gap:1.1rem; }
.receipt-card { position:relative; width:100%; margin:0 0 1.1rem; padding:0; border:1px solid rgba(255,255,255,.13); border-radius:2rem; background:#f2eee8; color:var(--ink); text-align:left; overflow:hidden; cursor:pointer; break-inside:avoid; box-shadow:0 18px 44px rgba(0,0,0,.18); transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease; }
.receipt-card:hover, .receipt-card:focus-visible { outline:none; z-index:2; transform:translateY(-8px) rotate(.35deg); border-color:rgba(220,190,145,.9); box-shadow:0 0 0 1px rgba(198,168,126,.5), 0 0 34px rgba(198,168,126,.48), 0 30px 70px rgba(0,0,0,.32); }
.receipt-card img { display:block; width:100%; height:auto; }
.receipt-card-overlay { position:absolute; inset:auto .7rem .7rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border:1px solid rgba(255,255,255,.72); border-radius:1.35rem; background:rgba(249,246,240,.9); box-shadow:0 12px 34px rgba(31,24,18,.2); opacity:0; transform:translateY(12px); transition:opacity .28s ease, transform .28s ease; }
.receipt-card:hover .receipt-card-overlay, .receipt-card:focus-visible .receipt-card-overlay { opacity:1; transform:none; }
.receipt-card-overlay span, .receipt-card-overlay strong { display:block; }
.receipt-card-overlay span { color:#786b5e; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; }
.receipt-card-overlay strong { margin-top:.18rem; font-size:.82rem; }
.receipt-card-overlay b { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; border-radius:50%; background:var(--ink); color:white; font-size:1rem; }
.receipts-browser .results-note { color:#bdb1a4; }
.receipts-cta { display:grid; place-items:center; min-height:660px; width:min(1380px, calc(100% - 2rem)); margin:2rem auto; padding:4rem 1rem; border-radius:clamp(3rem,7vw,7rem); background:linear-gradient(145deg,#d8e6e5,#eee0cf); text-align:center; }
.receipts-cta h2 { margin:.2rem 0 2rem; font-size:clamp(3.2rem,7vw,7.5rem); }
.receipt-dialog { width:min(1040px, calc(100% - 1rem)); max-height:94vh; padding:0; border:1px solid rgba(255,255,255,.75); border-radius:2.4rem; background:rgba(244,239,232,.98); color:var(--ink); box-shadow:0 35px 110px rgba(0,0,0,.42); overflow:hidden; }
.receipt-dialog::backdrop { background:rgba(13,12,11,.82); }
.receipt-dialog-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid rgba(21,20,18,.1); }
.receipt-dialog-bar span, .receipt-dialog-bar strong { display:block; }
.receipt-dialog-bar span { color:#786b5e; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.receipt-dialog-bar strong { margin-top:.15rem; font-family:var(--serif); }
.receipt-dialog-close, .receipt-dialog-arrow { display:grid; place-items:center; border:0; border-radius:50%; background:var(--ink); color:white; cursor:pointer; transition:box-shadow .25s ease, transform .25s ease; }
.receipt-dialog-close { width:44px; height:44px; font-size:1.55rem; }
.receipt-dialog-arrow { position:sticky; z-index:2; top:50%; width:50px; height:50px; flex:0 0 auto; font-size:1.2rem; }
.receipt-dialog-close:hover, .receipt-dialog-arrow:hover { transform:scale(1.05); box-shadow:0 0 30px rgba(198,168,126,.75); }
.receipt-dialog-stage { display:flex; align-items:center; justify-content:center; gap:.8rem; max-height:76vh; padding:1rem; overflow:auto; }
.receipt-dialog-stage img { display:block; max-width:calc(100% - 7rem); max-height:72vh; border-radius:1.5rem; box-shadow:0 18px 55px rgba(0,0,0,.2); }
.receipt-dialog-position { margin:0; padding:0 1rem 1rem; color:#766a60; font-size:.75rem; text-align:center; }
@media (max-width:900px) {
  .receipts-hero { grid-template-columns:1fr; align-items:start; }
  .receipts-browser-heading { align-items:flex-start; flex-direction:column; }
  .receipt-filters { justify-content:flex-start; }
  .receipt-grid { columns:3 230px; }
}
@media (max-width:620px) {
  .receipts-header { top:.45rem; }.receipts-header .brand-logo{display:none}.receipts-back{font-size:.72rem}
  .receipts-hero { padding-top:5rem; }.receipts-hero h1{font-size:clamp(4.3rem,23vw,7rem)}
  .receipts-browser { width:calc(100% - .7rem); padding:3rem .8rem; border-radius:2.7rem; }
  .receipt-grid { columns:2 145px; column-gap:.65rem; }.receipt-card{margin-bottom:.65rem;border-radius:1.25rem}.receipt-card-overlay{display:none}
  .receipt-dialog { border-radius:1.7rem; }.receipt-dialog-stage{gap:.35rem;padding:.6rem}.receipt-dialog-stage img{max-width:calc(100% - 5rem);border-radius:1rem}.receipt-dialog-arrow{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce) {
  .receipt-card, .receipt-card-overlay, .receipt-filter, .receipts-back { transition:none; }
}
