:root{--color-cream: #FDF8F3;--color-cream-dark: #F5EDE4;--color-sage: #5A6F58;--color-sage-light: #7A8F78;--color-rose: #C9A9A6;--color-rose-light: #E2D0CE;--color-pink-light: #E8B4B8;--color-gold: #B8A67D;--color-gold-light: #D4C9A8;--color-charcoal: #2C2C2C;--color-charcoal-light: #4A4A4A;--font-display: "Playfair Display", Georgia, serif;--font-body: "Cormorant Garamond", Georgia, serif;--font-script: "Great Vibes", cursive;--ease-elegant: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--color-charcoal);background:var(--color-cream);overflow-x:hidden}.nav.svelte-1uha8ag{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 2rem;transition:all .4s var(--ease-elegant);background:transparent}.nav.scrolled.svelte-1uha8ag{background:#fdf8f3f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #0000000d}.nav-inner.svelte-1uha8ag{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo.svelte-1uha8ag{text-decoration:none;transition:opacity .3s}.nav-logo.svelte-1uha8ag:hover{opacity:.7}.nav-logo-img.svelte-1uha8ag{height:80px;width:auto;mix-blend-mode:multiply}.nav-links.svelte-1uha8ag{display:flex;gap:2.5rem}.nav-links.svelte-1uha8ag a:where(.svelte-1uha8ag){font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--color-charcoal);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;position:relative;transition:color .3s}.nav-links.svelte-1uha8ag a:where(.svelte-1uha8ag):after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-gold);transition:width .3s var(--ease-elegant)}.nav-links.svelte-1uha8ag a:where(.svelte-1uha8ag):hover{color:var(--color-sage)}.nav-links.svelte-1uha8ag a:where(.svelte-1uha8ag):hover:after{width:100%}.hero.svelte-1uha8ag{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:2rem;overflow:hidden}.hero-bg.svelte-1uha8ag{position:absolute;inset:0;z-index:-1}.hero-image.svelte-1uha8ag{position:absolute;inset:0;background-image:url(../../../Kimmo%20ja%20julia%201.jpeg);background-size:cover;background-position:center 20%;filter:brightness(.9)}.hero-gradient.svelte-1uha8ag{position:absolute;inset:0;background:linear-gradient(180deg,rgba(253,248,243,.3) 0%,rgba(253,248,243,.5) 30%,rgba(253,248,243,.85) 70%,var(--color-cream) 100%)}.hero-content.svelte-1uha8ag{text-align:center;opacity:0;transform:translateY(30px);transition:all 1s var(--ease-elegant) .3s}.hero-content.mounted.svelte-1uha8ag{opacity:1;transform:translateY(0)}@keyframes svelte-1uha8ag-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.hero-logo.svelte-1uha8ag{max-width:min(95vw,1000px);height:auto;margin-top:12rem;margin-bottom:0;mix-blend-mode:multiply;animation:svelte-1uha8ag-logoFadeIn 1.2s var(--ease-elegant) .5s both}@keyframes svelte-1uha8ag-logoFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes svelte-1uha8ag-fadeIn{0%{opacity:0}to{opacity:1}}.hero-tagline.svelte-1uha8ag{font-family:var(--font-body);font-size:2rem;font-style:italic;font-weight:300;color:var(--color-charcoal-light);margin-top:-2rem;margin-bottom:.5rem;animation:svelte-1uha8ag-fadeIn 1s var(--ease-elegant) 1.1s both}.hero-location.svelte-1uha8ag{font-family:var(--font-body);font-size:1.5rem;letter-spacing:.15em;color:var(--color-pink-light);margin-bottom:3rem;animation:svelte-1uha8ag-fadeIn 1s var(--ease-elegant) 1.3s both}@keyframes svelte-1uha8ag-scrollBounce{0%,to{transform:scaleY(1);opacity:1}50%{transform:scaleY(.5);opacity:.5}}.section-label.svelte-1uha8ag{display:block;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem}.section-title.svelte-1uha8ag{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;color:var(--color-charcoal);margin-bottom:1rem}.title-ornament.svelte-1uha8ag{width:60px;height:1px;background:var(--color-gold);margin:0 auto 3rem}@keyframes svelte-1uha8ag-fadeSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline: view()){.animate-on-scroll.svelte-1uha8ag{animation:svelte-1uha8ag-fadeSlideUp .8s var(--ease-elegant) both;animation-timeline:view();animation-range:entry 0% entry 30%}}.details.svelte-1uha8ag{padding:8rem 2rem;position:relative;background:var(--color-cream-dark)}.details-bg.svelte-1uha8ag{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23B8A67D' opacity='0.2'/%3E%3C/svg%3E");opacity:.5}.details-header.svelte-1uha8ag{text-align:center;position:relative;z-index:1}.details-intro.svelte-1uha8ag{font-family:var(--font-body);font-size:1.2rem;color:var(--color-charcoal-light);max-width:600px;margin:0 auto 2rem;line-height:1.8}.events-grid.svelte-1uha8ag{display:flex;flex-direction:column;gap:2rem;max-width:100%;margin:0 auto 4rem;position:relative;z-index:1}.event-card.svelte-1uha8ag{background:var(--color-cream);padding:3rem 2rem;text-align:center;border:1px solid rgba(184,166,125,.2);transition:all .4s var(--ease-elegant);position:relative;overflow:hidden}.event-card.svelte-1uha8ag:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-rose),var(--color-gold),var(--color-sage));transform:scaleX(0);transition:transform .4s var(--ease-elegant)}.event-card.svelte-1uha8ag:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000014}.event-card.svelte-1uha8ag:hover:before{transform:scaleX(1)}.event-icon.svelte-1uha8ag{width:50px;height:50px;margin:0 auto 1.5rem;color:var(--color-pink-light)}.event-icon.svelte-1uha8ag svg:where(.svelte-1uha8ag){width:100%;height:100%}.event-label.svelte-1uha8ag{display:block;font-family:var(--font-body);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-sage);margin-bottom:.5rem}.event-time.svelte-1uha8ag{font-family:var(--font-display);font-size:2.2rem;font-weight:500;color:var(--color-charcoal);margin-bottom:.5rem}.event-description.svelte-1uha8ag{font-family:var(--font-body);font-size:1.1rem;color:var(--color-charcoal);line-height:1.6;margin-top:.75rem;max-width:300px;margin-left:auto;margin-right:auto}.location-card.svelte-1uha8ag{width:100%;max-width:100%;margin:2rem 0 3rem}.pukukoodi.svelte-1uha8ag{padding:8rem 2rem;max-width:1400px;margin:0 auto}.pukukoodi-header.svelte-1uha8ag{text-align:center}.pukukoodi-text.svelte-1uha8ag{font-family:var(--font-body);font-size:1.2rem;color:var(--color-charcoal-light);line-height:1.8}.name-input-row.svelte-1uha8ag{display:flex;gap:.5rem;margin-bottom:.75rem}.name-input-row.svelte-1uha8ag input:where(.svelte-1uha8ag){flex:1}.remove-btn.svelte-1uha8ag{width:40px;height:40px;font-size:1.5rem;font-weight:300;color:var(--color-charcoal-light);background:transparent;border:1px solid rgba(184,166,125,.3);cursor:pointer;transition:all .3s var(--ease-elegant);display:flex;align-items:center;justify-content:center}.remove-btn.svelte-1uha8ag:hover{border-color:var(--color-pink-light);color:var(--color-pink-light)}.add-person-btn.svelte-1uha8ag{font-family:var(--font-body);font-size:1rem;color:var(--color-charcoal);background:var(--color-pink-light);border:none;padding:.75rem 1.5rem;cursor:pointer;transition:all .3s var(--ease-elegant);margin-top:.5rem}.add-person-btn.svelte-1uha8ag:hover{background:var(--color-rose)}.gallery.svelte-1uha8ag{padding:8rem 2rem;max-width:1400px;margin:0 auto}.gallery-header.svelte-1uha8ag{text-align:center}.gallery-intro.svelte-1uha8ag{font-family:var(--font-body);font-size:1.2rem;color:var(--color-charcoal-light);max-width:600px;margin:0 auto;line-height:1.8}.gifts.svelte-1uha8ag{padding:8rem 2rem;background:var(--color-cream-dark);position:relative}.gifts-header.svelte-1uha8ag{text-align:center}.gifts-content.svelte-1uha8ag{max-width:900px;margin:0 auto}.gifts-message.svelte-1uha8ag{text-align:center;font-family:var(--font-body);font-size:1.2rem;color:var(--color-charcoal-light);line-height:1.8;margin-bottom:3rem}.gift-list.svelte-1uha8ag{display:flex;flex-direction:column;gap:1rem;max-width:700px;margin:0 auto}.gift-item.svelte-1uha8ag{background:var(--color-cream);padding:1.5rem 2rem;border:1px solid rgba(184,166,125,.2);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;transition:all .3s var(--ease-elegant)}.gift-item.svelte-1uha8ag:hover{border-color:var(--color-gold)}.gift-item.claimed.svelte-1uha8ag{opacity:.6;background:#b8a67d1a}.gift-info.svelte-1uha8ag{flex:1}.gift-name.svelte-1uha8ag{font-family:var(--font-display);font-size:1.3rem;color:var(--color-charcoal);margin-bottom:.25rem}.gift-name-link.svelte-1uha8ag{text-decoration:none}.gift-name-link.svelte-1uha8ag:hover .gift-name:where(.svelte-1uha8ag){color:var(--color-sage);text-decoration:underline}.gift-description.svelte-1uha8ag{font-family:var(--font-body);font-size:1rem;color:var(--color-charcoal-light)}.gift-status.svelte-1uha8ag{flex-shrink:0}.claimed-badge.svelte-1uha8ag{display:inline-block;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-charcoal);background:var(--color-pink-light);padding:.5rem 1rem}.claim-form.svelte-1uha8ag{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.claim-input.svelte-1uha8ag{font-family:var(--font-body);font-size:1rem;padding:.5rem .75rem;border:1px solid rgba(184,166,125,.3);background:var(--color-cream);outline:none;width:120px}.claim-input.svelte-1uha8ag:focus{border-color:var(--color-gold)}.claim-btn.svelte-1uha8ag{font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.05em;color:var(--color-charcoal);background:var(--color-pink-light);border:none;padding:.6rem 1.2rem;cursor:pointer;transition:all .3s var(--ease-elegant)}.claim-btn.svelte-1uha8ag:hover{background:var(--color-charcoal)}.claim-btn.cancel.svelte-1uha8ag{background:transparent;color:var(--color-charcoal-light);border:1px solid rgba(184,166,125,.3)}.claim-btn.cancel.svelte-1uha8ag:hover{border-color:var(--color-charcoal);color:var(--color-charcoal)}@media(max-width:600px){.gift-item.svelte-1uha8ag{flex-direction:column;text-align:center}.claim-form.svelte-1uha8ag{justify-content:center}}.rsvp.svelte-1uha8ag{padding:8rem 2rem;position:relative;background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-cream-dark) 100%)}.rsvp-bg.svelte-1uha8ag{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 70%,rgba(201,169,166,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 30%,rgba(90,111,88,.1) 0%,transparent 50%)}.rsvp-header.svelte-1uha8ag{text-align:center;position:relative;z-index:1}.rsvp-deadline.svelte-1uha8ag{font-family:var(--font-body);font-size:1.1rem;color:var(--color-charcoal-light);margin-top:1rem}.rsvp-spacer.svelte-1uha8ag{height:2rem}.rsvp-form.svelte-1uha8ag{max-width:700px;margin:0 auto;position:relative;z-index:1}.form-row.svelte-1uha8ag{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group.svelte-1uha8ag{margin-bottom:2rem}.form-group.svelte-1uha8ag label:where(.svelte-1uha8ag){display:block;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-charcoal);margin-bottom:.75rem}.form-group.svelte-1uha8ag input:where(.svelte-1uha8ag):not([type=radio]),.form-group.svelte-1uha8ag select:where(.svelte-1uha8ag),.form-group.svelte-1uha8ag textarea:where(.svelte-1uha8ag){width:100%;font-family:var(--font-body);font-size:1.1rem;color:var(--color-charcoal);background:var(--color-cream);border:1px solid rgba(184,166,125,.3);padding:1rem 1.25rem;transition:all .3s var(--ease-elegant);outline:none}.form-group.svelte-1uha8ag input:where(.svelte-1uha8ag):not([type=radio])::placeholder,.form-group.svelte-1uha8ag textarea:where(.svelte-1uha8ag)::placeholder{color:var(--color-charcoal-light);opacity:.5}.form-group.svelte-1uha8ag input:where(.svelte-1uha8ag):not([type=radio]):focus,.form-group.svelte-1uha8ag select:where(.svelte-1uha8ag):focus,.form-group.svelte-1uha8ag textarea:where(.svelte-1uha8ag):focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #b8a67d26}.form-group.svelte-1uha8ag select:where(.svelte-1uha8ag){cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23B8A67D' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem}.form-group.svelte-1uha8ag textarea:where(.svelte-1uha8ag){resize:vertical;min-height:120px}.radio-group.svelte-1uha8ag{display:flex;gap:2rem;flex-wrap:wrap}.radio-label.svelte-1uha8ag{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-family:var(--font-body);font-size:1.1rem;color:var(--color-charcoal);transition:color .3s}.radio-label.svelte-1uha8ag input:where(.svelte-1uha8ag){display:none}.radio-custom.svelte-1uha8ag{display:inline-block;width:22px;height:22px;min-width:22px;min-height:22px;flex:0 0 22px;border:2px solid var(--color-gold);border-radius:50%;position:relative}.radio-custom.svelte-1uha8ag:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:10px;height:10px;background:var(--color-gold);border-radius:50%;transition:transform .3s var(--ease-bounce)}.radio-label.svelte-1uha8ag input:where(.svelte-1uha8ag):checked+.radio-custom:where(.svelte-1uha8ag):after{transform:translate(-50%,-50%) scale(1)}.radio-label.svelte-1uha8ag:hover .radio-custom:where(.svelte-1uha8ag){border-color:var(--color-sage)}.conditional-fields.svelte-1uha8ag{animation:svelte-1uha8ag-slideDown .4s var(--ease-elegant)}@keyframes svelte-1uha8ag-slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-error.svelte-1uha8ag{color:#c44;font-family:var(--font-body);font-size:1rem;text-align:center;margin-bottom:1rem}.submit-btn.svelte-1uha8ag{display:inline-flex;align-items:center;gap:1rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-charcoal);background:var(--color-pink-light);border:none;padding:1.25rem 3rem;cursor:pointer;position:relative;overflow:hidden;transition:all .4s var(--ease-elegant)}.submit-btn.svelte-1uha8ag svg:where(.svelte-1uha8ag){width:18px;height:18px;transition:transform .3s var(--ease-elegant)}.submit-btn.svelte-1uha8ag:before{content:"";position:absolute;inset:0;background:var(--color-charcoal);transform:translate(-100%);transition:transform .4s var(--ease-elegant)}.submit-btn.svelte-1uha8ag:hover{color:var(--color-cream)}.submit-btn.svelte-1uha8ag:hover:before{transform:translate(0)}.submit-btn.svelte-1uha8ag:hover svg:where(.svelte-1uha8ag){transform:translate(5px)}.submit-btn.svelte-1uha8ag span:where(.svelte-1uha8ag),.submit-btn.svelte-1uha8ag svg:where(.svelte-1uha8ag){position:relative;z-index:1}.form-success.svelte-1uha8ag{max-width:500px;margin:0 auto;text-align:center;padding:4rem 2rem;background:var(--color-cream);border:1px solid rgba(184,166,125,.3)}.success-icon.svelte-1uha8ag{width:80px;height:80px;margin:0 auto 2rem;background:var(--color-pink-light);color:var(--color-charcoal);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;animation:svelte-1uha8ag-scaleIn .5s var(--ease-bounce)}@keyframes svelte-1uha8ag-scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.form-success.svelte-1uha8ag h3:where(.svelte-1uha8ag){font-family:var(--font-display);font-size:2rem;color:var(--color-charcoal);margin-bottom:1rem}.form-success.svelte-1uha8ag p:where(.svelte-1uha8ag){font-family:var(--font-body);font-size:1.1rem;color:var(--color-charcoal-light)}.footer.svelte-1uha8ag{padding:6rem 2rem;background:var(--color-charcoal);text-align:center}.footer-content.svelte-1uha8ag{max-width:600px;margin:0 auto}.footer-logo.svelte-1uha8ag{max-width:min(80vw,300px);height:auto;margin-bottom:0;filter:brightness(0) invert(1)}.footer-date.svelte-1uha8ag{font-family:var(--font-body);font-size:1rem;letter-spacing:.2em;color:var(--color-pink-light);margin-top:-1.5rem;margin-bottom:.2rem}.footer-ornament.svelte-1uha8ag{font-size:1.2rem;color:var(--color-pink-light);margin-bottom:.2rem}.footer-message.svelte-1uha8ag{font-family:var(--font-display);font-size:1.2rem;font-style:italic;color:var(--color-cream);opacity:.8}@media(max-width:768px){.nav-links.svelte-1uha8ag{display:none}.form-row.svelte-1uha8ag{grid-template-columns:1fr}.radio-group.svelte-1uha8ag{flex-direction:column;gap:1rem}}
