:root{--ivory:#faf6ee;--paper:#f4eee2;--navy:#1e2d52;--toile:#6f84b3;--powder:#c8d3e8;--gold:#b08f5e;--ink-soft:#4a5677;--page:#e9e3d6;--serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--body:"Cormorant Garamond","Garamond","Times New Roman",serif;--script:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#141c33}}:root[data-theme=dark]{--page:#141c33}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}body{background:var(--page);min-height:100%;color:var(--navy);font-family:var(--body);margin:0;font-size:19px;line-height:1.55}body.locked{height:100%;overflow:hidden}img{max-width:100%;display:block}.cannage{background-color:var(--ivory);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cg fill='none' stroke='%236F84B3' stroke-opacity='.16' stroke-width='.8'%3E%3Cpath d='M0 22 22 0 44 22 22 44Z'/%3E%3C/g%3E%3Cg fill='%23B08F5E' fill-opacity='.35'%3E%3Ccircle cx='22' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='22' r='1.1'/%3E%3Ccircle cx='44' cy='22' r='1.1'/%3E%3Ccircle cx='22' cy='44' r='1.1'/%3E%3C/g%3E%3C/svg%3E")}#intro{z-index:20;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;transition:opacity 1s,visibility 1s;display:flex;position:fixed;inset:0}#intro.gone{opacity:0;visibility:hidden}.intro-top{text-align:center}.intro-top .mantra{font-family:var(--body);color:var(--ink-soft);margin:0 0 4px;font-size:17px;font-style:italic}.intro-top h1{font-family:var(--script);color:var(--navy);margin:0;font-size:clamp(46px,13vw,64px);font-weight:400;line-height:1.05}.envelope{aspect-ratio:1.45;perspective:1200px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:min(84vw,340px);padding:0;position:relative}.env-back{background:var(--liner) center/cover;border-radius:6px;position:absolute;inset:0;box-shadow:0 18px 40px -18px #1e2d5273}.env-back:after{content:"";background:#faf6ee40;border-radius:6px;position:absolute;inset:0}.env-card{background:var(--ivory);z-index:2;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;height:84%;transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .55s;display:flex;position:absolute;top:9%;left:7%;right:7%;box-shadow:0 2px 8px #1e2d521f}.env-card span{font-family:var(--script);color:var(--navy);font-size:clamp(40px,11vw,54px);line-height:1}.env-card small{font-family:var(--serif);letter-spacing:.2em;color:var(--gold);margin-top:6px;font-size:11px}.env-front{z-index:3;pointer-events:none;position:absolute;inset:0}.env-front:before,.env-front:after{content:"";background:#f2ebdd;position:absolute;inset:0}.env-front:before{clip-path:polygon(0 0,52% 56%,0 100%);background:#efe7d7}.env-front:after{clip-path:polygon(100% 0,48% 56%,100% 100%);background:#efe7d7}.env-bottom{z-index:4;clip-path:polygon(0 100%,50% 48%,100% 100%);filter:drop-shadow(0 -1px #b08f5e40);background:#f6f0e4;border-radius:0 0 6px 6px;position:absolute;inset:0}.env-flap{z-index:5;transform-origin:top;height:62%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.5,0,.3,1),z-index 0s .4s;position:absolute;top:0;left:0;right:0}.env-flap:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px #1e2d521f);background:#f8f2e6;border-radius:6px 6px 0 0;position:absolute;inset:0}.seal{background:radial-gradient(circle at 35% 30%,#9db0d6 0%,#6f84b3 45%,#4e6396 100%);border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;transition:transform .5s,opacity .4s;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%,-62%);box-shadow:inset 0 0 0 5px #ffffff1f,inset 0 -4px 8px #141e3c59,0 4px 10px #1e2d5259}.seal:before{content:"";border:1.5px dashed #f0f4fc8c;border-radius:50%;position:absolute;inset:9px}.seal b{font-family:var(--serif);color:#eef2fa;text-shadow:0 -1px #141e3c66;font-size:30px;font-weight:400}.envelope:focus-visible{outline:2px solid var(--toile);outline-offset:8px;border-radius:8px}.tap-hint{color:var(--ink-soft);margin:0;font-size:17px;font-style:italic;animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}.opened .seal{opacity:0;transform:translate(-50%,-62%)scale(.4)}.opened .env-flap{z-index:1;transform:rotateX(180deg)}.opened .env-card{transform:translateY(-58%)}.opened~.tap-hint{visibility:hidden}main{max-width:480px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 60px #0000002e}section{text-align:center;padding:64px 28px;position:relative}.blend{mix-blend-mode:multiply}.feather{-webkit-mask-image:radial-gradient(50% 50%,#000 58%,#0000 100%);mask-image:radial-gradient(50% 50%,#000 58%,#0000 100%)}.rule{color:var(--gold);justify-content:center;align-items:center;gap:12px;max-width:240px;margin:22px auto;display:flex}.rule:before,.rule:after{content:"";opacity:.55;background:currentColor;flex:1;height:1px}.rule svg{width:22px;height:14px}.hero{padding-top:28px;padding-bottom:40px}.hero .bow{width:62%;margin:0 auto -6px}.hero .jain{width:46px;margin:6px auto 4px}.mantra{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:15px}.lede{color:var(--ink-soft);max-width:30ch;margin:18px auto 6px;font-size:20px;font-style:italic}.name{font-family:var(--serif);letter-spacing:-.01em;margin:6px 0 0;font-size:clamp(58px,17vw,84px);font-weight:400;line-height:.95}.occasion{font-family:var(--script);color:var(--toile);margin:2px 0 0;font-size:clamp(40px,11vw,52px);line-height:1.1}.horse{width:76px;margin:14px auto 0}.details{border-top:1px solid #b08f5e73;border-bottom:1px solid #b08f5e73;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:start;gap:10px;margin:26px 0 0;padding:18px 0;display:grid}.details .sep{background:#b08f5e73;height:100%}.details div{font-size:16px;line-height:1.35}.details strong{font-family:var(--serif);color:var(--navy);margin-bottom:2px;font-size:17px;font-weight:500;display:block}.hero-art{justify-content:space-between;align-items:flex-end;gap:0;margin:20px -28px -40px;display:flex}.hero-art .teddy{width:52%}.hero-art .balloons{width:46%;margin-bottom:12px}.toile-band{background:var(--liner) center/160px repeat;border-top:1px solid #b08f5e80;border-bottom:1px solid #b08f5e80;height:18px}.toile-band:before{content:"";display:block}.count{background:var(--paper)}.script-title{font-family:var(--script);color:var(--navy);margin:0 0 6px;font-size:clamp(44px,12vw,58px);font-weight:400;line-height:1}.sub{color:var(--ink-soft);margin:0;font-style:italic}.timer{grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0 8px;display:grid}.timer div{background:var(--ivory);border:1px solid #6f84b359;border-radius:999px 999px 10px 10px;padding:18px 4px 12px}.timer b{font-family:var(--serif);color:var(--navy);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(28px,8vw,36px);font-weight:400;line-height:1;display:block}.timer span{color:var(--ink-soft);font-size:15px}.car{width:78%;margin:22px auto -30px}.venue .eiffel{width:58%;max-width:230px;margin:0 auto 10px}.venue h3{font-family:var(--serif);margin:8px 0 6px;font-size:28px;font-weight:400;line-height:1.15}.venue address{color:var(--ink-soft);max-width:30ch;margin:0 auto;font-style:normal}.btn{background:var(--navy);color:var(--ivory);font-family:var(--serif);letter-spacing:.04em;border:1px solid var(--navy);border-radius:999px;align-items:center;gap:10px;margin-top:24px;padding:13px 26px;font-size:15px;text-decoration:none;transition:background .25s,color .25s;display:inline-flex}.btn:hover{color:var(--navy);background:0 0}.btn:focus-visible{outline:2px solid var(--toile);outline-offset:3px}.btn.ghost{color:var(--navy);background:0 0}.btn.ghost:hover{background:var(--navy);color:var(--ivory)}.btn svg{width:16px;height:16px}.when{font-family:var(--serif);margin:4px 0 0;font-size:18px}.cal{background:var(--paper)}.month{font-family:var(--serif);letter-spacing:.12em;margin:14px 0 18px;font-size:22px}.grid{max-width:340px;font-family:var(--serif);grid-template-columns:repeat(7,1fr);row-gap:6px;margin:0 auto;font-size:16px;display:grid}.grid .dow{color:var(--gold);padding-bottom:8px;font-size:13px}.grid span{height:40px;color:var(--ink-soft);justify-content:center;align-items:center;display:flex;position:relative}.grid .day{color:var(--navy);font-weight:500}.grid .day:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.2-8-11.2A4.4 4.4 0 0 1 12 7a4.4 4.4 0 0 1 8 2.8C20 15.8 12 21 12 21Z' fill='none' stroke='%236F84B3' stroke-width='1.1'/%3E%3C/svg%3E") 50%/contain no-repeat;width:42px;height:42px;position:absolute}.closing .blocks{width:52%;max-width:210px;margin:0 auto 12px}.quote{font-family:var(--script);color:var(--toile);max-width:12em;margin:0 auto;font-size:clamp(34px,9.5vw,44px);line-height:1.15}.hosts{margin-top:28px}.hosts p{margin:0}.hosts .warm{color:var(--ink-soft);font-style:italic}.hosts .names{font-family:var(--serif);margin-top:6px;font-size:21px;line-height:1.5}.gifts{width:100%;margin:34px 0 -64px}footer{text-align:center;background:var(--navy);color:var(--powder);padding:22px 20px 30px;font-size:15px;font-style:italic}.music{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--ivory);width:48px;height:48px;color:var(--navy);cursor:pointer;border:1px solid #b08f5eb3;border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;box-shadow:0 6px 18px -6px #1e2d5273}.music.show{display:flex}.music:focus-visible{outline:2px solid var(--toile);outline-offset:3px}.music svg{width:20px;height:20px}.music .off,.music.muted .on{display:none}.music.muted .off{display:block}.music.playing:after{content:"";border:1px solid var(--toile);opacity:.5;border-radius:50%;animation:2.4s ease-out infinite ring;position:absolute;inset:-5px}@keyframes ring{to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}}.not-found{color:#1e2d52;background:#faf6ee;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;font-family:Cormorant Garamond,Georgia,serif;display:flex}.not-found h1{margin:0;font-family:Pinyon Script,cursive;font-size:48px;font-weight:400}.not-found a{color:#6f84b3}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}
