/* Navy paper, champagne type and gold foil details. */
:root{--paper:#10233f;--paper-dark:#071426;--ink:#f8eed9;--muted:#b9c4d5;--gold:#d8b46a;--line:#344967}
body{background:radial-gradient(ellipse at 50% 35%,#183556 0%,var(--paper-dark) 78%)}
h1,h2,h3{color:var(--ink)}h1 em,h2 em{color:var(--gold)}.invitation-book{border-color:var(--gold);box-shadow:0 25px 90px #02071380,0 0 0 1px #d8b46a13;background:linear-gradient(140deg,#142d4d,var(--paper) 65%)}.invitation-book:before{border-color:#d8b46a50}.invitation-book:after{background-image:url('../images/invitation-card-navy.svg');opacity:.07}.book-masthead,.book-pagination{border-color:var(--line)}.card-edge{color:var(--gold)}.card-edge span{border-color:#d8b46a70}.card-edge:hover{background:#d8b46a0b}.button.primary,.card-slide .rsvp-section .light{background:linear-gradient(115deg,#e3c581,#c59e50);color:#09182e}.button.primary:hover,.card-slide .rsvp-section .light:hover{background:#ecd49a}.button.light{background:var(--gold);color:var(--paper-dark)}.card-slide .text-link{border-color:#d8b46a88}.card-slide .photo-tag{background:var(--paper);color:var(--gold)}.story-visual:before{border-color:#d8b46a70}.card-slide .hero-date .date-location{border-color:var(--line)}.card-slide .memory-photo{background:#152e4d;border-color:#d8b46a70;box-shadow:0 8px 22px #030b1a50}.card-slide .memory-photo img{background:#091a30}.card-slide .memory-photo .memory-caption{color:var(--ink)}.card-slide .timeline li{border-color:#d8b46a55}.card-slide .timeline li>span{border-color:var(--gold);background:var(--paper);color:var(--gold)}.card-slide .countdown b{color:var(--gold)}.swatches span{border-color:var(--paper);outline-color:#d8b46a55}
.invitation-cover{background:radial-gradient(ellipse at 50% 35%,#1d3a5b55,transparent 65%),var(--paper-dark)}.envelope-back{background:#102641;border-color:#a88c50;box-shadow:0 18px 50px #02081670}.envelope-front{background:linear-gradient(145deg,#19385b,#102743);border-color:#a88c50}.envelope-front:after{background:#1c3858}.envelope-flap{background:#213c5c}.cover-letter{background:var(--paper);box-shadow:0 4px 18px #02081670}.envelope-seal{border-color:#ebd29a;box-shadow:0 3px 10px #0003;color:#152b48}.cover-open-label{color:#ecd6a2}.cover-card-caption{color:var(--muted)}.cover-card-date{color:var(--gold)}
.music-toggle{border-color:#d8b46a70;box-shadow:0 4px 20px #02081640}.music-bars i{background:var(--gold)}.rsvp-dialog{border:1px solid #d8b46a80}.dialog-close{background:#172f4d;color:var(--gold);border:1px solid #d8b46a60}.rsvp-dialog input,.rsvp-dialog select,.rsvp-dialog textarea{border-color:#60718a}.rsvp-dialog select option{background:var(--paper);color:var(--ink)}input::placeholder,textarea::placeholder{color:#8e9fb5}.toast{background:#e4c787;color:#10223a;box-shadow:0 5px 25px #0003}.photo-dialog p{color:#f8eed9}
.card-slide .video-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}.film-preview{position:relative;display:block;justify-self:center;max-width:245px;width:100%;padding:0;background:#081428;border:1px solid #d8b46a88;border-radius:95px 95px 4px 4px;overflow:hidden;box-shadow:0 14px 40px #02081650}.film-preview img{height:330px;width:100%;object-fit:cover;object-position:center 47%}.film-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07132680,transparent 70%)}.film-play{position:absolute;inset:0;z-index:1;display:grid;place-items:center}.film-play>span{width:62px;height:62px;border:1px solid #f4deb0b0;border-radius:50%;background:#10284680;backdrop-filter:blur(3px);display:grid;place-items:center;color:#ecd6a2;font-size:25px;padding-left:3px;transition:transform .3s}.film-preview:hover .film-play>span{transform:scale(1.1)}.film-preview-label{position:absolute;bottom:20px;left:10px;right:10px;z-index:2;color:#f7e9cb;font-size:8px;letter-spacing:1.4px}.film-copy h2{margin:18px 0 22px}.film-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;white-space:pre-line}.film-soundtrack{display:block;margin-top:22px;font-size:7px;letter-spacing:1.6px;color:var(--gold)}.film-copy .text-link{margin-top:22px;color:var(--ink)}
.video-dialog{background:#050c17;border:1px solid #caa75f66;width:auto;max-width:94vw;max-height:94svh;overflow:hidden;padding:10px 10px 14px}.video-dialog video{display:block;max-height:78svh;max-width:88vw;width:auto;height:auto;min-height:120px;background:#050c17}.video-dialog>.dialog-close{position:absolute;top:15px;right:15px;z-index:5}.video-dialog p{color:#e8d8b4;font-family:var(--serif);font-style:italic;font-size:19px;text-align:center;margin-top:10px;line-height:1.3}
@media(max-width:760px){.card-slide .video-section{grid-template-columns:1fr;text-align:center;gap:22px}.film-preview{max-width:165px;border-radius:70px 70px 4px 4px}.film-preview img{height:230px}.film-copy h2{font-size:35px;margin:12px 0 15px}.film-copy>p:not(.eyebrow){font-size:11px}.film-copy .text-link{margin-top:15px}.film-soundtrack{font-size:6px;letter-spacing:1px;margin-top:14px}.film-preview-label{font-size:6px;bottom:15px}.film-play>span{width:48px;height:48px;font-size:20px}.video-dialog{padding:5px 5px 12px}.video-dialog video{max-height:76svh;max-width:89vw}.video-dialog p{font-size:16px}}
@media(max-height:600px) and (min-width:600px){.card-slide .video-section{grid-template-columns:.85fr 1.15fr;text-align:left;gap:30px}.film-preview{max-width:180px}.film-preview img{height:260px}.film-copy h2{font-size:40px}}
/* A portrait film and a separate sequence of photographs, with no empty panel. */
.video-dialog{width:min(1180px,94vw);max-width:94vw;padding:18px 18px 13px}
.film-layout{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:20px;align-items:stretch}
.film-main{display:flex;align-items:center;justify-content:center;min-width:0;background:#07111e;border:1px solid #d8b46a26}
.video-dialog .film-main video{width:100%;height:72svh;max-width:100%;max-height:72svh;object-fit:contain;min-height:0}
.film-memories{min-width:0;display:flex;flex-direction:column;background:linear-gradient(150deg,#162c48,#0a192d);border:1px solid #d8b46a40;overflow:hidden}
.film-memory-heading{padding:22px 20px 14px;text-align:center}
.film-memory-heading>span{font-size:8px;letter-spacing:2.5px;color:var(--gold)}
.film-memory-heading h2{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.2;margin:9px 0 0;color:#f3e5ca}
.film-photo-stage{position:relative;flex:1;min-height:180px;overflow:hidden;background:#0a1728}
.film-photo-frame{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;overflow:hidden}
.film-photo-frame.is-active{opacity:1;z-index:1}
.film-photo-frame img{position:absolute;inset:0;width:100%;height:100%}
.film-photo-blur{object-fit:cover;filter:blur(20px) brightness(.38);transform:scale(1.12);pointer-events:none}
.film-photo{object-fit:contain;padding:9px;transform:scale(.98);transition:transform 4s ease}
.film-photo-frame.is-active .film-photo{transform:scale(1)}
.film-memory-footer{min-height:81px;padding:13px 16px;text-align:center}
#film-photo-number{font-size:8px;letter-spacing:3px;color:var(--gold)}
.video-dialog .film-memory-footer p{font-size:18px;line-height:1.4;margin-top:7px}
.video-dialog>.dialog-close{top:23px;right:23px;background:#10233fe6}
.video-dialog>p{margin-top:12px;font-size:17px}
@media(max-width:650px){.video-dialog{padding:10px;width:95vw;max-width:95vw;overflow:auto;max-height:95svh}.film-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px}.video-dialog .film-main video{height:57svh;max-height:57svh}.film-memory-heading{padding:13px 8px 10px}.film-memory-heading>span{font-size:5px;letter-spacing:1.1px}.film-memory-heading h2{font-size:20px;margin-top:7px}.film-photo-stage{min-height:120px}.film-photo{padding:4px}.film-memory-footer{padding:9px 7px;min-height:85px}.video-dialog .film-memory-footer p{font-size:14px}.video-dialog>p{font-size:14px}.video-dialog>.dialog-close{top:12px;right:12px;width:28px;height:28px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.film-photo-frame,.film-photo{transition:none;transform:none!important}}
/* Gold botanical borders and a quiet celestial atmosphere. */
.wedding-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;display:none}
.celestial-background .wedding-backdrop{display:block}
.celestial-background .invitation-cover{background:transparent}
.celestial-ornaments{position:absolute;inset:12px;background:url('../images/celestial-botanicals.svg') center/100% 100% no-repeat;opacity:var(--ornament-opacity,.42)}
.celestial-stars{position:absolute;inset:0;background:url('../images/celestial-stars.svg') center/cover;opacity:.65;animation:constellation-breathe 9s ease-in-out infinite alternate}
.celestial-glow{position:absolute;width:65vw;height:65vw;max-width:1100px;max-height:1100px;border-radius:50%;opacity:var(--glow-opacity,.28);filter:blur(28px);will-change:transform}
.glow-one{left:-27vw;top:-28vw;background:radial-gradient(ellipse,#a986484f,transparent 65%);animation:celestial-drift 25s ease-in-out infinite alternate}
.glow-two{right:-22vw;bottom:-32vw;background:radial-gradient(ellipse,#4c82b0a0,transparent 65%);animation:celestial-drift 30s ease-in-out -12s infinite alternate-reverse}
.celestial-background .invitation-book{background:radial-gradient(ellipse at 0 0,#27436170,transparent 48%),radial-gradient(ellipse at 100% 100%,#9a79391c,transparent 50%),linear-gradient(135deg,#142b49,var(--paper) 65%)}
.celestial-background .invitation-book:after{background-image:url('../images/celestial-botanicals.svg');opacity:calc(var(--ornament-opacity,.42) * .65)}
.celestial-background .book-masthead{background:linear-gradient(90deg,transparent,#d8b46a04,transparent)}
.celestial-background .envelope-back{box-shadow:0 25px 80px #0006,0 0 70px #d8b46a10}
.celestial-background .cover-intro h2{text-shadow:0 3px 35px #d8b46a1a}
@keyframes constellation-breathe{from{opacity:.4}to{opacity:.85}}
@keyframes celestial-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(5vw,4vh,0)}}
@media(max-width:650px){.celestial-ornaments{inset:6px;background-size:auto 100%;opacity:calc(var(--ornament-opacity,.42) * .7)}.celestial-glow{filter:blur(16px);width:100vw;height:100vw}.celestial-background .invitation-book:after{background-size:140% 100%}}
@media(prefers-reduced-motion:reduce){.celestial-stars,.celestial-glow{animation:none!important}}
.animations-disabled .celestial-stars,.animations-disabled .celestial-glow{animation:none!important}
