/* My Work Album, category pages, lightbox, music player — RB palette (plum/rose/gold, Playfair/Poppins) */
.rba{padding:clamp(56px,8vw,96px) 0;background:radial-gradient(1200px 400px at 10% 0,rgba(244,143,177,.18),transparent 60%),radial-gradient(900px 380px at 100% 100%,rgba(241,207,134,.22),transparent 60%),var(--cream)}
.rba-head{text-align:center;max-width:720px;margin:0 auto 22px}
.rba-head h2{font-size:clamp(2rem,5vw,3rem)}.rba-head .script{font-family:var(--script);color:var(--rose);font-weight:400;font-size:1.25em}
.rba-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;justify-content:flex-start;-webkit-overflow-scrolling:touch}
@media(min-width:900px){.rba-chips{justify-content:center;flex-wrap:wrap}}
.rba-chips::-webkit-scrollbar{display:none}
.rba-chips button{flex:none;border:1.5px solid rgba(43,22,56,.15);background:#fff;color:var(--plum);border-radius:999px;padding:.55em 1.05em;font:500 .85rem/1 var(--sans);cursor:pointer;transition:.2s;min-height:40px}
.rba-chips button.on,.rba-chips button:hover{background:linear-gradient(135deg,var(--pink),var(--rose));border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(232,93,138,.3)}
.rba-split{display:grid;gap:22px}@media(min-width:900px){.rba-split{grid-template-columns:1.5fr 1fr}}
.rba-col{background:#fff;border-radius:24px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(212,162,76,.25)}
.rba-col h3{display:flex;align-items:center;gap:.4em;font-size:1.35rem;margin:0 0 12px}.rba-col h3 small{font:500 .78rem var(--sans);color:var(--muted);margin-left:auto}
.rba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:600px){.rba-grid.p{grid-template-columns:repeat(4,1fr)}}
.rba-grid.v{grid-template-columns:repeat(2,1fr)}
.rba-t{position:relative;display:block;padding:0;border:0;border-radius:14px;overflow:hidden;aspect-ratio:1;background:var(--blush);cursor:pointer}
.rba-grid.v .rba-t{aspect-ratio:9/12}
.rba-t img,.rba-t video{width:100%;height:100%;object-fit:cover;transition:transform .5s}.rba-t:hover img{transform:scale(1.06)}
.rba-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;font:500 .72rem/1.2 var(--sans);color:#fff;background:linear-gradient(transparent,rgba(31,15,41,.75));text-align:left;opacity:0;transition:.25s}
.rba-t:hover .rba-cap,.rba-t:focus-visible .rba-cap{opacity:1}@media(hover:none){.rba-cap{opacity:1}}
.rba-play{position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--rose);font-size:1.2rem;box-shadow:0 8px 20px rgba(0,0,0,.25);padding-left:4px}
.rba-empty{color:var(--muted);text-align:center;padding:30px 0;grid-column:1/-1}
.rba-more{text-align:center;margin-top:14px}
.rba-cats{display:grid;gap:14px;margin-top:34px;grid-template-columns:1fr}@media(min-width:600px){.rba-cats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.rba-cats{grid-template-columns:repeat(3,1fr)}}
.rba-card{position:relative;display:block;border-radius:20px;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,var(--plum2),var(--plum3));box-shadow:var(--shadow)}
.rba-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.rba-card:hover img{transform:scale(1.05)}
.rba-card span{position:absolute;inset:auto 0 0 0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(31,15,41,.85));color:#fff;display:flex;flex-direction:column}
.rba-card b{font:700 1.15rem/1.2 var(--serif)}.rba-card small{color:var(--gold2);font-size:.78rem}
.rba-catpage .rba-col+.rba-col{margin-top:22px}
.rba-lb{position:fixed;inset:0;z-index:10050;background:rgba(31,15,41,.94);display:none;align-items:center;justify-content:center;padding:56px 8px}
.rba-lb.on{display:flex}.rba-noscroll{overflow:hidden}
.rba-lb figure{margin:0;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center}
.rba-lb img,.rba-lb video{max-height:calc(100vh - 140px);max-width:100%;width:auto;border-radius:12px}
.rba-lb figcaption{color:#fff;font-size:.9rem;margin-top:10px;text-align:center}.rba-lb figcaption small{color:var(--gold2);margin-left:8px}
.rba-lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.8rem;cursor:pointer}
.rba-x{top:10px;right:10px}.rba-pv{left:8px;top:50%}.rba-nx{right:8px;top:50%}
/* ---------- music player ---------- */
.rbm{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:9000;font-family:var(--sans)}
@media(max-width:767px){.rbm{bottom:calc(76px + env(safe-area-inset-bottom))}}
.rbm-main{position:relative;width:52px;height:52px;border-radius:50%;border:2px solid var(--gold2);background:linear-gradient(135deg,var(--plum2),var(--plum));color:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(31,15,41,.35);display:grid;place-items:center}
.rbm-b{font-size:1.35rem;transition:.3s}.rbm-ico{display:none;gap:3px;align-items:flex-end;height:18px}.rbm-ico i{width:4px;background:var(--gold2);border-radius:2px;animation:rbmEq 1s infinite ease-in-out}
.rbm-ico i:nth-child(2){animation-delay:.2s}.rbm-ico i:nth-child(3){animation-delay:.4s}
.rbm.playing .rbm-b{display:none}.rbm.playing .rbm-ico{display:flex}
@keyframes rbmEq{0%,100%{height:5px}50%{height:18px}}
.rbm-pan{position:absolute;left:0;bottom:62px;width:min(310px,calc(100vw - 28px));background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);border:1px solid rgba(212,162,76,.35);padding:14px;color:var(--text)}
.rbm-top{display:flex;justify-content:space-between;align-items:center}.rbm-top b{font:700 1.1rem var(--serif);color:var(--plum)}
.rbm-close{border:0;background:none;font-size:1.5rem;cursor:pointer;color:var(--muted);width:36px;height:36px}
.rbm-now{font-size:.8rem;color:var(--muted);margin:2px 0 8px;min-height:1.2em}
.rbm-ctl{display:flex;align-items:center;gap:8px}
.rbm-ctl>button{width:44px;height:44px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--pink),var(--rose));color:#fff;font-size:1rem;cursor:pointer}.rbm-ctl>.rbm-nx{background:var(--blush);color:var(--plum)}
.rbm-vol{flex:1;display:flex;align-items:center;gap:6px}.rbm-vol input{width:100%;accent-color:var(--rose)}
.rbm-list{list-style:none;margin:10px 0 0;padding:0;max-height:200px;overflow:auto;border-top:1px solid #f1e6ec}
.rbm-list button{width:100%;text-align:left;border:0;background:none;padding:8px 6px;font:400 .82rem/1.3 var(--sans);color:var(--text);cursor:pointer;border-radius:8px;min-height:40px}
.rbm-list button.on{background:var(--blush);color:var(--rose);font-weight:600}.rbm-list small{color:var(--muted)}
.rbm-lic{font-size:.68rem;color:var(--muted);margin:8px 0 0}
.site-nav .nav-panel a{opacity:.85;font-size:.9em}
/* ---- v2: premium mosaic ---- */
.rba-home .rba-split{align-items:start}
.rba-col{border-radius:28px;padding:20px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(43,22,56,.04),0 18px 40px rgba(43,22,56,.10);border:1px solid rgba(255,255,255,.9)}
.rba-col h3{font-size:1.45rem;letter-spacing:-.01em}
.rba-grid.p{display:block;columns:2;column-gap:12px}@media(min-width:600px){.rba-grid.p{columns:3}}
.rba-catpage .rba-grid.p{columns:2}@media(min-width:700px){.rba-catpage .rba-grid.p{columns:3}}@media(min-width:1100px){.rba-catpage .rba-grid.p{columns:4}}
.rba-grid.p .rba-t{aspect-ratio:auto;width:100%;margin:0 0 12px;break-inside:avoid;display:block}
.rba-grid.p .rba-t img{height:auto}
.rba-grid.v{gap:12px}
.rba-t{border-radius:18px;box-shadow:0 6px 18px rgba(43,22,56,.12);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.rba-t:hover,.rba-t:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(43,22,56,.22)}
.rba-t img,.rba-t video{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.rba-t:hover img{transform:scale(1.045);filter:saturate(1.08)}
.rba-t.is-v::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(31,15,41,.55));pointer-events:none}
.rba-play{width:58px;height:58px;background:rgba(255,255,255,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--plum);z-index:2;transition:transform .35s}
.rba-t:hover .rba-play{transform:scale(1.1);background:#fff;color:var(--rose)}
.rba-t.is-v .rba-cap{opacity:1;z-index:2;font-size:.78rem}
.rba-chips{gap:10px;padding-bottom:18px}
.rba-chips button{display:inline-flex;align-items:center;gap:.45em;padding:.6em 1.1em;min-height:44px;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(43,22,56,.06)}
.rba-chips button .ic{font-size:1.15em}
.rba-cats{gap:16px}
.rba-card{border-radius:24px;box-shadow:0 14px 34px rgba(43,22,56,.16);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.rba-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(43,22,56,.26)}
.rba-card .ic{position:absolute;top:14px;left:14px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 14px rgba(0,0,0,.15);z-index:2}
.rba-card span{z-index:1}
.rba-sub{text-align:center;margin:44px 0 0;font:700 clamp(1.4rem,3vw,1.9rem)/1.2 var(--serif);color:var(--plum)}
@media(prefers-reduced-motion:no-preference){.rba-rv{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.rba-rv.rba-in{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rba-t,.rba-card,.rba-t img{transition:none!important}.rba-t:hover,.rba-card:hover{transform:none}}
.rba-lb{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.rba-lb figure>img,.rba-lb figure>video{box-shadow:0 30px 60px rgba(0,0,0,.45);animation:rbaZoom .35s cubic-bezier(.2,.8,.2,1)}
@keyframes rbaZoom{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rba-lb figure>img,.rba-lb figure>video{animation:none}}
.credit{padding-bottom:calc(14px + 64px)}@media(min-width:768px){.credit{padding-bottom:14px}}
/* ================= RB theme pass: icons, menu, bars, smooth motion ================= */
:root{--ease:cubic-bezier(.22,.8,.24,1);--ease-io:cubic-bezier(.45,0,.25,1)}
.site-nav a,.quicknav a{display:inline-flex;align-items:center;gap:.42em;transition:color .45s var(--ease),background-color .45s var(--ease),transform .45s var(--ease)}
.nav-ic{width:1.05em;height:1.05em;color:var(--gold2);opacity:.9;transition:transform .5s var(--ease)}
.site-nav a:hover .nav-ic,.quicknav a:hover .nav-ic{transform:translateY(-2px) rotate(-6deg)}
.site-nav a[aria-current] .nav-ic,.quicknav a[aria-current] .nav-ic{color:#fff}
.quicknav ul{gap:8px}
.quicknav a{border-radius:999px;padding:.45em .95em}
/* party tools cards */
.pi-tools{align-items:stretch}
.pi-tool{border-radius:22px;padding:20px 22px;background:linear-gradient(160deg,#fff 0%,#fff 55%,var(--blush) 100%);box-shadow:0 1px 2px rgba(43,22,56,.05),0 14px 32px rgba(43,22,56,.10);border:1px solid rgba(212,162,76,.18);transition:transform .55s var(--ease),box-shadow .55s var(--ease);height:100%}
.pi-tool:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(43,22,56,.16)}
.pi-tool b{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--plum2),var(--plum));color:var(--gold2);box-shadow:0 8px 18px rgba(43,22,56,.25);font-size:0}
.pi-tool b .ic{width:28px;height:28px}
.pi-tool:nth-child(2) b{background:linear-gradient(145deg,var(--pink),var(--rose));color:#fff}
.pi-tool:nth-child(3) b{background:linear-gradient(145deg,var(--gold2),var(--gold));color:var(--plum)}
/* bottom bar: frosted pill */
@media(max-width:1023px){
.mobile-cta{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));padding:6px;gap:6px;border-radius:22px;background:rgba(43,22,56,.78);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border:1px solid rgba(241,207,134,.28);box-shadow:0 14px 34px rgba(31,15,41,.35)}
.mobile-cta a,.mobile-cta a:nth-child(2){flex-direction:column;gap:3px;padding:8px 0 7px;border-radius:16px;background:transparent;font:600 .7rem/1 var(--sans);letter-spacing:.08em;transition:background-color .4s var(--ease),transform .4s var(--ease)}
.mobile-cta a:active{transform:scale(.96)}
.mobile-cta .mc-ic .ic{width:22px;height:22px;color:var(--gold2)}
.mobile-cta a:nth-child(3){background:linear-gradient(135deg,var(--pink),var(--rose));box-shadow:0 6px 16px rgba(232,93,138,.4)}
.mobile-cta a:nth-child(3) .ic{color:#fff}
.rbm{bottom:calc(92px + env(safe-area-inset-bottom))}
.rb-fabs{bottom:calc(92px + env(safe-area-inset-bottom))}
.credit{padding-bottom:96px}
}
.rb-fab{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.rb-fab:hover{transform:translateY(-3px) scale(1.04)}
.rb-fab-chat{background:linear-gradient(145deg,var(--gold2),var(--gold));box-shadow:0 10px 24px rgba(43,22,56,.28),inset 0 0 0 1px rgba(255,255,255,.5)}
.rbm-main{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.rbm-b .ic{width:24px;height:24px;color:var(--gold2)}
.rbm-ctl>button .ic{width:20px;height:20px}
.rbm-vol .ic{width:20px;height:20px;color:var(--plum)}
.rba-play .ic{width:22px;height:22px;margin-left:2px}
.rba-chips button .ic{width:1.15em;height:1.15em;color:var(--rose)}
.rba-chips button.on .ic{color:#fff}
.ic-badge{position:absolute;top:14px;left:14px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 14px rgba(0,0,0,.15);z-index:2;color:var(--rose)}
.ic-badge .ic{width:24px;height:24px}
.rba-col h3 .ic{color:var(--rose);width:1em;height:1em}
/* smooth, soft motion site-wide */
@media(prefers-reduced-motion:no-preference){
 .btn{transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .5s var(--ease),color .5s var(--ease)!important}
 .reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)!important}
 .balloon{animation-timing-function:var(--ease-io)!important}
 .polaroid{transition:transform .8s var(--ease)!important}
 .hero .collage{animation:rbFloat 9s var(--ease-io) infinite alternate}
}
@keyframes rbFloat{from{transform:translateY(0)}to{transform:translateY(-8px)}}
/* ---- entry splash ---- */
html.rb-splash-pending body{overflow:hidden}
html.rb-splash-pending::after{content:"";position:fixed;inset:0;z-index:10090;background:radial-gradient(ellipse at 50% 40%,#3d2150,#1f0f29 70%)}
.rbs{position:fixed;inset:0;z-index:10100;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#3d2150,#1f0f29 70%);opacity:1;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rbs.out{opacity:0;transform:scale(1.04);pointer-events:none}
.rbs-glow{position:absolute;width:70vmin;height:70vmin;border-radius:50%;background:radial-gradient(circle,rgba(241,207,134,.28),rgba(232,93,138,.12) 45%,transparent 70%);filter:blur(10px);animation:rbsGlow 6s var(--ease-io) infinite alternate}
@keyframes rbsGlow{from{transform:scale(.92);opacity:.7}to{transform:scale(1.08);opacity:1}}
.rbs-in{position:relative;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:14px}
.rbs-logo{width:min(220px,52vw);height:auto;opacity:0;transform:scale(.86) translateY(10px);transition:opacity 1.2s var(--ease),transform 1.4s var(--ease)}
.rbs.on .rbs-logo{opacity:1;transform:none}
.rbs-tag{font:400 clamp(1.5rem,5vw,2.2rem)/1 var(--script);color:var(--gold2);margin:0;opacity:0;transition:opacity 1.2s .35s var(--ease)}
.rbs.on .rbs-tag{opacity:1}
.rbs-enter{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:14px 30px;border:0;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;font:600 1.05rem/1 var(--sans);letter-spacing:.04em;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(241,207,134,.55),0 14px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(8px);transition:opacity 1s .6s var(--ease),transform 1s .6s var(--ease),background .4s}
.rbs.on .rbs-enter{opacity:1;transform:none}.rbs-enter:hover{background:rgba(255,255,255,.22)}
.rbs-enter .ic{width:18px;height:18px;color:var(--gold2)}
.rbs.speaking .rbs-enter{opacity:0;transform:scale(.96);pointer-events:none;transition-delay:0s}
.rbs.speaking .rbs-logo{animation:rbsBreath 1.6s var(--ease-io) infinite alternate}
@keyframes rbsBreath{from{transform:scale(1)}to{transform:scale(1.035)}}
.rbs-skip{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));border:0;background:none;color:rgba(255,255,255,.6);font:500 .9rem var(--sans);padding:10px 14px;cursor:pointer;border-radius:999px}
.rbs-skip:hover{color:#fff;background:rgba(255,255,255,.08)}
/* ---- come alive ---- */
@media(prefers-reduced-motion:no-preference){
 html.rb-alive main > section{animation:rbRise 1.1s var(--ease) both}
 html.rb-alive main > section:nth-child(2){animation-delay:.12s}html.rb-alive main > section:nth-child(3){animation-delay:.24s}
 html.rb-alive .hero .polaroid{animation:rbFloatUp 1.3s var(--ease) both}
 html.rb-alive .hero .p2{animation-delay:.15s}html.rb-alive .hero .p3{animation-delay:.3s}
 html.rb-alive .site-nav li{animation:rbRise .9s var(--ease) both}
 html.rb-alive .site-nav li:nth-child(2){animation-delay:.06s}html.rb-alive .site-nav li:nth-child(3){animation-delay:.12s}html.rb-alive .site-nav li:nth-child(4){animation-delay:.18s}html.rb-alive .site-nav li:nth-child(5){animation-delay:.24s}html.rb-alive .site-nav li:nth-child(6){animation-delay:.3s}html.rb-alive .site-nav li:nth-child(7){animation-delay:.36s}
 .brand img.rb-fly{animation:rbFly 1.4s var(--ease) both;will-change:transform}
 .brand img.rb-idle{animation:rbIdle 5s var(--ease-io) infinite alternate;will-change:auto}
 html.rb-leaving main{opacity:.4;transition:opacity .25s var(--ease)}
 main{transition:opacity .45s var(--ease)}
}
@keyframes rbRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes rbFloatUp{from{opacity:0;transform:translateY(40px) rotate(var(--r,0deg))}to{opacity:1}}
@keyframes rbFly{from{opacity:0;transform:translateY(-70px) scale(.8) rotate(-8deg)}60%{opacity:1}to{opacity:1;transform:none}}
@keyframes rbIdle{from{transform:rotate(-1.2deg) translateY(0)}to{transform:rotate(1.2deg) translateY(-2px)}}
/* ---- play music pill ---- */
.rbm-pill{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:9001;transform:translate(-50%,24px);opacity:0;display:inline-flex;align-items:center;gap:10px;padding:10px 20px 10px 10px;border:0;border-radius:999px;background:rgba(43,22,56,.72);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);color:#fff;font:600 .95rem/1 var(--sans);box-shadow:inset 0 0 0 1px rgba(241,207,134,.45),0 14px 34px rgba(31,15,41,.35);cursor:pointer;transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none}
.rbm-pill.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rbm-pill-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--rose))}.rbm-pill-ic .ic{width:18px;height:18px;color:#fff}
@media(max-width:1023px){.rbm-pill{bottom:calc(96px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:no-preference){.rbm-pill.on .rbm-pill-ic{animation:rbsBreath 1.4s var(--ease-io) infinite alternate}}
.rbm-close .ic{width:20px;height:20px}
/* ================= Layout fixes + refined cards + living background ================= */
/* chips: one clean scrollable row */
.rba-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:8px;padding:4px 20px 16px;margin:0 -20px;-webkit-mask:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
@media(min-width:1000px){.rba-chips{flex-wrap:wrap;justify-content:center;overflow:visible;-webkit-mask:none;mask:none;margin:0;padding:4px 0 18px}}
.rba-chips button{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;line-height:1;padding:0 16px 0 12px;height:42px;border-radius:999px;border:1px solid rgba(43,22,56,.10);background:rgba(255,255,255,.92);color:var(--plum);font:500 .86rem var(--sans);box-shadow:0 2px 8px rgba(43,22,56,.05);transition:background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.rba-chips button .ic{width:18px;height:18px;color:var(--rose);flex:none}
.rba-chips button.on,.rba-chips button:hover{background:var(--plum);border-color:var(--plum);color:#fff;box-shadow:0 8px 18px rgba(43,22,56,.22)}
.rba-chips button.on .ic,.rba-chips button:hover .ic{color:var(--gold2)}
/* bottom bar never hides content */
@media(max-width:1023px){body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.credit{padding-bottom:14px}}
/* floating controls: one tidy stack on the right */
.back-top{display:none!important}
.rb-fabs,.rbm{right:max(14px,env(safe-area-inset-right));left:auto}
.rb-fabs{gap:12px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:70}
.rb-fab-party,.rb-fab-chat,.rbm-main{width:50px!important;height:50px!important}
.rb-fab-party svg{width:36px!important;height:36px!important}
.rb-fab-chat svg{width:22px!important;height:22px!important}
.rbm{bottom:calc(24px + 50px*2 + 12px*2 + env(safe-area-inset-bottom));z-index:70}
.rbm-pan{left:auto;right:0;bottom:62px}
.rb-fabs .rb-fab-label,.rb-fab span:not([class]){display:none}
@media(max-width:1023px){.rb-fabs{bottom:calc(88px + env(safe-area-inset-bottom))}.rbm{bottom:calc(88px + 50px*2 + 12px*2 + env(safe-area-inset-bottom))}.rbm-pill{bottom:calc(88px + env(safe-area-inset-bottom));left:calc(50% - 32px)}}
/* refined service cards (no clipped colour bar) */
.svc{border-top:0!important;border-radius:24px;padding:30px 26px;background:linear-gradient(180deg,#fff 0%,#fffdfb 100%);box-shadow:0 1px 2px rgba(43,22,56,.04),0 16px 40px rgba(43,22,56,.08);border:1px solid rgba(212,162,76,.16);position:relative;overflow:hidden;transition:transform .6s var(--ease),box-shadow .6s var(--ease)!important}
.svc::after{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(244,143,177,.12),transparent 70%);pointer-events:none}
.svc:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(43,22,56,.13)}
.ico{width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#fff,var(--blush));box-shadow:inset 0 0 0 1px rgba(212,162,76,.35),0 8px 20px rgba(232,93,138,.12)}
.ico .ic,.svc .ico .ic{width:26px;height:26px;color:var(--plum)}
/* softer CTA buttons: no acid blocks */
.btn-primary{background:linear-gradient(135deg,#e87aa0,#d85a87);box-shadow:0 10px 24px rgba(216,90,135,.28)}
/* living background */
body::before{content:"";position:fixed;inset:-10vh -10vw;z-index:-1;pointer-events:none;background:radial-gradient(40vmax 30vmax at 12% 18%,rgba(244,143,177,.16),transparent 60%),radial-gradient(36vmax 28vmax at 88% 30%,rgba(241,207,134,.18),transparent 60%),radial-gradient(44vmax 32vmax at 50% 95%,rgba(155,91,191,.10),transparent 60%),var(--cream)}
@media(prefers-reduced-motion:no-preference){body::before{animation:rbBg 24s var(--ease-io) infinite alternate;will-change:transform}}
@keyframes rbBg{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-2vw,1.5vh,0) scale(1.05)}}
.rb-bokeh{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.rb-bokeh i{position:absolute;bottom:-12vh;width:var(--s);height:calc(var(--s)*1.2);border-radius:50% 50% 48% 48%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.7),var(--c) 60%);opacity:.18;animation:rbUp var(--d) linear infinite;animation-delay:var(--dl)}
.rb-bokeh i:nth-child(3n){border-radius:50%;opacity:.12;filter:blur(1px)}
@keyframes rbUp{from{transform:translate3d(0,0,0)}50%{transform:translate3d(var(--x2),-60vh,0)}to{transform:translate3d(0,-125vh,0)}}
@media(prefers-reduced-motion:reduce){.rb-bokeh{display:none}}
.rb-tip{opacity:0!important;transition:opacity .4s var(--ease)!important}
@media(hover:hover) and (min-width:1024px){.rb-fab:hover .rb-tip{opacity:1!important}}
.rb-fab-chat.rb-has-news::after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 2px #fff}
/* ===== PWA install: banner, footer link, /app page ===== */
.rb-pwa-bn{position:fixed;left:50%;z-index:60;display:flex;align-items:center;gap:12px;width:min(440px,calc(100% - 24px));padding:12px 12px 12px 14px;border-radius:18px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 34px rgba(43,22,56,.22);color:#2b1638;transform:translate(-50%,20px);opacity:0;transition:transform .45s cubic-bezier(.22,.8,.24,1),opacity .45s}
.rb-pwa-bn.on{transform:translate(-50%,0);opacity:1}.rb-pwa-bn img{border-radius:10px;flex:none}
.rb-pwa-tx{flex:1;min-width:0;font-size:clamp(13px,1.2vw,14px);line-height:1.35}.rb-pwa-tx b{display:block;font-size:clamp(14px,1.3vw,15px)}.rb-pwa-tx svg{vertical-align:-3px;color:#c9739a}
.rb-pwa-go{border:0;border-radius:999px;padding:9px 16px;background:#2b1638;color:#fff;font:600 14px inherit;cursor:pointer}
.rb-pwa-x{border:0;background:none;font-size:22px;line-height:1;color:#8a7f92;cursor:pointer;padding:4px 6px}
.rb-pwa-foot{display:inline-block;margin:8px 12px;color:inherit;opacity:.8;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.rb-app{padding:clamp(48px,8vw,96px) 0}.rb-app .wrap{max-width:1040px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.rb-app-h{font-size:clamp(28px,4vw,44px);margin:0 0 12px}.rb-app-lead{max-width:640px;font-size:clamp(16px,1.5vw,18px);opacity:.85;margin:0 0 28px}
.rb-app-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,48px);align-items:start}
.rb-app-qr{background:#fffaf2;border-radius:22px;padding:18px;box-shadow:0 0 0 2px #d4a24c,0 16px 34px rgba(43,22,56,.14);text-align:center}.rb-app-qr img{display:block;width:clamp(180px,20vw,220px);height:auto}.rb-app-qr p{margin:10px 0 0;font-size:14px;color:#2b1638}
.rb-step{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(43,22,56,.1)}.rb-step b{font-size:clamp(15px,1.3vw,17px)}.rb-step p{margin:4px 0 0;font-size:clamp(14px,1.2vw,16px)}
.rb-step-i{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#f6e9f0;color:#8c3d6a}.rb-step-i .ic,.rb-step .ic{width:20px;height:20px;vertical-align:-4px}
.rb-install-btn{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px}.rb-install-btn .ic{width:18px;height:18px}
.rb-qr-toggle{display:none;margin-top:16px;border:0;background:none;color:#8c3d6a;font:600 15px inherit;text-decoration:underline;cursor:pointer;padding:6px 0}
@media (max-width:720px){.rb-app-grid{grid-template-columns:1fr}.rb-app-qr{display:none;justify-self:center;order:2}.rb-app-qr.open{display:block}.rb-qr-toggle{display:inline-block}}
@media (display-mode:standalone){.rb-pwa-foot,.rb-install-btn,.rb-pwa-bn{display:none!important}}

/* QA: no sideways scroll from decorative motion */
html,body{overflow-x:clip}
/* ===== Apple consistency pass (public) ===== */
.site-header{background:rgba(31,15,41,.82);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px)}
.quicknav a,.btn,.rb-chip,.rba-chip,button{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--sans),system-ui,sans-serif}
.btn{transition:transform .3s cubic-bezier(.22,.8,.24,1),box-shadow .3s,background-color .3s}.btn:active{transform:scale(.97)}
@media (max-width:600px){.rbm-pill{padding:8px 16px 8px 8px;font-size:14px}}
/* equalizer bars: transform instead of height */
@keyframes rbmEq{0%,100%{transform:scaleY(.28)}50%{transform:scaleY(1)}}
.rbm-ico i{height:18px;transform-origin:50% 100%}
/* narrow phones: floating buttons become a compact row just above the bottom bar (no overlap with hero CTAs or the bar) */
@media (max-width:480px){
 .rb-fabs{flex-direction:row-reverse!important;gap:8px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;right:12px!important}
 .rb-fab,.rb-fabs>button,.rb-fabs>a{width:44px!important;height:44px!important}
 .rbm{bottom:calc(84px + env(safe-area-inset-bottom))!important;right:calc(12px + 44px*2 + 8px*2 + 8px)!important;left:auto!important}
 .rbm>button:first-child,.rbm-btn{width:44px!important;height:44px!important}
 body{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
}
/* narrow phones: keep the first screen clean. Music pill sits inline under the hero buttons; floating buttons appear after the hero */
.rbm-pill.rbm-pill-inline{position:static!important;transform:none!important;margin:18px 0 0;left:auto!important;bottom:auto!important}
@media (max-width:480px){
 .rb-fabs,.rbm{transition:opacity .45s cubic-bezier(.22,.8,.24,1),transform .45s cubic-bezier(.22,.8,.24,1)}
 .rb-hero-in .rb-fabs,.rb-hero-in .rbm{opacity:0;transform:translateY(14px);pointer-events:none!important}
 .rb-hero-in .rb-fabs *{pointer-events:none!important}
}
/* ===== menu fixes =====
   backdrop-filter on the header made it the containing block for the fixed mobile menu (menu clipped / mispositioned).
   Glass now lives on a pseudo-element; menu sits above floating buttons and the bottom bar; scroll lock on <html>. */
@media (max-width:1023px){
 .site-header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:transparent!important}
 .site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(31,15,41,.86);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px)}
 .site-nav{z-index:49;transition:transform .42s cubic-bezier(.22,.8,.24,1),visibility 0s linear .42s;will-change:transform}
 .site-nav.open{transition:transform .42s cubic-bezier(.22,.8,.24,1),visibility 0s}
 html.rb-menu-open,html.rb-menu-open body{overflow:hidden;overscroll-behavior:none}
 html.rb-menu-open .site-header{z-index:9800}
 html.rb-menu-open .rb-fabs,html.rb-menu-open .rbm,html.rb-menu-open .rbm-pill:not(.rbm-pill-inline),html.rb-menu-open .mobile-cta,html.rb-menu-open #rb-pwa-bn{opacity:0;pointer-events:none;visibility:hidden}
 .site-nav li a{min-height:48px}
}
@media (min-width:1024px){.site-header{-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px)}}
@media (prefers-reduced-motion:reduce){.site-nav,.site-nav.open{transition:none}}
/* ===== home install card ===== */
.rb-installcard{padding:clamp(36px,6vw,72px) 0}
.rb-ic{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:980px;margin:0 auto;padding:clamp(22px,4vw,36px);border-radius:26px;background:linear-gradient(135deg,#fff8f0,#fbe9ef);box-shadow:0 0 0 1.5px rgba(212,162,76,.55),0 18px 40px rgba(43,22,56,.12)}
.rb-ic h2{margin:.2em 0 .3em;font-size:clamp(24px,3.2vw,34px)}.rb-ic p{margin:0 0 14px;max-width:520px}
.rb-ic-btns{display:flex;flex-wrap:wrap;gap:10px}.rb-ic-btns .btn{display:inline-flex;align-items:center;gap:8px}.rb-ic-btns .ic{width:18px;height:18px}
.rb-ic-qr{flex:none;text-align:center;background:#fffaf2;border-radius:18px;padding:12px;box-shadow:0 0 0 2px #d4a24c}.rb-ic-qr img{display:block;width:140px;height:auto}.rb-ic-qr small{display:block;margin-top:6px;color:#2b1638}
@media (max-width:720px){.rb-ic{flex-direction:column;align-items:flex-start}.rb-ic-qr{display:none}}
.nav-app a{color:#f1cf86!important}
/* desktop nav: no wrapping / no overlap with the brand after adding "Get the app" */
@media (min-width:1024px){
 .header-in{gap:16px}.brand{flex:none}.site-nav{flex:1;justify-content:flex-end;min-width:0}
 .site-nav ul{flex-wrap:nowrap!important}.site-nav li a{white-space:nowrap}
 .nav-cta{white-space:nowrap;flex:none}
}
@media (min-width:1024px){
 .brand .wordmark{display:none}.site-nav{gap:10px!important}.site-nav ul{gap:2px!important}
 .site-nav li a{padding-left:8px!important;padding-right:8px!important;letter-spacing:.06em!important;font-size:12px!important}
 .site-nav .nav-ic{display:none}
}
@media (min-width:1680px){.brand .wordmark{display:none}.site-nav li a{padding-left:10px!important;padding-right:10px!important}}
@media (min-width:1440px){.site-nav .nav-ic{display:inline-block}}

/* ===== 2026-10-22: floating column (portal, chat, music, install) + quiet install popover + clean menu ===== */
:root{--fab:48px;--fab-gap:10px;--fab-right:max(12px,env(safe-area-inset-right));--fab-bottom:calc(84px + env(safe-area-inset-bottom))}
@media(min-width:1024px){:root{--fab:52px;--fab-gap:12px;--fab-right:24px;--fab-bottom:max(24px,env(safe-area-inset-bottom))}}
.rb-fabs{flex-direction:column!important;align-items:center!important;gap:var(--fab-gap)!important;right:var(--fab-right)!important;bottom:var(--fab-bottom)!important}
.rb-fabs>.rb-fab,.rb-fab{width:var(--fab)!important;height:var(--fab)!important}
.rb-fab-party svg{width:72%;height:72%}
.rb-fab-chat svg{width:46%;height:46%}
.rbm{left:auto!important;right:var(--fab-right)!important;bottom:calc(var(--rb-col-top,300px) + var(--fab-gap))!important;z-index:70}
.rbm>button.rbm-main{width:var(--fab)!important;height:var(--fab)!important}
.rbm-pan{left:auto!important;right:0;bottom:calc(var(--fab) + 10px)!important}
.rb-fab-install{background:radial-gradient(circle at 35% 30%,var(--plum2,#4a2760),var(--plum,#2b1638) 72%);color:var(--gold2,#f1cf86);box-shadow:0 6px 18px rgba(43,22,56,.32),inset 0 0 0 2px rgba(241,207,134,.6)}
.rb-fab-install svg{width:50%;height:50%}
.rb-fab-install[aria-expanded="true"]{box-shadow:0 6px 18px rgba(43,22,56,.32),inset 0 0 0 2px var(--pink,#f48fb1)}
@media(min-width:1024px){.site-footer .copy-in{padding-right:96px}}
/* install popover */
.rb-pop{position:fixed;z-index:9600;width:min(300px,calc(100vw - var(--fab) - 40px));padding:14px 14px 10px;border-radius:20px;background:rgba(36,17,48,.96);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);color:#f6eef8;box-shadow:inset 0 0 0 1px rgba(241,207,134,.35),0 18px 40px rgba(20,8,28,.45);font:400 14px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text",var(--sans),sans-serif;opacity:0;transform:translateY(8px) scale(.97);transform-origin:100% 100%;transition:opacity .28s var(--ease),transform .28s var(--ease)}
.rb-pop.on{opacity:1;transform:none}
.rb-pop-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rb-pop-h img{border-radius:9px;flex:none}.rb-pop-h b{flex:1;font-size:15px;line-height:1.25;color:#fff}
.rb-pop-x{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}.rb-pop-x .ic{width:14px;height:14px}
.rb-pop p{margin:0 0 10px;color:rgba(246,238,248,.85)}
.rb-pop-steps{list-style:none;margin:0 0 6px;padding:0}.rb-pop-steps li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}
.rb-pop-i{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(241,207,134,.14);color:var(--gold2,#f1cf86)}.rb-pop-i .ic{width:18px;height:18px}
.rb-pop b{color:var(--gold2,#f1cf86)}.rb-pop-h b{color:#fff}
.rb-pop-go{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 18px;background:linear-gradient(135deg,var(--gold2,#f1cf86),var(--gold,#d4a24c));color:#2b1638;font:600 14px inherit;cursor:pointer;margin-bottom:6px}.rb-pop-go .ic{width:16px;height:16px}
.rb-pop-link{color:var(--pink,#f48fb1);text-decoration:underline;text-underline-offset:3px}
.rb-pop-hide{display:block;margin:6px 0 0 auto;border:0;background:none;color:rgba(246,238,248,.55);font:500 12px inherit;cursor:pointer;padding:6px 2px}
html.rb-menu-open .rb-pop{opacity:0;visibility:hidden}
@media (display-mode:standalone){.rb-fab-install,.rb-pop{display:none!important}}
.ic-arr{width:1em;height:1em;vertical-align:-.12em}
/* header logo always visible (no stuck fly-in state) */
.site-header .brand img{opacity:1!important}
@keyframes rbFly{from{transform:translateY(-40px) scale(.85) rotate(-6deg)}to{transform:none}}
/* clean, Apple-like mobile menu */
@media (max-width:1023px){
 .site-nav{top:0!important;padding:calc(var(--hdr,96px) + 10px) 20px calc(28px + env(safe-area-inset-bottom))!important;background:rgba(31,15,41,.97)!important;-webkit-backdrop-filter:saturate(1.6) blur(24px);backdrop-filter:saturate(1.6) blur(24px);transform:translateY(-12px)!important;opacity:0;transition:opacity .32s var(--ease),transform .38s var(--ease),visibility 0s linear .38s!important}
 .site-nav.open{transform:none!important;opacity:1;transition:opacity .32s var(--ease),transform .38s var(--ease),visibility 0s!important}
 html.rb-menu-open .site-header::before{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
 html.rb-menu-open .quicknav{display:none}
 html.rb-menu-open .site-header .brand img{animation:none!important;transform:none!important}
 .site-nav ul{max-width:520px;margin:0 auto!important}
 .site-nav li{border-bottom:1px solid rgba(255,255,255,.07)!important;animation:none!important}
 .site-nav a:not(.btn){text-transform:none!important;letter-spacing:0!important;font:500 17px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text",var(--sans),sans-serif!important;padding:14px 6px!important;gap:14px!important;color:#f6eef8!important;box-shadow:none!important;border-radius:12px}
 .site-nav a:not(.btn) span{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:inherit!important}
 .site-nav a[aria-current="page"]{color:var(--gold2)!important;background:rgba(241,207,134,.08)!important}
 .site-nav .nav-ic{width:20px!important;height:20px!important;color:var(--gold2)!important;opacity:1}
 .site-nav .nav-panel a{opacity:.7;font-size:15px!important}
 .site-nav .nav-cta{display:flex;max-width:520px;margin:22px auto 0!important;justify-content:center}
 .site-nav.open li{animation:rbMenuIn .42s var(--ease) both!important}
 .site-nav.open li:nth-child(2){animation-delay:.03s!important}.site-nav.open li:nth-child(3){animation-delay:.06s!important}.site-nav.open li:nth-child(4){animation-delay:.09s!important}.site-nav.open li:nth-child(5){animation-delay:.12s!important}.site-nav.open li:nth-child(6){animation-delay:.15s!important}.site-nav.open li:nth-child(7){animation-delay:.18s!important}.site-nav.open li:nth-child(8){animation-delay:.21s!important}
}
@keyframes rbMenuIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.site-nav.open li{animation:none!important}.site-nav{transition:none!important}}
@media (max-width:1023px){html.rb-menu-open .site-header .brand,html.rb-menu-open .site-header .nav-toggle{position:relative;z-index:60}}
@media(min-width:768px){.credit{padding-bottom:76px}}
@media (max-width:480px){body{padding-bottom:0!important}}
@media (max-width:1023px){.site-footer .copy-in{padding-right:calc(var(--fab) + 20px)}}
/* one-time help bubble next to the chat button (first visit only, ~6s) */
.rb-fabs .rb-fab-chat .rb-tip{background:var(--plum,#2b1638);color:#fff;font:600 13px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",var(--sans),sans-serif;padding:9px 13px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(241,207,134,.55),0 8px 20px rgba(31,15,41,.28)}
.rb-fabs .rb-fab-chat .rb-tip::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;background:inherit;transform:translateY(-50%) rotate(45deg);box-shadow:inset -1px 1px 0 rgba(241,207,134,.55);border-radius:2px}
.rb-fabs.tips .rb-fab-chat .rb-tip{opacity:1!important;transform:translateY(-50%)}
@media (prefers-reduced-motion:no-preference){.rb-fabs.tips .rb-fab-chat .rb-tip{animation:rbTipIn .4s var(--ease) both}}
@keyframes rbTipIn{from{opacity:0;transform:translate(6px,-50%)}to{opacity:1;transform:translateY(-50%)}}
/* QR: always visible, tappable; lightbox */
.rb-qr-tap{cursor:pointer;font:inherit;color:inherit;border:0;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease)}
.rb-qr-tap:active{transform:scale(.97)}.rb-qr-tap:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
@media (max-width:720px){.rb-ic-qr{display:block!important;align-self:center;margin:6px auto 0}.rb-ic-qr img{width:132px}.rb-app-qr{display:block!important;justify-self:center;order:0}.rb-app-qr img{width:170px}}
.rb-qrlb{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:20px;background:rgba(31,15,41,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .25s var(--ease)}
.rb-qrlb.on{opacity:1}
.rb-qrlb-card{position:relative;width:min(340px,100%);background:#fffaf2;border-radius:24px;padding:26px 22px 20px;text-align:center;color:#2b1638;box-shadow:0 0 0 2px #d4a24c,0 24px 60px rgba(20,8,28,.45);transform:scale(.96);transition:transform .3s var(--ease)}
.rb-qrlb.on .rb-qrlb-card{transform:none}
.rb-qrlb-card img{display:block;width:min(260px,70vw);height:auto;margin:0 auto 12px}
.rb-qrlb-card b{display:block;font:700 18px var(--serif,serif)}.rb-qrlb-url{display:block;font-size:14px;color:#8c3d6a;margin:4px 0 14px;word-break:break-all}
.rb-qrlb-btns{display:flex;gap:10px;justify-content:center}
.rb-qrlb-btns button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:999px;font:600 15px -apple-system,BlinkMacSystemFont,var(--sans),sans-serif;cursor:pointer;background:#2b1638;color:#fff}
.rb-qrlb-btns .rb-qrlb-copy{background:#f6e9f0;color:#2b1638}.rb-qrlb-btns .ic{width:18px;height:18px}
.rb-qrlb-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(43,22,56,.08);color:#2b1638;display:grid;place-items:center;cursor:pointer}.rb-qrlb-x .ic{width:16px;height:16px}
html.rb-qr-open{overflow:hidden}
