@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#f3e6c9;--wine:#641d22;--gilt:#b69a65;--ink:#35261f;font-family:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#1d1510;color:var(--paper)}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#100d0be8,#100d0bb0 32%,#100d0b30 68%),linear-gradient(0deg,#100d0b80,transparent 70%)}.invitation-room{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;z-index:-2}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #e7cf9e;outline-offset:4px}header{padding:18px clamp(22px,4vw,64px);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:19px;font-style:italic}header a{text-decoration:none;min-height:44px;display:flex;align-items:center}.details-button{border:0;background:none;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-style:italic}.invitation-copy{padding:clamp(20px,5vh,60px) clamp(24px,5vw,80px) 28px;max-width:650px}.opening{font-size:22px;font-style:italic;margin:0 0 20px;color:#e3ceaa}h1{font-size:clamp(72px,7vw,106px);font-weight:400;font-style:italic;line-height:.94;letter-spacing:-.025em;margin:0 0 22px}.dedication{font-size:23px;line-height:1.25;font-style:italic;max-width:350px;margin:0 0 20px}.invitation-line{font-size:21px;line-height:1.3;max-width:370px;margin:0 0 24px}.invitation-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:330px}.primary,.preview-button{min-height:50px;padding:12px 20px;border-radius:32px;border:1px solid #bc9f6c;font-size:24px;font-style:italic;text-align:center}.primary{background:#641d22ed}.primary:hover{background:#75262c}.preview-button{background:#1e17144d;border-color:#ead7adad}.preview-button:hover{background:#ead7ad1a}.preview-button span{font-family:Georgia,serif;font-size:22px;margin-right:9px}.returning{display:flex;align-items:center;min-height:44px;max-width:350px;font-size:18px;font-style:italic;margin-top:15px}.text-sound{display:block;background:none;border:0;text-decoration:underline;padding:0;min-height:44px;font-size:17px;font-style:italic;color:#ddc8a6}#message{font-size:18px;max-width:380px;margin:8px 0 0}#message:empty{display:none}[hidden]{display:none!important}dialog{background:#f1e6cb;color:var(--ink);border:1px solid #b49a66;border-radius:5px;width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:28px;overflow:auto;font:21px/1.4 'Cormorant Garamond',Georgia,serif;box-shadow:0 20px 70px #100b0866}dialog::backdrop{background:#100d0bbf;backdrop-filter:blur(5px)}.cross{float:right;width:44px;height:44px;border:0;background:none;color:var(--ink);font:30px Georgia;padding:0}.note{font-style:italic;color:#735b3c;margin-top:0}h2{font-style:italic;font-size:38px;font-weight:400;line-height:1.1}dialog p{margin:16px 0}.small{font-size:18px;color:#6c5742}summary{cursor:pointer;font-style:italic;color:var(--wine)}details{border-top:1px solid #b49a6666;padding-top:15px}#coursePreview{width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;background:#17110e;color:var(--paper);border-color:#b49a6680}.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px 5px 20px;font-size:20px;font-style:italic}#closePreview{width:44px;height:44px;flex-shrink:0;border:0;background:transparent;font:28px Georgia;padding:0}#previewFilm{display:block;width:100%;max-height:calc(100dvh - 90px);aspect-ratio:16/9;background:#100c09;object-fit:contain}#previewFilm::cue{font:18px/1.3 Arial,sans-serif}@media(max-width:650px){header{padding:8px 20px;font-size:17px;gap:14px}.invitation-room{object-position:54% center}body:before{background:linear-gradient(90deg,#100d0bba,#100d0b55),linear-gradient(0deg,#100d0bc9,transparent)}.invitation-copy{padding:24px 26px 20px;max-width:460px}.opening{font-size:20px;margin-bottom:20px}h1{font-size:68px;margin-bottom:20px}.dedication{font-size:22px;max-width:310px;margin-bottom:18px}.invitation-line{font-size:20px;max-width:310px;margin-bottom:22px}.primary,.preview-button{font-size:23px;min-height:48px;padding:10px 18px}.invitation-actions{max-width:310px;gap:10px}.returning{font-size:17px;line-height:1.3;margin-top:12px}#coursePreview{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.preview-heading{font-size:17px;padding-left:14px}#previewFilm::cue{font:15px/1.3 Arial,sans-serif}}@media(max-width:650px) and (max-height:740px){.invitation-copy{padding-top:12px}.opening{font-size:19px;margin-bottom:14px}h1{font-size:59px;margin-bottom:16px}.dedication{font-size:21px;margin-bottom:14px}.invitation-line{font-size:19px;margin-bottom:18px}.returning{margin-top:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#coursePreview{max-width:calc(100vw - 32px)}@media(max-width:650px){#coursePreview{max-width:calc(100vw - 16px)}}

#returnDialog{width:min(440px,calc(100vw - 28px));padding:24px 28px}#returnDialog h2{font-size:34px;margin:12px 0 18px}#returnDialog .note{margin:4px 0}#returnDialog .cross{margin:-12px -16px 0 4px}#returnSignin label{display:block;font-size:19px;margin-bottom:6px}#returnEmail{display:block;width:100%;min-height:48px;border:1px solid var(--gilt);border-radius:3px;background:#fffaf0;padding:10px 12px;font:20px Georgia,serif;color:var(--ink);margin-bottom:16px}#returnEmail:focus-visible{outline:2px solid var(--wine);outline-offset:2px}#sendReturn{color:var(--paper);font-size:22px;min-height:48px;width:100%}#sendReturn:disabled{cursor:wait;opacity:.7}#returnMessage:empty{display:none}#returnMessage{font-size:19px;line-height:1.3;color:var(--wine)}#returnDialog .small{font-size:16px;margin-bottom:0}@media(max-width:480px){#returnDialog{padding:22px;max-height:calc(100dvh - 24px)}#returnDialog h2{font-size:30px}#returnDialog p{font-size:19px}#returnDialog .small{font-size:16px}}

.invitation-words{position:fixed;right:5vw;bottom:12vh;width:min(420px,35vw);font-size:28px;line-height:1.3;font-style:italic;color:#fff3d5;text-shadow:0 2px 15px #000,0 1px 4px #000;opacity:0;transition:opacity .35s ease;pointer-events:none;margin:0}.invitation-words.visible{opacity:1}@media(max-width:1000px){.invitation-words{position:static;width:auto;max-width:370px;min-height:74px;margin:0 0 18px;font-size:21px;line-height:1.25}.invitation-copy.words-active .invitation-line{display:none}}@media(max-width:650px){.invitation-words{font-size:19px;max-width:310px;min-height:72px;margin-bottom:18px}}@media(prefers-reduced-motion:reduce){.invitation-words{transition:none}}


/* Keep the room visible throughout the body fade's stacking context. */
.invitation-room{z-index:0}body:before{z-index:1;pointer-events:none}header,.invitation-copy{position:relative;z-index:2}
/* Captions replace the summary without moving the actions below it. */
@media(max-width:1000px){.invitation-summary{position:relative;min-height:110px}.invitation-summary .invitation-words{position:absolute;inset:0 auto auto 0;margin:0;min-height:0}.invitation-copy.words-active .invitation-line{display:block;visibility:hidden}}
