@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{color:#26342b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fffefa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{display:block}::selection{color:#26342b;background:#ced9c5}:focus-visible{outline-offset:4px;outline:2px solid #66816a}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}#root{min-height:100vh}.invitation{--paper:#fffefa;--red:#ac3042;--ink:#292b27;background:var(--paper);color:var(--ink);text-align:center;overflow:hidden}.invitation button,.invitation a{-webkit-tap-highlight-color:transparent}.invitation :focus-visible{outline:2px dashed var(--red);outline-offset:7px}.handwritten{font-family:Caveat,cursive;font-weight:500}.eyebrow{letter-spacing:.23em;font-size:9px;font-weight:600;line-height:1.7}.hero{max-width:1100px;margin:auto;padding:55px 28px 0}.hero>.eyebrow{color:var(--red);margin:0}.invitation-note{color:var(--red);margin:8px 0 0;font-size:32px;transform:rotate(-3deg)}.composition{max-width:960px;height:575px;margin:10px auto 0;position:relative}.composition h1{margin:0}.name{z-index:2;color:var(--red);letter-spacing:-.055em;font:600 clamp(75px,10vw,123px)/1 Caveat,cursive;position:absolute}.name-joiner{display:none}.name-left{top:235px;left:0;transform:rotate(-9deg)}.name-right{top:330px;right:0;transform:rotate(-7deg)}.couple-button{cursor:pointer;background:0 0;border:0;width:440px;padding:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.couple-art{transform-origin:50% 90%;width:100%;height:auto;transition:transform .2s}.celebrate{animation:.85s steps(4,end) celebrate}.tap-cue{width:44px;stroke:var(--red);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;animation:1.8s ease-in-out 3 nudge;position:absolute;top:65px;right:20%}.ornament{width:23px;color:var(--red);pointer-events:none;position:absolute}.ornament-left{top:110px;left:16%;transform:rotate(12deg)}.ornament-right{width:15px;top:200px;right:12%}.details{max-width:900px;margin:10px auto 0;padding:0 32px 55px}.celebrations{scroll-margin-top:20px}.day-layout{grid-template-columns:minmax(250px,.92fr) minmax(300px,1.08fr);align-items:center;gap:72px;max-width:750px;margin:0 auto;display:grid}.date-sheet{width:100%;max-width:310px;min-height:300px;color:var(--ink);cursor:pointer;background:0 0;border:0;margin:auto;padding:0;display:block;position:relative}.date-sheet-visual{background:var(--paper);box-shadow:5px 6px 0 -2px var(--paper), 6px 7px 0 -2px #292b27, 10px 12px 0 -5px var(--paper), 11px 13px 0 -5px #292b27;border:1.5px solid #292b27;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;padding:42px 20px 54px;transition:transform .25s;display:flex;position:absolute;inset:0;transform:rotate(-2deg)}.date-rings{justify-content:space-evenly;display:flex;position:absolute;top:-13px;left:0;right:0}.date-rings i{border:1.5px solid var(--ink);background:var(--paper);border-radius:50%;width:18px;height:27px}.sheet-month{letter-spacing:.3em;margin-bottom:4px;font-size:11px;font-weight:600}.sheet-number{color:var(--red);font:500 112px/.96 Caveat,cursive;position:relative}.sheet-number i{z-index:1;font-style:normal;position:relative}.date-circle{width:130px;height:112px;stroke:var(--red);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;position:absolute;inset:2px auto auto -15px;overflow:visible;transform:rotate(-8deg)}.sheet-number.circle-replay .date-circle{animation:.75s linear both circle-date}.sheet-weekday{letter-spacing:.22em;margin-top:9px;font-size:9px;font-weight:600}.sheet-weekday b{color:var(--red);padding:0 4px}.sheet-jasmine{width:115px;color:var(--ink);position:absolute;bottom:4px;right:-19px;transform:rotate(-9deg)}.events{gap:30px;display:grid}.event{text-align:left;grid-template-columns:92px 1fr;align-items:center;gap:20px;display:grid}.event-doodle{color:var(--red);width:88px}.event-doodle img{width:100%;height:auto}.event .eyebrow{color:var(--red);margin:0 0 3px;font-size:9px}.event h3{color:var(--red);margin:0 0 5px;font:500 36px/1.05 Caveat,cursive}.event-time{margin:0 0 4px;font-size:14px}.ink-link{color:var(--red);border-bottom:1px solid #c9858c;padding:7px 0;font-size:12px;text-decoration:none;display:inline-block}.ink-link span,.directions-link span{vertical-align:middle;margin-left:10px;transition:transform .2s;display:inline-flex}.arrow-icon{width:16px;height:16px;display:block}.venue{margin:88px auto 0}.venue-note{color:var(--red);margin:0 0 -3px;font-size:31px;transform:rotate(-4deg)}.entrance-art{width:min(360px,78vw);height:auto;color:var(--ink);margin:0 auto 5px}.venue h2{color:var(--red);letter-spacing:-.02em;margin:0 0 8px;font:500 48px/1.08 Caveat,cursive}.venue-address{margin:0 0 8px;font-size:16px}.venue-small{color:#817971;margin:0;font-size:13px;line-height:1.7}.directions-link{color:var(--red);border-bottom:1px solid #c9858c;align-items:center;gap:9px;margin-top:24px;padding:5px 0 7px;font:500 24px/1 Caveat,cursive;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.directions-link>svg:first-child{width:17px;height:21px}footer{padding:65px 0 0}footer .handwritten{margin:0;font-size:28px}.footer-jasmine{width:130px;color:var(--ink);margin:13px auto 0}.wave-sparkles{pointer-events:none;position:absolute;inset:0}.wave-sparkles svg{color:var(--red);width:28px;animation:1s ease-out both spark-pop;position:absolute}.wave-sparkles svg:first-child{top:12%;right:0}.wave-sparkles svg:nth-child(2){width:18px;animation-delay:.1s;top:0;right:18%}.wave-sparkles svg:nth-child(3){width:21px;animation-delay:.18s;top:10%;left:2%}@media (hover:hover) and (pointer:fine){.couple-button:hover .couple-art{transform:rotate(-1deg)}.date-sheet:hover .date-sheet-visual{transform:rotate(0)translateY(-3px)}.ink-link:hover span,.directions-link:hover span{transform:translate(3px,-3px)}.directions-link:hover{color:#842536;transform:translateY(-2px)}}@keyframes celebrate{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)translateY(-4px)}50%{transform:rotate(2deg)}75%{transform:rotate(-1deg)translateY(-2px)}}@keyframes spark-pop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}35%{opacity:1;transform:scale(1.15)rotate(8deg)}to{opacity:0;transform:scale(.6)rotate(30deg)}}@keyframes circle-date{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes nudge{50%{transform:translate(-3px,5px)rotate(-5deg)}}@media (width<=850px){.composition{max-width:650px;height:570px}.couple-button{width:400px}.name{font-size:88px;top:auto;bottom:15px}.name-left{left:2%}.name-right{right:3%}.tap-cue{right:11%}.ornament-left{top:240px;left:6%}.ornament-right{top:320px;right:4%}}@media (width<=540px){.hero{padding:34px 20px 0}.hero>.eyebrow{letter-spacing:.17em;font-size:8px}.invitation-note{margin-top:8px;font-size:clamp(28px,8vw,31px)}.composition{flex-direction:column;align-items:center;width:100%;height:auto;margin-top:20px;display:flex}.couple-button{width:min(105%,100vw - 24px);min-width:0;max-width:none;position:relative;top:auto;left:auto;transform:none}.composition h1{z-index:2;white-space:nowrap;justify-content:center;align-items:baseline;gap:clamp(16px,4vw,20px);width:100%;min-width:0;margin:11px auto 0;display:flex;position:relative;inset:auto}.name{letter-spacing:-.09em;font-size:clamp(38px,12.5vw,52px);position:relative;inset:auto}.name-left{transform:rotate(-7deg)}.name-right{transform:rotate(-5deg)}.name-joiner{color:var(--ink);font:500 clamp(24px,6.5vw,29px)/1 Caveat,cursive;display:inline;transform:rotate(-8deg)}.tap-cue{width:30px;animation:none;top:18%;right:5%}.ornament-left{width:16px;top:55%;left:1%}.ornament-right{width:12px;top:70%;right:0}.details{margin-top:72px;padding:0 24px 48px}.day-layout{grid-template-columns:1fr;gap:43px;max-width:390px}.date-sheet{width:min(290px,84vw);min-height:270px}.events{grid-template-columns:1fr;gap:29px;width:100%}.event{grid-template-columns:78px auto;gap:16px;width:max-content;max-width:100%;margin-inline:auto}.event-doodle{width:74px}.event h3{font-size:36px}.event-time{font-size:14px}.venue{margin-top:68px}.venue h2{font-size:44px}.venue-small{font-size:12px}footer{padding-top:45px}footer .handwritten{font-size:24px}}@media (prefers-reduced-motion:reduce){.invitation *,.invitation :before,.invitation :after{transition:none!important;animation:none!important}.sheet-number.circle-replay .date-circle{animation:.75s linear both circle-date!important}.wave-sparkles{display:none}}
