body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8fafc;color:#172033}.app-shell{min-height:100vh}.hero-band{min-height:78vh;display:grid;align-items:center;background:linear-gradient(90deg,#121f31b8,#121f3142),url(https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1800&q=80);background-size:cover;background-position:center;color:#fff}.auth-page-shell{min-height:100vh;padding:40px 20px;background:radial-gradient(circle at top left,rgba(69,123,157,.08),transparent 30%),linear-gradient(180deg,#f7f4ef,#fcfbf8 48%,#f8fafc)}.auth-page-container{max-width:1100px}.auth-page-grid{align-items:stretch}.auth-page-aside{justify-content:center;padding:12px 8px}.auth-page-title{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.02}.auth-value-card,.auth-form-card{border-color:#2f6f631f;background:#ffffffe6;box-shadow:0 20px 48px #121f3114;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-form-card{padding:28px}.auth-checklist .mantine-Checkbox-root+.mantine-Checkbox-root{margin-top:2px}.public-page{background:#fffaf7;min-height:100vh;text-align:center}.section-band{padding:36px 20px}.section-band.public-section-has-bg{background-size:cover;background-position:center;color:#fff}.section-band.public-section-has-bg .mantine-Title-root,.section-band.public-section-has-bg .mantine-Text-root{color:inherit}.section-band.public-section-has-bg .public-rsvp-card,.section-band.public-section-has-bg .public-contact-tile{color:#172033}.public-invite-container{max-width:760px;margin-inline:auto}.public-section-hero{padding-top:44px;padding-bottom:30px}.public-section-rsvp{padding-top:30px;padding-bottom:40px}.public-hero-title{font-size:clamp(2rem,6vw,3.6rem);line-height:1.05}.public-hero-copy{max-width:640px;margin-inline:auto}.public-rsvp-card{border-color:#2f6f6329;text-align:left}.public-music-player{width:100%;margin-top:8px}.public-section-nav{position:fixed;top:50%;right:18px;z-index:20;display:grid;gap:4px;width:132px;padding:10px 8px;border:1px solid rgba(47,111,99,.12);border-radius:18px;background:#ffffffb8;box-shadow:0 12px 28px #121f3114;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translateY(-50%)}.public-section-nav a{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;padding:5px 8px;border-radius:10px;color:#1d5248e6;font-size:11px;font-weight:600;line-height:1.15;text-decoration:none}.public-section-nav a:focus-visible,.public-section-nav a:hover{background:#2f6f6314}.public-section-nav-dot{width:6px;height:6px;border-radius:999px;background:#2f6f636b}.public-section-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-floating-music{position:fixed;right:18px;bottom:18px;z-index:24}.public-sponsored-band{padding-top:0}.public-sponsored-inline{padding:6px 4px 0;border-top:1px solid rgba(47,111,99,.12)}.public-sponsored-card{border-radius:16px;background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.public-sponsored-slot-band{padding-top:0}.public-sponsored-slot-card{border-radius:16px;background:#ffffffeb}.public-sponsored-slot-image{width:100%;max-height:220px;object-fit:cover;border-radius:10px}.public-floating-music-shell{display:inline-flex;align-items:stretch;overflow:hidden;border-radius:999px;box-shadow:0 14px 34px #121f3138;transform-origin:right center}.public-floating-music-shell.is-expanded{animation:wg-music-expand .16s ease-out}.public-floating-music-trigger,.public-floating-music-summary,.public-floating-music-toggle{border:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform .16s ease,filter .16s ease,background-color .16s ease,color .16s ease}.public-floating-music-trigger,.public-floating-music-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0;font-size:12px;font-weight:700;line-height:1}.public-floating-music-trigger,.public-floating-music-summary{background:#fffffff0;color:#2f6f63;border:1px solid rgba(47,111,99,.2)}.public-floating-music-trigger{border-radius:999px}.public-floating-music-toggle{background:#2f6f63;color:#fff}.public-floating-music-toggle:disabled{cursor:wait;opacity:.92}.public-floating-music-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:min(78vw,260px);min-height:40px;padding:0 12px 0 10px;border-right:1px solid rgba(47,111,99,.12);text-align:left}.public-floating-music-status-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#2f6f631f}.public-floating-music-copy{display:grid;min-width:0;gap:2px}.public-floating-music-state{font-size:11px;font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:.04em}.public-floating-music-marquee{position:relative;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.2}.public-floating-music-marquee span{display:inline-block;padding-right:28px;animation:wg-marquee-slide 10s linear infinite}.public-floating-music-summary:hover,.public-floating-music-trigger:hover,.public-floating-music-toggle:hover{filter:brightness(.98)}.public-floating-music-summary:focus-visible,.public-floating-music-trigger:focus-visible,.public-floating-music-toggle:focus-visible{outline:2px solid rgba(47,111,99,.32);outline-offset:2px}.public-floating-hidden-audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.public-floating-music-spinner{animation:wg-music-spin .8s linear infinite}.wg-success-check{animation:wg-success-pop .32s ease}@keyframes wg-success-pop{0%{transform:scale(.55);opacity:0}70%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@keyframes wg-marquee-slide{0%{transform:translate(0)}to{transform:translate(-45%)}}@keyframes wg-music-expand{0%{opacity:.72;transform:scaleX(.9) translateY(2px)}to{opacity:1;transform:scaleX(1) translateY(0)}}@keyframes wg-music-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.wg-page-section-card{transition:border-color .16s ease,background-color .16s ease,opacity .16s ease}.wg-page-section-disabled{border-style:dashed;background:#f3f5f4;opacity:.74}.wg-map-editor{padding:16px;border:1px solid rgba(47,111,99,.12);border-radius:12px;background:#f8fafcc2}.wg-section-design-editor{padding:16px;border:1px solid rgba(154,92,108,.14);border-radius:12px;background:#fffaf7}.wg-public-preview-drawer .mantine-Drawer-content{background:linear-gradient(135deg,#edf6f1e6,#fffaf7fa)}.wg-phone-preview-frame{position:relative;width:min(100%,360px);aspect-ratio:9 / 16;margin-inline:auto;overflow:hidden;border:12px solid #ffffff;border-radius:34px;background:#fffaf7;box-shadow:0 18px 50px #121f3129}.wg-phone-preview-frame:before{content:"";position:absolute;top:8px;left:50%;z-index:2;width:82px;height:18px;border-radius:999px;background:#fff;transform:translate(-50%)}.wg-phone-preview-frame iframe{width:100%;height:100%;border:0}.wg-qr-share-box{display:grid;width:236px;height:236px;place-items:center;border:1px solid rgba(47,111,99,.14);border-radius:16px;background:#fff}.wg-qr-share-box img{width:220px;height:220px}.wg-invite-email-designer{background:#fffdf9}.wg-invite-email-preview{overflow:hidden;border:1px solid rgba(47,111,99,.14);border-radius:12px;background:#fff}.wg-invite-email-preview img{display:block;width:100%;max-height:220px;object-fit:cover}.wg-map-preview,.public-map-frame{width:100%;min-height:320px;margin-top:16px;border:0;border-radius:12px;background:#eef2f0}.public-map-frame{min-height:300px}.public-gallery-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;background:#eef2f0}.public-slideshow{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#eef2f0}.public-slideshow img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease,transform .42s ease}.public-slideshow img.is-active{opacity:1}.public-slideshow-fade img{transform:scale(1)}.public-slideshow-slide img{transform:translate(8%)}.public-slideshow-slide img.is-active{transform:translate(0)}.public-slideshow-zoom img{transform:scale(1.06)}.public-slideshow-zoom img.is-active{transform:scale(1)}.public-slideshow-nav{position:absolute;top:50%;z-index:2;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:999px;background:#ffffffe0;color:#172033;box-shadow:0 8px 24px #121f312e;transform:translateY(-50%);cursor:pointer}.public-slideshow-prev{left:12px}.public-slideshow-next{right:12px}.public-slideshow-dots{position:absolute;right:12px;bottom:12px;left:12px;z-index:2}.public-slideshow-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#ffffff9e;cursor:pointer}.public-slideshow-dots button.is-active{width:22px;background:#fff}.public-contact-tile{min-height:120px;padding:16px;border:1px solid rgba(47,111,99,.16);border-radius:8px;background:#fbf8f4;text-align:center;color:inherit;cursor:pointer;text-decoration:none}.public-contact-tile:focus-visible{outline:2px solid #4b9677;outline-offset:2px}.public-countdown-grid{width:min(100%,520px)}.public-countdown-tile,.public-info-card{border:1px solid rgba(47,111,99,.14);border-radius:12px;background:#ffffffbd;color:#172033}.public-countdown-tile{padding:18px 10px}.public-countdown-value{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,3.5rem);font-weight:700;line-height:1;color:#2f6f63}.public-info-list,.public-dress-grid{width:100%}.public-info-card{padding:18px;text-align:center}.public-color-swatch{display:inline-block;width:34px;height:34px;border:2px solid rgba(255,255,255,.92);border-radius:999px;box-shadow:0 4px 14px #121f3124}.public-dress-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;background:#eef2f0}.public-wishes-grid{width:100%}.public-wish-tile{min-height:136px;padding:18px;border:1px solid rgba(154,92,108,.14);border-radius:12px;background:#ffffffb8;color:#172033}.public-wish-message{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.public-video-frame{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;background:#121f31}.wg-seating-board{position:relative;width:100%;aspect-ratio:900 / 520;min-height:320px;margin-top:14px;overflow:hidden;border:1px solid rgba(47,111,99,.18);border-radius:12px;background:linear-gradient(rgba(47,111,99,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(47,111,99,.06) 1px,transparent 1px),#fbf8f4;background-size:36px 36px;touch-action:none}.wg-seating-table-node,.wg-seating-fixture{position:absolute;min-width:104px;min-height:62px;border:1px solid rgba(47,111,99,.2);border-radius:12px;background:#fff;color:#24362f;box-shadow:0 8px 20px #121f3114;cursor:grab}.wg-seating-table-node:active,.wg-seating-fixture:active{cursor:grabbing}.wg-seating-fixture{min-height:44px;background:#eef2f0;font-weight:700}.legal-summary-tile{min-height:112px;padding:16px;border:1px solid rgba(47,111,99,.16);border-radius:8px;background:#fbf8f4}.wg-planning-hero{border-color:#2f6f6329;background:linear-gradient(180deg,#fff,#fbf8f4)}.wg-planning-metric{min-height:118px;padding:16px;border:1px solid rgba(47,111,99,.14);border-radius:8px;background:#ffffffc7}.wg-planning-row{padding:12px 0;border-bottom:1px solid rgba(47,111,99,.1)}.wg-planning-row:last-child{border-bottom:0}.wg-planning-done{color:#66726f;background:#2f6f630f}@media (max-width: 720px){.auth-page-shell{padding:18px 14px 28px}.auth-form-card{padding:20px}.hero-band{min-height:70vh}.section-band{padding:26px 16px}.public-section-hero{padding-top:32px;padding-bottom:24px}.public-section-rsvp{padding-top:24px;padding-bottom:32px}.public-hero-title{font-size:clamp(1.9rem,11vw,2.7rem)}.public-map-frame,.wg-map-preview{min-height:220px}.public-section-nav{top:auto;right:12px;bottom:74px;left:12px;display:flex;width:auto;max-width:none;overflow-x:auto;border-radius:16px;transform:none}.public-section-nav a{flex:0 0 auto;min-width:108px;max-width:132px}.public-floating-music{right:12px;bottom:12px}.wg-phone-preview-frame{width:min(100%,310px)}.wg-seating-board{min-height:280px}}
