@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Bodoni+Moda:ital@0;1&family=Jost:wght@300;400&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg:#efe8da;--fg:#3a3226;--muted:#8a7b63;--paper:#f6f1e6;--paper-dark:#ece5d6;--env-inner:#e2d8c3;--card:#fffdf8;--ink:#3a3226;--gold:#c9a24a;--gold-hi:#f0d78c;--gold-dark:#9a7425;--shadow:#5a461e38;--display:"Bodoni Moda", "Didot", "Times New Roman", serif;--body:"Jost", "Helvetica Neue", Arial, sans-serif;--script:"Great Vibes", "Snell Roundhand", cursive;--ease:cubic-bezier(.45, .05, .25, 1);--env-ratio:7 / 5;--env-w:min(90vw, 640px, calc(80dvh * 7 / 5));--noise:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .28 0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--florals:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='340' height='340' viewBox='0 0 340 340'><defs><g id='f' fill='none' stroke-width='1.3' stroke-linecap='round'><path d='M30 300 C 80 230, 130 190, 200 165'/><path d='M200 165 C 160 120, 170 65, 225 30 C 245 85, 240 130, 200 165Z'/><path d='M200 165 C 215 115, 222 75, 225 30'/><path d='M110 205 C 65 185, 45 140, 55 95 C 100 115, 122 160, 110 205Z'/><path d='M110 205 C 90 170, 70 135, 55 95'/><path d='M125 196 C 170 215, 210 255, 220 310 C 165 290, 135 245, 125 196Z'/><path d='M125 196 C 160 230, 190 270, 220 310'/><path d='M280 250 c -25 -30 -15 -60 0 -68 c 15 8 25 38 0 68Z'/><path d='M280 250 c 30 -18 55 -8 58 8 c -10 12 -38 15 -58 -8Z'/><path d='M280 250 c -32 -12 -55 2 -55 18 c 12 10 40 8 55 -18Z'/><path d='M280 250 c 6 30 -6 55 -20 58 c -8 -14 -2 -40 20 -58Z'/><path d='M300 60 C 320 100, 315 140, 290 170 C 270 130, 275 95, 300 60Z'/><path d='M300 60 C 300 100, 296 135, 290 170'/></g></defs><use href='%23f' stroke='rgba(120,100,70,.16)' x='1.2' y='1.6'/><use href='%23f' stroke='rgba(255,255,255,.95)'/></svg>")}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);width:100%;min-height:100%;color:var(--fg);font-family:var(--body)}.envelope{width:var(--env-w);aspect-ratio:var(--env-ratio);z-index:1000;cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 14px 28px #5a461e47);transition:transform 1s var(--ease), opacity 1s var(--ease);position:fixed;top:50%;left:50%;translate:-50% -50%;container-type:inline-size}.envelope.is-leaving{opacity:0;pointer-events:none;transform:translateY(100vh)}.back,.pocket,.flap-wrap,.flap,.seal{position:absolute}.back{background:var(--noise), linear-gradient(180deg, color-mix(in srgb, var(--env-inner) 80%, black), var(--env-inner) 50%);z-index:0;border-radius:1.2cqw;inset:0}.pocket{z-index:2;background-color:var(--paper-dark);background-image:var(--noise), var(--florals), radial-gradient(ellipse at 50% 100%, #ffffff73, transparent 65%);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background-position:0 0,50%,50%;background-size:200px,45cqw,100% 100%;border-radius:1.2cqw;inset:0}.flap-wrap{z-index:4;perspective:1400px;filter:drop-shadow(0 2px 2px #6e5a3c2e)drop-shadow(0 6px 10px #6e5a3c24);pointer-events:none;inset:0}.flap{background-color:var(--paper);background-image:var(--noise), var(--florals), linear-gradient(180deg, #ffffff80, transparent 60%);clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:50% 0;transition:transform .8s var(--ease), background-color 0s .35s;background-position:0 0,50%,50%;background-size:200px,45cqw,100% 100%;border-radius:1.2cqw 1.2cqw 0 0;inset:0}.envelope.is-open .flap{background-color:var(--env-inner);transform:rotateX(180deg)}.seal{aspect-ratio:1;z-index:6;background:radial-gradient(circle at 32% 28%,#fbe7a6 0%,#dcb65f 22%,#b98d37 55%,#8c6420 85%,#6f4d15 100%);border-radius:47% 53% 49% 51%/52% 47% 53% 48%;place-items:center;width:22cqw;transition:opacity .35s,scale .4s;display:grid;top:56%;left:50%;translate:-50% -50%;box-shadow:0 1.2cqw 2.4cqw #5a3c0f59,0 .3cqw .5cqw #5a3c0f73,inset 0 .5cqw .8cqw #fff0bebf,inset 0 -.8cqw 1.5cqw #5a3c0a8c}.seal:before{content:"";background:radial-gradient(circle at 45% 38%,#e4c272,#c39845 60%,#a27a2e);border-radius:50%;position:absolute;inset:16%;box-shadow:inset 0 .6cqw 1cqw #50320a8c,inset 0 -.3cqw .5cqw #ffebaa73,0 0 0 .3cqw #825f1e99,0 0 0 .6cqw #f5dc968c,0 0 0 1cqw #825f1e4d}.seal span{z-index:1;font-family:var(--script);color:#8a6521;text-shadow:0 1px #ffecb499,0 -1px 1px #462d0573;white-space:nowrap;font-size:6.5cqw;line-height:1;position:relative}.envelope.is-open .seal{opacity:0;scale:.4}.invitation{opacity:0;min-height:100vh;transition:opacity .9s var(--ease) .2s, transform .9s var(--ease) .2s;justify-content:center;align-items:flex-start;padding:6vh 4vw;display:flex;transform:translateY(40px)scale(.97)}.invitation.is-visible{opacity:1;transform:none}.card{background:var(--card);width:min(92vw,640px);color:var(--ink);border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);outline:1px solid color-mix(in srgb, var(--gold) 30%, transparent);outline-offset:-10px;box-shadow:0 2px 14px var(--shadow);text-align:center;border-radius:3px;flex-direction:column;align-items:center;gap:1.2rem;padding:3rem 2rem 2rem;display:flex}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:clamp(9px,2.4vw,11px)}.title{font-family:var(--display);text-wrap:balance;font-size:clamp(22px,7.2vw,34px);font-weight:400;line-height:1.1}.title em{font-style:italic}.rule{background:var(--gold);width:36px;height:1px;margin:.5rem 0}.card header h1{font-family:var(--script);color:var(--gold-dark);font-size:clamp(36px,10vw,56px);font-weight:400;line-height:1.1}.card header p{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.4rem;font-size:clamp(11px,3vw,13px)}.card h2{font-family:var(--display);color:var(--gold-dark);margin-bottom:.4rem;font-size:clamp(18px,5vw,24px);font-weight:400}.card section p{font-size:clamp(12px,3.2vw,15px);line-height:1.5}.details{color:var(--muted);font-size:clamp(11px,3vw,14px);line-height:1.5}.ceremony,.reception,.countdown{width:100%;margin-top:.5rem}.countdown-timer{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.countdown-timer div{border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);text-align:center;border-radius:4px;min-width:64px;padding:.6rem .4rem}.countdown-timer span{font-family:var(--display);font-size:clamp(20px,6vw,30px);line-height:1;display:block}.countdown-timer p{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-size:10px}@media (prefers-reduced-motion:reduce){.envelope,.invitation,.flap,.seal{transition-duration:10ms!important;transition-delay:0s!important}}
