@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Old+Standard+TT&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Montserrat:wght@200;300&family=Patrick+Hand&family=Playwrite+VN:wght@300;400&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html{font-family:Noto Sans JP,sans-serif}body{margin:0}:root{--font-family:Helvetica,serif}.HelloWorld_helloworld__hmlzE{--background:#f7f4ee;--surface:#fffaf2;--surface-strong:#fff;--foreground:#1f2528;--primary:#173c3a;--primary-foreground:#fff;--secondary:#e8dfd0;--muted:#eee6d9;--muted-foreground:#687174;--accent:#c58b3a;--accent-soft:rgba(197,139,58,.13);--teal-soft:rgba(23,60,58,.1);--border:rgba(31,37,40,.12);--shadow:0 24px 70px rgba(37,35,30,.1);background:radial-gradient(circle at top left,rgba(197,139,58,.16),transparent 30rem),linear-gradient(180deg,#fbf7f0 0,var(--background) 42%,#f3eee5 100%);color:var(--foreground);font-size:16px;line-height:1.5;min-height:100vh;scroll-behavior:smooth}@-webkit-keyframes HelloWorld_fadeSlideUp__KQgYG{0%{opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes HelloWorld_fadeSlideUp__KQgYG{0%{opacity:0;-webkit-transform:translateY(18px);transform:translateY(18px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes HelloWorld_slowFloat__ktOqR{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}50%{-webkit-transform:translate3d(0,-12px,0);transform:translate3d(0,-12px,0)}}@keyframes HelloWorld_slowFloat__ktOqR{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}50%{-webkit-transform:translate3d(0,-12px,0);transform:translate3d(0,-12px,0)}}@-webkit-keyframes HelloWorld_softPulse__-0m6f{0%,to{box-shadow:0 0 0 5px var(--accent-soft)}50%{box-shadow:0 0 0 8px rgba(197,139,58,.08)}}@keyframes HelloWorld_softPulse__-0m6f{0%,to{box-shadow:0 0 0 5px var(--accent-soft)}50%{box-shadow:0 0 0 8px rgba(197,139,58,.08)}}.HelloWorld_helloworld__hmlzE *{box-sizing:border-box}.HelloWorld_helloworld__hmlzE a{color:inherit;text-decoration:none}.HelloWorld_helloworld__hmlzE a:focus-visible{outline:3px solid rgba(197,139,58,.42);outline-offset:3px}.HelloWorld_container__o9uU1{margin:0 auto;width:min(100%,1152px)}.HelloWorld_section__QqVWz{padding:5rem 1.5rem;scroll-margin-top:5rem}.HelloWorld_accentSection__pYBkl{background:linear-gradient(135deg,rgba(23,60,58,.055),rgba(197,139,58,.08)),rgba(255,250,242,.68)}.HelloWorld_nav__8Gnrk{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:rgba(255,250,242,.86);border-bottom:1px solid var(--border);left:0;position:fixed;top:0;width:100%;z-index:50}.HelloWorld_navInner__7t32s{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin:0 auto;padding:1rem 1.5rem;width:min(100%,1152px)}.HelloWorld_brand__A-cnY{color:var(--primary);flex-shrink:0;font-weight:700;letter-spacing:.01em}.HelloWorld_navLinks__0yb9U{align-items:center;color:var(--muted-foreground);display:flex;font-size:.95rem;gap:1.5rem}.HelloWorld_navLinks__0yb9U a{position:relative;transition:color .18s ease}.HelloWorld_navLinks__0yb9U a:after{background:var(--accent);bottom:-.35rem;content:"";height:2px;left:0;position:absolute;right:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:center;transform-origin:center;transition:-webkit-transform .18s ease;transition:transform .18s ease;transition:transform .18s ease,-webkit-transform .18s ease}.HelloWorld_navLinks__0yb9U a:hover{color:var(--primary)}.HelloWorld_navLinks__0yb9U a:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.HelloWorld_hero__oyZCl{overflow:hidden;padding-top:9rem;position:relative}.HelloWorld_hero__oyZCl:before{-webkit-animation:HelloWorld_slowFloat__ktOqR 9s ease-in-out infinite;animation:HelloWorld_slowFloat__ktOqR 9s ease-in-out infinite;background:linear-gradient(135deg,rgba(23,60,58,.08),rgba(197,139,58,.12)),var(--surface);border:1px solid rgba(23,60,58,.14);box-shadow:var(--shadow);right:max(1.5rem,calc(50vw - 576px));top:7.25rem;width:min(34vw,24rem)}.HelloWorld_hero__oyZCl:after,.HelloWorld_hero__oyZCl:before{aspect-ratio:1;border-radius:999px;content:"";pointer-events:none;position:absolute}.HelloWorld_hero__oyZCl:after{animation:HelloWorld_slowFloat__ktOqR 11s ease-in-out infinite reverse;background:var(--primary);opacity:.08;right:max(4rem,calc(50vw - 520px));top:12rem;width:min(18vw,12rem)}.HelloWorld_heroContent__mJPPn{-webkit-animation:HelloWorld_fadeSlideUp__KQgYG .7s ease both;animation:HelloWorld_fadeSlideUp__KQgYG .7s ease both;max-width:48rem;position:relative;z-index:1}.HelloWorld_hero__oyZCl h1{color:var(--primary);font-size:4rem;font-weight:750;letter-spacing:-.02em;line-height:1.05;margin:0 0 1.5rem;max-width:12ch}.HelloWorld_hero__oyZCl p{color:var(--muted-foreground);font-size:1.25rem;margin:0 0 2rem;max-width:44rem}.HelloWorld_actions__4NSqu,.HelloWorld_contactActions__zQDG1{display:flex;flex-wrap:wrap;gap:1rem}.HelloWorld_primaryButton__UCNKI,.HelloWorld_secondaryButton__WrLwz{align-items:center;border-radius:8px;display:inline-flex;font-weight:700;gap:.5rem;justify-content:center;min-height:44px;overflow-wrap:anywhere;padding:.75rem 1.5rem;text-align:center;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease,box-shadow .18s ease,-webkit-transform .18s ease;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease,-webkit-transform .18s ease;will-change:transform}.HelloWorld_primaryButton__UCNKI{background:var(--primary);border:1px solid var(--primary);box-shadow:0 14px 30px rgba(23,60,58,.18)}.HelloWorld_primaryButton__UCNKI,.HelloWorld_primaryButton__UCNKI:active,.HelloWorld_primaryButton__UCNKI:focus,.HelloWorld_primaryButton__UCNKI:hover,.HelloWorld_primaryButton__UCNKI:visited{-webkit-text-fill-color:#fff;color:#fff!important}.HelloWorld_primaryButton__UCNKI .HelloWorld_icon__uekdh{color:#fff}.HelloWorld_primaryButton__UCNKI:hover{box-shadow:0 18px 36px rgba(23,60,58,.22);opacity:.9;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.HelloWorld_secondaryButton__WrLwz{background:rgba(255,250,242,.66);border:1px solid var(--border);color:var(--foreground)}.HelloWorld_secondaryButton__WrLwz:hover{background:var(--accent-soft);border-color:rgba(197,139,58,.42);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.HelloWorld_section__QqVWz h2{color:var(--primary);font-size:2.25rem;font-weight:750;letter-spacing:-.015em;line-height:1.15;margin:0 0 1.5rem}.HelloWorld_section__QqVWz h3{color:var(--foreground);font-size:1.5rem;font-weight:700;line-height:1.25;margin:0 0 .75rem}.HelloWorld_section__QqVWz p{color:var(--muted-foreground)}.HelloWorld_aboutGrid__9ojXj{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.HelloWorld_aboutGrid__9ojXj p{font-size:1rem;margin:0 0 1rem}.HelloWorld_featureGrid__9mlhL{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.HelloWorld_card__EyUTu,.HelloWorld_projectCard__FGLSA,.HelloWorld_skillCard__KYETV{background:rgba(255,250,242,.86);border:1px solid var(--border);box-shadow:var(--shadow)}.HelloWorld_card__EyUTu{-webkit-animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;border-radius:10px;min-height:188px;padding:1.5rem;transition:border-color .18s ease,box-shadow .18s ease,-webkit-transform .18s ease;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,-webkit-transform .18s ease}.HelloWorld_card__EyUTu:nth-child(2){-webkit-animation-delay:80ms;animation-delay:80ms}.HelloWorld_card__EyUTu:nth-child(3){-webkit-animation-delay:.16s;animation-delay:.16s}.HelloWorld_card__EyUTu:nth-child(4){-webkit-animation-delay:.24s;animation-delay:.24s}.HelloWorld_card__EyUTu:hover{border-color:rgba(197,139,58,.4);box-shadow:0 28px 72px rgba(37,35,30,.14);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.HelloWorld_card__EyUTu p{margin:0}.HelloWorld_icon__uekdh{color:var(--accent);flex-shrink:0;height:2rem;width:2rem}.HelloWorld_card__EyUTu .HelloWorld_icon__uekdh{background:var(--accent-soft);border-radius:10px;margin-bottom:1rem;padding:.45rem}.HelloWorld_timeline__\+VleA{grid-gap:3rem;display:grid;gap:3rem;max-width:56rem}.HelloWorld_timelineEntry__j9tcE{-webkit-animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;border-left:2px solid var(--border);padding-left:2rem;position:relative}.HelloWorld_timelineEntry__j9tcE:nth-child(2){-webkit-animation-delay:90ms;animation-delay:90ms}.HelloWorld_timelineEntry__j9tcE:nth-child(3){-webkit-animation-delay:.18s;animation-delay:.18s}.HelloWorld_timelineEntry__j9tcE h3{margin-bottom:.5rem}.HelloWorld_timelineEntry__j9tcE p{margin:0}.HelloWorld_timelineDot__4sYR9{background:var(--background);border:2px solid var(--border);border-radius:999px;height:1rem;left:-9px;position:absolute;top:.25rem;width:1rem}.HelloWorld_activeEntry__4StK3{border-color:var(--primary)}.HelloWorld_activeEntry__4StK3 .HelloWorld_timelineDot__4sYR9{-webkit-animation:HelloWorld_softPulse__-0m6f 2.6s ease-in-out infinite;animation:HelloWorld_softPulse__-0m6f 2.6s ease-in-out infinite;background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.HelloWorld_company__6Kt6Y,.HelloWorld_timeLabel__G4MVs{color:var(--muted-foreground);display:block}.HelloWorld_timeLabel__G4MVs{margin-bottom:.5rem}.HelloWorld_company__6Kt6Y{color:var(--accent)!important;font-size:1.125rem;font-weight:700;margin-bottom:1rem!important}.HelloWorld_projectCard__FGLSA{-webkit-animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;background:linear-gradient(135deg,hsla(0,0%,100%,.7),rgba(255,250,242,.9)),var(--surface);border-radius:16px;padding:2rem}.HelloWorld_projectGrid__HLp2R{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr)}.HelloWorld_badge__2jCU2{background:var(--teal-soft);border-radius:999px;color:var(--primary);display:inline-flex;font-weight:700;margin-bottom:1rem;padding:.25rem .75rem}.HelloWorld_tags__YMifs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.HelloWorld_tags__YMifs span{background:var(--accent-soft);border-radius:999px;color:#6e4714;font-size:.95rem;font-weight:600;padding:.25rem .75rem}.HelloWorld_highlightList__yXgJl,.HelloWorld_skillCard__KYETV ul{list-style:none;margin:0;padding:0}.HelloWorld_highlightList__yXgJl{grid-gap:.75rem;color:var(--muted-foreground);display:grid;gap:.75rem}.HelloWorld_highlightList__yXgJl li{display:flex;gap:.75rem}.HelloWorld_highlightList__yXgJl li span{background:var(--accent);border-radius:999px;flex-shrink:0;height:.375rem;margin-top:.58rem;width:.375rem}.HelloWorld_projectPreview__ChTQk{grid-gap:1rem;background:radial-gradient(circle at 30% 24%,rgba(197,139,58,.28),transparent 36%),linear-gradient(135deg,rgba(23,60,58,.14),hsla(0,0%,100%,.72));border:1px solid rgba(23,60,58,.12);border-radius:12px;color:var(--primary);display:grid;gap:1rem;min-height:20rem;place-items:center;text-align:center}.HelloWorld_projectPreview__ChTQk .HelloWorld_icon__uekdh{-webkit-animation:HelloWorld_slowFloat__ktOqR 6s ease-in-out infinite;animation:HelloWorld_slowFloat__ktOqR 6s ease-in-out infinite;height:6rem;width:6rem}.HelloWorld_projectPreview__ChTQk span{display:block;font-weight:700}.HelloWorld_skillsGrid__zRymP{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.HelloWorld_skillCard__KYETV{-webkit-animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;animation:HelloWorld_fadeSlideUp__KQgYG .65s ease both;background:rgba(255,250,242,.8);border-radius:10px;padding:1.5rem;transition:border-color .18s ease,box-shadow .18s ease,-webkit-transform .18s ease;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,-webkit-transform .18s ease}.HelloWorld_skillCard__KYETV:nth-child(2){-webkit-animation-delay:80ms;animation-delay:80ms}.HelloWorld_skillCard__KYETV:nth-child(3){-webkit-animation-delay:.16s;animation-delay:.16s}.HelloWorld_skillCard__KYETV:hover{border-color:rgba(197,139,58,.4);box-shadow:0 28px 72px rgba(37,35,30,.14);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.HelloWorld_skillCard__KYETV li{color:var(--muted-foreground);margin-top:.5rem;padding-left:1rem;position:relative}.HelloWorld_skillCard__KYETV li:before{background:var(--accent);border-radius:999px;content:"";height:.35rem;left:0;position:absolute;top:.7rem;width:.35rem}.HelloWorld_contact__SvzGs{text-align:center}.HelloWorld_contact__SvzGs p{margin:0 auto 2rem;max-width:40rem}.HelloWorld_contactActions__zQDG1{justify-content:center}.HelloWorld_contactActions__zQDG1 .HelloWorld_icon__uekdh{color:currentColor;height:1.25rem;width:1.25rem}.HelloWorld_footer__O8flN{background:rgba(255,250,242,.72);border-top:1px solid var(--border);padding:2rem 1.5rem;text-align:center}.HelloWorld_footer__O8flN p{color:var(--muted-foreground);margin:0}@media (max-width:900px){.HelloWorld_aboutGrid__9ojXj,.HelloWorld_projectGrid__HLp2R,.HelloWorld_skillsGrid__zRymP{grid-template-columns:1fr}.HelloWorld_projectGrid__HLp2R{gap:2rem}}@media (max-width:767px){.HelloWorld_section__QqVWz{padding:3.5rem 1rem;scroll-margin-top:6.5rem}.HelloWorld_navInner__7t32s{align-items:flex-start;flex-direction:column;gap:.75rem;padding:.875rem 1rem}.HelloWorld_navLinks__0yb9U{font-size:.9rem;gap:.75rem;justify-content:space-between;width:100%}.HelloWorld_hero__oyZCl{padding-top:8.25rem}.HelloWorld_hero__oyZCl:after,.HelloWorld_hero__oyZCl:before{display:none}.HelloWorld_hero__oyZCl h1{font-size:2.75rem;max-width:13ch}.HelloWorld_hero__oyZCl p{font-size:1.1rem}.HelloWorld_featureGrid__9mlhL{grid-template-columns:1fr}.HelloWorld_projectCard__FGLSA{padding:1.25rem}.HelloWorld_projectPreview__ChTQk{min-height:16rem}}@media (max-width:520px){.HelloWorld_navLinks__0yb9U{justify-content:flex-start;overflow-x:auto;padding-bottom:.25rem}.HelloWorld_hero__oyZCl h1{font-size:2.25rem;max-width:100%}.HelloWorld_section__QqVWz h2{font-size:1.9rem}.HelloWorld_section__QqVWz h3{font-size:1.25rem}.HelloWorld_actions__4NSqu,.HelloWorld_contactActions__zQDG1{align-items:stretch;flex-direction:column}.HelloWorld_primaryButton__UCNKI,.HelloWorld_secondaryButton__WrLwz{width:100%}}@media (prefers-reduced-motion:reduce){.HelloWorld_helloworld__hmlzE *,.HelloWorld_helloworld__hmlzE :after,.HelloWorld_helloworld__hmlzE :before{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.Resume_resume__Rl2iZ{background:#2f3137;color:#f7f7f2;margin:0;min-height:100vh;width:100vw}.Resume_toolbar__w4eAl{align-items:center;background:#202228;border-bottom:1px solid hsla(0,0%,100%,.12);display:flex;justify-content:space-between;min-height:3.5rem;padding:.65rem clamp(1rem,4vw,2rem);position:-webkit-sticky;position:sticky;top:0;z-index:2}.Resume_status__JoF3y{font-size:.95rem;font-weight:600}.Resume_controls__jbT-D{align-items:center;display:flex;gap:.65rem}.Resume_iconButton__znUpV{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.24);border-radius:6px;color:#f7f7f2;cursor:pointer;display:inline-flex;height:2.25rem;justify-content:center;width:2.25rem}.Resume_iconButton__znUpV:disabled{cursor:not-allowed;opacity:.45}.Resume_zoomLabel__tv4qt{font-size:.9rem;min-width:3rem;text-align:center}.Resume_message__0JgMH{padding:2rem;text-align:center}.Resume_pages__opwSO{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem clamp(.75rem,4vw,2rem) 3rem}.Resume_page__\+1erm{background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.32)}.Resume_canvas__\+PIwP{display:block;height:auto;max-width:100%}@media (max-width:768px){.Resume_toolbar__w4eAl{min-height:3rem}.Resume_pages__opwSO{gap:1rem;padding-top:1rem}}.Birthday_container__LqyoZ{background-color:initial;text-align:center}.Birthday_container__LqyoZ h1{background-color:initial;color:#ac0e77}.Birthday_countDownContainer__gAEdj{background-color:#fff;border-radius:6px;display:inline-flex;flex-direction:row;margin:0 0 3vh;padding:6vh 4vw 1vh;position:relative}.Birthday_countdownSquare__3\+EY\+{background-color:#e3e3e3;border-radius:5px;flex-wrap:wrap;float:left;padding:0 2vw;width:3vw}.Birthday_colon__Itkc6,.Birthday_countdownSquare__3\+EY\+{align-items:center;display:flex;height:10vw;justify-content:center;margin-right:5px;max-height:70px}.Birthday_colon__Itkc6{background-color:initial;width:5px}.Birthday_countDownContainer__gAEdj h2{color:#282c34;font-size:clamp(.8rem,1rem,1.2rem)}.Birthday_countDownContainer__gAEdj h3{color:#282c34;font-size:clamp(.6rem,.8rem,1.2rem)}.Birthday_countDownContainer__gAEdj h4{color:#ac0e77;font-size:clamp(.8rem,1rem,1.8rem);position:absolute;top:-5px}@media (max-width:580px){.Birthday_countdownSquare__3\+EY\+{height:11vw;padding:0 3.4vw}.Birthday_colon__Itkc6{height:11vw}}.AddWish_form__zUzi6{align-self:center;display:flex;justify-content:center}.AddWish_form__zUzi6 input{border:none;border-bottom:3px solid #ccc;border-radius:5px;font:inherit;margin-right:2rem;min-width:23vw;padding:.25rem}.AddWish_form__zUzi6 input:focus{border-color:#7a0144;outline:none}.AddWish_form__zUzi6 button{background-color:#ac0e77;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:medium;font-weight:700;padding:7px}@font-face{font-display:swap;font-family:NVN Bordemile;font-style:normal;font-weight:400;src:url(/static/media/NVNBordemile-Regular.86f4b2d60137d188c347.ttf) format("truetype")}.wedding-section{padding:5rem 1rem}.wedding-section--white{background:#fff}.wedding-section--beige{background:#f5f1ea}#wishes{padding-bottom:2.5rem}#wishes+.wedding-section{padding-top:2.5rem}.wedding-container{margin:0 auto;width:min(100%,1280px)}.wedding-container--narrow{width:min(100%,1024px)}.wedding-page{position:relative}.wedding-language-switch-wrap{position:absolute;right:1rem;top:1rem;z-index:30}.wedding-music-player{height:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;width:0}.wedding-music-player__iframe{border:0;height:0;width:0}.wedding-music-toggle{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(61,50,41,.82);border:1px solid hsla(35,30%,76%,.58);border-radius:999px;bottom:1rem;box-shadow:0 12px 28px rgba(61,50,41,.18);color:#f5f1ea;cursor:pointer;display:inline-flex;height:3.1rem;justify-content:center;left:1rem;padding:0;position:fixed;transition:background-color .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;width:3.1rem;z-index:35}.wedding-music-toggle:hover{background:rgba(61,50,41,.9);box-shadow:0 16px 30px rgba(61,50,41,.22);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.wedding-music-toggle--attention{box-shadow:0 16px 34px rgba(61,50,41,.24)}.wedding-music-toggle--attention:before{-webkit-animation:wedding-music-glow 1.8s ease-out infinite;animation:wedding-music-glow 1.8s ease-out infinite;background:hsla(35,30%,76%,.2);border-radius:999px;content:"";inset:-.62rem;pointer-events:none;position:absolute}.wedding-music-toggle--attention:after{-webkit-animation:wedding-music-ring 1.8s ease-out infinite;animation:wedding-music-ring 1.8s ease-out infinite;border:2px solid rgba(177,139,96,.88);border-radius:999px;content:"";inset:-.7rem;pointer-events:none;position:absolute}.wedding-music-toggle__icon{align-items:center;display:inline-flex;height:1.45rem;justify-content:center;position:relative;width:1.45rem}.wedding-music-toggle__svg{height:100%;width:100%}.wedding-music-toggle__slash{background:#f3d7d7;border-radius:999px;box-shadow:0 0 0 1px rgba(61,50,41,.1);height:2px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%) rotate(-42deg);transform:translate(-50%,-50%) rotate(-42deg);-webkit-transform-origin:center;transform-origin:center;width:1.9rem}.wedding-music-toggle__icon--muted{color:#f0dede}.wedding-language-switch{-webkit-animation:wedding-language-pill-glow 1.65s ease-in-out .7s 3;animation:wedding-language-pill-glow 1.65s ease-in-out .7s 3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(61,50,41,.78);border:1px solid hsla(35,30%,76%,.6);border-radius:999px;cursor:pointer;display:inline-flex;gap:.35rem;padding:.35rem}.wedding-language-switch__button{background:transparent;border:none;border-radius:999px;color:#f5f1ea;font-size:.75rem;font-weight:700;letter-spacing:.14em;padding:.45rem .8rem;transition:background-color .2s ease,color .2s ease}.wedding-language-switch__button--active{background:#d4c5b0;color:#3d3229}.wedding-language-switch:focus-visible{outline:2px solid hsla(0,0%,100%,.8);outline-offset:2px}.wedding-header{margin-bottom:4rem;text-align:center}.wedding-title{color:#3d3229;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2.5rem,6vw,4.75rem);font-weight:600;line-height:1.1;margin:0 0 1.5rem}#guest-photos .wedding-title,#wishes .wedding-title{font-family:NVN Bordemile,Great Vibes,cursive;font-weight:400}#wishes .wedding-title{font-size:clamp(4rem,10vw,7.25rem);line-height:1.2}#guest-photos .wedding-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:500;line-height:1.2}.guest-camera__heading-label{display:block;font-size:clamp(1.5rem,4vw,2.5rem);letter-spacing:.12em}.guest-camera__heading-script{display:block;font:400 clamp(3.5rem,9vw,6.5rem)/1.15 NVN Bordemile,Great Vibes,cursive;margin-top:.15em}.wedding-divider{background:#d4c5b0;height:1px;margin:0 auto;width:6rem}.wedding-hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.wedding-hero__background{background-position:center 1%;background-size:cover;inset:0;position:absolute;-webkit-transform:scale(1.04);transform:scale(1.04)}.wedding-hero__background--animated{-webkit-animation:wedding-hero-drift 14s ease-out forwards;animation:wedding-hero-drift 14s ease-out forwards}.wedding-hero__overlay{background:radial-gradient(ellipse at center,rgba(0,0,0,.08) 0,rgba(0,0,0,.18) 42%,rgba(0,0,0,.66) 100%),linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.14) 31%,rgba(0,0,0,.12) 62%,rgba(0,0,0,.56)),linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.18) 42%,rgba(0,0,0,.5));inset:0;position:absolute}.wedding-hero__content{color:#fff;padding:0 1rem;position:relative;text-align:center;width:min(100%,64rem);z-index:1}.wedding-hero__eyebrow{-webkit-animation:wedding-hero-fade-up .9s ease-out forwards;animation:wedding-hero-fade-up .9s ease-out forwards;font-size:.8rem;font-weight:300;letter-spacing:.22em;margin:0 0 1.5rem;opacity:0}.wedding-hero__eyebrow--top{-webkit-animation-delay:.05s;animation-delay:.05s}.wedding-hero__names{-webkit-animation:wedding-hero-name-reveal 1.2s cubic-bezier(.2,.8,.2,1) .15s forwards;animation:wedding-hero-name-reveal 1.2s cubic-bezier(.2,.8,.2,1) .15s forwards;font-family:Great Vibes,Georgia,Times New Roman,serif;font-size:clamp(3.5rem,8vw,7rem);font-weight:400;letter-spacing:.01em;line-height:1.12;margin:0 0 1.5rem;opacity:0;text-shadow:0 10px 24px rgba(0,0,0,.18);-webkit-transform:translateY(18px) scale(.985);transform:translateY(18px) scale(.985)}.wedding-hero__divider{-webkit-animation:wedding-hero-divider-reveal .9s ease-out .4s forwards;animation:wedding-hero-divider-reveal .9s ease-out .4s forwards;margin:1.75rem auto;opacity:0;-webkit-transform:scaleX(.72);transform:scaleX(.72)}.wedding-hero__eyebrow--bottom{-webkit-animation-delay:.5s;animation-delay:.5s}.wedding-hero__details{-webkit-animation:wedding-hero-fade-up .95s ease-out .65s forwards;animation:wedding-hero-fade-up .95s ease-out .65s forwards;margin-bottom:3rem;margin-top:3rem;opacity:0}.wedding-hero__date{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:500;margin:0 0 1rem}.wedding-countdown{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto 1.5rem;width:min(100%,34rem)}.wedding-countdown__item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(61,50,41,.22);border:1px solid hsla(38,35%,94%,.42);border-radius:.35rem;padding:.85rem .45rem}.wedding-countdown__value{color:#fff;font-size:clamp(1.45rem,5vw,2.45rem);line-height:1}.wedding-countdown__label,.wedding-countdown__value{display:block;font-family:Montserrat,Arial,sans-serif;font-weight:200}.wedding-countdown__label{color:hsla(0,0%,100%,.82);font-size:.62rem;letter-spacing:.18em;margin-top:.45rem;text-transform:uppercase}.wedding-hero__location{color:inherit;display:inline-block;font-size:1rem;font-weight:300;letter-spacing:.04em;margin:0;text-decoration-color:hsla(0,0%,100%,.78);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.25rem;transition:color .2s ease,text-decoration-color .2s ease}.wedding-hero__location:hover{color:#f3e5d1;text-decoration-color:#f3e5d1}.wedding-hero__location:focus-visible{outline:2px solid hsla(0,0%,100%,.82);outline-offset:.25rem}.wedding-hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.wedding-button{-webkit-animation:wedding-hero-fade-up .95s ease-out .8s forwards;animation:wedding-hero-fade-up .95s ease-out .8s forwards;background:#d4c5b0;border:none;border-radius:.25rem;color:#3d3229;cursor:pointer;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:.98rem;font-weight:600;letter-spacing:.08em;opacity:0;padding:.72rem 1.55rem;text-transform:none;-webkit-transform:translateY(14px);transform:translateY(14px);transition:background-color .3s ease,color .3s ease}.wedding-button:hover{background:#c4b5a0}.wedding-button--secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(38,35%,94%,.12);border:1px solid hsla(38,35%,94%,.42);color:#fff}.wedding-button--secondary:hover{background:hsla(38,35%,94%,.22)}.wedding-invitation{background:#14100d;color:#f5efe2;display:grid;min-height:100vh;overflow:hidden;place-items:center;position:relative}.wedding-invitation__background{-webkit-animation:wedding-invitation-background-reveal 1.6s ease-out forwards;animation:wedding-invitation-background-reveal 1.6s ease-out forwards;background-position:center 80%;background-repeat:no-repeat;background-size:cover;-webkit-filter:saturate(.82) brightness(.74);filter:saturate(.82) brightness(.74);inset:0;position:absolute;-webkit-transform:scale(1.03);transform:scale(1.03)}.wedding-invitation__overlay{background:radial-gradient(ellipse at center,rgba(0,0,0,.06) 0,rgba(0,0,0,.34) 52%,rgba(0,0,0,.76) 100%),linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.16) 48%,rgba(0,0,0,.58));inset:0;position:absolute}.wedding-invitation__content{align-items:center;display:flex;flex-direction:column;padding:2rem 1rem;position:relative;text-align:center;-webkit-transform:translateY(-1.5vh);transform:translateY(-1.5vh);width:min(100%,72rem);z-index:1}.wedding-invitation__eyebrow,.wedding-invitation__prompt{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1rem,2vw,1.25rem);font-weight:700;letter-spacing:.14em;margin:0;text-shadow:0 8px 24px rgba(0,0,0,.34)}.wedding-invitation__eyebrow{-webkit-animation:wedding-invitation-fade-up .9s ease-out .25s forwards;animation:wedding-invitation-fade-up .9s ease-out .25s forwards;margin-bottom:1.15rem;opacity:0;-webkit-transform:translateY(.75rem);transform:translateY(.75rem)}.wedding-invitation__names{-webkit-animation:wedding-invitation-name-reveal 1.1s cubic-bezier(.2,.8,.2,1) .45s forwards;animation:wedding-invitation-name-reveal 1.1s cubic-bezier(.2,.8,.2,1) .45s forwards;font-family:Citadel Script,Citadel Script Pro,Great Vibes,cursive;font-size:clamp(4rem,11vw,7.6rem);font-weight:400;letter-spacing:0;line-height:1;margin:0 0 .8rem;opacity:0;text-shadow:0 18px 42px rgba(0,0,0,.32);-webkit-transform:translateY(1rem) scale(.985);transform:translateY(1rem) scale(.985)}.wedding-invitation__open-area{align-items:center;display:flex;flex-direction:column;-webkit-transform:translateY(8rem);transform:translateY(8rem)}.wedding-invitation__envelope{-webkit-animation:wedding-invitation-envelope-reveal 1s cubic-bezier(.2,.8,.2,1) .8s forwards;animation:wedding-invitation-envelope-reveal 1s cubic-bezier(.2,.8,.2,1) .8s forwards;background:transparent;border:0;cursor:pointer;display:inline-flex;-webkit-filter:drop-shadow(0 24px 34px rgba(0,0,0,.32));filter:drop-shadow(0 24px 34px rgba(0,0,0,.32));opacity:0;padding:0;-webkit-transform:translateY(1.5rem) scale(.965);transform:translateY(1.5rem) scale(.965);transition:-webkit-filter .25s ease;transition:filter .25s ease;transition:filter .25s ease,-webkit-filter .25s ease;width:min(74vw,46rem)}.wedding-invitation__envelope:hover,.wedding-invitation__envelope:hover .wedding-invitation__envelope-art{-webkit-filter:drop-shadow(0 30px 42px rgba(0,0,0,.38));filter:drop-shadow(0 30px 42px rgba(0,0,0,.38))}.wedding-invitation__envelope:hover .wedding-invitation__envelope-art{-webkit-transform:translateY(-4px) scale(1.015);transform:translateY(-4px) scale(1.015)}.wedding-invitation__envelope:focus-visible{outline:2px solid hsla(0,0%,100%,.82);outline-offset:.5rem}.wedding-invitation__envelope img{height:auto;-webkit-transform-origin:center;transform-origin:center}.wedding-invitation__envelope img,.wedding-invitation__envelope-art{display:block;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease;width:100%}.wedding-invitation__envelope-art{isolation:isolate;position:relative}.wedding-invitation__envelope-paper{-webkit-filter:grayscale(1) contrast(.55) brightness(2.4) sepia(.15);filter:grayscale(1) contrast(.55) brightness(2.4) sepia(.15)}.wedding-invitation__envelope .wedding-invitation__envelope-logo{-webkit-filter:invert(1);filter:invert(1);height:auto;left:42.5%;mix-blend-mode:multiply;pointer-events:none;position:absolute;top:28%;width:15%}.wedding-invitation__prompt{-webkit-animation:wedding-invitation-fade-up .85s ease-out 1.05s forwards;animation:wedding-invitation-fade-up .85s ease-out 1.05s forwards;margin-top:.9rem;opacity:0;-webkit-transform:translateY(.65rem);transform:translateY(.65rem)}@media (max-width:640px){.wedding-invitation__background{background-position:center 28%}.wedding-invitation__content{padding:1.5rem 0;-webkit-transform:translateY(-.5vh);transform:translateY(-.5vh);width:100%}.wedding-invitation__eyebrow,.wedding-invitation__prompt{font-size:.86rem;letter-spacing:.12em}.wedding-invitation__eyebrow{margin-bottom:.85rem}.wedding-invitation__names{font-size:clamp(2.8rem,13.5vw,4rem);margin:0 0 .9rem;width:min(100% - 1.5rem,28rem)}.wedding-invitation__open-area{-webkit-transform:translateY(6rem);transform:translateY(6rem)}.wedding-invitation__envelope{width:min(88vw,40rem)}.wedding-invitation__prompt{margin-top:.85rem}}.wedding-chapters{background:#f5f1ea}.wedding-chapters__header{background:#fff;padding:5rem 1rem 3.5rem}.wedding-chapters__header .wedding-header{margin-bottom:0}.wedding-chapter{background:#f5f1ea}.wedding-chapter__image{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;color:#fff;display:flex;justify-content:center;min-height:clamp(24rem,58vh,42rem);overflow:hidden;padding:5rem 1rem;position:relative;text-align:center}.wedding-chapter:first-of-type .wedding-chapter__image{background-position:center 42%}.wedding-chapter:nth-of-type(2) .wedding-chapter__image{background-position:center 56%}.wedding-chapter:nth-of-type(3) .wedding-chapter__image{background-position:center 46%}.wedding-chapter__image:after{background:radial-gradient(ellipse at center,rgba(0,0,0,.04) 0,rgba(0,0,0,.24) 58%,rgba(0,0,0,.58) 100%),linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.04) 42%,rgba(0,0,0,.44));content:"";inset:0;pointer-events:none;position:absolute}.wedding-chapter__heading{position:relative;width:min(100%,52rem);z-index:1}.wedding-chapter__label{font-family:Montserrat,Arial,sans-serif;font-size:.78rem;font-weight:300;letter-spacing:.22em;margin:0 0 .85rem;text-transform:uppercase}.wedding-chapter__title{font-size:clamp(3rem,9vw,7.5rem);letter-spacing:0;line-height:.95;margin:0;text-shadow:0 16px 36px rgba(0,0,0,.28)}.wedding-chapter__subtitle,.wedding-chapter__title{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-weight:500}.wedding-chapter__subtitle{color:hsla(0,0%,100%,.92);font-size:clamp(1.2rem,3vw,2rem);line-height:1.25;margin:1.25rem auto 0;text-shadow:0 10px 24px rgba(0,0,0,.26);width:min(100%,40rem)}.wedding-chapter__panel{grid-gap:2.25rem;align-items:center;color:#3d3229;display:grid;gap:2.25rem;grid-template-columns:1fr;margin:0 auto;padding:3.5rem 0 5rem;width:min(100% - 2rem,1180px)}.wedding-chapter__collage{aspect-ratio:1.12;margin:0 auto;position:relative;width:min(100%,38rem)}.wedding-chapter__frame{background:linear-gradient(135deg,rgba(145,92,51,.98),rgba(92,56,31,.98)),#6d4326;box-shadow:inset 0 0 0 1px rgba(255,238,205,.16),inset 0 0 0 7px rgba(55,31,16,.18),0 16px 30px rgba(61,50,41,.2);padding:clamp(.46rem,1.4vw,.72rem);position:absolute}.wedding-chapter__frame img{display:block;-webkit-filter:grayscale(1) contrast(1.04);filter:grayscale(1) contrast(1.04);height:100%;object-fit:cover;width:100%}.wedding-chapter__frame--1{height:38%;left:28%;top:0;-webkit-transform:rotate(-1.8deg);transform:rotate(-1.8deg);width:38%;z-index:3}.wedding-chapter__frame--2{height:31%;right:0;top:12%;-webkit-transform:rotate(2.2deg);transform:rotate(2.2deg);width:40%;z-index:2}.wedding-chapter__frame--3{height:34%;left:0;top:31%;-webkit-transform:rotate(1.4deg);transform:rotate(1.4deg);width:38%;z-index:1}.wedding-chapter__frame--4{height:30%;left:31%;top:28%;-webkit-transform:rotate(-.8deg);transform:rotate(-.8deg);width:38%;z-index:5}.wedding-chapter__frame--5{bottom:12%;height:34%;right:8%;-webkit-transform:rotate(1.8deg);transform:rotate(1.8deg);width:35%;z-index:4}.wedding-chapter__frame--6{bottom:0;height:29%;left:16%;-webkit-transform:rotate(-1.3deg);transform:rotate(-1.3deg);width:42%;z-index:2}.wedding-chapter--2 .wedding-chapter__collage{aspect-ratio:1.02}.wedding-chapter--2 .wedding-chapter__frame--1{height:32%;left:3%;top:8%;-webkit-transform:rotate(2.4deg);transform:rotate(2.4deg);width:40%}.wedding-chapter--2 .wedding-chapter__frame--2{height:39%;right:16%;top:0;-webkit-transform:rotate(-2deg);transform:rotate(-2deg);width:36%}.wedding-chapter--2 .wedding-chapter__frame--3{height:31%;left:22%;top:34%;-webkit-transform:rotate(.9deg);transform:rotate(.9deg);width:42%}.wedding-chapter--2 .wedding-chapter__frame--4{height:38%;left:auto;right:0;top:28%;-webkit-transform:rotate(2.8deg);transform:rotate(2.8deg);width:33%}.wedding-chapter--2 .wedding-chapter__frame--5{bottom:0;height:32%;right:27%;-webkit-transform:rotate(-2.5deg);transform:rotate(-2.5deg);width:34%}.wedding-chapter--2 .wedding-chapter__frame--6{bottom:9%;height:31%;left:0;-webkit-transform:rotate(1.7deg);transform:rotate(1.7deg);width:34%}.wedding-chapter--3 .wedding-chapter__collage{aspect-ratio:1.18}.wedding-chapter--3 .wedding-chapter__frame--1{height:35%;left:5%;top:3%;-webkit-transform:rotate(2.1deg);transform:rotate(2.1deg);width:37%}.wedding-chapter--3 .wedding-chapter__frame--2{height:34%;right:8%;top:6%;-webkit-transform:rotate(-1.5deg);transform:rotate(-1.5deg);width:39%}.wedding-chapter--3 .wedding-chapter__frame--3{height:30%;left:31%;top:35%;-webkit-transform:rotate(1.2deg);transform:rotate(1.2deg);width:37%}.wedding-chapter--3 .wedding-chapter__frame--4{height:32%;left:0;top:46%;-webkit-transform:rotate(-2.4deg);transform:rotate(-2.4deg);width:35%}.wedding-chapter--3 .wedding-chapter__frame--5{bottom:10%;height:35%;right:0;-webkit-transform:rotate(2.5deg);transform:rotate(2.5deg);width:34%}.wedding-chapter--3 .wedding-chapter__frame--6{bottom:0;height:27%;left:24%;-webkit-transform:rotate(-1deg);transform:rotate(-1deg);width:40%}.wedding-chapter__copy{margin:0 auto;text-align:center;width:min(100%,37rem)}.wedding-chapter__copy p{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.08rem,2vw,1.42rem);font-weight:500;line-height:1.55;margin:0}.wedding-chapter__copy p+p{margin-top:1.05rem}@-webkit-keyframes wedding-hero-drift{0%{-webkit-filter:saturate(.92);filter:saturate(.92);-webkit-transform:scale(1.08);transform:scale(1.08)}to{-webkit-filter:saturate(1);filter:saturate(1);-webkit-transform:scale(1.02);transform:scale(1.02)}}@keyframes wedding-hero-drift{0%{-webkit-filter:saturate(.92);filter:saturate(.92);-webkit-transform:scale(1.08);transform:scale(1.08)}to{-webkit-filter:saturate(1);filter:saturate(1);-webkit-transform:scale(1.02);transform:scale(1.02)}}@-webkit-keyframes wedding-invitation-background-reveal{0%{-webkit-filter:saturate(.68) brightness(.48);filter:saturate(.68) brightness(.48);opacity:0;-webkit-transform:scale(1.08);transform:scale(1.08)}to{-webkit-filter:saturate(.82) brightness(.74);filter:saturate(.82) brightness(.74);opacity:1;-webkit-transform:scale(1.03);transform:scale(1.03)}}@keyframes wedding-invitation-background-reveal{0%{-webkit-filter:saturate(.68) brightness(.48);filter:saturate(.68) brightness(.48);opacity:0;-webkit-transform:scale(1.08);transform:scale(1.08)}to{-webkit-filter:saturate(.82) brightness(.74);filter:saturate(.82) brightness(.74);opacity:1;-webkit-transform:scale(1.03);transform:scale(1.03)}}@-webkit-keyframes wedding-invitation-fade-up{0%{opacity:0;-webkit-transform:translateY(.75rem);transform:translateY(.75rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes wedding-invitation-fade-up{0%{opacity:0;-webkit-transform:translateY(.75rem);transform:translateY(.75rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes wedding-invitation-name-reveal{0%{opacity:0;-webkit-transform:translateY(1rem) scale(.985);transform:translateY(1rem) scale(.985)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes wedding-invitation-name-reveal{0%{opacity:0;-webkit-transform:translateY(1rem) scale(.985);transform:translateY(1rem) scale(.985)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes wedding-invitation-envelope-reveal{0%{opacity:0;-webkit-transform:translateY(1.5rem) scale(.965);transform:translateY(1.5rem) scale(.965)}68%{opacity:1;-webkit-transform:translateY(-.18rem) scale(1.006);transform:translateY(-.18rem) scale(1.006)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes wedding-invitation-envelope-reveal{0%{opacity:0;-webkit-transform:translateY(1.5rem) scale(.965);transform:translateY(1.5rem) scale(.965)}68%{opacity:1;-webkit-transform:translateY(-.18rem) scale(1.006);transform:translateY(-.18rem) scale(1.006)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes wedding-music-ring{0%{opacity:.95;-webkit-transform:scale(.78);transform:scale(.78)}to{opacity:0;-webkit-transform:scale(1.36);transform:scale(1.36)}}@keyframes wedding-music-ring{0%{opacity:.95;-webkit-transform:scale(.78);transform:scale(.78)}to{opacity:0;-webkit-transform:scale(1.36);transform:scale(1.36)}}@-webkit-keyframes wedding-music-glow{0%{opacity:.5;-webkit-transform:scale(.92);transform:scale(.92)}to{opacity:0;-webkit-transform:scale(1.28);transform:scale(1.28)}}@keyframes wedding-music-glow{0%{opacity:.5;-webkit-transform:scale(.92);transform:scale(.92)}to{opacity:0;-webkit-transform:scale(1.28);transform:scale(1.28)}}@-webkit-keyframes wedding-language-pill-glow{0%,to{border-color:hsla(35,30%,76%,.6);box-shadow:0 0 0 hsla(35,30%,76%,0)}50%{border-color:hsla(37,61%,89%,.9);box-shadow:0 0 0 2px hsla(37,61%,89%,.08),0 0 18px hsla(37,61%,89%,.18)}}@keyframes wedding-language-pill-glow{0%,to{border-color:hsla(35,30%,76%,.6);box-shadow:0 0 0 hsla(35,30%,76%,0)}50%{border-color:hsla(37,61%,89%,.9);box-shadow:0 0 0 2px hsla(37,61%,89%,.08),0 0 18px hsla(37,61%,89%,.18)}}@-webkit-keyframes wedding-hero-fade-up{0%{opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes wedding-hero-fade-up{0%{opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes wedding-hero-name-reveal{0%{letter-spacing:.03em;opacity:0;-webkit-transform:translateY(18px) scale(.985);transform:translateY(18px) scale(.985)}to{letter-spacing:.01em;opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes wedding-hero-name-reveal{0%{letter-spacing:.03em;opacity:0;-webkit-transform:translateY(18px) scale(.985);transform:translateY(18px) scale(.985)}to{letter-spacing:.01em;opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes wedding-hero-divider-reveal{0%{opacity:0;-webkit-transform:scaleX(.72);transform:scaleX(.72)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes wedding-hero-divider-reveal{0%{opacity:0;-webkit-transform:scaleX(.72);transform:scaleX(.72)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.wedding-button,.wedding-hero__background--animated,.wedding-hero__details,.wedding-hero__divider,.wedding-hero__eyebrow,.wedding-hero__names,.wedding-invitation__background,.wedding-invitation__envelope,.wedding-invitation__eyebrow,.wedding-invitation__names,.wedding-invitation__prompt{-webkit-animation:none;animation:none;opacity:1;-webkit-transform:none;transform:none}.wedding-invitation__background{-webkit-transform:scale(1.03);transform:scale(1.03)}}.story-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:1fr}.story-card-shell{border-radius:2.2rem;min-height:42rem;opacity:0;overflow:hidden;position:relative;-webkit-transform:translateY(1.25rem) scale(.992);transform:translateY(1.25rem) scale(.992);transition:opacity 1.25s ease .18s,-webkit-transform 1.25s cubic-bezier(.2,.8,.2,1) .18s;transition:opacity 1.25s ease .18s,transform 1.25s cubic-bezier(.2,.8,.2,1) .18s;transition:opacity 1.25s ease .18s,transform 1.25s cubic-bezier(.2,.8,.2,1) .18s,-webkit-transform 1.25s cubic-bezier(.2,.8,.2,1) .18s;will-change:opacity,transform}.story-card-shell--visible{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.story-card{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:2.2rem;box-shadow:0 18px 42px rgba(61,50,41,.14);display:flex;flex-direction:column;isolation:isolate;justify-content:flex-end;-webkit-mask-image:radial-gradient(circle at top left,transparent 0,transparent 22px,#000 78px),radial-gradient(circle at top right,transparent 0,transparent 22px,#000 78px),radial-gradient(circle at bottom left,transparent 0,transparent 22px,#000 78px),radial-gradient(circle at bottom right,transparent 0,transparent 22px,#000 78px),linear-gradient(#000,#000);mask-image:radial-gradient(circle at top left,transparent 0,transparent 22px,#000 78px),radial-gradient(circle at top right,transparent 0,transparent 22px,#000 78px),radial-gradient(circle at bottom left,transparent 0,transparent 22px,#000 78px),radial-gradient(circle at bottom right,transparent 0,transparent 22px,#000 78px),linear-gradient(#000,#000);-webkit-mask-position:top left,top right,bottom left,bottom right,center;mask-position:top left,top right,bottom left,bottom right,center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:50% 50%,50% 50%,50% 50%,50% 50%,100% 100%;mask-size:50% 50%,50% 50%,50% 50%,50% 50%,100% 100%;min-height:42rem;overflow:hidden;position:relative;width:100%}.story-card:after{background:linear-gradient(180deg,rgba(12,10,8,.08),rgba(12,10,8,.2) 52%,rgba(12,10,8,.68)),radial-gradient(circle at top left,hsla(38,35%,94%,.94) 0,transparent 78px),radial-gradient(circle at top right,hsla(38,35%,94%,.94) 0,transparent 78px),radial-gradient(circle at bottom left,hsla(38,35%,94%,.94) 0,transparent 78px),radial-gradient(circle at bottom right,hsla(38,35%,94%,.94) 0,transparent 78px);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.story-card:before{background-image:inherit;background-position:inherit;background-repeat:inherit;background-size:inherit;border-radius:2.8rem;content:"";-webkit-filter:blur(24px) saturate(.92);filter:blur(24px) saturate(.92);inset:-1.2rem;opacity:.18;position:absolute;-webkit-transform:scale(1.03);transform:scale(1.03);z-index:-1}.story-card__content{color:#fff;padding:0 1.9rem 2rem;position:relative;text-align:left;z-index:1}.story-card__title{color:hsla(0,0%,100%,.92);font-family:Playwrite VN,Georgia,Times New Roman,serif;font-size:clamp(1.6rem,6.8vw,2.85rem);font-weight:400;letter-spacing:0;line-height:1.38;margin:0 0 .95rem}.story-card__subtitle{color:#fff;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.6vw,1.55rem);font-weight:500;line-height:1.2;margin:0 0 .95rem}.story-card__description{color:hsla(0,0%,100%,.92);font-size:.98rem;line-height:1.65;margin:0;max-width:32rem}@media (prefers-reduced-motion:reduce){.story-card-shell{opacity:1;-webkit-transform:none;transform:none;transition:none;will-change:auto}}.details-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:3rem}.details-card,.dress-code{background:#fff;border-radius:1rem;box-shadow:0 10px 24px rgba(61,50,41,.08);padding:2.25rem}.details-card__symbol{color:#d4c5b0;font-size:3rem;line-height:1;margin-bottom:1.5rem}.details-card__title,.dress-code__title{color:#3d3229;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:2rem;font-weight:700;margin:0 0 1rem}.details-card__stack{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.details-card__label{color:#6b5d52;font-size:.8rem;font-weight:700;letter-spacing:.2em;margin:0 0 .35rem}.details-card__value,.dress-code__text{color:#3d3229;line-height:1.7;margin:0}.details-card__address{display:block}.details-card__note{color:#6b5d52;font-style:italic;margin:0;padding-top:.5rem}.details-card__link{color:#d4c5b0;text-decoration:underline;transition:color .3s ease}.details-card__link:hover{color:#c4b5a0}.dress-code{margin:0 auto;width:min(100%,42rem)}.dress-code__icon{color:#d4c5b0;line-height:0;margin-bottom:1.25rem}.dress-code__iconSvg{height:3rem;width:3rem}.dress-code__accent{color:#d4c5b0;font-size:1.3rem;font-weight:700;margin:0 0 1rem}.gallery-scroller{cursor:grab;display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:.25rem 0 1rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-user-select:none;user-select:none}.gallery-scroller--dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}.gallery-scroller::-webkit-scrollbar{display:none}.gallery-item{aspect-ratio:1/1;border-radius:1rem;box-shadow:0 10px 24px rgba(61,50,41,.08);flex:0 0 min(82vw,22rem);overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;transition:box-shadow .3s ease}.gallery-item:hover{box-shadow:0 14px 28px rgba(61,50,41,.14)}.gallery-image{height:100%;object-fit:cover;pointer-events:none;transition:opacity .3s ease;width:100%}.gallery-image:hover{opacity:.9}.guest-camera{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.guest-camera__intro{color:#6b5d52;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:500;line-height:1.7;margin:-.75rem auto 1.5rem;width:min(100%,42rem)}.guest-camera__capture{background:hsla(0,0%,100%,.72);border:1px solid hsla(35,30%,76%,.72);border-radius:1.25rem;box-shadow:0 12px 30px rgba(61,50,41,.08);justify-self:center;padding:1rem;width:min(100%,30rem)}.guest-camera__surface{aspect-ratio:4/4.6;background:linear-gradient(135deg,rgba(61,50,41,.16),hsla(35,30%,76%,.22)),#f5f1ea;border-radius:1rem;display:grid;overflow:hidden;place-items:center;position:relative}.guest-camera__switch{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.72);border:1px solid hsla(35,30%,76%,.78);border-radius:999px;box-shadow:0 10px 24px rgba(61,50,41,.12);color:#5b4b3e;cursor:pointer;display:inline-grid;height:2.5rem;place-items:center;position:absolute;right:.75rem;top:.75rem;transition:background-color .25s ease,box-shadow .25s ease,-webkit-transform .25s ease;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease,-webkit-transform .25s ease;width:2.5rem;z-index:3}.guest-camera__switch:focus-visible,.guest-camera__switch:hover{background:hsla(0,0%,100%,.92);box-shadow:0 14px 28px rgba(61,50,41,.16);-webkit-transform:scale(1.04);transform:scale(1.04)}.guest-camera__switch:focus-visible{outline:2px solid #b89f80;outline-offset:3px}.guest-camera__preview,.guest-camera__video{display:block;height:100%;object-fit:cover;width:100%}.guest-camera__video--mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.guest-camera__placeholder{grid-gap:.85rem;color:#6b5d52;display:grid;gap:.85rem;justify-items:center;padding:2rem;text-align:center}.guest-camera__placeholder span{align-items:center;background:hsla(0,0%,100%,.58);border:1px solid hsla(35,30%,76%,.82);border-radius:999px;box-shadow:inset 0 0 0 .45rem hsla(0,0%,100%,.26);color:#5b4b3e;display:inline-flex;height:4rem;justify-content:center;width:4rem}.guest-camera__placeholder p{font-size:.92rem;line-height:1.65;margin:0;max-width:22rem}.guest-camera__canvas{display:none}.guest-camera__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1rem}.guest-camera__actions .wedding-button{min-width:min(100%,13.75rem)}.guest-camera__button{-webkit-animation:none;animation:none;opacity:1;-webkit-transform:none;transform:none}.guest-camera__button:disabled,.guest-camera__secondary-button:disabled{cursor:not-allowed;opacity:.58}.guest-camera__secondary-button{background:#fff;border:1px solid #d4c5b0;border-radius:.25rem;color:#3d3229;cursor:pointer;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.02rem;font-weight:600;letter-spacing:.08em;padding:.95rem 1.35rem;transition:background-color .3s ease,border-color .3s ease}.guest-camera__secondary-button:hover{background:#f5f1ea;border-color:#c4b5a0}.guest-camera__error,.guest-camera__success{border-radius:.5rem;line-height:1.55;margin:1rem 0 0;padding:.9rem 1rem}.guest-camera__error{background:rgba(255,241,242,.78);border:1px solid rgba(159,18,57,.22);color:#9f1239}.guest-camera__success{background:rgba(236,253,245,.72);border:1px solid rgba(75,116,88,.22);color:#2f6842}.guest-camera__gallery{background:hsla(0,0%,100%,.35);border-radius:1rem;max-height:min(34rem,62vh);min-height:18rem;overflow-y:auto;padding:1.15rem .85rem .85rem;scrollbar-color:hsla(36,26%,60%,.8) hsla(0,0%,100%,.4);scrollbar-width:thin}.guest-camera__gallery::-webkit-scrollbar{width:.55rem}.guest-camera__gallery::-webkit-scrollbar-track{background:hsla(0,0%,100%,.4);border-radius:999px}.guest-camera__gallery::-webkit-scrollbar-thumb{background:hsla(36,26%,60%,.8);border-radius:999px}.guest-camera__empty{background:hsla(0,0%,100%,.48);border:1px dashed hsla(35,30%,76%,.9);border-radius:1.25rem;color:#6b5d52;display:grid;line-height:1.65;min-height:18rem;padding:2rem;place-items:center;text-align:center}.guest-camera__vote-prompt{color:inherit;font:400 1rem/1.4 Cormorant Garamond,Georgia,serif;margin:0 auto 1rem;max-width:46rem;text-align:center}.guest-photo-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.guest-photo-card{aspect-ratio:1;background:#f5f1ea;border-radius:1rem;box-shadow:0 10px 24px rgba(61,50,41,.08);overflow:visible;position:relative;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:box-shadow .3s ease,transform .3s ease;transition:box-shadow .3s ease,transform .3s ease,-webkit-transform .3s ease}.guest-photo-card:focus-within,.guest-photo-card:hover{box-shadow:0 16px 32px rgba(61,50,41,.14);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.guest-photo-card:focus-within{outline:2px solid #b89f80;outline-offset:3px}.guest-photo-card--top{box-shadow:0 18px 36px rgba(147,115,72,.16)}.guest-photo-card__open{background:transparent;border:0;border-radius:inherit;cursor:zoom-in;display:block;height:100%;overflow:hidden;padding:0;width:100%}.guest-photo-card__image{display:block;height:100%;object-fit:cover;width:100%}.guest-photo-card__rank{border:2px solid hsla(0,0%,100%,.72);border-radius:999px;box-shadow:0 8px 18px rgba(61,50,41,.2);display:inline-grid;height:2.25rem;place-items:center;position:absolute;right:-.5rem;top:-.5rem;width:3rem;z-index:2}.guest-photo-card__rank--1{background:#f6d870;color:#6b5200}.guest-photo-card__rank--2{background:#e6e8ef;color:#5b6475}.guest-photo-card__rank--3{background:#dca37a;color:#6c3f21}.guest-photo-card__bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(61,50,41,.58);border:1px solid hsla(0,0%,100%,.38);border-radius:999px;bottom:.55rem;color:#fffaf2;display:flex;justify-content:flex-end;left:auto;padding:.35rem;position:absolute;right:.55rem;z-index:3}.guest-photo-card__like{align-items:center;background:rgba(255,250,242,.92);border:0;border-radius:999px;color:#6b3f3a;cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.72rem;font-weight:700;gap:.25rem;padding:.28rem .48rem;transition:background-color .25s ease,-webkit-transform .25s ease;transition:background-color .25s ease,transform .25s ease;transition:background-color .25s ease,transform .25s ease,-webkit-transform .25s ease}.guest-photo-card__like:focus-visible,.guest-photo-card__like:hover{background:#fff;-webkit-transform:scale(1.04);transform:scale(1.04)}.guest-photo-card__like:disabled{cursor:not-allowed;opacity:.72}.guest-photo-lightbox{display:grid;inset:0;overflow:hidden;padding:0;place-items:center;position:fixed;z-index:1000}.guest-photo-lightbox__backdrop{background:rgba(20,16,13,.86);border:0;cursor:zoom-out;inset:0;position:absolute}.guest-photo-lightbox__stage{box-sizing:border-box;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100dvh;padding:3.75rem 5.5rem 1.25rem;place-items:center;position:relative;width:100dvw;z-index:1}.guest-photo-lightbox__image{-webkit-animation:guest-photo-slide .9s ease both;animation:guest-photo-slide .9s ease both;border-radius:.9rem;box-shadow:0 28px 80px rgba(0,0,0,.42);display:block;grid-row:1;height:100%;max-height:100%;max-width:100%;min-height:0;min-width:0;object-fit:contain;width:100%}.guest-photo-lightbox__close,.guest-photo-lightbox__nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.42);border-radius:999px;box-shadow:0 14px 34px rgba(0,0,0,.24);color:#fffaf2;cursor:pointer;display:inline-grid;place-items:center;position:absolute;transition:background-color .25s ease,border-color .25s ease,color .25s ease,-webkit-transform .25s ease;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,-webkit-transform .25s ease;z-index:2}.guest-photo-lightbox__close:focus-visible,.guest-photo-lightbox__close:hover,.guest-photo-lightbox__nav:focus-visible,.guest-photo-lightbox__nav:hover{background:rgba(255,250,242,.28);border-color:hsla(0,0%,100%,.76);color:#fff;-webkit-transform:scale(1.05);transform:scale(1.05)}.guest-photo-lightbox__close:focus-visible,.guest-photo-lightbox__nav:focus-visible{outline:2px solid #d4c5b0;outline-offset:3px}.guest-photo-lightbox__close{height:3.15rem;line-height:1;right:1.25rem;top:1.25rem;width:3.15rem}.guest-photo-lightbox__nav{height:3.5rem;line-height:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:3.5rem}.guest-photo-lightbox__nav:focus-visible,.guest-photo-lightbox__nav:hover{-webkit-transform:translateY(-50%) scale(1.05);transform:translateY(-50%) scale(1.05)}.guest-photo-lightbox__nav--previous{left:.75rem}.guest-photo-lightbox__nav--next{right:.75rem}.guest-photo-lightbox__meta{align-items:center;display:inline-flex;gap:.55rem;grid-row:2;margin-top:.85rem;position:relative;white-space:nowrap;z-index:2}.guest-photo-lightbox__info{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.34);border-radius:999px;box-shadow:0 14px 34px rgba(0,0,0,.18);color:#fffaf2;display:inline-flex;gap:.85rem;padding:.55rem 1rem}.guest-photo-lightbox__date{color:rgba(255,250,242,.76);font-size:.78rem;letter-spacing:.08em}.guest-photo-lightbox__count{align-items:center;display:inline-flex;font-size:.78rem;font-weight:700;gap:.7rem;letter-spacing:.18em}.guest-photo-lightbox__divider{background:currentColor;height:1px;opacity:.62;width:1.9rem}.guest-photo-lightbox__like{background:rgba(255,250,242,.94);border:1px solid hsla(0,0%,100%,.34);box-shadow:0 14px 34px rgba(0,0,0,.18);padding:.55rem .78rem}@-webkit-keyframes guest-photo-slide{0%{opacity:0;-webkit-transform:translateX(2rem);transform:translateX(2rem)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes guest-photo-slide{0%{opacity:0;-webkit-transform:translateX(2rem);transform:translateX(2rem)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@media (max-width:640px){.guest-photo-lightbox__stage{height:100dvh;padding:3.75rem .75rem 1rem;width:100dvw}.guest-photo-lightbox__close{height:2.75rem;right:.75rem;top:.75rem;width:2.75rem}.guest-photo-lightbox__nav{bottom:5.25rem;height:2.9rem;top:auto;-webkit-transform:none;transform:none;width:2.9rem}.guest-photo-lightbox__nav:focus-visible,.guest-photo-lightbox__nav:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.guest-photo-lightbox__nav--previous{left:1rem}.guest-photo-lightbox__nav--next{right:1rem}.guest-photo-lightbox__meta{max-width:calc(100vw - 1.5rem);white-space:normal}.guest-photo-lightbox__info,.guest-photo-lightbox__meta{flex-wrap:wrap;justify-content:center;row-gap:.35rem}}.image-fallback{align-items:center;background:#f3f4f6;display:flex;height:100%;justify-content:center;width:100%}.image-fallback__text{color:#6b7280;font-size:.875rem;padding:1rem;text-align:center}.schedule-list{display:flex;flex-direction:column;gap:2rem}.schedule-item{display:flex;gap:1rem}.schedule-item__timeWrap{min-width:5rem}.schedule-item__time{color:#d4c5b0;font-weight:700;margin:0;text-align:right}.schedule-item__markerWrap{align-items:center;display:flex;flex-direction:column}.schedule-item__marker{background:#d4c5b0;border:2px solid #fff;border-radius:999px;box-shadow:0 2px 8px rgba(61,50,41,.1);height:1rem;width:1rem}.schedule-item__line{background:hsla(35,30%,76%,.45);height:4rem;margin-top:.5rem;width:2px}.schedule-item__content{flex:1 1;padding-bottom:1rem}.schedule-item__title{color:#3d3229;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:700;margin:0 0 .5rem}.schedule-item__description{color:#6b5d52;line-height:1.7;margin:0}.wishes-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:3rem}.wishes-display,.wishes-form{display:flex;flex-direction:column}.wishes-form__card{background:hsla(38,35%,94%,.5);border:1px solid #d4c5b0;border-radius:1rem;padding:1.5rem}.wishes-form__title{color:#3d3229;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:2rem;font-weight:500;margin:0 0 1.5rem}.wishes-fields{display:flex;flex-direction:column;gap:1.25rem}.wishes-field label{color:#3d3229;display:block;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.wishes-input,.wishes-textarea{background:#fff;border:1px solid #d4c5b0;border-radius:.5rem;color:#3d3229;font:inherit;padding:.9rem 1rem;transition:border-color .3s ease;width:100%}.wishes-form .wishes-input,.wishes-form .wishes-textarea{font:500 1.1rem/1.4 Cormorant Garamond,Georgia,Times New Roman,serif}.wishes-input:focus,.wishes-textarea:focus{border-color:#b4a590;outline:none}.wishes-textarea{resize:none}.wishes-submit{margin-top:1.5rem;width:100%}.wishes-success{background:hsla(35,30%,76%,.2);border:1px solid #d4c5b0;border-radius:.5rem;color:#3d3229;margin-top:1.5rem;padding:1rem}.wishes-toggle{flex-wrap:wrap;gap:.75rem}.wishes-toggle,.wishes-toolbar{display:flex;margin-bottom:1.5rem}.wishes-toolbar{flex-direction:column;gap:1rem}.wishes-toolbar__search{display:flex;flex-direction:column;gap:.5rem}.wishes-toolbar__label-row{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.5rem}.wishes-toolbar__label{color:#3d3229;font-size:.9rem;font-weight:700}.wishes-toolbar__count{color:#6b5d52;display:inline-block;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:.9rem;font-style:italic;font-weight:300;line-height:1}.wishes-toggle__button{background:#e8dfd4;border:none;border-radius:.5rem;color:#3d3229;cursor:pointer;font-size:.95rem;font-weight:700;padding:.75rem 1.25rem;transition:background-color .3s ease}.wishes-toggle__button--active,.wishes-toggle__button:hover{background:#d4c5b0}.wishes-display__surface{background:#f5f1ea;border-radius:1rem;flex:1 1;max-height:min(760px,72vh);overflow-y:auto;padding:1.5rem}.wishes-empty{color:#6b5d52;margin:0;text-align:center}.wishes-error{color:#9f1239;margin:0 0 1rem;text-align:center}.wishes-info{background:#e8dfd4;border-left:4px solid #d4c5b0;border-radius:.5rem;margin:0 auto;padding:1.5rem;width:min(100%,48rem)}.wishes-info__text{color:#3d3229;font-style:italic;line-height:1.75;margin:0}.wishes-info__text span{font-weight:700}.wish-tree{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:420px;padding:2rem 0;position:relative}.wish-tree__svg{height:auto;margin-bottom:1.5rem;max-width:20rem;width:100%}.wish-tree__overlay{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.wish-tree__item{position:absolute;text-align:center;width:6.5rem}.wish-tree__card{background:#fff;border:2px solid #d4c5b0;border-radius:.75rem;box-shadow:0 6px 16px rgba(61,50,41,.1);font-size:.75rem;padding:.75rem}.wish-tree__pin{background:#d4c5b0;border-radius:999px;height:.5rem;margin:0 auto .35rem;width:.5rem}.wish-common__name{color:#3d3229;font-weight:700;margin:0}.wish-common__message{color:#6b5d52;font-family:Patrick Hand,Playwrite VN,Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:400;letter-spacing:0;line-height:1.45;margin:.35rem 0 0;white-space:pre-line}.wish-common__date{color:#6b5d52;font-size:.72rem;margin:.45rem 0 0;opacity:.75}.wish-like{align-items:center;background:hsla(0,0%,100%,.45);border:1px solid rgba(143,61,90,.2);border-radius:999px;color:#8f3d5a;cursor:pointer;display:inline-flex;font:inherit;gap:.45rem;margin-top:.85rem;padding:.45rem .7rem;transition:background-color .2s ease,box-shadow .2s ease,-webkit-transform .15s ease;transition:transform .15s ease,background-color .2s ease,box-shadow .2s ease;transition:transform .15s ease,background-color .2s ease,box-shadow .2s ease,-webkit-transform .15s ease}.wish-like:hover{background:hsla(0,0%,100%,.72);box-shadow:0 4px 10px rgba(143,61,90,.12);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.wish-like--bump{-webkit-animation:wish-like-bump .38s ease;animation:wish-like-bump .38s ease}.wish-like:disabled{box-shadow:none;cursor:default;opacity:.55;-webkit-transform:none;transform:none}.wish-like__text{font-size:.8rem;font-weight:700;line-height:1}.wish-like__heart{font-size:1.05rem;line-height:1}.wish-like__count{font-size:.8rem;font-weight:700;line-height:1}@-webkit-keyframes wish-like-bump{0%{-webkit-transform:scale(1);transform:scale(1)}35%{-webkit-transform:scale(1.14);transform:scale(1.14)}65%{-webkit-transform:scale(.96);transform:scale(.96)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes wish-like-bump{0%{-webkit-transform:scale(1);transform:scale(1)}35%{-webkit-transform:scale(1.14);transform:scale(1.14)}65%{-webkit-transform:scale(.96);transform:scale(.96)}to{-webkit-transform:scale(1);transform:scale(1)}}.wish-petals{background:linear-gradient(180deg,#dbeafe,#f5f1ea);border-radius:.75rem;height:500px;overflow:hidden;position:relative}.wish-petals__item{position:absolute;width:6rem}.wish-petals__card{background:linear-gradient(to bottom right,#fce7f3,#fbcfe8);border-radius:999px;box-shadow:0 8px 18px rgba(219,39,119,.12);padding:.75rem}.wish-petals__icon,.wish-petals__name{color:#db2777;margin:0;text-align:center}.wish-petals__name{font-size:.85rem;font-weight:700}.wish-petals__icon{font-size:.75rem;margin-top:.25rem}.wish-bottles{background:linear-gradient(to bottom right,#eff6ff,#dbeafe);border-radius:.75rem;min-height:500px;padding:1rem}.wish-bottles__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.wish-bottles__item{align-items:center;display:flex;flex-direction:column;justify-content:center}.wish-bottles__svg{height:auto;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:5rem}.wish-bottles__item:hover .wish-bottles__svg{-webkit-transform:scale(1.1);transform:scale(1.1)}.wish-bottles__name{color:#1e3a8a;font-size:.9rem;font-weight:700;margin:.75rem 0 0;text-align:center}.wish-bottles__message{color:#1d4ed8;font-size:.8rem;line-height:1.5;margin:.5rem 0 0;text-align:center}.wish-sticky{grid-gap:1rem;grid-row-gap:2rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}.wish-sticky__item{border-radius:.75rem;border-style:solid;border-width:2px;box-shadow:0 8px 18px rgba(61,50,41,.1);cursor:pointer;padding:1rem;position:relative;-webkit-transform-origin:top center;transform-origin:top center;transition:box-shadow .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease}.wish-sticky__item:hover{box-shadow:0 14px 24px rgba(61,50,41,.14);-webkit-transform:rotate(0deg) scale(1.05)!important;transform:rotate(0deg) scale(1.05)!important}.wish-sticky__item--yellow{background:#fef9c3;border-color:#fde68a}.wish-sticky__item--pink{background:#fce7f3;border-color:#f9a8d4}.wish-sticky__item--blue{background:#dbeafe;border-color:#93c5fd}.wish-sticky__item--green{background:#dcfce7;border-color:#86efac}.wish-sticky__item--purple{background:#f3e8ff;border-color:#d8b4fe}.wish-sticky__item--orange{background:#ffedd5;border-color:#fdba74}.wish-sticky__item--rose{background:#ffe4e6;border-color:#fda4af}.wish-sticky__item--mint{background:#d1fae5;border-color:#6ee7b7}.wish-sticky__item--peach{background:#fde7d8;border-color:#f7b38a}.wish-sticky__tape{background:linear-gradient(180deg,hsla(47,37%,93%,.76),hsla(44,28%,82%,.58));border-radius:.2rem;box-shadow:0 2px 4px rgba(61,50,41,.08),inset 0 1px 0 hsla(0,0%,100%,.35);height:1.15rem;left:50%;opacity:.92;position:absolute;top:.1rem;-webkit-transform:translate(-50%,-.6rem) rotate(-4deg);transform:translate(-50%,-.6rem) rotate(-4deg);width:4.5rem}.wish-sticky__tape:after,.wish-sticky__tape:before{background:inherit;bottom:0;content:"";position:absolute;top:0;width:.5rem}.wish-sticky__tape:before{-webkit-clip-path:polygon(100% 0,0 14%,12% 50%,0 86%,100% 100%);clip-path:polygon(100% 0,0 14%,12% 50%,0 86%,100% 100%);left:-.18rem}.wish-sticky__tape:after{-webkit-clip-path:polygon(0 0,100% 14%,88% 50%,100% 86%,0 100%);clip-path:polygon(0 0,100% 14%,88% 50%,100% 86%,0 100%);right:-.18rem}.wish-rank{align-items:center;border:2px solid hsla(0,0%,100%,.7);border-radius:999px;box-shadow:0 8px 18px rgba(61,50,41,.2);display:inline-flex;font-size:.82rem;font-weight:700;gap:.3rem;line-height:1;padding:.35rem .7rem;position:absolute;right:-.7rem;top:-.7rem;z-index:2}.wish-rank--1{background:#f6d870;color:#6b5200}.wish-rank--2{background:#e6e8ef;color:#5b6475}.wish-rank--3{background:#dca37a;color:#6c3f21}.wish-rank__crown{font-size:1.05rem}.wish-rank__label{min-width:.55rem;text-align:center}.wish-sticky__body{margin-top:.5rem}.wedding-footer{background:#3d3229;color:#fff;padding:5rem 1rem}.wedding-footer__container{margin:0 auto;text-align:center;width:min(100%,1024px)}.wedding-footer__names{font-family:Great Vibes,Georgia,Times New Roman,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1.15;margin:0 0 1.5rem}.wedding-footer__divider{margin:2rem auto 2.25rem}.wedding-footer__details{margin-bottom:2.5rem}.wedding-footer__date{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500;margin:0 0 .5rem}.wedding-footer__location{color:#d4c5b0;margin:0}.wedding-footer__message{color:#e8dfd4;font-size:1.1rem;font-weight:300;margin:0 0 3rem}.wedding-footer__links{align-items:center;display:flex;flex-wrap:wrap;gap:1rem 1.35rem;justify-content:center;margin-bottom:3rem}.wedding-footer__button,.wedding-footer__link{background:none;border:none;color:#d4c5b0;cursor:pointer;font:inherit;font-size:1.05rem;font-weight:300;padding:0;text-decoration:none;transition:color .3s ease}.wedding-footer__button:hover,.wedding-footer__link:hover{color:#fff}.wedding-footer__separator{align-items:center;color:#d4c5b0;display:inline-flex;font-size:1.05rem;line-height:1}.wedding-footer__bottom{border-top:1px solid #6b5d52;padding-top:2rem}.wedding-footer__copyright{color:#b4a590;font-size:.85rem;margin:0}.wedding-admin{background:#f5f1ea;color:#3d3229;min-height:100vh;padding:clamp(2rem,5vw,4rem) 1rem}.wedding-admin__header{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto 1rem;width:min(100%,1240px)}.wedding-admin__eyebrow{color:#8c765f;font-family:Montserrat,Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.18em;margin:0 0 .6rem;text-transform:uppercase}.wedding-admin__title{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2.7rem,6vw,5rem);font-weight:600;line-height:1;margin:0}.wedding-admin__stats{display:flex;flex-wrap:wrap;gap:.55rem}.wedding-admin__stats span,.wedding-admin__uid{background:hsla(0,0%,100%,.62);border:1px solid hsla(36,26%,60%,.38);border-radius:999px;color:#5f4c3d;font-size:.86rem;padding:.58rem .85rem}.wedding-admin__uid{border-radius:.55rem;margin:0 auto 1.2rem;overflow-wrap:anywhere;width:min(100%,1240px)}.wedding-admin__uid span{font-family:Montserrat,Arial,sans-serif;font-weight:600}.wedding-admin-access{background:hsla(0,0%,100%,.62);border:1px solid hsla(36,26%,60%,.38);border-radius:.65rem;margin:0 auto 1.2rem;padding:1rem;width:min(100%,1240px)}.wedding-admin-access__label{color:#5f4c3d;display:block;font-size:.86rem;font-weight:700;margin-bottom:.55rem}.wedding-admin-access__row{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:1fr}.wedding-admin-access__input{background:#fff;border:1px solid hsla(36,26%,60%,.42);border-radius:.45rem;color:#3d3229;font:inherit;padding:.72rem .85rem;width:100%}.wedding-admin-access__input:focus{outline:2px solid hsla(36,26%,60%,.42);outline-offset:2px}.wedding-admin-access__button{min-height:2.75rem}.wedding-admin-access__hint{color:#6b5d52;font-size:.86rem;margin:.75rem 0 0}.wedding-admin__empty,.wedding-admin__error{background:hsla(0,0%,100%,.74);border:1px solid hsla(36,26%,60%,.32);border-radius:.65rem;margin:1rem auto;padding:1rem;width:min(100%,1240px)}.wedding-admin__error{background:rgba(255,241,242,.78);border-color:rgba(190,18,60,.24);color:#9f1239}.wedding-admin__grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin:1.75rem auto 0;width:min(100%,1240px)}.wedding-admin-card{background:hsla(0,0%,100%,.82);border:1px solid hsla(36,26%,60%,.32);border-radius:.65rem;box-shadow:0 16px 34px rgba(61,50,41,.1);overflow:hidden}.wedding-admin-card--hidden{opacity:.62}.wedding-admin-card__image{aspect-ratio:1;background:#e8dfd4;display:block;object-fit:cover;width:100%}.wedding-admin-card__body{display:flex;gap:1rem;justify-content:space-between;padding:.9rem}.wedding-admin-card__status{background:hsla(35,30%,76%,.42);border-radius:999px;color:#5f4c3d;display:inline-flex;font-size:.78rem;font-weight:700;margin-bottom:.35rem;padding:.22rem .55rem}.wedding-admin-card__date{color:#6b5d52;font-size:.86rem;margin:0}.wedding-admin-card__likes{align-items:center;color:#6b5d52;display:inline-flex;font-size:.9rem;font-weight:700;gap:.3rem}.wedding-admin-card__actions{padding:0 .9rem .9rem}.wedding-admin-card__actions>.wedding-admin-button{width:100%}.wedding-admin-button{align-items:center;background:#fff;border:1px solid hsla(36,26%,60%,.46);border-radius:.45rem;color:#3d3229;cursor:pointer;display:inline-flex;font-family:Montserrat,Arial,sans-serif;font-size:.78rem;font-weight:700;gap:.4rem;justify-content:center;padding:.62rem .7rem;transition:background-color .2s ease,color .2s ease,opacity .2s ease}.wedding-admin-button:hover:not(:disabled){background:#f5f1ea}.wedding-admin-button:disabled{cursor:not-allowed;opacity:.52}.wedding-admin-button--confirm{background:#3d3229;border-color:hsla(36,26%,60%,.58);color:#fff}.wedding-admin-button--confirm:hover:not(:disabled){background:#5f4c3d}.wedding-admin-card__confirm{background:hsla(38,35%,94%,.74);border:1px solid hsla(36,26%,60%,.34);border-radius:.55rem;padding:.75rem}.wedding-admin-card__confirm p{color:#5f4c3d;font-size:.86rem;line-height:1.35;margin:0 0 .65rem}.wedding-admin-card__confirm-actions{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.wedding-section{padding:5rem 1.5rem}.wedding-hero__content{padding:0 1.5rem}.wedding-language-switch-wrap{right:1.25rem;top:1.25rem}.gallery-scroller{gap:1.5rem}.gallery-item{flex-basis:calc(50% - 0.75rem)}.guest-camera__capture{padding:1.25rem}.guest-photo-grid{gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.wish-bottles__grid{grid-template-columns:repeat(2,1fr)}.wedding-footer__links{gap:1rem 2rem;justify-content:center}.wishes-toolbar__search{width:100%}.wedding-admin__header{align-items:flex-end;flex-direction:row;justify-content:space-between}.wedding-admin-access__row{grid-template-columns:minmax(0,1fr) auto}}@media (min-width:768px){.wedding-section{padding:6rem 1.5rem}#wishes{padding-bottom:4rem}#wishes+.wedding-section{padding-top:4rem}.story-grid{gap:2rem;grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-chapter__panel{gap:clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(18rem,.92fr) minmax(0,1fr);padding:4.5rem 0 6rem}.wedding-chapter__panel--reverse{grid-template-columns:minmax(0,1fr) minmax(18rem,.92fr)}.wedding-chapter__panel--reverse .wedding-chapter__collage{order:2}.wedding-chapter__copy{text-align:left}.wedding-chapter__panel--reverse .wedding-chapter__copy{order:1}.story-card,.story-card-shell{min-height:42rem}.details-grid{gap:3rem;grid-template-columns:repeat(2,1fr);margin-bottom:4rem}.wishes-grid{gap:3rem}.gallery-item{flex-basis:calc(33.33333% - 1rem)}.guest-camera{align-items:start;gap:2.5rem;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}.guest-camera__capture{justify-self:end}.schedule-item{gap:1.5rem}.schedule-item__timeWrap{min-width:6.25rem}.schedule-item__line{height:5rem}.wish-tree__item{width:7rem}.wish-common__message,.wishes-toolbar__count{font-size:.95rem}}@media (min-width:1024px){.story-card,.story-card-shell{min-height:44rem}.story-card__content{padding:0 2rem 2rem}.wishes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wish-bottles__grid{grid-template-columns:repeat(3,1fr)}.wish-sticky{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2.25rem}.guest-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.invitation-language{align-items:center;background:#380116;border:1px solid #f5efe266;border-radius:999px;color:#f5efe2;display:flex;gap:0;padding:2px;position:fixed;right:max(.75rem,env(safe-area-inset-right));top:max(.75rem,env(safe-area-inset-top));z-index:30}.invitation-language button{background:transparent;border:0;border-radius:50%;color:inherit;cursor:pointer;display:grid;font:500 11px/1 Cormorant Garamond,Georgia,serif;height:24px;min-height:24px;min-width:24px;padding:0;place-items:center;width:24px}.invitation-language button[aria-pressed=true]{background:#f5efe2;color:#380116}.invitation-language button:focus-visible{outline:2px solid #f5efe2;outline-offset:2px}.wedding-announcement-page[lang=vi] .invitation-ending__details-title,.wedding-announcement-page[lang=vi] .invitation-ending__rsvp h2,.wedding-announcement-page[lang=vi] .invitation-ending__story h2{font-family:NVN Bordemile,Cormorant Garamond,serif}.wedding-announcement-page[lang=vi] .invitation-ending__rsvp h2{font-size:clamp(25px,6cqw,66px);line-height:1.15}.wedding-announcement-page[lang=vi] .invitation-ending__story h2{font-size:clamp(24px,5.4cqw,60px);line-height:1.2}.wedding-announcement-page[lang=vi] #wishes .wedding-title{font-size:clamp(3rem,8vw,6rem)}.wedding-announcement-page[lang=vi] .invitation-day-details__date{font-size:4cqw}.wedding-announcement{align-items:center;background:#380116;color:#f5efe2;display:flex;flex-direction:column;gap:1.25rem;justify-content:center;min-height:92vh;min-height:92svh;padding:2.25rem 1rem .5rem;text-align:center}.wedding-announcement__heading{max-width:100%}.wedding-announcement__eyebrow,.wedding-announcement__open{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(.8rem,2.8vw,1.05rem);font-weight:500;letter-spacing:.14em}.wedding-announcement__eyebrow{margin:0 0 .6rem}.wedding-announcement__names{font-family:NVN Bordemile,Great Vibes,cursive;font-size:clamp(2.8rem,10vw,5rem);font-weight:400;line-height:1.25;margin:0}.wedding-photobooth{-webkit-filter:drop-shadow(0 12px 20px #16000966);filter:drop-shadow(0 12px 20px #16000966);flex-shrink:0;position:relative;width:min(78vw,21.25rem,46svh)}.wedding-photobooth__frame{display:block;height:auto;width:100%}.wedding-photobooth__slot{background:#1d1915;border:2px solid #c9baa1;border-radius:999px;box-shadow:0 2px 2px #fffae6aa,inset 0 2px 3px #000;height:4%;left:19%;position:absolute;top:19%;width:62%}.wedding-photobooth__slot:after,.wedding-photobooth__slot:before{background:#a89b87;border-radius:50%;content:"";height:4px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:4px}.wedding-photobooth__slot:before{left:3%}.wedding-photobooth__slot:after{right:3%}.wedding-photobooth__print-area{height:66%;left:28%;overflow:hidden;position:absolute;top:21%;width:44%}.wedding-photobooth__strip{-webkit-animation:wedding-photobooth-print 3.2s cubic-bezier(.22,.61,.36,1) .3s both;animation:wedding-photobooth-print 3.2s cubic-bezier(.22,.61,.36,1) .3s both;background:#eeeae4;box-shadow:2px 5px 5px #33291f55;display:flex;flex-direction:column;gap:6px;margin:0 5px 10px;padding:7px 7px 0}.wedding-photobooth__strip img{aspect-ratio:.88;display:block;object-fit:cover;object-position:center 55%;width:100%}.wedding-photobooth__strip figcaption{color:#380116;font-family:Patrick Hand,cursive;font-size:clamp(.75rem,3vw,1.3rem);padding:.45em 0 .6em;white-space:nowrap}.wedding-announcement__open{align-items:center;color:inherit;display:inline-flex;justify-content:center;min-height:44px;padding:.5rem 1rem;text-decoration:none;text-underline-offset:.4em}.wedding-announcement__open:hover{text-decoration:underline}.wedding-announcement__open:focus-visible{outline:1px solid currentColor;outline-offset:4px}.wedding-announcement__scroll{align-items:center;background:transparent;border:0;color:#f5efe2;cursor:pointer;display:flex;flex-direction:column;font:500 .7rem Cormorant Garamond,Georgia,serif;gap:.6rem;letter-spacing:.16em;padding:.5rem 1rem}.wedding-announcement__scroll svg{-webkit-animation:invitation-bells-sway 3.5s ease-in-out infinite;animation:invitation-bells-sway 3.5s ease-in-out infinite;-webkit-transform-origin:50% 20%;transform-origin:50% 20%}.wedding-announcement__scroll:focus-visible{outline:1px solid currentColor;outline-offset:4px}@-webkit-keyframes invitation-bells-sway{0%,to{-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}50%{-webkit-transform:rotate(4deg);transform:rotate(4deg)}}@keyframes invitation-bells-sway{0%,to{-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}50%{-webkit-transform:rotate(4deg);transform:rotate(4deg)}}@-webkit-keyframes wedding-photobooth-print{0%{-webkit-transform:translateY(-102%);transform:translateY(-102%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes wedding-photobooth-print{0%{-webkit-transform:translateY(-102%);transform:translateY(-102%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.wedding-announcement__scroll svg,.wedding-photobooth__strip{-webkit-animation:none;animation:none}}.invitation-timeline{background:#380116;color:#f5efe2;padding:clamp(2rem,6vw,4rem) 1rem clamp(3rem,8vw,5rem);text-align:center}.invitation-timeline h2{font:400 clamp(6rem,16vw,11rem)/1.1 NVN Bordemile,Great Vibes,cursive;margin:0 0 .25rem}.invitation-timeline__journey{margin:0 auto;position:relative;width:min(100%,52rem)}.invitation-timeline__thread{height:86%;left:43%;opacity:.8;pointer-events:none;position:absolute;top:7%;width:14%}.invitation-timeline__events{grid-column-gap:16%;-webkit-column-gap:16%;column-gap:16%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(7,clamp(7rem,17vw,11rem));list-style:none;margin:0;padding:0;position:relative}.invitation-timeline__events li{align-items:center;display:flex;flex-direction:column;gap:.65rem;justify-content:center;min-width:0}.invitation-timeline__graphic{display:block;-webkit-filter:brightness(0) invert(.98);filter:brightness(0) invert(.98);height:clamp(5rem,17vw,10rem);margin-bottom:clamp(.5rem,2vw,1.5rem);object-fit:contain;width:clamp(5rem,17vw,10rem)}.invitation-timeline__events time{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font:500 clamp(1.2rem,3.5vw,2rem)/1.2 Cormorant Garamond,Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:.06em}.invitation-timeline__event{font:italic 400 clamp(1rem,3.2vw,1.8rem)/1.25 Cormorant Garamond,Georgia,serif}.invitation-dress-code{background:#f5efe2;color:#380116;padding:clamp(3.5rem,8vw,6rem) 1.25rem;text-align:center}.invitation-dress-code h2{font:400 clamp(4.5rem,12vw,8rem)/1.15 NVN Bordemile,Great Vibes,cursive;margin:0 0 1.25rem}.invitation-dress-code p{text-wrap:pretty;font:italic 400 clamp(1.15rem,3vw,1.4rem)/1.6 Cormorant Garamond,Georgia,serif;margin:0 auto;max-width:34rem}.invitation-dress-code p+p{margin-top:.75rem}.invitation-dress-code__palette{display:flex;gap:clamp(.5rem,2vw,1rem);justify-content:center;list-style:none;margin:2rem auto 0;max-width:22rem;padding:0}.invitation-dress-code__palette li{flex:1 1;max-width:6rem;min-width:0}.invitation-dress-code__swatch{aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #3801161a;display:block;margin:0 auto;max-width:100%;width:clamp(2rem,8vw,3rem)}.invitation-dress-code__color-name{display:block;font:400 clamp(.85rem,2.8vw,1rem)/1.3 Cormorant Garamond,Georgia,serif;margin-top:.65rem}.invitation-divider{--divider-to:#380116;--divider-ink:#f5efe2;background:var(--divider-to);color:var(--divider-ink);display:grid;padding:1rem 1.5rem;place-items:center;pointer-events:none}.invitation-divider--cream-to-cream,.invitation-divider--wine-to-cream{--divider-to:#f5efe2;--divider-ink:#380116}.invitation-divider__monogram{display:block;height:auto;max-width:100%;width:min(100%,30rem)}.invitation-ending{aspect-ratio:1/1.68;color:#380116;container-type:inline-size;isolation:isolate;margin:-8% auto 0;position:relative;width:min(100%,68.75rem)}.invitation-ending img{display:block;max-width:100%}.invitation-collage--music-open .invitation-ending{margin-top:1rem}.invitation-ending__details{aspect-ratio:800/704;background:transparent;border:0;color:inherit;cursor:pointer;left:1%;padding:0;position:absolute;top:0;-webkit-transform:rotate(-8deg);transform:rotate(-8deg);width:62%}.invitation-ending__lace{-webkit-filter:grayscale(1) brightness(3) sepia(.15);filter:grayscale(1) brightness(3) sepia(.15);height:100%;inset:0;position:absolute;width:100%}.invitation-ending__heart{inset:13% 12% auto;position:absolute;width:76%}.invitation-ending__details-title{font:400 clamp(30px,7cqw,77px) Citadel Script,Great Vibes,cursive;left:17%;position:absolute;top:31%;-webkit-transform:rotate(-14deg);transform:rotate(-14deg);width:66%}.invitation-ending__details-prompt{font:600 clamp(10px,1.6cqw,18px) Cormorant Garamond,Georgia,serif;left:20%;letter-spacing:.12em;position:absolute;top:63%;width:60%}.invitation-ending__strip{aspect-ratio:277/800;-webkit-filter:drop-shadow(3px 8px 5px #0004);filter:drop-shadow(3px 8px 5px #0004);left:70%;margin:0;position:absolute;top:7%;-webkit-transform:rotate(8deg);transform:rotate(8deg);width:22%}.invitation-ending__strip-frame{height:100%;width:100%}.invitation-ending__strip-photo{height:27.8%;left:6.1%;object-fit:cover;object-position:center 48%;position:absolute;width:87.8%}.invitation-ending__strip-photo--one{top:2.6%}.invitation-ending__strip-photo--two{top:31.3%}.invitation-ending__strip-photo--three{top:60.1%}.invitation-ending__calla,.invitation-ending__leaf,.invitation-ending__small-flower,.invitation-ending__stem{pointer-events:none;position:absolute}.invitation-ending__stem--right{left:89%;top:5%;width:9%}.invitation-ending__leaf--right{left:91%;top:7%;width:7%}.invitation-ending__rsvp-frame{aspect-ratio:1.6;left:6%;position:absolute;top:34%;width:59%}.invitation-ending__rsvp-frame img{left:19%;position:absolute;top:-35%;-webkit-transform:rotate(82deg);transform:rotate(82deg);width:62%}.invitation-ending__rsvp{aspect-ratio:800/480;-webkit-filter:drop-shadow(0 6px 6px #0003);filter:drop-shadow(0 6px 6px #0003);left:4%;position:absolute;top:34%;-webkit-transform:rotate(-17deg);transform:rotate(-17deg);width:66%}.invitation-ending__rsvp>img{height:100%;width:100%}.invitation-ending__rsvp-copy{align-items:center;display:flex;flex-direction:column;inset:9% 18% 11%;justify-content:space-between;position:absolute}.invitation-ending__rsvp h2{font:400 clamp(30px,7.3cqw,80px)/.95 Citadel Script,Great Vibes,cursive;margin:0}.invitation-ending__rsvp p{font:600 clamp(9px,1.5cqw,17px) Cormorant Garamond,Georgia,serif;letter-spacing:.1em;margin:0}.invitation-ending__small-flower{left:78%;top:44%;-webkit-transform:rotate(100deg);transform:rotate(100deg);width:14%}.invitation-ending__calla{left:18%;top:47%;-webkit-transform:rotate(-40deg);transform:rotate(-40deg);width:9%}.invitation-ending__stem--left{left:9%;top:70%;width:9%}.invitation-ending__leaf--left{left:9%;top:72%;width:7%}.invitation-ending__polaroid{aspect-ratio:682/800;-webkit-filter:drop-shadow(3px 7px 5px #0005);filter:drop-shadow(3px 7px 5px #0005);left:12%;margin:0;position:absolute;top:72%;-webkit-transform:rotate(-18deg);transform:rotate(-18deg);width:29%}.invitation-ending__polaroid-photo{height:71%;left:7%;object-fit:cover;position:absolute;top:7%;width:86%}.invitation-ending__polaroid-frame{height:100%;inset:0;position:absolute;width:100%}.invitation-ending__story{aspect-ratio:722/800;color:inherit;-webkit-filter:drop-shadow(2px 5px 5px #0003);filter:drop-shadow(2px 5px 5px #0003);left:42%;position:absolute;text-decoration:none;top:61%;width:56%}.invitation-ending__story>img{height:100%;width:100%}.invitation-ending__story-copy{left:28%;position:absolute;text-align:center;top:12%;-webkit-transform:rotate(11deg);transform:rotate(11deg);width:63%}.invitation-ending__story h2{font:400 clamp(28px,6cqw,66px)/1.05 Citadel Script,Great Vibes,cursive;margin:0 0 .1em}.invitation-ending__story span{font:600 clamp(10px,1.6cqw,18px) Cormorant Garamond,Georgia,serif;letter-spacing:.12em}.invitation-ending__details:hover .invitation-ending__details-prompt,.invitation-ending__story:hover span{text-decoration:underline;text-underline-offset:.25em}.invitation-ending__footer{color:#f5efe2;padding:2rem 1.25rem 3rem;position:relative;text-align:center}.invitation-ending__footer h2{font:400 clamp(1.5rem,4vw,2.5rem) Cormorant Garamond,Georgia,serif;margin:0 0 1.5rem}.invitation-ending__countdown{display:flex;gap:clamp(.6rem,3vw,1.5rem);justify-content:center}.invitation-ending__countdown>div{display:flex;flex-direction:column;gap:.65rem;min-width:3.3rem}.invitation-ending__number{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";background:#f5efe2;border-radius:3px;box-shadow:0 3px 8px #0003;color:#380116;font:500 clamp(1.8rem,4vw,3rem)/1 Cormorant Garamond,Georgia,serif;font-variant-numeric:tabular-nums;padding:.65rem .45rem}.invitation-ending__unit{font:500 .65rem Cormorant Garamond,Georgia,serif;letter-spacing:.12em}.invitation-ending__guest-actions{margin:2rem auto 0;max-width:30rem}.invitation-ending__date{margin:0 0 .25rem}.invitation-ending__date,.invitation-ending__weekday{font:500 clamp(1.6rem,4vw,2.2rem) Cormorant Garamond,Georgia,serif}.invitation-ending__weekday{margin:0 0 1rem}.invitation-ending__venue{color:inherit;font:500 clamp(1.6rem,4vw,2.2rem)/1.4 Cormorant Garamond,Georgia,serif;text-underline-offset:.3em}.invitation-ending__buttons{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:0;padding:1rem 1rem 2rem}.invitation-ending__action{background:#f5efe2;border:1px solid #f5efe2;border-radius:4px;color:#380116;cursor:pointer;font:600 clamp(1rem,3vw,1.3rem)/1.4 Cormorant Garamond,Georgia,serif;letter-spacing:.08em;max-width:100%;min-height:48px;padding:1rem clamp(1rem,4vw,2.3rem);transition:background-color .2s,color .2s}.invitation-ending__action:hover{background:#f5efe2}.invitation-ending__action--outline{background:transparent;color:#f5efe2}.invitation-ending__action--outline:hover{background:#f5efe218}.invitation-guest-sections{--guest-paper:#f5efe2;--guest-wine:#380116;--guest-border:#38011626;color:var(--guest-wine);text-align:left}.invitation-guest-sections .wedding-section{background:var(--guest-paper);scroll-margin-top:1rem}.invitation-guest-sections #wishes{background:#f5efe2;padding-top:.75rem}.invitation-ending__wishes-divider{background:#f5efe2;display:grid;padding:1rem 1.5rem .25rem;place-items:center}.invitation-ending__wishes-logo{aspect-ratio:1122/1402;background:#380116;display:block;-webkit-mask:url(/static/media/wedding-monogram-white.664c8a9652702fd2d6e0.png) center/contain no-repeat;mask:url(/static/media/wedding-monogram-white.664c8a9652702fd2d6e0.png) center/contain no-repeat;mask-mode:luminance;width:clamp(7rem,20vw,10rem)}.invitation-guest-sections #guest-photos{padding-top:clamp(2rem,5vw,3rem)}.invitation-guest-sections .wedding-section--beige{background:var(--guest-wine);color:var(--guest-paper)}.invitation-guest-sections .wedding-title{color:inherit}.invitation-guest-sections .wedding-divider{background:currentColor;opacity:.35}.invitation-guest-sections .wedding-button{-webkit-animation:none;animation:none;background:var(--guest-wine);color:var(--guest-paper);opacity:1;-webkit-transform:none;transform:none}.invitation-guest-sections .wedding-button:hover{background:#651b34}.invitation-guest-sections .wishes-submit,.invitation-guest-sections .wishes-submit:active,.invitation-guest-sections .wishes-submit:hover{background:var(--guest-wine)}.invitation-guest-sections .wedding-button:disabled{opacity:.58}.invitation-guest-sections .wishes-display__surface,.invitation-guest-sections .wishes-form__card{background:var(--guest-paper);border:1px solid var(--guest-border)}.invitation-guest-sections .wishes-field label,.invitation-guest-sections .wishes-form__title,.invitation-guest-sections .wishes-input,.invitation-guest-sections .wishes-textarea,.invitation-guest-sections .wishes-toolbar__label{color:var(--guest-wine)}.invitation-guest-sections .wishes-input,.invitation-guest-sections .wishes-textarea{background:var(--guest-paper);border-color:var(--guest-border)}.invitation-guest-sections .wishes-input:focus,.invitation-guest-sections .wishes-textarea:focus{border-color:#87374f;outline:2px solid #87374f33;outline-offset:2px}.invitation-guest-sections .wishes-info{background:var(--guest-wine);border-color:#9c6e7d}.invitation-guest-sections .wishes-info__text{color:var(--guest-paper)}.invitation-guest-sections .wishes-empty,.invitation-guest-sections .wishes-toolbar__count{color:var(--guest-wine)}.invitation-guest-sections .guest-camera__intro{color:var(--guest-paper)}.invitation-guest-sections .guest-camera__capture,.invitation-guest-sections .guest-camera__gallery{background:var(--guest-paper);border:1px solid #ffffff40;box-shadow:0 12px 30px #18000926;color:var(--guest-wine)}.invitation-guest-sections .guest-camera__surface{background:#f2e9ec}.invitation-guest-sections .guest-camera__placeholder,.invitation-guest-sections .guest-camera__placeholder span{color:var(--guest-wine)}.invitation-guest-sections .guest-camera__placeholder span{background:var(--guest-paper);border-color:var(--guest-border)}.invitation-guest-sections .guest-camera__empty{background:transparent;border-color:#9c6e7d;color:var(--guest-wine)}.invitation-guest-sections .guest-camera__secondary-button,.invitation-guest-sections .guest-camera__switch{background:var(--guest-paper);border-color:#9c6e7d;color:var(--guest-wine)}.invitation-guest-sections .guest-camera__secondary-button:hover,.invitation-guest-sections .guest-camera__switch:hover{background:#f2e9ec}.invitation-guest-sections .guest-camera__gallery{scrollbar-color:#9c6e7d var(--guest-paper)}.invitation-guest-sections .guest-camera__gallery::-webkit-scrollbar-thumb{background:#9c6e7d}.invitation-guest-sections :is(.wish-common__name,.wish-common__message,.wish-common__date,.wish-like,.wish-rank,.wishes-success,.wishes-error,.guest-camera__error,.guest-camera__success,.guest-photo-card__rank,.guest-photo-card__like){color:var(--guest-wine)}.invitation-guest-sections .wish-common__date{opacity:1}.invitation-guest-sections :is(.wishes-input,.wishes-textarea)::-webkit-input-placeholder{color:var(--guest-wine);opacity:1}.invitation-guest-sections :is(.wishes-input,.wishes-textarea)::placeholder{color:var(--guest-wine);opacity:1}.invitation-guest-sections :is(.guest-camera__error,.guest-camera__success,.wishes-success){background:var(--guest-paper);border-color:var(--guest-border)}.invitation-guest-sections :is(.guest-photo-card__bar,.guest-photo-lightbox__close,.guest-photo-lightbox__nav,.guest-photo-lightbox__info,.guest-photo-lightbox__date){color:var(--guest-paper)}.invitation-guest-sections :is(.guest-photo-lightbox__close,.guest-photo-lightbox__nav):is(:hover,:focus-visible){color:var(--guest-paper)}.invitation-ending__welcome{font:400 1rem/1.7 Cormorant Garamond,Georgia,serif;margin:2.5rem auto;max-width:30rem}.invitation-ending__with-love{font:500 .85rem Cormorant Garamond,Georgia,serif;letter-spacing:.16em;margin:0 0 .6rem}.invitation-ending__signature{font:400 clamp(2.8rem,8vw,4.8rem)/1.3 NVN Bordemile,Great Vibes,cursive;margin:0}.invitation-ending__logo{display:block;height:auto;margin:1.5rem auto 0;mix-blend-mode:screen;width:clamp(5rem,15vw,7.5rem)}.invitation-day-details{aspect-ratio:7/10;background:transparent;border:0;color:#380116;container-type:inline-size;font-family:Cormorant Garamond,Georgia,serif;max-height:none;overflow:visible;padding:0;text-align:center;width:min(96vw,65svh,42rem)}.invitation-day-details__envelope-back,.invitation-day-details__envelope-front{bottom:0;height:55%;left:0;pointer-events:none;position:absolute;width:100%}.invitation-day-details__envelope-back{z-index:0}.invitation-day-details__card{-webkit-filter:drop-shadow(0 6px 12px #0003);filter:drop-shadow(0 6px 12px #0003);height:auto;left:5%;pointer-events:none;position:absolute;top:0;width:90%;z-index:1}.invitation-day-details__envelope-front{z-index:3}.invitation-day-details__content{display:flex;flex-direction:column;gap:1.2cqw;inset:17% 19% 26%;justify-content:center;position:absolute;z-index:2}.invitation-day-details::-webkit-backdrop{background:#170009bb}.invitation-day-details::backdrop{background:#170009bb}.invitation-day-details h2{font:400 9cqw/1.1 NVN Bordemile,Great Vibes,cursive;margin:0 0 1cqw}.invitation-day-details h3{font-size:4.2cqw;line-height:1.15;margin:0}.invitation-day-details p{font-size:3.5cqw;line-height:1.2;margin:0}.invitation-day-details .invitation-day-details__date{font-size:4.5cqw;font-weight:400;line-height:1.2}.invitation-day-details__calendar{bottom:3%;left:12%;margin:0;position:absolute;right:12%;z-index:4}.invitation-day-details__calendar summary{align-items:center;border:0;cursor:pointer;display:flex;flex-direction:column;gap:1cqw;justify-content:center;list-style:none;min-height:44px;padding:2cqw}.invitation-day-details__calendar summary::-webkit-details-marker{display:none}.invitation-day-details__calendar summary span{font:600 5.5cqw/1.2 Cormorant Garamond,Georgia,serif}.invitation-day-details__calendar summary small{font-size:2.8cqw;font-weight:600;letter-spacing:.15em}.invitation-day-details__calendar summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.invitation-day-details__calendar-options{background:#f5efe2;border:1px solid #38011640;border-radius:6px;bottom:calc(100% + .25rem);box-shadow:0 4px 15px #38011626;display:flex;flex-direction:column;left:50%;max-width:65cqw;padding:.35rem;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:3}.invitation-day-details .invitation-day-details__calendar-options a{align-items:center;display:grid;font-size:max(14px,3.5cqw);min-height:44px}.invitation-day-details .invitation-day-details__address{font-size:3.4cqw;line-height:1.2}.invitation-day-details__timeline{--timeline-icon-size:7cqw;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:1cqw 0;padding:0;position:relative}.invitation-day-details__timeline:before{background:currentColor;content:"";height:1px;left:16.666%;opacity:.35;position:absolute;right:16.666%;top:calc(var(--timeline-icon-size) + 1cqw + 2px)}.invitation-day-details__timeline li{align-items:center;display:flex;flex-direction:column;gap:1cqw;min-width:0;padding:0 .2rem}.invitation-day-details__timeline-icon{background:currentColor;display:block;height:var(--timeline-icon-size);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:var(--timeline-icon-size)}.invitation-day-details__timeline-dot{background:currentColor;border-radius:50%;height:4px;position:relative;width:4px}.invitation-day-details__timeline time{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-size:4cqw;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.invitation-day-details__timeline-label{text-wrap:balance;font-size:3.3cqw;line-height:1.15}.invitation-day-details__palette{display:flex;gap:2.5cqw;justify-content:center;list-style:none;margin:0;padding:0}.invitation-day-details__palette span{aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #3801161a;display:block;width:5cqw}.invitation-day-details a{color:inherit;display:inline-block;font-size:3.5cqw;line-height:1.2;padding:1cqw}.invitation-day-details__close{background:#f5efe2;border:1px solid #38011640;border-radius:50%;color:inherit;cursor:pointer;font-size:2rem;height:44px;line-height:1;position:absolute;right:7%;top:10%;width:44px;z-index:5}@media (max-width:420px){.invitation-ending{margin-top:-3%}.invitation-ending__rsvp-copy{inset:9% 12% 8%}}.invitation-ending__thank-you{background:#380116;color:#f5efe2;padding:0 1.5rem 3rem;text-align:center}.invitation-ending__thank-you h2{font:400 clamp(3rem,8vw,5rem)/1.2 NVN Bordemile,cursive;margin:0 0 1rem}.invitation-ending__thank-you p{font:400 1.15rem/1.5 Cormorant Garamond,Georgia,serif;margin:0 auto;max-width:32rem}.invitation-ending__thank-you .invitation-ending__thank-you-signature{font:400 2.5rem/1.3 NVN Bordemile,cursive;margin-top:1.5rem}.wedding-announcement-page{background:#380116}.invitation-collage{background:#380116;color:#f5efe2;padding:0 0 4rem;text-align:center}.invitation-collage__scene{aspect-ratio:1/1.2;container-type:inline-size;isolation:isolate;margin:0 auto;position:relative;width:min(100%,68.75rem)}.invitation-collage__envelope{aspect-ratio:768/800;-webkit-filter:drop-shadow(0 8px 10px #16000855);filter:drop-shadow(0 8px 10px #16000855);left:5%;position:absolute;top:2%;width:61%}.invitation-collage__envelope-back,.invitation-collage__envelope-front{height:100%;inset:0;position:absolute;width:100%}.invitation-collage__portrait{border-radius:48% 48% 0 0/29% 29% 0 0;height:72%;left:9%;object-fit:cover;object-position:62% center;position:absolute;top:6%;width:82%}.invitation-collage__monogram{height:auto;left:50%;mix-blend-mode:screen;pointer-events:none;position:absolute;top:9%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:19%}.invitation-collage__flower{object-fit:contain;position:absolute}.invitation-collage__flower--left{left:75%;top:12%;-webkit-transform:rotate(8deg);transform:rotate(8deg);width:10%}.invitation-collage__flower--right{left:79%;top:23%;-webkit-transform:rotate(10deg);transform:rotate(10deg);width:16%}.invitation-collage__ribbon{left:2%;position:absolute;top:54%;width:36%}.invitation-collage__locket{left:3%;position:absolute;top:57%;width:37%}.invitation-collage__locket svg{display:block;height:auto;width:100%}.invitation-collage__card{aspect-ratio:548/800;color:#380116;-webkit-filter:drop-shadow(-6px 6px 8px #16000844);filter:drop-shadow(-6px 6px 8px #16000844);left:42%;position:absolute;top:31%;width:56%}.invitation-collage__card>img{display:block;height:100%;width:100%}.invitation-collage__card-content{align-items:center;display:flex;flex-direction:column;inset:24% 17% 25%;justify-content:flex-start;position:absolute}.invitation-collage__date,.invitation-collage__eyebrow,.invitation-collage__venue{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(10px,1.9cqw,21px);font-weight:600;letter-spacing:.08em;line-height:1.45}.invitation-collage__eyebrow{margin:0 0 4%}.wedding-announcement-page[lang=vi] .invitation-collage__eyebrow{font-size:clamp(10px,1.8cqw,20px);letter-spacing:0}.invitation-collage__card h2{font-family:NVN Bordemile,Great Vibes,cursive;font-size:clamp(32px,7.8cqw,86px);font-weight:400;line-height:1.15;margin:0 0 5%}.invitation-collage__card h2 span{display:block;white-space:nowrap}.invitation-collage__date{font-size:clamp(15px,calc(2.3cqw + 3px),28px);margin:0 0 .15em}.invitation-collage__venue{color:inherit;font-size:clamp(7px,1.65cqw,18px);letter-spacing:.02em;text-decoration:none;white-space:nowrap}.invitation-collage__venue:hover{text-decoration:underline}.invitation-collage__music{left:12%;position:absolute;top:29%;-webkit-transform:rotate(-12deg);transform:rotate(-12deg);width:19%}.invitation-collage__record{aspect-ratio:1;background:repeating-radial-gradient(circle,#241c19 0 3px,#493e35 4px,#241c19 5px 8px);border:4px solid #30251f;border-radius:50%;box-shadow:0 6px 9px #0007;cursor:pointer;display:grid;padding:0;place-items:center;position:relative;width:100%}.invitation-collage__record-label{-webkit-animation:invitation-record-spin 10s linear infinite;animation:invitation-record-spin 10s linear infinite;background:#e8e2d5;border-radius:50%;display:grid;height:72%;place-items:center;width:72%}.invitation-collage__record-logo{display:block;-webkit-filter:invert(1);filter:invert(1);height:86%;mix-blend-mode:multiply;object-fit:contain;pointer-events:none;width:64%}.invitation-collage__play{background:#380116cc;border-radius:50%;bottom:3%;color:#f5efe2;display:grid;font-size:clamp(10px,1.8cqw,20px);height:25%;place-items:center;position:absolute;right:3%;-webkit-transform:rotate(12deg);transform:rotate(12deg);width:25%}.invitation-collage__music-caption{color:#380116;display:block;font:600 clamp(9px,1.8cqw,20px) Cormorant Garamond,Georgia,serif;letter-spacing:.1em;margin-top:.6em}.invitation-collage__music-panel{margin:0 auto 2rem;width:min(90%,32rem)}.invitation-collage__music-panel iframe{aspect-ratio:16/9;border:0;border-radius:4px;display:block;width:100%}.invitation-collage__details{align-items:center;border-bottom:1px solid #f5efe266;color:inherit;display:inline-flex;font:500 .95rem Cormorant Garamond,Georgia,serif;gap:1rem;letter-spacing:.12em;margin:1rem;min-height:44px;padding:.75rem .5rem;text-decoration:none}.invitation-collage__details:hover{border-color:currentColor}.invitation-collage a:focus-visible,.invitation-collage button:focus-visible{outline:2px solid currentColor;outline-offset:4px}@-webkit-keyframes invitation-record-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes invitation-record-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.invitation-collage__record-label{-webkit-animation:none;animation:none}}@media (max-width:420px){.invitation-collage__date,.invitation-collage__eyebrow,.invitation-collage__venue{letter-spacing:.02em}}.App_App__bgNKV{background-color:initial;height:auto}.App_App-logo__G5Nmz{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App_App-logo__G5Nmz{-webkit-animation:App_App-logo-spin__g0JhV 20s linear infinite;animation:App_App-logo-spin__g0JhV 20s linear infinite}}.App_App-header__RQqpr{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App_App-link__Afjqk{color:#61dafb}@-webkit-keyframes App_App-logo-spin__g0JhV{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App_App-logo-spin__g0JhV{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}
/*# sourceMappingURL=main.c1cbe1ac.css.map*/