.tpl-kids-birthday{--invite-bg:linear-gradient(180deg, #bfe9ff 0%, #fff4d6 55%, #ffe3ef 100%);--invite-text:#2b2350;--invite-muted:#6a6390;--invite-accent:#ff5d8f;--invite-accent-contrast:#fff;--invite-surface:#ffffffd9;--invite-font:ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif;background:radial-gradient(circle at 12% 18%, #ffb70359 0 6px, transparent 7px), radial-gradient(circle at 85% 12%, #3ec1d366 0 5px, transparent 6px), radial-gradient(circle at 70% 40%, #8f5cf74d 0 4px, transparent 5px), radial-gradient(circle at 20% 65%, #ff5d8f4d 0 5px, transparent 6px), radial-gradient(circle at 90% 75%, #4cc26a59 0 6px, transparent 7px), var(--invite-bg)}.kb-cover{text-align:center;padding-top:var(--space-4)}.kb-balloons{width:min(220px,60vw);margin:0 auto var(--space-2)}.invite[data-state=cover] .kb-balloons{animation:4s ease-in-out infinite kb-float}.kb-eyebrow{margin:0 0 var(--space-2);color:var(--invite-accent);font-weight:800;font-size:var(--text-lg);letter-spacing:.02em}.kb-title{margin:0 0 var(--space-2);overflow-wrap:anywhere;font-size:clamp(2rem,9vw,3.25rem);font-weight:900;line-height:1.05}.kb-date{color:var(--invite-muted);margin:0;font-weight:600}.kb-details{gap:var(--space-4);display:grid}.kb-card{padding:var(--space-4) var(--space-4) var(--space-2);border-radius:var(--radius-lg);background:var(--invite-surface);box-shadow:0 6px 20px #2b235014}.kb-card h2{margin-bottom:var(--space-2);color:var(--invite-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.kb-card h3{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-base)}.kb-card p{margin-bottom:var(--space-2)}.kb-strong{font-weight:700;font-size:var(--text-lg)}.kb-text{white-space:pre-line;overflow-wrap:anywhere}.kb-map-links{gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.kb-map-links a{min-height:var(--tap-size);padding:0 var(--space-3);color:var(--invite-text);font-size:var(--text-sm);background:#fff;border-radius:999px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:inset 0 0 0 1.5px #2b235026}@keyframes kb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
