:root{--color-sage: #889976;--color-copper: #723400;--color-fg: #2a1c0e;--color-bg: #ffffff;--color-muted: #6b5a48;--font-script: "Pinyon Script", "Allura", cursive;--font-display: "Cormorant SC", "Cormorant Garamond", Georgia, serif;--font-body: "Cormorant Garamond", Georgia, serif;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--radius: 6px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;overscroll-behavior:none}body{overflow-x:clip}a{color:var(--color-copper)}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--color-copper);margin:0 0 var(--space-3)}p{margin:0 0 var(--space-3)}.script{font-family:var(--font-script);font-weight:400;color:var(--color-copper);line-height:1.1}.caps{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;font-weight:500}.container{max-width:480px;margin:0 auto;padding:0 var(--space-3);width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-family:var(--font-display);font-size:16px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid var(--color-copper);background:transparent;color:var(--color-copper);text-decoration:none;transition:background-color .12s ease,color .12s ease;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.btn:active{background:#72340014}.btn--filled{background:var(--color-sage);border-color:var(--color-sage);color:var(--color-bg)}.btn--filled:active{background:#76876a}.btn--block{width:100%}.input{display:block;width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:16px;color:var(--color-fg);background:var(--color-bg);border:1px solid var(--color-sage);border-radius:var(--radius)}.input:focus{outline:2px solid var(--color-copper);outline-offset:1px}.stickyCta{position:sticky;bottom:0;left:0;right:0;padding-block:var(--space-3);padding-inline:var(--space-3);background:linear-gradient(to top,var(--color-bg) 0%,var(--color-bg) 70%,rgba(255,255,255,0) 100%);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:5}.stage{height:200vh;height:200svh}.cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;background:var(--color-sage);clip-path:polygon(0 0,50% 42%,100% 0,100% 100%,0 100%)}.cover__hint{position:absolute;left:0;right:0;bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-bg);animation:coverBob 1.8s ease-in-out infinite}.cover__hintText{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.22em;font-size:12px}.cover__chevron{width:14px;height:14px;border-right:2px solid var(--color-bg);border-bottom:2px solid var(--color-bg);transform:rotate(45deg)}@keyframes coverBob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.cover__hint{animation:none}}.invitation{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--color-bg);overflow:hidden}.invitation__leaf{position:absolute;top:0;bottom:0;height:100%;width:auto;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.invitation__leaf--left{left:0}.invitation__leaf--right{right:0}.invitation__inner{position:relative;z-index:1;height:100%;width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-4);text-align:center;display:flex;flex-direction:column}.invitation__head{flex:0 0 42svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:var(--space-5)}.invitation__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.invitation__body>*{margin:0}.invitation__names{margin:0 0 var(--space-4);color:var(--color-copper);display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:400}.invitation__names .script{font-size:clamp(40px,12vw,64px);line-height:1}.invitation__heart{width:clamp(24px,6vw,34px);height:auto}.invitation__invite{font-size:15px;letter-spacing:.16em;margin:0 0 var(--space-2);color:var(--color-fg)}.invitation__date{font-size:clamp(30px,9vw,44px);margin:0 0 var(--space-4)}.invitation__details{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);width:100%}.invitation__detail{display:flex;align-items:center;justify-content:center;gap:var(--space-3);text-align:left;line-height:1.25}.invitation__icon{width:40px;height:40px;flex:0 0 auto;object-fit:contain}.invitation__detail .caps{font-size:14px}.invitation__welcome{font-size:clamp(26px,8vw,38px);margin:0 0 var(--space-4)}.invitation__rsvp{min-width:220px;margin:0 0 var(--space-4)}.invitation__confirm{font-size:11px;letter-spacing:.14em;color:var(--color-muted);margin:0 0 var(--space-1)}.invitation__contacts{font-size:13px;margin:0}.invitation__contact{display:inline-block;color:var(--color-copper);text-decoration:none;white-space:nowrap;padding:6px 2px;-webkit-tap-highlight-color:transparent}.invitation__contact:active{text-decoration:underline}.rsvpPanel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--color-bg);display:flex;flex-direction:column;animation:panelIn .26s ease-out both}@keyframes panelIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.rsvpPanel{animation:none}}.rsvpPanel__close{position:absolute;top:calc(var(--space-2) + env(safe-area-inset-top,0px));right:var(--space-2);z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffffd9;border-radius:999px;color:var(--color-copper);font-size:30px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.rsvpPanel__close:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.rsvpPanel__scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column}.rsvpPanel__inner{flex:1;padding-top:calc(var(--space-6) + env(safe-area-inset-top,0px));padding-bottom:var(--space-4)}.section{padding:var(--space-5) 0 var(--space-4);border-top:1px solid rgba(136,153,118,.25);margin-top:var(--space-4)}.section:first-of-type{border-top:none;margin-top:0}.section__title{text-align:center;font-size:22px;margin-bottom:var(--space-3)}.muted{color:var(--color-muted)}.notice{text-align:center;padding:var(--space-3);border:1px solid var(--color-sage);border-radius:var(--radius);background:#88997614}.rsvpForm{display:flex;flex-direction:column;gap:var(--space-3)}.rsvpForm__field{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;border:none}.rsvpForm__label{font-size:13px;color:var(--color-copper)}.rsvpForm__error{color:#a32a2a;font-size:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.segmented__btn{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-copper);border-radius:var(--radius);background:transparent;color:var(--color-copper);font-family:var(--font-display);font-size:16px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}.segmented__btn--on{background:var(--color-copper);color:var(--color-bg)}.segmented__btn:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}.guestList{display:flex;flex-direction:column;gap:var(--space-2)}.guestList__label{font-size:13px;color:var(--color-copper);margin:0}.guestRow{display:flex;gap:var(--space-2);align-items:stretch}.guestRow__input{flex:1 1 auto;min-width:0}.guestRow__remove{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--color-sage);border-radius:var(--radius);background:transparent;color:var(--color-copper);font-size:24px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.guestRow__remove:active{background:#8899761f}.guestList__add{margin-top:var(--space-1)}.rsvpSuccess__who{margin:var(--space-2) 0;font-size:14px}.rsvpSuccess__guests{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.gis-btn{min-height:44px;display:flex;justify-content:center}.photoUpload{display:flex;flex-direction:column;gap:var(--space-3)}.photoUpload__who{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:.9rem}.photoUpload__signOut{background:transparent;border:none;color:var(--color-copper);text-decoration:underline;font:inherit;min-height:44px;padding:0 var(--space-2);cursor:pointer}.photoUpload__pickers{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.photoUpload__fileInput{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photoUpload__cta{margin-top:var(--space-3)}.photoList{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.photoRow{display:flex;flex-direction:column;gap:6px;padding:var(--space-2);border:1px solid rgba(114,52,0,.18);border-radius:var(--radius);background:#fff}.photoRow--done{border-color:#88997699}.photoRow--error{border-color:#a006;background:#fdf6f4}.photoRow__head{display:flex;align-items:center;gap:var(--space-2);min-width:0}.photoRow__icon{flex:0 0 1.5em;font-size:1.1em;text-align:center;color:var(--color-copper)}.photoRow__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.photoRow__size{flex:0 0 auto;font-variant-numeric:tabular-nums}.photoRow__progress{width:100%;height:8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:#7234001f;border-radius:999px;overflow:hidden}.photoRow__progress::-webkit-progress-bar{background:#7234001f;border-radius:999px}.photoRow__progress::-webkit-progress-value{background:var(--color-copper);border-radius:999px}.photoRow__progress::-moz-progress-bar{background:var(--color-copper)}.photoRow__err{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.photoRow__errText{color:#883b2a;font-size:.9rem}.photoRow__retry{min-height:36px;padding:0 var(--space-2)}.center{text-align:center}
