:root{font-family:DM Sans,sans-serif;color:#40352f;background:#f8f5ef;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#40352f;--muted:#88786d;--rose:#bd8584;--rose-light:#ead4ce;--paper:#f8f5ef;--champagne:#d8c5a9;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}button,a{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none}.eyebrow{font-size:9px;letter-spacing:.24em;font-weight:500;color:#9c8372}.floral{position:absolute;color:#c79591;pointer-events:none}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#f4eee5;display:grid;place-items:center;padding:22px}.intro:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid #d9cabc;pointer-events:none}.intro-frame{position:relative;width:min(100%,650px);height:100%;max-height:850px;display:flex;align-items:center;flex-direction:column}.intro-top{display:flex;width:100%;justify-content:space-between;padding:31px 15px;color:#958477;font-size:8px;letter-spacing:.19em}.intro-center{text-align:center;margin-top:7vh;z-index:1}.intro-center .eyebrow{margin-bottom:20px}.intro h1{font:400 clamp(54px,10vw,94px)/.98 var(--serif);margin:0;color:#55443d}.intro h1 i{font-size:.55em;color:#c58f8d;font-weight:400}.intro-date{font-size:9px;letter-spacing:.22em;line-height:2.1;color:#917f72;margin:24px 0 0}.envelope{position:relative;width:min(74vw,350px);height:200px;border:0;background:none;margin-top:44px;perspective:600px;animation:float 4s ease-in-out infinite}.env-shadow{position:absolute;top:22px;right:16px;bottom:0;left:16px;background:#d6c3b5;filter:blur(16px);opacity:.4}.env-back,.env-front,.env-flap,.env-letter{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 10px 28px #a8958022}.env-back{background:#ddc8bb;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.env-front{background:#e9dacf;clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%)}.env-flap{background:#d4bcae;clip-path:polygon(0 0,100% 0,50% 70%);transform-origin:top;z-index:3;transition:transform .7s}.envelope:hover .env-flap{transform:rotateX(180deg);z-index:0}.env-letter{top:12px;right:16px;bottom:25px;left:16px;background:#fbf8f2;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#8b7164}.env-letter b{font:32px var(--serif)}.env-letter em{font-size:18px;color:#bd8584}.env-letter small{font-size:7px;letter-spacing:.23em}.wax{position:absolute;z-index:4;left:calc(50% - 20px);top:82px;width:40px;height:40px;border-radius:50%;background:#b77d7b;color:#f8eee6;box-shadow:0 2px 6px #5f414155;display:grid;place-content:center;font:13px var(--serif)}.wax span{font-size:8px}.open-label{margin-top:12px;background:none;border:0;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.2em;color:#9e8375}.open-label svg{animation:nudge 1.4s ease-in-out infinite}.intro-flower{width:140px;left:-35px;bottom:18px;opacity:.45}.site-nav{height:66px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e0d6;background:#f8f5ef;position:absolute;z-index:2;top:0;width:100%;color:#8b7c70}.brand{font:22px var(--serif);color:#69564a;letter-spacing:.02em}.brand span{font-size:10px;color:#c58b89;vertical-align:middle}.site-nav>span,.sound small{font-size:8px;letter-spacing:.16em}.sound{border:0;background:transparent;display:flex;align-items:center;gap:8px;color:#8b7c70}.sound svg{width:16px;height:16px;stroke-width:1.2}.hero{min-height:750px;height:100svh;max-height:1000px;padding:100px 9vw 50px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;position:relative}.hero-copy{padding-left:7%;z-index:1}.hero-copy>.eyebrow{animation:fadeUp .8s both .15s}.names{font:400 clamp(68px,10vw,136px)/.9 var(--serif);letter-spacing:-.055em;margin:28px 0 21px;color:#493b34}.names span{display:block;animation:fadeUp .85s both}.names span:nth-child(3){animation-delay:.2s}.names i{display:block;color:#c28e8b;font-size:.4em;font-weight:400;margin:8px 0 8px 4px;animation:fadeUp 1s both .3s}.hero-sub{font:italic 18px var(--serif);color:#8e7a6e;margin:0 0 36px}.hero-date{display:flex;flex-direction:column;gap:6px;padding-left:15px;border-left:1px solid #c99b92}.hero-date span{font-size:8px;letter-spacing:.19em;color:#938276}.hero-date b{font:18px var(--serif);letter-spacing:.13em;color:#6d5a50}.hero-date i{color:#c58c88;font-style:normal}.scroll-cue{display:flex;align-items:center;gap:13px;margin-top:55px;color:#9a8b7f;font-size:8px;letter-spacing:.17em;width:max-content}.scroll-cue svg{color:#c48c89;animation:nudge 1.6s infinite}.hero-art{position:relative;width:100%;height:min(70vh,650px);display:flex;justify-content:center;align-items:center}.hero-art img{height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply;position:relative;z-index:1;animation:artIn 1.2s both .4s}.art-halo{position:absolute;width:min(38vw,420px);height:min(38vw,420px);background:#efe2d8;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-52%);opacity:.75}.art-caption{position:absolute;bottom:4%;right:4%;font-size:7px;letter-spacing:.18em;color:#9e8b7c;z-index:2}.art-flower{width:115px;right:-16px;top:18%;opacity:.55;transform:rotate(20deg)}.hero-mark{position:absolute;bottom:27px;left:50%;transform:translate(-50%);font-size:7px;letter-spacing:.22em;color:#a6988d;white-space:nowrap}.hero-mark span{color:#c9918e;padding-left:10px}.section{padding:110px 9vw;position:relative}.section-kicker{display:flex;gap:16px;align-items:center;font-size:8px;letter-spacing:.18em;color:#9b887a}.section-kicker span:first-child{color:#c28d89}.section-kicker:after{content:"";width:50px;height:1px;background:#d9c8b9}.story{background:#f0e8de;overflow:hidden}.story-inner{text-align:center;max-width:720px;margin:85px auto 0;position:relative}.story-inner h2,.detail-heading h2{font:400 clamp(42px,6vw,70px)/1.1 var(--serif);margin:18px 0;color:#51433a}.story-inner h2 i,.detail-heading h2 i,.closing h2 i{font-weight:400;color:#bd8584}.ornament{color:#bd9185;font:12px var(--serif);margin:28px}.ornament span{padding:0 10px}.story-copy{font:17px/1.9 var(--serif);color:#77675d;max-width:500px;margin:0 auto 36px}.invite-line{font-size:8px;letter-spacing:.18em;color:#a08d7e;margin:0 0 32px}.couple-names{display:flex;align-items:center;justify-content:center;gap:38px}.couple-names>div{max-width:260px}.couple-names h3{font:italic 36px var(--serif);color:#6e5850;margin:0 0 10px}.couple-names p{font-size:7px;letter-spacing:.1em;color:#89796e;line-height:1.8}.with{font:italic 18px var(--serif);color:#bd8584}.story-flower{width:140px;left:-110px;bottom:0;opacity:.45;transform:rotate(-25deg)}.count-section{position:relative;background:#493e39;color:#f8f2ea;text-align:center;padding:93px 20px 80px;overflow:hidden}.count-bg{position:absolute;top:37px;width:100%;left:0;text-align:center;font:clamp(46px,10vw,110px) var(--serif);letter-spacing:.12em;color:#ffffff08;white-space:nowrap}.count-section .eyebrow{color:#d9b9ad;position:relative}.count-section h2{font:400 clamp(34px,5vw,53px) var(--serif);margin:16px 0 38px;position:relative}.count-section h2 i{color:#d8aca3}.countdown{display:flex;justify-content:center;position:relative}.count-item{width:130px;border-right:1px solid #827269;display:flex;flex-direction:column;gap:8px}.count-item:last-child{border:0}.count-item strong{font:400 clamp(36px,5vw,52px) var(--serif)}.count-item span{font-size:7px;letter-spacing:.2em;color:#d7c7b9}.count-note{margin-top:32px;font-size:7px;letter-spacing:.22em;color:#b7a89b}.details{background:#faf7f2;padding-bottom:120px}.detail-heading{text-align:center;margin:70px auto 55px}.detail-heading p:last-child{font:italic 15px var(--serif);color:#958174;margin-top:18px}.event-card{max-width:940px;margin:auto;display:grid;grid-template-columns:170px 1fr 220px;min-height:300px;background:#f1e9df;border:1px solid #e3d8cb;box-shadow:0 20px 50px #6b51400a}.event-date{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border-right:1px solid #dfd0c0;color:#987d70}.event-date span{font-size:8px;letter-spacing:.16em;text-align:center;line-height:1.7}.event-date strong{font:76px var(--serif);color:#634e43;line-height:1}.event-main{padding:43px 42px}.event-main h3{font:36px var(--serif);font-weight:400;margin:10px 0 18px}.event-meta{display:flex;flex-direction:column;gap:9px;color:#857469;font-size:10px}.event-meta span{display:flex;align-items:center;gap:8px}.event-meta svg{color:#bf8984;stroke-width:1.5}.event-desc{font:14px/1.7 var(--serif);color:#8b7a6f;max-width:420px;margin:23px 0}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.14em;color:#80665b;border-bottom:1px solid #bf9186;padding-bottom:6px}.event-side{border-left:1px solid #dfd0c0;position:relative;padding:23px 19px;color:#9b8677}.event-side>span{font-size:7px;letter-spacing:.17em}.map-art{height:190px;margin-top:12px;background:#e6dccf;position:relative;display:grid;place-content:center;text-align:center;overflow:hidden;color:#bd8584}.map-art svg{margin:auto;stroke-width:1.2}.map-art small{font-size:7px;letter-spacing:.15em;color:#917f70;margin-top:6px}.map-lines{position:absolute;top:-50px;right:-50px;bottom:-50px;left:-50px;background:repeating-linear-gradient(31deg,transparent 0 20px,#f5efe6 21px 23px,transparent 24px 45px),repeating-linear-gradient(120deg,transparent 0 38px,#d8cbbb 39px 40px,transparent 41px 76px);opacity:.65}.map-art svg,.map-art small{position:relative}.round-arrow{position:absolute;bottom:18px;right:18px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ba8580;color:#fff}.map-note{text-align:center;color:#a09185;font-size:8px;margin:14px}.awaiting{text-align:center;margin:76px auto 0}.awaiting .eyebrow{display:block;margin-bottom:20px}.awaiting p{font:17px var(--serif);color:#716159;margin:9px}.awaiting .and-friends{font-style:italic;color:#b1807c;margin-top:18px}.closing{position:relative;background:#eee4d9;overflow:hidden;padding:110px 20px 75px;text-align:center;min-height:500px;display:grid;place-items:center}.closing-content{position:relative;z-index:1}.closing .heart{display:block;margin:21px auto;color:#bd8584;stroke-width:1.2}.closing h2{font:400 clamp(42px,6vw,68px)/1.07 var(--serif);margin:14px 0}.closing-content>p{font:italic 15px var(--serif);color:#8b7b70;margin:20px 0 28px}.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:#70594e;color:#fff9f2;border:0;border-radius:99px;padding:15px 24px;font-size:8px;letter-spacing:.14em;transition:transform .2s,background .2s}.pill-button:hover{transform:translateY(-2px);background:#94766a}.closing-date{display:block;margin-top:40px;font-size:7px;letter-spacing:.23em;color:#a08e80}.closing-flower{width:210px;opacity:.4}.closing-flower.left{left:4%;bottom:-32px;transform:rotate(17deg)}.closing-flower.right{right:4%;top:0;transform:rotate(195deg)}footer{height:85px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#f8f5ef;color:#9e8d80}footer>span,footer .back-top{font-size:7px;letter-spacing:.15em}.back-top:hover{color:#bd8584}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#30272288;z-index:20;display:grid;place-items:center;padding:20px}.rsvp-modal{position:relative;width:min(100%,440px);padding:52px 42px 42px;background:#faf6ef;text-align:center;box-shadow:0 20px 80px #30272235}.modal-close{position:absolute;right:15px;top:15px;border:0;background:none;color:#88786d}.modal-close svg{width:18px}.rsvp-modal h2{font:42px var(--serif);font-weight:400;margin:16px 0}.rsvp-modal p{font:15px/1.8 var(--serif);color:#857369;margin:0 0 24px}.rsvp-modal small{display:block;margin-top:20px;color:#a09185;font-size:9px}.fade-up{animation:fadeUp .9s both}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes artIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.site-nav{height:58px;padding:0 20px}.site-nav>span{font-size:6px}.sound small{display:none}.hero{min-height:820px;height:auto;max-height:none;padding:100px 8vw 58px;grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start}.hero-copy{padding:20px 0 0}.names{font-size:clamp(68px,18vw,112px);margin:22px 0 12px}.hero-sub{font-size:16px;margin-bottom:25px}.scroll-cue{margin-top:28px}.hero-art{height:410px;margin-top:-2px}.art-halo{width:300px;height:300px;top:51%}.hero-art img{height:100%;max-width:95%}.art-caption{bottom:1%;right:0}.art-flower{width:88px;right:-17px;top:12%}.hero-mark{bottom:17px}.section{padding:78px 7vw}.story-inner{margin-top:61px}.story-inner h2{font-size:44px}.story-copy{font-size:16px}.couple-names{flex-direction:column;gap:12px}.couple-names h3{font-size:32px}.with{font-size:15px}.story-flower{width:100px;left:-50px;bottom:-35px}.count-section{padding:72px 10px}.count-item{width:25%}.count-item strong{font-size:36px}.count-item span{font-size:6px}.count-section h2{font-size:34px}.detail-heading{margin:58px auto 42px}.detail-heading h2{font-size:48px}.event-card{grid-template-columns:85px 1fr;min-height:0}.event-date strong{font-size:55px}.event-date span{font-size:7px}.event-main{padding:28px 20px}.event-main h3{font-size:27px}.event-desc{font-size:13px}.event-side{grid-column:1/-1;border-left:0;border-top:1px solid #dfd0c0;padding:15px 20px 20px}.event-side>span{display:none}.map-art{height:120px;margin-top:0}.round-arrow{bottom:18px}.awaiting{margin-top:58px}.awaiting p{font-size:15px}.closing{min-height:440px;padding:80px 20px}.closing-flower{width:115px}.closing-flower.left{left:-22px}.closing-flower.right{right:-27px}.closing h2{font-size:47px}.closing-content>p{font-size:14px}.intro-top{padding:28px 8px;font-size:7px}.intro-center{margin-top:9vh}.intro h1{font-size:72px}.envelope{margin-top:54px;width:min(82vw,350px);height:185px}footer{padding:0 20px}footer>span{display:none}footer .brand{font-size:19px}.rsvp-modal{padding:48px 26px 34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.petals{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:3}.petals span{position:absolute;top:-18px;width:8px;height:12px;background:#d9a3a0;border-radius:90% 10%;opacity:.45;filter:blur(.2px)}.intro-frame{justify-content:center}.intro-center{margin:0}.intro h1{font-family:DM Sans,sans-serif;font-size:clamp(62px,11vw,100px);line-height:1.05}.intro h1 i{font-family:var(--serif);font-size:.45em}.intro-date{margin-top:22px}.open-invitation{position:relative;width:auto;height:auto;min-width:182px;padding:13px 32px;margin-top:45px;border:1px solid #bda79a;border-radius:999px;background:transparent;box-shadow:none;clip-path:none;color:#766458;font-size:9px;letter-spacing:.2em;animation:none;transition:background .25s,color .25s}.open-invitation:hover{background:#70594e;color:#fff9f2}.open-invitation:before,.open-invitation:after{display:none}.hero{min-height:100svh;height:auto;max-height:none;padding:135px 8vw 72px;display:flex;flex-direction:column;justify-content:flex-start;gap:16px;text-align:center;background:var(--paper)}.hero-copy{padding:0;display:flex;align-items:center;flex-direction:column}.hero-copy .eyebrow{margin:0 0 14px}.names{font-family:DM Sans,sans-serif;font-size:clamp(70px,11vw,112px);line-height:1.04;letter-spacing:0;margin:0 0 14px}.names span{display:inline;animation:none}.names i{display:inline;margin:0 8px;font:italic 30px var(--serif)}.hero-date{font-size:9px;letter-spacing:.18em;color:#8f7b6e;margin:0}.hero-art{height:auto;width:min(100%,650px);margin:10px auto 0;display:block}.hero-art img{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain;mix-blend-mode:normal;animation:artIn .9s both}.hero-art:before,.hero-art:after,.art-halo,.art-caption,.art-flower,.hero-mark{display:none!important}.scroll-cue{position:static;margin:4px auto 0}.story{padding:92px 8vw;background:#f0e8de}.story-inner{margin:0 auto;max-width:700px}.story-greeting{font:italic 19px var(--serif);color:#77675d;margin:0 0 22px}.story-inner>.eyebrow{margin:0 0 23px}.invite-line{font-size:10px;line-height:2;letter-spacing:.19em;margin:0 0 36px}.couple-names{gap:32px}.couple-names h3{font-family:DM Sans,sans-serif;font-size:52px;font-style:normal;margin-bottom:12px}.couple-names p{font-size:8px;letter-spacing:.09em;line-height:1.8}.with{font-family:DM Sans,sans-serif;font-size:26px;font-style:normal}.count-bg,.count-note{display:none!important}.count-section{padding:78px 20px;background:#493e39}.count-section h2{font-family:var(--serif);font-size:clamp(36px,5vw,54px);font-style:italic}.details{padding:95px 8vw 105px;background:#faf7f2}.detail-heading{margin:0 auto 35px}.detail-heading h2{font-family:DM Sans,sans-serif;font-size:clamp(60px,9vw,86px);font-weight:400;margin:0}.event-card{display:block;max-width:680px;min-height:0;margin:auto;text-align:center;background:#f1e9df;border:1px solid #e3d8cb;padding:38px 20px;box-shadow:none}.event-main{padding:0}.wedding-date,.wedding-time,.venue-label{font-size:10px;letter-spacing:.16em;color:#806e61;margin:12px 0}.event-main h3{font:400 25px/1.6 var(--serif);letter-spacing:.11em;margin:6px 0 24px}.text-link{margin-top:8px}.awaiting{margin:52px auto 0}.awaiting p{font-size:17px}.closing{min-height:230px;padding:58px 20px;background:#eee4d9}.closing-content{display:flex;align-items:center;gap:17px;flex-direction:column}.pill-button{padding:13px 28px}.closing-date{margin-top:0;font-size:9px;letter-spacing:.16em}.minimal-rsvp{width:min(90vw,360px);padding:48px 35px}.minimal-rsvp>span{font:17px var(--serif);letter-spacing:.12em;color:#766458}.site-nav,footer{display:none!important}@media(max-width:760px){.hero{min-height:auto;padding:105px 7vw 45px;gap:13px}.hero-art{margin-top:4px}.hero-art img{max-height:62vh}.story{padding:72px 7vw}.couple-names{gap:12px}.couple-names h3{font-size:47px}.couple-names p{font-size:7px}.count-section{padding:65px 10px}.details{padding:72px 7vw 80px}.event-card{padding:31px 17px}.awaiting{margin-top:42px}.awaiting p{font-size:15px}.closing{min-height:200px}}.hero-art img{mix-blend-mode:multiply;filter:contrast(1.015)}.story-inner>.eyebrow,.story-inner .invite-line,.couple-names p{font-family:var(--serif);font-size:10px;letter-spacing:.075em;line-height:1.85;color:#806e63}.story-inner>.eyebrow{font-size:11px;letter-spacing:.14em}.story-inner .invite-line{font-size:11px;letter-spacing:.13em}.couple-names h3{font-size:60px}.wedding-date,.wedding-time{font-size:13px;letter-spacing:.15em}.event-main h3{font-size:22px}.awaiting .and-friends{font-style:italic;color:#b1807c}@media(max-width:760px){.couple-names h3{font-size:54px}.story-inner>.eyebrow,.story-inner .invite-line,.couple-names p{font-size:10px}.story-inner>.eyebrow,.story-inner .invite-line{font-size:11px}.wedding-date,.wedding-time{font-size:12px}}.invitation-site{visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .8s ease,transform .8s ease,visibility 0s linear .8s}.invitation-site.is-revealed{visibility:visible;opacity:1;transform:none;transition-delay:0s}.hero-date{display:block;border:0;padding:0;margin:0;font-size:9px;letter-spacing:.18em;color:#8f7b6e}.names i{display:inline;margin:0 8px;font:italic 30px var(--serif);vertical-align:baseline}.invitation-site *,.intro *{font-family:DM Sans,sans-serif}.names i,.story-greeting,.count-section h2,.count-item strong,.event-main h3{font-family:Cormorant Garamond,serif}.intro h1,.names,.couple-names h3{font-family:Great Vibes,cursive}.names i,.story-greeting,.story-copy,.couple-names p,.count-section h2,.count-item strong,.event-date,.event-main h3,.wedding-date,.wedding-time,.venue-label,.awaiting p,.closing-date,.hero-date{font-family:Cormorant Garamond,serif}.eyebrow,.invite-line,.section-kicker,.intro-date,.open-invitation,.event-meta,.text-link,.pill-button,.minimal-rsvp>span{font-family:DM Sans,sans-serif}.intro h1,.intro h1 i,.names,.names i,.detail-heading h2,.couple-names h3{font-family:Great Vibes,cursive!important}.intro h1,.names{white-space:nowrap}.names i{font-size:.65em!important;font-style:normal;margin:0 .14em;vertical-align:middle}@media(max-width:760px){.intro h1{font-size:clamp(52px,15vw,68px)}.names{font-size:clamp(50px,15vw,64px)}}.names span{font-family:Great Vibes,cursive!important}.eyebrow,.intro-date,.hero-date,.invite-line,.couple-names p,.wedding-date,.wedding-time,.venue-label,.event-main h3,.awaiting p{font-family:DM Sans,sans-serif!important}.awaiting p:not(.and-friends){font-family:DM Sans,sans-serif!important;font-size:10px;font-weight:400;letter-spacing:.075em;line-height:1.85;color:#806e63}.couple-names .with{font-family:Great Vibes,cursive!important;font-size:30px;font-style:normal}.awaiting .welcome-note{font-family:DM Sans,sans-serif!important;font-size:12px;font-weight:400;letter-spacing:.075em;line-height:1.9;color:#806e63}@media(max-width:760px){.awaiting .welcome-note{font-size:12px}}html,body,#root{width:100%;min-width:0;min-height:100%}html{scroll-padding-top:16px}body{overflow-x:hidden;overflow-x:clip}img,svg{max-width:100%}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid #9a6e68;outline-offset:4px}.open-invitation,.pill-button{min-height:48px}.scroll-cue{min-width:44px;min-height:44px;justify-content:center}.text-link{min-height:44px;padding:12px 4px 6px}.hero{min-height:100vh;min-height:100svh}.hero-copy,.hero-art,.event-card,.event-main,.story-inner,.awaiting,.closing-content{min-width:0;max-width:100%}.hero-art img{width:auto;max-width:100%;height:auto;max-height:68svh;object-fit:contain;object-position:center}.art-fallback{min-height:180px;display:grid;place-items:center;color:#8f7b6e;font:clamp(24px,5vw,38px) "Great Vibes",cursive}.couple-names p,.awaiting .welcome-note{overflow-wrap:anywhere}.modal-backdrop{overscroll-behavior:contain}.minimal-rsvp{max-height:calc(100svh - 40px);overflow:auto}@media(min-width:761px)and (max-width:1100px){.hero{padding-left:7vw;padding-right:7vw}.hero-art{max-width:56vw}.story,.details{padding-left:7vw;padding-right:7vw}.event-card{max-width:min(100%,760px)}}@media(max-width:420px){.intro{padding:16px}.intro:before{top:9px;right:9px;bottom:9px;left:9px}.intro h1{font-size:clamp(46px,14vw,58px)}.intro-date{font-size:8px;letter-spacing:.16em}.open-invitation{min-width:168px;padding:12px 24px}.hero{padding-left:6vw;padding-right:6vw}.names{font-size:clamp(44px,14.5vw,60px)}.names i{margin:0 .12em}.hero-date{font-size:8px}.hero-art img{max-height:50svh}.story-inner .invite-line{font-size:10px;letter-spacing:.1em}.couple-names p{font-size:9px;letter-spacing:.04em}.count-item strong{font-size:clamp(29px,9vw,36px)}.count-item span{font-size:6px;letter-spacing:.12em}.event-main h3{font-size:20px;letter-spacing:.08em}.welcome-note{font-size:11px}}@media(max-width:340px){.intro h1{font-size:44px}.names{font-size:42px}.hero,.story,.details{padding-left:5vw;padding-right:5vw}.couple-names p{font-size:8px}.event-card{padding-left:12px;padding-right:12px}}.intro-frame,.intro-center,.hero-copy,.hero-copy>*,.story-inner,.story-inner>*,.couple-names,.couple-names>div,.count-section,.countdown,.count-item,.details,.detail-heading,.event-card,.event-main,.awaiting,.closing,.closing-content,.minimal-rsvp{text-align:center}.intro-center,.hero-copy,.story-inner,.couple-names,.couple-names>div,.count-item,.detail-heading,.event-card,.event-main,.awaiting,.closing-content{margin-left:auto;margin-right:auto}.couple-names>div{display:flex;flex-direction:column;align-items:center;width:100%}.couple-names p,.welcome-note{max-width:100%;text-align:center}.countdown{width:min(100%,620px);margin-inline:auto}.count-item{align-items:center}.event-main{width:100%}.closing-date,.minimal-rsvp>span{display:block;text-align:center}.hero{align-items:center}.hero-art{display:flex;align-items:center;justify-content:center;align-self:center;margin:auto;flex:0 1 auto}.hero-art img{margin-inline:auto;object-position:center}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-art img{animation:none}}

/* ===== Marathi version: Devanagari fonts + large print for older guests ===== */
:root{
  --mr-script:"Great Vibes","Kalam",cursive;
  --mr-serif:"Tiro Devanagari Marathi","Cormorant Garamond",serif;
  --mr-sans:"Mukta","DM Sans",sans-serif;
  --mr-ink:#3b2f29;
  --mr-text:#4a3b33;
  --mr-accent:#80524a;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Devanagari breaks apart with wide tracking — keep spacing natural everywhere */
.invitation-site *,.intro *{letter-spacing:normal!important;text-transform:none!important;font-family:var(--mr-sans)!important}

/* Script (names) — "&" stays in Great Vibes, Marathi letters use Amita */
.intro h1,.intro h1 i,.names,.names span,.names i,.detail-heading h2,.couple-names h3,.couple-names .with,.art-fallback{font-family:var(--mr-script)!important;font-weight:400!important}
/* Serif */
.story-greeting,.count-section h2,.count-item strong,.event-main h3,.minimal-rsvp>span{font-family:var(--mr-serif)!important}

/* ---------- Intro screen ---------- */
.intro h1{font-size:clamp(46px,13.5vw,96px)!important;line-height:1.35!important}
.intro h1 i{font-size:.55em!important}
.intro-date{font-size:19px!important;font-weight:500!important;color:var(--mr-text)!important;line-height:1.6!important;margin-top:16px!important}
.open-invitation{font-size:19px!important;font-weight:600!important;color:#45362e!important;border:1.5px solid #9c8476!important;padding:12px 34px!important;min-height:56px!important}

/* ---------- Shared labels ---------- */
.eyebrow{font-size:17px!important;font-weight:600!important;color:var(--mr-accent)!important;line-height:1.6!important}

/* ---------- Hero ---------- */
.names{font-size:clamp(50px,14vw,108px)!important;line-height:1.3!important}
.names i,.intro h1 i{margin:0 .4em!important}
.names i{font-size:.6em!important}
.hero-date{font-size:19px!important;font-weight:500!important;color:var(--mr-text)!important;line-height:1.6!important}

/* ---------- Invitation text ---------- */
.story-greeting{font-size:24px!important;line-height:1.6!important;color:var(--mr-text)!important}
.story-inner>.eyebrow{font-size:18px!important;margin-bottom:12px!important}
.story-inner .invite-line{font-size:20px!important;line-height:1.75!important;font-weight:500!important;color:var(--mr-ink)!important}
.couple-names{gap:20px!important}
.couple-names>div{max-width:360px!important}
.couple-names p{font-size:18px!important;line-height:1.7!important;font-weight:500!important;color:var(--mr-text)!important;margin:4px 0!important}
.couple-names p.honorific{font-size:17px!important;font-weight:600!important;color:var(--mr-accent)!important;margin:0 0 -2px!important}
.couple-names h3{font-size:clamp(52px,14vw,66px)!important;line-height:1.3!important;color:#5a443c!important;margin:0 0 8px!important}
.couple-names .with{font-size:34px!important;color:#a3625b!important}

/* ---------- Countdown ---------- */
.count-section .eyebrow{color:#f2d3c8!important}
.count-section h2{font-size:clamp(34px,8.5vw,52px)!important;line-height:1.4!important}
.count-item strong{font-size:clamp(34px,10vw,54px)!important;line-height:1.25!important}
.count-item span{font-size:16px!important;font-weight:500!important;color:#f5ebe2!important}

/* ---------- Wedding details ---------- */
.detail-heading h2{font-size:clamp(56px,15vw,92px)!important;line-height:1.3!important}
.wedding-date{font-size:21px!important;font-weight:600!important;color:var(--mr-ink)!important;line-height:1.5!important}
.wedding-time{font-size:20px!important;font-weight:500!important;color:var(--mr-text)!important;line-height:1.5!important}
.venue-label{font-size:17px!important;font-weight:600!important;color:var(--mr-accent)!important;margin-top:22px!important}
.event-main h3{font-size:clamp(26px,7vw,32px)!important;line-height:1.5!important;color:var(--mr-ink)!important}
.text-link{font-size:18px!important;font-weight:600!important;color:#6b463d!important;border-bottom:1.5px solid #a7766c!important}
.awaiting .eyebrow{font-size:18px!important}
.awaiting .welcome-note{font-size:19px!important;line-height:1.9!important;font-weight:500!important;color:var(--mr-ink)!important}

/* ---------- Closing / RSVP ---------- */
.pill-button{font-size:19px!important;font-weight:600!important;padding:14px 32px!important;min-height:56px!important}
.closing-date{font-size:20px!important;font-weight:600!important;color:#56463d!important}
.minimal-rsvp>span{font-size:24px!important;color:var(--mr-ink)!important}

/* ---------- Larger screens ---------- */
@media(min-width:761px){
  .eyebrow{font-size:18px!important}
  .intro-date,.hero-date{font-size:21px!important}
  .story-inner .invite-line{font-size:23px!important}
  .couple-names p{font-size:18px!important}
  .wedding-date{font-size:24px!important}
  .wedding-time{font-size:22px!important}
  .awaiting .welcome-note{font-size:21px!important}
  .count-item span{font-size:18px!important}
}
