:root{--cream:#fffffc;--cream-2:#fffffc;--amber:#f5a300;--amber-deep:#e08e00;--ink:#383838;--ink-soft:#6b6255;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Quicksand,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cream:#1c1712;--cream-2:#241e17;--ink:#f4ecdf;--ink-soft:#c9bfae}}:root[data-theme=dark]{--cream:#1c1712;--cream-2:#241e17;--ink:#f4ecdf;--ink-soft:#c9bfae}.wrap{max-width:640px;margin:0 auto;padding:0 20px}.hero{text-align:center;padding:48px 0 8px}.kicker{color:var(--ink);margin:0 0 2px;font-family:Caveat,cursive;font-size:clamp(22px,5vw,28px);transform:rotate(-2deg)}.headline{color:var(--amber);text-transform:uppercase;letter-spacing:.5px;text-shadow:2px 2px #0000000d;margin:0;font-family:"Baloo 2",sans-serif;font-weight:800;line-height:.92}.headline .l1{font-size:clamp(46px,13vw,74px);display:block;transform:rotate(-2deg)}.headline .l2{text-align:center;font-size:clamp(46px,13vw,74px);display:block;transform:rotate(1deg)}.headline .l3{text-align:right;padding-right:6%;font-size:clamp(46px,13vw,74px);display:block;position:relative;transform:rotate(-1.5deg)}.please{color:var(--ink);text-align:right;margin-top:-8px;padding-right:10%;font-family:Caveat,cursive;font-size:clamp(28px,7vw,40px);font-weight:700;display:block;transform:rotate(-4deg)}.photo-card{border-radius:0;max-width:560px;margin:18px auto 0;position:relative;overflow:hidden;box-shadow:0 18px 40px #2b26202e}.photo-card img{object-fit:cover;object-position:center 15%;width:100%;height:auto;max-height:70vh;display:block}.date-badge{text-align:center;background:linear-gradient(#0000,#0000008c);padding:18px 16px 20px;position:absolute;bottom:0;left:0;right:0}.date-badge span{color:#fff;letter-spacing:2px;font-family:"Baloo 2",sans-serif;font-size:clamp(30px,9vw,46px);font-weight:800}.names-row{justify-content:space-between;align-items:center;max-width:560px;margin:14px auto 0;padding:0 6px;display:flex}.rsvp-tag{color:var(--amber-deep);letter-spacing:.5px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700}.couple-tag{color:var(--ink);font-family:Quicksand,sans-serif;font-size:16px;font-weight:600}.rsvp{background:var(--cream-2);text-align:center;border-radius:22px;max-width:480px;margin:44px auto 0;padding:34px 26px 30px}.rsvp h2{color:var(--amber);letter-spacing:1px;margin:0 0 6px;font-family:"Baloo 2",sans-serif;font-size:clamp(30px,8vw,40px);font-weight:800}.rsvp p.sub{color:var(--ink-soft);margin:0 0 22px;font-size:15px;line-height:1.5}form.rform{text-align:left;flex-direction:column;gap:12px;display:flex}.field label{color:var(--ink-soft);letter-spacing:.3px;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input{color:#383838;caret-color:#383838;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fffdf7;border:2px solid #e7ddc4;border-radius:12px;outline:none;width:100%;padding:13px 15px;font-family:Quicksand,sans-serif;font-size:16px;transition:border-color .15s}.field input::placeholder{color:#8a8070;opacity:1}.field input:focus{border-color:var(--amber)}.submit-btn{background:var(--amber);color:#2b2000;letter-spacing:.5px;cursor:pointer;border:none;border-radius:999px;margin-top:8px;padding:15px 20px;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:700;transition:transform .12s}.submit-btn:active{transform:translateY(1px)scale(.99)}.submit-btn:disabled{opacity:.6;cursor:default}.err{color:#b3411a;min-height:16px;margin:0;font-size:13px}.success{display:none}.success.show{display:block}.success .tick{margin-bottom:6px;font-size:44px}.success h2{color:var(--amber);margin:0 0 8px;font-family:"Baloo 2",sans-serif;font-size:clamp(26px,7vw,32px)}.success p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.5}footer{text-align:center;padding:40px 20px 50px}footer .sig{color:var(--ink);font-family:Caveat,cursive;font-size:clamp(26px,7vw,32px);font-weight:700;display:inline-block;transform:rotate(-1.5deg)}
