:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}:root{font-family:Songti SC,STSong,"Noto Serif SC",Georgia,serif;color:#315571;background:#dff2ff;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #315571;--muted: #6d8fa6;--sky: #b8ddf5;--deep-sky: #6fa9cf;--cream: #fffdf8;--white: #ffffff}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,a{font:inherit}button{color:inherit}.invitation,.invite-swiper,.swiper-slide,.page{width:100%;height:100%;height:100dvh}.invitation{position:relative;isolation:isolate;background:#dff2ff}.invite-swiper{max-width:540px;margin:0 auto;overflow:hidden;box-shadow:0 0 70px #43749429}.page{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(38px,env(safe-area-inset-top)) 26px max(32px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 22% 16%,rgb(255 255 255 / 90%) 0 3px,transparent 4px),radial-gradient(circle at 84% 30%,rgb(255 255 255 / 70%) 0 2px,transparent 3px),linear-gradient(165deg,#eef9ff,#dff2ff 54%,#f8fcff)}.page:before,.page:after{content:"";position:absolute;z-index:0;border-radius:999px;pointer-events:none}.page:before{width:230px;height:230px;top:-110px;right:-90px;border:1px solid rgb(255 255 255 / 65%);box-shadow:inset 0 0 60px #ffffff59}.page:after{width:170px;height:170px;bottom:-105px;left:-70px;background:#ffffff47}.page>*{position:relative;z-index:1}.eyebrow{margin:0 0 12px;color:#6b9cbb;font:600 10px/1.2 Arial,sans-serif;letter-spacing:.28em}.section-heading{position:absolute;top:max(70px,calc(env(safe-area-inset-top) + 42px));width:calc(100% - 52px);text-align:center}.section-heading h2{margin:0;color:var(--ink);font-size:clamp(24px,7vw,34px);font-weight:500;letter-spacing:.12em}.heading-spark{display:block;margin-top:12px;color:#83b8d8;font-size:15px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.is-active .reveal{opacity:1;transform:translateY(0)}.is-active .reveal-1{transition-delay:.12s}.is-active .reveal-2{transition-delay:.3s}.is-active .reveal-3{transition-delay:.48s}.is-active .reveal-4{transition-delay:.66s}.music-control{position:fixed;z-index:30;top:max(18px,calc(env(safe-area-inset-top) + 8px));right:max(18px,calc((100vw - 540px)/2 + 18px));display:grid;width:40px;height:40px;padding:10px;border:1px solid rgb(255 255 255 / 76%);border-radius:50%;color:#4f85a8;background:#ffffff9e;box-shadow:0 8px 24px #3e6a881f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.music-control svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.music-control.playing{animation:spin 5s linear infinite}.music-control:disabled{opacity:.4}.page-index{position:fixed;z-index:20;right:max(19px,calc((100vw - 540px)/2 + 19px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 8px));color:#3155718c;font:600 9px/1 Arial,sans-serif;letter-spacing:.18em;pointer-events:none}.swiper-pagination{left:max(12px,calc((100vw - 540px)/2 + 12px))!important;right:auto!important}.swiper-pagination-bullet{width:5px;height:5px;background:#83abc4;opacity:.35;transition:height .3s ease,opacity .3s ease}.swiper-pagination-bullet-active{height:18px;border-radius:4px;opacity:.9}.page-cover{justify-content:space-between;padding-top:max(56px,calc(env(safe-area-inset-top) + 28px));padding-bottom:max(46px,calc(env(safe-area-inset-bottom) + 28px))}.sky-decor{position:absolute;inset:0;overflow:hidden}.cloud{position:absolute;width:80px;height:26px;border-radius:50px;background:#ffffffad;filter:blur(.2px);animation:drift 8s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:"";position:absolute;bottom:8px;border-radius:50%;background:inherit}.cloud:before{left:15px;width:34px;height:34px}.cloud:after{right:12px;width:25px;height:25px}.cloud-one{top:13%;left:-18px}.cloud-two{top:31%;right:-35px;transform:scale(.8);animation-delay:-3s}.star{position:absolute;color:#66a0c48c;animation:twinkle 2.6s ease-in-out infinite}.star-one{top:12%;right:18%}.star-two{top:38%;left:11%;animation-delay:-1.1s}.cover-copy{width:100%;text-align:center}.cover-title{margin:0;font-weight:500}.cover-title>span{display:block;color:#315571;font-size:clamp(34px,10vw,48px);letter-spacing:.18em;text-indent:.18em}.cover-title small{display:block;margin-top:8px;color:#5f8fac;font-size:17px;font-weight:400;letter-spacing:.3em;text-indent:.3em}.title-line{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:17px}.title-line i{width:28px;height:1px;background:#a9cde2}.title-line b{color:#789bb1;font-size:11px;font-weight:400;letter-spacing:.14em}.cover-photo{width:min(64vw,294px);margin:3px 0;text-align:center}.cover-photo img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:.84;object-fit:cover;border:8px solid rgb(255 255 255 / 82%);border-radius:50% 50% 44% 44%/43% 43% 52% 52%;box-shadow:0 20px 50px #477a9b33}.photo-halo{position:absolute;inset:-13px;border:1px solid rgb(118 174 209 / 40%);border-radius:50% 50% 46% 46%;animation:breathe 4s ease-in-out infinite}.cover-photo figcaption{display:inline-block;position:relative;z-index:2;margin-top:-13px;padding:8px 16px;border-radius:999px;color:#648da7;background:#fff;box-shadow:0 8px 20px #3564831f;font:600 9px/1 Arial,sans-serif;letter-spacing:.17em}.cover-date{display:grid;gap:6px;text-align:center}.cover-date span{font-size:15px;letter-spacing:.15em}.cover-date b{color:#7395aa;font-size:11px;font-weight:400;letter-spacing:.1em}.swipe-cue{display:grid;place-items:center;gap:7px;min-width:80px;padding:0;border:0;background:transparent;font-size:10px;letter-spacing:.16em}.swipe-cue i{width:9px;height:9px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(45deg);animation:cue 1.6s ease-in-out infinite}.page-gallery{justify-content:flex-end;padding-bottom:max(54px,calc(env(safe-area-inset-bottom) + 35px))}.photo-stack{position:relative;width:min(86vw,420px);height:min(58vh,510px);margin-top:62px}.memory-photo{position:absolute;margin:0;padding:7px 7px 24px;background:#ffffffeb;box-shadow:0 15px 40px #35607c29}.memory-photo img{display:block;width:100%;height:100%;object-fit:cover;background:#d9eef9}.memory-photo figcaption{position:absolute;right:5px;bottom:7px;left:5px;overflow:hidden;color:#678ba1;font-size:9px;letter-spacing:.05em;text-align:center;white-space:nowrap;text-overflow:ellipsis}.photo-1{top:3%;left:2%;width:57%;height:57%;transform:translateY(18px) rotate(-5deg)}.is-active .photo-1{transform:rotate(-5deg)}.photo-2{top:10%;right:0;width:49%;height:45%;transform:translateY(18px) rotate(6deg)}.is-active .photo-2{transform:rotate(6deg)}.photo-3{right:14%;bottom:0;width:61%;height:53%;transform:translateY(18px) rotate(-2deg)}.is-active .photo-3{transform:rotate(-2deg)}.page-note{margin:17px 0 0;color:#7899ad;font-size:11px;letter-spacing:.16em}.page-letter{background:linear-gradient(rgb(255 255 255 / 18%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 18%) 1px,transparent 1px),linear-gradient(165deg,#eaf8ff,#dcedf8);background-size:26px 26px,26px 26px,auto}.letter-card{width:min(86vw,418px);padding:clamp(32px,8vw,44px) clamp(26px,7vw,38px);border:1px solid rgb(255 255 255 / 94%);border-radius:180px 180px 24px 24px;background:#fffdf8e5;box-shadow:0 22px 70px #3e6a8826;text-align:center}.letter-star{display:block;margin-bottom:16px;color:#85b4d1}.letter-card h2{margin:0;font-size:clamp(23px,6.8vw,31px);font-weight:500;letter-spacing:.1em}.letter-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:21px 0;color:#85acc3}.letter-divider i{width:42px;height:1px;background:#bdd8e8}.letter-body{color:#5f7f94;font-size:13px;line-height:2;letter-spacing:.05em}.letter-body p{margin:0 0 10px}.letter-card blockquote{margin:24px 0 0;padding-top:19px;border-top:1px dashed #bfd7e5;color:#4b7895;font-size:12px;line-height:1.8}.tiny-stars{margin-top:26px;color:#8eb6ce;font-size:12px;letter-spacing:.3em}.page-event{justify-content:flex-start;padding-top:max(178px,calc(env(safe-area-inset-top) + 155px));padding-bottom:max(48px,calc(env(safe-area-inset-bottom) + 30px))}.event-card{width:min(86vw,410px);padding:0 22px 22px;border:1px solid rgb(255 255 255 / 90%);border-radius:24px;background:#ffffffb8;box-shadow:0 20px 55px #35638124;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin:0 -22px 22px;padding:13px 20px;border-radius:24px 24px 0 0;color:#fff;background:#8fbdd8;font-size:12px;letter-spacing:.16em}.event-date{color:#315571;font-size:clamp(25px,7.2vw,34px);letter-spacing:.08em}.event-card>p{margin:8px 0 19px;color:#7495aa;font-size:11px;letter-spacing:.12em}.event-grid{display:grid;grid-template-columns:.8fr 1.2fr;border-top:1px solid #d6e6ef;border-bottom:1px solid #d6e6ef}.event-grid>div{display:grid;gap:9px;padding:15px 10px}.event-grid>div+div{border-left:1px solid #d6e6ef}.event-grid span{color:#88aabd;font:600 8px/1 Arial,sans-serif;letter-spacing:.2em}.event-grid strong{color:#496d84;font-size:12px;font-weight:500;line-height:1.5}.event-card address{margin-top:15px;color:#6c8da2;font-size:11px;font-style:normal;line-height:1.6}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;margin-top:15px;padding:0 25px;border:1px solid rgb(255 255 255 / 80%);border-radius:999px;color:#fff;background:linear-gradient(135deg,#75aecd,#96c7e2);box-shadow:0 12px 28px #41789b38;font-size:12px;letter-spacing:.12em;text-decoration:none}.primary-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.7}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:min(88vw,430px)}.countdown-item{display:grid;gap:8px;place-items:center;min-width:0;padding:16px 5px 13px;border:1px solid rgb(255 255 255 / 80%);border-radius:16px;background:#ffffff8a;box-shadow:0 12px 30px #4674921a}.countdown-item strong{color:#3e6e8c;font:400 clamp(24px,7vw,34px)/1 Georgia,serif}.countdown-item span{color:#779cb2;font-size:10px}.event-countdown{width:100%;margin-top:16px;padding-top:14px;border-top:1px dashed #c9deea;text-align:center}.event-countdown-title{margin:0 0 8px;color:#6f94aa;font-size:10px;letter-spacing:.14em}.event-countdown .countdown-grid{width:100%;gap:6px}.event-countdown .countdown-item{gap:4px;padding:8px 4px 7px;border-color:#c4dce9c2;border-radius:10px;background:#ebf7fdb3;box-shadow:none}.event-countdown .countdown-item strong{font-size:clamp(19px,5.5vw,27px)}.event-countdown .ended-message{max-width:none;padding:14px 18px}.ended-message{max-width:340px;margin:0;padding:22px;border-radius:18px;background:#ffffff8f;color:#5c8095;font-size:13px;line-height:1.8;text-align:center}.contact-card{width:min(88vw,430px);margin-top:28px;padding:19px;border-radius:20px;background:#ffffff75}.contact-card>p{margin:0 0 15px;color:#7898ac;font-size:10px;letter-spacing:.1em;text-align:center}.contact-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.contact-links a{display:grid;gap:5px;min-height:54px;place-content:center;border:1px solid rgb(255 255 255 / 80%);border-radius:14px;color:#5e859d;background:#fff9;text-align:center;text-decoration:none}.contact-links span{font-size:10px}.contact-links strong{font-size:12px;font-weight:500}.page-closing{text-align:center}.closing-stars{margin-bottom:13px;color:#83abc4;letter-spacing:.3em}.page-closing h2{margin:0 0 24px;font-size:clamp(34px,10vw,48px);font-weight:500;letter-spacing:.16em;text-indent:.16em}.closing-photo{width:min(45vw,210px);margin:0 0 23px}.closing-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:7px solid rgb(255 255 255 / 84%);border-radius:50%;box-shadow:0 16px 38px #4273912e}.closing-text{max-width:330px;margin:0 0 20px;color:#66869a;font-size:13px;line-height:1.9}.signature{display:grid;place-items:center;gap:12px;margin-bottom:25px;color:#557a91;font-size:12px;letter-spacing:.08em}.signature i{width:46px;height:1px;background:#a9c9dc}.closing-foot{position:absolute;bottom:max(28px,calc(env(safe-area-inset-bottom) + 16px));margin:0;color:#84a6ba;font:600 7px/1 Arial,sans-serif;letter-spacing:.18em}.page-final{padding-right:22px;padding-left:22px;background:linear-gradient(165deg,#f1faff,#d9eefb 52%,#cce8f8)}.page-final .closing-stars{margin-bottom:12px}.page-final .eyebrow{margin-bottom:11px}.page-final h2{margin-bottom:22px;font-size:clamp(36px,10vw,48px)}.page-final .closing-photo{width:min(45vw,210px);margin-bottom:21px}.page-final .closing-text{margin-bottom:18px;font-size:13px;line-height:1.9}.page-final .signature{gap:10px;margin-bottom:19px}.page-final .contact-card{margin-top:0;padding:16px}.page-final .contact-card>p{margin-bottom:12px}.page-final .contact-links a{min-height:50px}.page-final .closing-foot{bottom:max(18px,calc(env(safe-area-inset-bottom) + 9px))}@keyframes drift{to{transform:translate(18px) translateY(5px)}}@keyframes twinkle{50%{opacity:.25;transform:scale(.75)}}@keyframes breathe{50%{transform:scale(1.025);opacity:.55}}@keyframes cue{50%{transform:translateY(-5px) rotate(45deg);opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-height:700px){.section-heading{top:max(52px,calc(env(safe-area-inset-top) + 28px))}.page-cover{padding-top:max(38px,calc(env(safe-area-inset-top) + 16px))}.cover-photo{width:min(47vw,225px)}.cover-title>span{font-size:32px}.cover-title small{font-size:14px}.photo-stack{height:52vh}.letter-card{padding-block:27px}.letter-body{font-size:12px;line-height:1.75}.letter-body p{margin-bottom:6px}.page-event{padding-top:max(145px,calc(env(safe-area-inset-top) + 122px));padding-bottom:max(35px,calc(env(safe-area-inset-bottom) + 22px))}.event-card{padding:0 19px 16px}.calendar-top{margin:0 -19px 14px;padding-block:10px}.event-card>p{margin-block:5px 12px}.event-grid>div{gap:5px;padding-block:10px}.event-card address{margin-top:10px;line-height:1.45}.contact-card{margin-top:20px}.closing-photo{width:min(36vw,168px)}.page-closing h2{margin-bottom:16px}.closing-text{margin-bottom:14px}.signature{margin-bottom:17px}.page-final .closing-stars{margin-bottom:6px}.page-final .eyebrow{margin-bottom:7px}.page-final h2{margin-bottom:14px;font-size:34px}.page-final .closing-photo{width:min(36vw,150px);margin-bottom:13px}.page-final .closing-text{margin-bottom:11px;font-size:12px;line-height:1.65}.event-countdown{margin-top:10px;padding-top:9px}.event-countdown-title{margin-bottom:5px}.event-countdown .countdown-item{padding-block:6px 5px}.page-event .primary-button{min-height:40px;margin-top:10px}.page-final .signature{gap:7px;margin-bottom:12px}.page-final .contact-card{margin-top:0;padding:11px}.page-final .contact-card>p{margin-bottom:7px}.page-final .contact-links a{min-height:43px}}@media(min-width:541px){body{background:#cde7f6}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
