:root{--color-primary:#6f4cc3;--color-primary-dark:#4b2f88;--color-ink:#241b35;--color-background:#faf8fc;--color-surface:#fff;--color-lavender:#eee8fa;--color-muted-purple:#9a86c8;--color-gold:#d7b46a;--color-success:#2f7d5a;--color-error:#b4233f;--color-warning:#a16207;--color-line:#e5dff0;--color-muted:#6f657b;--shadow:0 18px 48px #4b2f881c}*{box-sizing:border-box}html,body{min-height:100%;margin:0;overflow-x:hidden}body{color:var(--color-ink);background:var(--color-background);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:3px}.home{text-align:center;background:var(--color-background);place-items:center;min-height:100dvh;display:grid}.home-panel{width:100%;min-height:100dvh;padding:calc(56px + env(safe-area-inset-top)) calc(28px + env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) calc(28px + env(safe-area-inset-left));color:#fff;background:radial-gradient(circle at 18% 14%,#ffffff21,transparent 28%),linear-gradient(145deg,var(--color-primary),var(--color-primary-dark));flex-direction:column;justify-content:center;align-items:center;display:flex}.brand-mark{color:#ead7a3;place-items:center;width:92px;height:92px;margin-bottom:26px;font:700 38px/1 Georgia,serif;display:grid;position:relative}.brand-mark:before,.brand-mark:after{content:"";border:3px solid;border-radius:50% 50% 46% 54%;position:absolute;inset:12px;transform:rotate(45deg)}.brand-mark:after{transform:rotate(-45deg)}.brand-mark span{z-index:1;position:relative}.home h1{margin:0 0 18px;font:700 clamp(2.65rem,12vw,4.8rem)/1 Georgia,Times New Roman,serif}.home-copy{color:#ffffffe0;max-width:420px;margin:0;line-height:1.7}.store-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:58px;display:flex}.store{color:#fff;text-align:left;background:#ffffff1a;border:1px solid #ffffff47;border-radius:12px;width:160px;padding:11px 16px;font-weight:750;line-height:1.15}.store small{opacity:.72;font-size:.66rem;font-weight:500;display:block}.store.disabled{opacity:.82}.coming-soon{color:#ffffffad;max-width:380px;margin:18px 0 0;font-size:.75rem;line-height:1.5}.invitation-shell{min-height:100dvh;padding:env(safe-area-inset-top) max(0px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left));background:linear-gradient(180deg,#f6f1fc 0,var(--color-background) 360px)}.invitation-shell>header{justify-content:space-between;align-items:center;max-width:720px;min-height:68px;margin:auto;padding:10px 20px;display:flex}.wordmark{color:var(--color-primary-dark);letter-spacing:.015em;font:750 1.18rem/1.2 Georgia,serif;text-decoration:none}.language{color:var(--color-muted-purple);align-items:center;gap:5px;display:flex}.language button{min-width:44px;min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:.78rem;font-weight:750}.language button.active{color:var(--color-primary-dark);background:var(--color-lavender)}.invitation-card{border:1px solid var(--color-line);background:var(--color-surface);width:min(100% - 24px,560px);box-shadow:var(--shadow);border-radius:24px;margin:0 auto;overflow:hidden}.cover{aspect-ratio:16/9;background:var(--color-lavender);border-radius:16px;margin:10px 10px 0;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-fallback{color:var(--color-primary);background:radial-gradient(circle at 50% 40%,#f7f0ff,var(--color-lavender) 70%);place-items:center;display:grid}.cover-fallback span{opacity:.78;font:700 clamp(3.4rem,15vw,5.4rem)/1 Georgia,serif}.invitation-body{padding:24px 20px 22px}.event-type{color:var(--color-primary-dark);background:var(--color-lavender);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;margin:0 0 14px;padding:6px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.greeting{color:var(--color-muted);margin:0 0 9px;font-size:.92rem}.greeting strong{color:var(--color-ink)}.invitation-card h1{letter-spacing:-.025em;margin:0;font:750 clamp(1.7rem,7vw,2.3rem)/1.16 ui-sans-serif,system-ui,sans-serif}.details{margin:29px 0 0;display:grid}.details>div{border-top:1px solid var(--color-line);grid-template-columns:72px 1fr;gap:12px;padding:14px 0;display:grid}.details dt{color:var(--color-muted-purple);text-transform:uppercase;letter-spacing:.07em;font-size:.75rem;font-weight:750}.details dd{margin:0;font-weight:600;line-height:1.45}.description{color:var(--color-muted);white-space:pre-line;margin:10px 0 26px;line-height:1.7}.map-link{min-height:44px;color:var(--color-primary-dark);text-underline-offset:3px;align-items:center;margin:10px 0 4px;font-weight:750;display:inline-flex}.rsvp{border:1px solid var(--color-line);background:var(--color-background);text-align:center;border-radius:16px;margin-top:24px;padding:20px}.rsvp h2{margin:0 0 16px;font-size:1.08rem;line-height:1.35}.rsvp p{color:var(--color-muted);margin-bottom:0;line-height:1.55}.rsvp.success{border-color:var(--color-muted-purple);background:var(--color-lavender)}.rsvp.unavailable{text-align:left;border-left:3px solid var(--color-primary);background:var(--color-lavender)}.choice-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice{border:1px solid var(--color-line);background:var(--color-surface);min-height:52px;color:var(--color-ink);cursor:pointer;border-radius:11px;padding:10px;font-weight:700}.accept-choice.selected{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.decline-choice.selected{color:var(--color-primary-dark);border-color:var(--color-primary);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-primary)}.counter-wrap{margin:22px 0}.counter-wrap p{color:var(--color-ink);margin:0 0 12px}.counter{justify-content:center;align-items:center;gap:20px;display:flex}.counter button{border:1px solid var(--color-line);background:var(--color-surface);width:46px;height:46px;color:var(--color-primary-dark);cursor:pointer;border-radius:50%;font-size:1.4rem}.counter button:disabled{opacity:.35}.counter output{min-width:26px;font:1.65rem Georgia,serif}.primary{color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));cursor:pointer;border:0;border-radius:11px;width:100%;min-height:52px;margin-top:20px;padding:12px 18px;font-weight:750;box-shadow:0 7px 18px #4b2f8833}.primary:disabled{opacity:.55;cursor:wait}.primary.compact{width:auto;min-width:140px}.secondary{border:1px solid var(--color-primary);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-primary-dark);cursor:pointer;border-radius:11px;margin-top:18px;font-weight:750}.error{font-size:.9rem;color:var(--color-error)!important}.submit-error{margin-top:14px}.submit-error .error{margin:0 0 8px}.retry-link{min-height:44px;color:var(--color-primary-dark);cursor:pointer;background:0 0;border:0;padding:8px 18px;font-weight:750;text-decoration:underline}.success-icon{color:#fff;background:var(--color-success);border-radius:50%;place-items:center;width:50px;height:50px;margin:0 auto 14px;font-size:1.5rem;display:grid}.saved-label{font-weight:750;color:var(--color-primary-dark)!important;margin:0 0 9px!important}.personal-notice{border:1px solid color-mix(in srgb,var(--color-gold) 55%,white);background:#fffaf0;border-radius:14px;gap:13px;margin:24px 0 0;padding:17px;display:flex}.personal-notice>span{color:var(--color-gold);flex:none;font-size:1.3rem}.personal-notice h2{margin:0 0 6px;font-size:1rem}.personal-notice strong{font-size:.88rem;line-height:1.45;display:block}.personal-notice p{color:var(--color-muted);margin:6px 0 0;font-size:.82rem;line-height:1.5}.claimed-state,.cancelled-state,.app-promo{border:1px solid var(--color-line);background:var(--color-surface);text-align:center;border-radius:16px;margin-top:24px;padding:22px}.claimed-state h2,.cancelled-state h2,.app-promo h2{margin:0;font-size:1.12rem}.cancelled-state{color:var(--color-muted);background:#f2eff5}.cancelled-state h2{color:var(--color-ink)}.cancelled-state p,.app-promo p{line-height:1.55}.app-promo{border-color:color-mix(in srgb,var(--color-gold) 55%,var(--color-line));background:linear-gradient(145deg,var(--color-lavender),#faf7ff);text-align:left}.app-promo p{color:var(--color-muted)}.app-promo .app-change{color:var(--color-ink);font-weight:650}.app-link{text-align:center;place-items:center;text-decoration:none;display:grid}.app-actions{gap:10px;display:grid}.app-actions .secondary{place-items:center;margin-top:0;text-decoration:none;display:grid}.refresh-warning{border:1px solid color-mix(in srgb,var(--color-warning) 35%,white);width:min(100% - 24px,560px);color:var(--color-ink);background:#fffaeb;border-radius:12px;margin:14px auto 0;padding:14px 16px}.refresh-warning p{margin:0;line-height:1.5}.refresh-warning button{min-height:44px;color:var(--color-primary-dark);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:6px 0;font-weight:750;text-decoration:underline}.comments{border-top:1px solid var(--color-line);margin-top:28px;padding-top:24px}.comments h2{margin:0 0 16px;font-size:1.2rem}.comments-muted{color:var(--color-muted);font-size:.9rem}.comment-list{gap:10px;display:grid}.comment{background:var(--color-lavender);border-radius:14px 14px 14px 4px;max-width:88%;padding:11px 13px}.comment.guest{color:#fff;background:var(--color-primary);border-radius:14px 14px 4px;justify-self:end}.comment.organizer{background:#f3effb;justify-self:start}.comment strong{color:var(--color-primary-dark);margin-bottom:4px;font-size:.72rem;display:block}.comment.guest strong{color:#ffffffd1}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.comment-form{scroll-margin-bottom:calc(24px + env(safe-area-inset-bottom));margin-top:16px}.comment-form textarea{resize:vertical;border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:96px;color:var(--color-ink);border-radius:11px;padding:13px;font:16px/1.45 ui-sans-serif,system-ui,sans-serif}.comment-form textarea:focus{outline:3px solid color-mix(in srgb,var(--color-primary) 22%,transparent);border-color:var(--color-primary)}.comment-actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.comment-actions small{color:var(--color-muted)}.comment-actions button{background:var(--color-primary);color:#fff;border:0;border-radius:10px;min-width:116px;min-height:48px;font-weight:750}.comment-actions button:disabled{opacity:.5}.chat-read-only{background:var(--color-lavender);color:var(--color-primary-dark);border-radius:11px;margin:16px 0 0;padding:13px 15px;font-size:.9rem;line-height:1.5}.state{text-align:center;place-content:center;justify-items:center;width:min(100% - 40px,520px);min-height:55vh;margin:auto;display:grid}.state h1{margin:14px 0 8px;font-size:1.65rem;line-height:1.25}.state p{color:var(--color-muted);margin:0;line-height:1.6}.state-icon{border:1px solid var(--color-muted-purple);width:54px;height:54px;color:var(--color-primary);border-radius:50%;place-items:center;font:1.6rem Georgia,serif;display:grid}.loader{border:3px solid var(--color-line);border-top-color:var(--color-primary);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:640px){.home{padding:24px}.home-panel{border-radius:32px;width:min(100% - 48px,480px);min-height:760px;box-shadow:0 24px 70px #241b3533}.invitation-body{padding:32px 34px 30px}.invitation-shell>header{min-height:78px}}@media (max-width:390px){.choice-row{grid-template-columns:1fr}.invitation-body{padding-inline:17px}}@media (prefers-reduced-motion:reduce){.loader{animation:none}}html{scroll-behavior:smooth}.landing{--violet:#5931cf;--deep:#161058;--lavender:#f1edff;color:var(--deep);background:#fbfaff}.landing a{color:inherit}.landing-header{z-index:10;justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:86px;margin:auto;display:flex;position:relative}.brand-link{text-decoration:none}.site-logo{color:#181061;align-items:center;gap:10px;font-size:1.24rem;display:inline-flex}.logo-glyph{flex:none;place-items:center;width:38px;height:38px;display:grid}.logo-glyph img{object-fit:contain;width:100%;height:100%;display:block}.landing-header nav{gap:30px;font-size:.83rem;font-weight:700;display:flex}.landing-header nav a{text-decoration:none}.header-actions{align-items:center;gap:18px;display:flex}.lang-menu{color:var(--deep);cursor:pointer;background:0 0;border:0;font-weight:700}.button{background:linear-gradient(135deg,#7246e5,#4e24bd);border-radius:13px;justify-content:center;align-items:center;gap:13px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 12px 28px #5228c040;color:#fff!important}.button-small{min-height:44px;padding:0 20px;font-size:.78rem}.hero{background:radial-gradient(circle at 88% 47%,#9567f338,#0000 34%),radial-gradient(circle at 15%,#e7d7ffbf,#0000 42%);grid-template-columns:1fr 1fr;align-items:center;width:min(1180px,100% - 48px);min-height:650px;margin:auto;display:grid;position:relative}.hero:before,.hero:after{color:#8867e8;opacity:.22;content:"♡";font:5rem/1 Georgia,serif;position:absolute}.hero:before{top:45px;left:33%;transform:rotate(-18deg)}.hero:after{bottom:50px;right:2%;transform:rotate(15deg)}.hero-copy{z-index:2;max-width:555px;padding:54px 0 46px 26px;position:relative}.eyebrow,.section-heading>span{color:#7247dc;letter-spacing:.17em;margin-bottom:14px;font-size:.68rem;font-weight:900;display:block}.hero h1{letter-spacing:-.055em;margin:0 0 15px;font-size:clamp(3rem,5.1vw,4.75rem);line-height:.98}.hero h1 em{color:#6336d5;font-style:normal}.hero-copy>p{color:#514c7d;max-width:525px;margin:13px 0;font-size:1rem;line-height:1.62}.hero-copy .hero-lead{color:var(--deep);font-size:1.34rem;font-weight:700;line-height:1.35}.hero-button{min-height:54px;margin-top:20px;padding:0 25px}.hero-button span{font-size:1.2rem}.store-buttons{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.store-button{color:#fff;background:#090a13;border-radius:8px;align-items:center;gap:9px;min-width:145px;min-height:47px;padding:7px 13px;font-size:.86rem;font-weight:700;line-height:1.1;display:flex}.store-button small{letter-spacing:.05em;margin-bottom:2px;font-size:.49rem;font-weight:500;display:block}.store-icon{font-size:1.22rem}.script-note,.download-script{color:#6843d2;font:italic 1.3rem/1.25 Georgia,serif;position:absolute;bottom:10px;left:5px;transform:rotate(-7deg)}.phone-wrap{place-items:center;height:610px;display:grid;position:relative}.phone-glow{filter:blur(55px);background:#c7b1ff73;border-radius:50%;width:450px;height:450px;position:absolute}.phone{background:linear-gradient(130deg,#3c2847,#0b0710 50%,#745888);border:4px solid #1e142c;border-radius:56px;width:322px;height:615px;padding:11px;position:relative;transform:rotate(7deg);box-shadow:0 40px 80px #30185b59}.phone:after{content:"";pointer-events:none;border:1px solid #ffffff80;border-radius:48px;position:absolute;inset:5px}.phone-island{z-index:4;background:#08070c;border-radius:18px;width:100px;height:25px;position:absolute;top:19px;left:50%;transform:translate(-50%)}.phone-screen{background:linear-gradient(#fbfaff,#f1edff);border-radius:42px;height:100%;padding:19px 14px 12px;overflow:hidden}.phone-status{color:#14102a;justify-content:space-between;margin:0 5px 23px;font-size:.6rem;display:flex}.phone-screen .site-logo{justify-content:center;width:100%;font-size:.96rem}.phone-screen .logo-glyph{width:31px;height:31px}.phone-section-title{justify-content:space-between;margin:27px 2px 12px;font-size:.69rem;display:flex}.phone-section-title span{color:#6840d1}.phone-event{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 25px #3b236e14}.phone-event.featured{grid-template-columns:1fr 16px;padding:7px;display:grid}.phone-event.featured img{object-fit:cover;border-radius:11px;grid-column:1/3;width:100%;height:122px}.phone-event.featured div{padding:9px 5px 5px;font-size:.72rem}.phone-event small{color:#7259b0;margin-top:6px;font-size:.56rem;font-weight:500;display:block}.phone-event.featured>span{color:#6030d2;align-self:center;font-size:1.5rem}.compact-event{align-items:center;gap:10px;margin-top:12px;padding:7px;font-size:.65rem;display:flex}.event-thumb{color:#9b45c5;background:radial-gradient(circle at 30% 35%,#ef79d7 0 10%,#0000 11%),radial-gradient(circle at 65% 45%,#9875ee 0 15%,#0000 16%),linear-gradient(#ffeaf8,#eee4ff);border-radius:10px;flex:none;place-items:center;width:66px;height:58px;display:grid}.phone-nav{color:#6f5c9d;text-align:center;background:#fffffff5;border-radius:16px 16px 36px 36px;justify-content:space-around;padding:12px 5px 8px;font-size:.9rem;display:flex;position:absolute;bottom:14px;left:17px;right:17px}.phone-nav b{color:#5a30c9}.phone-nav small{margin-top:3px;font-size:.43rem;font-weight:500;display:block}.feature-grid{grid-template-columns:repeat(4,1fr);gap:14px;width:min(1180px,100% - 48px);margin:0 auto 45px;display:grid}.feature-card{background:#ffffffd4;border:1px solid #6a4cbe14;border-radius:20px;min-height:205px;padding:28px 25px;box-shadow:0 18px 45px #492d8e12}.feature-card>span{color:#6234d4;background:#eee8ff;border-radius:14px;place-items:center;width:50px;height:50px;font-size:1.65rem;display:grid}.feature-card h2{margin:20px 0 9px;font-size:1.03rem;line-height:1.25}.feature-card p{color:#665f8c;margin:0;font-size:.79rem;line-height:1.5}.community-banner{background:#cdbcf4;border-radius:24px;width:min(1180px,100% - 48px);height:290px;margin:0 auto 90px;position:relative;overflow:hidden}.community-banner:after{content:"";background:linear-gradient(90deg,#0000 25%,#e7ddfff5 64%,#d8c6fc);position:absolute;inset:0}.community-banner img{object-fit:cover;width:100%;height:100%}.community-banner div{z-index:2;width:40%;position:absolute;top:50%;right:7%;transform:translateY(-50%)}.community-banner h2{letter-spacing:-.03em;margin:0 0 13px;font-size:2.25rem;line-height:1.1}.community-banner p{color:#5f5684;max-width:355px;margin:0;line-height:1.55}.how-section,.testimonial-section{background:#fff;padding:90px max(24px,50% - 590px)}.section-heading{text-align:center}.section-heading h2{letter-spacing:-.04em;margin:0;font-size:2.65rem}.section-heading p{color:#746c98}.steps{grid-template-columns:repeat(3,1fr);gap:18px;max-width:830px;margin:42px auto 0;display:grid}.step-card{text-align:center;background:#faf8ff;border-radius:20px;padding:28px 22px}.step-number{color:#6133d1;background:#eae3ff;border-radius:16px;place-items:center;width:52px;height:52px;margin:0 auto 18px;font-size:1.35rem;font-weight:900;display:grid;box-shadow:0 8px 17px #532fb721}.step-card h3{margin:0 0 9px;font-size:1rem}.step-card p{color:#746b98;margin:0;font-size:.78rem;line-height:1.5}.events-section{grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px;width:min(1060px,100% - 48px);margin:90px auto;display:grid}.events-copy h2{letter-spacing:-.04em;margin:0 0 18px;font-size:2.6rem;line-height:1.05}.events-copy p{color:#6b648d;line-height:1.6}.soft-link{background:#eee9ff;border-radius:12px;margin-top:10px;padding:13px 18px;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex;color:#592dc7!important}.event-mosaic{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mosaic-card{color:#fff;background:#7c58da;border-radius:18px;align-items:flex-end;height:154px;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 28px #3f227926}.mosaic-card:after{content:"";background:linear-gradient(#0000,#140832b3);position:absolute;inset:35% 0 0}.mosaic-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mosaic-card b{z-index:2;font-size:.76rem;position:relative}.mosaic-card>span{place-items:center;padding-bottom:15px;font:4rem Georgia,serif;display:grid;position:absolute;inset:0}.mosaic-card.wedding{background:linear-gradient(145deg,#f4b7a5,#7043c6)}.mosaic-card.family{background:linear-gradient(145deg,#301d58,#bd8b57)}.mosaic-card.travel{background:linear-gradient(145deg,#5bafd1,#786ed0)}.testimonial-section{background:linear-gradient(#faf8ff,#f4f0ff)}.testimonial{background:#fff;border-radius:22px;gap:25px;max-width:650px;margin:38px auto 0;padding:34px;display:flex;box-shadow:0 16px 50px #482a8b17}.avatar{color:#fff;background:linear-gradient(145deg,#e1a585,#513081);border-radius:50%;flex:none;place-items:center;width:70px;height:70px;font-size:1.5rem;display:grid}.quote{color:#c3b1f3;font:3rem Georgia,serif;position:absolute}.testimonial p{margin:5px 0 18px;padding-left:25px;line-height:1.6}.testimonial small{color:#958bb1;margin-top:4px;display:block}.stars{color:#f6b80b;letter-spacing:.15em;margin-top:13px}.dots{color:#c2b8df;text-align:center;letter-spacing:.3em;margin-top:18px}.dots b{color:#6538d0}.download-section{text-align:center;background:radial-gradient(circle at 20%,#fff 0,#eee7ff 48%,#dcccfb);border-radius:24px;width:min(1180px,100% - 48px);margin:70px auto 45px;padding:50px;position:relative;overflow:hidden}.download-section h2{margin:0 0 10px;font-size:2.2rem}.download-section p{color:#655d88}.download-section .store-buttons{justify-content:center}.download-script{bottom:24px;left:auto;right:35px}.landing footer{border-top:1px solid #e8e2f3;grid-template-columns:auto 1fr auto auto;align-items:center;gap:30px;width:min(1180px,100% - 48px);margin:auto;padding:30px 0 45px;display:grid}.landing footer>div{justify-content:center;gap:25px;display:flex}.landing footer a{font-size:.7rem;text-decoration:none}.landing footer small{color:#8d84a8;font-size:.6rem}.legal-page{background:radial-gradient(circle at 80% 0,#6f4cc321,transparent 30%),var(--color-background);min-height:100vh;padding:28px 20px 56px}.legal-header{justify-content:space-between;align-items:center;gap:20px;width:min(100%,820px);min-height:58px;margin:0 auto 18px;display:flex}.legal-brand{color:var(--color-primary-dark);align-items:center;gap:10px;font-size:1.1rem;text-decoration:none;display:inline-flex}.legal-brand img{object-fit:contain;width:38px;height:38px}.legal-card{border:1px solid var(--color-line);background:var(--color-surface);width:min(100%,820px);box-shadow:var(--shadow);border-radius:24px;margin:auto;padding:clamp(28px,5vw,58px)}.legal-home{min-height:44px;color:var(--color-primary-dark);align-items:center;font-weight:750;text-decoration:none;display:inline-flex}.legal-kicker{color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;margin:25px 0 8px;font-size:.78rem;font-weight:800}.legal-card h1{letter-spacing:-.035em;margin:0 0 20px;font:750 clamp(2rem,7vw,3.25rem)/1.08 Georgia,Times New Roman,serif}.legal-card h2{margin:36px 0 12px;font-size:1.25rem;line-height:1.3}.legal-card p,.legal-card li{color:var(--color-muted);line-height:1.72}.legal-card strong{color:var(--color-ink)}.legal-card a:not(.legal-home){color:var(--color-primary-dark);text-underline-offset:3px;font-weight:700}.legal-card ul,.legal-card ol{padding-left:24px}.legal-card li+li{margin-top:8px}.legal-lead{font-size:1.08rem;color:var(--color-ink)!important}.legal-action{overflow-wrap:anywhere}.legal-note{border-left:4px solid var(--color-primary);background:var(--color-lavender);color:var(--color-muted);border-radius:10px;margin-top:34px;padding:18px 20px;line-height:1.65}.legal-footer{width:min(100%,820px);color:var(--color-muted);justify-content:space-between;align-items:center;gap:20px;margin:24px auto 0;display:flex}.legal-footer nav{flex-wrap:wrap;gap:10px 22px;display:flex}.legal-footer a{min-height:44px;color:var(--color-primary-dark);text-underline-offset:3px;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.legal-footer small{white-space:nowrap}.invitation-legal-links{flex-wrap:wrap;justify-content:center;gap:5px 18px;width:min(100% - 32px,620px);margin:24px auto 0;display:flex}.invitation-legal-links a{min-height:40px;color:var(--color-muted);align-items:center;font-size:.7rem;text-decoration:none;display:inline-flex}.invitation-legal-links a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:560px){.legal-page{padding:12px 0 32px}.legal-header{padding:0 18px}.legal-card{box-shadow:none;border-width:0;border-radius:0}.legal-footer{flex-direction:column;align-items:flex-start;padding:0 18px}}.invitation-shell{background:radial-gradient(circle at 25% 10%,#8253e51a,#0000 28%),linear-gradient(#fbfaff,#f3effc)}.invitation-shell>header{max-width:690px;min-height:82px}.wordmark{align-items:center;gap:9px;font-family:ui-sans-serif,system-ui,sans-serif;display:inline-flex}.wordmark span{flex:none;place-items:center;width:36px;height:36px;display:grid}.wordmark span img{object-fit:contain;width:100%;height:100%;display:block}.invitation-card{border:0;border-radius:22px;width:min(100% - 28px,620px);box-shadow:0 24px 70px #321c691f}.cover{aspect-ratio:16/6.8;border-radius:0;margin:0;position:relative}.cover:after{content:"Празднуем вместе! ♡";color:#fff;text-shadow:0 2px 12px #17093480;max-width:220px;font:italic 1.8rem/1.15 Georgia,serif;position:absolute;bottom:25px;left:28px;transform:rotate(-4deg)}.cover-fallback{background-image:linear-gradient(90deg,#381a6540,#0000),url(/images/birthday-hero.png);background-position:50%;background-size:cover}.cover-fallback span{display:none}.invitation-body{background:#fff;border-radius:20px;margin:-18px 22px 22px;padding:28px 28px 26px;position:relative;box-shadow:0 11px 30px #2f1b5b17}.event-type{color:#6635d4;letter-spacing:0;text-transform:none;background:#f1ebff;margin-bottom:10px}.greeting{margin-top:5px}.invitation-card h1{color:#161053;font-size:1.85rem}.details{margin-top:20px}.details>div{border:0;grid-template-columns:82px 1fr;padding:10px 0}.details dt{color:#6941d4}.personal-notice{background:linear-gradient(135deg,#f0eaff,#eae2ff);border:0}.rsvp{background:#faf9ff;border:0;padding:17px}.choice{color:#5030a8;border-color:#7650d7;min-height:48px}.comments{border-top:10px solid #f5f1fb;margin:22px -28px -26px;padding:22px 28px 26px}.comment{box-shadow:0 5px 14px #3a226e12}.comment-form{position:relative}.comment-form textarea{resize:none;border-radius:16px;min-height:54px;padding-right:88px}.comment-actions{margin:0;position:absolute;bottom:7px;right:7px}.comment-actions small{display:none}.comment-actions button{border-radius:12px;min-width:70px;min-height:40px}@media (max-width:900px){.landing-header nav{display:none}.hero{text-align:center;grid-template-columns:1fr}.hero-copy{max-width:700px;margin:auto;padding-inline:0}.hero-copy>p{margin-inline:auto}.store-buttons{justify-content:center}.script-note{display:none}.phone-wrap{height:580px}.feature-grid{grid-template-columns:1fr 1fr}.community-banner div{width:47%}.steps{grid-template-columns:1fr;max-width:520px}.step-card{text-align:left;align-items:center;gap:20px;display:flex}.step-number{flex:none;margin:0}.events-section{text-align:center;grid-template-columns:1fr}.landing footer{text-align:center;grid-template-columns:1fr;justify-items:center}}@media (max-width:600px){.landing-header{width:calc(100% - 32px);height:72px}.landing-header .button-small,.lang-menu{display:none}.hero{width:100%;min-height:0;padding:15px 20px 50px}.hero-copy{padding-top:38px}.hero h1{font-size:2.8rem}.hero-copy .hero-lead{font-size:1.1rem}.phone-wrap{height:515px;margin-top:18px}.phone{border-radius:48px;width:275px;height:520px;transform:rotate(3deg)}.phone-event.featured img{height:90px}.phone-section-title{margin-top:19px}.feature-grid{grid-template-columns:1fr;width:calc(100% - 32px)}.feature-card{min-height:auto}.community-banner{width:calc(100% - 32px);height:390px}.community-banner:after{background:linear-gradient(0deg,#e2d6fffa 0 48%,#0000 78%)}.community-banner div{text-align:center;width:auto;inset:auto 24px 28px;transform:none}.community-banner h2{font-size:1.75rem}.how-section,.testimonial-section{padding:65px 16px}.section-heading h2{font-size:2.05rem}.events-section{gap:35px;width:calc(100% - 32px)}.event-mosaic{gap:8px}.mosaic-card{height:125px;padding:11px}.testimonial{gap:14px;padding:24px 18px}.avatar{width:52px;height:52px}.download-section{width:calc(100% - 32px);padding:42px 18px 80px}.download-script{font-size:1rem;bottom:18px;right:20px}.landing footer>div{flex-wrap:wrap}.invitation-shell>header{min-height:68px}.invitation-card{border-radius:19px;width:calc(100% - 20px)}.cover{aspect-ratio:16/8.2}.cover:after{font-size:1.35rem;bottom:22px;left:20px}.invitation-body{margin:-13px 10px 10px;padding:23px 18px}.comments{margin:20px -18px -23px;padding:20px 18px 24px}}
