:root{color-scheme:light;--bg:#fdfdf8;--card:#fffffd;--green:#7aa56b;--pink:#f29b9b;--ink:#6f9a62;--line:#e4ecdd;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0%,rgba(242,155,155,.1),transparent 45%),radial-gradient(ellipse at 90% 55%,rgba(122,165,107,.1),transparent 45%),var(--bg);background-attachment:fixed;color:var(--ink);font-family:Itim,Comic Sans MS,cursive,sans-serif;text-align:center}.script{font-family:Dancing Script,Brush Script MT,cursive;font-weight:500;color:var(--green)}.pink{color:var(--pink);letter-spacing:.08em}.hero{height:100vh;height:100svh;padding:3.5vh 20px 76px;display:flex;flex-direction:column;align-items:center;overflow:hidden}.hero h1{font-size:clamp(2.4rem,min(12vw,8.5vh),5rem);margin:0 0 1vh;line-height:1}.hero .pink{font-size:clamp(.8rem,2.2vh,1.1rem)}.art{flex:1;min-height:0;width:100%;display:flex;justify-content:center;animation:rise 1.6s ease both .2s}.art img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.names{font-size:clamp(1.4rem,min(7vw,4.5vh),2.6rem);letter-spacing:.12em;margin:0;color:var(--green)}.fade{animation:rise 1.2s ease both}.arrow{position:fixed;left:0;right:0;margin:0 auto;width:max-content;bottom:calc(14px + env(safe-area-inset-bottom,0px));background:none;border:0;color:var(--pink);font:inherit;font-size:.95rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:opacity .5s;z-index:5}.arrow.gone{opacity:0;pointer-events:none}.arrow svg{width:30px;height:30px;animation:bob 1.8s ease-in-out infinite}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}@keyframes bob{50%{transform:translateY(9px)}}.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}.rsvp{max-width:480px;margin:0 auto;padding:70px 22px 90px}.rsvp h2{font-size:clamp(2.4rem,10vw,3.6rem);margin:0 0 6px}.sub{margin:0 0 30px;color:var(--pink)}label{display:block;text-align:left;margin:0 0 6px 4px;font-size:1.05rem}input[type=text],input[type=email]{width:100%;padding:13px 16px;border:2px solid var(--line);border-radius:14px;background:var(--card);color:#4f7a45;font:inherit;font-size:1.05rem;outline:none;transition:border-color .3s,box-shadow .3s}input:focus{border-color:var(--green);box-shadow:0 0 0 4px #7aa56b33}.field{margin-bottom:22px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{padding:14px 8px;border:2px solid var(--line);border-radius:14px;background:var(--card);color:#4f7a45;font:inherit;cursor:pointer;transition:all .3s}.choice:hover{transform:translateY(-2px)}.choice.on{background:var(--green);border-color:var(--green);color:#fff;transform:scale(1.03)}.choice.no.on{background:var(--pink);border-color:var(--pink)}.send{margin-top:8px;width:100%;padding:15px;border:0;border-radius:999px;background:var(--green);color:#fff;font:inherit;font-size:1.15rem;letter-spacing:.1em;cursor:pointer;transition:transform .25s,opacity .3s}.send:hover{transform:translateY(-2px)}.send:disabled{opacity:.45;cursor:default;transform:none}.err{color:var(--pink);min-height:1.4em;margin:10px 0 0}.thanks{animation:rise .9s ease both;padding:30px 0}.thanks .script{font-size:3.2rem;margin:0 0 8px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}@media (min-width:900px){.hero{max-width:1180px;margin:0 auto;padding:4vh 24px 80px;display:grid;grid-template-columns:minmax(0,380px) min(46vw,calc((100svh - 4vh - 80px)*.742));justify-content:center;grid-template-rows:1fr auto auto auto auto 1fr;grid-template-areas:". art" "date art" "title art" "to art" "names art" ". art";column-gap:0;justify-items:center;align-items:center}.hero>:nth-child(1){grid-area:date}.hero>:nth-child(2){grid-area:title}.hero>.art{grid-area:art;height:100%;align-self:stretch;margin-left:-3vw}.hero>:nth-child(4){grid-area:to}.hero>:nth-child(5){grid-area:names}.hero .pink{font-size:clamp(1rem,2.6vh,1.35rem)}.hero h1{font-size:clamp(4rem,12vh,7rem);margin:2vh 0 3vh}.hero>:nth-child(4){margin:0 0 1vh!important;font-size:clamp(1.1rem,2.8vh,1.5rem)}.names{font-size:clamp(2rem,6vh,3.4rem)}.rsvp{max-width:560px;padding:110px 22px 130px}}
