:root{--cream:#fffbf2;--navy:#2b3f67;--sage:#6f9b74;--pink:#d96f8c;--lavender:#9b7ec8;--sky:#6baed6;--gold:#e8b44d;--paper-shadow:#3f4e3a1f;color:var(--navy);background:var(--cream);font-family:Quicksand,sans-serif;font-weight:500;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at 8% 6%, #ffb6c159, transparent 22%), radial-gradient(circle at 92% 8%, #9b7ec847, transparent 20%), radial-gradient(circle at 50% 100%, #6f9b7438, transparent 34%), var(--cream);min-width:320px;min-height:100dvh;margin:0;overflow:hidden}button,input,select{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{justify-content:center;height:100dvh;min-height:100dvh;padding:0;display:flex;overflow:hidden}.invite-card{background-color:var(--cream);background-image:url(/Sid-Bday-Invite-clean-2.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-radius:0;flex-direction:column;width:100%;height:100%;max-height:100dvh;padding:0;display:flex;position:relative;overflow:hidden}.invite-card-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:clamp(3rem,22%,6rem) clamp(1.25rem,18%,5rem) clamp(3rem,24%,6.5rem);overflow:hidden auto}.invite-card-scroll::-webkit-scrollbar{width:0;height:0;display:none}.invite-copy{text-align:center}.invite-heading{justify-items:center;gap:.15rem;margin:0;display:grid}.invite-name{align-items:flex-end;gap:.08em;line-height:1;display:flex}.invite-age-row{justify-content:center;align-items:center;gap:.45rem;margin-top:.15rem;display:flex}.invite-turning{color:var(--pink);font-family:Gaegu,cursive;font-size:clamp(1.35rem,4.5vw,1.85rem);font-weight:700}.bubble-letter{text-shadow:0 2px #ffffff8c;font-family:Fredoka,sans-serif;font-size:clamp(3.2rem,13vw,4.75rem);font-weight:700;line-height:.9;display:inline-block}.bubble-letter-green{color:var(--sage)}.bubble-letter-blue{color:var(--sky)}.bubble-letter-purple{color:var(--lavender)}.bubble-letter-gold{color:var(--gold)}.bubble-letter-age{font-size:clamp(2.8rem,11vw,4.1rem)}.invite-divider{align-items:center;gap:.65rem;margin:.85rem 0;display:flex}.invite-divider-line{border-top:2px dashed var(--sage);opacity:.85;flex:1}.invite-heart{color:var(--pink);font-size:.85rem;line-height:1}.invite-food{color:var(--navy);margin:0;max-width:28ch;margin-inline:auto;font-size:clamp(1rem,3.6vw,1.12rem);font-weight:700}.event-details{margin-top:.25rem}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.event-item{gap:.2rem;padding:0 .35rem;display:grid;position:relative}.event-item:not(:last-child):after{content:"";border-right:2px dashed #6f9b748c;width:2px;height:calc(100% - .3rem);position:absolute;top:.15rem;right:-.25rem}.event-item dt{letter-spacing:.06em;text-transform:uppercase;color:var(--sage);flex-direction:column;align-items:center;gap:.2rem;margin:0;font-size:.72rem;font-weight:700;display:flex}.event-item dd{color:var(--navy);margin:0;font-size:clamp(.82rem,2.8vw,.95rem);font-weight:700}.event-location-link{color:inherit;text-underline-offset:.15em;-webkit-text-decoration:underline #6f9b748c;text-decoration:underline #6f9b748c}.event-location-link:hover,.event-location-link:focus-visible{color:var(--sage)}.event-icon{width:1.35rem;height:1.35rem}.event-item:first-child .event-icon{color:var(--pink)}.event-item:nth-child(2) .event-icon{color:var(--lavender)}.event-item:nth-child(3) .event-icon{color:var(--gold)}.rsvp-card{padding:.25rem .15rem 0}.rsvp-card h2{text-align:center;color:var(--sage);margin:0;font-family:Gaegu,cursive;font-size:clamp(1.85rem,6vw,2.35rem);font-weight:700}.rsvp-form-intro{text-align:center;margin:.35rem 0 1rem;font-size:.98rem}.form-field{gap:.35rem;margin-bottom:.85rem;display:grid}.form-field label{color:var(--sage);letter-spacing:.05em;text-transform:uppercase;padding-left:.75rem;font-size:.82rem;font-weight:700}.form-field input,.form-field select,.rsvp-form button{min-height:3rem;color:var(--navy);background:#ffffffeb;border:2px solid #6f9b7459;border-radius:999px;padding:.65rem 1rem}.form-field input:focus-visible,.form-field select:focus-visible,.rsvp-form button:focus-visible{outline-offset:2px;outline:3px solid #d96f8c73}.form-field select{appearance:none;cursor:pointer;background-color:#ffffffeb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%236f9b74' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1.1rem center;background-repeat:no-repeat;background-size:.75rem;padding-right:2.5rem}.rsvp-form button{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#d96f8c,#e8b44d);border:none;width:100%;margin-top:.35rem;font-weight:700}.rsvp-form button:disabled{cursor:wait;opacity:.78}.rsvp-form button.change-rsvp-link{width:auto;min-height:0;color:var(--navy);text-underline-offset:3px;letter-spacing:0;opacity:.78;background:0 0;border-radius:4px;margin:.6rem auto 0;padding:.25rem .4rem;font-size:.88rem;font-weight:600;text-decoration:underline;display:block}.rsvp-form button.change-rsvp-link:hover{opacity:1}.change-rsvp-popover{background:var(--cream);max-width:min(22rem,100vw - 2rem);color:var(--navy);text-align:center;box-shadow:0 12px 28px var(--paper-shadow);border:2px solid #6f9b7473;border-radius:1rem;margin:auto;padding:1.1rem 1.25rem}.change-rsvp-popover::backdrop{background:#2b3f6740}.change-rsvp-popover p{text-wrap:balance;margin:0 0 .65rem;font-size:.98rem}.change-rsvp-phone{color:var(--pink);letter-spacing:.02em;font-family:Gaegu,cursive;font-size:1.45rem;font-weight:700;text-decoration:none;display:inline-block}.change-rsvp-phone:hover,.change-rsvp-phone:focus-visible{text-decoration:underline}.field-error,.form-error{color:#a63d52;margin:0;font-size:.92rem}.rsvp-success{text-align:center;padding-top:.5rem}.rsvp-success p{margin:.65rem 0 0;font-size:1.02rem}.add-to-calendar{justify-content:center;margin-top:1.25rem;display:flex}.sid-loves-cake-wrap{width:min(84%,14.4rem);margin:0 auto .75rem;overflow:visible}.sid-loves-cake{aspect-ratio:1122/1402;transform-origin:top;opacity:1;width:100%;height:auto;display:block;transform:translate(0,0)rotate(0)}.sid-loves-cake--drop{animation:.9s cubic-bezier(.34,1.56,.64,1) both cake-drop}@keyframes cake-drop{0%{opacity:0;transform:translateY(-72%)rotate(-8deg)scale(.92)}55%{opacity:1}to{opacity:1;transform:translate(0,0)rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.sid-loves-cake--drop{animation:none}}@media (width>=640px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;padding:1rem;overflow:visible}.invite-card{aspect-ratio:864/1820;width:100%;max-width:34rem;height:auto;max-height:min(100dvh - 2rem,71.6204rem);box-shadow:0 16px 36px var(--paper-shadow);border-radius:1.25rem}}@media (width<=480px){.event-grid{gap:.25rem}.event-item dd{font-size:.78rem}}@media (width<=360px){.event-item dt{font-size:.65rem}.event-icon{width:1.15rem;height:1.15rem}}
