/* ==========================================================================
   Civic: store builder landing page template
   by Zamn Studios. See README.md for customising.

   1. Fonts           6. Story: scene 2 (store builds itself)
   2. Theme tokens    7. Story: scene 3 (the banknote)
   3. Base            8. Sections below the story
   4. Top bar + nav   9. Footer
   5. Story: scene 1  10. Responsive + reduced motion
   ========================================================================== */

/* 1. Fonts ---------------------------------------------------------------- */
@font-face{font-family:Apfel;src:url(../fonts/apfel-regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Apfel;src:url(../fonts/apfel-mittel.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Apfel;src:url(../fonts/apfel-satt.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:ApfelBrukt;src:url(../fonts/apfel-brukt.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Martian Mono';src:url(../fonts/martian-mono.woff2) format('woff2');font-weight:100 800;font-stretch:75% 112.5%;font-display:swap}
@font-face{font-family:'Mrs Saint Delafield';src:url(../fonts/mrs-saint-delafield-400.woff2) format('woff2');font-weight:400;font-display:swap}

@property --in{syntax:'<number>';inherits:false;initial-value:0}
@property --hv{syntax:'<number>';inherits:false;initial-value:0}

/* 2. Theme tokens -----------------------------------------------------------
   Change these to rebrand. Set data-theme="warm" on <html> for the orange theme. */
:root{
  --accent:#1D33F0;      /* field, flag, buttons */
  --accent-ink:#12229A;  /* banknote ink, deep accents */
  --accent-rgb:29,51,240;
  --ink:#0A1033;         /* text, dark surfaces */
  --text-2:#3A4166;      /* body copy */
  --mute:#5D6488;        /* secondary text */
  --mute-2:#8B91B2;      /* placeholders */
  --ui-2:#4A5180;        /* quiet buttons */
  --paper:#F4F5F8;       /* page background */
  --paper-rgb:244,245,248;
  --card:#FFFFFF;
  --note:#FBFCFF;        /* banknote paper */
  --line:#DADFEC;
  --line-2:#EDEFF5;
  --tint:#F1F3FA;
  --logo:#2A3156;
  --stamp-ink:#20243F;
  --postmark:#262B4E;
  --shadow-rgb:10,16,51;
  --dark-rgb:5,8,28;
  --ink-2:#08544F;       /* second seller ink */
  --ink-3:#3F2AA8;       /* third seller ink */
  --eo:cubic-bezier(.16,1,.3,1);
  --eio:cubic-bezier(.65,0,.35,1);
  --side:40px;
}
[data-theme="warm"]{
  --accent:#CC4A16; --accent-ink:#6E1F0E; --accent-rgb:204,74,22;
  --ink:#1A1411; --text-2:#4A403A; --mute:#6E645D; --mute-2:#A0958D; --ui-2:#5A4F48;
  --paper:#FBFBFA; --paper-rgb:251,251,250; --note:#FFFDF8;
  --line:#E7E1DA; --line-2:#EFEAE5; --tint:#F5F0EB; --logo:#2E2723; --stamp-ink:#241D19; --postmark:#2A211C;
  --shadow-rgb:26,20,17; --dark-rgb:20,12,8; --ink-2:#1F4D3A; --ink-3:#6E1F0E;
}

/* 3. Base ------------------------------------------------------------------ */
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{font-family:Apfel,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
a{color:inherit}
button{font:inherit;color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;font:500 14px/1 Apfel;text-decoration:none;transition:top .2s var(--eo)}
.skip:focus{top:16px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;border-radius:8px;font:500 16px/1 Apfel;letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;
  transition:transform .2s var(--eo),background-color .35s var(--eo),color .35s var(--eo)}
.btn svg{transition:transform .5s var(--eo)}
@media (hover:hover){.btn:hover svg{transform:translateX(3px)}}
.btn:active{transform:scale(.97)}
.btn--accent{background:var(--accent);color:#fff}
.btn--ink{background:var(--ink);color:#fff}
.btn--paper{background:#fff;color:var(--accent)}
@media (hover:hover){.btn--accent:hover,.btn--ink:hover{background:var(--accent-ink)}}
.link{font:500 16px/1 Apfel;text-underline-offset:4px;text-decoration-thickness:1px}

/* flag mark: drawn by civic.js into any svg.flag */
.flag .c{fill:var(--accent);transition:fill .4s var(--eo)}
.flag .o{stroke:var(--accent);fill:var(--paper);transition:fill .4s var(--eo),stroke .4s var(--eo)}
/* lockup: one unit (--u) drives flag size, gap and word offset so they stay aligned */
.lk{display:flex;align-items:flex-start;gap:calc(var(--u) * 18.8);text-decoration:none}
.lk>svg.flag{width:calc(var(--u) * 88);height:auto;flex:none}
.lk>.wm{height:calc(var(--u) * 84.4);width:auto;margin-top:calc(var(--u) * 4.3);fill:currentColor;flex:none;overflow:visible}

/* 4. Top bar + nav ---------------------------------------------------------- */
.topbar{position:sticky;top:0;z-index:30;background:var(--ink);color:rgba(255,255,255,.78);font:400 13px/1.4 Apfel;padding:9px var(--side);display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.topbar a{color:#fff;text-underline-offset:3px;white-space:nowrap}
.topbar__links{display:flex;gap:24px;align-items:center}
.topbar .short{display:none}

.nav{position:fixed;left:0;right:0;top:var(--strip,36px);z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px var(--side);opacity:0;transform:translateY(-10px);
  transition:opacity 1s var(--eo) .15s,transform 1s var(--eo) .15s,color .4s var(--eo),background-color .4s var(--eo),box-shadow .4s var(--eo),padding .4s var(--eo)}
.ready .nav{opacity:1;transform:none}
.lockup{--u:.3864px}
.nav__links{display:flex;align-items:center;gap:32px;font:500 15px/1 Apfel;letter-spacing:-.01em}
.nav__links a{text-decoration:none;opacity:.78;transition:opacity .25s var(--eo)}
.nav__links a.btn{opacity:1;background:var(--accent);color:#fff;transition:background-color .35s var(--eo),color .35s var(--eo),transform .2s var(--eo)}
@media (hover:hover){.nav__links a:hover{opacity:1}}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;place-items:center;margin-right:-10px}
.menu-btn span{display:block;width:20px;height:2px;background:currentColor;border-radius:1px;transition:transform .35s var(--eo),opacity .2s}
.menu-btn span+span{margin-top:5px}
.menu-open .menu-btn span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .menu-btn span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
/* nav colour states, toggled by civic.js as the story scrolls */
.on-blue .nav,.on-photo .nav{color:#fff}
.on-blue .nav .nav__links a.btn,.on-photo .nav .nav__links a.btn{background:#fff;color:var(--accent)}
.on-blue .nav .flag .c,.on-photo .nav .flag .c{fill:#fff}
.on-blue .nav .flag .o{stroke:#fff;fill:var(--accent)}
.on-photo .nav .flag .o{stroke:#fff;fill:transparent}
.past .nav{color:var(--ink);background:rgba(var(--paper-rgb),.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);padding-top:14px;padding-bottom:14px}
.past .nav .nav__links a.btn{background:var(--accent);color:#fff}
.past .nav .flag .c{fill:var(--accent)}
.past .nav .flag .o{stroke:var(--accent);fill:var(--paper)}

/* 5. Story: a pinned stage, laid out on a 1440 × 900 canvas ------------------ */
.story{position:relative;height:780vh}
.stage{position:sticky;top:var(--strip,36px);height:calc(100vh - var(--strip,36px));height:calc(100svh - var(--strip,36px));overflow:hidden}
.bg-blue{position:absolute;inset:0;background:var(--accent);clip-path:inset(calc(100% - var(--w,0) * 1%) 0 0 0)}
.bg-blue::before{content:"";position:absolute;inset:0;background:url(../img/tex-packing.webp) 70% 50%/cover;mix-blend-mode:soft-light;opacity:.32;
  transform:scale(calc(1.06 - var(--w,0) * .0006));-webkit-mask:linear-gradient(90deg,transparent 22%,#000 64%);mask:linear-gradient(90deg,transparent 22%,#000 64%)}
.bg-blue::after{content:"";position:absolute;inset:0;background:url(../img/thermal.webp) center/640px auto;mix-blend-mode:multiply;opacity:.3}
.canvas{position:absolute;left:50%;top:50%;width:1440px;height:900px;transform:translate(-50%,-50%) scale(var(--k,1));transform-origin:50% 50%}
@supports (zoom:1){.canvas{zoom:var(--k,1);transform:translate(-50%,-50%)}}

.meet{position:absolute;z-index:3;left:var(--ml,0px);top:var(--mt,0px);width:var(--mw,100%);height:var(--mh,100%);border-radius:var(--rad,0px);overflow:hidden;visibility:hidden;transform:translateY(calc(var(--q,0) * -100%))}
.meet img{width:100%;height:100%;object-fit:cover;object-position:47% 36%;transform:scale(var(--z,1.08));transform-origin:47% 36%}
.meet::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--dark-rgb),.66),rgba(var(--dark-rgb),0) 58%)}
.meet__copy{position:absolute;z-index:1;left:max(40px,8.3vw);bottom:max(56px,10vh);color:#fff;max-width:min(880px,84vw);opacity:var(--mc,0);transform:translateY(calc((1 - var(--mc,0)) * 28px))}
.meet__copy small{display:block;font:500 16px/1 Apfel;letter-spacing:-.01em;opacity:.8;margin-bottom:20px}
.meet__copy p{font:500 clamp(40px,5.6vw,86px)/.95 Apfel;letter-spacing:-.048em;text-wrap:balance}
.meet__copy p span{opacity:.62}

.s1{position:absolute;inset:0}
.s1__copy{position:absolute;left:120px;top:232px;width:680px}
h1{font:500 120px/.9 Apfel;letter-spacing:-.052em;margin:0 0 30px -.05em}
h1 .ln{display:block;overflow:hidden;padding:0 .06em .16em;margin-bottom:-.16em}
h1 .ln>span{display:inline-block;transform:translateY(110%);transition:transform 1.3s var(--eo)}
h1 .ln+.ln>span{transition-delay:.09s}
.ready h1 .ln>span{transform:none}
.perf{font-family:ApfelBrukt;font-weight:400;letter-spacing:-.04em}
h1 .perf{color:var(--accent)}
.rise{opacity:0;transform:translateY(18px);transition:opacity 1.1s var(--eo) var(--d,0s),transform 1.2s var(--eo) var(--d,0s)}
.ready .rise{opacity:1;transform:none}
.lede{font:400 21px/1.45 Apfel;letter-spacing:-.01em;color:var(--text-2);max-width:520px;margin:0 0 34px;text-wrap:pretty}

.prompt{display:block;background:var(--card);border-radius:16px;padding:18px 10px 10px 22px;width:600px;box-shadow:0 0 0 1px rgba(var(--shadow-rgb),.07),0 1px 2px rgba(var(--shadow-rgb),.08),0 14px 30px -16px rgba(var(--shadow-rgb),.3);
  transition:opacity 1.1s var(--eo) var(--d,0s),transform 1.2s var(--eo) var(--d,0s),box-shadow .4s var(--eo)}
.prompt:focus-within{box-shadow:0 0 0 2px var(--accent),0 1px 2px rgba(var(--shadow-rgb),.08),0 16px 32px -14px rgba(var(--accent-rgb),.35)}
.prompt__row{display:flex;align-items:baseline;gap:9px;padding-right:12px}
.prompt label{flex:none;font:400 21px/1 Apfel;letter-spacing:-.01em;color:var(--mute-2)}
.prompt input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 21px/1.2 Apfel;letter-spacing:-.015em;color:var(--ink);height:32px;padding:0}
.prompt input::placeholder{color:var(--ink)}
.prompt__bar{display:flex;align-items:center;gap:2px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line-2)}
.pa{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 10px;border:0;background:none;border-radius:8px;font:500 14px/1 Apfel;letter-spacing:-.005em;color:var(--ui-2);cursor:pointer;transition:background-color .25s var(--eo),color .25s var(--eo)}
.pa svg{width:17px;height:17px;flex:none}
@media (hover:hover){.pa:hover{background:var(--tint);color:var(--ink)}}
.prompt .btn{margin-left:auto;height:48px;padding:0 20px}
.try{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:18px;font:400 15px/1.4 Apfel;color:var(--mute)}
.try button{border:0;background:none;padding:0;font:500 15px/1.4 Apfel;letter-spacing:-.01em;color:var(--ink);cursor:pointer;text-decoration:underline dotted rgba(var(--shadow-rgb),.38) 1.5px;text-underline-offset:5px;transition:color .25s var(--eo),text-decoration-color .25s var(--eo)}
@media (hover:hover){.try button:hover{color:var(--accent);text-decoration-color:var(--accent)}}

.rings{position:absolute;left:660px;top:50px;width:820px;height:820px;color:var(--accent);opacity:calc(var(--in) * var(--op,1));transition:--in 2s var(--eo) .1s}
.ready .rings{--in:1}
.rings svg{width:100%;height:100%;animation:spin 240s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.press{position:absolute;left:120px;right:120px;bottom:38px;display:flex;align-items:center;gap:36px;font:400 14px/1 Apfel;color:var(--mute);opacity:calc(var(--in) * var(--op,1));transition:--in 1.4s var(--eo) .7s}
.ready .press{--in:1}
.press svg{height:22px;width:auto;fill:var(--logo);opacity:.82}

/* postage stamps: printed on off-white stock, perforated */
.stamp{position:absolute;left:var(--x);top:var(--y);width:var(--sw);--mx:0;--my:0;--op:1;
  transform:translate(calc(var(--fx,0px) + var(--mx) * 1px),calc(var(--fy,0px) + var(--my) * 1px + (1 - var(--in)) * 46px - var(--hv) * 8px)) rotate(calc(var(--rot) + (1 - var(--in)) * 9deg - var(--hv) * 2deg)) scale(calc(.86 + .14 * var(--in) + var(--hv) * .035));
  opacity:calc(var(--in) * var(--op));transition:--in 1.4s var(--eo) var(--d,0s),--hv .6s var(--eo);will-change:transform}
.ready .s1 .stamp,.stamp.in-view{--in:1}
@media (hover:hover){.stamp:hover{--hv:1}}
.st__sh{filter:drop-shadow(0 1px 1px rgba(var(--shadow-rgb),.2)) drop-shadow(0 calc(8px + var(--hv) * 8px) calc(12px + var(--hv) * 8px) rgba(var(--shadow-rgb),.13))}
.st__paper{--r:3.4px;--s:10.5px;position:relative;padding:calc(var(--r) + 1.6px) calc(var(--r) + 1.6px) calc(var(--r) + .6px);background:#FBFAF4;
  -webkit-mask:radial-gradient(var(--r) at var(--r) var(--r),#0000 97%,#000) calc(-1 * var(--r)) calc(-1 * var(--r)) / var(--s) var(--s) round,linear-gradient(#000 0 0) content-box;
          mask:radial-gradient(var(--r) at var(--r) var(--r),#0000 97%,#000) calc(-1 * var(--r)) calc(-1 * var(--r)) / var(--s) var(--s) round,linear-gradient(#000 0 0) content-box}
.st__paper::after{content:"";position:absolute;inset:0;background:url(../img/thermal.webp) center/220% 220%;mix-blend-mode:multiply;opacity:.55;pointer-events:none}
.st__in{position:relative}
.st__in img{width:100%;height:auto;aspect-ratio:380/440;object-fit:cover;filter:saturate(.9) contrast(1.04)}
.st__cap{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:6px 3px 2px;font-family:Apfel;color:var(--stamp-ink);white-space:nowrap}
.st__cap span{font-weight:500;font-size:10px;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis}
.st__cap b{font-weight:600;font-size:calc(var(--sw) * .125);letter-spacing:-.035em;line-height:.9;color:var(--accent)}
.pm{position:absolute;pointer-events:none;color:var(--postmark);opacity:.62}

/* the phone: a lock screen filling with orders */
.phone{position:absolute;left:var(--x);top:var(--y);width:var(--pw);height:calc(var(--pw) * 2.12);font-size:calc(var(--pw) / 20);--mx:0;--my:0;--op:1;
  border-radius:2.9em;padding:.62em;background:#0C0D11;
  box-shadow:inset 0 0 0 .1em #4A4D57,inset 0 0 0 .22em #17181D,0 1px 2px rgba(var(--shadow-rgb),.25),0 2.2em 4em -1.6em rgba(var(--shadow-rgb),.5);
  transform:translate(calc(var(--mx) * 1px),calc(var(--my) * 1px + (1 - var(--in)) * 40px)) scale(calc(.95 + .05 * var(--in)));
  opacity:calc(var(--in) * var(--op));transition:--in 1.5s var(--eo) var(--d,0s);will-change:transform}
.ready .phone{--in:1}
.phone::before,.phone::after{content:"";position:absolute;width:.2em;border-radius:.1em;background:#25272E}
.phone::before{left:-.16em;top:19%;height:7%;box-shadow:0 3.4em 0 #25272E}
.phone::after{right:-.16em;top:25%;height:11%}
.screen{position:absolute;inset:.62em;border-radius:2.32em;overflow:hidden;background:#111;color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:47% 40%;transform:scale(1.08);transform-origin:47% 40%}
.screen::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,0) 34%,rgba(0,0,0,0) 70%,rgba(0,0,0,.3))}
.screen>*:not(img){position:absolute;z-index:2}
.island{left:50%;top:.55em;width:5.6em;height:1.62em;border-radius:1em;background:#000;transform:translateX(-50%)}
.sbar{right:1.25em;top:.86em;display:flex;gap:.3em;align-items:center}
.sbar svg{height:.62em;width:auto;fill:#fff}
.ls-date{left:0;right:0;top:3.5em;text-align:center;font-weight:600;font-size:.95em;letter-spacing:.005em;opacity:.95}
.ls-time{left:0;right:0;top:.9em;text-align:center;font-weight:600;font-size:4.9em;letter-spacing:-.02em;line-height:1}
.notes{left:.42em;right:.42em;top:24.6em;bottom:2.1em;overflow:hidden;-webkit-mask:linear-gradient(#000 calc(100% - 5em),transparent calc(100% - .4em));mask:linear-gradient(#000 calc(100% - 5em),transparent calc(100% - .4em))}
.nt{position:absolute;left:0;right:0;top:0;display:flex;gap:.5em;align-items:center;padding:.6em .62em .62em;border-radius:1em;
  background:rgba(242,242,246,.76);-webkit-backdrop-filter:blur(18px) saturate(1.7);backdrop-filter:blur(18px) saturate(1.7);color:#0B0C0F;
  transform:translateY(var(--y,0px)) scale(var(--sc,1));transform-origin:50% 0;opacity:var(--o,1);transition:transform .9s var(--eo),opacity .6s var(--eo)}
.nt.new{--o:0;transform:translateY(-1.2em) scale(.96)}
.nt .ic{flex:none;align-self:flex-start;width:1.72em;height:1.72em;border-radius:.4em;background:var(--accent);display:grid;place-items:center;margin-top:.04em}
.nt .ic svg{width:66%}
.nt .ic .flag .c{fill:#fff}
.nt .ic .flag .o{stroke:#fff;fill:var(--accent)}
.nt .tx{flex:1;min-width:0;font-size:.68em;line-height:1.3;letter-spacing:-.008em}
.nt .t{display:flex;justify-content:space-between;align-items:baseline;gap:.6em;font-weight:600}
.nt .t small{flex:none;font-weight:400;font-size:.94em;color:rgba(11,12,15,.48)}
.nt .b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#1A1B20}
.homebar{left:50%;bottom:.5em;width:7em;height:.25em;border-radius:.2em;background:rgba(255,255,255,.9);transform:translateX(-50%)}

/* 6. Story: scene 2, the store builds itself ------------------------------- */
.s2{position:absolute;inset:0;pointer-events:none;opacity:0}
.cap{position:absolute;left:120px;top:150px;width:900px;font:500 42px/1.08 Apfel;letter-spacing:-.04em}
.store{position:absolute;left:120px;top:286px;width:820px;height:572px;background:var(--card);border-radius:14px;box-shadow:0 0 0 1px rgba(var(--shadow-rgb),.06),0 1px 2px rgba(var(--shadow-rgb),.08),0 24px 48px -28px rgba(var(--shadow-rgb),.35);overflow:hidden}
.store__bar{display:flex;align-items:center;gap:14px;height:68px;padding:0 22px;border-bottom:1px solid var(--line)}
.store__bar svg{width:42px;flex:none}
.store__name{font:600 26px/1 Apfel;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;max-width:var(--nw,0px)}
.store__url{margin-left:auto;font:400 13px/1 Apfel;color:var(--mute)}
.store__live{font:500 12px/1 Apfel;color:#fff;background:var(--ink);border-radius:5px;padding:6px 9px;opacity:0}
.store__strip{height:34px;display:flex;align-items:center;padding:0 22px;font:500 12.5px/1 Apfel;letter-spacing:-.005em;background:var(--ink);color:#fff;opacity:0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 20px}
.tile{position:relative;opacity:0}
.tile img{width:100%;height:172px;object-fit:cover;border-radius:6px;background:var(--line-2)}
.tile p{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font:500 13px/1.25 Apfel;letter-spacing:-.01em}
.tile small{display:block;font:400 12px/1 Apfel;color:var(--mute);margin-top:3px}
.tile .sold{font-variant-numeric:tabular-nums;text-align:right}
.bubble{position:absolute;left:204px;top:366px;width:236px;background:var(--card);border-radius:12px;padding:12px 14px 12px 12px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 0 0 1px rgba(var(--shadow-rgb),.06),0 10px 24px -12px rgba(var(--shadow-rgb),.35);opacity:0}
.bubble img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none}
.bubble p{font:500 14px/1.3 Apfel;letter-spacing:-.01em}
.bubble small{display:block;font:400 12px/1.2 Apfel;color:var(--mute);margin-top:3px}
.tag{position:absolute;left:8px;top:142px;font:500 11px/1 Apfel;background:var(--card);color:var(--ink);border-radius:4px;padding:5px 7px;box-shadow:0 1px 2px rgba(var(--shadow-rgb),.2);opacity:0}
.stamp-ok{position:absolute;left:84px;top:112px;width:108px;height:108px;color:var(--accent);opacity:0}

/* the printer and its receipt */
.printer{position:absolute;left:974px;top:254px;width:326px;height:578px}
.feed{position:absolute;z-index:1;left:0;right:0;top:-60px;bottom:14px;clip-path:inset(0 -60px 0 -60px)}
.torn .feed{clip-path:inset(-200px -200px -200px -200px)}
.feed::after{content:"";position:absolute;z-index:3;left:14px;right:14px;bottom:0;height:14px;background:linear-gradient(to bottom,rgba(4,5,13,0),rgba(4,5,13,.3));pointer-events:none;transition:opacity .3s}
.torn .feed::after{opacity:0}
.rc{position:absolute;left:14px;right:14px;bottom:0;transform:translateY(calc(var(--feed,100) * 1%));transition:transform .18s cubic-bezier(.2,.9,.25,1);
  filter:drop-shadow(0 1px 0 rgba(var(--shadow-rgb),.07)) drop-shadow(0 2px 3px rgba(var(--shadow-rgb),.1))}
.torn .rc{transform:translateY(-14px) rotate(1.8deg);transition:transform 1.1s var(--eo);filter:drop-shadow(0 1px 0 rgba(var(--shadow-rgb),.08)) drop-shadow(0 2px 3px rgba(var(--shadow-rgb),.12)) drop-shadow(0 20px 24px rgba(var(--shadow-rgb),.16))}
.slot{position:absolute;left:0;right:0;bottom:0;height:22px;border-radius:6px 6px 9px 9px;background:linear-gradient(#30354D,#0F1226 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 20px -10px rgba(var(--shadow-rgb),.6);transition:opacity .7s var(--eo),transform .9s var(--eo)}
.slot::before{content:"";position:absolute;left:10px;right:10px;top:6px;height:4px;border-radius:1px;background:#04050D;box-shadow:0 1px 0 rgba(255,255,255,.1)}
.slotf{position:absolute;z-index:2;left:0;right:0;bottom:0;height:14px;border-radius:0 0 9px 9px;background:linear-gradient(#1B1F35,#0F1226);box-shadow:inset 0 2px 0 #04050D,inset 0 3px 0 rgba(255,255,255,.07);transition:opacity .7s var(--eo),transform .9s var(--eo)}
.torn .slot,.torn .slotf{opacity:0;transform:translateY(16px)}

/* thermal paper, used by every receipt on the page */
.pp{position:relative;background:#F3F4F1;color:#24242C;padding:20px 18px 30px;overflow:hidden;-webkit-mask:var(--tear);mask:var(--tear)}
.pp::after{content:"";position:absolute;inset:0;background:url(../img/thermal.webp) center/100% 100%;mix-blend-mode:multiply;opacity:.92;pointer-events:none}
.pp::before{content:"";position:absolute;top:0;bottom:0;left:63%;width:7px;background:linear-gradient(90deg,transparent,rgba(243,244,241,.6),transparent);z-index:2;pointer-events:none}
.ink{position:relative;z-index:1;font:400 11px/1.52 'Martian Mono',ui-monospace,monospace;font-stretch:75%;text-shadow:0 0 .35px currentColor;
  -webkit-mask:url(../img/ink-mask.webp) 0 0/320px auto;mask:url(../img/ink-mask.webp) 0 0/320px auto}
.ink .b{font-weight:700}
.ink .c{text-align:center}
.ink .row{display:flex;justify-content:space-between;gap:8px}
.ink .q{display:inline-block;width:3ch}
.ink .rule{white-space:nowrap;overflow:hidden;margin:6px 0}
.rlogo{justify-content:center;margin-bottom:9px;--u:.2386px}
.rlogo .flag .c{fill:currentColor}
.rlogo .flag .o{stroke:currentColor;fill:none}
.barwrap{position:relative;z-index:1;-webkit-mask:url(../img/ink-mask.webp) 40px 30px/320px auto;mask:url(../img/ink-mask.webp) 40px 30px/320px auto}
.barwrap svg{width:190px;height:42px;margin:12px auto 6px}

/* 7. Story: scene 3, the banknote ------------------------------------------ */
.s3{position:absolute;inset:0;color:#fff;pointer-events:none}
.s3__copy{position:absolute;left:120px;top:236px;width:600px;opacity:0}
.s3.on .s3__copy{pointer-events:auto}
.s3__kicker{font:500 18px/1 Apfel;letter-spacing:-.01em;opacity:.75;margin-bottom:22px}
.s3 h2{font:500 88px/.92 Apfel;letter-spacing:-.05em;margin-bottom:28px}
.s3__p{font:400 20px/1.45 Apfel;letter-spacing:-.01em;opacity:.86;max-width:470px;margin-bottom:34px}
.s3__cta{display:flex;align-items:center;gap:26px}
.notereveal{position:absolute;inset:0;pointer-events:none}
.notereveal>*{pointer-events:auto}
.notewrap{position:absolute;left:770px;top:262px;width:560px;transform:perspective(1200px) rotate(-3deg) rotateY(calc(var(--tx,0) * 1deg)) rotateX(calc(var(--ty,0) * 1deg))}
.note{position:relative;width:560px;aspect-ratio:2.25/1;background:radial-gradient(120% 90% at 72% 60%,color-mix(in oklab,var(--accent-ink) 7%,var(--note)),var(--note) 60%);color:var(--accent-ink);border-radius:3px;
  box-shadow:0 0 0 .5px rgba(var(--shadow-rgb),.25),0 1px 1px rgba(var(--shadow-rgb),.35),0 18px 34px -16px rgba(var(--dark-rgb),.75);overflow:hidden;outline:1px solid transparent;backface-visibility:hidden;transform:translateY(calc((1 - var(--np,0)) * -40px))}
.note svg.g{position:absolute;inset:0;width:100%;height:100%}
.note::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 46%,transparent 60%);transform:translateX(calc(var(--sheen,0) * 1%));mix-blend-mode:soft-light;pointer-events:none}
.note__portrait{position:absolute;left:5%;top:12%;width:30%;aspect-ratio:.885/1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px currentColor,0 0 0 4px var(--note),0 0 0 4.6px currentColor}
.note__portrait img{position:absolute;left:-4%;top:-4%;width:108%;height:108%;object-fit:cover}
[data-theme="warm"] .note__portrait .for-blue,:root:not([data-theme="warm"]) .note__portrait .for-warm{display:none}
.note__issuer{position:absolute;left:40%;top:11.5%;right:19%;font:400 12.5px/1.2 Apfel}
.note__issuer b{display:block;font:600 32px/1 Apfel;letter-spacing:-.03em;white-space:nowrap;margin-top:5px}
.note__issuer i{display:block;font-style:normal;font-size:13px;margin-top:6px;opacity:.8}
.note__value{position:absolute;left:39.6%;bottom:24%;font:600 54px/.9 Apfel;letter-spacing:-.035em}
.note__value sup{font-size:.46em;vertical-align:.8em;margin-right:2px}
.note__label{position:absolute;left:40.4%;bottom:14.5%;font:400 13px/1 Apfel}
.note__sig{position:absolute;right:5.5%;bottom:12%;width:22%;text-align:center}
.note__sig em{display:block;font:400 29px/.8 'Mrs Saint Delafield';white-space:nowrap;transform:rotate(-4deg);margin-bottom:2px}
.note__sig span{display:block;border-top:1px solid currentColor;padding-top:5px;font:400 11px/1 Apfel}
.note__serial{position:absolute;font:500 12px/1 Apfel;color:var(--accent)}
.note__serial--a{left:5.5%;top:6.5%}
.note__serial--b{right:5.5%;bottom:5.2%}
.note .flag{position:absolute;right:6.4%;top:12.5%;width:9%}
.note .flag .c{fill:currentColor}
.note .flag .o{stroke:currentColor;fill:var(--note)}

/* 8. Sections below the story ---------------------------------------------- */
.sec{position:relative;padding:150px var(--side);scroll-margin-top:calc(var(--strip,36px) + 64px);overflow-x:clip}
.wrap{max-width:1200px;margin:0 auto}
.kicker{display:block;font:500 16px/1 Apfel;letter-spacing:-.01em;color:var(--accent);margin-bottom:22px}
.h2{font:500 76px/.94 Apfel;letter-spacing:-.05em;text-wrap:balance}
.h2 .perf{color:var(--accent)}
.body{font:400 19px/1.5 Apfel;letter-spacing:-.01em;color:var(--text-2);text-wrap:pretty}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--eo) var(--d,0s),transform 1.2s var(--eo) var(--d,0s)}
.reveal.in{opacity:1;transform:none}

/* how it works */
.how{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.how__head{position:sticky;top:calc(var(--strip,36px) + 120px)}
.how__head .body{margin-top:26px;max-width:400px}
.steps{list-style:none;counter-reset:step}
.step{display:grid;grid-template-columns:52px 1fr 180px;gap:24px;align-items:center;padding:38px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step__n{align-self:start;padding-top:10px;font:500 13px/1 'Martian Mono',monospace;font-stretch:75%;color:var(--mute)}
.step h3{font:500 36px/1 Apfel;letter-spacing:-.04em;margin-bottom:12px}
.step p{font:400 17px/1.5 Apfel;letter-spacing:-.005em;color:var(--text-2);max-width:360px}
.step__art{justify-self:end;width:180px;height:120px;display:grid;place-items:center}
.mini-prompt{width:176px;background:var(--card);border-radius:10px;padding:12px 12px 10px;box-shadow:0 0 0 1px rgba(var(--shadow-rgb),.07),0 10px 22px -14px rgba(var(--shadow-rgb),.35);font:500 13px/1.3 Apfel;letter-spacing:-.01em;transform:rotate(-3deg)}
.mini-prompt small{display:block;font-weight:400;color:var(--mute-2);margin-bottom:4px}
.mini-prompt i{display:inline-block;width:1.5px;height:1em;background:var(--accent);vertical-align:-2px;margin-left:1px;font-style:normal;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.mini-prompt span{display:block;margin-top:10px;height:22px;border-radius:5px;background:var(--ink);color:#fff;font-size:10.5px;line-height:22px;text-align:center}
.step__art .stamp-art{width:112px;height:112px;color:var(--accent);transform:rotate(-12deg)}
.mini-note{width:176px;aspect-ratio:2.25/1;position:relative;background:var(--note);color:var(--accent-ink);border-radius:2px;transform:rotate(4deg);
  box-shadow:0 0 0 .5px rgba(var(--shadow-rgb),.25),0 10px 20px -12px rgba(var(--shadow-rgb),.5);overflow:hidden}
.mini-note::before{content:"";position:absolute;inset:5px;border:1.5px solid currentColor;outline:.5px solid currentColor;outline-offset:-4px}
.mini-note b{position:absolute;left:14px;bottom:13px;font:600 24px/1 Apfel;letter-spacing:-.035em}
.mini-note small{position:absolute;left:15px;top:14px;font:500 8px/1 Apfel;color:var(--accent)}
.mini-note svg.flag{position:absolute;right:12px;top:12px;width:18px}
.mini-note svg.flag .c{fill:currentColor}
.mini-note svg.flag .o{stroke:currentColor;fill:var(--note)}

/* what it runs: the weekly report receipt */
.runs{display:grid;grid-template-columns:6fr 5fr;gap:100px;align-items:center}
.runs__copy .body{margin:26px 0 34px;max-width:440px}
.runs__list{list-style:none;display:grid;gap:12px;font:400 17px/1.4 Apfel;color:var(--text-2)}
.runs__list li{display:flex;gap:12px;align-items:baseline}
.runs__list li::before{content:"";flex:none;width:7px;height:7px;background:var(--accent);border-radius:1px;transform:translateY(-2px)}
.report{justify-self:center;width:400px;transform:rotate(-1.6deg);filter:drop-shadow(0 1px 0 rgba(var(--shadow-rgb),.08)) drop-shadow(0 2px 3px rgba(var(--shadow-rgb),.12)) drop-shadow(0 24px 30px rgba(var(--shadow-rgb),.16))}
.report .pp{padding:30px 28px 40px}
.report .ink{font-size:13px;line-height:1.62}
.report .rlogo{--u:.29px;margin-bottom:12px}
.report .barwrap svg{width:240px;height:48px}
.report .big{font-size:15px}

/* sellers: a sheet of stamps */
.sellers__head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:70px}
.sellers__head .body{max-width:380px}
.sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 64px}
.sheet .stamp{position:relative;left:auto;top:auto;width:100%;--sw:220px;--x:0;--y:0;justify-self:center;max-width:230px}
.sheet figcaption{display:flex;align-items:center;gap:10px;margin-top:16px;font:400 14px/1.35 Apfel;color:var(--mute)}
.sheet figcaption svg{width:24px;flex:none}
.sheet figcaption .flag .c{fill:var(--fl)}
.sheet figcaption .flag .o{stroke:var(--fl);fill:var(--paper)}
.sheet figcaption b{display:block;font-weight:500;color:var(--ink)}

/* quote */
.quote{display:grid;grid-template-columns:4fr 7fr;gap:90px;align-items:center}
.quote .stamp{position:relative;left:auto;top:auto;width:100%;max-width:330px;--sw:300px;--x:0;--y:0;justify-self:center}
.quote blockquote p{font:500 46px/1.12 Apfel;letter-spacing:-.04em;text-indent:-.42em;text-wrap:pretty}
.quote footer{display:flex;align-items:center;gap:22px;margin-top:40px}
.quote .sig{font:400 54px/.7 'Mrs Saint Delafield';color:var(--accent-ink);transform:rotate(-4deg)}
.quote cite{font:400 15px/1.4 Apfel;font-style:normal;color:var(--mute)}
.quote cite b{display:block;font-weight:500;color:var(--ink)}

/* pricing: admission tickets */
.pricing__head{text-align:center;max-width:720px;margin:0 auto 70px}
.pricing__head .body{margin-top:22px}
.tickets{display:grid;grid-template-columns:repeat(2,minmax(0,440px));justify-content:center;gap:40px}
.ticket{--n:14px;position:relative;background:var(--card);border-radius:14px;filter:drop-shadow(0 1px 1px rgba(var(--shadow-rgb),.1)) drop-shadow(0 18px 26px rgba(var(--shadow-rgb),.12));
  -webkit-mask:radial-gradient(circle var(--n) at 0 var(--cut),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--n) at 100% var(--cut),#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle var(--n) at 0 var(--cut),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--n) at 100% var(--cut),#0000 98%,#000) right/51% 100% no-repeat;--cut:226px}
.ticket__top{padding:38px 40px 34px;height:226px;display:flex;flex-direction:column}
.ticket__name{display:flex;justify-content:space-between;align-items:center;font:500 18px/1 Apfel;letter-spacing:-.01em}
.ticket__name small{font:500 11px/1 'Martian Mono',monospace;font-stretch:75%;opacity:.7}
.ticket__price{margin-top:auto;font:600 66px/.9 Apfel;letter-spacing:-.05em}
.ticket__price span{font:400 17px/1 Apfel;letter-spacing:-.01em;margin-left:6px;opacity:.75}
.ticket__fee{margin-top:12px;font:400 15px/1.3 Apfel;opacity:.8}
.ticket__tear{height:0;border-top:2px dashed var(--line);margin:0 26px}
.ticket__bottom{padding:30px 40px 40px}
.ticket ul{list-style:none;display:grid;gap:13px;margin-bottom:34px;font:400 16px/1.4 Apfel}
.ticket li{display:flex;gap:12px;align-items:baseline}
.ticket li::before{content:"";flex:none;width:7px;height:7px;background:var(--accent);border-radius:1px;transform:translateY(-2px)}
.ticket .btn{width:100%}
.ticket--feature{background:var(--accent);color:#fff}
.ticket--feature .ticket__tear{border-color:rgba(255,255,255,.35)}
.ticket--feature li::before{background:#fff}
.pricing__note{text-align:center;margin-top:44px;font:400 15px/1.5 Apfel;color:var(--mute)}

/* faq */
.faq{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.faq__list details{border-top:1px solid var(--line)}
.faq__list details:last-child{border-bottom:1px solid var(--line)}
.faq__list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;cursor:pointer;font:500 22px/1.25 Apfel;letter-spacing:-.025em}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary i{flex:none;position:relative;width:16px;height:16px}
.faq__list summary i::before,.faq__list summary i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:currentColor;border-radius:1px;transition:transform .4s var(--eo)}
.faq__list summary i::after{transform:rotate(90deg)}
.faq__list details[open] summary i::after{transform:rotate(0)}
.faq__list details p{padding:0 48px 30px 0;font:400 17px/1.55 Apfel;color:var(--text-2);max-width:620px}
@media (hover:hover){.faq__list summary:hover{color:var(--accent)}}

/* closing call to action */
.end{text-align:center;padding-top:120px;padding-bottom:150px}
.end>svg.flag{width:96px;margin:0 auto 38px}
.end .h2{max-width:820px;margin:0 auto}
.end .body{max-width:540px;margin:24px auto 36px}
.end__cta{display:flex;justify-content:center;align-items:center;gap:26px}

/* 9. Footer ---------------------------------------------------------------- */
.foot{background:var(--ink);color:rgba(255,255,255,.72);padding:80px var(--side) 40px}
.foot__top{display:grid;grid-template-columns:5fr 7fr;gap:60px}
.foot .lk{--u:.5px;color:#fff}
.foot .lk .flag .c{fill:#fff}
.foot .lk .flag .o{stroke:#fff;fill:var(--ink)}
.foot__tag{margin-top:22px;max-width:320px;font:400 15px/1.5 Apfel}
.foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.foot__cols h4{font:500 14px/1 Apfel;color:#fff;margin-bottom:18px}
.foot__cols ul{list-style:none;display:grid;gap:12px;font:400 14px/1.3 Apfel}
.foot__cols a{text-decoration:none}
@media (hover:hover){.foot__cols a:hover{color:#fff}}
.foot__bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:80px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font:400 13px/1.4 Apfel}

/* 10. Responsive ----------------------------------------------------------- */
@media (max-width:1100px){
  .topbar .long{display:none}.topbar .short{display:inline}
  .h2{font-size:62px}
  .how,.faq{grid-template-columns:1fr;gap:56px}.how__head{position:static}
  .runs{grid-template-columns:1fr;gap:70px}.runs__copy{order:-1}
  .quote{grid-template-columns:1fr;gap:56px;text-align:left}
  .sheet{gap:48px 36px}
  .foot__top{grid-template-columns:1fr}
}
@media (max-width:760px){
  :root{--side:20px}
  .topbar{font-size:12px;padding:9px var(--side)}.topbar__links{gap:14px}
  .nav{padding:14px var(--side)}.lockup{--u:.341px}
  .nav__links{position:fixed;left:0;right:0;top:calc(var(--strip,36px) + 72px);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--side) 22px;background:var(--paper);color:var(--ink);
    box-shadow:0 1px 0 var(--line),0 24px 40px -24px rgba(var(--shadow-rgb),.35);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--eo),transform .4s var(--eo),visibility 0s .4s}
  .menu-open .nav__links{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--eo),transform .4s var(--eo)}
  .nav__links a{opacity:1;padding:16px 0;border-bottom:1px solid var(--line);font-size:18px}
  .nav__links a.btn{margin-top:18px;border:0;height:50px;padding:0 20px}
  .menu-btn{display:grid}
  .menu-open .nav{color:var(--ink);background:var(--paper)}
  .menu-open .nav .flag .c{fill:var(--accent)}.menu-open .nav .flag .o{stroke:var(--accent);fill:var(--paper)}


  .sec{padding:96px var(--side)}
  .h2{font-size:44px;letter-spacing:-.045em}
  .body{font-size:17px}
  .step{grid-template-columns:34px 1fr;gap:12px;padding:30px 0}
  .step__art{grid-column:2;justify-self:start;height:auto;margin-top:18px}
  .step h3{font-size:28px}
  .report{width:100%;max-width:360px}.report .ink{font-size:11.5px}
  .sellers__head{flex-direction:column;align-items:start;gap:20px;margin-bottom:48px}
  .sheet{grid-template-columns:repeat(2,1fr);gap:36px 18px}
  .sheet .stamp{--sw:160px}
  .sheet figcaption{font-size:12.5px;gap:8px}.sheet figcaption svg{width:18px}
  .quote .stamp{max-width:240px;--sw:220px}
  .quote blockquote p{font-size:30px}
  .quote .sig{font-size:40px}
  .tickets{grid-template-columns:1fr;gap:28px}
  .ticket{--cut:200px}.ticket__top{height:200px;padding:30px 26px 28px}.ticket__bottom{padding:26px 26px 30px}.ticket__price{font-size:54px}
  .faq__list summary{font-size:19px;padding:24px 0}.faq__list details p{padding-right:0;font-size:16px}
  .end{padding-top:80px;padding-bottom:110px}
  .end__cta{flex-direction:column;gap:18px}
  .foot{padding:60px var(--side) 32px}
  .foot__cols{grid-template-columns:repeat(2,1fr);gap:36px 20px}
  .foot__bot{margin-top:56px}
}
/* story uses the tall 390 × 780 canvas on phones and portrait tablets */
@media (max-width:760px),(orientation:portrait) and (max-width:1100px){
  .canvas{width:390px;height:780px}
  .s1__copy{left:20px;top:104px;width:350px}
  h1{font-size:62px;margin-bottom:16px;letter-spacing:-.05em}
  .lede{font-size:16.5px;margin-bottom:22px}
  .prompt{width:auto;padding:14px 8px 8px 16px;border-radius:14px}
  .prompt label{display:none}.prompt input{font-size:17px;height:28px}
  .prompt__bar{margin-top:10px;padding-top:8px}.pa span{display:none}.pa{padding:0 8px}
  .prompt .btn{height:44px;font-size:15px;padding:0 16px}
  .try{gap:4px 12px;margin-top:12px;font-size:13px}.try button{font-size:13px}.try button:nth-of-type(n+3){display:none}
  .rings{left:-20px;top:430px;width:430px;height:430px}
  #st-a,#st-b,.press{display:none}
  .phone{--x:84px!important;--y:504px!important;--pw:222px!important}
  .notes{top:11.2em}
  .cap{left:20px;top:92px;width:350px;font-size:24px;letter-spacing:-.035em}
  .store{left:16px;top:176px;width:358px;height:372px;border-radius:12px}
  .store__bar{height:56px;padding:0 14px;gap:10px}.store__bar svg{width:32px}.store__name{font-size:20px}.store__url{display:none}
  .store__strip{height:28px;font-size:11px;padding:0 14px}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px 14px}
  .tile:nth-child(n+5){display:none}
  .tile img{height:96px}
  .tile p{font-size:12px;margin-top:6px}.tile small{font-size:11px}
  .bubble{left:118px;top:250px;width:226px;padding:10px}
  .bubble p{font-size:12.5px}.bubble small{font-size:11px}.bubble img{width:32px;height:32px}
  .stamp-ok{left:66px;top:56px;width:84px;height:84px}
  .tag{top:72px}
  .printer{left:150px;top:470px;width:226px;height:300px}
  .feed{top:-40px;bottom:10.5px}
  .pp{padding:12px 11px 20px}.ink{font-size:8px}.rlogo{--u:.17px;margin-bottom:5px}
  .r-hide{display:none!important}
  .barwrap svg{width:130px;height:26px;margin:8px auto 4px}
  .slot{height:16px}.slot::before{top:4px;height:3px}.slotf{height:10.5px}
  .torn .rc{transform:translateY(22px) rotate(2deg)}
  .meet__copy{left:22px;bottom:44px}.meet__copy small{font-size:13px;margin-bottom:14px}
  .s3__copy{left:22px;top:96px;width:346px}
  .s3__kicker{font-size:14px;margin-bottom:14px}
  .s3 h2{font-size:46px;margin-bottom:16px}
  .s3__p{font-size:15.5px;margin-bottom:20px}
  .s3__cta{gap:18px}.s3__cta .link{font-size:14px}
  .notewrap{left:24px;top:470px;width:342px}
  .note{width:342px}
  .note__issuer{font-size:7.5px}.note__issuer b{font-size:19px;margin-top:3px}.note__issuer i{font-size:8px;margin-top:3px}
  .note__value{font-size:32px}.note__label{font-size:8.5px}.note__sig em{font-size:18px}.note__sig span{font-size:6.5px}
  .note__serial{font-size:7.5px}
  .bg-blue::before{background-position:62% 50%;-webkit-mask:linear-gradient(180deg,transparent 30%,#000 70%);mask:linear-gradient(180deg,transparent 30%,#000 70%)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}
  .reveal{opacity:1;transform:none}
}
