.invitation-3d>section.day-page.day-interactive-page{background-image:linear-gradient(#fbf8efd9,#fbf8efd9),url(/illustrations/paper-texture.png);background-size:40rem;width:min(100%,46rem);min-height:100dvh;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2.5rem) 6rem;display:block}._chapter_1w7jm_9{width:100%}._heading_1w7jm_10{text-align:center}._index_1w7jm_11{font:.8rem var(--song);letter-spacing:.12em;color:var(--ink-soft);margin:0}._heading_1w7jm_10 h2{font:400 clamp(2rem, 6.6vw, 2.8rem)/1.3 var(--song);letter-spacing:.08em;margin:.9rem 0 1.8rem}._calendar_1w7jm_13{--calendar-hand:"Wedding Calendar Hand", var(--hand);transform-origin:bottom;background:#fffdf7;border:1px solid #d5ccba;border-top:8px solid #e9e2d3;max-width:24rem;margin:0 auto 2.6rem;padding:1.3rem 1rem 1.2rem;position:relative;box-shadow:1px 4px #f8f5ec,1px 5px #d5ccba,2px 8px #f8f5ec,2px 9px #d5ccba,0 18px 22px -18px #53644888}._calendar_1w7jm_13:before{content:"";border-top:1px dashed #c8c0ae;position:absolute;top:.45rem;left:.6rem;right:.6rem}._monthGrid_1w7jm_15{table-layout:fixed;border-collapse:collapse;text-align:center;width:100%}._monthGrid_1w7jm_15 caption{padding:.2rem 0 1.2rem}._year_1w7jm_17{font:1.2rem var(--calendar-hand);letter-spacing:.1em;color:var(--ink-soft);margin-bottom:.3rem;display:block;transform:rotate(2deg)}._month_1w7jm_15{font:400 2.8rem/1.2 var(--calendar-hand);letter-spacing:.1em;display:block;transform:rotate(-3deg)}._monthGrid_1w7jm_15 th{font:1rem var(--calendar-hand);color:var(--ink-soft);border-bottom:1px solid #d5ccba88;padding:0 0 .65rem}._monthGrid_1w7jm_15 td{padding:.25rem 0}._monthGrid_1w7jm_15 time{width:100%;max-width:2.65rem;height:2.65rem;font:1.55rem/1 var(--calendar-hand);color:var(--ink);place-items:center;display:inline-grid;position:relative}._monthGrid_1w7jm_15 ._weddingDay_1w7jm_22{color:var(--ink-deep)}._handCircles_1w7jm_23{pointer-events:none;width:calc(100% + .7rem);height:calc(100% + .7rem);position:absolute;inset:-.35rem;overflow:visible}._handCircles_1w7jm_23 path{fill:none;stroke:#b46d50;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}._handCircles_1w7jm_23 path:nth-child(2){stroke-width:1.25px;opacity:.78}._handCircles_1w7jm_23 path:nth-child(3){stroke-width:1.1px;opacity:.65}._calendar_1w7jm_13[data-calendar-motion=waiting] ._handCircles_1w7jm_23 path{stroke-dashoffset:1px}._weekday_1w7jm_28{text-align:center;font:1.1rem var(--calendar-hand);letter-spacing:.04em;border-top:1px solid #d5ccba88;margin:.75rem 0 0;padding-top:.8rem}._attire_1w7jm_29 h3{text-align:center;font:400 1.7rem var(--hand);margin:0 0 .8rem}._attire_1w7jm_29>p,._notes_1w7jm_30 p{font:1rem/1.9 var(--song);color:var(--ink)}._attire_1w7jm_29>p{margin:0 0 .8rem}._fittingRoom_1w7jm_32{max-width:30rem;margin-inline:auto}._palette_1w7jm_33{border:0;min-width:0;margin:.5rem 0;padding:0}._paletteLegend_1w7jm_34{text-align:center;width:100%;font:1rem/1.5 var(--hand);margin-bottom:.2rem}._casualLegend_1w7jm_35{text-align:center;width:100%;font:.875rem/1.5 var(--song);margin-bottom:.3rem}._swatches_1w7jm_36{grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;display:grid}._swatch_1w7jm_36{cursor:pointer;flex-direction:column;align-items:center;gap:.25rem;min-height:44px;padding:.3rem .05rem;display:flex;position:relative}._swatchInput_1w7jm_38{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._color_1w7jm_39{border:1px solid #53644845;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 3px #ffffff40}._swatchInput_1w7jm_38:checked+._color_1w7jm_39{outline:2px solid var(--ink);outline-offset:3px}._swatchInput_1w7jm_38:checked~._colorName_1w7jm_41{text-underline-offset:4px;text-decoration:underline}._swatchInput_1w7jm_38:focus-visible+._color_1w7jm_39{outline:3px dashed var(--ink);outline-offset:4px}._colorName_1w7jm_41{font:.875rem/1.5 var(--song);text-align:center}._casualChoices_1w7jm_44{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}._casualChoice_1w7jm_44{cursor:pointer;position:relative}._casualName_1w7jm_46{height:100%;min-height:44px;font:.875rem/1.5 var(--song);color:var(--ink);text-align:center;border:1px solid #53644865;border-radius:3px;justify-content:center;align-items:center;padding:.3rem .2rem;display:flex}._swatchInput_1w7jm_38:checked+._casualName_1w7jm_46{background:var(--ink);color:#fffdf7;text-underline-offset:4px;text-decoration:underline}._swatchInput_1w7jm_38:focus-visible+._casualName_1w7jm_46{outline:3px dashed var(--ink);outline-offset:3px}._attire_1w7jm_29 ._outfitStatus_1w7jm_49{min-height:1.7em;color:var(--ink-soft);font:.875rem/1.7 var(--song);text-align:center;margin:.4rem 0 0}._look_1w7jm_50{margin:0}._stage_1w7jm_51{isolation:isolate;background:#efeee4;border:1px solid #c5c8b4;height:clamp(220px,38svh,340px);position:relative;overflow:hidden}._scene_1w7jm_54{width:100%;max-width:calc(1.35*clamp(220px,38svh,340px));height:auto;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}._notes_1w7jm_30{border-top:1px solid #5364482b;margin-top:1rem;padding-top:1rem}._notes_1w7jm_30 p{margin:0 0 .7rem}._notes_1w7jm_30 ._lastNote_1w7jm_57{font-family:var(--hand);margin-top:1rem;font-size:1.1rem}@media (width<=360px){.invitation-3d>section.day-page.day-interactive-page{padding-inline:.7rem}._color_1w7jm_39{width:40px;height:40px}}@font-face{font-family:Wedding Calendar Hand;src:url(/fonts/xiaolai-calendar.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}.invitation-3d>section.letter-page.letter-motion-page{min-height:100dvh;box-shadow:none;background:0 0;border:0;padding:1.5rem 0 5.5rem}section.letter-motion-page:after{display:none}._letter_dtuhn_1{--letter-hand:"Wedding Letter Hand", var(--hand);overflow-anchor:none;width:min(100%,40rem);margin-inline:auto;scroll-margin-top:2rem}._summary_dtuhn_11{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:clamp(380px,65svh,560px);list-style:none;display:flex}._summary_dtuhn_11::-webkit-details-marker{display:none}._summary_dtuhn_11::marker{content:""}._letter_dtuhn_1[open]>._summary_dtuhn_11{display:none}._summary_dtuhn_11:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:4px}._closedEnvelope_dtuhn_16,._envelope_dtuhn_16{aspect-ratio:1272/680;perspective:1200px;width:100%;display:block;position:relative}._address_dtuhn_17{z-index:6;text-align:center;width:70%;font:clamp(.875rem, 3.8vw, 1.15rem)/1.5 var(--letter-hand,var(--hand));color:var(--ink-deep);position:absolute;top:23%;left:15%;transform:translateZ(1px)}._openHint_dtuhn_18{color:var(--ink);font:1rem var(--song);letter-spacing:.06em}._scene_dtuhn_20{isolation:isolate;position:relative}._sheet_dtuhn_21{z-index:2;transform-origin:top;position:relative}._paper_dtuhn_22{background:#fffdf8 url(/illustrations/paper-texture.png) 0 0/40rem;border:1px solid #c8c9b5;border-radius:2px;margin-inline:.65rem;padding:clamp(1.6rem,5vw,3rem) clamp(1.15rem,4.5vw,2.75rem) 0;position:relative;box-shadow:0 3px #ede9dc,0 4px #c8c9b570,0 16px 35px #53644815}._paper_dtuhn_22:focus{outline:none}._index_dtuhn_33{color:var(--ink-soft);font:.8rem var(--song);letter-spacing:.12em;margin:0}._title_dtuhn_34{font:400 clamp(2.1rem, 8.3vw, 3.2rem)/1.3 var(--letter-hand);color:var(--ink);letter-spacing:.08em;margin:1rem 0 1.7rem}._copy_dtuhn_35{font:clamp(1.125rem, 2.8vw, 1.25rem)/1.95 var(--letter-hand);letter-spacing:.015em;color:var(--ink-deep);position:relative}._copy_dtuhn_35 p{margin:0 0 1.3rem}._copy_dtuhn_35 ._signature_dtuhn_37{font:400 clamp(1.5rem, 4.8vw, 1.85rem)/1.6 "Wedding Signature", var(--hand);letter-spacing:.07em;margin:1.6rem 0 0}._paperFoot_dtuhn_38{height:clamp(14rem,50vw,23rem)}._flap_dtuhn_41,._pocket_dtuhn_41{aspect-ratio:1272/1236;pointer-events:none;width:100%;position:absolute;bottom:0;left:0}._flap_dtuhn_41 img,._pocket_dtuhn_41 img{width:100%;height:100%;display:block}._flap_dtuhn_41{z-index:5;clip-path:inset(0 0 55%);transform-origin:50% 45%}._closedFlap_dtuhn_44{transform:rotateX(180deg)}._pocket_dtuhn_41{z-index:3;clip-path:inset(45% 0 0)}._envelope_dtuhn_16{z-index:3;top:var(--envelope-top);pointer-events:none;position:absolute;left:0}._letter_dtuhn_1:not([data-phase=opening]) ._envelope_dtuhn_16{display:none}._couple_dtuhn_48{transform-origin:50% 92%;width:40%;max-width:15rem;position:absolute;bottom:1rem;right:6%}._couple_dtuhn_48 img{width:100%;height:auto;display:block}._flowers_dtuhn_50{transform-origin:50% 95%;width:21%;max-width:7rem;position:absolute;bottom:2rem;left:10%}._flowers_dtuhn_50 img{width:100%;height:auto;display:block}._letter_dtuhn_1[data-phase=opening] ._sheet_dtuhn_21{opacity:0;transform:translate3d(0, var(--letter-start), 0) scale(.82, var(--letter-fold,.16))}._letter_dtuhn_1[data-phase=opening] ._flap_dtuhn_41{transform:rotateX(180deg)}._letter_dtuhn_1[data-phase=opening] ._couple_dtuhn_48,._letter_dtuhn_1[data-phase=opening] ._flowers_dtuhn_50{opacity:0}._letter_dtuhn_1[data-phase=opening] [data-letter-part]{will-change:transform, opacity}._controls_dtuhn_60{justify-content:center;margin-top:1.8rem;display:flex}._letter_dtuhn_1[data-phase=closed] ._controls_dtuhn_60{display:none}._controls_dtuhn_60 button{min-height:44px;color:var(--ink);font:.875rem var(--song);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.35rem .5rem;display:inline-flex}._controls_dtuhn_60 button:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}@media (width>=720px){.invitation-3d>section.letter-page.letter-motion-page{padding-top:3rem;padding-bottom:7rem}._paperFoot_dtuhn_38{height:23rem}}@media (width<=360px){._paper_dtuhn_22{margin-inline:.3rem;padding-inline:1rem}._copy_dtuhn_35{letter-spacing:0}._openHint_dtuhn_18{font-size:.9rem}}@media (width<=700px){._copy_dtuhn_35 br{display:none}}@font-face{font-family:Wedding Signature;src:url(/fonts/wenkai-signature.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Wedding Letter Hand;src:url(/fonts/xiaolai-letter.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}._guide_12usx_1{grid-template-columns:1.2fr .9fr;align-items:start;gap:2.25rem;margin-top:2.75rem;display:grid}._mapCard_12usx_8,._lawnCard_12usx_8{background:#fffcf5;border:1px solid #66765740;margin:0}._mapCard_12usx_8{transform-origin:top;box-shadow:4px 6px #e4e1d2}._mapTitle_12usx_10{font:1.05rem var(--song);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;padding:1rem;display:flex}._mapTitle_12usx_10 small{color:var(--ink-soft);font-size:.75rem}._mapCrop_12usx_12{aspect-ratio:1279/990;background:#e5e9ce;border-block:1px solid #66765730;position:relative;overflow:hidden}._mapImage_12usx_13{aspect-ratio:1279/1459;width:100%;position:relative}._mapImage_12usx_13 img{width:100%;height:auto}._pin_12usx_15{color:#36492f;background:#fffdf3;border:1px solid #36492f;border-radius:2rem;align-items:center;gap:.25rem;width:max-content;padding:.2rem .5rem .2rem .2rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px 10px #17221133}._pin_12usx_15:after{content:"";background:#36492f;width:2px;height:7px;position:absolute;bottom:-7px;left:50%}._pin_12usx_15 b{color:#fffdf3;width:1.4rem;height:1.4rem;font:.85rem var(--serif);background:#536448;border-radius:50%;flex-shrink:0;place-items:center;display:grid}._parkingPin_12usx_18{top:45.7%;left:39%}._entrancePin_12usx_19{top:45.4%;left:14.2%}._lawnPin_12usx_20{top:24%;left:40%}._lawnPin_12usx_20 b{background:#b36d51}._mapNote_12usx_22{color:#536448;font:.85rem/1.75 var(--song);border-top:1px solid #66765730;margin:0;padding:.8rem 1rem}._arrivalDetails_12usx_23{min-width:0}._steps_12usx_24{margin:0;padding:0;list-style:none}._steps_12usx_24 li{grid-template-columns:1.8rem 1fr;gap:.8rem;padding:0 0 1.4rem;display:grid;position:relative}._steps_12usx_24 li:not(:last-child):after{content:"";border-left:1px dashed #7b866777;position:absolute;top:2rem;bottom:.25rem;left:.86rem}._stepNumber_12usx_27{width:1.8rem;height:1.8rem;font:.95rem var(--serif);border:1px solid #66765770;border-radius:50%;place-items:center;display:grid}._steps_12usx_24 li:last-child ._stepNumber_12usx_27{color:#fffdf3;background:#b36d51;border-color:#b36d51}._steps_12usx_24 h3{font:1.08rem var(--song);margin:.2rem 0 .55rem}._steps_12usx_24 p{font:.96rem/1.85 var(--song);margin:0}._lawnCard_12usx_8{margin-top:.6rem;padding:.4rem;transform:rotate(1deg);box-shadow:3px 4px #e4e1d2}._mediaFrame_12usx_32{aspect-ratio:16/9;background:#526646;position:relative;overflow:hidden}._mediaFrame_12usx_32 img{object-fit:cover;width:100%;height:100%;display:block}._lawnCard_12usx_8 figcaption{text-align:center;flex-direction:column;align-items:center;gap:.65rem;padding:1rem .75rem .75rem;display:flex}._lawnLabel_12usx_35{font:1.06rem var(--hand)}._lawnCard_12usx_8 small{font:.75rem/1.65 var(--song);color:#667657}@media (width<=1000px){._guide_12usx_1{grid-template-columns:1fr 1fr;gap:1.5rem}._pin_12usx_15{gap:.15rem;font-size:.65rem}._pin_12usx_15 b{width:1.1rem;height:1.1rem;font-size:.75rem}}@media (width<=700px){._guide_12usx_1{flex-direction:column;gap:2rem;margin-top:2rem;display:flex}._mapCard_12usx_8{width:calc(100% + 1rem);margin-inline:-.5rem}._mapTitle_12usx_10{padding:.9rem;font-size:1rem}._pin_12usx_15{gap:.15rem;padding-right:.3rem;font-size:.68rem}._pin_12usx_15 b{width:1.15rem;height:1.15rem}._steps_12usx_24 p{font-size:1rem}._steps_12usx_24 h3{font-size:1.1rem}._lawnCard_12usx_8{margin-top:.75rem}._mapNote_12usx_22{font-size:.85rem}}@media (prefers-reduced-motion:reduce){._lawnCard_12usx_8{transform:none}}._scene_wiv61_1 [data-closing-intro=stroke]{transform-origin:0}._scene_wiv61_1 ._note_wiv61_2[data-closing-intro]{margin-top:1.5rem}._note_wiv61_2>span{display:block}._scene_wiv61_1 ._signoff_wiv61_4>strong{margin-top:.25rem}._album_wiv61_6{width:min(100%,44svh,25rem);margin:1.6rem auto 1.2rem}._photoPaper_wiv61_11{background:#fffdf7;border:1px solid #d5ccba;margin:0;padding:.6rem .6rem 0 .9rem;box-shadow:3px 4px #f4f0e5,4px 5px #d5ccba,0 14px 26px -20px #53644870}._photoWindow_wiv61_18{aspect-ratio:2/3;touch-action:pan-y pinch-zoom;background:#eee9dc;position:relative;overflow:hidden}._photoWindow_wiv61_18:after{content:"";pointer-events:none;background:linear-gradient(90deg,#53644824,#0000);width:10px;position:absolute;inset:0 auto 0 0}._flipStage_wiv61_20{perspective:1400px;pointer-events:none;background:#eee9dc;position:absolute;inset:0}._turningLeaf_wiv61_21{transform-origin:0;backface-visibility:hidden;background:#eee9dc;position:absolute;inset:0;box-shadow:7px 0 18px #53644838}._turningLeaf_wiv61_21:after{content:"";pointer-events:none;background:linear-gradient(90deg,#53644845,#0000 24%,#fffdf728 70%,#53644830);position:absolute;inset:0}._photo_wiv61_11{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}._photoCaption_wiv61_24{color:var(--ink);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.75rem .2rem .85rem;display:flex}._photoCaption_wiv61_24>span{font:1.15rem/1.5 var(--hand)}._photoCaption_wiv61_24>small{font:.875rem/1.5 var(--serif);white-space:nowrap;font-variant-numeric:tabular-nums}._albumControls_wiv61_27{justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;display:flex}._albumControls_wiv61_27 button{min-width:44px;min-height:44px;color:var(--ink-deep);font:.875rem/1.5 var(--song);cursor:pointer;background:#faf7ee;border:1px solid #9da68e;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:.4rem .65rem;display:inline-flex}._albumControls_wiv61_27 button:focus-visible,._albumHint_wiv61_29 button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}._albumControls_wiv61_27 button:active{background:#e9ecdf}._albumControls_wiv61_27 button:disabled{cursor:default}._albumHint_wiv61_29{min-height:1.5em;font:.875rem/1.5 var(--song);color:var(--ink);margin:.45rem 0 0}._albumHint_wiv61_29 button{min-height:44px;color:var(--ink-deep);margin-left:.5rem;text-decoration:underline}@media (prefers-reduced-motion:no-preference){._turnForward_wiv61_35{animation:.8s cubic-bezier(.45,.05,.25,1) both _turn-forward_wiv61_1}._turnBackward_wiv61_36{animation:.8s cubic-bezier(.45,.05,.25,1) both _turn-backward_wiv61_1}._turningLeaf_wiv61_21:after{animation:.8s ease-in-out both _paper-light_wiv61_1}}@keyframes _turn-forward_wiv61_1{0%{transform:rotateY(0)}to{transform:rotateY(-100deg)}}@keyframes _turn-backward_wiv61_1{0%{transform:rotateY(-100deg)}to{transform:rotateY(0)}}@keyframes _paper-light_wiv61_1{0%,to{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion:reduce){._flipStage_wiv61_20{display:none}}@media print{._albumControls_wiv61_27,._albumHint_wiv61_29{display:none}}.invitation-3d{--paper:#f6f2e8;--paper-light:#fffdf5;--ink:#536448;--ink-deep:#36492f;--accent:#b96c52;width:100%;max-width:1600px;box-shadow:none;background-image:linear-gradient(#f6f2e8c9,#f6f2e8c9),url(/illustrations/paper-texture.png);background-size:54rem;padding:0 clamp(1.25rem,5vw,6rem) 4rem;overflow:clip}.garden-nav{z-index:10;border-bottom:1px solid #53644826;justify-content:space-between;align-items:center;height:100px;padding-right:7rem;display:flex;position:relative}.garden-monogram{font:1.9rem var(--serif);align-items:baseline;gap:.08em;display:flex}.garden-monogram>span{color:var(--accent);font-size:.6em;font-style:italic}.garden-monogram small{font:.75rem var(--serif);letter-spacing:.15em;margin-left:1.4rem}.garden-nav>div{align-items:center;gap:2.1rem;display:flex}.garden-nav>div a{min-height:44px;font:.875rem var(--song);align-items:center;gap:.5rem;display:flex}.garden-nav>div a:last-child{border-bottom:1px solid var(--ink)}.invitation-3d .music-button{box-shadow:none;background:#f9f6edf0;top:28px;right:max(1.5rem,50vw - 720px)}.invitation-3d .hero-page{text-align:left;border:0;grid-template-columns:.8fr 1.2fr;align-items:center;gap:0;min-height:max(680px,100svh - 100px);padding:3rem 0 6rem;display:grid;overflow:visible}.invitation-3d .hero-intro{z-index:3;pointer-events:none;width:100%;padding-left:clamp(0rem,2vw,2rem)}.invitation-3d .hero-intro a{pointer-events:auto}.invitation-3d .hero-page .eyebrow{letter-spacing:.12em;font-size:.9rem}.invitation-3d .ornament-line{display:none}.invitation-3d .western-date{letter-spacing:.24em;margin:3rem 0 1.05rem;font-size:.78rem}.invitation-3d .hero-page h1{letter-spacing:-.045em;width:fit-content;margin:0;font-size:clamp(4.1rem,6.2vw,7rem);line-height:.99;position:relative}.invitation-3d .hero-page h1 span{display:block}.invitation-3d .hero-page h1 span:last-child{margin-left:.42em}.invitation-3d .hero-page h1 i{color:var(--accent);font-size:.58em;font-weight:400;position:absolute;top:1.05em;left:.01em}.invitation-3d .chinese-names{letter-spacing:.3em;margin-top:1.65rem;font-size:1rem}.invitation-3d .hand-note{margin:2.2rem 0 0;font-size:clamp(1.4rem,1.95vw,2rem);line-height:1.6}.invitation-3d .hand-note:after{width:4rem;height:1px}.invitation-3d .city-date{font:.78rem var(--song);letter-spacing:.2em;margin-top:1.6rem}.garden-enter{border-bottom:1px solid var(--ink);font:.94rem var(--song);justify-content:space-between;align-items:center;gap:2.2rem;margin-top:2.2rem;padding:.8rem 0;display:inline-flex}.garden-enter svg{transition:transform .25s}.garden-enter:hover svg{transform:translateY(4px)}.invitation-3d .hero-page>.next-page{font-size:.75rem;bottom:1.4rem}.garden-scene{width:122%;height:min(650px,70vw);min-height:540px;margin-left:-15%;position:relative}.garden-scene:before{content:"";pointer-events:none;border:1px solid #69775124;border-radius:50%;width:74%;height:74%;position:absolute;top:7%;left:14%}.garden-scene:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#e1e5d358 0%,#0000 65%);border-radius:50%;position:absolute;inset:8% 10% 11%}.garden-canvas{z-index:2;touch-action:pan-y;position:absolute;inset:0}.garden-canvas canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.garden-canvas canvas:active{cursor:grabbing}.garden-open-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.garden-date-tag{z-index:4;pointer-events:none;background:#fff9ec;border:1px solid #d6cfb8;justify-items:center;gap:.2rem;width:4.3rem;padding:.8rem .5rem;display:grid;position:absolute;bottom:19%;right:10%;transform:rotate(10deg);box-shadow:3px 4px #e2dcca,12px 16px 20px #3b462516}.garden-date-tag small{font:.65rem var(--serif);letter-spacing:.18em}.garden-date-tag strong{font:2.35rem var(--serif);line-height:1}.garden-date-tag>span{font:.6rem var(--serif);letter-spacing:.2em;text-align:center;border-top:1px solid #ccc4ac;width:100%;padding-top:.4rem}.garden-controls{z-index:5;flex-direction:column;align-items:center;gap:.85rem;width:max-content;max-width:100%;display:flex;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.garden-drag-hint{font:.75rem var(--song);color:#69755c;align-items:center;gap:.6rem;display:flex}.garden-buttons{align-items:center;gap:.45rem;display:flex}.garden-buttons button{min-width:44px;min-height:44px;color:var(--ink-deep);background:#fcf9f0cf;border:1px solid #79816e4d;border-radius:50%;justify-content:center;align-items:center;gap:.45rem;padding:.5rem;transition:background .18s;display:flex}.garden-buttons button:first-child{font:.8rem var(--song);border-radius:24px;padding:.5rem 1rem}.garden-buttons button:hover{background:#e6eadb}.garden-buttons button>span{align-items:center;gap:.45rem;display:flex}.garden-canvas:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.garden-cover-card{aspect-ratio:3/4;color:#e9d8ac;width:min(65%,220px);font-family:var(--serif);background:#536346;border:4px double #cbb78a;flex-direction:column;justify-content:space-evenly;align-items:center;padding:1rem;display:flex}.garden-cover-card small{letter-spacing:.12em;font-size:.65rem}.garden-cover-card strong{font:italic 2.5rem var(--serif)}.garden-cover-card span{color:#e9d8ac}.garden-fallback{z-index:2;align-content:center;justify-items:center;display:grid;position:absolute;inset:10% 15% 16%}.garden-fallback img{object-fit:contain;width:75%;max-height:360px}.garden-fallback span{font:.8rem var(--song)}.garden-fallback~.garden-date-tag{right:10%}.garden-fallback+.garden-date-tag{opacity:.6}.invitation-3d>.page:not(.hero-page){perspective:1400px;background-color:#fbf8ef;background-image:linear-gradient(90deg,#dfdecc50,#0000 4% 49.9%,#e3dfcc50 50%,#0000 50.4%),linear-gradient(#fbf8efc0,#fbf8efc0),url(/illustrations/paper-texture.png);background-size:auto,auto,58rem;border:1px solid #bfc5ae66;width:min(100%,1100px);margin:3.5rem auto 7rem;padding:clamp(2.5rem,7vw,6rem) clamp(2.5rem,7vw,6rem) 6rem;scroll-margin-top:2rem;overflow:visible;box-shadow:2px 5px #e7e3d6,3px 6px #c5c9b580,5px 10px #f8f5ea,6px 11px #c5c9b550,0 30px 60px -30px #33472d4a}.invitation-3d .reveal:not(.hero-intro){transform-origin:top;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .8s;transform:perspective(1200px)translateY(30px)rotateX(9deg)}.invitation-3d .reveal.is-visible:not(.hero-intro){transform:perspective(1200px)translateY(0)rotateX(0)}.invitation-3d .display-title{font-size:clamp(2.2rem,4vw,3.4rem)}.invitation-3d .page-index{letter-spacing:.15em;font-size:.75rem}.invitation-3d .title-stroke{width:4rem;height:2px;margin-top:.9rem}.invitation-3d .page:not(.hero-page)>.next-page{font-size:.75rem;bottom:1.7rem}.invitation-3d .letter-page{min-height:830px}.invitation-3d .letter-page:after{display:none}.invitation-3d .letter-copy{letter-spacing:.06em;width:63%;font-size:1.02rem;line-height:2.05}.invitation-3d .letter-copy .signature{font-size:1.5rem}.invitation-3d .letter-couple{filter:drop-shadow(13px 15px 5px #58624120);width:39%;height:500px;bottom:5.5rem;right:1%}.invitation-3d .day-page{grid-template-columns:1fr 1fr;gap:3rem;min-height:920px;display:grid}.invitation-3d .big-date{margin-top:2.5rem;font-size:clamp(6rem,11vw,9rem)}.invitation-3d .weekday{text-align:center;margin-left:0;font-size:1rem}.invitation-3d .attire-layout{margin-top:2.5rem}.invitation-3d .attire-copy{width:100%;padding:0}.invitation-3d .attire-copy>p,.invitation-3d .departure-note p{font-size:1rem}.invitation-3d .palette{gap:.85rem;width:100%}.invitation-3d .palette small{font-size:.75rem}.invitation-3d .palette span{border-radius:50%;width:2.65rem;height:2.65rem;transform:rotateX(15deg);box-shadow:inset -4px -4px 8px #00000018,2px 4px #53644820}.invitation-3d .casual-couple{filter:drop-shadow(10px 14px 4px #58624120);width:95%;height:370px;bottom:-1rem;right:calc(100% + 2rem)}.invitation-3d .route-page{min-height:920px}.invitation-3d .route-page .page-copy{width:55%}.invitation-3d .route-page .display-title{font-size:clamp(2rem,3.4vw,3.2rem)}.invitation-3d .venue-line{gap:.65rem;margin-top:2.2rem}.invitation-3d .venue-line p{font-size:1.4rem}.invitation-3d .route-search{margin-left:0;font-size:.9rem}.invitation-3d .route-actions{max-width:19rem;margin-left:0}.invitation-3d .route-actions a,.invitation-3d .route-actions button{border-radius:4px}.invitation-3d .route-art{filter:drop-shadow(14px 20px 5px #58624120);width:53%;padding:1.5rem 0;position:absolute;bottom:8rem;right:-1%}.invitation-3d .route-art img{transform-origin:bottom;max-height:430px}.invitation-3d .departure-note{width:43%;margin-top:3rem}.invitation-3d .reply-page{grid-template-columns:.75fr 1.25fr;align-items:start;gap:3rem;min-height:1050px;display:grid}.invitation-3d .reply-heading{min-height:550px}.invitation-3d .reply-heading .display-title{font-size:2.5rem;line-height:1.35}.invitation-3d .reply-intro{font-size:1rem}.invitation-3d .reply-heading img{filter:drop-shadow(14px 24px 8px #58624118);width:130%;max-width:130%;top:22rem;right:-2rem}.invitation-3d .rsvp-card{background:#fffcf4e6;border-radius:5px;padding:1.8rem;box-shadow:5px 7px #e8e4d5,0 22px 28px -18px #53644835}.invitation-3d .rsvp-card input,.invitation-3d .rsvp-card select,.invitation-3d .rsvp-card textarea{background:#fffcf7;border-radius:4px;font-size:1rem}.invitation-3d .rsvp-card label>span,.invitation-3d .rsvp-card legend{font-size:1rem}.invitation-3d .choice-row button{border-radius:4px;font-size:.9rem}.invitation-3d .submit-button{border-radius:4px}.invitation-3d .closing-page{min-height:850px;margin-bottom:2rem!important}.invitation-3d .closing-copy .page-index{text-align:center}.invitation-3d .closing-copy .display-title{font-size:clamp(1.9rem,3.6vw,3rem)}.invitation-3d .closing-copy>p:not(.page-index){font-size:1rem}.invitation-3d .closing-actions>button{border-radius:4px}@media (width>=1550px){.invitation-3d .hero-page{min-height:850px}}@media (width<=1000px){.garden-nav>div{gap:1.1rem}.garden-monogram small{display:none}.invitation-3d .hero-page h1{font-size:clamp(3.7rem,7.3vw,5.5rem)}.garden-scene{min-height:500px}.invitation-3d .day-page,.invitation-3d .reply-page{gap:2rem}.invitation-3d .palette{gap:.5rem}.invitation-3d .palette span{width:2.2rem;height:2.2rem}}@media (width<=700px){.invitation-3d{padding:0 1rem 1.2rem}.garden-nav{height:72px;padding:0 6rem 0 .5rem}.garden-monogram{font-size:1.65rem}.garden-nav>div a:not(:last-child){display:none}.garden-nav>div a{font-size:.8rem}.invitation-3d .music-button{min-width:5rem;min-height:2.75rem;top:15px;right:1rem}.invitation-3d .hero-page{text-align:center;flex-direction:column;gap:0;min-height:0;padding:2.5rem 0 3.8rem;display:flex}.invitation-3d .hero-intro{padding:0}.invitation-3d .hero-page .eyebrow{font-size:.78rem}.invitation-3d .western-date{letter-spacing:.2em;margin:1.3rem 0 .65rem;font-size:.65rem}.invitation-3d .hero-page h1{margin:0 auto;font-size:clamp(3rem,12.6vw,5.2rem);line-height:.94}.invitation-3d .hero-page h1 span:last-child{margin-left:.38em}.invitation-3d .chinese-names{margin-top:1rem;font-size:.85rem}.invitation-3d .hand-note{margin:1.25rem auto 0;font-size:1.2rem;line-height:1.5}.invitation-3d .hand-note br{display:initial}.invitation-3d .city-date{margin-top:1rem;font-size:.67rem}.garden-enter{display:none}.garden-scene{width:calc(100% + 2rem);height:clamp(360px,100vw,500px);min-height:0;margin:-.1rem -1rem 0}.garden-scene:before{width:77%;height:70%;top:12%;left:11.5%}.garden-date-tag{width:3rem;padding:.5rem .4rem;bottom:24%;right:7%}.garden-date-tag strong{font-size:1.6rem}.garden-date-tag small,.garden-date-tag>span{font-size:.55rem}.garden-controls{gap:.6rem;bottom:0}.garden-drag-hint{font-size:.68rem}.garden-buttons{gap:.4rem}.garden-buttons button:first-child{font-size:.75rem}.invitation-3d .hero-page>.next-page{font-size:.7rem;bottom:0}.invitation-3d>.page:not(.hero-page){background-image:linear-gradient(90deg,#dfdecc50,#0000 5%),linear-gradient(#fbf8efc0,#fbf8efc0),url(/illustrations/paper-texture.png);margin:3rem auto 4.5rem;padding:2.5rem 1.5rem 5rem;scroll-margin-top:1rem}.invitation-3d .display-title{margin-top:1.3rem;font-size:2.1rem}.invitation-3d .page-index{font-size:.7rem}.invitation-3d .letter-page{min-height:860px}.invitation-3d .letter-copy{letter-spacing:.015em;width:100%;margin-top:2rem;font-size:1rem;line-height:2}.invitation-3d .letter-copy br{display:none}.invitation-3d .letter-copy p{margin-bottom:1.3rem}.invitation-3d .letter-couple{width:49%;height:270px;bottom:3.5rem;right:.75rem}.invitation-3d .letter-copy .signature{max-width:9rem;margin-top:1.5rem;font-size:1.15rem}.invitation-3d .day-page{min-height:0;display:block;padding-bottom:5.5rem!important}.invitation-3d .big-date{max-width:21rem;margin-top:1.7rem;font-size:7rem}.invitation-3d .weekday{font-size:.9rem}.invitation-3d .attire-layout{margin-top:2.5rem;display:block}.invitation-3d .attire-copy{width:100%}.invitation-3d .attire-copy>p{font-size:1rem;line-height:1.9}.invitation-3d .attire-copy h3{font-size:1.5rem}.invitation-3d .palette{justify-content:space-between;gap:.25rem}.invitation-3d .palette span{width:2.6rem;height:2.6rem}.invitation-3d .palette small{font-size:.7rem}.invitation-3d .casual-couple{object-position:center;width:68%;height:270px;margin:0 auto -1rem;position:relative;bottom:auto;right:auto}.invitation-3d .route-page{min-height:0}.invitation-3d .route-page .page-copy{width:100%}.invitation-3d .route-page .display-title{letter-spacing:0;font-size:1.85rem}.invitation-3d .venue-line{gap:.6rem;margin-top:2rem}.invitation-3d .venue-line svg{width:25px}.invitation-3d .venue-line p{font-size:1.2rem}.invitation-3d .route-search{font-size:.85rem}.invitation-3d .route-actions{max-width:none}.invitation-3d .route-art{width:115%;margin:1rem -7.5%;padding:0;position:relative;bottom:auto;right:auto}.invitation-3d .route-art img{max-height:350px}.invitation-3d .departure-note{width:100%;margin-top:1rem}.invitation-3d .reply-page{min-height:0;display:block;padding:2.5rem 1.05rem 5rem!important}.invitation-3d .reply-heading{min-height:0;padding:0 .4rem}.invitation-3d .reply-heading .display-title{font-size:2.1rem}.invitation-3d .reply-intro{margin-top:1.5rem;font-size:1rem}.invitation-3d .reply-heading img{width:65%;margin:-.5rem auto -1.5rem;position:relative;top:auto;right:auto}.invitation-3d .rsvp-card{padding:1.1rem}.invitation-3d .choice-row{gap:.3rem}.invitation-3d .choice-row button{padding:.5rem .2rem;font-size:.8rem}.invitation-3d .closing-page{min-height:0;padding-left:1.25rem!important;padding-right:1.25rem!important}.invitation-3d .closing-copy .display-title{font-size:1.65rem;line-height:1.5}.invitation-3d .closing-copy>p:not(.page-index){font-size:1rem}.invitation-3d .page:not(.hero-page)>.next-page{font-size:.68rem}}@media (prefers-reduced-motion:reduce){.invitation-3d .reveal:not(.hero-intro),.invitation-3d .reveal.is-visible:not(.hero-intro){opacity:1;transition:none;transform:none}}.invitation-3d .route-page.venue-route-page{min-height:0}.invitation-3d .venue-route-page .page-copy{width:100%}.invitation-3d .venue-route-page .route-actions{flex-wrap:wrap;gap:.75rem;max-width:none;display:flex}.invitation-3d .venue-route-page .route-actions>*{min-width:11rem}@media (width<=700px){.invitation-3d .venue-route-page .route-actions{grid-template-columns:1fr;display:grid}}
