@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Cinzel:wght@400;500;600&family=Noto+Serif+Devanagari:wght@400;500&display=swap');
:root{--wine:#792c37;--cream:#fbf3e5;--green:#4a5938;--gold:#bd925c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e3d6;color:var(--wine);font-family:'Cormorant Garamond',Georgia,serif;font-size:19px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a67835;outline-offset:5px}[hidden]{display:none!important}#opening{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f8efdf;padding:18px;gap:14px}.video-wrap{position:relative;width:min(100%,430px);height:min(78svh,765px);overflow:hidden;border-radius:3px;box-shadow:0 12px 60px #59412820}video{width:100%;height:100%;object-fit:cover;background:#efe2cc}#monogram{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);font-size:58px;color:#7b3d36;text-shadow:0 2px 8px #fff9;font-style:italic;letter-spacing:-12px;pointer-events:none}#monogram span{display:inline-block;transform:translateY(13px)}#opening.playing #monogram{opacity:0;transition:opacity 1s}#open{border:1px solid #b39162;background:#fff8ec;color:#704331;padding:10px 24px;border-radius:3px;font-size:16px;letter-spacing:2px}#skip{border:0;background:none;font-size:14px;color:#745844}#video-message{margin:0;font-size:14px}main{max-width:600px;margin:auto;background:var(--cream);box-shadow:0 0 80px #49351e18}nav{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:14px;letter-spacing:1px;border-bottom:1px solid #b59d6c30}nav a{text-decoration:none}nav a:first-child{font-size:23px}nav i{font-size:17px;font-weight:400}.art{position:relative;background-size:100% 100%;text-align:center;overflow:hidden}.blessing{background-image:url('assets/ss1.png');min-height:1066px}.blessing-copy{padding:43px 46px 310px}.ganesh{width:66px;height:66px;color:#8a6536}.mantra{font-family:'Noto Serif Devanagari',serif;font-size:18px;margin:8px 0 20px}.prayer{font-family:'Noto Serif Devanagari',serif;font-size:13px;line-height:1.95}.blessing p{line-height:1.5;margin:16px 0}.blessing strong{font-weight:600}.ornament{font-size:33px;color:#9d7e43;margin:12px 0}.blessing h1,.bride{font-family:'Great Vibes','Cormorant Garamond',cursive;font-weight:400;font-size:66px;line-height:1.12;margin:24px 0 6px}.blessing .parents{font-size:15px;margin:4px -14px}.blessing .with{font-style:italic;margin:14px 0 4px}.blessing .bride{margin-top:4px}.small-caps,.eyebrow,.tiny{font-family:Georgia,serif;font-weight:400;letter-spacing:2px;font-size:10px;line-height:1.7}.countdown-section{text-align:center;padding:38px 16px 28px;background:#fcf2e5}.countdown-section h2,footer h2{font-size:36px;font-weight:400;font-style:italic;margin:12px 0 22px}.scratch-frame{position:relative;max-width:520px;height:280px;margin:auto;background:#f7eee0;border:5px double #96a16e;border-radius:28% 18% 28% 18%;box-shadow:0 0 0 7px #e5b5b5,0 0 0 10px #fae4d4;overflow:hidden}.countdown-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;background:#fffaf1}.countdown-date{font-size:26px;font-variant:small-caps;letter-spacing:2px;margin:5px 0 18px}#countdown{display:flex;justify-content:center;gap:10px}#countdown div{display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:1px;text-transform:uppercase}#countdown b{font-size:30px;font-weight:400;border:1px solid #ead7bb;border-radius:12px;background:#fbf0de;padding:8px;min-width:52px}.tiny{font-size:8px;letter-spacing:1px}#scratch{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .7s}#scratch.revealed{opacity:0;pointer-events:none}.text-button{border:0;background:none;color:var(--wine);font-size:14px;margin:25px 0 0;padding:10px}.rings{background-image:url('assets/ss2.png');color:#fff2d3;aspect-ratio:941/1672}.event-copy{position:relative;margin:auto;padding:24% 11% 0}.event-copy h2{font-size:44px;font-weight:500;line-height:1.05;margin:16px 0}.event-copy .eyebrow{font-size:9px;letter-spacing:1.5px}.event-date{font-size:19px;margin:14px 0}.times{max-width:300px;margin:16px auto}.times p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #efd1a850;padding:8px 0;margin:0;font-size:19px}.times strong{font-weight:600;white-space:nowrap}.venue-label{font-size:10px;letter-spacing:3px;margin:24px 0 8px}.event-copy h3{font-size:25px;font-weight:600;margin:0}.event-copy h3+p{margin:6px 0;font-size:18px}.rings .ornament{color:#f6d49e;font-size:24px}.map-strip{text-align:center;padding:22px 18px 26px;background:#f9efdd}.map-strip span{display:block;font-style:italic;font-size:17px;margin-bottom:12px}.map-button{display:inline-block;text-decoration:none;border:1px solid #9d7a49;padding:13px 18px;border-radius:3px;font-size:14px;letter-spacing:.3px;background:#fffaf0}.wedding{background-image:url('assets/ss3.png');color:#5a281f;aspect-ratio:941/1672}.wedding .event-copy{padding:9% 8% 0}.wedding .event-copy h2{margin:15px 0;font-size:46px}.wedding .times{margin:12px auto}.wedding .times p{border-color:#833d2940}.wedding .venue-label{margin-top:18px}.wedding .address{font-size:16px}footer{text-align:center;padding:42px 24px 30px;background:radial-gradient(ellipse at top,#fffaf0,#efe9d4)}footer h3{font-size:28px;font-weight:500;margin:0 0 25px}footer p{font-size:17px;line-height:1.6}.phones{display:flex;justify-content:center;gap:22px;margin:14px 0 30px}.phones a{text-decoration:none;border-bottom:1px solid #ad8c5e;padding-bottom:5px}.footer-monogram{font-size:43px!important;margin:30px 0 0!important}.footer-monogram i{font-size:26px}#music-toggle{position:fixed;right:max(18px,calc((100vw - 600px)/2 + 18px));bottom:20px;width:44px;height:44px;border-radius:50%;background:#fff9edee;color:var(--wine);border:1px solid #bfa37a;font-size:23px;box-shadow:0 3px 15px #0002;z-index:5}@media(max-width:450px){body{font-size:17px}.blessing-copy{padding:30px 28px 230px}.blessing{min-height:970px}.blessing h1,.bride{font-size:58px}.blessing .parents{font-size:13px}.prayer{font-size:12px}.event-copy{padding:23% 8% 0}.event-copy h2{font-size:34px}.event-date{font-size:16px}.times p{font-size:16px;padding:6px 0}.event-copy h3{font-size:21px}.event-copy h3+p{font-size:16px}.venue-label{margin-top:17px}.rings .ornament{margin:8px}.event-copy .eyebrow{font-size:8px}.wedding .event-copy{padding-top:7%}.wedding .event-copy h2{font-size:37px;margin:12px 0}.wedding .event-date{margin:10px 0}.wedding .venue-label{margin-top:12px}.wedding .address{font-size:14px}.scratch-frame{height:236px;margin:0 8px}.countdown-date{font-size:22px}#countdown{gap:7px}#countdown b{min-width:47px;font-size:26px}.wedding{min-height:690px}.rings{min-height:710px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Updated artwork and reference typography */
@font-face{font-family:Candlescript;src:url('assets/Candlescript.otf') format('opentype');font-weight:400;font-display:swap}
.blessing h1,.blessing .bride,.event-copy h2,.countdown-section h2,footer h2{font-family:Candlescript,cursive;font-weight:400;font-style:normal}
.blessing h1,.blessing .bride{font-size:74px;line-height:1.2}
.blessing-copy>p:not(.mantra):not(.prayer):not(.small-caps),.event-date,.times{font-style:italic}
.small-caps,.eyebrow,.tiny,.countdown-date,#countdown,.venue-label{font-family:Cinzel,Georgia,serif}
.event-copy h2{font-size:56px;line-height:1.35}.rings,.rings .ornament{color:#fff}.wedding{color:#102d52}
.event-date{font-size:23px}.times p{font-size:23px}
.video-wrap{width:min(100%,430px);height:auto;max-height:78svh;aspect-ratio:9/16}video{display:block;object-fit:contain}
#monogram{left:50%;top:49%;width:34%;height:auto;transform:translate(-50%,-50%);letter-spacing:normal;filter:drop-shadow(0 1px 1px #381c13);object-fit:contain}
.nav-logo{width:64px;height:52px;object-fit:contain;display:block}.invite-logo{display:block;width:150px;height:150px;object-fit:contain;margin:20px auto 0}
.ganesh{width:100px;height:100px;object-fit:contain;mix-blend-mode:multiply}
.venue-details{text-transform:uppercase;font-weight:700;margin-bottom:20px}.venue-details h3{font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;margin:7px 0}.venue-details p{font-size:17px;font-weight:700;line-height:1.5;margin:6px 0}.venue-details .venue-label{font-size:12px;letter-spacing:3px}
.scratch-frame{height:auto;aspect-ratio:1637/970;width:100%;max-width:540px;margin:0 auto;border:0;border-radius:0;box-shadow:none;background:url('assets/scratch-frame.png') center/100% 100% no-repeat;overflow:visible}
.countdown-inner{inset:22% 17%;background:transparent}.countdown-date{font-size:22px;letter-spacing:1.5px;margin:0 0 15px}#countdown{gap:10px}#countdown b{min-width:54px;padding:12px 7px;font-size:28px;background:#fbefdc99;border-color:#dfbd9290;box-shadow:0 5px 15px #ad7d3d0b}#countdown div{font-size:9px}
.countdown-inner .tiny{display:none}#scratch{inset:25% 18%;width:64%;height:50%;border-radius:18px}
#scroll-down{position:fixed;right:max(10px,calc((100vw - 600px)/2 + 10px));bottom:78px;z-index:6;border:1px solid #c7a774;border-radius:24px;background:#fff9edee;color:#792c37;padding:13px 8px 8px;display:flex;align-items:center;flex-direction:column;gap:5px;box-shadow:0 3px 15px #0001}#scroll-down span{font:8px Cinzel,Georgia,serif;letter-spacing:1px}#scroll-down b{font-size:25px;font-weight:400;animation:scroll-cue 1.7s ease-in-out infinite}@keyframes scroll-cue{50%{transform:translateY(4px)}}
@media(max-width:450px){.blessing h1,.blessing .bride{font-size:64px}.event-copy h2{font-size:44px}.event-date{font-size:20px}.times p{font-size:20px}.wedding .event-copy h2{font-size:48px}.wedding .event-copy{padding-top:9%}.countdown-section{padding-left:5px;padding-right:5px}.countdown-date{font-size:16px;margin-bottom:10px;letter-spacing:.5px}#countdown{gap:6px}#countdown b{min-width:40px;font-size:21px;padding:8px 5px;border-radius:9px}#countdown div{font-size:7px;gap:6px;letter-spacing:.5px}.venue-details h3{font-size:18px}.venue-details p{font-size:15px}.scratch-frame{height:auto}.ganesh{width:88px;height:88px}}
@media(prefers-reduced-motion:reduce){#scroll-down b{animation:none}}

/* Keep the video and seal logo on the same 9:16 coordinate system. */
.video-wrap{width:min(100%,430px,43.875svh);max-height:none;aspect-ratio:9/16}

