:root{--cb-ivory: #fbf4ec;--cb-paper: #fffaf4;--cb-blush: #f2c4c0;--cb-rose: #d98c94;--cb-wine: #8a3f4c;--cb-ink: #3b2a2c;--cb-muted: rgba(59, 42, 44, .66);--cb-line: rgba(59, 42, 44, .14);--cb-sage: #8fa587;--cb-gold: #c9a46a;--cb-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--cb-sans: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cb-safe-t: env(safe-area-inset-top, 0px);--cb-safe-b: env(safe-area-inset-bottom, 0px);--cb-gutter: max(16px, env(safe-area-inset-left, 0px));--cb-bq: 200px;--cb-dusk: #6f7650;--cb-on-photo: #fffaf2;--cb-on-photo-muted: rgba(255, 250, 242, .86);--cb-champagne: #f6dcc0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body.cb{margin:0;background:var(--cb-ivory);color:var(--cb-ink);font-family:var(--cb-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}.cb *,.cb *:before,.cb *:after{box-sizing:border-box}.cb [hidden]{display:none!important}.cb-defs{position:absolute;width:0;height:0;overflow:hidden}.cb-skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:8px;background:var(--cb-ink);color:var(--cb-paper);font-weight:500;text-decoration:none}.cb-skip:focus{top:calc(12px + var(--cb-safe-t))}.cb-eyebrow{margin:0 0 10px;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--cb-wine)}.cb-h2{margin:0 0 16px;font-family:var(--cb-serif);font-weight:500;font-size:clamp(36px,9vw,60px);line-height:1.02;letter-spacing:-.01em}.cb-h2 em,.cb-headline em{font-style:italic;font-weight:400;color:var(--cb-rose)}.cb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid rgba(59,42,44,.35);border-radius:999px;background:transparent;color:var(--cb-ink);font:500 14px/1 var(--cb-sans);letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}.cb-btn-solid{background:var(--cb-ink);border-color:var(--cb-ink);color:var(--cb-paper)}.cb-btn-ghost{background:#fffaf4b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(hover:hover){.cb-btn:hover{border-color:var(--cb-ink);background:#3b2a2c0f}.cb-btn-solid:hover{background:var(--cb-wine);border-color:var(--cb-wine)}}.cb-btn:focus-visible,.cb-replay:focus-visible,.cb-bouquet:focus-visible,.cb-down:focus-visible{outline:2px solid var(--cb-wine);outline-offset:3px}.cb-btn:disabled{opacity:.45;cursor:not-allowed}.cb-stage{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:calc(84px + var(--cb-safe-t)) var(--cb-gutter) calc(84px + var(--cb-safe-b));overflow:hidden;background:var(--cb-dusk);color:var(--cb-on-photo);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.cb-backdrop,.cb-backdrop>*{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cb-glow{background:radial-gradient(ellipse 60% 38% at 78% 36%,rgba(255,236,196,.85),transparent 70%),radial-gradient(ellipse 70% 50% at 18% 30%,rgba(62,74,38,.75),transparent 75%),linear-gradient(180deg,#8d8a62,#a8a27a 40%,#7c8450 62%,#5f7c34 74%,#6f8e3c)}.cb-plate{overflow:hidden;transition:opacity .9s ease}.cb-plate img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.cb-js:not(.cb-plate-in) .cb-plate{opacity:0}.cb-plate-in .cb-plate:not(.cb-plate-soft) img{animation:cb-settle 9s cubic-bezier(.2,.6,.2,1) both}@keyframes cb-settle{0%{transform:scale(1.07)}to{transform:none}}.cb-js .cb-plate-soft{opacity:0}.cb-plate-soft img{filter:blur(5px);transform:scale(1.06)}html:not(.cb-js) .cb-plate-soft{opacity:1}.cb-scrim{background:linear-gradient(180deg,rgba(28,24,14,.5) 0%,rgba(28,24,14,.18) 22%,transparent 36%),linear-gradient(0deg,rgba(28,24,14,.42) 0%,transparent 22%)}.cb-scrim:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 75% 60% at 50% 46%,transparent 40%,rgba(20,16,8,.55) 100%);opacity:0;transition:opacity .5s ease}.cb-slow .cb-scrim:after{opacity:1}.cb-flash{opacity:0;background:radial-gradient(circle at 50% 46%,rgba(255,246,228,.95) 0%,rgba(255,226,190,.55) 35%,transparent 75%)}.cb-top{position:absolute;z-index:6;top:calc(18px + var(--cb-safe-t));left:var(--cb-gutter);right:var(--cb-gutter);display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cb-on-photo-muted);text-shadow:0 1px 8px rgba(0,0,0,.35);pointer-events:none}.cb-play{display:none}.cb-js .cb-play{display:revert}.cb-js.cb-revealed .cb-play,.cb-js.cb-catching .cb-intro,.cb-js.cb-catching .cb-escape{display:none}.cb-js.cb-catching .cb-bouquet{display:block}.cb-intro{position:absolute;z-index:4;top:calc(60px + var(--cb-safe-t));left:var(--cb-gutter);right:var(--cb-gutter);text-align:center;pointer-events:none;text-shadow:0 2px 18px rgba(20,16,8,.45)}.cb-intro .cb-eyebrow{color:var(--cb-champagne)}.cb-headline{margin:0;font-family:var(--cb-serif);font-weight:500;font-size:clamp(44px,12vw,84px);line-height:.95;letter-spacing:-.015em;color:var(--cb-on-photo)}.cb-headline em{color:var(--cb-champagne)}.cb-sub{margin:12px auto 0;max-width:30ch;min-height:3.1em;font-size:15px;line-height:1.45;color:var(--cb-on-photo-muted)}.cb-ring{--cb-ring-r: 96px;position:absolute;z-index:2;left:50%;top:45%;width:calc(var(--cb-ring-r) * 2);height:calc(var(--cb-ring-r) * 2);margin:calc(var(--cb-ring-r) * -1) 0 0 calc(var(--cb-ring-r) * -1);pointer-events:none}.cb-ring-line{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px dashed rgba(255,240,214,.85);background:radial-gradient(circle,rgba(255,250,244,.35) 0%,rgba(255,250,244,.08) 62%,transparent 70%);animation:cb-turn 22s linear infinite,cb-breathe 2.6s ease-in-out infinite;transition:border-color .2s,box-shadow .2s,background .2s,opacity .3s}.cb-art .cb-ring-line{border:0;animation:none;opacity:0;background:radial-gradient(circle,rgba(255,236,200,.55) 0%,rgba(255,214,160,.22) 55%,transparent 72%)}.cb-hoop{position:absolute;max-width:none;height:auto;animation:cb-sway 5.5s ease-in-out infinite alternate;filter:drop-shadow(0 6px 10px rgba(20,16,8,.25));transition:filter .25s}@keyframes cb-sway{0%{rotate:-1.1deg}to{rotate:1.1deg}}.cb-ring-now{position:absolute;left:50%;bottom:-46px;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:#fffaf2eb;color:var(--cb-wine);font:600 12px/1 var(--cb-sans);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 20px -6px #14100880;opacity:0;transition:opacity .15s,transform .2s}.cb-hot .cb-ring-line{opacity:1;border-style:solid;border-color:var(--cb-rose);box-shadow:0 0 0 6px #f2c4c059,0 0 40px #d98c9473}.cb-art.cb-hot .cb-ring-line{box-shadow:0 0 60px 18px #ffdcaa73;animation:cb-breathe .9s ease-in-out infinite}.cb-hot .cb-hoop{filter:drop-shadow(0 0 6px rgba(255,226,170,.95)) drop-shadow(0 0 18px rgba(255,210,150,.6))}.cb-hot .cb-ring-now{opacity:1;animation:cb-pulse .9s ease-in-out infinite}.cb-shake .cb-ring-line,.cb-shake .cb-hoop{animation:cb-nope .4s ease-out}@keyframes cb-turn{to{rotate:360deg}}@keyframes cb-breathe{50%{scale:1.05}}@keyframes cb-pulse{50%{scale:1.08}}@keyframes cb-nope{25%{translate:-5px 0}75%{translate:5px 0}}.cb-bouquet{position:absolute;z-index:5;left:0;top:0;width:var(--cb-bq);height:var(--cb-bq);padding:0;border:0;background:none;cursor:pointer;will-change:transform,opacity;transform-origin:50% 50%}.cb-bouquet.cb-behind{z-index:1}.cb-bouquet svg{display:block;width:100%;height:100%;filter:drop-shadow(0 10px 14px rgba(90,31,42,.18))}.cb-sprite,.cb-hero{position:absolute;display:none;pointer-events:none}.cb-sprite{top:0;right:0;bottom:0;left:0;background-image:var(--cb-tumble);background-size:calc(var(--cb-tcols, 8) * 100%) calc(var(--cb-trows, 4) * 100%);background-repeat:no-repeat}.cb-hero{left:19%;top:19%;width:62%;height:62%;object-fit:contain;opacity:0}.cb-art .cb-bouquet svg{display:none}.cb-art .cb-sprite,.cb-art .cb-hero:not([hidden]){display:block}.cb-bouquet.cb-away{visibility:hidden}.cb-petals{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.cb-catching .cb-petals,.cb-revealed .cb-petals{z-index:6}.cb-petal{position:absolute;left:0;top:0;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);will-change:transform,opacity}.cb-petal i{display:block;width:100%;height:100%;background-image:var(--cb-petal);background-size:calc(var(--cb-pcols, 4) * 100%) calc(var(--cb-prows, 3) * 100%)}.cb-petal-drawn i{background:currentColor;border-radius:50%/62% 62% 38% 38%;width:70%;margin:0 auto}.cb-petal-near{filter:blur(2.5px)}.cb-escape{position:absolute;z-index:6;left:0;right:0;bottom:calc(24px + var(--cb-safe-b));text-align:center}.cb-js .cb-escape{display:block}.cb-js.cb-revealed .cb-escape{display:none}.cb-nudge .cb-escape .cb-btn{border-color:var(--cb-ink);background:var(--cb-paper)}.cb-card{position:relative;z-index:4;width:min(100%,420px);padding:30px 26px 26px;background:var(--cb-paper);color:var(--cb-ink);border-radius:18px;box-shadow:0 40px 80px -30px #14100899,0 2px #c9a46a40;text-align:center;user-select:text;-webkit-user-select:text}.cb-card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(201,164,106,.45);border-radius:12px;pointer-events:none}.cb-js .cb-card{visibility:hidden;opacity:0}.cb-js.cb-revealed .cb-card{visibility:visible;opacity:1}.cb-card-emblem{display:block;width:54px;height:auto;margin:0 auto 10px}.cb-emblem-img{width:108px;margin:-10px auto 6px}.cb-card-lead{margin:0;font-family:var(--cb-serif);font-style:italic;font-size:18px;color:var(--cb-muted)}.cb-card-title{margin:6px 0 8px;font-family:var(--cb-serif);font-weight:500;font-size:clamp(40px,11vw,56px);line-height:1;outline:none}.cb-card-title em{display:block;margin:2px 0;font-style:italic;font-weight:400;font-size:.7em;color:var(--cb-rose)}.cb-card-line{margin:0 auto 18px;max-width:28ch;font-family:var(--cb-serif);font-size:19px;line-height:1.35}.cb-card-facts{margin:0 0 20px;padding:14px 0 0;border-top:1px solid var(--cb-line);display:grid;gap:8px}.cb-card-facts div{display:grid;gap:1px}.cb-card-facts dt{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--cb-muted)}.cb-card-facts dd{margin:0;font-size:15px}.cb-card-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.cb-card-actions .cb-btn{flex:1 1 140px}.cb-replay{margin-top:14px;padding:6px 10px;border:0;background:none;color:var(--cb-muted);font:400 13px/1 var(--cb-sans);letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.cb-down{position:absolute;z-index:6;left:50%;bottom:calc(22px + var(--cb-safe-b));transform:translate(-50%);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cb-on-photo-muted);text-decoration:none;text-shadow:0 1px 8px rgba(0,0,0,.4)}.cb-js .cb-down{display:none}.cb-js.cb-revealed .cb-down{display:block}.cb-down i{font-style:normal}.cb-wrap{width:min(100% - 2 * var(--cb-gutter),880px);margin:0 auto}.cb-details{padding:88px 0 56px;outline:none;border-top:1px solid var(--cb-line)}.cb-lede{max-width:58ch;margin:0 0 32px;font-size:17px;color:var(--cb-muted)}.cb-facts{margin:0 0 32px;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--cb-line)}.cb-facts div{padding:18px 0;border-bottom:1px solid var(--cb-line)}.cb-facts dt{margin-bottom:4px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cb-wine)}.cb-facts dd{margin:0;display:grid;gap:2px}.cb-facts b{font-family:var(--cb-serif);font-weight:500;font-size:22px;line-height:1.2}.cb-facts span{font-size:14px;color:var(--cb-muted)}@media(min-width:560px){.cb-facts{column-gap:32px}}.cb-actions{display:flex;flex-wrap:wrap;gap:12px}.cb-rsvp{padding:40px 0 96px}.cb-rsvp-card{position:relative;max-width:520px;margin:0 auto;padding:36px 26px 30px;background:var(--cb-paper);border-radius:18px;box-shadow:0 30px 60px -32px #5a1f2a4d;text-align:center}.cb-rsvp-card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(201,164,106,.45);border-radius:12px;pointer-events:none}.cb-form{position:relative;display:grid;gap:10px;text-align:left;margin-top:8px}.cb-form label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cb-muted)}.cb-form input{width:100%;min-height:50px;padding:0 16px;border:1px solid rgba(59,42,44,.25);border-radius:12px;background:#fff;color:var(--cb-ink);font:400 16px var(--cb-sans)}.cb-form input:focus{outline:2px solid var(--cb-rose);outline-offset:1px;border-color:transparent}.cb-answers{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.cb-answers .cb-btn{flex:1 1 180px}#status{min-height:1.5em;margin:6px 0 0;font-size:15px;color:var(--cb-wine);text-align:center}.cb-foot{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding:26px var(--cb-gutter) calc(26px + var(--cb-safe-b));border-top:1px solid var(--cb-line);font-size:13px;color:var(--cb-muted)}.cb-foot nav{display:flex;flex-wrap:wrap;gap:8px 18px}.cb-foot a{color:inherit}@media(prefers-reduced-motion:reduce){.cb-ring-line,.cb-hoop,.cb-plate img{animation:none!important}}.cb-bouquet svg,.cb-card-emblem{overflow:visible}.cb-js.cb-revealed .cb-top{opacity:0;transition:opacity .4s}.cb-js.cb-revealed .cb-stage{padding-top:calc(28px + var(--cb-safe-t));padding-bottom:calc(60px + var(--cb-safe-b))}
