:root{--ink:#1b1b1f;--cream:#fffcf5;--cream-dim:#f3ecdd;--gray:#8b857a;--coral:#ff6b6b;--coral-pale:#ffe3e3;--amber:#ffc94a;--blue-card:#ddeffc;--yellow-card:#fff3d6;--sky-top:#bfe3f9;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;overflow-x:hidden}::selection{background:var(--coral);color:#fff}h1,h2,.display{font-family:"Baloo 2",sans-serif}nav{border-bottom:3px solid var(--ink);background:var(--cream);z-index:20;justify-content:space-between;align-items:center;padding:16px 24px;transition:box-shadow .2s;display:flex;position:sticky;top:0;box-shadow:0 4px 14px -10px #14141a00}nav.scrolled{box-shadow:0 4px 14px -8px #14141a38}.brand{opacity:0;animation:dropIn .5s var(--ease-out) forwards;align-items:center;gap:10px;display:flex}.brand-icon{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.logo{font-family:"Baloo 2",sans-serif;font-size:1.1rem;font-weight:700}.logo-emoji{animation:1.8s ease-in-out infinite jogBob;display:inline-block}.hero{background:linear-gradient(180deg, var(--sky-top) 0%, #eaf6fd 45%, var(--cream) 100%);text-align:center;padding:46px 24px 40px;position:relative}.rainbow-wrap{opacity:0;max-width:460px;animation:dropIn .7s var(--ease-out) forwards;margin:0 auto;animation-delay:.15s;position:relative}.rainbow-wrap svg{width:100%;height:auto;display:block}@keyframes dropIn{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}.date-pill{background:var(--ink);color:#fff;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:8px 16px;font-family:Inter,sans-serif;font-size:clamp(.65rem,2.6vw,.8rem);font-weight:600;position:absolute;top:66%;left:50%;transform:translate(-50%,-50%)}.headline{z-index:2;opacity:0;animation:dropIn .6s var(--ease-out) forwards;margin-top:-6px;font-size:clamp(1.8rem,7vw,2.7rem);font-weight:800;line-height:1.05;animation-delay:.38s;position:relative}.headline-wrap,.age-wrap{display:inline-block;position:relative}.age-real{position:relative}.age-note{cursor:pointer;color:#4b3a00;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);z-index:4;background:#ffe066;border:none;border-radius:4px;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-family:Caveat,cursive;font-size:clamp(1.5rem,5.5vw,2rem);font-weight:700;display:inline-flex;position:absolute;inset:-12px -16px -8px;transform:rotate(-4deg);box-shadow:2px 3px 8px #14141a40}.age-note:before{content:"";background:#ffffff8c;border-radius:2px;width:46px;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-3deg)}.age-note-wink{font-size:.6em}.age-note:active{transform:rotate(-2deg)scale(.97)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.age-note:hover{transform:rotate(-7deg)translate(-3px,-5px);box-shadow:4px 6px 12px #14141a4d}}.age-note.wiggle-hint{animation:.6s ease-in-out noteWiggleHint}@keyframes noteWiggleHint{0%,to{transform:rotate(-4deg)}25%{transform:rotate(-10deg)}50%{transform:rotate(2deg)}75%{transform:rotate(-6deg)}}.age-note.peel{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.34,.06,.68,.85),opacity .45s ease-in;transform:rotate(28deg)translate(70px,-50px)scale(.9)}.party-scene{pointer-events:none;z-index:3;align-items:flex-end;display:flex;position:absolute;top:-10px;right:-28px}.balloon{opacity:0;animation:balloonRise 3.2s var(--ease-out) forwards;font-size:clamp(.9rem,2.8vw,1.2rem);position:absolute;bottom:6px}.balloon.b1{animation-delay:.5s;left:-8px}.balloon.b2{animation-delay:.75s;left:10px}.balloon.b3{animation-delay:1s;left:26px}@keyframes balloonRise{0%{opacity:0;transform:translateY(0)translate(0)}15%{opacity:1}50%{transform:translateY(-36px)translate(5px)}75%{transform:translateY(-64px)translate(-5px)}to{opacity:0;transform:translateY(-92px)translate(0)}}.unicorn-inner{font-size:clamp(1.6rem,5vw,2.1rem);animation:2.6s ease-in-out infinite unicornIdle;display:inline-block}@keyframes unicornIdle{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(3deg)}}.roam-unicorn{z-index:50;opacity:0;pointer-events:auto;cursor:pointer;will-change:transform;transition:transform .55s cubic-bezier(.34,1.56,.64,1),opacity .4s;position:fixed;top:0;left:0}.roam-unicorn.visible{opacity:1}@media (width<=420px){.party-scene{top:-6px;right:-18px}}@media (prefers-reduced-motion:reduce){.party-scene,.roam-unicorn{display:none}}.subline{color:#4b463d;opacity:0;max-width:34ch;animation:dropIn .6s var(--ease-out) forwards;margin:14px auto 0;font-size:clamp(.9rem,2.6vw,1rem);animation-delay:.48s}.cta-row{opacity:0;animation:dropIn .6s var(--ease-out) forwards;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:26px;animation-delay:.58s;display:flex}.chip{background:var(--coral-pale);color:var(--coral);letter-spacing:.03em;border-radius:999px;padding:12px 18px;font-size:.78rem;font-weight:700}a.chip-cta{cursor:pointer;text-decoration:none;transition:transform .15s}a.chip-cta:hover{transform:translateY(-1px)}.stats-row{opacity:0;animation:dropIn .6s var(--ease-out) forwards;flex-wrap:wrap;justify-content:center;gap:40px;margin-top:34px;animation-delay:.68s;display:flex}.stat .slabel{letter-spacing:.06em;color:var(--gray);font-size:.7rem;font-weight:600}.stat .svalue{margin-top:4px;font-family:"Baloo 2",sans-serif;font-size:1.15rem;font-weight:700}.stat-distance.reveal{animation:popCheck .45s var(--ease-out)}.reveal-highlight{border-radius:3px;animation:.7s revealHighlight}@keyframes revealHighlight{0%{background-color:#0000}30%{background-color:#ff6b5747}to{background-color:#0000}}.countdown-wrap{opacity:0;animation:dropIn .6s var(--ease-out) forwards;margin-top:34px;animation-delay:.78s}.countdown-label{letter-spacing:.08em;color:var(--gray);font-size:.7rem;font-weight:600}.countdown{justify-content:center;gap:10px;margin-top:12px;display:flex}.count-box{background:var(--ink);border-radius:12px;min-width:58px;padding:10px 14px}.count-box .num{color:var(--amber);font-family:"Baloo 2",sans-serif;font-size:1.4rem;font-weight:700;line-height:1}.count-box .unit{letter-spacing:.05em;color:#b8b2a6;margin-top:4px;font-size:.6rem}.section-label{align-items:center;gap:14px;max-width:900px;margin:0 auto;padding:0 24px;display:flex}.section-label span{letter-spacing:.08em;color:var(--coral);white-space:nowrap;font-size:.75rem;font-weight:700}.section-label .rule{background:var(--cream-dim);flex:1;height:1px}.plan-section{padding:64px 0 56px}.plan-cards{grid-template-columns:repeat(2,1fr);gap:16px;max-width:900px;margin:22px auto 0;padding:0 24px;display:grid}.plan-card{opacity:0;transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);border-radius:16px;padding:22px 20px;transform:translateY(10px)}.plan-card.in-view{opacity:1;transform:translateY(0)}.plan-card:first-child{background:var(--blue-card)}.plan-card:nth-child(2){background:var(--yellow-card)}.plan-card .pemoji{font-size:1.4rem}@keyframes jogBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.plan-card.in-view:first-child .pemoji{animation:1.8s ease-in-out .9s infinite jogBob;display:inline-block}.plan-card h3{margin-top:10px;font-family:"Baloo 2",sans-serif;font-size:1.05rem;font-weight:700}.plan-card p{color:#4b463d;margin-top:6px;font-size:.87rem;line-height:1.5}@media (width<=640px){.plan-cards{grid-template-columns:1fr}.stats-row{gap:26px}}.rsvp-wrap{justify-content:center;padding:10px 20px 56px;display:flex}.rsvp-card{border:2px solid var(--ink);opacity:0;width:100%;max-width:420px;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);background:#fff;border-radius:22px;padding:30px 28px 26px;transform:translateY(10px);box-shadow:0 18px 40px -18px #14141a2e}.rsvp-card.in-view{opacity:1;transform:translateY(0)}.rsvp-eyebrow{color:var(--coral);letter-spacing:.05em;font-size:.78rem;font-weight:700}.rsvp-title{margin-top:6px;font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:700}.rsvp-sub{color:var(--gray);margin-top:4px;font-size:.85rem}#rsvpForm{margin-top:22px}.activity-row{flex-wrap:wrap;gap:10px;display:flex}.activity-chip{min-width:120px;color:var(--ink);cursor:pointer;transition:background .16s ease, border-color .16s ease, color .16s ease, transform .14s var(--ease-out);background:#fff;border:1.5px solid #e4decd;border-radius:999px;flex:1;padding:11px 8px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600}.activity-chip.selected{background:var(--coral);border-color:var(--coral);color:#fff}.activity-chip:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.activity-chip:not(.selected):hover{border-color:var(--coral)}}.field{margin-top:18px}.field label{letter-spacing:.05em;color:var(--gray);margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.field-hint{color:var(--gray);margin-bottom:8px;font-size:.78rem;line-height:1.4}.field input[type=text],.field textarea{width:100%;color:var(--ink);transition:border-color .16s var(--ease-out);background:#fff;border:1.5px solid #d8d0be;border-radius:10px;padding:12px 14px;font-family:Inter,sans-serif;font-size:.92rem;font-weight:500}.field input::placeholder,.field textarea::placeholder{color:#b4ac98}.field input:focus,.field textarea:focus{border-color:var(--coral);outline:none}.field textarea{resize:none;min-height:66px;font-family:Inter,sans-serif;overflow:hidden}.rsvp-error{color:var(--coral);margin-top:14px;font-size:.8rem;font-weight:600}.ai-feedback{border-radius:10px;margin-top:8px;padding:8px 10px;font-size:.78rem;line-height:1.4}.ai-feedback.ai-feedback-fail{background:var(--coral-pale);color:#b23b3b;font-weight:500}.field.flag textarea{animation:.3s flagFlash}@keyframes flagFlash{0%,to{border-color:#d8d0be}50%{border-color:var(--coral)}}.submit-btn{color:#a69c87;cursor:not-allowed;width:100%;transition:background .2s ease, color .2s ease, transform .12s var(--ease-out);background:#dcd6c6;border:none;border-radius:12px;margin-top:20px;padding:14px;font-family:Inter,sans-serif;font-size:.92rem;font-weight:700}.submit-btn.ready{background:var(--coral);color:#fff;cursor:pointer}.submit-btn.ready:active{transform:scale(.97)}.submit-btn.checking{animation:1.1s ease-in-out infinite checkingPulse}@keyframes checkingPulse{0%,to{opacity:1}50%{opacity:.65}}.rsvp-step{transition:opacity .22s}.rsvp-step.fade-out{opacity:0}#rsvpSuccessStep{opacity:0;text-align:center;display:none}#rsvpSuccessStep.fade-in{opacity:1;transition:opacity .32s var(--ease-out), transform .32s var(--ease-out)}.success-check{opacity:0;animation:popCheck .45s var(--ease-out) forwards;font-size:2.2rem}@keyframes popCheck{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.whatsapp-btn{color:#fff;width:100%;transition:transform .12s var(--ease-out), background .16s ease;background:#25d366;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:14px;font-family:Inter,sans-serif;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.whatsapp-btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.whatsapp-btn:hover{background:#1ebe5b}}@media (prefers-reduced-motion:reduce){.brand,.rainbow-wrap,.headline,.subline,.cta-row,.stats-row,.countdown-wrap{opacity:1!important;animation:none!important;transform:none!important}.plan-card,.rsvp-card{transition:opacity .3s!important;transform:none!important}.plan-card .pemoji,.logo-emoji{animation:none!important}.success-check{opacity:1!important;animation:none!important}.activity-chip:active,.submit-btn.ready:active,.whatsapp-btn:active{transform:none!important}.age-note.wiggle-hint{animation:none!important}.age-note.peel{transition:opacity .3s!important;transform:none!important}.stat-distance.reveal,.reveal-highlight,.submit-btn.checking{animation:none!important}.field.flag textarea{border-color:var(--coral)!important;animation:none!important}}
