:root{--burgundy:#681c32;--forest:#102c25;--antique-gold:#c39b57;--warm-ivory:#f7efe0;--ink:#30251f;--parchment:#eadcc4;--serif:"Cormorant Garamond",Georgia,serif;--body:"EB Garamond",Georgia,serif;--script:"Great Vibes","Brush Script MT",cursive;--line:#c39b5755}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:var(--ink);background:var(--warm-ivory);font:19px/1.6 var(--body);-webkit-font-smoothing:antialiased;margin:0}#root{width:100%;overflow:clip}main{width:100%}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}figure,p,h1,h2,h3,dl,dd{margin:0}img{max-width:100%;display:block}h1,h2,h3{font:400 1em/1.05 var(--serif);text-wrap:balance}h2{margin:14px 0 28px;font-size:clamp(37px,8vw,51px)}h3{font-size:32px}p+p{margin-top:18px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--antique-gold);outline-offset:5px}.section-inner{width:100%;max-width:440px;margin:auto;position:relative}.eyebrow{font:500 10px/1.6 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}.handwritten{font:italic 23px/1.45 var(--serif)}.date-line{letter-spacing:.13em;text-transform:uppercase;font-size:12px}.railway-mark{width:60px;height:60px;color:var(--antique-gold);margin:auto;display:block}.invitation-section{text-align:center;background:var(--warm-ivory);padding:85px 25px;position:relative}.button{background:var(--burgundy);min-height:52px;color:var(--warm-ivory);border:1px solid var(--antique-gold);box-shadow:inset 0 0 0 4px var(--burgundy),inset 0 0 0 5px #c39b5750;font:500 15px/1.4 var(--body);letter-spacing:.04em;border-radius:0;justify-content:center;align-items:center;padding:14px 28px;text-decoration:none;display:inline-flex}.button:hover{background:var(--forest)}.text-link{text-underline-offset:5px;font-size:15px}.script-names{font:62px/1.2 var(--script)}.script-names span{font:italic 25px var(--serif);margin:6px 0;display:block}.gold-rule{background:var(--antique-gold);width:60px;height:1px;margin:25px auto}.train-hero{isolation:isolate;background:var(--forest);text-align:center;height:max(850px,100svh);color:var(--warm-ivory);padding:35px 25px 25px;position:relative;overflow:hidden}.hero-scenery{object-fit:cover;object-position:center 60%;z-index:-3;width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero-shade{z-index:-2;background:linear-gradient(#102c25b8 0%,#102c2580 40%,#102c2500 72%,#102c259c 100%);position:absolute;inset:0}.hero-content{flex-direction:column;align-items:center;height:100%;display:flex}.hero-masthead{border-bottom:1px solid #eed9b070;justify-content:space-between;align-items:center;width:100%;margin-bottom:35px;padding:0 0 18px;display:flex}.hero-masthead .railway-mark{color:#ecd2a0;width:39px;height:39px;margin:0}.hero-masthead>span{letter-spacing:.2em;text-transform:uppercase;font-size:9px}.train-hero .eyebrow{color:#f0d7ab;font-size:10px}.train-hero h1{letter-spacing:.11em;text-transform:uppercase;margin:13px 0 23px;font-size:26px}.hero-names{font:70px/1.05 var(--script);text-shadow:0 2px 25px #102c2580}.hero-names>span{display:block}.hero-names i{font:italic 30px/1.2 var(--serif);margin:8px 0;display:block}.hero-details{margin-top:24px}.hero-subtitle{font:italic 20px/1.4 var(--serif);max-width:260px;margin:auto}.hero-details time,.hero-details .hero-teaser{letter-spacing:.15em;text-transform:uppercase;margin-top:22px;font-size:12px;display:block}.hero-destination{margin-top:8px;font-size:13px}.hero-scroll{text-transform:uppercase;letter-spacing:.16em;text-shadow:0 1px 7px #000;margin-top:auto;padding-top:35px;font-size:9px;text-decoration:none}.hero-scroll span{margin-top:6px;font-size:22px;display:block}.hero-steam{filter:blur(12px);z-index:-1;pointer-events:none;background:radial-gradient(#fff9e438,#0000 65%);width:300px;height:160px;animation:9s ease-out steam-drift;position:absolute;bottom:24%;left:15%}@keyframes steam-drift{0%{opacity:0;transform:translateY(20px)}40%{opacity:.8}to{opacity:0;transform:translate(70px,-90px)}}.ticket-section{background:var(--parchment)}.ticket-section h2{font-size:43px}.wedding-ticket{background:#fbf4e5;border:1px solid #b79861;position:relative;transform:rotate(-1deg);box-shadow:6px 8px #cdb99240,0 15px 30px #4c301b20}.wedding-ticket:before,.wedding-ticket:after{content:"";background:var(--parchment);z-index:1;border:1px solid #b79861;border-radius:50%;width:20px;height:20px;position:absolute;bottom:87px;left:-11px}.wedding-ticket:after{left:auto;right:-11px}.ticket-topline{background:var(--forest);color:var(--warm-ivory);justify-content:space-between;align-items:center;gap:8px;padding:14px 17px;display:flex}.ticket-topline .railway-mark{width:33px;height:33px;margin:0}.ticket-topline p{font:20px var(--serif)}.ticket-topline>span{font:italic 17px var(--serif);color:var(--antique-gold);white-space:nowrap}.ticket-main{padding:30px 23px 25px}.ticket-main h3{font:42px/1.1 var(--script);color:var(--burgundy);justify-content:center;align-items:center;gap:10px;margin:20px 0 30px;display:flex}.ticket-main h3 i{font:italic 23px var(--serif)}.ticket-route-row{border-block:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.ticket-route-row small{text-transform:uppercase;letter-spacing:.08em;font-size:10px;display:block}.ticket-route-row strong{font:28px var(--serif);color:var(--burgundy);margin-top:4px;display:block}.ticket-route-row>span{color:var(--antique-gold);font-size:32px}.ticket-details{text-align:left;margin-top:23px}.ticket-details>div{padding:10px 0}.ticket-details dt{letter-spacing:.12em;text-transform:uppercase;color:#725a39;font-size:9px}.ticket-details dd{margin-top:3px;font-size:17px}.ticket-message{margin-top:22px;font-size:15px;font-style:italic;line-height:1.5}.ticket-stub{text-align:left;border-top:1px dashed #b79861;justify-content:space-between;align-items:center;gap:12px;padding:18px 21px;display:flex}.ticket-stub small{text-transform:uppercase;letter-spacing:.08em;font-size:8px;display:block}.ticket-stub>span{color:var(--burgundy);font-size:15px}.ticket-stub b{letter-spacing:.08em;white-space:nowrap;color:var(--burgundy);border:2px solid #681c3266;padding:8px;font-size:10px;font-weight:400;transform:rotate(-8deg)}.ticket-disclaimer{letter-spacing:.06em;text-transform:uppercase;color:#725a39;padding:0 15px 12px;font-size:9px}.couple-section .invitation-copy{font-size:21px}.couple-portrait{max-width:330px;margin:38px auto 30px;position:relative}.couple-portrait>div{border:1px solid var(--antique-gold);border-radius:160px 160px 0 0;padding:9px}.couple-portrait img{object-fit:cover;filter:sepia(.12);border-radius:150px 150px 0 0;width:100%;height:370px}.couple-portrait figcaption{font:italic 18px var(--serif);margin-top:16px}.couple-section>.section-inner>.railway-mark{width:42px;height:42px;margin-bottom:18px}.couple-section:after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:25%;right:25%}.railway-journey{text-align:center;background:#e8dbc2;padding:80px 24px 65px}.railway-journey header{margin:auto}.railway-journey h2{font-size:46px}.railway-journey header>p:last-child{font-size:18px}.route-canvas{height:1150px;margin:45px auto 0;position:relative}.railway-map{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.parallel-rail{fill:none;stroke:#806b48;stroke-width:2px}.rail-sleepers{stroke:#8e7852;stroke-width:4px;opacity:.5}.route-progress{fill:none;stroke:var(--antique-gold);stroke-width:3px;stroke-linecap:round}.route-locomotive,.train-carriage{filter:drop-shadow(2px 3px 2px #30251f40)}.station-milestones{pointer-events:none;flex-direction:column;justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset:0}.station-milestones li{text-align:left;align-items:center;width:41%;min-height:140px;display:flex}.station-milestones li:nth-child(2n){text-align:right;align-self:flex-end}.station-milestones a{pointer-events:auto;text-decoration:none;display:block}.station-milestones a>span{text-transform:uppercase;letter-spacing:.12em;color:var(--burgundy);background:#f7efe080;border:1px solid #b59b6e;padding:3px 8px;font-size:9px;display:inline-block}.station-milestones h3{margin:10px 0 8px;font-size:28px}.station-milestones small{font:italic 15px/1.35 var(--serif);display:block}.railway-journey .handwritten{margin-top:30px}.countdown-section{background:var(--burgundy);color:var(--warm-ivory);text-align:center;padding:80px 24px}.countdown-section .eyebrow{color:#e4c38b}.countdown-section h2{font-size:43px}.station-clock{color:#e4c38b;width:78px;height:78px;margin:0 auto 26px}.departure-board{text-align:left;background:#182721;border:5px double #a38753;margin-top:35px;padding:16px 17px;box-shadow:0 10px 20px #240c182b}.board-top{color:#dec28f;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #c39b5750;justify-content:space-between;gap:12px;padding-bottom:16px;font-size:9px;display:flex}.countdown-dials{grid-template-columns:repeat(4,1fr);gap:8px;padding:22px 0;display:grid}.countdown-dials>div{text-align:center;perspective:500px;min-width:0}.countdown-dials span{font:43px/1.4 var(--serif);font-variant-numeric:tabular-nums;color:#f2dfb9;background:linear-gradient(#091b16 49.5%,#2c3930 50%,#0a2019 51%);border:1px solid #c39b572e;display:block;position:relative;box-shadow:0 3px 2px #0003}.countdown-dials small{letter-spacing:.07em;text-transform:uppercase;color:#d1b989;margin-top:9px;font-size:8px;display:block}.board-status{letter-spacing:.09em;color:#d5c4a8;border-top:1px solid #c39b5750;padding-top:14px;font-size:10px}.board-status>span{background:#c39b57;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.stations-section{background:var(--warm-ivory)}.event-stations{text-align:left;margin:45px 0 0;padding-left:43px;position:relative}.event-stations:before{content:"";background:repeating-linear-gradient(#0000 0 11px,#b49b726e 11px 14px);border-inline:1px solid #a68e65;width:9px;position:absolute;top:20px;bottom:60px;left:8px}.event-station{padding:0 0 48px;position:relative}.event-station:last-child{padding-bottom:0}.station-stop{background:var(--forest);color:#e6c991;border:3px double var(--antique-gold);z-index:1;border-radius:50%;place-items:center;width:33px;height:33px;font-size:10px;display:grid;position:absolute;top:37px;left:-47px}.event-station>.eyebrow{letter-spacing:.13em;margin-bottom:10px;font-size:8px}.station-sign{width:100%;color:var(--warm-ivory);font:32px/1.1 var(--serif);border:3px double var(--antique-gold);background:var(--forest);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:14px 17px;display:flex;box-shadow:0 5px 10px #30251f16}.station-sign>span{font:21px var(--body);color:#dec28f}.station-1 .station-sign{background:#8a632a}.station-2 .station-sign{background:var(--burgundy)}.event-description{font:italic 20px/1.4 var(--serif);margin-top:20px}.event-schedule,.event-venue,.event-attire{margin-top:14px;font-size:16px;line-height:1.5}.event-venue{color:#786249}.event-attire{font-style:italic}.station-expanded{overflow:hidden}.station-expanded p{color:var(--burgundy);padding:15px 0 0;font-size:15px}.event-station>a{margin-top:17px;display:inline-block}.destination-section{background:var(--parchment)}.destination-art{color:var(--forest);background:#f2e6cf;border:1px solid #b99d6c;margin:35px auto;padding:12px}.destination-art svg{width:100%;display:block}.destination-art img{object-fit:cover;width:100%;max-height:350px}.destination-art figcaption{font:italic 13px var(--serif);margin:12px 0 5px}.destination-section h3{max-width:320px;margin:25px auto 20px;font-size:31px}.destination-section address{margin-bottom:18px;font-style:normal}.destination-section time{margin:23px 0;font-size:15px;display:block}.destination-section .button{margin-top:28px}.destination-section iframe{border:1px solid var(--antique-gold);width:100%;height:300px;margin-top:30px}.dress-section{background:#efe5d2}.suitcase{background:var(--burgundy);border:5px double var(--antique-gold);border-radius:6px;width:165px;height:113px;margin:45px auto 35px;position:relative;transform:rotate(-7deg);box-shadow:5px 7px #c9b38b55}.suitcase-handle{border:5px solid #8c6636;border-radius:7px 7px 0 0;width:55px;height:19px;margin:auto;position:absolute;top:-23px;left:0;right:0}.suitcase-stripe{border-inline:1px solid var(--antique-gold);background:#956a3a;width:10px;position:absolute;top:0;bottom:0;left:25px}.suitcase-stripe:last-child{left:auto;right:25px}.luggage-tag{z-index:1;color:var(--burgundy);border:1px solid var(--antique-gold);font:italic 17px var(--serif);background:#ecd8b2;padding:7px 12px;position:absolute;top:10px;right:-30px;transform:rotate(25deg)}.attire-list{margin:28px auto 0}.attire-list>div{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;gap:20px;padding:14px 0;font-size:18px;display:flex}.attire-list dd{color:var(--burgundy);font-style:italic}.dress-colors{flex-wrap:wrap;justify-content:center;gap:20px;padding:0;list-style:none;display:flex}.dress-colors span{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;margin:auto;display:block}.guest-section article{border-bottom:1px solid var(--line);padding:25px 0}.guest-section h3{margin-bottom:15px;font-size:27px}.forever-station{isolation:isolate;background:var(--forest);color:var(--warm-ivory);text-align:center;align-items:center;min-height:1040px;padding:75px 25px 50px;display:flex;position:relative;overflow:hidden}.closing-scenery{z-index:-3;object-fit:cover;object-position:center;width:100%;max-width:none;height:100%;position:absolute;inset:0}.closing-shade{z-index:-2;background:linear-gradient(#102c2585,#102c25b0 45%,#102c25ed);position:absolute;inset:0}.closing-content{padding:20px 0}.closing-content .eyebrow{color:#e1c18a;margin-top:20px}.closing-content h2{max-width:300px;margin:20px auto 30px;font-size:49px}.closing-message{font:italic 23px/1.5 var(--serif);max-width:340px;margin:auto}.closing-content>.handwritten{margin-top:35px;font-size:17px}.closing-content .script-names{margin:20px 0 28px}.closing-content .date-line{color:#e8d1a9}.closing-content>.button{color:#30251f;background:#c39b57;border-color:#e6c487;margin-top:35px;box-shadow:inset 0 0 0 4px #c39b57,inset 0 0 0 5px #30251f55}.demo-footnote{color:#e6d8c1;max-width:280px;margin:18px auto 0;font-size:12px;line-height:1.5}.back-link{text-underline-offset:5px;margin-top:30px;font-size:12px;display:inline-block}@media (width<=600px){.railway-map{width:145%;left:-22.5%}.route-canvas{height:1120px}.station-milestones h3{font-size:25px}.station-milestones small{font-size:15px}.station-milestones li{width:40%;min-height:140px}.railway-journey h2{font-size:43px}}@media (width<=350px){.train-hero{padding-inline:22px}.hero-names{font-size:63px}.hero-masthead{margin-bottom:33px}.train-hero h1{font-size:23px}.invitation-section{padding:70px 22px}.ticket-main{padding-inline:17px}.ticket-main h3{gap:8px;font-size:35px}.ticket-route-row strong{font-size:24px}.ticket-stub{padding-inline:15px}.ticket-stub b{padding:6px;font-size:9px}.couple-portrait img{height:325px}.railway-journey{padding-inline:22px}.station-milestones h3{font-size:23px}.station-milestones a>span{padding:3px 6px;font-size:8px}.station-milestones small{font-size:14px}.countdown-section{padding-inline:22px}.countdown-section h2{font-size:38px}.departure-board{padding:14px 12px}.countdown-dials{gap:6px}.countdown-dials span{font-size:35px}.countdown-dials small{letter-spacing:0;font-size:7px}.board-top{font-size:8px}.event-stations{padding-left:38px}.station-stop{left:-41px}.station-sign{padding:12px;font-size:29px}.forever-station{padding-inline:22px}.closing-content h2{font-size:44px}}@media (width>=900px){.train-hero{height:max(900px,100svh)}.hero-scenery{object-position:center 65%}.hero-masthead{margin-bottom:40px}.hero-names{font-size:80px}.hero-details{margin-top:28px}.hero-shade{background:linear-gradient(#102c259c,#102c2570 60%,#102c259c)}.forever-station{min-height:1120px}.closing-shade{background:#102c25a8}.invitation-section{padding-block:95px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero-steam{display:none}}.hero-details{text-shadow:0 2px 7px #102c25,0 0 20px #102c25}.hero-video{z-index:-2}.hero-shade{z-index:-1}.hero-steam{z-index:0}.hero-content{z-index:1}.scratch-station{background:var(--parchment)}.scratch-station h2{font-size:45px}.scratch-station>.section-inner>.eyebrow{letter-spacing:.16em;font-size:9px}.scratch-subtitle{max-width:350px;font:italic 22px/1.4 var(--serif);margin:0 auto 35px}.golden-ticket{isolation:isolate;background:#fcf4e3;border:1px solid #af8748;position:relative;box-shadow:6px 8px #c9af7f4d,0 16px 30px #49331f1a}.golden-ticket:before,.golden-ticket:after{content:"";z-index:2;background:var(--parchment);border:1px solid #af8748;border-radius:50%;width:20px;height:20px;position:absolute;bottom:41px;left:-11px}.golden-ticket:after{left:auto;right:-11px}.golden-ticket-header{background:var(--forest);color:var(--warm-ivory);border-bottom:3px double var(--antique-gold);justify-content:space-between;align-items:center;gap:9px;padding:15px 18px;display:flex}.golden-ticket-header .railway-mark{flex:none;width:32px;height:32px;margin:0}.golden-ticket-header h3{font:23px/1.2 var(--serif)}.golden-ticket-header>span{font:italic 18px var(--serif);color:#e6cb96;white-space:nowrap}.golden-ticket-body{padding:26px 22px 20px}.golden-ticket-body>.eyebrow{letter-spacing:.13em;font-size:9px}.golden-ticket-initials{font:italic 40px/1.2 var(--serif);color:var(--burgundy);margin:15px 0 23px}.scratch-surface{isolation:isolate;background:#f9edcf;border:1px solid #ad8649;width:100%;height:186px;position:relative;box-shadow:inset 0 0 0 5px #e9d7ad}.scratch-date{color:var(--burgundy);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:14px 10px}.scratch-date p{text-transform:uppercase;letter-spacing:.14em;font-size:10px}.scratch-date time,.scratch-date strong{font:500 clamp(22px,5.3vw,31px)/1.2 var(--serif);text-transform:uppercase;font-variant-numeric:lining-nums;text-wrap:balance;margin:14px 0 15px;display:block}.scratch-date>span{font:italic 18px var(--serif)}.scratch-cover{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;opacity:1;z-index:1;width:100%;height:100%;transition:opacity .65s;display:block;position:absolute;inset:0}.is-revealed .scratch-cover{opacity:0;pointer-events:none;touch-action:auto}.scratch-help{color:#6b5535;max-width:300px;margin:18px auto 0;font-size:13px;line-height:1.5}.scratch-actions{justify-content:center;align-items:center;gap:20px;margin-top:22px;display:flex}.scratch-reveal-button{min-height:46px;padding:11px 22px;font-size:14px}.scratch-reveal-button:disabled{background:var(--forest);box-shadow:inset 0 0 0 4px var(--forest),inset 0 0 0 5px #c39b5750;opacity:1;cursor:default}.scratch-reset{color:var(--burgundy);background:0 0;border:0;border-bottom:1px solid #95733b;min-height:44px;padding:8px 2px;font-size:14px}.scratch-status{font:italic 18px/1.4 var(--serif);color:var(--burgundy);justify-content:center;align-items:center;max-width:310px;min-height:76px;margin:24px auto 0;display:flex}.scratch-venue{margin-top:18px;font-size:16px}.golden-ticket-stub{color:#735325;letter-spacing:.05em;border-top:1px dashed #b59156;justify-content:space-between;gap:12px;padding:15px 20px;font-size:10px;display:flex}.golden-ticket-stub>span:last-child{white-space:nowrap}.scratch-sparkles{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.scratch-sparkles>span{left:var(--spark-x);color:#c09643;text-shadow:0 0 10px #f5db91;opacity:0;animation:ticket-sparkle 1.2s var(--spark-delay) ease-out both;font-size:17px;position:absolute;top:55%}@keyframes ticket-sparkle{0%{opacity:0;transform:translateY(10px)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(var(--spark-drift),-95px) scale(.7) rotate(50deg)}}@media (width<=350px){.scratch-station h2{font-size:38px}.scratch-subtitle{font-size:20px}.golden-ticket-header{gap:7px;padding:14px 12px}.golden-ticket-header h3{font-size:21px}.golden-ticket-header>span{font-size:16px}.golden-ticket-body{padding:24px 16px 18px}.scratch-date time{font-size:24px}.scratch-actions{gap:17px}.scratch-reveal-button{padding:11px 18px}.golden-ticket-stub{padding-inline:15px;font-size:9px}}@media (prefers-reduced-motion:reduce){.scratch-cover{transition:none}.scratch-sparkles{display:none}}body.envelope-active{overflow:hidden}.video-envelope-intro{z-index:100;background:#e8e2d3;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.video-envelope-intro:focus{outline:none}.video-envelope-intro .envelope-button{background:0 0;border:0;border-radius:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.video-envelope-intro .envelope-button:focus-visible{outline:none}.envelope-video{object-fit:contain;object-position:center;pointer-events:none;width:100%;height:100%;display:block}.envelope-prompt{bottom:max(26px, env(safe-area-inset-bottom));border:1px solid var(--antique-gold);min-width:160px;min-height:48px;color:var(--warm-ivory);font:italic 19px/1.2 var(--serif);letter-spacing:.03em;white-space:nowrap;pointer-events:none;background:#102c25f2;border-radius:4px;place-items:center;padding:12px 26px;animation:3.6s ease-in-out infinite envelope-prompt-float;display:grid;position:absolute;left:50%;translate:-50%;box-shadow:inset 0 0 0 3px #102c25,inset 0 0 0 4px #c39b5755,0 5px 20px #30251f26}.envelope-button:focus-visible .envelope-prompt{outline:2px solid var(--antique-gold);outline-offset:5px}.envelope-button:hover .envelope-prompt{background:var(--forest)}.envelope-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.envelope-recovery{left:50%;bottom:max(92px, calc(env(safe-area-inset-bottom) + 76px));border:1px solid var(--antique-gold);width:min(360px,100% - 40px);color:var(--ink);text-align:center;background:#f7efe0f5;border-radius:4px;padding:16px;font-size:16px;line-height:1.4;position:absolute;translate:-50%}.envelope-skip{min-height:44px;color:var(--forest);text-underline-offset:4px;background:0 0;border:0;padding:8px 12px;font-size:15px;text-decoration:underline}@keyframes envelope-prompt-float{50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.envelope-prompt{animation:none}}.rsvp-modal{border:5px double var(--antique-gold);width:min(100% - 28px,530px);max-height:calc(100dvh - 28px);color:var(--ink);overscroll-behavior:contain;background:linear-gradient(90deg,#e1cfad,#f7efe0 7% 94%,#e1cfad);border-radius:0;margin:auto;padding:0;position:fixed;overflow-y:auto;box-shadow:0 30px 100px #0007}.rsvp-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#101c16c9}.modal-close{float:right;z-index:2;background:var(--burgundy);color:var(--warm-ivory);border:1px solid var(--antique-gold);place-items:center;width:42px;height:42px;margin:12px 12px 0 0;display:grid;position:sticky;top:12px}.rsvp-modal__body{clear:both;padding:16px 25px 30px}.rsvp-modal h2{margin:15px 0 20px;font-size:39px}.demo-note{border-left:2px solid var(--antique-gold);background:#c39b5712;padding:10px 12px;font-size:14px;line-height:1.6}.field{border:0;min-width:0;margin:23px 0 0;padding:0}.field>label:not(.radio-label),.field legend{margin-bottom:8px;font-size:16px;display:block}.field input:not([type=radio]),.field textarea{width:100%;min-height:47px;color:var(--ink);background:#fffcf566;border:1px solid #ad9470;border-radius:0;padding:10px 12px;font-size:17px;line-height:1.5;display:block}.field textarea{resize:vertical;min-height:90px}.radio-label{align-items:center;gap:12px;min-height:44px;font-size:17px;display:flex}.radio-label input{width:19px;height:19px;accent-color:var(--burgundy)}.field input:disabled{opacity:.4}.field [aria-invalid=true]{border-color:var(--burgundy)}.field-error{color:var(--burgundy);margin-top:8px;font-size:14px}.rsvp-modal form>.button{width:100%;margin-top:25px}.reply-preview{overflow-wrap:anywhere;padding-top:25px}.reply-preview h3{font-size:30px}.reply-preview dl>div{border-bottom:1px solid var(--line);padding:13px 0}.reply-preview dt{color:var(--burgundy);font-size:13px}.reply-preview dd{white-space:pre-wrap;font-size:20px}.reply-preview>.button{margin-top:25px}.music-controls{bottom:max(18px,env(safe-area-inset-bottom));z-index:30;gap:6px;display:flex;position:fixed;right:18px}.music-controls button{border:1px solid var(--antique-gold);background:var(--forest);width:42px;height:42px;color:var(--warm-ivory);place-items:center;display:grid}.music-error{z-index:30;background:var(--warm-ivory);max-width:250px;padding:10px;font-size:14px;position:fixed;bottom:70px;right:18px}
