*{box-sizing:border-box}html,body{color:#514237;background:#efe9dd;width:100%;height:100%;margin:0}body{font-family:Georgia,Times New Roman,serif}button{-webkit-tap-highlight-color:transparent}main{background:radial-gradient(at 50% 40%,#fffdf7 0%,#f2ede2 50%,#e4dccc 100%);height:100svh;min-height:680px;position:relative;overflow:hidden}.opening{z-index:3;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(40px,8vh,85px) 20px 35px;transition:opacity 1s;display:flex;position:absolute;inset:0}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:#776650;margin:0 0 21px;font-size:12px}header{text-align:center}h1{letter-spacing:-.035em;margin:0;font-size:clamp(34px,5vw,52px);font-style:italic;font-weight:400}.rule{background:#a68d65;width:44px;height:1px;margin:26px auto 0;display:block}.envelope-wrap{perspective:1500px;flex-shrink:0;width:min(510px,84vw);margin:56px 0 30px;position:relative}.envelope{aspect-ratio:1.55;background:#d5c7ab;border-radius:3px;width:100%;transition:transform 2s;position:relative;transform:rotate(-2deg);box-shadow:0 32px 38px -22px #6e554a60,0 3px 5px #6e554a26}.inside{background:linear-gradient(#c8b99d,#e6d7bd);border:1px solid #c9b897;position:absolute;inset:0}.letter{background:#fff9ec;transition:transform 2s 1.3s;position:absolute;inset:12% 8% 0;box-shadow:0 0 20px #fff3d6}.pocket{z-index:4;pointer-events:none;background:#eee5d4;position:absolute;inset:0}.left{clip-path:polygon(0 0,56% 58%,0 100%);background:linear-gradient(130deg,#f5f0e4,#e6dcc8)}.right{clip-path:polygon(100% 0,44% 58%,100% 100%);background:linear-gradient(240deg,#f9f4e8,#e5dac6)}.bottom{clip-path:polygon(0 100%,0 98%,50% 44%,100% 98%,100% 100%);filter:drop-shadow(0 -1px 1px #ab98774f);background:linear-gradient(#e9dfcb,#f5efdf)}.flap{clip-path:polygon(0 0,100% 0,100% 1%,50% 57%,0 1%);transform-origin:top;z-index:5;background:linear-gradient(175deg,#fcf8ef,#e4d8be);transition:transform 1.9s cubic-bezier(.45,0,.2,1) .65s,filter 1.9s .65s;position:absolute;inset:0}.seal{z-index:6;cursor:pointer;filter:drop-shadow(2px 6px 5px #4b192344);background:0 0;border:0;width:102px;height:102px;padding:0;transition:opacity .5s,transform .8s;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.seal img{object-fit:contain;width:100%;height:100%;display:block}.seal:hover{transform:translate(-50%,-50%)scale(1.06)}.seal:focus-visible{outline-offset:8px;border-radius:50%;outline:2px solid #6c2836}footer{text-align:center}footer p{letter-spacing:.07em;margin:0;font-size:15px}.small{letter-spacing:.1em;color:#857763;font-size:12px}.footer-line{background:#b7a483;width:1px;height:23px;margin:18px auto;display:block}.inner-light{filter:blur(20px);opacity:0;z-index:2;background:#fff9d4;height:60%;transition:opacity 2s 1s;position:absolute;top:0;left:12%;right:12%}.radiance{opacity:0;z-index:7;pointer-events:none;background:radial-gradient(circle,#fffef4 0%,#fff8dbe8 18%,#ffe7a78c 36%,#fff5d900 68%);width:100px;height:100px;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)scale(.4)}.wash{opacity:0;z-index:8;pointer-events:none;background:#fffdf2;position:absolute;inset:0}.chapel{opacity:0;z-index:1;background:#e9dec6;position:absolute;inset:0}.chapel img{object-fit:contain;width:100%;height:100%;transition:transform 8s ease-out;display:block;transform:scale(1.075)}.chapel:before{content:"";filter:blur(25px);opacity:.45;background:url(/chapel-wide.webp) 50%/cover;position:absolute;inset:-30px}.chapel img{position:relative}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #392a171c}.replay{z-index:10;color:#514237;cursor:pointer;background:#f8f1e7e6;border:1px solid #fff9e880;border-radius:24px;padding:12px 18px;font:14px Georgia,serif;position:absolute;bottom:24px;right:24px;box-shadow:0 4px 20px #38281020}.replay span{vertical-align:-1px;margin-right:6px;font-size:20px}.motes{z-index:7;pointer-events:none;position:absolute;inset:0}.mote{opacity:0;background:#fff5c4;border-radius:50%;width:3px;height:3px;position:absolute;top:51%;left:50%;box-shadow:0 0 9px 2px #f8d985}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}main[data-state=opening] .seal{opacity:0;pointer-events:none;transform:translate(-50%,-40%)rotate(12deg)scale(.95)}main[data-state=opening] .flap{filter:brightness(.96);transform:rotateX(180deg)}main[data-state=opening] .envelope{transform:rotate(0)}main[data-state=opening] .letter{transform:translateY(-15%)}main[data-state=opening] .inner-light{opacity:1}main[data-state=opening] .radiance{animation:5s .9s both light}main[data-state=opening] .wash{animation:6.8s both whiteout}main[data-state=opening] header,main[data-state=opening] footer{animation:1s 1.6s both fade}main[data-state=opening] .mote{animation:float 3.8s var(--delay) both}main[data-state=revealed] .opening{opacity:0;pointer-events:none}main[data-state=revealed] .chapel img{transform:scale(1)}main[data-state=revealed] .chapel{opacity:1}main[data-state=revealed] .motes{display:none}@keyframes light{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}25%{opacity:.9}80%,to{opacity:1;transform:translate(-50%,-50%)scale(35)}}@keyframes whiteout{0%,32%{opacity:0}60%,73%{opacity:1}to{opacity:0}}@keyframes fade{to{opacity:0}}@keyframes float{0%{opacity:0;transform:translate(0)}20%,60%{opacity:.8}to{opacity:0;transform:translate(var(--x),var(--y))}}@media (max-width:600px){main{min-height:540px}.opening{padding-top:11svh;padding-bottom:5svh}.eyebrow{letter-spacing:.15em;font-size:10px}.envelope-wrap{margin-top:70px}.seal{width:85px;height:85px}.chapel img{object-fit:cover}footer .small{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}.radiance,.motes{display:none}}.seal:after{content:"";clip-path:polygon(45% 0,70% 24%,35% 44%,75% 62%,40% 81%,60% 100%,25% 81%,52% 62%,12% 44%,48% 24%,25% 0);opacity:0;background:#e9d9be;width:7%;height:61%;position:absolute;top:19%;left:48%}.seal:disabled{cursor:default}main[data-state=opening] .seal:after{opacity:.8}.replay:focus-visible{outline-offset:4px;outline:2px solid #6c2836}.chapel img{object-fit:cover}.chapel:before{display:none}.chapel .vignette{box-shadow:none;background:linear-gradient(#fff9eea8,#fff7eb91 46%,#fff5e61f 90%)}.wedding-overlay{z-index:2;text-align:center;color:#412e30;flex-direction:column;align-items:center;padding:clamp(90px,14vh,160px) max(9vw,24px) 100px;display:flex;position:absolute;inset:0}.wedding-kicker{letter-spacing:.24em;text-transform:uppercase;margin:0 0 18px;font-size:12px}.wedding-overlay h2{letter-spacing:-.055em;text-shadow:0 2px 22px #fff8e8;margin:0;font-size:clamp(48px,8vw,110px);font-weight:400;line-height:1.1}.wedding-overlay h2 span{padding:0 .06em;font-size:.82em;font-style:italic}.celebrate{margin:24px 0 14px;font:clamp(16px,2vw,23px)/1.5 Georgia,serif}.wedding-date{color:#7a3f4b;margin:0;font:18px/1.6 Georgia,serif}.wedding-date span{padding:0 10px}.venue{letter-spacing:.12em;margin:8px 0 0;font-size:14px}.countdown{justify-content:center;gap:clamp(10px,2.4vw,28px);width:100%;max-width:580px;margin-top:42px;display:flex}.countdown-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffcf7e3;border:1px solid #ffffffb3;border-radius:15px;flex:1;min-width:0;padding:24px 8px 20px;box-shadow:0 8px 28px #7956420a}.number{color:#a75367;font-variant-numeric:tabular-nums;font-size:clamp(30px,4vw,48px);line-height:1.1;display:block}.unit{text-transform:uppercase;letter-spacing:.09em;color:#644750;margin-top:10px;font:12px/1.5 Arial,sans-serif;display:block}.wedding-message{margin:20px 0;font-size:18px;font-style:italic}.floral-frame{z-index:9;pointer-events:none;opacity:0;transition:opacity 1.4s;position:fixed;inset:0}.floral-frame img{object-fit:fill;width:100%;height:100%;display:block}body:has(main[data-state=revealed]) .floral-frame{opacity:1}main[data-state=revealed]{height:auto;min-height:max(100svh,740px)}main[data-state=revealed] .opening{display:none}.replay{position:fixed;bottom:24px;right:clamp(18px,4vw,65px)}.chapel[aria-hidden=true] .wedding-overlay{visibility:hidden}main[data-state=opening] .wedding-overlay{visibility:visible}.wedding-overlay{transition:opacity 1.5s}@media (max-width:600px){.wedding-overlay{padding:120px 32px 100px}.wedding-kicker{letter-spacing:.15em;font-size:11px}.wedding-overlay h2{white-space:nowrap;font-size:clamp(36px,10vw,60px)}.celebrate{margin-top:20px;font-size:17px}.countdown{gap:8px;margin-top:32px}.countdown-card{border-radius:12px;padding:20px 3px 17px}.number{font-size:30px}.unit{letter-spacing:.045em;font-size:10px}.venue{font-size:13px}.chapel img{object-position:50% center}.floral-frame img{object-fit:fill}.replay{padding:9px 13px;font-size:12px;bottom:16px;right:16px}}@media (max-height:550px) and (min-width:601px){.wedding-overlay{padding-top:50px}.wedding-overlay h2{font-size:60px}.countdown{margin-top:22px}.celebrate{margin-top:14px}}@media (max-width:600px){.floral-frame img{visibility:hidden}.floral-frame:before,.floral-frame:after{content:"";background-image:url(/floral-frame.png);background-repeat:no-repeat;background-size:100%;width:100%;height:28.15vw;position:absolute;left:0}.floral-frame:before{background-position:top;top:0}.floral-frame:after{background-position:bottom;bottom:0}}html{scroll-behavior:smooth}body{background:#faf6ed}.discover{color:#513c39;border-bottom:1px solid #9d8065;align-items:center;gap:14px;margin-top:16px;padding:9px 0;font-size:14px;text-decoration:none;display:inline-flex}.discover span{font-size:20px}.discover:focus-visible{outline-offset:5px;outline:2px solid #77394b}a:focus-visible{outline-offset:5px;outline:2px solid #77394b}summary:focus-visible{outline-offset:5px;outline:2px solid #77394b}.section-nav{background:#f5eee1;border-bottom:1px solid #ddd1bd;flex-wrap:wrap;justify-content:center;gap:clamp(18px,3vw,48px);padding:30px 18%;display:flex}.section-nav a{color:#67464b;font-size:15px;text-decoration:none}.section-nav a:hover{text-decoration:underline}#guest-details{color:#55453c;background:radial-gradient(at top,#fffaf0,#f4ecdf)}.detail-section{text-align:center;border-bottom:1px solid #d7c9b4;width:76%;max-width:1040px;margin:0 auto;padding:90px 0;scroll-margin-top:30px}.section-kicker{letter-spacing:.19em;text-transform:uppercase;color:#8c5a62;margin:0 0 20px;font-family:Arial,sans-serif;font-size:12px}.detail-section h2{letter-spacing:-.03em;color:#54343c;margin:0 0 20px;font-size:clamp(32px,4vw,49px);font-weight:400;line-height:1.15}.section-intro{color:#776658;margin:0 auto 45px;font-size:18px;line-height:1.7}.detail-section h3{color:#573b3d;margin:0 0 16px;font-size:24px;font-weight:400}.detail-section h4{color:#713e4b;margin:0 0 7px;font-size:17px;font-weight:400}.detail-section p,.detail-section address{font-size:16px;line-height:1.8}.detail-section .section-kicker,.detail-section .occasion{font-size:12px}.venue-grid{text-align:left;grid-template-columns:1fr 1.25fr;align-items:start;gap:48px;display:grid}.venue-copy address{margin:0 0 12px;font-style:normal}.text-link,.detail-section a{color:#763d4c;text-underline-offset:4px}.location-note{margin-top:28px}.location-note p{margin:0}.button-link{border:1px solid #b8998e;align-items:center;gap:24px;margin-top:28px;padding:14px 20px;font-size:15px;text-decoration:none;display:inline-flex}.button-link:hover{background:#ede0d5}.map-wrap{background:#fffcf4;border:1px solid #dfd1bb;padding:10px}.map-wrap iframe{border:0;border-radius:2px;width:100%;height:410px;display:block}.map-wrap p{color:#7a695a;margin:12px 10px;font-size:13px}.practical-grid{text-align:left;border-top:1px solid #e1d4c0;grid-template-columns:1fr 1fr;gap:44px;margin-top:50px;padding-top:34px;display:grid}.practical-grid p{margin-bottom:10px}.secondary-link{font-size:13px}.timeline{text-align:left;max-width:630px;margin:0 auto}.timeline-group{color:#885664;border-bottom:1px solid #ddcaba;margin:35px 0;padding-bottom:12px;font-style:italic}.timeline ol{margin:0;padding:0;list-style:none}.timeline li{grid-template-columns:105px 1fr;gap:30px;padding:0 0 38px;display:grid;position:relative}.timeline li time{color:#8c4a5c;text-align:right;padding-top:3px;font-size:21px}.timeline li>div{border-left:1px solid #d4bda9;padding-left:26px;position:relative}.timeline li>div:before{content:"";background:#9c6976;border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:-4px}.timeline li h3{margin:0 0 7px;font-size:24px}.timeline li p{color:#7b695c;margin:0}.dress-grid{grid-template-columns:1fr 1fr;gap:50px;margin-top:45px;display:grid}.dress-grid article{padding:28px 15px}.dress-grid article+article{border-left:1px solid #d9c9b6;padding-left:40px}.occasion{letter-spacing:.12em;text-transform:uppercase;color:#996570}.menu-paper{outline-offset:7px;background:#fffaf2;border:1px solid #d6c4aa;outline:1px solid #e2d6c4;max-width:730px;margin:40px auto 0;padding:56px clamp(20px,5vw,70px);box-shadow:0 14px 45px #62452f08}.course+.course{border-top:1px solid #e6d9c7;margin-top:40px;padding-top:34px}.course h3{font-size:30px;font-style:italic}.course ul{margin:18px 0 0;padding:0;list-style:none}.course li{margin:12px 0;font-size:17px;line-height:1.8}.course-note{color:#8a7261;font-style:italic;font-size:14px!important}.menu-extras{border-top:1px solid #e6d9c7;margin-top:40px;padding-top:28px}.menu-extras summary{cursor:pointer;color:#805162;font-size:16px}.menu-extras p{font-size:15px}.dietary-note{color:#806f60;margin:34px 0 0;font-size:14px!important;line-height:1.75!important}.evening-food{padding-top:55px}.evening-food p{margin-bottom:0}.page-signoff{color:#705354;padding:75px 18% 115px}.page-signoff>p:first-child{letter-spacing:0;font-size:32px;font-style:italic}.page-signoff>p:nth-child(2){letter-spacing:.04em;margin:15px 0 24px;font-size:14px;line-height:1.8}.page-signoff a{color:#825968;text-underline-offset:5px;font-size:14px}@media (max-width:700px){.section-nav{gap:15px 24px;padding:24px 35px}.section-nav a{font-size:14px}.detail-section{width:82%;padding:60px 0;scroll-margin-top:20px}.venue-grid,.practical-grid,.dress-grid{grid-template-columns:1fr;gap:30px}.venue-copy{text-align:center}.map-wrap iframe{height:320px}.practical-grid{text-align:left}.dress-grid{gap:0;margin-top:20px}.dress-grid article{padding:25px 0}.dress-grid article+article{border-top:1px solid #d9c9b6;border-left:0;padding:25px 0}.timeline li{grid-template-columns:78px 1fr;gap:15px}.timeline li time{font-size:18px}.timeline li h3{font-size:21px}.timeline li>div{padding-left:17px}.timeline li p{font-size:15px}.menu-paper{outline-offset:4px;padding:35px 18px}.course li{font-size:16px}.section-intro{font-size:17px}.page-signoff{padding-bottom:120px}.discover{margin-top:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.floral-frame img{opacity:0;visibility:hidden;width:1px;height:1px;position:absolute}.floral-frame:before,.floral-frame:after{display:none}.flower-corner{aspect-ratio:836/470;opacity:.9;background-image:url(/floral-frame.png);background-repeat:no-repeat;background-size:200% 200%;width:clamp(100px,18vw,275px);position:absolute}.top-left{background-position:0 0;top:0;left:0}.top-right{background-position:100% 0;top:0;right:0}.bottom-left{background-position:0 100%;bottom:0;left:0}.bottom-right{background-position:100% 100%;bottom:0;right:0}.venue-gallery{grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;display:grid}.venue-gallery figure{text-align:left;margin:0}.venue-gallery .venue-wide{grid-column:1/-1}.venue-gallery a{display:block;overflow:hidden}.venue-gallery img{aspect-ratio:16/9;object-fit:cover;border-radius:3px;width:100%;height:auto;display:block}.venue-gallery .venue-wide img{aspect-ratio:16/9}.venue-gallery figcaption{color:#826b5d;margin-top:11px;font-size:14px;font-style:italic}.detail-section .photo-credit{text-align:right;color:#8b7666;margin:18px 0 48px;font-size:12px}.local-grid{text-align:left;grid-template-columns:1fr 1fr;gap:55px;margin-top:40px;display:grid}.local-links{margin:25px 0 0;padding:0;list-style:none}.local-links li{border-top:1px solid #ddcdb8;padding:19px 0}.local-links a{justify-content:space-between;gap:12px;font-size:17px;line-height:1.5;text-decoration:none;display:flex}.local-links a:hover{text-decoration:underline}.local-links li>span{color:#887364;margin-top:5px;font-size:14px;line-height:1.6;display:block}.detail-section .local-note{color:#7e695c;font-size:15px;line-height:1.7}.gifts-section>p:last-child{max-width:670px;margin:28px auto 0;font-size:20px;line-height:1.9}.faq-list{text-align:left;max-width:790px;margin:40px auto 0}.faq-list details{border-bottom:1px solid #d9c6b2;padding:22px 0}.faq-list summary{color:#67414a;cursor:pointer;padding-right:10px;font-size:19px;line-height:1.5}.faq-list summary::marker{color:#a2707b;font-size:13px}.faq-list p{margin:18px 0 3px;padding-left:18px;line-height:1.85}.section-nav{gap:18px 30px}@media (max-width:700px){.local-grid{grid-template-columns:1fr;gap:38px}.venue-gallery{gap:18px}.venue-gallery figcaption{font-size:12px;line-height:1.5}.detail-section .photo-credit{text-align:left;line-height:1.6}.faq-list summary{font-size:17px}.gifts-section>p:last-child{font-size:18px}.flower-corner{width:105px}.local-links a{font-size:16px}.section-nav{gap:15px 23px}}.rsvp-shortcut{color:#763d4c;text-underline-offset:5px;margin-top:22px;font-size:15px;display:inline-block}.rsvp-panel{text-align:left;background:#fffaf4;border:1px solid #d9c6b8;border-radius:4px;max-width:720px;margin:35px auto 0;padding:clamp(22px,5vw,48px)}.rsvp-panel label{color:#62434a;margin:18px 0 8px;font-size:16px;line-height:1.5;display:block}.rsvp-panel input:not([type=checkbox]):not([type=radio]),.rsvp-panel textarea,.rsvp-panel select{color:#48363b;background:#fffdf9;border:1px solid #cdb9ad;border-radius:5px;width:100%;min-height:48px;padding:12px;font:16px/1.5 Georgia,serif;display:block}.rsvp-panel textarea{resize:vertical}.rsvp-panel input:focus-visible{outline-offset:3px;outline:2px solid #904b62}.rsvp-panel select:focus-visible{outline-offset:3px;outline:2px solid #904b62}.rsvp-panel textarea:focus-visible{outline-offset:3px;outline:2px solid #904b62}.rsvp-button:focus-visible{outline-offset:3px;outline:2px solid #904b62}.text-button:focus-visible{outline-offset:3px;outline:2px solid #904b62}.rsvp-panel input[type=checkbox],.rsvp-panel input[type=radio]{accent-color:#85475a;flex-shrink:0;width:19px;height:19px;margin:3px 8px 0 0}.optional{color:#8c746a;font-size:14px}.rsvp-button{color:#fffaf4;cursor:pointer;background:#71364b;border:1px solid #71364b;border-radius:5px;width:100%;margin-top:27px;padding:15px 20px;font:17px Georgia,serif;display:block}.rsvp-button:disabled{opacity:.6;cursor:wait}.rsvp-panel .rsvp-message{color:#81384d;font-size:15px;line-height:1.6}.rsvp-panel .rsvp-privacy{color:#857266;font-size:13px;line-height:1.65}.example-notice{border-top:1px solid #ddc9bb;margin-top:28px;padding-top:20px}.example-notice p{font-size:14px!important}.text-button{text-underline-offset:4px;color:#743f50;cursor:pointer;background:0 0;border:0;padding:5px 0;font:15px Georgia,serif;text-decoration:underline}.guest-card{border:1px solid #d8c3b4;border-radius:6px;min-width:0;margin:30px 0;padding:22px}.guest-card>legend{color:#6b3e4b;padding:0 10px;font-size:25px}.guest-card .guest-attendance-label{margin:0 0 12px}.attendance-options{flex-direction:column;gap:8px;display:flex}.attendance-options label,.allergy-grid label{align-items:flex-start;display:flex;margin:0!important}.attendance-options label{background:#fffcf8;border:1px solid #e1cfc0;border-radius:5px;padding:12px}.attendance-options label:has(input:checked){background:#f3e5e4;border-color:#a36a7b}.allergy-box{background:#f4ece7;border:0;border-radius:5px;min-width:0;margin:25px 0;padding:20px}.allergy-box legend{float:left;width:100%;margin:0 0 10px;font-size:17px}.allergy-box p{clear:both;font-size:14px!important;line-height:1.65!important}.allergy-grid{grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 24px;display:grid}.allergy-grid label{font-size:15px}.meal-choices h4{margin-top:24px;font-size:21px}.meal-choices p,.meal-help{font-size:14px!important;line-height:1.65!important}.rsvp-panel .rsvp-consent{align-items:flex-start;font-size:14px;line-height:1.7;display:flex}.reply-summary{border-top:1px solid #ddc9bb;padding:18px 0}.reply-summary h4{margin:0}.reply-summary p,.reply-summary li{font-size:15px;line-height:1.7}.reply-summary ul{padding-left:20px}.rsvp-form-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.rsvp-form-heading h3{margin:0}.guest-preferences[hidden],#guest-rsvp[hidden],#invite-lookup[hidden],#rsvp-confirmation[hidden],#example-notice[hidden]{display:none}@media (max-width:600px){.rsvp-section{width:88%}.rsvp-panel{padding:20px 15px}.guest-card{padding:18px 12px}.allergy-box{padding:16px 12px}.allergy-grid{gap:14px 12px}.allergy-grid label{font-size:14px}.rsvp-panel select{font-size:15px}.rsvp-shortcut{margin-top:18px}}.wedding-overlay{padding-top:clamp(45px,8vh,90px);padding-bottom:45px}.ceremony-details{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffaf0f0;border:1px solid #e5d5bf;border-radius:7px;max-width:100%;margin-top:20px;padding:15px 30px 17px;box-shadow:0 5px 25px #6e4c3012}.ceremony-details .celebrate{color:#412e30;margin:0 0 10px;font-weight:500}.ceremony-details .wedding-date{color:#71384a;font-size:20px;font-weight:600}.ceremony-details .venue{color:#412e30;letter-spacing:.08em;font-size:15px}.countdown{margin-top:26px}.hero-rsvp{color:#fffaf3;letter-spacing:.08em;background:#71364b;border:1px solid #71364b;border-radius:5px;justify-content:center;align-items:center;gap:28px;min-width:180px;min-height:50px;margin-top:20px;padding:13px 30px;font:18px Georgia,serif;text-decoration:none;display:inline-flex;box-shadow:0 5px 20px #49233226}.hero-rsvp:hover{background:#5c293d}:is(.hero-rsvp:focus-visible,.tap-open:focus-visible){outline-offset:5px;outline:3px solid #a86b7c}.opening{justify-content:center;gap:32px;padding:65px 20px 35px}.envelope-wrap{width:min(540px,86vw);margin:45px 0 0}.envelope{aspect-ratio:1.15}.seal{top:49%}.envelope-greeting{z-index:5;text-align:center;color:#625142;letter-spacing:0;pointer-events:none;font-size:clamp(17px,2.1vw,25px);line-height:1.4;position:absolute;top:68%;left:8%;right:8%}.envelope-greeting span{display:block}.tap-open{color:#76614d;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;padding:12px 20px;font:italic 17px Georgia,serif}.tap-open span{margin-top:10px;font-style:normal;display:block}.opening footer{margin-top:0}.manage-page{max-width:1100px;margin:auto;padding:50px 24px}.manage-page h1{font-size:40px}.manage-page table{border-collapse:collapse;width:100%;margin-top:30px}.manage-page td,.manage-page th{text-align:left;border-bottom:1px solid #d3bfb0;padding:16px}.manage-page a{color:#71364b}.manage-page .missing-mobile{color:#81384d}@media (max-width:600px){.wedding-overlay{padding:68px 24px 40px}.ceremony-details{margin-top:19px;padding:13px 18px}.ceremony-details .celebrate{font-size:17px}.ceremony-details .wedding-date{font-size:18px}.ceremony-details .venue{font-size:13px}.countdown{margin-top:24px}.wedding-message{margin:13px 0}.hero-rsvp{min-height:48px;margin-top:17px}.opening{gap:28px;padding-top:45px}.envelope-wrap{margin-top:0}.envelope{aspect-ratio:.8}.envelope-greeting{font-size:20px;top:69%}.seal{width:90px;height:90px}.manage-page{overflow:auto}}.timeline-day[hidden]{display:none}.timeline-divider{background:#d7c9b4;height:1px;margin:36px 0}.timeline-day .timeline-divider{margin-top:24px}.opening{gap:16px;padding:24px 18px}.envelope-wrap{perspective:1600px;width:min(420px,84vw,66.67svh - 66.67px);margin:0}.envelope{aspect-ratio:2/3;background:#f3ebdb;transform:rotate(-.7deg);box-shadow:0 25px 50px -16px #5b49374d,0 3px 8px #5b493726}.luxury-envelope-face{z-index:6;pointer-events:none;background:url(/envelope-gold.png) 50%/100% 100%;border-radius:3px;transition:opacity 1.4s 1.3s;position:absolute;inset:0}.envelope .seal{z-index:8;filter:none;width:33%;height:23%;top:41%}.envelope .seal img{opacity:0}.envelope .seal:after{display:none}.envelope .seal:hover{background:#ffedba14;border-radius:50%;transform:translate(-50%,-50%)}.envelope-greeting{z-index:7;text-shadow:0 1px #fff9e6;font-size:clamp(17px,2vw,24px);line-height:1.45;top:66%;left:12%;right:12%}.envelope-greeting #guest-greeting{margin-bottom:12px;font-size:1em}.opening footer{margin:0}.tap-open{padding:5px 15px;font-size:15px}.tap-open span{display:none}main[data-state=opening] .luxury-envelope-face{opacity:0}main[data-state=opening] .envelope-greeting{opacity:0;transition:opacity .5s}.envelope .inner-light{z-index:7}.household-allocation{text-align:left;background:#fffaf2;border:1px solid #ddcbb7;max-width:720px;margin:0 auto 30px;padding:20px 25px}.household-allocation p{margin:7px 0}.guest-card .guest-type{color:#805567;letter-spacing:.06em;margin:0 0 15px;font:12px/1.6 Arial,sans-serif}#retry-invitation[hidden]{display:none}@media (max-width:600px){.opening{gap:18px;padding:20px 18px}.envelope-wrap{width:min(88vw,420px,66.67svh - 60.003px)}.envelope{aspect-ratio:2/3}.envelope-greeting{font-size:clamp(16px,4.4vw,22px)}}.wedding-kicker{color:#412e30;text-shadow:0 1px 8px #fffaf0,0 0 20px #fffaf0;font-size:clamp(15px,1.5vw,18px);font-weight:700;line-height:1.5}.manage-page button{color:#fffaf3;cursor:pointer;font:inherit;background:#71364b;border:1px solid #71364b;border-radius:5px;margin:5px 6px 5px 0;padding:10px 16px}.manage-page button:disabled{opacity:.5;cursor:default}:is(.manage-page button:focus-visible,.manage-page input:focus-visible,.manage-page select:focus-visible){outline-offset:3px;outline:3px solid #b48c51}.household-editor{background:#fffaf3;border:1px solid #d3bfb0;border-radius:8px;margin:24px 0;padding:24px}.household-editor fieldset{border:0;padding:0}.household-editor label{margin:12px 0;display:block}.household-editor input:not([type=checkbox]),.household-editor select{color:#412e30;width:100%;max-width:500px;font:inherit;background:#fff;border:1px solid #bfa798;border-radius:4px;margin-top:5px;padding:10px;display:block}.manager-guest{border-top:1px solid #d3bfb0;padding:12px 0}.manager-check input{width:18px;height:18px;margin-right:8px}.manager-table{overflow-x:auto}.manage-page td p{margin:5px 0}.manage-page td{vertical-align:top}.manager-actions{margin-top:20px}.food-deadline-note{background:#f5eee4;border-left:3px solid #9b7751;padding:12px}.meal-choices select:disabled{opacity:1;color:#594936;background:#f1ebe2}
