@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Jost:wght@400;500&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}::-webkit-scrollbar{display:none}body{--paper:#f8f5ec;--ink:#254771;--gold:#a08b62;margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Jost,Arial;overflow-x:clip}body.deco{--paper:#191e22;--ink:#f4e9ce;--gold:#d8b779}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia;font-weight:400}h1{font-size:clamp(48px,12vw,80px);line-height:.95}h2{font-size:clamp(35px,9vw,52px);line-height:1.1;margin-bottom:24px}h3{font-size:28px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.action{font:500 12px Jost,Arial;letter-spacing:1px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:14px 24px;text-decoration:none;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a{color:inherit}small,.kicker{font:11px/1.6 Jost,Arial;letter-spacing:2.4px;text-transform:uppercase}.entry{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;padding:30px;background:var(--paper);overflow:hidden}.entry-copy{z-index:2;position:relative;text-align:center;max-width:100%}.entry h2{font-size:clamp(40px,11vw,66px);line-height:1.05;margin:22px 0}.entry h2 i{display:block;font-size:.55em;margin:12px}.entry .open{position:relative;z-index:3;flex:none;max-width:100%;box-shadow:0 8px 30px #0002}.entry small{display:block;font-size:9px;margin-top:14px;letter-spacing:1px}.porcelain .entry{border:14px solid #e0e6ed}.porcelain .entry:after{content:'';position:absolute;inset:10px;border:1px solid #25477144;pointer-events:none}.botanical{position:absolute;width:175px;height:300px;color:#426188;opacity:.75;transform-origin:bottom;animation:sway 7s ease-in-out infinite alternate}.botanical.left{left:-35px;bottom:-5px}.botanical.right{right:-35px;top:-30px;rotate:180deg;animation-delay:-3s}.entry-copy{padding:30px 10px}.deco .entry-copy{border:1px solid var(--gold);padding:50px 30px;background:#191e22;box-shadow:0 0 0 7px #191e22,0 0 0 8px #d8b77966}.deco .entry:before,.deco .entry:after{content:'';position:absolute;width:50%;height:100%;top:0;background:repeating-linear-gradient(90deg,#111619 0 23px,#ab8c4733 24px,#111619 25px 48px);border:1px solid #d8b77966;transition:transform 1.45s cubic-bezier(.65,0,.2,1)}.deco .entry:before{left:0}.deco .entry:after{right:0}.deco .entry.is-open:before{transform:translateX(-100%)}.deco .entry.is-open:after{transform:translateX(100%)}.entry.is-open .entry-copy,.entry.is-open .open,.entry.is-open>small{opacity:0;transform:translateY(-20px);transition:opacity .7s,transform 1s}.porcelain .entry.is-open{animation:paper-away 1.6s both}.deco .entry.is-open{animation:fade-away 1.6s both}.masthead{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:85px 35px 70px;position:relative;overflow:hidden}.masthead>*:not(.botanical){position:relative;z-index:1}.masthead h1 i{display:block;font-size:.5em;line-height:1.7;color:var(--gold)}.masthead .kicker{margin:30px 0}.masthead .date{letter-spacing:3px;font-size:12px}.porcelain .masthead{background:radial-gradient(ellipse,#fffdf7,#e6edf0)}.deco .masthead{background:radial-gradient(ellipse at center,#3c3930,#14191d 70%)}.deco .masthead:before{content:'';position:absolute;inset:20px;border:1px solid var(--gold);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.deco .masthead:after{content:'';position:absolute;inset:30px;border:1px solid #d8b77966}.sunburst{width:160px;height:95px;overflow:hidden;margin:0 auto 25px;background:repeating-conic-gradient(from -90deg at 50% 100%,transparent 0deg 8deg,#d8b779 8.4deg 8.8deg,transparent 9deg 16deg);border-bottom:1px solid var(--gold);mask-image:radial-gradient(ellipse at bottom,transparent 15%,#000 16% 70%,transparent 71%);animation:shine 6s ease-in-out infinite}.section{padding:70px 28px;max-width:650px;margin:auto;text-align:center;position:relative}.section>p{max-width:420px;margin:0 auto 25px}.quote{font:italic 30px/1.3 'Cormorant Garamond',Georgia}.divider{width:40px;height:1px;background:var(--gold);margin:28px auto}.count{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:35px 0}.count b{display:block;font:38px Georgia;font-weight:400}.count span{font-size:9px;letter-spacing:1px}.schedule{text-align:left;border-top:1px solid #8885}.event{display:grid;grid-template-columns:65px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid #8885}.event time{font-size:12px;letter-spacing:1px;padding-top:5px;color:var(--gold)}.event h3{margin:0}.event p{font-size:14px;margin:8px 0 0}.venue-art{display:block;width:100%;height:210px;color:var(--ink);margin:30px auto;stroke-width:1.2}.venue-map{width:100%;height:240px;border:1px solid #8885;margin:20px 0;background:var(--paper)}.venue-section{background:#2547710a}.deco .venue-section{background:#ffffff06}.details{border-top:1px solid #8885;text-align:left}.details details{border-bottom:1px solid #8885;padding:20px 0}.details summary{cursor:pointer;font-size:16px}.details details p{font-size:14px;padding:15px 0 0;margin:0}label{display:block;text-align:left;font-size:13px;margin:18px 0}input,select,textarea{width:100%;background:transparent;border:1px solid #8888;color:var(--ink);padding:12px;font:16px Jost,Arial;border-radius:0}select option{color:#222;background:#fff}form button{width:100%}.form-message{white-space:pre-line;font-size:14px;text-align:left}.reply-actions{margin-top:18px;display:grid;gap:12px}.closing{padding:70px 25px 100px;text-align:center}.closing h2{font-size:40px}.music{position:fixed;right:16px;bottom:18px;width:46px;height:46px;min-height:0;padding:0;border-radius:50%;z-index:12;font-size:18px;box-shadow:0 3px 20px #0002}.footnav{position:sticky;bottom:0;display:flex;justify-content:center;gap:24px;padding:15px 65px 15px 15px;background:var(--paper);border-top:1px solid #8884;z-index:10}.footnav a{font-size:11px;text-decoration:none}.reveal{opacity:0;translate:0 20px;transition:opacity .8s,translate .8s}.reveal.visible{opacity:1;translate:0 0}[hidden]{display:none!important}@keyframes sway{to{transform:rotate(4deg)}}@keyframes shine{50%{opacity:.45}}@keyframes paper-away{65%{transform:translateY(-10%);opacity:1}100%{transform:translateY(-100%);opacity:0}}@keyframes fade-away{0%,65%{background:#191e22}100%{background:transparent}}@media(max-height:600px){.entry{gap:15px;padding:20px}.entry-copy,.deco .entry-copy{padding:15px 25px}.entry h2{font-size:35px;margin:12px 0}.entry .sunburst{height:45px;margin:0 auto 12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;translate:none}}

.couple-photo{max-width:650px;margin:15px auto 45px;padding:0 28px;text-align:center}.couple-photo img{display:block;width:100%;height:auto;max-width:100%;border:8px solid #fffdf6;outline:1px solid #b8c7d6;box-shadow:0 15px 35px #1b35541a}.couple-photo figcaption{font:italic 20px/1.4 'Cormorant Garamond',Georgia;margin:21px auto 0;max-width:350px}.deco .couple-photo img{border:8px solid #20272d;outline:1px solid #d8b779;box-shadow:0 15px 35px #0005}.music-credit{font-size:11px;max-width:300px;margin:25px auto 0}.music-credit summary{cursor:pointer}.music-credit p{margin:12px 0;font-size:11px}
/* Each opening inherits its own palette, overriding the shared brown copy. */
.porcelain .invitation-entry .entry-copy{color:#254771}
.deco .invitation-entry .entry-copy,.deco .invitation-entry .entry-copy h2,.deco .invitation-entry .entry-copy p,.deco .invitation-entry>small{color:#f4e9ce}
.deco .invitation-entry .entry-copy h2 i{color:#d8b779}
