@font-face{font-family:WeddingPlay;src:url(/fonts/ZCOOLKuaiLe-Regular.ttf)format("truetype");font-display:swap;font-weight:400}:root{color:#263d32;font-synthesis:none;--paper:#fffaf0;--pink:#f2d2d9;--green:#dce6c1;--yellow:#f3e1a5;--ink:#263d32;--accent:#b53b55;--muted:#5b675c;--display:WeddingPlay,"STKaiti","KaiTi",serif;--ease:cubic-bezier(.22,1,.36,1);background:#f8f4e9;font-family:PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button:focus-visible{outline-offset:4px;outline:3px solid #a72d4c}a:focus-visible{outline-offset:4px;outline:3px solid #a72d4c}input:focus-visible{outline-offset:4px;outline:3px solid #a72d4c}textarea:focus-visible{outline-offset:4px;outline:3px solid #a72d4c}select:focus-visible{outline-offset:4px;outline:3px solid #a72d4c}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}p{line-height:1.75}button{background:0 0;border:0}input,textarea,select{color:var(--ink)}label{display:block}label>span:not(.member-option span){color:var(--muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{background:#fffdf6;border:1px solid #c0c6b5;border-radius:3px;width:100%;min-height:48px;padding:14px 16px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--accent);flex-shrink:0;width:21px;height:21px}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:14px;font-weight:600}.button{min-height:50px;transition:transform .18s var(--ease),background .18s;text-align:center;border-radius:3px;justify-content:center;align-items:center;gap:14px;padding:14px 24px;font-size:16px;font-weight:600;display:inline-flex}.button:active{transform:scale(.97)}.button.primary{background:var(--accent);color:#fffaf2}.button.primary:hover{background:#9e2e46}.button.secondary{background:var(--green);color:var(--ink)}.button.small{min-height:40px;padding:9px 14px;font-size:14px}.button.full{width:100%;display:flex}.text-button{text-underline-offset:5px;min-height:42px;padding:10px 0;text-decoration:underline;display:inline-block}.brand{font-family:var(--display);white-space:nowrap;font-size:25px}.brand>span{color:var(--accent)}.small-note{color:var(--muted);font-size:13px;line-height:1.7}.notice,.error,.success-note{border-radius:3px;margin:16px 0;padding:14px 16px;line-height:1.7}.notice{background:#eee6d1}.error{color:#802b40;background:#f4dce1}.success-note{background:#e2eaca}.loading{text-align:center;padding:80px 24px}.empty-state{text-align:center;background:#f0eddf;padding:36px 24px}.empty-state h2{margin-bottom:12px;font-size:22px}.empty-state p{color:var(--muted)}.handwritten{font-family:var(--display);color:var(--accent);font-size:22px}.guest-header{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:auto;padding:23px 4.5%;display:flex}.guest-header nav{gap:28px;display:flex}.guest-header nav button{padding:10px 0;font-size:15px;position:relative}.guest-header nav button.active:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:0;left:0;right:0;transform:rotate(-3deg)}.mini-card-button{border-bottom:1px solid var(--ink);padding:8px 0;font-size:14px}.guest-main{min-height:70vh}.mobile-nav{display:none}.phase-strip{background:var(--green);text-align:center;padding:10px 24px;font-size:14px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:56px;max-width:1280px;margin:0 auto;padding:54px 48px 64px;display:grid}.hero-copy{position:relative}.hero-date{letter-spacing:2px;font-size:15px}.hero h1{font-family:var(--display);letter-spacing:-3px;margin:24px 0 20px;font-size:112px;line-height:1.13;position:relative}.hero h1>span{color:var(--accent)}.hand-star{color:var(--accent);vertical-align:top;margin-left:24px;font-family:Georgia,serif;font-size:98px;font-style:normal;display:inline-block;transform:rotate(-12deg)}.couple-line{letter-spacing:3px;font-size:23px}.couple-line>span{color:var(--accent);margin:0 8px;font-family:Georgia,serif}.hero-note{color:var(--muted);margin-top:21px;font-size:17px}.hero-button{justify-content:space-between;min-width:260px;margin-top:26px}.hero-secondary{margin-top:7px;font-size:14px;display:block}.hero-visual{padding:24px 18px 36px;position:relative}.hero-polaroid{background:#fffdf5;padding:15px 15px 10px;position:relative;transform:rotate(4deg);box-shadow:0 12px 32px #293a291a}.photo-crop{aspect-ratio:4/4.65;background:var(--pink);overflow:hidden}.photo-crop img{object-fit:cover;object-position:center 35%;width:100%;height:100%}.hero-polaroid figcaption{font-family:var(--display);text-align:center;padding:21px 0 13px;font-size:24px}.paper-tape{clip-path:polygon(3% 0,97% 0,100% 100%,0 100%);background:#c7d48dc4;width:110px;height:36px;position:absolute;top:-16px;left:calc(50% - 55px);transform:rotate(-7deg)}.hero-sticker{font-family:var(--display);background:var(--yellow);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:124px;height:124px;font-size:22px;display:flex;position:absolute;bottom:12px;left:-22px;transform:rotate(-12deg)}.hero-sticker b{font-weight:400}.hero-loop{color:var(--accent);font-family:Georgia,serif;font-size:19px;font-style:italic;line-height:1.1;position:absolute;bottom:-10px;right:0;transform:rotate(-7deg)}.today-strip{background:var(--green);justify-content:space-between;align-items:center;gap:20px;padding:23px max(4.5%,50vw - 592px);font-size:16px;display:flex}.today-strip p{font-family:var(--display);font-size:23px}.tiny-flower{vertical-align:middle;margin-right:12px;font-size:30px;display:inline-block}.today-strip button{text-align:left;min-height:40px;font-size:15px}.home-discover{grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;max-width:1280px;margin:auto;padding:96px 48px;display:grid}.section-intro h2,.photo-story h2{font-family:var(--display);margin-bottom:22px;font-size:43px;line-height:1.3}.section-intro p,.photo-story p{color:var(--muted);margin-bottom:16px}.discover-postcards{align-items:center;gap:18px;display:flex}.postcard{text-align:left;flex-direction:column;flex:1;justify-content:flex-end;gap:12px;min-height:252px;padding:30px 22px;display:flex}.pink{background:var(--pink)}.green{background:var(--green)}.yellow{background:var(--yellow)}.cream{background:#efe9d9}.postcard:first-child{transform:rotate(-5deg)}.postcard:last-child{margin-top:28px;transform:rotate(6deg)}.postcard b{font-family:var(--display);font-size:27px;font-weight:400}.postcard>span:last-child{font-size:13px;line-height:1.6}.bead-doodle{white-space:nowrap;letter-spacing:-5px;color:var(--accent);font-size:33px}.camera-doodle{color:var(--accent);font-size:60px;line-height:1}.photo-story{background:var(--pink);grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;padding:70px max(4.5%,50vw - 592px);display:grid}.photo-story-pair{align-items:center;gap:16px;display:flex}.photo-story-pair img{aspect-ratio:3/4;object-fit:cover;border:10px solid #fffaf0;width:calc(50% - 8px);transform:rotate(-4deg)}.photo-story-pair img:last-child{margin-top:50px;transform:rotate(5deg)}.photo-story h2{font-size:37px}.guest-footer{text-align:center;padding:75px 5% 65px}.guest-footer p{font-family:var(--display);margin-bottom:20px;font-size:46px;line-height:1.3}.guest-footer span{color:var(--muted);font-size:14px}.inner-page{max-width:760px;margin:0 auto;padding:38px 32px 80px}.page-heading{margin:10px 0 34px}.page-heading h1{font-family:var(--display);margin:14px 0 18px;font-size:48px;line-height:1.25}.page-heading>p:last-child{color:var(--muted)}.lookup-form{background:var(--paper);padding:26px}.lookup-form label{margin-bottom:10px;font-size:14px}.segmented{background:#edeadd;gap:4px;margin-bottom:24px;padding:4px;display:flex}.segmented button{flex:1;padding:13px 5px;font-size:15px}.segmented button.selected{background:var(--green);font-weight:600}.search-row{gap:10px;display:flex}.search-row input{min-width:0}.search-row .button{flex-shrink:0;padding:12px 20px}.lookup-results{margin-top:28px}.lookup-results>p{color:var(--muted);margin-bottom:14px}.candidate{text-align:left;background:var(--pink);justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;padding:24px;display:flex}.candidate strong{font-size:19px;font-weight:500}.candidate small{color:var(--muted);margin-top:8px;font-size:15px;display:block}.candidate>span:last-child{font-size:27px}.seat-help{color:var(--muted);justify-content:center;align-items:center;gap:24px;padding:54px 12px;display:flex}.seat-help>span{color:var(--accent);font-size:52px}.ticket-result{background:var(--pink);clip-path:polygon(0 0,100% 0,100% 94%,98% 97%,96% 94%,94% 97%,92% 94%,90% 97%,88% 94%,86% 97%,84% 94%,82% 97%,80% 94%,78% 97%,76% 94%,74% 97%,72% 94%,70% 97%,68% 94%,66% 97%,64% 94%,62% 97%,60% 94%,58% 97%,56% 94%,54% 97%,52% 94%,50% 97%,48% 94%,46% 97%,44% 94%,42% 97%,40% 94%,38% 97%,36% 94%,34% 97%,32% 94%,30% 97%,28% 94%,26% 97%,24% 94%,22% 97%,20% 94%,18% 97%,16% 94%,14% 97%,12% 94%,10% 97%,8% 94%,6% 97%,4% 94%,2% 97%,0 94%);margin-top:28px;padding:30px;position:relative}.ticket-result>span{font-size:14px}.ticket-result h2{font-family:var(--display);margin:17px 0 10px;font-size:38px}.ticket-result p{color:var(--muted)}.subheading{margin:28px 0 10px;font-size:23px}.member-list{margin:18px 0}.member-option{border-bottom:1px solid #dedfce;align-items:center;gap:14px;padding:15px 0;display:flex}.member-option strong{font-size:17px;font-weight:500}.member-option small{color:var(--muted);margin-top:4px;font-size:14px;display:block}.companion-counter{align-items:center;gap:20px;padding:20px 0;display:flex}.companion-counter strong{font-size:16px}.companion-counter p{color:var(--muted);margin-top:5px;font-size:13px}.companion-counter select{flex-shrink:0;width:90px}.checkin-button{margin-top:14px}.checkin-button+.small-note{text-align:center;margin-top:12px}.seating-map{background:#f0eddf;margin-top:32px;padding:22px}.map-title{margin-bottom:16px;font-weight:600}.seating-map svg{width:100%;max-height:560px;display:block}.map-table circle{fill:#fffaf0;stroke:#b8c0ab;stroke-width:1px}.map-table text{fill:var(--ink);font-size:17px}.map-table.active circle{fill:var(--accent);stroke:var(--accent)}.map-table.active .map-pulse{fill:none;stroke-width:2px;animation:1.8s infinite mapPulse}.map-landmark{fill:var(--muted);font-size:18px}.side-hall-note{background:var(--green);margin:14px 0;padding:14px}.arrival{text-align:center;position:relative;overflow:hidden}.arrival h1{font-family:var(--display);margin:22px 0;font-size:48px;line-height:1.3}.arrival>p{margin:14px 0}.arrival-stamp{font-family:var(--display);border:4px solid var(--accent);width:116px;height:116px;color:var(--accent);border-radius:50%;place-items:center;margin:20px auto;font-size:58px;display:grid;transform:rotate(-13deg)}.seat-result-label{background:var(--pink);margin:22px 0;padding:20px;font-size:26px}.confetti-box{pointer-events:none;height:180px;position:absolute;top:100px;left:0;right:0}.paper-confetti{width:9px;height:19px;position:absolute;transform:rotate(30deg)}.guide-page{max-width:1050px}.area-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.area-card{padding:30px;position:relative;overflow:hidden}.area-symbol{color:var(--accent);font-size:48px;line-height:1;position:absolute;top:24px;right:20px;transform:rotate(15deg)}.area-kind{padding-right:70px;font-size:14px}.area-card h2{font-family:var(--display);margin:22px 0 14px;font-size:34px}.area-card>p:not(.area-kind){max-width:30em;min-height:58px}.area-time{margin:20px 0 7px;font-size:14px;font-weight:500;display:block}.area-details{border-top:1px solid #263d3226;margin-top:12px;padding-top:12px}.area-details .small-note{margin-top:12px}.timeline-paper{background:var(--paper);margin-top:32px;padding:34px}.timeline-paper>h2{font-family:var(--display);margin-bottom:24px;font-size:32px}.timeline-row{border-top:1px solid #daddca;grid-template-columns:90px 1fr;gap:24px;padding:23px 0;display:grid}.timeline-row time{font-family:var(--display);font-size:26px}.timeline-row strong{font-size:18px;font-weight:500}.timeline-row p{color:var(--muted);margin-top:7px;font-size:14px}.help-note{background:var(--green);margin-top:30px;padding:28px 30px}.help-note h2{font-family:var(--display);margin-bottom:10px;font-size:29px}.help-note p+p{margin-top:10px}.blessing-paper,.upload-paper{background:var(--paper);padding:30px}.blessing-paper label,.upload-paper>label:not(.file-picker){margin-top:23px;margin-bottom:9px;font-size:15px;font-weight:500}.blessing-paper label:first-child{margin-top:0}.blessing-paper label>span,.upload-paper label>span{font-size:13px;font-weight:400}.blessing-paper textarea{background:#fff7f5;line-height:1.85}.text-count{text-align:right;color:var(--muted);margin-top:5px;font-size:13px}.suggestions{flex-direction:column;align-items:flex-start;gap:7px;margin:14px 0 26px;display:flex}.suggestions button{text-align:left;background:#eee9dc;padding:9px 12px;font-size:13px;line-height:1.6}.blessing-paper .small-note{margin-top:14px}.blessing-receipt{background:var(--pink);text-align:center;padding:40px 30px}.receipt-flower{color:var(--accent);font-size:66px}.blessing-receipt h2{font-family:var(--display);margin:15px 0;font-size:36px}.blessing-receipt blockquote{margin:24px 0;font-size:23px;line-height:1.7}.blessing-receipt p{color:var(--muted);margin-bottom:24px;font-size:14px}.file-picker{background:var(--pink);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 15px;display:flex;position:relative}.file-picker>span{color:var(--accent);font-size:42px;line-height:1}.file-picker>strong{font-size:20px;font-weight:500}.file-picker small{color:var(--muted);font-size:13px;line-height:1.6}.file-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.visibility-options{margin:27px 0 0}.visibility-options>label{background:#f2eee2;align-items:flex-start;gap:12px;margin:8px 0;padding:17px 12px;display:flex}.visibility-options>label.chosen{background:var(--green)}.visibility-options strong{font-size:16px;font-weight:500}.visibility-options small{margin-top:6px;font-size:13px;line-height:1.6;display:block}.upload-paper>.button{margin-top:24px}.album-heading{justify-content:space-between;align-items:center;gap:14px;margin:36px 0 20px;display:flex}.album-heading h2{font-family:var(--display);font-size:28px}.album-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.album-photo{text-align:left;background:#fffaf0;align-self:start;padding:0}.album-photo img{aspect-ratio:3/4;object-fit:cover;width:100%}.album-photo span{padding:10px;font-size:13px;display:block}.album-empty{padding:42px 20px}.album-empty>span{color:var(--accent);margin-bottom:16px;font-size:54px;display:block}.modal-backdrop{z-index:100;background:#192d27b3;justify-content:center;align-items:flex-start;padding:28px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{background:var(--paper);outline:none;width:min(100%,560px);padding:22px;box-shadow:0 20px 90px #13281f33}.modal-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.modal-heading h2{font-family:var(--display);font-size:28px}.close-button{background:var(--pink);flex-shrink:0;width:40px;height:40px;font-size:30px}.card-download-image{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;width:100%;height:auto}.save-instructions{margin:18px 0;font-size:14px}.modal .small-note{margin-top:12px}.album-full-image{object-fit:contain;width:100%;max-height:75vh}.album-full-image+p{margin:16px 0}.album-full-image~.button{margin-top:20px}.admin-login{max-width:560px;margin:auto;padding:60px 24px}.admin-login form{background:var(--paper);margin-top:40px;padding:32px}.admin-login h1{margin-bottom:14px;font-size:28px}.admin-login form>p{color:var(--muted);margin-bottom:24px}.admin-login label{margin-bottom:10px}.admin-login .button{margin-top:22px}.admin-shell{background:#f1eee5;grid-template-columns:225px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{flex-direction:column;gap:14px;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0}.admin-sidebar .brand{font-size:23px}.admin-sidebar .brand span{color:var(--muted);margin-top:8px;font-family:Microsoft YaHei,sans-serif;font-size:13px;display:block}.admin-sidebar nav{flex-direction:column;gap:5px;margin:30px 0 20px;display:flex}.admin-sidebar nav button{text-align:left;justify-content:space-between;padding:14px 12px;font-size:15px;display:flex}.admin-sidebar nav button.active{background:#e7d9de}.admin-sidebar nav button>span{background:var(--accent);color:#fff;text-align:center;border-radius:20px;min-width:22px;height:22px;padding:2px 6px;font-size:13px}.admin-sidebar>.small-note{margin-top:auto}.admin-sidebar .button{padding:12px 10px;font-size:14px}.admin-sidebar .text-button{align-self:flex-start;font-size:13px}.admin-main{background:#fffdf7;border:1px solid #e4e2d5;border-radius:12px;min-width:0;margin:8px 8px 8px 0;padding:30px}.admin-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.admin-heading h1{margin-bottom:10px;font-size:27px}.admin-heading p{color:var(--muted);font-size:14px}.admin-heading>.button{min-height:40px;padding:9px 15px;font-size:14px}.admin-notice{background:var(--green);margin-bottom:18px;padding:10px 14px;font-size:14px}.filter-tabs{border-bottom:1px solid #deded0;gap:22px;margin-bottom:20px;display:flex;overflow-x:auto}.filter-tabs button{white-space:nowrap;padding:12px 1px;font-size:14px}.filter-tabs button.selected{border-bottom:3px solid var(--accent)}.blessing-row{border-bottom:1px solid #deded0;justify-content:space-between;align-items:center;gap:22px;padding:24px 0;display:flex}.blessing-body{overflow-wrap:anywhere;margin-bottom:9px;font-size:19px}.blessing-row>div:first-child>span{color:var(--muted);font-size:13px}.row-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:22px;display:grid}.admin-photo{background:#f2efe6;overflow:hidden}.admin-photo>a>img{object-fit:cover;width:100%;height:240px}.admin-photo>div{padding:18px}.admin-photo strong{font-size:16px;font-weight:500}.admin-photo p{color:var(--muted);overflow-wrap:anywhere;margin:7px 0;font-size:13px}.photo-status{color:var(--accent);margin-bottom:14px;font-size:13px;display:block}.admin-photo .text-button{font-size:13px}.screen-controls>section{border-bottom:1px solid #deded0;padding:24px 0}.screen-controls h2{margin-bottom:18px;font-size:20px}.screen-controls p{color:var(--muted);margin-top:15px;font-size:14px}.control-options{flex-wrap:wrap;gap:12px;display:flex}.control-choice{background:#ede9dd;padding:17px 20px;font-size:15px}.control-choice.selected{background:var(--pink);box-shadow:inset 0 -3px var(--accent)}.toggle-row{justify-content:space-between;align-items:center;gap:30px;margin:22px 0;display:flex}.toggle-row strong{font-weight:500}.toggle-row small{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.7;display:block}.checkin-records article{border-bottom:1px solid #deded0;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.checkin-records strong{font-size:18px;font-weight:500}.checkin-records p{color:var(--muted);margin:7px 0;font-size:14px}.checkin-records small{color:var(--muted);font-size:13px}.screen-display{color:#263d32;background:#e5dfce;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.screen-photo-stage{background:#efeadd;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.screen-photo-stage>img{object-fit:contain;width:100%;height:100%}.screen-title{background:#fff9ede8;align-items:center;gap:1.3vw;padding:1.2vw 1.8vw;display:flex;position:absolute;top:3.5vh;left:3.2vw}.screen-title h1{font-family:var(--display);font-size:3.3vw;line-height:1.2}.screen-title p{margin-top:.6vw;font-size:1vw}.screen-flower{color:var(--accent);font-size:4.3vw;line-height:1}.screen-qr{background:#fff9edf2;align-items:center;gap:1.2vw;padding:1vw 1.4vw;display:flex;position:absolute;bottom:3.5vh;right:2.5vw}.screen-qr>img{width:8.2vw;height:8.2vw}.screen-qr strong{font-family:var(--display);font-size:2vw;font-weight:400;line-height:1.4;display:block}.screen-qr span{margin-top:.5vw;font-size:.85vw;display:block}.blessing-sky{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.floating-blessing{white-space:normal;color:#263d32;will-change:transform;background:#f6dbe1f2;align-items:center;gap:1vw;min-width:20vw;max-width:70vw;padding:1.1vw 1.7vw;font-size:1.8vw;line-height:1.4;display:flex;position:absolute;left:0}.floating-blessing>span{color:var(--accent);flex-shrink:0;font-size:2.8vw}.floating-blessing small{text-align:right;margin-top:.45vw;font-size:1vw;display:block}.floating-blessing.row-0{background:#f6dbe1ed;top:26%}.floating-blessing.row-1{background:#e6eccfee;top:48%}.floating-blessing.row-2{background:#f5e3b6ee;top:69%}.screen-offline{background:#fffaf0cf;padding:5px 10px;font-size:13px;position:absolute;bottom:12px;left:20px}.screen-tools{opacity:.85;background:#fffaf0e8;gap:6px;padding:6px;display:flex;position:absolute;top:12px;right:12px}.screen-tools button,.screen-tools a{padding:9px 12px;font-size:13px}.screen-pause{background:#f8f4e9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.screen-pause>span{color:var(--accent);font-size:9vw}.screen-pause>p{font-family:var(--display);margin-top:2vw;font-size:3.8vw}.screen-display.paused .screen-title{z-index:2}.screen-display.paused .screen-photo-stage{visibility:hidden}@keyframes mapPulse{0%{opacity:.8;stroke-width:2px}to{opacity:.1;stroke-width:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.floating-blessing{max-width:70vw;left:8vw}.hero-polaroid{transform:rotate(2deg)}}@media (max-width:1050px){.guest-header nav{gap:20px}.hero{gap:24px;padding:35px 35px 50px}.hero h1{font-size:91px}.hand-star{margin-left:14px;font-size:80px}.hero-visual{padding-right:0}.home-discover{gap:30px;padding:70px 35px}.postcard{min-height:230px;padding:26px 16px}.postcard b{font-size:24px}.photo-story{gap:35px}.photo-story h2{font-size:32px}.guest-header{gap:20px}.brand{font-size:22px}.mini-card-button{font-size:13px}}@media (max-width:760px){.guest-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.guest-header{gap:16px;padding:18px 22px}.guest-header>.brand{font-size:23px}.guest-header nav{display:none}.mini-card-button{font-size:13px}.mobile-nav{z-index:30;padding:8px 5px calc(8px + env(safe-area-inset-bottom));background:#fffaf0f5;border-top:1px solid #dcdccc;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-height:47px;color:var(--muted);flex-direction:column;align-items:center;gap:5px;padding:3px 0;font-size:13px;display:flex}.mobile-nav button>span{font-size:25px;line-height:1}.mobile-nav button.active{color:var(--accent);font-weight:600}.hero{flex-direction:column;align-items:stretch;gap:35px;padding:20px 25px 47px;display:flex}.hero-date{letter-spacing:1.5px;font-size:13px}.hero h1{letter-spacing:-2px;margin:18px 0;font-size:70px;line-height:1.06}.hand-star{vertical-align:baseline;margin-left:22px;font-size:66px}.couple-line{letter-spacing:2px;font-size:18px}.hero-note{margin-top:18px;font-size:15px}.hero-note br{display:none}.hero-button{width:100%;min-height:54px;margin-top:22px}.hero-secondary{text-align:center;margin-top:3px;font-size:13px}.hero-visual{align-self:center;width:100%;max-width:440px;padding:7px 22px 23px}.hero-polaroid{padding:11px 11px 8px}.photo-crop{aspect-ratio:4/4.6}.hero-polaroid figcaption{padding:17px 0 10px;font-size:22px}.hero-sticker{width:100px;height:100px;font-size:19px;bottom:3px;left:0}.hero-loop{font-size:17px;bottom:-6px;right:3px}.today-strip{padding:23px 25px;display:block}.today-strip p{font-size:23px}.today-strip button{margin-top:5px;font-size:13px}.home-discover{padding:55px 25px 65px;display:block}.section-intro h2{font-size:36px}.section-intro p{font-size:15px}.discover-postcards{gap:16px;margin-top:27px}.postcard{min-height:210px;padding:25px 16px}.postcard b{font-size:24px}.postcard>span:last-child{font-size:13px}.bead-doodle{letter-spacing:-5px;font-size:30px}.photo-story{flex-direction:column;align-items:stretch;gap:35px;padding:45px 25px;display:flex}.photo-story-pair{gap:12px}.photo-story-pair img{border-width:7px;width:calc(50% - 6px)}.photo-story-pair img:last-child{margin-top:26px}.photo-story h2{font-size:34px}.photo-story p{font-size:15px}.photo-story .button{width:100%}.guest-footer{padding:55px 24px 35px}.guest-footer p{font-size:39px}.guest-footer span{font-size:13px}.inner-page{padding:22px 22px 50px}.page-heading{margin:8px 0 27px}.page-heading h1{margin:13px 0 17px;font-size:40px;line-height:1.25}.page-heading>p:last-child{font-size:15px}.handwritten{font-size:19px}.lookup-form{padding:20px 16px}.search-row{display:block}.search-row .button{width:100%;margin-top:12px}.segmented{margin-bottom:22px}.segmented button{padding:12px 2px;font-size:13px}.candidate{padding:22px 18px}.candidate strong{font-size:17px}.candidate small{font-size:14px}.ticket-result{padding:25px 20px}.ticket-result h2{font-size:32px;line-height:1.5}.member-option{padding:14px 0}.companion-counter{gap:14px}.companion-counter p{font-size:13px}.companion-counter select{width:80px;padding:10px}.seating-map{padding:16px}.seating-map .small-note{font-size:13px}.arrival h1{font-size:39px}.arrival-stamp{width:100px;height:100px;font-size:50px}.seat-result-label{font-size:22px}.area-grid{grid-template-columns:1fr;gap:16px}.area-card{padding:27px 25px}.area-card h2{font-size:34px}.area-card>p:not(.area-kind){min-height:0}.area-symbol{top:29px;right:26px}.area-time{font-size:14px}.timeline-paper{margin-top:24px;padding:26px 20px}.timeline-paper>h2{font-size:29px}.timeline-row{grid-template-columns:65px 1fr;gap:16px;padding:20px 0}.timeline-row time{font-size:23px}.timeline-row strong{font-size:16px}.timeline-row p{font-size:13px}.help-note{padding:25px 22px}.help-note p{font-size:14px}.blessing-paper,.upload-paper{padding:24px 18px}.blessing-paper label,.upload-paper>label:not(.file-picker){font-size:14px}.blessing-receipt{padding:32px 22px}.blessing-receipt p br{display:none}.blessing-receipt blockquote{font-size:21px}.file-picker{padding:27px 13px}.file-picker>strong{font-size:18px}.file-picker small{font-size:13px}.visibility-options>label{padding:16px 10px}.visibility-options small{font-size:13px}.album-heading{align-items:baseline}.album-heading h2{font-size:26px}.album-grid{grid-template-columns:repeat(2,1fr);gap:12px}.album-heading .text-button{white-space:nowrap;font-size:13px}.album-empty h2{font-size:21px}.modal-backdrop{padding:14px 10px}.modal{padding:15px}.modal-heading h2{font-size:25px}.close-button{width:36px;height:36px}.admin-shell{display:block}.admin-sidebar{height:auto;padding:20px 18px;display:block;position:relative}.admin-sidebar .brand{display:block}.admin-sidebar nav{flex-direction:row;gap:6px;margin:20px 0 12px;overflow-x:auto}.admin-sidebar nav button{white-space:nowrap;gap:8px;padding:12px 10px;font-size:13px}.admin-sidebar>.button{min-height:38px;padding:8px 13px;font-size:13px}.admin-sidebar>.text-button{margin:0 12px;font-size:13px}.admin-sidebar>.small-note{display:none}.admin-main{min-height:70vh;margin:0 8px 8px;padding:23px 17px}.admin-heading{align-items:flex-start;margin-bottom:20px}.admin-heading h1{font-size:23px}.admin-heading p{font-size:13px}.admin-heading>.button{padding:9px 12px;font-size:13px}.blessing-row{padding:22px 0;display:block}.blessing-body{font-size:18px}.blessing-row>.row-actions{margin-top:16px}.filter-tabs{gap:20px}.filter-tabs button{font-size:13px}.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-photo>a>img{height:170px}.admin-photo>div{padding:13px}.admin-photo .button.small{padding:8px 10px;font-size:13px}.admin-photo strong{font-size:14px}.screen-controls h2{font-size:19px}.control-options{gap:8px}.control-choice{padding:13px 15px;font-size:13px}.screen-controls p{font-size:13px}.toggle-row{gap:16px}.toggle-row strong{font-size:15px}.toggle-row small{font-size:13px}.checkin-records strong{font-size:16px}.checkin-records p{font-size:13px}.checkin-records>.text-button{flex-shrink:0;font-size:13px}.screen-title h1{font-size:4vw}.screen-title p{font-size:1.8vw}.screen-qr>img{width:12vw;height:12vw}.screen-qr strong{font-size:2.4vw}.screen-qr span{font-size:1.5vw}}@font-face{font-family:WeddingLetter;src:url(/fonts/WeddingLetter.woff2)format("woff2");font-display:swap;font-weight:400}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:root{--muted:#4b584d}.hero-visual{perspective:1400px}.hero-polaroid{text-align:center;width:100%;transform-style:preserve-3d;cursor:pointer}.photo-crop{display:block}.polaroid-caption{font-family:var(--display);padding:21px 0 10px;font-size:24px;display:block}.polaroid-hint{color:#586049;letter-spacing:1px;padding:0 0 7px;font-size:13px;display:block}.hero-polaroid:hover .polaroid-hint{color:var(--accent)}.hero-sticker,.hero-loop{pointer-events:none}.companion-picker{background:#ebeeda;margin:24px 0;padding:22px 20px}.companion-picker h3{font-size:18px;font-weight:600;line-height:1.6}.companion-picker>div>p{color:var(--muted);margin-top:7px;font-size:14px}.companion-stepper{justify-content:center;align-items:center;gap:12px;margin:20px 0 14px;display:flex}.companion-stepper>button{background:#fffdf5;border:1px solid #b4bd9e;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:25px;display:grid}.companion-stepper label{width:105px}.companion-stepper select{text-align:center;padding:10px!important}.companion-stepper>button:active{transform:scale(.92)}.companion-stepper>button:disabled{opacity:.4;cursor:default}.extra-companions-note{color:#5d422a;background:#f5dfb0;padding:14px 16px;font-size:14px;line-height:1.75}.match-hint{color:#8b3c50;margin-top:9px;font-size:13px;font-style:normal;line-height:1.65;display:block}.candidate>span:first-child{min-width:0}.candidate strong{overflow-wrap:anywhere}.candidate small{line-height:1.6}.guide-v2{max-width:1180px;padding-top:32px}.guide-heading{max-width:650px;margin-bottom:45px}.guide-heading h1{font-size:60px}.garden-map-section{margin-bottom:65px}.garden-map-intro{margin-bottom:25px}.garden-map-intro h2{font-family:var(--display);margin:12px 0;font-size:38px;line-height:1.35}.garden-map-intro>p:last-child{color:var(--muted);font-size:15px}.garden-map-layout{grid-template-columns:1.13fr 1fr;align-items:center;gap:35px;display:grid}.garden-map-art{isolation:isolate;background:#e3e6c9;border:8px solid #fffaf0;position:relative;overflow:hidden;transform:rotate(-1deg);box-shadow:0 14px 35px #32482815}.garden-map-art>img{width:100%;height:auto;display:block}.map-pin{width:44px;height:44px;color:var(--accent);font-family:var(--display);border:2px solid var(--accent);z-index:1;background:#fffaf0;border-radius:50%;place-items:center;margin:-22px 0 0 -22px;font-size:24px;display:grid;position:absolute;box-shadow:0 3px #86445155}.map-pin.selected{background:var(--accent);color:#fffaf0;outline:2px solid var(--accent);border-color:#fffaf0}.map-pin.selected i{border:1px solid var(--accent);pointer-events:none;border-radius:50%;animation:2.3s ease-out infinite pinRing;position:absolute;top:-7px;bottom:-7px;left:-7px;right:-7px}.map-pin:active{scale:.92}@keyframes pinRing{0%{opacity:.8;transform:scale(.85)}to{opacity:0;transform:scale(1.4)}}.map-area-buttons{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.map-area-buttons button{text-align:left;background:#eee9d9;border:1px solid #0000;align-items:center;gap:9px;min-height:48px;padding:9px 10px;font-size:14px;line-height:1.5;display:flex}.map-area-buttons button>span{font-family:var(--display);color:var(--accent);flex-shrink:0;font-size:21px}.map-area-buttons button.selected{background:#f2d2d9;border-color:#c58495}.map-selection{min-height:250px;padding:26px 25px}.map-selection>p:first-child{letter-spacing:1px;font-size:13px}.map-selection h3{font-family:var(--display);margin:14px 0;font-size:32px;line-height:1.35}.map-selection strong{color:#71364a;margin-bottom:14px;font-size:14px;font-weight:500;display:block}.map-selection>p:not(:first-child){font-size:15px;line-height:1.8}.map-selection .text-button{margin-top:14px}.map-disclaimer{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.8}.guide-areas{gap:34px;display:grid}.guide-area-card{grid-template-columns:1fr 1fr;scroll-margin-top:25px;display:grid;overflow:hidden}.guide-area-visual{background:#eee9df;align-self:stretch;min-width:0;position:relative;overflow:hidden}.guide-area-visual>img{object-fit:cover;width:100%;height:100%;min-height:300px}.area-number{font-family:var(--display);width:49px;height:49px;color:var(--accent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffaf0dd;border-radius:50%;place-items:center;font-size:25px;display:grid;position:absolute;bottom:18px;left:20px}.guide-area-copy{align-self:center;min-width:0;padding:38px 32px}.guide-area-copy .area-kind{color:#6c494d;letter-spacing:2px;margin:0 0 15px;font-size:13px}.guide-area-copy h2{font-family:var(--display);overflow-wrap:anywhere;margin-bottom:20px;font-size:36px;line-height:1.35}.guide-area-copy>p:not(.area-kind){font-size:16px;line-height:1.8}.guide-area-copy .area-time{margin:17px 0 10px;font-size:14px}.guide-area-copy .text-button{min-height:44px;padding-left:0;display:block}.guide-area-copy .area-details{padding-top:15px;font-size:14px;line-height:1.85}.phone-steps{margin:15px 0 0;padding-left:20px;font-size:14px;line-height:2}.beads-feature{background:#f2d2d9}.bead-play{text-align:center;background:#fff8eb;grid-column:1/-1;min-width:0;margin:0 25px 25px;padding:26px}.bead-play-heading>span{font-family:var(--display);color:var(--accent);font-size:27px;line-height:1.5;display:block}.bead-play-heading p{color:var(--muted);margin-top:6px;font-size:14px}.bead-stage{width:260px;max-width:100%;margin:10px auto 0;position:relative}.bead-stage svg{width:100%;height:auto;display:block}.bead-center{pointer-events:none;flex-direction:column;gap:7px;display:flex;position:absolute;top:31%;left:26%;right:26%}.bead-center b{font-family:var(--display);color:var(--accent);font-size:33px;font-weight:400;line-height:1}.bead-center b>span{color:#7b7964;font-size:20px}.bead-center>span{white-space:nowrap;font-size:13px}.bead-piece{transform-box:fill-box;transform-origin:50%}.bead-palette{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.bead-palette button{flex-direction:column;align-items:center;gap:9px;min-width:48px;min-height:75px;padding:5px 1px;font-size:13px;display:flex}.bead-palette i{border:1px solid #938b6c;border-radius:50%;width:33px;height:33px;transition:transform .2s;display:block;box-shadow:inset 3px 3px #ffffff75,inset -2px -2px #81744a22}.bead-palette button:active i{transform:scale(.8)}.bead-palette button:disabled{cursor:default;opacity:.6}.bead-play-footer{margin-top:12px}.bead-play-footer p{min-height:25px;font-size:13px;line-height:1.8}.bead-play-footer .text-button{min-height:44px;font-size:13px}.bead-finish{color:var(--accent)}.guide-v2 .timeline-paper{margin-top:44px}.guide-v2 .timeline-paper>.handwritten{margin-bottom:15px;font-size:17px}.celebration-replay{min-height:44px;margin:12px auto 0;font-size:14px;display:block}@media (max-width:760px){.polaroid-caption{padding:17px 0 8px;font-size:22px}.polaroid-hint{letter-spacing:.2px;font-size:13px}.hero-loop{bottom:-14px}.guide-v2{padding:24px 21px 55px}.guide-heading{margin-bottom:32px}.guide-heading h1{font-size:43px;line-height:1.25}.garden-map-intro h2{font-size:32px}.garden-map-intro>.handwritten{font-size:17px}.garden-map-layout{grid-template-columns:1fr;gap:22px}.garden-map-art{border-width:6px;justify-self:center;width:100%;max-width:470px}.map-area-buttons{gap:8px;margin-bottom:16px}.map-area-buttons button{gap:8px;padding:10px 9px;font-size:13px}.map-selection{min-height:225px;padding:23px 21px}.map-selection h3{font-size:29px}.map-selection strong{font-size:13px}.map-selection>p:not(:first-child){font-size:14px}.garden-map-section{margin-bottom:34px}.map-disclaimer{font-size:13px}.guide-areas{gap:25px}.guide-area-card{grid-template-columns:1fr}.guide-area-visual{aspect-ratio:1.6}.guide-area-visual>img{object-fit:cover;height:100%;min-height:0}.guide-area-copy{width:100%;padding:27px 23px}.guide-area-copy h2{margin-bottom:17px;font-size:32px}.guide-area-copy>p:not(.area-kind){font-size:15px}.guide-area-copy .area-kind{margin-bottom:12px;font-size:13px}.guide-area-copy .area-time{font-size:13px}.guide-area-copy .area-details{font-size:14px}.bead-play{margin:0 13px 16px;padding:24px 13px}.bead-play-heading>span{font-size:25px}.bead-palette{gap:6px}.bead-palette button{min-width:43px;min-height:74px;font-size:13px}.bead-palette i{width:31px;height:31px}.bead-play-footer p{min-height:45px;font-size:13px}.companion-picker{padding:22px 17px}.companion-picker>div>p{font-size:13px}.companion-picker h3{font-size:17px}.extra-companions-note{font-size:13px}.guide-v2 .timeline-paper{padding:26px 21px}.guide-v2 .timeline-row{grid-template-columns:69px 1fr;gap:15px}.guide-v2 .help-note h2{font-size:24px}}@media (prefers-reduced-motion:reduce){.map-pin.selected i{animation:none}.bead-palette i,.companion-stepper>button{transition:none}.hero-polaroid{scroll-behavior:auto}}.celebration-overlay{z-index:2000;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.celebration-overlay>span{opacity:0;will-change:transform,opacity;width:25px;height:25px;position:absolute;top:65%;left:50%;transform:translate(-50%,-50%)}.celebration-overlay svg{width:100%;height:100%;display:block}.arrival .confetti-box{display:none}@media (prefers-reduced-motion:reduce){.celebration-overlay{display:none}}@media (max-width:360px){.bead-play{margin:0 9px 12px;padding:22px 10px}.bead-palette{gap:2px}.bead-palette button{min-width:44px}.guide-heading h1{font-size:39px}.map-selection h3{font-size:27px}}:root{font-family:WeddingLetter,PingFang SC,Microsoft YaHei,sans-serif}.couple-line,.hero-note,.guest-footer span,.page-heading>p,.ticket-welcome{font-family:WeddingLetter,KaiTi,serif}.couple-line{font-size:27px}.hero-note{font-size:20px}.page-heading>p{font-size:18px}.garden-map-art{background:#f5efdc;border:6px solid #fffaf0;overflow:visible;transform:none}.rooftop-scene{width:100%;height:auto;display:block;overflow:visible}.roof-label{fill:#354a36;font:22px WeddingLetter,KaiTi,serif}.roof-small{fill:#4a5442;font:17px WeddingLetter,KaiTi,serif}.roof-top-note{fill:#875162;letter-spacing:2px;font:18px WeddingLetter,KaiTi,serif}.roof-area{transition:opacity .25s,filter .25s}.roof-area.active{filter:drop-shadow(0 0 5px #ac536973)}.ceremony-flow{animation:3s linear infinite ceremonyFlow}@keyframes ceremonyFlow{to{stroke-dashoffset:-48px}}.garden-map-art .map-pin{width:44px;height:44px;font-size:23px;box-shadow:0 2px #86445155}.garden-map-intro .handwritten{font-family:WeddingLetter,KaiTi,serif;font-size:22px}.photo-stack{perspective:1400px;padding:15px 6px 0;position:relative}.photo-stack .hero-polaroid{box-shadow:none;background:0 0;border:0;padding:0;display:block;position:relative;transform:rotate(0)}.photo-stack-space{aspect-ratio:4/5.8;pointer-events:none;width:100%;display:block}.photo-stack-card{transform-origin:50% 70%;transform-style:preserve-3d;will-change:transform;pointer-events:none;background:#fffaf0;padding:13px 13px 10px;position:absolute;top:0;left:0;right:0;box-shadow:2px 9px 20px #40382925}.photo-stack-card .photo-crop{aspect-ratio:4/4.35;overflow:hidden}.photo-stack-card .photo-crop img{object-fit:cover;width:100%;height:100%}.photo-depth-0{transform:rotate(4deg)}.photo-depth-1{transform:translateY(-8px)rotate(-6deg)scale(.97)}.photo-depth-2{transform:translateY(-13px)rotate(9deg)scale(.94)}.photo-stack-card .polaroid-caption{padding:16px 0 9px;font-family:WeddingLetter,KaiTi,serif;font-size:24px;line-height:1.5}.photo-stack .polaroid-hint{pointer-events:none;padding:8px 0;font-family:WeddingLetter,KaiTi,serif;font-size:15px;position:absolute;bottom:0;left:0;right:0}.arrival-ticket-machine{text-align:left;perspective:1100px;width:100%;max-width:480px;margin:30px auto 25px}.printer-caption{color:#fff8e5;letter-spacing:1px;background:#647b60;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;padding:13px 22px;font-size:15px;display:flex}.printer-caption i{background:#e7db7d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e7db7d22}.printer-slot{z-index:2;background:#344d3d;border:6px solid #647b60;border-top:0;border-radius:0 0 6px 6px;height:17px;position:relative}.ticket-feed{margin-top:-5px;padding:0 15px 20px;overflow:hidden}.printed-ticket{transform-origin:50% 0;clip-path:polygon(0 0,100% 0,100% 98.5%,98% 100%,96% 98.5%,94% 100%,92% 98.5%,90% 100%,88% 98.5%,86% 100%,84% 98.5%,82% 100%,80% 98.5%,78% 100%,76% 98.5%,74% 100%,72% 98.5%,70% 100%,68% 98.5%,66% 100%,64% 98.5%,62% 100%,60% 98.5%,58% 100%,56% 98.5%,54% 100%,52% 98.5%,50% 100%,48% 98.5%,46% 100%,44% 98.5%,42% 100%,40% 98.5%,38% 100%,36% 98.5%,34% 100%,32% 98.5%,30% 100%,28% 98.5%,26% 100%,24% 98.5%,22% 100%,20% 98.5%,18% 100%,16% 98.5%,14% 100%,12% 98.5%,10% 100%,8% 98.5%,6% 100%,4% 98.5%,2% 100%,0 98.5%);background:#fff9e9;padding:23px 22px 0;position:relative;box-shadow:0 8px 18px #3d3a2820}.ticket-edition{letter-spacing:.8px;border-bottom:1px solid #ddd3b7;justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;font:10px Georgia,serif;display:flex}.ticket-edition b{white-space:nowrap;font-weight:400}.ticket-portrait{justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex;position:relative}.ticket-portrait>img{aspect-ratio:1/1.12;object-fit:cover;border:6px solid #eee7d4;width:48%;transform:rotate(-4deg)}.ticket-portrait>span{font:44px/1.16 var(--display);color:#a34460;transform:rotate(3deg)}.ticket-arrival-seal{width:63px;height:63px;font:32px var(--display);color:#b34562;background:#fff9e9dc;border:3px double #b34562;border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;bottom:10px;left:31%;transform:rotate(-13deg)}.ticket-welcome{overflow-wrap:anywhere;padding:8px 0 21px}.ticket-welcome p{font-size:18px}.ticket-welcome strong{color:#ab415e;margin:8px 0;font-size:25px;font-weight:400;line-height:1.5;display:block}.ticket-welcome>span{color:#5a614c;font-size:13px}.ticket-surprise{perspective:700px;border-top:1px dashed #b8ac8d;position:relative}.ticket-secret{text-align:center;opacity:0;transform-origin:50% 0;min-height:235px;padding:32px 10px 20px;position:relative;overflow:hidden}.ticket-secret>p,.ticket-secret>strong{z-index:1;position:relative}.ticket-secret>p:first-of-type{font-size:15px}.ticket-secret>strong{font-family:var(--display);color:#9e405b;margin:10px 0;font-size:32px;display:block}.ticket-secret>p:last-child{font-size:16px}.ticket-bloom{opacity:.28;pointer-events:none;width:180px;height:165px;position:absolute;top:1px;bottom:auto;left:auto;right:0;transform:rotate(15deg)}.ticket-bloom-petal{transform-box:fill-box;transform-origin:50%}.ticket-tear-cover{text-align:center;pointer-events:none;background:#e5e8cb;border-bottom:2px dashed #a1ad80;flex-direction:column;justify-content:center;align-items:center;gap:17px;display:flex;position:absolute;top:0;bottom:45px;left:0;right:0}.ticket-tear-cover span{font-family:WeddingLetter,KaiTi,serif;font-size:19px}.ticket-tear-cover i{color:#b56179;font-size:69px;font-style:normal;line-height:1}.ticket-tear-button{color:#624251;background:#e5e8cb;border-bottom:1px solid #bdc3a0;width:100%;min-height:48px;font-size:16px;display:block;position:relative;overflow:hidden}.ticket-tear-strip{transform-origin:100%;padding:10px 0;display:block}.ticket-surprise[data-open=true] .ticket-secret{opacity:1}.ticket-surprise[data-open=true] .ticket-tear-button{background:#f5e8d5}.printed-ticket>footer{color:#667058;justify-content:space-between;gap:12px;padding:20px 0 29px;font-size:12px;display:flex}.arrival .arrival-stamp{width:70px;height:70px;margin-bottom:17px;font-size:34px}.arrival h1{font-size:42px}.arrival-ticket-machine+.button{margin-top:0}.card-download-image{box-shadow:0 12px 28px #4b3e3b26}@media (max-width:760px){.couple-line{font-size:22px}.hero-note{font-size:17px}.page-heading>p{font-size:16px}.photo-stack-card{padding:10px 10px 7px}.photo-stack-card .polaroid-caption{font-size:20px}.photo-stack .polaroid-hint{font-size:13px}.garden-map-art{border-width:3px}.arrival-ticket-machine{margin-top:24px}.printed-ticket{padding:20px 18px 0}.ticket-feed{padding:0 9px 15px}.ticket-portrait>span{font-size:40px}.arrival h1{font-size:36px}.ticket-welcome strong{font-size:23px}.printed-ticket>footer{gap:6px;font-size:12px}.ticket-edition{letter-spacing:.4px;font-size:9px}.ticket-tear-cover span{font-size:18px}}@media (max-width:360px){.ticket-portrait>span{font-size:34px}.ticket-edition{font-size:8px}.printed-ticket{padding:18px 13px 0}.ticket-welcome>span{font-size:12px}.ticket-secret>strong{font-size:29px}.ticket-tear-cover span{font-size:16px}.printed-ticket>footer{font-size:11px}.photo-stack-card .polaroid-caption{font-size:18px}}@media (prefers-reduced-motion:reduce){.ceremony-flow{animation:none}.roof-area{transition:none}.ticket-surprise[data-open=true] .ticket-tear-cover{opacity:0}.photo-stack-card{will-change:auto}}.ticket-surprise[data-open=true] .ticket-tear-cover{opacity:0}.photo-stack-space{aspect-ratio:auto;padding-top:calc(108.75% + 158px)}.photo-stack-card .polaroid-caption{justify-content:center;align-items:center;min-height:100px;display:flex}@media (max-width:760px){.photo-stack-card .polaroid-caption{min-height:86px}}.hero-visual .hero-sticker{width:96px;height:96px;font-size:18px;top:-8px;bottom:auto;left:auto;right:-4px}@media (max-width:360px){.hero-visual .hero-sticker{width:84px;height:84px;font-size:16px}}.hand-star{width:1em;height:1em;line-height:1}.hand-star svg{width:100%;height:100%;display:block}.album-frame{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.album-image{-webkit-user-drag:none}.wedding-album{max-width:500px;margin:auto;padding-top:10px;position:relative}.album-topline{color:#5a6e58;justify-content:space-between;gap:12px;padding:10px 8px;font-size:14px;display:flex}.wedding-album .hero-polaroid{isolation:isolate;background:#fffaef;border:1px solid #ded7c2;padding:12px;display:block;overflow:hidden;transform:none;box-shadow:0 14px 30px #36412b20}.album-window{aspect-ratio:4/4.5;isolation:isolate;background:#e2dfd3;display:block;position:relative;overflow:hidden}.album-window .album-image{object-fit:cover;width:100%;height:100%;display:block;transform:none}.album-shutter{transform-origin:top;color:#f7e8c9;z-index:2;pointer-events:none;background:#798b6c;place-items:center;font:70px Georgia;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleY(0)}.album-sheen{pointer-events:none;background:linear-gradient(110deg,#0000 20%,#fff9e955 48%,#0000 72%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}.wedding-album .polaroid-caption{justify-content:center;align-items:center;min-height:94px;padding:15px 9px;font-family:WeddingLetter,serif;font-size:23px;line-height:1.55;display:flex}.album-controls{color:#647357;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:14px;display:flex}.album-controls button{background:#fff9e9;border:1px solid #bec5ac;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:24px}.hero-visual .hero-sticker,.hero-visual .hero-loop{display:none}.walkin-form{text-align:left;background:#e7ecd4;margin:25px 0;padding:20px}.walkin-form summary{cursor:pointer;min-height:44px;font-size:17px;line-height:1.6}.walkin-form form{padding-top:15px}.walkin-form label{margin-bottom:8px}.walkin-form p{margin:14px 0;font-size:14px}.area-image-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.area-image-editor article{background:#fffaf0;padding:17px}.area-image-editor img{object-fit:cover;width:100%;height:190px}.area-image-editor h2{margin:15px 0;font-size:22px}.area-image-editor label{position:relative;overflow:hidden}.area-image-editor input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.area-image-editor .text-button{margin-left:15px}.seating-map-heading{text-align:center;margin-bottom:20px}.seating-map-heading strong{color:#fff8ed;background:#b54c68;border-radius:30px;margin-top:12px;padding:8px 21px;font-size:22px;font-weight:400;display:inline-block}.seating-map svg{filter:drop-shadow(0 6px 12px #53644312);width:100%;max-height:none}.map-table .map-chair{fill:#d2cfba;stroke:none}.map-table .map-tabletop{fill:#fffdf3;stroke:#b8bea6;stroke-width:1.5px}.map-table.active .map-tabletop{fill:#b54c68;stroke:#b54c68;stroke-width:2px}.map-table.active .map-chair{fill:#be8090}.map-table text{font-family:WeddingLetter,serif;font-size:19px}.map-table.active text{fill:#fff8ec;font-weight:400}.map-landmark{font-family:WeddingLetter,serif}@media (max-width:760px){.wedding-album .polaroid-caption{min-height:92px;font-size:20px}.album-controls,.album-topline{font-size:13px}.area-image-editor{grid-template-columns:1fr}.wedding-album .hero-polaroid{padding:10px}.seating-map{padding:14px 10px}}.tactile-notes{isolation:isolate;align-items:center;gap:24px;padding:16px 10px 22px}.note-wrap{width:calc(50% - 12px);min-width:0;position:relative;transform:rotate(-4deg)}.note-wrap.photo-note{margin-top:32px;transform:rotate(5deg)}.paper-note{--sun-x:28%;--sun-y:15%;isolation:isolate;text-align:left;touch-action:pan-y;background:#eecbd2;border-radius:1px;flex-direction:column;align-items:stretch;width:100%;padding:22px 18px 25px;display:flex;position:relative;box-shadow:0 2px 2px #55453515,0 13px 19px -9px #60483f40,inset 0 1px #fff9eecc}.photo-note .paper-note{background:#dfe5c7;box-shadow:0 2px 2px #55453515,0 16px 18px -10px #60483f45,inset 0 1px #fff9eecc}.paper-note:before{content:"";pointer-events:none;z-index:0;opacity:.45;background:repeating-linear-gradient(8deg,#fff8e918 0 1px,#0000 1px 4px);position:absolute;top:0;bottom:0;left:0;right:0}.note-tape{z-index:3;clip-path:polygon(3% 0,97% 3%,100% 90%,0 100%);background:#eee5c9bb;width:70px;height:25px;position:absolute;top:-12px;left:calc(50% - 35px);transform:rotate(-5deg);box-shadow:0 1px 2px #715c4612}.photo-note .note-tape{background:#f4edcfbd;transform:rotate(7deg)}.note-sunlight{pointer-events:none;background:radial-gradient(ellipse at var(--sun-x) var(--sun-y),#fff7dc90,transparent 75%),linear-gradient(118deg,transparent 40%,#786c4610 41%,transparent 49%,#786c460b 50%,transparent 63%);z-index:0;position:absolute;top:0;bottom:0;left:0;right:0}.note-light{pointer-events:none;opacity:.5;z-index:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.note-light i{background:linear-gradient(115deg,#0000 35%,#fff7e965 50%,#0000 64%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}.note-object{z-index:2;pointer-events:none;width:100%;height:177px;margin:0 0 13px;display:block;position:relative}.bracelet-object svg{width:100%;height:100%;overflow:visible}.photo-object{place-items:center;padding:4px 5px 15px;display:grid}.note-photo-print,.note-photo-back{background:#fffaf0;width:90%;max-width:170px;padding:8px 8px 23px;display:block;position:relative;transform:rotate(-6deg);box-shadow:0 3px 6px #625c3930}.note-photo-back{background:#eee6d2;height:140px;position:absolute;top:8px;bottom:auto;left:auto;right:4px;transform:rotate(6deg)}.note-photo-print img{object-fit:cover;width:100%;height:105px;display:block}.note-photo-print>span{text-align:center;color:#85715c;font-family:WeddingLetter,serif;font-size:12px;display:block;position:absolute;bottom:4px;left:0;right:0}.note-camera{filter:drop-shadow(0 3px 1px #4b5b3a24);width:48px;height:35px;position:absolute;bottom:1px;right:0;transform:rotate(9deg)}.note-copy{z-index:2;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:relative}.note-copy b{font-family:var(--display);color:#4a4d35;font-size:28px;font-weight:400;line-height:1.3}.note-copy>span{color:#645a4b;font-size:14px;line-height:1.7}.note-copy em{color:#7b4f5b;margin-top:6px;font-size:14px;font-style:normal}.note-fold{clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none;background:linear-gradient(135deg,#fff4e9 0 48%,#b7918150 50%,#e6c4c5 58%);width:22px;height:22px;position:absolute;bottom:0;right:0}.photo-note .note-fold{background:linear-gradient(135deg,#fff4e9 0 48%,#7d8c6350 50%,#cbd2b1 58%)}.integrated-walkin{text-align:left;background:#e5e9d5;margin:23px 0 0;padding:21px}.integrated-walkin label{margin-bottom:10px;display:block}.integrated-walkin .button{margin-top:17px}@media (max-width:760px){.tactile-notes{gap:16px;margin-top:30px;padding:14px 5px 20px}.note-wrap{width:calc(50% - 8px)}.note-wrap.photo-note{margin-top:25px}.paper-note{padding:21px 13px}.note-object{height:137px;margin-bottom:12px}.note-copy{gap:8px}.note-copy b{font-size:24px}.note-copy>span,.note-copy em{font-size:13px}.note-photo-print{width:100%;padding:6px 6px 22px}.note-photo-print img{height:80px}.note-photo-back{width:94%;height:108px}.note-photo-print>span{font-size:10px}.note-camera{width:38px;height:29px;bottom:0}.note-fold{width:17px;height:17px}.note-tape{width:54px;height:23px;left:calc(50% - 27px)}.integrated-walkin{padding:18px 14px}}@media (max-width:360px){.paper-note{padding:18px 10px 20px}.note-object{height:116px}.note-copy b{font-size:20px}.note-copy>span,.note-copy em{font-size:12px}.note-photo-print img{height:65px}.note-photo-back{height:92px}.note-photo-print>span{font-size:9px}}@media (prefers-reduced-motion:reduce){.paper-note,.note-object,.note-photo-print{transition:none}.note-light{display:none}}@media (min-width:761px) and (max-width:1050px){.home-discover{grid-template-columns:.7fr 1.3fr;gap:24px}.home-discover .section-intro h2{font-size:32px}.note-copy b{white-space:nowrap;font-size:22px}.paper-note{padding-inline-start:12px;padding-inline-end:12px}.note-photo-print>span{font-size:10px}.note-photo-back{height:125px}}.flower-symbol{vertical-align:-.14em;width:1em;height:1em;color:inherit;flex-shrink:0;display:inline-block}.mobile-nav .flower-symbol{margin:auto;display:block}.ticket-tear-cover i .flower-symbol{display:block}.today-strip p{align-items:center;gap:12px;display:flex}.today-strip .tiny-flower{flex:none;align-items:center;margin:0;line-height:1;display:flex}.today-strip .tiny-flower .flower-symbol{vertical-align:initial;display:block}.today-strip-label{min-width:0;line-height:1.45}.photo-upload-entry{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.photo-upload-entry p{max-width:650px;font-size:14px;line-height:1.7}
