@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Great+Vibes&family=Pinyon+Script&display=swap";:root{--paper:#ead9ad;--paper-light:#f6eac9;--paper-shadow:#8b6533;--gold:#a57828;--gold-light:#ecd58a;--gold-dark:#5f3b10;--bronze-text:#624313;--wax:#741829;--wax-dark:#320710;--wax-light:#b44a5a;--wood:#1d0c07;--paper-open-height:clamp(1240px, 158vw, 1400px)}*{box-sizing:border-box}html{background:var(--wood);min-width:320px}body{min-width:320px;color:var(--bronze-text);background:var(--wood);margin:0;font-family:Cormorant Garamond,Georgia,serif}button,input,textarea,select{font:inherit}.wedding-page{isolation:isolate;background-color:#241009;background-image:linear-gradient(90deg,#17070475,#0000 16% 84%,#1707047a),linear-gradient(#12060333,#12060380),url(/mahogany-wood-mobile.webp),repeating-linear-gradient(2deg,#251008 0 18px,#34150a 19px 23px,#1d0c07 24px 39px);background-position:50%;background-size:cover;place-items:center;min-height:100svh;padding:clamp(22px,4vw,54px) 12px;display:grid;position:relative;overflow:hidden}.wedding-page:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 50% 47%,#ffd88e2e,#0000 31%),radial-gradient(#0000 38%,#070201b8 100%);position:fixed;inset:0}.ambient-light{z-index:-1;filter:blur(70px);pointer-events:none;background:#eac47b14;border-radius:50%;width:min(860px,94vw);height:50vh;position:fixed;top:18%;left:50%;transform:translate(-50%)}.invitation-scene{flex-direction:column;justify-content:center;align-items:center;width:min(980px,100%);min-height:calc(100svh - 44px);display:flex}.opening-hint{color:#f1dbab;letter-spacing:.24em;opacity:.82;text-align:center;text-shadow:0 2px 16px #000;text-transform:uppercase;margin:0 0 22px;font-family:Cinzel,serif;font-size:clamp(.64rem,1.7vw,.78rem);transition:opacity .35s,transform .35s}.state-opening .opening-hint,.state-open .opening-hint{opacity:0;transform:translateY(-7px)}.scroll-canvas{width:100%;height:clamp(230px,42vw,360px);transition:height 1.8s cubic-bezier(.62,0,.22,1);position:relative}.state-opening .scroll-canvas,.state-open .scroll-canvas{height:var(--paper-open-height)}.closed-scroll{z-index:5;background-color:var(--paper);opacity:1;background-image:linear-gradient(#5f39106e,#0000 16%,#fff7d28a 44%,#5e370f59 100%),url(/antique-parchment-mobile.webp);background-position:50%;background-size:cover;border:1px solid #6138128a;border-radius:46%/18%;width:min(760px,88vw);height:clamp(112px,17vw,166px);transition:opacity .42s,filter .65s,transform .75s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1.3deg);box-shadow:0 34px 38px #0009,0 10px 14px #00000073,inset 0 7px 12px #fff5cba3,inset 0 -16px 21px #5b350f59}.closed-scroll:before,.closed-scroll:after{z-index:-1;content:"";background:radial-gradient(at 52% 49%,#7b572d 0 15%,#34200f 17% 20%,#d2b675 22% 36%,#6c4721 38% 43%,#19100a 45% 52%,#b58b4b 54% 68%,#dfc990 70% 76%,#68461f 81% 100%);border:1px solid #46270ea8;border-radius:50%;width:9%;position:absolute;top:4%;bottom:4%;box-shadow:inset 0 0 12px #1c0b04,0 6px 8px #0000006b}.closed-scroll:before{left:-1.8%}.closed-scroll:after{right:-1.8%}.scroll-cap{z-index:1;background:linear-gradient(90deg,#78501f,#f0d584 33%,#81581f 64%,#d4b563);border-radius:50%;width:5.5%;height:106%;position:absolute;top:-3%;box-shadow:inset 0 0 0 1px #5b390e,0 2px 5px #00000061}.scroll-cap-left{left:3.2%}.scroll-cap-right{right:3.2%}.closed-ornament{z-index:2;color:#af8739;text-shadow:-1px -1px 1px #fff0ae,2px 3px 3px #5f350a;font-family:Georgia,serif;font-size:clamp(2.4rem,7vw,5.1rem);line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.closed-ornament-left{left:7%}.closed-ornament-right{right:7%;transform:translateY(-50%)scaleX(-1)}.golden-cord{z-index:4;transform-origin:top;background:repeating-linear-gradient(90deg,#a17326 0 1px,#edd07b 1px 2px,#755019 2px 3px);width:clamp(2px,.35vw,4px);height:68%;position:absolute;top:47%;left:50%;box-shadow:1px 2px 3px #00000073}.cord-left{transform:rotate(9deg)}.cord-right{transform:rotate(-10deg)}.wax-seal{z-index:8;aspect-ratio:1;background:radial-gradient(circle at 36% 27%, #ffbdbd6b, transparent 17%), radial-gradient(circle at 50% 48%, var(--wax-light), var(--wax) 46%, var(--wax-dark) 86%);cursor:pointer;border:0;border-radius:46% 54% 49% 51%/51% 45% 55% 49%;outline:0;place-items:center;width:clamp(86px,14vw,118px);padding:0;animation:2s ease-in-out infinite seal-pulse;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 10px #1802058c,0 0 0 4px #4b0b17,inset 3px 4px 7px #ffa09f59,inset -6px -8px 10px #2201079e,0 0 22px #a43343b3}.wax-seal:before{content:"";border:2px solid #30030b94;border-radius:50%;position:absolute;inset:8%;box-shadow:inset 0 0 0 2px #df6f7738,0 1px 2px #ffc7c138}.wax-seal:after{content:"";border:2px solid #eebe6200;border-radius:50%;transition:border-color .25s,transform .25s;position:absolute;inset:-5%}.wax-seal:focus-visible:after{border-color:#f4d987;transform:scale(1.07)}.seal-inner{aspect-ratio:1;border:1px solid #2c02098c;border-radius:50%;place-items:center;width:69%;display:grid;box-shadow:inset 1px 2px 5px #200107a3,1px 1px 1px #ff979b42}.seal-monogram{color:#4f0a15;text-shadow:1px 1px 1px #eb777e61,-1px -1px 1px #1f0106a8;font-family:Pinyon Script,cursive;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1}.state-opening .closed-scroll{filter:blur(3px);opacity:0;pointer-events:none;transform:translate(-50%,-50%)rotate(-1.3deg)scale(.9)}.state-open .closed-scroll{display:none}.parchment-stage{z-index:4;transform-origin:50%;clip-path:inset(45% 0 round 10px);opacity:0;pointer-events:none;width:min(760px,94vw);height:100%;transition:clip-path 1.78s cubic-bezier(.62,0,.22,1),opacity .23s .16s,transform 1.78s cubic-bezier(.62,0,.22,1);position:absolute;top:0;left:50%;transform:translate(-50%)scaleY(.09)}.state-opening .parchment-stage,.state-open .parchment-stage{clip-path:inset(0 round 10px);opacity:1;transform:translate(-50%)scaleY(1)}.state-open .parchment-stage{pointer-events:auto}.parchment-paper{background-color:var(--paper);background-image:radial-gradient(#fffbdd59,#0000 62%),linear-gradient(90deg,#58350f38,#0000 6% 94%,#58350f40),url(/antique-parchment-mobile.webp);background-position:50%;background-size:cover;border:1px solid #805d20;position:absolute;inset:20px 0;overflow:hidden;box-shadow:0 30px 48px #0000009e,inset 0 0 55px #673e0f52,inset 0 0 0 6px #d5b15b42,inset 0 0 0 8px #6744129e,inset 0 0 0 13px #f4da912e,inset 0 0 0 15px #6f4b1791}.parchment-paper:before{content:"";pointer-events:none;border:1px solid #775018b8;position:absolute;inset:22px;box-shadow:inset 0 0 0 3px #ebcc7e30,inset 0 0 0 4px #845b1e7a}.paper-roll{z-index:6;background-color:#d9c18b;background-image:linear-gradient(#53310d87,#ffefba85 43%,#633b0f7a),url(/antique-parchment-mobile.webp);background-size:cover;border:1px solid #653f13b3;border-radius:48%/45%;width:103.2%;height:clamp(36px,7vw,58px);transition:top 1.75s cubic-bezier(.62,0,.22,1),bottom 1.75s cubic-bezier(.62,0,.22,1);position:absolute;left:-1.6%;box-shadow:0 8px 12px #0006,inset 0 5px 6px #fff3c580}.paper-roll:before,.paper-roll:after{content:"";background:radial-gradient(circle,#3c250f 0 17%,#c7a461 20% 44%,#62431d 49% 59%,#e2cd94 65% 100%);border-radius:50%;width:5%;height:90%;position:absolute;top:5%;box-shadow:inset 0 0 5px #1c0d05}.paper-roll:before{left:-.4%}.paper-roll:after{right:-.4%}.paper-roll-top{top:calc(50% - 28px)}.paper-roll-bottom{bottom:calc(50% - 28px)}.state-opening .paper-roll-bottom,.state-open .paper-roll-bottom{bottom:-2px}.invitation-content{z-index:2;height:100%;color:var(--bronze-text);text-align:center;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:clamp(7px,1.3vw,14px);padding:clamp(64px,8vw,90px) clamp(52px,10vw,102px) clamp(55px,8vw,85px);transition:opacity .7s 1.12s,transform .7s 1.12s;display:flex;position:relative;transform:translateY(10px)}.state-opening .invitation-content,.state-open .invitation-content{opacity:1;transform:translateY(0)}.corner-ornament{z-index:3;color:#0000;filter:drop-shadow(1px 2px 1px #402405c7);pointer-events:none;background:linear-gradient(135deg,#fff1a7 0%,#bb8a30 28%,#69400d 52%,#dfbd61 76%,#79500f 100%);-webkit-background-clip:text;background-clip:text;font-family:Georgia,serif;font-size:clamp(3.7rem,9vw,6.8rem);line-height:1;position:absolute}.corner-ornament:after{color:#9f7424;content:"❧";opacity:.82;font-size:55%;position:absolute}.corner-top-left:after{top:42%;left:23%;transform:rotate(45deg)}.corner-top-right:after{top:42%;left:23%;transform:rotate(45deg)}.corner-bottom-left:after{top:42%;left:23%;transform:rotate(45deg)}.corner-bottom-right:after{top:42%;left:23%;transform:rotate(45deg)}.crest{aspect-ratio:1.25;border:1px solid #8b5e1bb8;border-radius:50%;flex:none;place-items:center;width:clamp(130px,24vw,188px);display:grid;position:relative;box-shadow:inset 0 0 0 3px #eccf804d,0 0 0 1px #613d0e40}.crest:before,.crest:after{content:"";border:solid #ad7d28;width:42%;position:absolute;top:11%;bottom:11%}.crest:before{border-width:2px 0 2px 2px;border-radius:100% 0 0 100%;left:-13%;transform:rotate(-12deg)}.crest:after{border-width:2px 2px 2px 0;border-radius:0 100% 100% 0;right:-13%;transform:rotate(12deg)}.crest-monogram{color:#0000;filter:drop-shadow(1px 1px #f8e8b5);background:linear-gradient(145deg,#6e430d,#e0bd67 45%,#805514 72%);-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;font-family:Pinyon Script,cursive;font-size:clamp(4.15rem,9.6vw,6.45rem);line-height:.8;display:flex}.crest-monogram span+span{margin-left:-.09em;transform:translateY(.04em)}.crest-leaf{z-index:2;color:#9d7020;text-shadow:1px 1px #efd78e;font-size:clamp(2rem,5vw,3.2rem);position:absolute}.crest-leaf-left{left:-20%;transform:rotate(-52deg)}.crest-leaf-right{right:-20%;transform:rotate(52deg)scaleX(-1)}.script-text,.couple-names{font-family:Great Vibes,Pinyon Script,cursive;font-weight:400}.opening-phrase{margin:0;font-size:clamp(1.75rem,4vw,2.6rem);line-height:1.05}.ornamental-divider,.heart-divider,.footer-ornament{color:#9b6b1c;justify-content:center;align-items:center;width:min(230px,55%);line-height:1;display:flex}.ornamental-divider:before,.ornamental-divider:after,.heart-divider:before,.heart-divider:after{content:"";background:linear-gradient(90deg,#0000,#9f722a);width:44%;height:1px}.ornamental-divider:after,.heart-divider:after{transform:scaleX(-1)}.ornamental-divider span{padding:0 8px;font-size:.65rem}.heart-divider span{padding:0 9px;font-size:.68rem}.ornamental-divider.compact{width:min(180px,45%)}.intro-copy{gap:8px;font-size:clamp(.83rem,1.75vw,1.05rem);font-style:italic;line-height:1.18;display:grid}.intro-copy p,.arrival-note,.verse,.venue address{margin:0}.intro-copy span,.arrival-note span,.verse span,.venue address span{display:block}.couple-names{text-shadow:1px 1px #ffefb8ad;flex-direction:column;align-items:center;margin:0;font-size:clamp(2.55rem,7vw,4.9rem);line-height:.87;display:flex}.couple-names:focus{outline:none}.couple-names small{margin:.11em 0 .05em;font-size:.36em;line-height:.7}.wedding-date{color:#5f3d0d;letter-spacing:.06em;text-shadow:1px 1px #ffefbbad;font-family:Cinzel,serif;font-size:clamp(2rem,5.8vw,3.35rem);font-style:normal;line-height:1}.wedding-date i{color:#ac7b27;vertical-align:.16em;font-size:.58em;font-style:normal}.ceremony-time{justify-content:center;align-items:center;gap:clamp(8px,2vw,18px);font-family:Cinzel,serif;display:flex}.ceremony-time strong{letter-spacing:.025em;white-space:nowrap;font-size:clamp(.86rem,2.3vw,1.35rem);font-weight:600}.branch{color:#a17428;font-size:clamp(1.25rem,3.5vw,2rem);line-height:1}.branch-left{transform:rotate(-34deg)}.branch-right{transform:rotate(34deg)scaleX(-1)}.arrival-note{font-size:clamp(.82rem,1.9vw,1.08rem);font-style:italic;line-height:1.11}.venue h2{letter-spacing:.065em;margin:0;font-family:Cinzel,serif;font-size:clamp(1.34rem,4.2vw,2.35rem);font-weight:500;line-height:1.05}.venue-divider{width:min(280px,70%);margin:6px auto}.venue address{font-size:clamp(.97rem,2.4vw,1.35rem);font-style:normal;font-weight:500;line-height:1.16}.heart-divider.small{width:min(160px,42%)}.verse{font-size:clamp(.7rem,1.42vw,.86rem);font-style:italic;line-height:1.11}.verse cite{letter-spacing:.1em;margin-top:9px;font-family:Cinzel,serif;font-size:.83em;font-style:normal;display:block}.footer-ornament{text-shadow:1px 1px #efd28a;margin-top:2px;font-size:1.45rem}.status-message{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes seal-pulse{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:0 10px 10px #1802058c,0 0 0 4px #4b0b17,inset 3px 4px 7px #ffa09f59,inset -6px -8px 10px #2201079e,0 0 15px #7e18277a}50%{transform:translate(-50%,-50%)scale(1.035);box-shadow:0 12px 13px #18020594,0 0 0 4px #4b0b17,inset 3px 4px 7px #ffa09f59,inset -6px -8px 10px #2201079e,0 0 31px #ddaf4dad}}@media (width<=719px){:root{--paper-open-height:clamp(1320px, 390vw, 1510px)}.wedding-page{padding-inline:5px}.scroll-canvas{height:245px}.opening-hint{margin-bottom:8px}.closed-scroll{width:91vw;height:clamp(104px,30vw,135px)}.closed-ornament{font-size:clamp(2.25rem,14vw,3.8rem)}.wax-seal{width:clamp(82px,25vw,105px)}.parchment-stage{width:96vw}.parchment-paper{inset-block:16px}.parchment-paper:before{inset:16px}.paper-roll{height:clamp(34px,12vw,48px)}.paper-roll-top{top:calc(50% - 23px)}.paper-roll-bottom{bottom:calc(50% - 23px)}.corner-ornament{font-size:clamp(3.15rem,19vw,4.8rem)}.corner-top-left{top:17px;left:16px}.corner-top-right{top:17px;right:16px}.corner-bottom-left{bottom:17px;left:16px}.corner-bottom-right{bottom:17px;right:16px}.invitation-content{gap:clamp(8px,2.5vw,13px);padding:60px clamp(34px,11vw,54px) 55px}.crest{width:clamp(124px,42vw,168px)}.intro-copy{font-size:clamp(.78rem,3.45vw,.98rem)}.couple-names{font-size:clamp(2.48rem,12vw,3.65rem)}.wedding-date{font-size:clamp(1.9rem,9.3vw,2.8rem)}.ceremony-time{gap:5px}.ceremony-time strong{font-size:clamp(.68rem,3.05vw,.95rem)}.branch{font-size:1.2rem}.arrival-note{font-size:clamp(.77rem,3.35vw,.94rem)}.venue h2{letter-spacing:.045em;font-size:clamp(1.1rem,5.2vw,1.6rem)}.venue address{font-size:clamp(.83rem,3.7vw,1.05rem)}.verse{font-size:clamp(.62rem,2.75vw,.78rem)}}@media (width<=380px){:root{--paper-open-height:1460px}.invitation-content{padding-inline:31px}.couple-names{font-size:2.55rem}.ceremony-time strong{font-size:.67rem}.branch{display:none}.venue h2{font-size:1.08rem}.verse{font-size:.61rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.closed-scroll{aspect-ratio:3/2;width:min(1692px,100vw);height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible;transform:translate(-50%,-50%)}.closed-scroll:before,.closed-scroll:after,.scroll-cap,.closed-ornament,.golden-cord{display:none}.closed-scroll-art{object-fit:contain;filter:drop-shadow(0 30px 26px #0000007a);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.wax-seal{width:clamp(72px,10.5vw,106px);box-shadow:none;background:0 0;border-radius:50%;animation:2s ease-in-out infinite seal-art-pulse;top:44.2%;left:56.8%}.wax-seal:before{border:1px solid #4c091673;inset:4%;box-shadow:inset 0 0 9px #2e020961}.wax-seal:after{inset:-10%}.wax-seal:hover,.wax-seal:focus-visible{box-shadow:0 0 0 8px #e5c06629,0 0 28px #edc96ca3}.seal-inner{width:72%;box-shadow:none;border:0}.seal-monogram{color:#4d0917;text-shadow:1px 1px 1px #dc737e6b,-1px -1px 1px #190106b3;font-size:clamp(1.75rem,3.8vw,2.55rem)}.state-opening .closed-scroll{filter:blur(3px);transform:translate(-50%,-50%)scale(.94)}.parchment-paper{background-position:50%;box-shadow:0 30px 48px #0000009e,inset 0 0 48px #673e0f47,inset 0 0 0 5px #debf7047,inset 0 0 0 7px #6846149e,inset 0 0 0 11px #f4da912e,inset 0 0 0 13px #6f4b1780}.parchment-paper:before{inset:18px}.corner-ornament{aspect-ratio:1;width:clamp(98px,17vw,164px);color:initial;filter:drop-shadow(2px 3px 2px #4327058c);background:url(/golden-corner-mobile.webp) 0 100%/contain no-repeat;font-size:0}.corner-ornament:after{display:none}.top-flourish,.footer-ornament{color:#9a6c1e;justify-content:center;align-items:center;width:min(270px,56%);line-height:1;display:flex}.top-flourish:before,.top-flourish:after,.footer-ornament:before,.footer-ornament:after{content:"";background:linear-gradient(90deg,#0000,#9f722a);width:45%;height:1px}.top-flourish:after,.footer-ornament:after{transform:scaleX(-1)}.top-flourish span,.footer-ornament span{padding:0 8px;font-size:.62rem}.couple-names{font-family:Pinyon Script,Great Vibes,cursive;font-size:clamp(2.85rem,6.2vw,4.15rem);line-height:.8}.couple-names>span{white-space:nowrap}.arrival-note{font-size:clamp(.84rem,1.62vw,1rem)}.verse{font-size:clamp(.72rem,1.25vw,.82rem)}@keyframes seal-art-pulse{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 #deb65766,0 0 14px #6e0d1f61}50%{transform:translate(-50%,-50%)scale(1.045);box-shadow:0 0 0 11px #deb65700,0 0 30px #ebc6669e}}@media (width<=719px){:root{--paper-open-height:clamp(820px, 238vw, 920px)}.scroll-canvas{height:clamp(265px,82vw,350px)}.closed-scroll{width:112vw}.wax-seal{width:clamp(70px,23vw,94px);top:44.2%;left:56.8%}.parchment-stage{width:97vw}.parchment-paper:before{inset:12px}.corner-ornament{width:clamp(78px,26vw,112px)}.corner-top-left{top:10px;left:9px}.corner-top-right{top:10px;right:9px}.corner-bottom-left{bottom:9px;left:9px}.corner-bottom-right{bottom:9px;right:9px}.invitation-content{gap:0;padding:56px clamp(32px,9.5vw,44px) 50px}.couple-names{font-size:clamp(2rem,8.7vw,2.58rem)}.wedding-date{font-size:clamp(1.75rem,8.8vw,2.45rem)}.ceremony-time strong{font-size:clamp(.66rem,2.95vw,.88rem)}.arrival-note{font-size:clamp(.68rem,2.85vw,.84rem)}.venue h2{font-size:clamp(1.02rem,4.85vw,1.43rem)}.venue address{font-size:clamp(.79rem,3.45vw,.98rem)}.verse{font-size:clamp(.56rem,2.4vw,.71rem)}}@media (width<=380px){:root{--paper-open-height:860px}.invitation-content{padding-inline:30px}.couple-names{font-size:1.98rem}.ceremony-time strong{font-size:.63rem}.venue h2{font-size:1rem}.verse{font-size:.55rem}}:root{--paper-open-height:clamp(1050px, 122vw, 1160px);--antique-ink:#694510;--antique-gold:#a87922;--antique-gold-light:#e7ca76}.parchment-stage{perspective:1500px;filter:drop-shadow(0 30px 25px #0000004d)}.parchment-stage:before{z-index:-1;content:"";filter:blur(21px);opacity:.82;background:#0009;border-radius:46%/3%;position:absolute;inset:55px -2.5% 25px;transform:translateY(22px)scaleX(.97)}.parchment-paper{transform-origin:top;background-image:radial-gradient(at 49% 2%,#fffad6b8,#0000 19%),radial-gradient(at 50% 100%,#62390c2e,#0000 25%),linear-gradient(90deg,#48270852,#0000 4.5%,#fff7d229 18%,#fffadc40 51%,#0000 84%,#46270959),linear-gradient(#fff7cc40,#0000 13% 88%,#4b2b0b38),url(/antique-parchment-mobile.webp);border:1px solid #5f390edb;border-radius:7px 7px 13px 13px/3px 3px 9px 9px;inset:29px 3px;transform:rotateX(.72deg);box-shadow:0 42px 55px #000000ad,-15px 7px 23px #00000038,15px 8px 23px #00000042,inset 15px 0 24px #5b340b2e,inset -15px 0 24px #5b340b33,inset 0 18px 20px #fff7ca59,inset 0 -21px 24px #57310a2e,inset 0 0 0 5px #debf7047,inset 0 0 0 7px #6846149e,inset 0 0 0 11px #f4da912e,inset 0 0 0 13px #6f4b1780}.parchment-paper:before{z-index:4;border-color:#6f4814cc;inset:19px;box-shadow:inset 0 0 0 2px #f1d68e38,inset 0 0 0 4px #744c1770,0 0 13px #522f0a26}.parchment-paper:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#4e2a0730,#0000 3.5% 96.5%,#4e2a0733),radial-gradient(at 50% 0,#fffbdd7a,#0000 17%),radial-gradient(at 50% 100%,#46260826,#0000 19%);position:absolute;inset:0}.paper-roll{background-image:linear-gradient(#4b2a099e,#fff2bfba 35%,#e8d09994 57%,#532e098a 100%),url(/antique-parchment-mobile.webp);border-color:#5b350de0;width:105.6%;height:clamp(54px,8vw,70px);left:-2.8%;box-shadow:0 13px 18px #0000007a,inset 0 8px 9px #fff4c68c,inset 0 -11px 13px #56300a61}.paper-roll:before,.paper-roll:after{background:radial-gradient(circle at 48%,#2c1909 0 14%,#8f6a32 16% 27%,#e3ca88 30% 45%,#67451c 49% 58%,#d4b875 63% 78%,#62401a 82% 100%);border:1px solid #42260bad;width:6.5%;height:96%;top:2%;box-shadow:inset 0 0 8px #1c0d05,0 4px 7px #0000005c}.invitation-content{padding:clamp(86px,8vw,96px) clamp(58px,7vw,76px) clamp(79px,7vw,88px)}.couple-names{color:var(--antique-ink);letter-spacing:.008em;text-shadow:1px 1px #ffefb8bf,0 2px 3px #5d360a24;font-family:Pinyon Script,Great Vibes,cursive;font-size:clamp(3.05rem,6.5vw,4.4rem);line-height:.77}.wedding-date{letter-spacing:.13em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.45rem,5.7vw,3.55rem);font-weight:500}.wedding-date i{vertical-align:.18em;font-size:.48em}.ceremony-time strong{letter-spacing:.035em}.branch{color:#a67521;filter:drop-shadow(1px 1px #ffe5998c)}.heart-divider span,.ornamental-divider span{align-items:center;gap:4px;display:inline-flex}.heart-divider span:before,.heart-divider span:after,.ornamental-divider span:before,.ornamental-divider span:after{color:#a67521;content:"❧";font-size:.8em}.heart-divider span:before,.ornamental-divider span:before{transform:rotate(-28deg)}.heart-divider span:after,.ornamental-divider span:after{transform:rotate(28deg)scaleX(-1)}.venue{width:100%}.map-button{color:#60400f;letter-spacing:.08em;background:linear-gradient(#f0dfae,#d9bc73) padding-box padding-box,linear-gradient(135deg,#fff1b0,#7c5014,#efd78a) border-box;border:1px solid #8d611b;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;margin-top:13px;padding:8px 19px;font-family:Cinzel,serif;font-size:clamp(.64rem,1.25vw,.78rem);font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 5px 10px #4c2b0833,inset 0 1px #fffadee6,inset 0 -2px 4px #6b430e2e}.map-button:hover,.map-button:focus-visible{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 7px 15px #4c2b084d,0 0 0 3px #be903629}.map-button:focus-visible{outline-offset:3px;outline:2px solid #7f5415}.map-icon{font-family:Georgia,serif;font-size:1.35em}.countdown{background:#eed9a32e;border:1px solid #8b5e1b9e;border-radius:50%/14%;width:min(520px,88%);padding:13px 17px 12px;position:relative;box-shadow:inset 0 0 0 3px #f4e0a92e,inset 0 0 15px #71481217}.countdown:before,.countdown:after{color:#a47421;content:"❧";filter:drop-shadow(1px 1px #ffecb0a6);font-size:1.7rem;position:absolute;top:50%}.countdown:before{left:-17px;transform:translateY(-50%)rotate(-38deg)}.countdown:after{right:-17px;transform:translateY(-50%)rotate(38deg)scaleX(-1)}.countdown-flourish{color:#a1711f;align-items:center;width:74%;margin:-4px auto 2px;display:flex}.countdown-flourish:before,.countdown-flourish:after{content:"";background:linear-gradient(90deg,#0000,#a1711f);width:50%;height:1px}.countdown-flourish:after{transform:scaleX(-1)}.countdown-flourish span{padding:0 7px}.countdown h2{margin:0 0 7px;font-family:Pinyon Script,Great Vibes,cursive;font-size:clamp(1.35rem,3.1vw,1.9rem);font-weight:400;line-height:1}.countdown-grid{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;display:grid}.countdown-grid>span{gap:1px;display:grid}.countdown-grid strong{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;line-height:.9}.countdown-grid small{letter-spacing:.1em;font-family:Cinzel,serif;font-size:clamp(.46rem,.85vw,.58rem)}.countdown-grid i{color:#a77824;font-size:.76rem;font-style:normal}.music-control{z-index:30;aspect-ratio:1;color:#5f3d0d;cursor:pointer;opacity:0;background:radial-gradient(circle at 35% 28%,#fff0ae,#d3ad58 55%,#8e611c 100%);border:1px solid #7d5012;border-radius:50%;place-items:center;width:52px;padding:0;animation:.5s 1.25s forwards music-control-in;display:grid;position:fixed;bottom:clamp(15px,2.7vw,34px);right:clamp(15px,2.7vw,34px);transform:translateY(10px)scale(.9);box-shadow:0 8px 18px #0000006b,inset 0 0 0 3px #ffeeae6b,inset 0 -5px 8px #5b350a40}.music-control[hidden]{display:none}.music-control:before{content:"";border:1px solid #69430e7a;border-radius:50%;position:absolute;inset:6px}.music-control span{font-family:Georgia,serif;font-size:1.42rem;position:relative}.music-control:hover,.music-control:focus-visible{filter:brightness(1.08);transform:translateY(-2px)scale(1.03)}.music-control:focus-visible{outline-offset:4px;outline:2px solid #f1d27c}.music-control.is-playing{box-shadow:0 8px 18px #0000006b,0 0 0 7px #e1be631c,0 0 24px #e8c76e5c,inset 0 0 0 3px #ffeeae6b}@keyframes music-control-in{to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=719px){:root{--paper-open-height:clamp(1120px, 305vw, 1250px)}.parchment-stage{width:97vw}.parchment-paper{inset:24px 2px}.parchment-paper:before{inset:12px}.paper-roll{width:105%;height:clamp(46px,13vw,58px);left:-2.5%}.state-opening .paper-roll-top,.state-open .paper-roll-top{top:-6px}.state-opening .paper-roll-bottom,.state-open .paper-roll-bottom{bottom:-6px}.invitation-content{padding:65px clamp(32px,9.5vw,44px) 62px}.couple-names{font-size:clamp(2.08rem,9.15vw,2.72rem);line-height:.79}.wedding-date{letter-spacing:.095em;font-size:clamp(1.9rem,9.2vw,2.55rem)}.map-button{min-height:38px;margin-top:10px;padding:7px 13px;font-size:clamp(.55rem,2.45vw,.68rem)}.countdown{width:92%;padding:11px 12px 10px}.countdown:before{left:-12px}.countdown:after{right:-12px}.countdown h2{font-size:clamp(1.22rem,5.7vw,1.64rem)}.countdown-grid strong{font-size:clamp(1.32rem,6vw,1.7rem)}.countdown-grid small{font-size:clamp(.4rem,1.9vw,.52rem)}.music-control{width:46px}}@media (width<=380px){:root{--paper-open-height:1140px}.invitation-content{padding-inline:29px}.couple-names{font-size:2.04rem}.countdown{width:94%}}:root{--paper-open-height:clamp(1460px, 174vw, 1580px)}.parchment-stage{filter:drop-shadow(0 34px 31px #0000006b);width:min(760px,96vw)}.state-opening .parchment-stage,.state-open .parchment-stage{clip-path:inset(-40px -70px round 10px)}.parchment-stage:before{filter:blur(26px);opacity:.7;border-radius:44%/4%;inset:78px 1% 62px;transform:translateY(25px)scaleX(.94)}.parchment-paper{clip-path:polygon(1.2% .2%,12% 0,26% .25%,42% 0,58% .18%,74% 0,88% .22%,98.8% .1%,99.2% 5%,98.7% 11%,99.25% 18%,98.75% 25%,99.15% 33%,98.65% 41%,99.2% 50%,98.72% 59%,99.18% 67%,98.7% 75%,99.25% 83%,98.75% 91%,99% 99.7%,87% 99.9%,72% 99.65%,56% 99.9%,40% 99.7%,24% 99.95%,10% 99.72%,1% 99.9%,.65% 92%,1.2% 84%,.72% 76%,1.15% 68%,.68% 59%,1.2% 50%,.72% 41%,1.18% 33%,.66% 25%,1.15% 17%,.7% 10%);background-color:#f0dfb2;background-image:radial-gradient(at 48% 1%,#fffce2cc,#0000 17%),radial-gradient(at 55% 99%,#794b1421,#0000 21%),radial-gradient(circle at 8% 18%,#774b1514,#0000 16%),radial-gradient(circle at 91% 72%,#774b1512,#0000 18%),linear-gradient(90deg,#4f2c0942,#0000 3.2%,#fff8d726 16%,#fffbe042 50%,#fff8d71f 84%,#0000 96.6%,#4e2b0947),linear-gradient(#fff8d53d,#0000 9% 91%,#59330b2e),url(/antique-parchment-mobile.webp);border:0;border-radius:0;inset:38px 13px 40px;transform:rotateX(.38deg);box-shadow:0 45px 60px #0000009c,-13px 8px 24px #0003,13px 8px 24px #00000038,inset 20px 0 26px #59320a21,inset -20px 0 26px #59320a24,inset 0 16px 19px #fffadb4d,inset 0 -18px 22px #55300a21}.parchment-paper:before{opacity:.9;border:1px solid #906220a8;inset:20px 22px;box-shadow:inset 0 0 0 2px #f1d8952e,inset 0 0 0 3px #7b521952}.parchment-paper:after{background:linear-gradient(90deg,#4d2a072b,#0000 2.8% 97.2%,#4d2a072e),radial-gradient(at 50% 0,#fffde58a,#0000 13%),radial-gradient(at 50% 100%,#4e2b091a,#0000 16%)}.paper-roll{background-color:#ddc895;background-image:linear-gradient(#4f2d0a7a,#fff6cdc7 32%,#edd8a69e 60%,#57310a6e 100%),url(/antique-parchment-mobile.webp);border:1px solid #5d370eb3;border-radius:50%/28%;width:101%;height:clamp(54px,7.4vw,66px);left:-.5%;overflow:visible;box-shadow:0 13px 16px #0000005e,inset 0 7px 8px #fff9d7a3,inset 0 -10px 12px #5f370d47}.paper-roll:before,.paper-roll:after{display:none}.roll-rod{z-index:2;background:linear-gradient(#fff0a3 0%,#c59438 32%,#744812 68%,#d7ad57 100%);border:1px solid #72501e;border-radius:999px;height:10px;position:absolute;top:63%;left:-2.2%;right:-2.2%;transform:translateY(-50%);box-shadow:0 4px 7px #00000061,inset 0 1px 1px #fff5bde6}.roll-rod:before,.roll-rod:after{aspect-ratio:1;content:"";background:radial-gradient(circle at 34% 28%,#fff5b3 0 8%,#e6bd62 22%,#9d681d 52%,#5b370d 78%,#c2933b 100%);border:1px solid #68430f;border-radius:50%;width:30px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 5px 9px #00000073,inset -4px -5px 7px #4c2a0652}.roll-rod:before{left:-14px}.roll-rod:after{right:-14px}.state-opening .paper-roll-top,.state-open .paper-roll-top{top:2px}.state-opening .paper-roll-bottom,.state-open .paper-roll-bottom{bottom:2px;box-shadow:0 -7px 13px #4a2a0945,0 14px 18px #0000006b,inset 0 7px 8px #fff9d78c,inset 0 -10px 12px #5f370d57}.corner-ornament{filter:drop-shadow(1px 1px #ffeba4b8)drop-shadow(3px 5px 3px #4929058c);width:clamp(132px,20vw,188px)}.corner-top-left{top:12px;left:12px}.corner-top-right{top:12px;right:12px}.corner-bottom-left{bottom:12px;left:12px}.corner-bottom-right{bottom:12px;right:12px}.invitation-content{justify-content:flex-start;gap:clamp(9px,1.05vw,15px);padding:clamp(94px,8vw,108px) clamp(66px,8.5vw,88px) clamp(90px,7vw,102px)}.top-flourish{width:min(340px,66%)}.royal-crest{aspect-ratio:.9;background:radial-gradient(#fff5cd33,#0000 70%);border:1px solid #875b1bbf;border-radius:50%;width:clamp(155px,25vw,192px);margin-top:1px;position:relative;box-shadow:inset 0 0 0 3px #efd18233,0 0 0 1px #643f0e2e}.royal-crest:before,.royal-crest:after{border-color:#a77825;width:47%;top:14%;bottom:7%}.royal-crest .crest-monogram{color:#765016;filter:drop-shadow(1px 1px #ffefb2b3);background:linear-gradient(145deg,#6c420d,#dbb759 45%,#7e5312 72%);-webkit-background-clip:text;background-clip:text;font-size:clamp(4.8rem,10vw,6.4rem)}.royal-crest .crest-monogram span+span{margin-left:.1em;transform:translateY(.13em)}.crest-crown{z-index:3;color:#9f7020;filter:drop-shadow(1px 1px #ffe593b3);font-size:2rem;position:absolute;top:-28px;left:50%;transform:translate(-50%)scaleX(.82)}.royal-crest .crest-leaf{font-size:clamp(2.4rem,5vw,3.25rem)}.royal-crest .crest-leaf-left{left:-22%}.royal-crest .crest-leaf-right{right:-22%}.opening-phrase{color:#704912;text-shadow:1px 1px #ffeeb7ad;font-size:clamp(1.9rem,4vw,2.55rem)}.intro-copy{gap:12px;font-size:clamp(.98rem,1.8vw,1.12rem);line-height:1.18}.ornamental-divider.compact{margin-block:1px 2px}.couple-names{font-size:clamp(3.15rem,6.35vw,4.38rem);line-height:.79}.couple-names small{margin:.11em 0 .06em;font-size:.26em}.wedding-date{font-size:clamp(2.65rem,6.1vw,3.8rem)}.ceremony-time strong{font-size:clamp(1rem,2.15vw,1.3rem)}.arrival-note{font-size:clamp(.95rem,1.7vw,1.08rem);line-height:1.15}.venue h2{font-size:clamp(1.62rem,3.9vw,2.3rem)}.venue address{font-size:clamp(1.08rem,2.2vw,1.32rem)}.verse{font-size:clamp(.88rem,1.5vw,1rem);line-height:1.2}.verse cite{margin-top:10px;font-size:.88em}.map-button{margin-top:11px}.countdown{margin-top:3px}.footer-ornament{margin-top:auto}@media (width<=719px){:root{--paper-open-height:clamp(1600px, 435vw, 1780px)}.parchment-stage{width:98vw}.parchment-paper{inset:31px 8px 33px}.parchment-paper:before{inset:13px 14px}.paper-roll{width:100%;height:clamp(48px,13vw,58px);left:0}.roll-rod{height:8px;left:-2%;right:-2%}.roll-rod:before,.roll-rod:after{width:24px}.roll-rod:before{left:-11px}.roll-rod:after{right:-11px}.corner-ornament{width:clamp(92px,29vw,126px)}.corner-top-left{top:7px;left:6px}.corner-top-right{top:7px;right:6px}.corner-bottom-left{bottom:7px;left:6px}.corner-bottom-right{bottom:7px;right:6px}.invitation-content{gap:clamp(9px,2.9vw,13px);padding:75px clamp(34px,10.5vw,48px) 73px}.royal-crest{width:clamp(132px,39vw,158px)}.royal-crest .crest-monogram{font-size:clamp(4.25rem,20vw,5.25rem)}.crest-crown{font-size:1.65rem;top:-24px}.opening-phrase{font-size:clamp(1.48rem,7vw,1.9rem)}.intro-copy{gap:10px;font-size:clamp(.78rem,3.35vw,.96rem)}.couple-names{font-size:clamp(2.25rem,9.75vw,2.78rem)}.wedding-date{font-size:clamp(2.05rem,9.6vw,2.65rem)}.ceremony-time strong{font-size:clamp(.7rem,3vw,.9rem)}.arrival-note{font-size:clamp(.72rem,3.05vw,.88rem)}.venue h2{font-size:clamp(1.15rem,5.15vw,1.48rem)}.venue address{font-size:clamp(.87rem,3.65vw,1.03rem)}.verse{font-size:clamp(.7rem,2.95vw,.84rem)}.countdown{width:94%}}@media (width<=380px){:root{--paper-open-height:1650px}.invitation-content{padding-inline:31px}.couple-names{font-size:clamp(2rem,9.4vw,2.24rem)}.verse{font-size:.69rem}}.roll-rod{height:0;box-shadow:none;background:0 0;border:0;left:0;right:0}.roll-rod:before,.roll-rod:after{background:radial-gradient(circle at 35% 28%,#fff5b3 0 8%,#e7bd5d 22%,#a36d1f 50%,#5b370d 78%,#c89a43 100%);border-color:#68430f;width:28px;box-shadow:0 5px 9px #00000073,inset -4px -5px 7px #4c2a0652,inset 2px 2px 2px #fff1acb3}.roll-rod:before{clip-path:inset(0 50% 0 0);left:-14px}.roll-rod:after{clip-path:inset(0 0 0 50%);right:-14px}.parchment-paper:before{opacity:1;border-color:#976419db;inset:21px 23px;box-shadow:0 0 0 1px #edcd7661,inset 0 0 0 1px #ffefae47}.gilded-frame{z-index:3;pointer-events:none;border:1px solid #a36f1bf5;position:absolute;inset:15px 17px;box-shadow:0 0 0 1px #e6be569e,inset 0 0 0 1px #ffeda96b}.frame-divider{filter:saturate(1.16)contrast(1.03);mix-blend-mode:multiply;background:url(/gilded-divider-mobile.webp) 50%/100% 100% no-repeat;width:calc(100% - 112px);height:30px;position:absolute;left:50%;transform:translate(-50%)}.frame-divider-top{top:-15px}.frame-divider-bottom{bottom:-15px;transform:translate(-50%)rotate(180deg)}.corner-ornament{aspect-ratio:auto;filter:saturate(1.16)contrast(1.04)drop-shadow(1px 1px #ffedaf85)drop-shadow(2px 3px 2px #53310852);mix-blend-mode:multiply;background:url(/golden-corner-mobile.webp) 0 0/100% 100% no-repeat;width:clamp(86px,13vw,112px);height:clamp(270px,40vw,340px)}.corner-top-left{top:12px;left:12px;transform:none}.corner-top-right{top:12px;right:12px;transform:scaleX(-1)}.corner-bottom-left{bottom:12px;left:12px;transform:scaleY(-1)}.corner-bottom-right{bottom:12px;right:12px;transform:scale(-1)}.crest-reference-wrap{aspect-ratio:210/161;width:clamp(210px,31vw,265px);box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:0;overflow:visible}.crest-reference-wrap:before,.crest-reference-wrap:after{display:none}.crest-reference{object-fit:contain;filter:saturate(1.08)contrast(1.04);mix-blend-mode:multiply;width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(#000 67%,#0000 100%);mask-image:radial-gradient(#000 67%,#0000 100%)}.semantic-names{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.couple-names-reference{object-fit:contain;filter:saturate(1.08)contrast(1.03);mix-blend-mode:multiply;width:min(610px,100%);height:auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3.5% 96.5%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3.5% 96.5%,#0000)}@media (width<=719px){.parchment-paper:before{inset:15px 16px}.gilded-frame{inset:10px 11px}.frame-divider{width:calc(100% - 78px);height:24px}.frame-divider-top{top:-12px}.frame-divider-bottom{bottom:-12px}.roll-rod:before,.roll-rod:after{width:22px}.roll-rod:before{left:-11px}.roll-rod:after{right:-11px}.corner-ornament{width:clamp(62px,20vw,78px);height:clamp(195px,58vw,235px)}.corner-top-left{top:8px;left:7px}.corner-top-right{top:8px;right:7px}.corner-bottom-left{bottom:8px;left:7px}.corner-bottom-right{bottom:8px;right:7px}.crest-reference-wrap{width:clamp(180px,55vw,215px)}.couple-names-reference{width:100%}}.paper-roll{transform-origin:50%;width:calc(100% - 12px);left:50%;transform:translate(-50%)}.roll-rod{top:50%;left:0;right:0}.roll-rod:before,.roll-rod:after{top:50%}.crest-reference,.couple-names-reference{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}.invitation-content{text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ceremony-time,.ceremony-time strong,.arrival-note,.venue h2,.venue address,.verse,.verse cite{font-family:Cormorant Garamond,Georgia,serif}.ceremony-time strong{letter-spacing:.035em;font-weight:600}.arrival-note,.verse{font-weight:500}.venue h2{letter-spacing:.075em;font-weight:600}.venue address{letter-spacing:.004em;font-weight:500}.verse cite{letter-spacing:.12em;font-weight:600}@media (width<=719px){.paper-roll{width:calc(100% - 8px)}.roll-rod{top:50%}}.crest-reference,.couple-names-reference{filter:none;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}@media (width<=719px){.scroll-canvas{transition-duration:1.05s}.parchment-stage{clip-path:inset(0 -16px round 8px);filter:none;will-change:transform, opacity;transition:opacity .18s 80ms,transform .98s cubic-bezier(.62,0,.22,1);transform:translate(-50%)scaleY(.025)}.state-opening .parchment-stage,.state-open .parchment-stage{clip-path:inset(0 -16px round 8px);transform:translate(-50%)scaleY(1)}.state-open .parchment-stage{will-change:auto}.parchment-stage:before{display:none}.parchment-paper{contain:paint;transform:none;box-shadow:0 22px 32px #00000085,inset 13px 0 18px #59320a1f,inset -13px 0 18px #59320a21,inset 0 13px 16px #fffadb42,inset 0 -14px 17px #55300a1c}.paper-roll{transition-duration:.98s}.invitation-content{transition:opacity .42s .61s,transform .42s .61s;transform:translateY(6px)}.state-open .invitation-content{will-change:auto}.crest-reference,.couple-names-reference{backface-visibility:visible;transform:none}.corner-ornament{filter:saturate(1.1)contrast(1.03)}.music-control{box-shadow:0 4px 13px #00000052}}.invitation-actions{flex-direction:column;align-items:center;gap:8px;width:min(500px,100%);margin:11px auto 0;display:flex}.invitation-actions .map-button{margin-top:0}.invitation-actions-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(440px,100%);display:grid}.invitation-actions-row .map-button{width:100%}.map-button.compact{white-space:nowrap;padding-inline:12px;font-size:clamp(.58rem,1.08vw,.7rem)}@media (width<=719px){:root{--paper-open-height:clamp(1180px, 315vw, 1320px)}.invitation-actions{gap:7px}.invitation-actions-row{gap:6px}.map-button.compact{letter-spacing:.055em;min-height:36px;padding-inline:8px;font-size:clamp(.48rem,2.1vw,.6rem)}}@media (width<=380px){:root{--paper-open-height:1200px}}
