/* Invitation composition inspired by the supplied reference. */
.demo-style-note{font-size:13px;color:#776b57}.web-preview{--w-accent:#a18a58;--w-soft:#fff9f0;--w-paper:#fff9f0;--w-ink:#45413c;--w-gold:#b9a06a;border-radius:2px}.wedding-scroll{font-family:Lora,Georgia,serif}.wedding-nav{background:#fff9f0f2;backdrop-filter:blur(8px);padding:8px 5%}.wedding-nav nav button{font-family:Lora,serif;font-size:11px}.monogram{font-family:'Alex Brush',cursive;font-size:33px;letter-spacing:0}.welcome-letter{text-align:left;width:min(550px,86%);padding:50px 45px;margin:65px auto 90px;background:#fffdf9;box-shadow:0 8px 45px #b8a48218;border:1px solid #d5c29c45;position:relative;font:24px/1.7 'Dancing Script',cursive;animation:letter-in 1s ease both}.welcome-letter:before,.welcome-letter:after{content:'';position:absolute;width:30px;height:30px;border-color:#cbb687;border-style:solid}.welcome-letter:before{top:12px;left:12px;border-width:1px 0 0 1px}.welcome-letter:after{bottom:12px;right:12px;border-width:0 1px 1px 0}.welcome-letter p+p{margin-top:15px}.letter-flourish{text-align:center;font:53px 'Alex Brush',cursive;color:#ab925e;margin-bottom:30px}.letter-flourish span{font-size:30px}.letter-signature{text-align:right}.welcome-letter .wedding-button{display:block;margin:32px auto 0}.film-hero{height:620px;background:#b9b3a5}.film-shade{background:linear-gradient(180deg,#19151142 0%,#211a142b 45%,#fff9f033 66%,#fff9f0 100%)}.film-title{align-self:start;padding-top:90px;width:100%}.film-title h3{font:400 clamp(60px,8.8vw,105px)/1.5 'Alex Brush',cursive;letter-spacing:0;margin:24px 0 10px;text-shadow:0 2px 10px #0007}.film-title h3 em{font:inherit;color:inherit;font-size:.65em}.film-title>span{font:13px Lora,serif;letter-spacing:.17em}.film-quote{font:italic 20px Lora,serif}.film-cta{display:block;margin:45px auto 0;width:43px;height:43px;padding:0;font-size:24px;background:transparent;border-radius:50%}.film-footer{bottom:60px;color:#49413a}.film-footer button{color:#49413a;background:#fff9f0bb;border-color:#a99168}.film-footer a{font-size:9px}.wedding-section{padding:65px 9%;border-bottom:1px solid #c7b48555;background:#fff9f0}.wedding-section h4{font:400 70px/1.25 'Alex Brush',cursive;letter-spacing:0;color:#49433d;margin-bottom:18px}.wedding-section>p:not(.wedding-kicker){font:13px/1.9 Lora,serif;color:#777064}.wedding-kicker{color:#9a865b;font:10px Lora,serif;letter-spacing:.16em}.wedding-intro{padding-top:5px}.wedding-intro .date-line{font:28px 'Cormorant Garamond',serif!important;letter-spacing:.16em;color:#49433d!important;border-block:1px solid #c8b78a;display:table;padding:15px 28px;margin:0 auto}.date-year{font:28px 'Cormorant Garamond',serif!important;letter-spacing:.13em;margin:15px auto 50px!important}.wedding-count{gap:36px;margin-top:30px}.wedding-count div{border:0;min-width:75px;padding:0}.wedding-count strong{font-size:62px;color:#ab915b}.wedding-count span{font:9px Lora,serif;letter-spacing:.16em;color:#877654}.love-divider{display:flex;align-items:center;gap:14px;width:70%;margin:35px auto 8px;color:#bda578}.love-divider:before,.love-divider:after{content:'';height:1px;background:#c9b78c80;flex:1}.wedding-button{font:12px Lora,serif;letter-spacing:.015em;border:1px solid #cab98f;border-radius:40px;background:linear-gradient(110deg,#fffefb,#f2e7cd);padding:13px 25px;box-shadow:0 3px 9px #9c815b10;color:#6f5c3a}.wedding-button:hover,.wedding-button.solid{background:linear-gradient(110deg,#f5ecd9,#e8d7ad);color:#59472c}.places-grid{display:flex;flex-direction:column;gap:0;margin-top:30px}.place-card{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:45px;padding:45px 0;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center}.place-card+.place-card{border-top:1px solid #cab78b80}.venue-photo img{width:100%;max-width:260px;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px #5b482d20;border:5px solid #fffcf5}.venue-photo span{display:block;font:26px 'Alex Brush',cursive;color:#958057;margin-top:14px}.place-info{padding:0}.place-info h4{font-size:58px;margin:0 0 15px}.place-info h5{font:24px/1.3 'Cormorant Garamond',serif;letter-spacing:.1em;text-transform:uppercase;margin:12px 0}.place-info p:not(.wedding-kicker){font:10px/1.8 Lora,serif;letter-spacing:.04em;color:#847b6c}.place-info .wedding-kicker{background:#e9dab766;display:inline-block;border-radius:20px;padding:5px 15px;margin-bottom:14px}.venue-symbol{width:70px;height:70px;display:block;margin:0 auto;stroke-width:1;color:#b39b67}.wedding-timeline{gap:25px;margin-top:40px}.wedding-timeline article{border-top:0;padding:15px 0}.wedding-timeline .icon{width:77px;height:77px;stroke-width:1;color:#a68a56;margin-bottom:18px}.wedding-timeline span{font:17px 'Cormorant Garamond',serif;border-top:1px solid #c5b186;padding-top:18px}.wedding-timeline h5{font:23px/1.15 'Cormorant Garamond',serif;margin:12px 0}.wedding-timeline p{font:10px/1.8 Lora,serif}.illustration{width:85px;height:85px;stroke-width:1;margin:15px auto 25px;display:block;color:#b29b6e}.transport-section{display:block;text-align:center}.transport-section>p{max-width:500px;margin:auto}.rsvp-area{display:block;text-align:center}.rsvp-copy{max-width:550px;margin:auto}.rsvp-copy .icon{display:none}.rsvp-copy>p{font:13px/1.9 Lora,serif}.rsvp-area form{text-align:left;max-width:550px;margin:30px auto 0;background:#fffdf9;border-color:#d5c29c99;box-shadow:0 8px 30px #9c805015;padding:30px}.rsvp-area label{font:12px/1.6 Lora,serif}.rsvp-area input,.rsvp-area select{border-color:#d6c8ad;color:#49433d;background:#fffefb;font-family:Lora,serif;font-size:14px}.wedding-farewell{background:#fff9f0;color:#73654b;padding:70px 20px}.wedding-farewell p{font:italic 15px/1.9 Lora,serif;max-width:500px;margin:auto}.wedding-farewell h4{font:55px/1.5 'Alex Brush',cursive;color:#50483b;margin:20px 0 8px}.wedding-farewell span{font:10px Lora,serif}.gift-section p{max-width:450px} @keyframes letter-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:640px){.welcome-letter{margin:40px auto 55px;padding:38px 28px;font-size:21px}.film-hero{height:530px}.film-title{padding:65px 16px 0}.film-title h3{font-size:53px;line-height:1.55;max-width:360px;margin:20px auto 10px}.film-title>p:first-child{font-size:9px}.film-title>span{font-size:10px}.film-quote{font-size:15px}.film-footer{bottom:55px}.wedding-section{padding:48px 23px}.wedding-intro{padding-top:0}.wedding-section h4{font-size:52px}.wedding-intro .date-line{font-size:21px!important;letter-spacing:.09em;padding:13px 12px}.date-year{margin-bottom:35px!important}.wedding-count{gap:15px}.wedding-count div{min-width:48px}.wedding-count strong{font-size:44px}.wedding-count span{font-size:8px;letter-spacing:.05em}.place-card{grid-template-columns:1fr;gap:22px;padding:35px 0}.venue-photo img{width:210px}.place-info h4{font-size:53px}.wedding-timeline{grid-template-columns:1fr 1fr;gap:25px 15px}.wedding-timeline .icon{width:65px;height:65px}.wedding-timeline h5{font-size:22px}.rsvp-area form{padding:20px}.wedding-farewell h4{font-size:43px}.wedding-farewell{padding:50px 23px}}@media(prefers-reduced-motion:reduce){.welcome-letter{animation:none}}

/* Guest access demonstration uses fictitious records only. */
.guest-access{text-align:center;max-width:600px;margin:auto;padding:70px 40px 60px;min-height:690px}.guest-access h4{font:55px/1.4 'Alex Brush',cursive;color:#49433d;margin:15px 0}.access-flourish{color:#b29b6e;font-size:30px;margin:14px 0 22px}.guest-access>p:not(.wedding-kicker){font:13px/1.9 Lora,serif;color:#777064;max-width:420px;margin:12px auto}.guest-access form{max-width:360px;margin:28px auto 0;text-align:left}.guest-access label{font:12px/1.7 Lora,serif;color:#65583e}.guest-access input{font:16px Lora,serif;border-color:#d6c8ad;background:#fffdf9;color:#49433d;border-radius:3px}.guest-access form>.wedding-button{display:block;width:100%;margin:15px 0 0}.guest-access #guest-access-status{font:12px/1.8 Lora,serif;color:#89593b;margin-top:14px}.access-examples{border-top:1px solid #d5c29c80;padding-top:22px;margin:25px auto 0;max-width:400px}.access-examples>span{font:9px Lora,serif;letter-spacing:.14em;color:#9a865b}.access-examples p{font:11px/1.9 Lora,serif;color:#777064;margin-top:13px}.access-examples strong{font-weight:500;color:#625333;overflow-wrap:anywhere}.access-example-buttons{display:flex;gap:10px;justify-content:center;margin-top:18px}.access-example-buttons button{border:1px solid #cab98f;border-radius:20px;padding:9px 13px;font:11px Lora,serif;color:#6f5c3a;background:#fffdf9}.guest-welcome{display:flex;justify-content:space-between;gap:15px;background:#f0e7d6;padding:10px 5%;font:11px/1.7 Lora,serif;color:#7b6847}.wedding-nav nav #guest-logout{border-left:1px solid #c5b186;padding-left:15px;font-size:10px}@media(max-width:640px){.guest-access{padding:45px 23px;min-height:660px}.guest-access h4{font-size:42px}.guest-welcome{flex-direction:column;gap:0;font-size:10px}.wedding-nav nav #guest-logout{border-left:0;padding-left:11px}}
