.bpn{--bpn-night: #2a0f22;--bpn-velvet: #3d1531;--bpn-rose: #7b2a50;--bpn-blush: #f4a6b8;--bpn-blush-hi: #ffd6e0;--bpn-cherry: #c41e3a;--bpn-cherry-deep: #8e0f26;--bpn-gold: #e3c27f;--bpn-gold-hi: #f6e2b0;--bpn-lilac: #baa4e2;--bpn-pearl: #f7f1ea;--bpn-cream: #fdf2ec;--bpn-cream-dim: rgba(253, 242, 236, .78);--bpn-cream-faint: rgba(253, 242, 236, .48);--bpn-paper: #fbefed;--bpn-paper-2: #f6dfe2;--bpn-ink: #3a1430;--bpn-dim: #7d5a6e;--bpn-line: rgba(58, 20, 48, .14);--bpn-display: "Yeseva One", "Didot", Georgia, serif;--bpn-script: "Alex Brush", "Snell Roundhand", cursive;--bpn-body: "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--bpn-mono: "Azeret Mono", ui-monospace, Consolas, monospace;--bpn-safe-t: env(safe-area-inset-top, 0px);--bpn-safe-r: env(safe-area-inset-right, 0px);--bpn-safe-b: env(safe-area-inset-bottom, 0px);--bpn-safe-l: env(safe-area-inset-left, 0px);margin:0;min-height:100vh;background:var(--bpn-paper);color:var(--bpn-ink);font:400 16px/1.55 var(--bpn-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.bpn *,.bpn *:before,.bpn *:after{box-sizing:border-box}html.bpn-locked,html.bpn-locked body{overflow:hidden}.bpn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.bpn-stage{position:relative;overflow:hidden;isolation:isolate;color:var(--bpn-cream);background:radial-gradient(80% 50% at 50% 30%,#4a1a3c,transparent 70%),radial-gradient(40% 30% at 85% 8%,rgba(255,230,242,.08),transparent 70%),var(--bpn-night);padding:0 max(16px,var(--bpn-safe-r)) 48px max(16px,var(--bpn-safe-l))}.bpn-art,.bpn-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:-1}.bpn-canvas,.bpn-hits{display:none}.bpn-bar{grid-area:bar;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:calc(var(--bpn-safe-t) + 12px)}.bpn-back{order:-1}.bpn-back,.bpn-skip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;text-decoration:none;font:400 11.5px/1 var(--bpn-mono);letter-spacing:.02em;color:var(--bpn-cream);background:#2a0f228c;border:1px solid rgba(253,242,236,.26);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bpn-back span{font-size:18px;line-height:0;margin-top:-2px}.bpn-skip{border-color:#f4a6b8b3}.bpn-back:hover,.bpn-skip:hover{border-color:var(--bpn-blush);color:var(--bpn-blush-hi)}.bpn-head{grid-area:head;position:relative;z-index:2;padding-top:26px;text-align:center;text-shadow:0 2px 18px rgba(20,2,14,.7),0 1px 2px rgba(20,2,14,.5)}.bpn-kicker{margin:0 0 6px;font:400 11.5px/1.3 var(--bpn-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bpn-cream-dim)}.bpn-title{margin:0;font:400 clamp(38px,11vw,80px)/1.02 var(--bpn-display);color:var(--bpn-blush-hi);background:linear-gradient(180deg,#fff0f4 5%,var(--bpn-blush) 55%,#e07a95 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 rgba(90,10,40,.8)) drop-shadow(0 6px 18px rgba(244,166,184,.3));text-shadow:none}.bpn-lede{margin:12px auto 0;max-width:32ch;font-size:clamp(16px,4.3vw,19px);color:var(--bpn-cream-dim)}.bpn-scene{grid-area:scene;min-height:0}.bpn-dock{grid-area:dock;position:relative;z-index:2}.bpn-hint{margin:0 0 10px;min-height:2.6em;display:flex;align-items:flex-end;font:400 11px/1.4 var(--bpn-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--bpn-cream-dim)}.bpn-ledger{list-style:none;margin:0;padding:0}.bpn-slot{position:relative;color:var(--bpn-ink);--bpn-slot-c: var(--bpn-blush);--bpn-slot-ink: var(--bpn-ink)}.bpn-slot-num{font:600 11px/1 var(--bpn-mono);letter-spacing:.04em}.bpn-slot-body{display:grid;gap:2px;min-width:0}.bpn-slot-label{font:400 10.5px/1.2 var(--bpn-mono);letter-spacing:.12em;text-transform:uppercase;color:#3a1430a8}.bpn-slot-from{color:var(--bpn-cherry)}.bpn-slot-value{font:400 clamp(18px,5vw,22px)/1.15 var(--bpn-display);overflow-wrap:anywhere;color:var(--bpn-ink)}.bpn-slot-note{font-size:14px;line-height:1.35;color:#3a1430cc}.bpn-slot-wait,.bpn-controls,.bpn-hint{display:none}.bpn-slot{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;text-align:left;padding:12px 16px 13px 12px;background:linear-gradient(170deg,#fff7f8,var(--bpn-paper-2));border-radius:16px 4px;box-shadow:0 10px 24px -14px #000c,inset 0 -3px #3a143014}.bpn-slot-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 46% 46%/60% 60% 40% 40%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.65),transparent 34%),var(--bpn-slot-c);color:var(--bpn-slot-ink);box-shadow:inset 0 -3px #0000001f,0 0 0 2px #ffffffb3}html:not(.bpn-motion) .bpn-stage{display:flex;flex-direction:column;text-align:center;padding-bottom:56px}html:not(.bpn-motion) .bpn-bar{order:1}html:not(.bpn-motion) .bpn-head{order:2}html:not(.bpn-motion) .bpn-art{order:3}html:not(.bpn-motion) .bpn-dock{order:4}html:not(.bpn-motion) .bpn-art{position:relative;inset:auto;z-index:0;width:min(100%,460px);height:auto;aspect-ratio:400 / 470;margin:18px auto 0;-webkit-mask-image:linear-gradient(#000 78%,transparent 100%);mask-image:linear-gradient(#000 78%,transparent 100%)}html:not(.bpn-motion) .bpn-head{padding-top:34px}html:not(.bpn-motion) .bpn-ledger{display:grid;gap:12px;width:min(100%,520px);margin:4px auto 0}html:not(.bpn-motion) .bpn-slot:nth-child(odd){transform:rotate(-.6deg)}html:not(.bpn-motion) .bpn-slot:nth-child(2n){transform:rotate(.5deg)}html:not(.bpn-motion) .bpn-done{max-width:520px;margin:30px auto 0;padding:24px 20px 26px;border-radius:20px;background:var(--bpn-velvet);color:var(--bpn-cream);text-shadow:none;box-shadow:0 20px 40px -24px #000c,inset 0 0 0 1px #e3c27f40}.bpn-done-title{margin:0 0 16px;font:400 clamp(26px,7.4vw,40px)/1.1 var(--bpn-display);color:var(--bpn-cream)}.bpn-done-title span{color:var(--bpn-blush)}.bpn-motion .bpn-stage{height:100vh;height:100svh;min-height:0;padding:0 max(16px,var(--bpn-safe-r)) 0 max(16px,var(--bpn-safe-l));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"bar" "head" "scene" "dock";touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.bpn-motion .bpn-stage.is-done{touch-action:auto}.bpn-motion .bpn-canvas{display:block;opacity:0;transition:opacity .6s ease}.bpn-motion .bpn-stage.is-live .bpn-canvas{opacity:1}.bpn-motion .bpn-stage.is-live .bpn-art{visibility:hidden}.bpn-motion .bpn-art{top:120px;right:0;bottom:200px;left:0;height:auto;width:100%;max-height:calc(100% - 320px)}.bpn-motion .bpn-hits{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.bpn-hit{position:absolute;pointer-events:none;padding:0;margin:0;border:0;border-radius:40%;background:transparent;-webkit-tap-highlight-color:transparent}.bpn-hit:focus{outline:none}.bpn-hit:focus-visible{outline:3px dashed var(--bpn-blush-hi);outline-offset:4px}.bpn-motion .bpn-head{padding-top:8px}.bpn-motion .bpn-kicker{font-size:10.5px;margin-bottom:2px}.bpn-motion .bpn-title{font-size:clamp(32px,9.4vw,66px)}.bpn-motion .bpn-lede{display:none}.bpn-motion .bpn-dock{margin:0 calc(-1*max(16px,var(--bpn-safe-r))) 0 calc(-1*max(16px,var(--bpn-safe-l)));padding:26px max(16px,var(--bpn-safe-r)) calc(var(--bpn-safe-b) + 14px) max(16px,var(--bpn-safe-l));background:linear-gradient(#2a0f2200,#2a0f22db 26px,#2a0f22f5)}.bpn-motion .bpn-hint{display:flex}.bpn-motion .bpn-stage.is-resting .bpn-hint{color:var(--bpn-blush)}.bpn-motion .bpn-slot{grid-template-columns:36px minmax(0,1fr);gap:11px;padding:9px 14px 10px 10px;min-height:72px}.bpn-motion .bpn-slot-num{width:36px;height:36px}.bpn-motion .bpn-slot:not(.is-placed){background:#fdf2ec0f;color:var(--bpn-cream);box-shadow:inset 0 0 0 1.5px #fdf2ec33}.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-num{background:transparent;color:var(--bpn-cream-faint);box-shadow:inset 0 0 0 1.5px #fdf2ec47}.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-label{color:var(--bpn-cream-dim)}.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-dot,.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-from{display:none}.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-wait{display:block;font:400 11px/1.3 var(--bpn-mono);letter-spacing:.02em;color:var(--bpn-cream-faint)}.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-value,.bpn-motion .bpn-slot:not(.is-placed) .bpn-slot-note{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.bpn-motion .bpn-slot.is-fresh{animation:bpn-gloss .8s cubic-bezier(.2,.8,.2,1)}@keyframes bpn-gloss{0%{transform:translateY(10px) rotate(-1.5deg) scale(.96);box-shadow:0 0 0 3px var(--bpn-slot-c),0 0 30px #f4a6b899}60%{box-shadow:0 0 0 3px #f4a6b866,0 0 18px #f4a6b84d}to{transform:none}}.bpn-motion .bpn-controls{display:flex;align-items:center;gap:14px;margin-top:12px}.bpn-pips{display:flex;gap:6px;flex:none}.bpn-pip{width:10px;height:13px;border-radius:50% 50% 45% 45%/62% 62% 38% 38%;box-shadow:inset 0 0 0 1.5px #fdf2ec6b;transition:background .3s ease,box-shadow .3s ease}.bpn-pip.is-on{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.7),transparent 40%),var(--bpn-pip-c, var(--bpn-blush));box-shadow:0 0 8px #f4a6b899}.bpn-paint{flex:1;min-height:54px;padding:0 20px;border:0;border-radius:16px;background:linear-gradient(#ffd6e0,var(--bpn-blush) 45%,#e9849f);color:#3a0f26;font:400 20px/1 var(--bpn-display);letter-spacing:.01em;box-shadow:inset 0 -4px #8c1e4659,0 10px 22px -12px #000c;cursor:pointer;touch-action:none;transition:transform .12s ease,filter .2s ease}.bpn-paint:hover{filter:brightness(1.05)}.bpn-paint:active{transform:translateY(2px);box-shadow:inset 0 -2px #8c1e4659}.bpn-motion .bpn-stage:not(.is-done) .bpn-done{display:none}.bpn-motion .bpn-stage.is-done .bpn-controls,.bpn-motion .bpn-stage.is-done .bpn-hint{display:none}.bpn-motion .bpn-done{animation:bpn-rise .8s cubic-bezier(.2,.8,.2,1) both;text-align:center}.bpn-motion .bpn-done .bpn-btn{width:100%;max-width:420px}@keyframes bpn-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:899px),(max-height:819px){.bpn-motion .bpn-slot:not(.is-current){position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.bpn-motion .bpn-stage.is-done .bpn-ledger{display:none}}.bpn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:1.5px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:600 15px/1 var(--bpn-body);text-decoration:none;text-shadow:none;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.bpn-btn-solid{background:var(--bpn-cherry);border-color:var(--bpn-cherry);color:var(--bpn-cream)}.bpn-btn-solid:hover{background:var(--bpn-cherry-deep);border-color:var(--bpn-cherry-deep)}.bpn-stage .bpn-btn-solid{background:linear-gradient(#ffd6e0,var(--bpn-blush) 45%,#e9849f);border-color:transparent;color:#3a0f26}.bpn-btn:disabled{opacity:.45;cursor:not-allowed}.bpn a:focus-visible,.bpn button:focus-visible{outline:3px solid var(--bpn-blush);outline-offset:3px}.bpn .bpn-hit:focus-visible{outline:3px dashed var(--bpn-blush-hi);outline-offset:4px}.bpn-details a:focus-visible,.bpn-details button:focus-visible{outline-color:var(--bpn-cherry)}.bpn-details{position:relative;outline:none;padding:64px max(20px,var(--bpn-safe-r)) calc(var(--bpn-safe-b) + 36px) max(20px,var(--bpn-safe-l));background:radial-gradient(120% 60% at 85% 0%,rgba(244,166,184,.28),transparent 60%),radial-gradient(80% 50% at 0% 100%,rgba(186,164,226,.18),transparent 60%),var(--bpn-paper)}.bpn-motion .bpn-details{padding-top:72px}.bpn-wrap{max-width:880px;margin:0 auto}.bpn-eyebrow{margin:0 0 6px;font:400 11.5px/1.3 var(--bpn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bpn-cherry)}.bpn-script{margin:0 0 -6px;font:400 clamp(30px,8vw,44px)/1 var(--bpn-script);color:#d6708c}.bpn-dtitle{margin:0 0 14px;font:400 clamp(40px,11vw,76px)/1.04 var(--bpn-display);color:var(--bpn-ink)}.bpn-dlede{margin:0;max-width:44ch;font-size:clamp(16px,4.3vw,19px);color:var(--bpn-dim)}.bpn-facts{margin:34px 0 0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--bpn-line)}.bpn-facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--bpn-line)}.bpn-facts dt{font:400 11px/1.7 var(--bpn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bpn-dim)}.bpn-facts dd{margin:0;display:grid;gap:3px}.bpn-facts b{font:650 17px/1.25 var(--bpn-body)}.bpn-facts dd>span{font-size:14.5px;color:var(--bpn-dim)}.bpn-plan{margin-top:40px}.bpn-plan-title{margin:0 0 12px;font:400 28px/1.1 var(--bpn-display);color:var(--bpn-ink)}.bpn-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;column-gap:32px}.bpn-list li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px dashed var(--bpn-line);font-size:15.5px}.bpn-time{flex:none;min-width:62px;padding:5px 9px;border-radius:999px;text-align:center;font:600 12px/1 var(--bpn-mono);color:#3a0f26;background:linear-gradient(#ffe2ea,var(--bpn-blush));box-shadow:inset 0 -2px #8c1e462e}.bpn-list li:nth-child(4n+2) .bpn-time{background:linear-gradient(#ff8a9a,var(--bpn-cherry));color:#fff2f4}.bpn-list li:nth-child(4n+3) .bpn-time{background:linear-gradient(#fbe9bf,var(--bpn-gold))}.bpn-list li:nth-child(4n+4) .bpn-time{background:linear-gradient(#ece4fb,var(--bpn-lilac))}.bpn-plan-note{margin:14px 0 0;font-size:14.5px;color:var(--bpn-dim);max-width:52ch}.bpn-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.bpn-details .bpn-btn{color:var(--bpn-ink)}.bpn-details .bpn-btn:hover{border-color:var(--bpn-cherry);color:var(--bpn-cherry)}.bpn-rsvp{margin-top:54px;padding:30px 22px;border-radius:24px;background:radial-gradient(90% 70% at 100% 0%,rgba(244,166,184,.3),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(186,164,226,.18),transparent 60%),linear-gradient(165deg,var(--bpn-rose),var(--bpn-night));color:var(--bpn-cream);box-shadow:inset 0 0 0 1px #e3c27f66,inset 0 0 0 5px #2a0f2280,0 30px 60px -32px #3a1430d9}.bpn-rsvp .bpn-eyebrow{color:var(--bpn-gold)}.bpn-rsvp-title{margin:0 0 8px;font:400 clamp(30px,8.4vw,48px)/1.08 var(--bpn-display);color:var(--bpn-blush-hi)}.bpn-rsvp-note{margin:0 0 20px;color:var(--bpn-cream-dim);font-size:15px;max-width:46ch}.bpn-form label{display:block;margin-bottom:8px;font:400 11px/1 var(--bpn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bpn-gold)}.bpn-form input{width:100%;padding:12px 2px;border:0;border-bottom:2px solid var(--bpn-cream);border-radius:0;background:transparent;color:var(--bpn-cream);font:500 20px/1.2 var(--bpn-body)}.bpn-form input::placeholder{color:#fdf2ec73}.bpn-form input:focus{outline:none;border-bottom-color:var(--bpn-blush)}.bpn-answers{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.bpn-rsvp .bpn-btn{color:var(--bpn-cream);border-color:#fdf2ecb3}.bpn-rsvp .bpn-btn-solid{background:linear-gradient(#ffd6e0,var(--bpn-blush) 45%,#e9849f);border-color:transparent;color:#3a0f26}.bpn-rsvp .bpn-btn:hover:not(:disabled){background:var(--bpn-gold);border-color:var(--bpn-gold);color:#3a0f26}.bpn-rsvp .bpn-btn:focus-visible{outline-color:var(--bpn-blush)}#status{min-height:1.5em;margin:16px 0 0;font-weight:600;color:var(--bpn-cream)}.bpn-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:44px;padding-top:20px;border-top:1px solid var(--bpn-line)}.bpn-foot a{color:var(--bpn-dim);font:400 12px/1 var(--bpn-mono);letter-spacing:.02em;text-decoration:none}.bpn-foot a:hover{color:var(--bpn-cherry)}@media(min-width:900px),(orientation:landscape)and (min-width:560px){.bpn-motion .bpn-stage{grid-template-columns:minmax(0,1fr) minmax(290px,400px);grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,1fr);grid-template-areas:"bar bar" "scene ." "scene head" "scene dock" "scene .";column-gap:clamp(16px,4vw,64px);padding-right:max(16px,var(--bpn-safe-r),4vw);padding-bottom:calc(var(--bpn-safe-b) + 12px)}.bpn-motion .bpn-head{text-align:left;padding:0 0 18px}.bpn-motion .bpn-dock{margin:0;padding:16px;border-radius:22px;background:#2a0f22bd;box-shadow:inset 0 0 0 1px #e3c27f2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bpn-motion .bpn-hint{min-height:0}.bpn-motion .bpn-done{text-align:left}.bpn-motion .bpn-done{margin-top:14px}.bpn-motion .bpn-done-title{font-size:clamp(24px,2.3vw,30px);margin-bottom:12px}.bpn-motion .bpn-art{top:60px;right:40%;bottom:20px;left:0;max-height:none}}@media(min-width:900px)and (min-height:820px){.bpn-motion .bpn-title{font-size:clamp(46px,4.4vw,66px)}.bpn-motion .bpn-lede{display:block;margin:12px 0 0;font-size:17px}.bpn-motion .bpn-ledger{display:grid;gap:7px}.bpn-motion .bpn-slot{min-height:58px;padding-top:7px;padding-bottom:8px}.bpn-motion .bpn-slot-value{font-size:17px}.bpn-motion .bpn-slot-note{font-size:12.5px}}@media(orientation:landscape)and (max-height:500px){.bpn-motion .bpn-kicker{display:none}.bpn-motion .bpn-title{font-size:30px}.bpn-motion .bpn-head{padding-bottom:8px}.bpn-motion .bpn-hint{display:none}.bpn-motion .bpn-slot{min-height:0}.bpn-motion .bpn-paint{min-height:46px}}@media(min-width:900px){.bpn-facts{grid-template-columns:1fr 1fr;column-gap:40px}.bpn-list{grid-template-columns:1fr 1fr}.bpn-rsvp{padding:42px 46px}.bpn-details{padding-top:96px}}
