:root{color:#f8ead1;background:#18050a;font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif;font-synthesis:none;--wine: #650817;--wine-dark: #3e0710;--wine-bright: #970f27;--cream: #f5eadb;--gold: #e9cf95;--ink: #38151d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% 8%,rgba(135,19,43,.25),transparent 35rem),#18050a;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ffe2a7;outline-offset:3px}img{display:block;max-width:100%}.invitation{width:min(100%,480px);margin:0 auto;overflow:hidden;background:var(--wine);box-shadow:0 0 90px #0000009e}.music-disc{display:grid;width:34px;aspect-ratio:1;place-items:center;border-radius:50%;color:var(--gold);background:var(--wine)}.music-toggle{position:fixed;z-index:40;top:max(14px,env(safe-area-inset-top));right:max(14px,calc((100vw - 480px)/2 + 14px));display:flex;align-items:center;gap:7px;border:1px solid rgba(232,207,151,.5);border-radius:999px;padding:5px 11px 5px 5px;color:var(--gold);background:#36040cd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;font-size:11px;letter-spacing:.08em}.music-disc{width:28px;color:var(--wine);background:var(--gold)}.music-toggle.is-playing .music-disc{animation:spin 5s linear infinite}.cover{position:relative;min-height:100svh;display:grid;place-items:center;padding:54px 24px 70px;color:var(--gold);background:radial-gradient(circle at 50% 26%,rgba(199,27,54,.72),transparent 34%),linear-gradient(150deg,#470510,#7b0a1b 45%,#45040e)}.cover:before,.cover:after{content:"";position:absolute;top:20px;right:20px;bottom:20px;left:20px;border:1px solid rgba(238,205,141,.24);pointer-events:none}.cover:after{top:26px;right:26px;bottom:26px;left:26px}.cover-frame{position:relative;z-index:1;width:100%;border-radius:210px 210px 20px 20px;padding:34px 18px 26px;background:#7a071ab8;box-shadow:0 28px 60px #1e000773}.cover-names{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:22px;font-size:clamp(23px,7vw,34px);letter-spacing:.14em}.cover-names i{color:#f2d5a1;font-family:Georgia,serif;font-size:40px;font-weight:400}.cover-photo{position:relative;height:min(59svh,610px);overflow:hidden;border:8px solid #efded4;border-radius:180px 180px 16px 16px;background:var(--cream)}.cover-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.92) contrast(.98)}.handwriting{position:absolute;right:14px;bottom:26px;color:#9c1026;font-family:Segoe Script,Brush Script MT,cursive;font-size:clamp(20px,6vw,34px);line-height:1.08;text-align:right;transform:rotate(-7deg);text-shadow:0 1px 0 rgba(255,255,255,.6)}.cover-title{padding-top:23px;text-align:center}.cover-title small,.cover-title span{display:block;font-size:12px;letter-spacing:.35em}.cover-title strong{display:block;margin:8px 0;font-family:Georgia,serif;font-size:clamp(26px,8vw,40px);font-weight:400;letter-spacing:.22em}.scroll-cue{position:absolute;z-index:2;bottom:24px;margin:0;font-size:10px;letter-spacing:.22em;opacity:.72;animation:breathe 1.8s ease-in-out infinite}.section-pad{padding:88px 26px}.story-section{background:var(--wine)}.section-heading,.date-heading{text-align:center}.eyebrow{margin:0 0 16px;color:var(--gold);font-family:Georgia,serif;font-size:11px;letter-spacing:.35em}.section-heading h2,.date-heading h2{margin:0;color:#faead3;font-size:clamp(24px,7vw,35px);font-weight:400;line-height:1.65;letter-spacing:.08em}.photo-card{margin:64px 18px 46px;padding:10px;color:var(--ink);background:#f2e4d9;box-shadow:0 22px 50px #1c00075c}.photo-card img{width:100%;aspect-ratio:.82;object-fit:cover}.photo-card figcaption{padding:18px 10px 12px;font-size:12px;line-height:1.9;text-align:center;letter-spacing:.08em}.tilt-left{transform:rotate(-2deg)}.story-copy{position:relative;border-block:1px solid rgba(235,208,154,.28);padding:46px 14px;text-align:center}.story-copy span{display:block;margin-bottom:18px;color:#e8cc94ad;font-family:Georgia,serif;font-size:42px;letter-spacing:.25em}.story-copy p{margin:0;color:#ecdcc8;font-size:13px;line-height:2.1;letter-spacing:.06em}.cinema-section{background:#22080c}.cinema-photo{position:relative;min-height:720px}.cinema-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 42%,#0f0405e6);pointer-events:none}.cinema-photo>img{width:100%;height:720px;object-fit:cover;object-position:50% 50%}.cinema-copy{position:absolute;z-index:2;right:28px;bottom:60px;left:28px;text-align:center}.cinema-copy p{color:var(--gold);font-family:Georgia,serif;font-size:12px;letter-spacing:.35em}.cinema-copy h2{margin:18px 0 0;font-size:27px;font-weight:400;line-height:1.7;letter-spacing:.12em}.date-section{color:var(--ink);background:var(--cream)}.date-heading .eyebrow{color:var(--wine)}.date-heading h2{color:var(--wine);font-size:clamp(30px,9vw,44px);line-height:1.3}.date-heading>p:last-child{color:#764a4c;font-size:13px;letter-spacing:.2em}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:44px 0}.countdown>div{border:1px solid rgba(100,8,22,.22);padding:18px 4px 14px;text-align:center;background:#ffffff73}.countdown strong,.countdown span{display:block}.countdown strong{color:var(--wine);font-family:Georgia,serif;font-size:26px;font-weight:400}.countdown span{margin-top:7px;color:#765556;font-size:11px}.venue-card{border:1px solid rgba(101,8,23,.3);padding:30px 22px;text-align:center;background:#fffaf2;box-shadow:0 18px 40px #50151d1f}.venue-card .eyebrow{color:var(--wine)}.venue-card h3{margin:0;color:var(--wine);font-size:25px;font-weight:400;letter-spacing:.08em}.venue-card>p:not(.eyebrow),.venue-card address{color:#6d4d4c;font-size:13px;line-height:1.85;font-style:normal}.venue-card address{margin-top:18px;padding-top:18px;border-top:1px solid rgba(101,8,23,.15)}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 15px}.action-row a,.action-row button,.phone-link{border:1px solid var(--wine);padding:12px 8px;color:var(--wine);background:transparent;text-decoration:none;cursor:pointer}.phone-link{display:block;border-color:transparent;color:#7c5960;font-size:12px}.gallery-section{background:var(--wine)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:320px 230px;gap:8px;margin-top:50px}.gallery-item{margin:0;overflow:hidden;background:#3d0710}.gallery-item:first-child{grid-column:1 / -1}.gallery-grid img{width:100%;height:100%;object-fit:cover}.red-scene{position:relative;min-height:680px;overflow:hidden}.red-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 45%,#39020ce6)}.red-scene img{width:100%;height:680px;object-fit:cover}.red-scene>div{position:absolute;z-index:2;right:0;bottom:40px;left:0;text-align:center}.red-scene span{display:block;color:var(--gold);font-size:62px}.red-scene p,.red-scene h2{margin:0;letter-spacing:.2em}.red-scene p{margin-top:8px;font-size:13px}.red-scene h2{margin-top:8px;font-size:36px;font-weight:400}.rsvp-section{color:var(--ink);background:#f4e8da}.rsvp-section .eyebrow,.rsvp-section .section-heading h2{color:var(--wine)}.rsvp-section .section-heading>p:last-child{margin:16px 18px 42px;color:#775b59;font-size:12px;line-height:1.9}.rsvp-form{display:grid;gap:18px;border:1px solid rgba(101,8,23,.2);padding:24px 18px;background:#fffcf6cc}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rsvp-form label,.rsvp-form fieldset{min-width:0}.rsvp-form label>span,.rsvp-form legend{display:block;margin:0 0 8px;color:#6e3d43;font-size:12px;letter-spacing:.08em}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;border:0;border-bottom:1px solid rgba(101,8,23,.28);border-radius:0;padding:11px 4px;color:var(--ink);background:transparent}.rsvp-form textarea{resize:vertical}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#ad9690;font-size:12px}.rsvp-form input[aria-invalid=true]{border-color:#b40022}.rsvp-form small{display:block;margin-top:5px;color:#a0001f;font-size:10px}.rsvp-form fieldset{margin:0;border:0;padding:0}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice>span{display:block!important;margin:0!important;border:1px solid rgba(101,8,23,.22);padding:10px 5px;text-align:center;cursor:pointer}.choice input:checked+span{color:#fff5e8;background:var(--wine)}.primary-button{border:0;padding:15px;color:#fff3df;background:var(--wine);cursor:pointer;letter-spacing:.2em}.primary-button:disabled{cursor:wait;opacity:.7}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.submit-error{margin:-4px 0 0;color:#a0001f;font-size:12px;line-height:1.6;text-align:center}.form-note{margin:-8px 0 0;color:#9b817d;font-size:10px;text-align:center}.rsvp-success{border:1px solid rgba(101,8,23,.24);padding:42px 20px;text-align:center;background:#fffcf6d9}.success-mark{display:block;color:var(--wine);font-size:72px}.rsvp-success .eyebrow{margin:12px 0}.rsvp-success h3{margin:0;color:var(--wine);font-size:28px;font-weight:400}.rsvp-success>p:not(.eyebrow){color:#765b58;font-size:13px;line-height:2}.text-button{border:0;border-bottom:1px solid var(--wine);padding:4px;color:var(--wine);background:transparent;cursor:pointer}footer{display:grid;gap:14px;padding:72px 30px calc(70px + env(safe-area-inset-bottom));text-align:center;color:var(--gold);background:#3d0710}footer p,footer strong,footer span{margin:0}footer p{font-family:Georgia,serif;font-size:11px;letter-spacing:.32em}footer strong{font-size:22px;font-weight:400;letter-spacing:.12em}footer span{color:#efd8b0a3;font-size:11px;line-height:1.9}.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal.tilt-left{transform:translateY(36px) rotate(-2deg)}.reveal.tilt-left.is-visible{transform:translateY(0) rotate(-2deg)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.35;transform:translateY(5px)}}@media(max-width:375px){.section-pad{padding-inline:20px}.cover{padding-inline:18px}.cover-photo{height:min(57svh,560px)}.field-row{grid-template-columns:1fr}.field-row.compact{grid-template-columns:1fr 1fr}.choice-row{grid-template-columns:1fr}}@media(min-width:760px){.invitation{margin-block:34px;border-radius:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none!important}}
