@font-face{font-family:Cormorant;src:url(/assets/fonts/cormorant.ttf) format("truetype");font-weight:400 600;font-display:swap}:root{font-family:Cormorant,Georgia,serif;color:#59392c;background:#f4ecdf;font-synthesis:none;--cream:#fbf1df;--rose:#a2364c;--gold:#b78939;--ink:#59392c;--paper-texture:url(/assets/art/paper-grain.svg);--ease:cubic-bezier(.22,.65,.23,1);--nav-top:0px;--nav-height:64px;--card-shadow:0 5px 4px #6745271a}*{box-sizing:border-box}img{max-width:100%}a,button{scroll-margin-block:16px 112px}.page-header:before{content:"";position:fixed;inset:0 0 auto;height:64px;z-index:69;background:var(--cream) var(--paper-texture);opacity:0;pointer-events:none;transition:opacity .2s}.chapters-in-view .page-header:before{opacity:1}.header-actions{position:fixed;z-index:90;right:clamp(16px,3.2vw,46px);top:max(14px,env(safe-area-inset-top));display:flex;align-items:center;gap:12px;pointer-events:auto}.header-actions>button{min-height:44px;padding:8px 12px;border:1px solid #b7893933;border-radius:24px;background:#fbf1dff2 var(--paper-texture)}body{margin:0;min-width:0;background-image:var(--paper-texture);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:6px}button[hidden]{display:none}.chapter:focus,.venue-card:focus{outline:none}.page-header{height:80px;max-width:1680px;margin:auto;padding:0 46px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:20px;font-weight:500}.wordmark img{width:23px;height:23px}.replay{border:0;background:transparent;padding:8px 0;font-size:17px;display:flex;align-items:center;gap:9px;transition:color .2s}.replay:hover{color:var(--rose)}.replay-label{font-size:17px}.experience{min-height:calc(100svh - 142px);display:flex;align-items:center;justify-content:center;padding:4px 40px 10px;overflow:hidden;perspective:2200px}.theatre{isolation:isolate;position:relative;width:min(540px,100%);height:min(750px,calc(100svh - 162px));min-height:510px;perspective:1900px;transition:width 1.9s var(--ease);filter:drop-shadow(0 16px 21px #65482116);--pointer-x:0;--pointer-y:0}.theatre[data-state=opening],.theatre[data-state=open]{width:min(1400px,100%)}.paper-scene{position:absolute;inset:0;overflow:hidden;background-color:var(--cream);background-image:var(--paper-texture);border:10px solid #e4d4b9;box-shadow:inset 0 0 0 1px #b7893966,inset 0 0 15px #73532d1c;opacity:0;transition:opacity 1.2s ease .18s}.theatre[data-state=opening] .paper-scene,.theatre[data-state=open] .paper-scene{opacity:1}.art-layer{position:absolute;left:var(--layer-x);top:var(--layer-y);width:var(--layer-width);z-index:var(--layer-depth);transform:translateY(-50%) rotate(var(--rotation));pointer-events:none;transform-origin:center}.layer-scroll{transform:translate3d(calc(var(--scroll-x,0px) + var(--pointer-x)*var(--layer-depth)*-.28px),calc(var(--scroll-y,0px) + var(--pointer-y)*var(--layer-depth)*-.2px),0);transition:transform .7s ease-out}.layer-drift{animation:paper-drift var(--drift-duration) ease-in-out var(--drift-delay) infinite alternate;transform-origin:50% 85%}.art-layer img{width:100%;height:auto;display:block;filter:drop-shadow(1px 3px 2px #4b301e24);-webkit-user-select:none;user-select:none}@keyframes paper-drift{0%{transform:translate3d(0,calc(var(--drift)*-.5),0) rotate(-.28deg)}to{transform:translate3d(0,var(--drift),0) rotate(.28deg)}}.art-layer[data-depth="1"] .layer-drift,.art-layer[data-depth="2"] .layer-drift,.art-layer[data-depth="4"] .layer-drift,.art-layer[data-depth="5"] .layer-drift,.art-layer[data-depth="6"] .layer-drift,.art-layer[data-depth="8"] .layer-drift,.art-layer[data-depth="10"] .layer-drift,.art-layer[data-depth="12"] .layer-drift,.art-layer[data-depth="13"] .layer-drift,.art-layer[data-depth="14"] .layer-drift,.art-layer[data-depth="15"] .layer-drift{animation:none}.invitation{position:absolute;z-index:35;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:min(530px,53%);opacity:0;transition:opacity 1.4s ease .65s;pointer-events:none}.theatre[data-state=opening] .invitation,.theatre[data-state=open] .invitation{opacity:1}.cultural-emblem{font-family:Georgia,Times New Roman,serif;font-size:37px;color:var(--gold);margin:0 0 34px;line-height:1.1}.introduction{font-size:24px;line-height:1.3;margin:0 0 16px}.couple-names{font-size:clamp(45px,5.5vw,82px);line-height:1.05;letter-spacing:-.045em;font-weight:400;color:var(--rose);margin:0 0 20px;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}.ampersand{font-size:.76em;font-style:italic;margin:0 .05em;font-weight:400}.invitation-message{font-size:24px;line-height:1.35;margin:0 auto;max-width:400px}.invitation-guest,.cover-guest{color:var(--rose);font-size:clamp(19px,2.2vw,24px);font-style:italic;line-height:1.2;overflow-wrap:anywhere;text-wrap:balance}.invitation-guest{margin:16px auto 0;max-width:90%}.cover-guest{display:block;max-width:min(280px,85%)}.invitation-flourish{display:block;width:90px;margin:27px auto 0;opacity:.85}.door{position:absolute;top:0;bottom:0;width:50%;z-index:50;background:#eadbc3;transform-style:preserve-3d;backface-visibility:hidden;transition:transform 1.9s var(--ease),opacity .65s ease 1.4s;box-shadow:0 2px 5px #4f301b22}.door-left{left:0;transform-origin:left center;transform:rotateY(0)}.door-right{right:0;transform-origin:right center;transform:rotateY(0)}.door-face{position:absolute;inset:0;background-color:var(--cream);background-image:var(--paper-texture);border:7px solid #e5d6bd;box-shadow:inset 0 0 0 1px #b58c47,inset 0 0 0 7px #fff6e3,inset 0 0 0 8px #b58c4780}.door-left .door-face{border-right:1px solid #d4b98c}.door-right .door-face{border-left:1px solid #d4b98c}.door-botanical{position:absolute;inset:4%;width:92%;height:92%;object-fit:fill;opacity:.98;filter:drop-shadow(1px 2px 1px #6d49222b)}.door-right .door-botanical{transform:scaleX(-1)}.theatre[data-state=opening] .door-left,.theatre[data-state=open] .door-left{transform:rotateY(-110deg);opacity:0}.theatre[data-state=opening] .door-right,.theatre[data-state=open] .door-right{transform:rotateY(110deg);opacity:0}.theatre[data-state=closing] .door{transition:transform 1.5s var(--ease),opacity .3s ease}.cover{position:absolute;inset:0;z-index:55;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding:30px;transition:opacity .4s ease;outline-offset:-15px}.cover-title{font-size:clamp(47px,5vw,66px);font-weight:400;line-height:.98;letter-spacing:-.03em;color:var(--rose);display:block;text-shadow:0 1px #fff8ea}.cover-flower{width:75px;height:25px}.open-prompt{position:absolute;bottom:17%;display:flex;align-items:center;gap:13px;font-style:italic;font-size:23px;transition:transform .3s,color .3s}.prompt-line{display:block;width:21px;height:1px;background:var(--gold);transform:scaleX(.7);transition:transform .3s}.cover:hover .open-prompt{transform:translateY(-3px);color:var(--rose)}.cover:hover .prompt-line{transform:scaleX(1)}.theatre[data-state=opening] .cover,.theatre[data-state=open] .cover{opacity:0;pointer-events:none}.theatre[data-state=closing] .cover{transition:opacity .5s ease .9s}.frame-edge{pointer-events:none;position:absolute;z-index:45;inset:0;border:6px solid #e9dcc4;box-shadow:inset 0 0 0 1px #c1a269;opacity:0;transition:opacity .8s ease .7s}.theatre[data-state=opening] .frame-edge,.theatre[data-state=open] .frame-edge{opacity:1}.page-footer{height:62px;display:flex;justify-content:center;align-items:center;padding:0 46px;max-width:1680px;margin:auto;color:#795d47;font-size:16px;gap:15px}.footer-copy{font-style:italic}.motion-paused .layer-drift{animation-play-state:paused}.motion-paused .layer-scroll{transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-script{padding:40px;text-align:center;font-size:24px}@media(min-width:1600px){.theatre{height:min(850px,calc(100svh - 172px))}}@media(max-width:900px){.page-header{padding:0 28px}.experience{padding:4px 24px 10px}.page-footer{padding:0 28px}.invitation{width:58%}.couple-names{font-size:clamp(39px,6.2vw,64px)}.introduction,.invitation-message{font-size:22px}.cultural-emblem{margin-bottom:29px}}@media(max-width:600px){.page-header{height:64px;padding:0 21px;gap:8px}.wordmark{font-size:17px;gap:8px}.wordmark img{width:19px;height:19px}.replay{gap:0;padding:10px}.replay-label{display:none}.experience{min-height:calc(100svh - 119px);padding:4px 15px 9px;perspective:1200px}.theatre{width:100%;height:calc(100svh - 132px);min-height:530px;max-height:820px}.theatre[data-state=open],.theatre[data-state=opening]{width:100%}.paper-scene{border-width:7px}.art-layer{left:var(--mobile-x);top:var(--mobile-y);width:var(--mobile-width)}.invitation{top:45%;width:73%;max-width:340px}.cultural-emblem{font-size:31px;margin-bottom:27px}.introduction{font-size:20px;max-width:220px;margin:0 auto 19px}.couple-names{font-size:clamp(38px,9.3vw,54px);margin-bottom:17px;letter-spacing:-.045em}.invitation-message{font-size:21px;max-width:220px}.invitation-flourish{width:74px;margin-top:22px}.door-face{border-width:5px}.cover{padding:10px;gap:22px}.cover-title{font-size:53px}.open-prompt{font-size:23px;bottom:19%}.page-footer{height:55px;padding:0 22px;font-size:14px}.frame-edge{border-width:5px}}@media(max-width:360px){.wordmark{font-size:16px}.page-footer{padding:0 17px}.footer-copy{max-width:170px}.cover-title{font-size:47px}.couple-names{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.theatre .layer-scroll{transform:none!important}}.door-sprig{position:absolute;width:46%;height:auto;pointer-events:none;filter:drop-shadow(1px 2px 1px #6d49221a)}.door-sprig-top{left:7%;top:4%;transform:rotate(-16deg)}.door-sprig-bottom{left:5%;bottom:3%;transform:rotate(12deg)}.door-right .door-sprig{left:auto;right:7%;transform:scaleX(-1) rotate(-12deg)}@media(max-width:1200px){:root{--nav-top:64px}}.landscape-layer{top:auto;bottom:var(--terrain-bottom);height:var(--terrain-height);transform:none}.landscape-layer .layer-scroll,.landscape-layer .layer-drift{height:100%}.landscape-layer img{height:100%;width:100%;object-fit:fill}@media(max-width:700px){.landscape-layer{top:auto;bottom:var(--mobile-terrain-bottom);height:var(--mobile-terrain-height)}}.theatre.depth-active .layer-scroll{transition:none;will-change:transform}@media(max-width:700px){:root{--nav-height:56px}body{background-color:var(--cream)}.header-actions{right:16px;gap:8px}.page-header{position:absolute;inset:0 0 auto;z-index:65;height:auto;width:100%;padding:14px 16px;justify-content:flex-end;pointer-events:none}.wordmark{display:none}.replay{pointer-events:auto;width:44px;height:44px;justify-content:center;padding:10px;background:#fff2dfcf;border-radius:50%}.replay-label{display:none}.experience{min-height:100svh;padding:0;overflow:hidden}.theatre,.theatre[data-state=open],.theatre[data-state=opening]{width:100%;height:100svh;min-height:0;max-height:none;filter:none}.paper-scene{border:0;box-shadow:none}.frame-edge{display:none}.door-face{border:0;box-shadow:none}.art-layer{left:var(--mobile-x);top:var(--mobile-y);width:var(--mobile-width)}.theatre .landscape-layer{top:auto}.invitation{top:44%;width:73%;max-width:420px}.couple-names{font-size:clamp(38px,9.3vw,62px)}body:not(.invitation-open) .page-footer{display:none}}@media(max-width:700px)and (max-height:540px){.invitation{top:48%}.cultural-emblem{font-size:26px;margin-bottom:16px}.introduction{font-size:18px;margin-bottom:12px}.couple-names{font-size:40px;margin-bottom:12px}.invitation-message{font-size:18px;max-width:360px}.invitation-flourish{width:65px;height:20px;margin-top:14px}.cover{gap:10px;padding:16px}.cover-title{font-size:38px}.cover-flower{width:60px;height:20px}.open-prompt{bottom:8%;font-size:20px}}@font-face{font-family:Great Vibes;src:url(/assets/fonts/great-vibes.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.invitation{top:5.5%;width:min(520px,53%);transform:translate(-50%)}.opening-emblem{margin:0 auto 16px}.ganesha-emblem{display:block;width:38px;height:auto;margin:0 auto 6px}.opening-emblem .cultural-emblem{font-size:14px;line-height:1.4;margin:0;color:var(--rose)}.invitation .introduction,.invitation .invitation-message{font-size:21px;line-height:1.4;font-style:italic;font-weight:500;letter-spacing:0;text-transform:none;max-width:100%;margin:0 auto}.invitation .introduction{max-width:100%;margin-bottom:22px;color:#7a5440;font-size:19px}.invitation-line{display:block;white-space:nowrap}.invitation .invitation-message{margin-bottom:22px}.invitation .couple-names{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;font-family:Great Vibes,cursive;font-size:104px;font-weight:400;line-height:1.05;letter-spacing:0}.couple-name{display:block;max-width:100%;padding-inline:.12em}.invitation .ampersand{display:flex;align-items:center;justify-content:center;gap:14px;font-family:Cormorant,Georgia,serif;font-size:24px;font-style:italic;font-weight:500;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--gold);margin:0}.invitation .ampersand:before,.invitation .ampersand:after{content:"";width:36px;height:1px;background:var(--gold)}.invitation .invitation-guest{font-size:16px;font-style:italic;line-height:1.35;margin:18px auto 0;max-width:70%;color:var(--ink)}.guest-label{font-size:inherit}.guest-recipient{font-size:inherit;font-weight:400;overflow-wrap:anywhere}.invitation .invitation-flourish{margin-top:12px;width:65px;height:20px}@media(max-width:900px){.invitation{width:58%}.invitation .couple-names{font-size:94px}}@media(max-width:700px){.invitation{top:clamp(28px,7svh,64px);width:73%;max-width:420px}.opening-emblem{margin-bottom:14px}.ganesha-emblem{width:32px}.opening-emblem .cultural-emblem{font-size:13px}.invitation .introduction,.invitation .invitation-message{font-size:18px;line-height:1.35;letter-spacing:0}.invitation .introduction{max-width:100%;margin-bottom:18px;font-size:17px}.invitation .invitation-message{max-width:100%;margin-bottom:20px}.invitation .couple-names{font-size:clamp(68px,21vw,88px);gap:5px}.invitation .ampersand{font-size:20px}.invitation .invitation-guest{margin:16px auto 0;max-width:72%}}@media(max-height:650px){.invitation{top:18px}.opening-emblem{margin-bottom:8px}.ganesha-emblem{width:26px;margin-bottom:4px}.opening-emblem .cultural-emblem{font-size:12px}.invitation .introduction,.invitation .invitation-message{font-size:15px;line-height:1.3;letter-spacing:0;margin-bottom:12px}.invitation .couple-names{font-size:64px;gap:0;line-height:.95}.invitation .ampersand{font-size:16px}.invitation .invitation-guest{font-size:14px;margin:10px auto 0;max-width:min(180px,68%)}.invitation .invitation-flourish{margin-top:8px;height:16px}}@media(max-height:450px){.invitation{top:18px}.opening-emblem{margin-bottom:6px}.ganesha-emblem{width:22px}.invitation .introduction,.invitation .invitation-message{margin-bottom:6px;max-width:100%}.invitation .couple-names{font-size:52px;gap:0}.invitation .invitation-guest{margin-top:8px}}.cover-seal{position:relative;display:block;width:clamp(170px,46vw,250px);aspect-ratio:1;animation:seal-float 6s ease-in-out infinite;filter:drop-shadow(0 4px 4px #4a2c0838)}.cover-seal-art,.cover-monogram{position:absolute;inset:0;width:100%;height:100%;display:block}.cover-monogram{padding:0}.monogram-letter{font-family:Cormorant,Georgia,serif;font-size:52px;font-weight:500}.monogram-amp{font-family:Great Vibes,cursive;font-size:30px}.cover:hover .cover-seal{transform:scale(1.03)}.cover-seal{transition:transform .4s var(--ease)}@keyframes seal-float{0%,to{translate:0 0}50%{translate:0 -5px}}@media(prefers-reduced-motion:reduce){.cover-seal{animation:none}}.motion-paused .cover-seal{animation-play-state:paused}@media(max-height:560px){.cover-seal{width:clamp(120px,32vh,180px)}}@keyframes side-in{0%{opacity:0;translate:var(--from-x,0) var(--from-y,0);scale:var(--from-scale,1)}to{opacity:1;translate:0 0;scale:1}}.art-layer img{--from-scale:.94;--from-y:34px}.art-layer[data-layer*=left] img{--from-x:-90px;--from-y:0px}.art-layer[data-layer*=right] img{--from-x:90px;--from-y:0px}.art-layer[data-layer*=canopy] img{--from-x:0px;--from-y:-70px}.art-layer[data-layer*=lotus] img,.art-layer[data-layer*=sprig] img{--from-y:70px;--from-scale:.8}.art-layer[data-layer*=left][data-layer*=lotus] img,.art-layer[data-layer*=left][data-layer*=sprig] img{--from-x:-50px}.art-layer[data-layer*=right][data-layer*=lotus] img,.art-layer[data-layer*=right][data-layer*=sprig] img{--from-x:50px}.theatre[data-state=opening] .art-layer img,.theatre[data-state=open] .art-layer img{animation:side-in 1.5s cubic-bezier(.22,.65,.23,1) calc(.25s + var(--layer-depth)*45ms) backwards}@media(max-width:700px){.art-layer[data-layer*=left] img{--from-x:-60px}.art-layer[data-layer*=right] img{--from-x:60px}}html{scroll-behavior:smooth;scroll-padding-top:76px}[hidden]{display:none!important}.chapters{position:relative;isolation:isolate;width:calc(100% - 80px);max-width:1400px;margin:0 auto;--art-scale: 1.3;background:var(--cream) var(--paper-texture);border:6px solid #e8d9bf;border-top:0;box-shadow:inset 1px 0 #c1a269,inset -1px 0 #c1a269;overflow:clip}.chapter{position:relative;padding:84px clamp(36px,6vw,96px) 96px;scroll-margin-top:0;background:var(--paper-texture),linear-gradient(180deg,var(--tint-top),var(--tint-bottom))}.date-chapter{--tint-top: #fbe3d8;--tint-bottom: #f8d6cc}.events-chapter{--tint-top: #f6e8c6;--tint-bottom: #f1dfb2}.gallery-chapter{--tint-top: #f6d9db;--tint-bottom: #f1cacf}.venues-chapter{--tint-top: #d8eadf;--tint-bottom: #c6e0d6}.chapter+.chapter:before{content:"";position:absolute;z-index:0;left:0;right:0;top:-1px;height:22px;background:var(--prev-tint);-webkit-mask:radial-gradient(circle 22px at 50% 0,#000 21px,transparent 22px) 0 0 / 44px 22px repeat-x;mask:radial-gradient(circle 22px at 50% 0,#000 21px,transparent 22px) 0 0 / 44px 22px repeat-x;pointer-events:none}.events-chapter{--prev-tint: #f8d6cc}.gallery-chapter{--prev-tint: #f1dfb2}.venues-chapter{--prev-tint: #f1cacf}.paper-farewell{background:var(--paper-texture),#c6e0d6}.chapter>*:not(.chapter-borders){position:relative;z-index:1}.chapter-borders{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.chapter-art{position:absolute;top:var(--top);width:calc(var(--w) * 1px * var(--art-scale, 1));--pointer-x: 0;--pointer-y: 0;--drift: 4px;--scroll-x: 0px;--scroll-y: 0px;transform:translateY(-4%) rotate(var(--rot, 0deg))}.chapter-art img{display:block;width:100%;filter:drop-shadow(2px 4px 3px #5a38202e)}.border-left{left:calc(var(--off) * 1px * var(--art-scale, 1))}.border-right{right:calc(var(--off) * 1px * var(--art-scale, 1))}.border-right img{transform:scaleX(1)}.chapter-heading{text-align:center;margin:0 auto 36px;max-width:760px}.chapter-heading h2{font-family:Great Vibes,cursive;font-weight:400;font-size:clamp(52px,5.6vw,76px);line-height:1.12;letter-spacing:0;color:var(--rose);margin:0;text-wrap:balance}.chapter-flourish{width:88px;height:24px;display:block;margin:18px auto 0}.chapter-heading>p{font-size:22px;line-height:1.45;margin:14px 0 0;text-wrap:balance}.date-stack{max-width:640px;margin:0 auto}.scratch-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 44px;align-content:center;position:relative;isolation:isolate;min-height:330px;padding:42px 64px 32px}.card-corner-flower{position:absolute;z-index:4;pointer-events:none;filter:drop-shadow(1px 3px 2px #67452725)}.flower-top-left{width:135px;left:-12px;top:-24px;transform:rotate(-18deg)}.flower-bottom-right{width:110px;right:0;bottom:-20px;transform:rotate(30deg)}.scratch-stage{position:relative;width:100%;aspect-ratio:560 / 260;min-height:164px;grid-row:1;cursor:pointer}#scratch-foil{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:none;cursor:pointer;transition:opacity .65s ease;filter:drop-shadow(0 4px 2px #855a2426)}.foil-label{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#624414;transition:opacity .35s ease}.foil-label>img{width:25px;height:25px;margin-bottom:8px;opacity:.7}.foil-label>span{font-size:32px;font-style:italic;line-height:1.15}.foil-label>small{font-size:17px;margin-top:8px;line-height:1.35}.is-scratching .foil-label{opacity:0}.date-secret{position:absolute;inset:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;visibility:hidden}.scratch-stage.foil-ready .date-secret,.scratch-card[data-revealed=true] .date-secret{visibility:visible}.scratch-card:not([data-revealed=true]) .date-secret>img,.scratch-card:not([data-revealed=true]) .date-weekday{display:none}.date-secret>img{width:80px;height:22px;margin:0 auto 8px}.save-date-label{font-size:23px;font-style:italic;margin:0 0 8px}.revealed-date{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.025em;line-height:1.12;margin:0;color:var(--card-title, var(--rose))}.date-weekday{font-size:19px;margin:10px 0 0}.scratch-card[data-revealed=true] .scratch-stage{cursor:auto}.scratch-card[data-revealed=true] #scratch-foil,.scratch-card[data-revealed=true] .foil-label{opacity:0;pointer-events:none}.text-button{background:transparent;border:0;min-height:44px;padding:10px 8px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b7893980;font-size:19px;line-height:1.3;color:var(--rose)}.text-button:hover{text-decoration-color:currentColor}.reveal-alternative{grid-row:2;grid-column:1;justify-self:center;align-self:end;z-index:5;color:var(--card-ink, var(--ink))}.reveal-message{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.countdown-card{position:relative;isolation:isolate;width:min(100%,500px);margin:28px auto 0;padding:26px 24px;text-align:center;background:var(--cream) var(--paper-texture);border:1px solid #cba466;border-radius:24px;box-shadow:0 5px 7px #694e2e16}.countdown-card:before,.countdown-card:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #bd9557}.countdown-card{--cd-paper: #b8405a;--cd-title: #ffe3a6;--cd-ink: #fff3df;--cd-gold: #f0cf86;color:var(--cd-ink);border-color:#e0b45a}.countdown-card:before{background:#e8b04a var(--paper-texture);transform:translate(-4px,4px) rotate(-2deg);z-index:-2}.countdown-card:after{background:var(--paper-texture),var(--cd-paper);border-color:#e0b45a;box-shadow:inset 0 0 0 7px var(--cd-paper),inset 0 0 0 8px #f0cf8699;z-index:-1}.countdown-card>h3{font-size:35px;line-height:1.15;font-weight:400;letter-spacing:-.02em;color:var(--cd-title);margin:0}.countdown-card>.chapter-flourish{width:75px;height:18px;margin-top:10px}.countdown-values{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:14px}.countdown-values>div{display:flex;flex-direction:column;min-width:64px}.countdown-values [data-count]{font-size:46px;font-variant-numeric:tabular-nums lining-nums;line-height:1.15;letter-spacing:-.025em;color:var(--cd-title)}.countdown-values>div>span:last-child{font-size:19px;font-style:italic}.countdown-dot{font-size:28px;color:var(--cd-gold);padding-bottom:18px}.countdown-note{font-size:16px;line-height:1.45;margin:14px 0 0;color:#f8e2cf}.event-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.event-card{--event-float-time: 8.6s;--event-float-delay: -2s;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:16px;align-items:center;min-height:260px;padding:40px clamp(40px,5vw,64px) 52px}.paper-card{--paper: #fbf1df;--hill-a: #f1e2c4;--hill-b: #e8d3a8;--under: #d9b98a;--card-ink: var(--ink);--card-title: var(--rose);--card-accent: #98702c;--rim: #fff8e7;color:var(--card-ink);filter:drop-shadow(-4px 5px 0 var(--under)) drop-shadow(0 7px 5px #5a38201f)}.paper-card:before,.paper-card:after{content:"";position:absolute;inset:0;pointer-events:none}.paper-card:before{z-index:-2;background:radial-gradient(130% 46% at 12% 118%,var(--hill-a) 0 62%,transparent 63%),radial-gradient(110% 40% at 88% 120%,var(--hill-b) 0 62%,transparent 63%),var(--paper-texture),var(--paper);-webkit-mask:url(/assets/art/scalloped-card.svg) center / 100% 100% no-repeat;mask:url(/assets/art/scalloped-card.svg) center / 100% 100% no-repeat}.paper-card:after{z-index:-1;background:var(--rim);opacity:.75;-webkit-mask:url(/assets/art/scalloped-rim.svg) center / 100% 100% no-repeat;mask:url(/assets/art/scalloped-rim.svg) center / 100% 100% no-repeat}.paper-card :is(h3,.venue-event-name,.venue-details h3){color:var(--card-title)}.paper-card .line-icon,.paper-card .venue-arrow{color:var(--card-accent)}.paper-card .event-meta,.paper-card .venue-address{color:var(--card-ink)}.paper-card .event-venue:hover{color:var(--card-title)}.paper-card .venue-pending,.paper-card .text-button{color:var(--card-ink)}.paper-card .paper-button{background-color:var(--btn, #a73c50);border-color:var(--btn-edge, #8f2e42);color:var(--btn-ink, #fff6e7)}.paper-card .paper-button:hover{background-color:var(--btn-hover, #903044)}.tone-olive{--paper: #d3dcb4;--hill-a: #c0cf98;--hill-b: #a8ba80;--under: #8fa468;--card-ink: #2f3d25;--card-title: #365426;--card-accent: #4f6d2f;--rim: #f4f7e4;--btn: #3f5a2a;--btn-edge: #2f4520;--btn-hover: #324a21}.tone-marigold{--paper: #f5cf72;--hill-a: #f0bd4f;--hill-b: #e5a63d;--under: #c98a2a;--card-ink: #4a2e10;--card-title: #8a350e;--card-accent: #8a5410;--rim: #fff3cf;--btn: #8a350e;--btn-edge: #6e2a0b;--btn-hover: #732a0a}.tone-coral{--paper: #eda78a;--hill-a: #e48d6c;--hill-b: #d4735a;--under: #b95a45;--card-ink: #45170f;--card-title: #741d28;--card-accent: #7a2a1c;--rim: #ffe8da;--btn: #741d28;--btn-edge: #5b1620;--btn-hover: #5f1620}.tone-rose{--paper: #b8405a;--hill-a: #a53049;--hill-b: #8f2640;--under: #e0b45a;--card-ink: #fff3df;--card-title: #ffe3a6;--card-accent: #f0cf86;--rim: #f0cf86;--btn: #fff3df;--btn-edge: #e0b45a;--btn-ink: #7e2237;--btn-hover: #ffe3a6}.tone-teal{--paper: #8fc0b4;--hill-a: #78b0a3;--hill-b: #5f9c90;--under: #4a8579;--card-ink: #12332e;--card-title: #0c4a42;--card-accent: #135b52;--rim: #e5f4ef;--btn: #0f4a43;--btn-edge: #0a3a34;--btn-hover: #0b3a35}.tone-rose .event-meta small,.tone-rose .venue-pending,.tone-rose .text-button{color:var(--card-ink)}.tone-marigold{--event-float-time: 9.8s;--event-float-delay: -5s}.tone-coral{--event-float-time: 7.7s;--event-float-delay: -3s}.tone-rose{--event-float-time: 10.6s;--event-float-delay: -7s}.tone-teal{--event-float-time: 9.2s;--event-float-delay: -4s}.event-card:last-child{grid-column:1 / -1;width:calc(50% - 12px);justify-self:center}.event-copy{grid-column:1;grid-row:1;min-width:0}.event-card h3{font-size:40px;line-height:1.1;font-weight:400;letter-spacing:-.02em;margin:0 0 6px;color:var(--rose)}.event-note{font-size:18px;font-style:italic;margin:0 0 12px;line-height:1.4}.event-meta{display:flex;gap:9px;align-items:flex-start;font-size:20px;font-weight:500;line-height:1.4;margin:0;color:var(--ink);text-decoration:none}.event-meta small{display:block;font-size:17px;font-weight:400;margin-top:3px}.event-venue{min-height:44px;align-items:center;margin-top:4px;padding:5px 0;text-underline-offset:4px}.event-venue:hover{color:var(--rose);text-decoration:underline}.line-icon{width:20px;height:22px;flex:0 0 20px;display:block;color:#98702c;margin-top:3px}.event-venue .line-icon{margin-top:0}.venue-arrow{color:#98702c;font-size:17px;white-space:nowrap}.event-illustration{grid-column:2;grid-row:1;align-self:end;width:80px;height:96px;pointer-events:none}.event-illustration img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 3px 2px #6745271c);animation:event-paper-float var(--event-float-time) ease-in-out var(--event-float-delay) infinite alternate;transform-origin:50% 75%}.photo-album{max-width:700px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.photo-mount{margin:0;position:relative;transform:rotate(-1.5deg);z-index:1;min-width:0}.photo-mount:nth-child(2n){transform:rotate(1.5deg)}.photo-button{display:block;position:relative;width:100%;padding:10px 10px 20px;border:1px solid #dbc9a9;background:#fff6e4 var(--paper-texture);box-shadow:2px 5px 6px #58371c1c;transition:transform .25s}.photo-button:hover{transform:translateY(-3px)}.photo-button>img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:4 / 3;width:100%;min-height:132px;padding:10px;background:#e0c9b6 var(--paper-texture);color:#60412e;font-size:25px;font-style:italic;text-align:center}.photo-placeholder>img{opacity:.7;width:24px;height:24px}.photo-placeholder-note{font-size:15px;font-style:normal;line-height:1.35}.photo-corner{position:absolute;width:36px;height:36px;background:#efe0c3;clip-path:polygon(0 0,100% 0,0 100%);filter:drop-shadow(1px 2px 1px #50371e26);z-index:2}.corner-top{top:0;left:0}.corner-bottom{bottom:0;right:0;transform:rotate(180deg)}.photo-mount-1:before{content:"";position:absolute;top:-9px;left:40%;width:65px;height:24px;background:#f0ddbbd9;transform:rotate(-4deg);z-index:3;box-shadow:0 1px 2px #6f4d2320;pointer-events:none}.gallery-chapter>.album-expand{display:block;margin:26px auto 0;font-size:22px}.album-note{font-size:19px;line-height:1.45;text-align:center;margin:12px 0 0;font-style:italic;text-wrap:balance}.album-open{overflow:hidden}#photo-dialog{position:fixed;inset:0;margin:auto;width:min(860px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;padding:62px 28px 24px;border:1px solid #c7a66c;border-radius:6px;background:var(--cream) var(--paper-texture);color:var(--ink);box-shadow:0 18px 60px #2e211960}#photo-dialog::backdrop{background:#36241cbe}.album-close{position:absolute;top:10px;right:12px;width:44px;height:44px;display:grid;place-items:center;font-size:32px;line-height:1;border:1px solid #b7893955;border-radius:50%;background:#fff6e4;z-index:3}.photo-preview{max-height:58svh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0c9b6}.photo-preview>img{width:100%;height:auto;max-height:58svh;object-fit:contain;display:block}.large-placeholder{min-height:min(280px,45svh);max-height:58svh;aspect-ratio:4 / 3}.photo-caption{text-align:center;font-size:21px;line-height:1.4;margin:16px 0 8px}.photo-controls{display:flex;gap:24px;align-items:center;justify-content:center;font-size:20px}.photo-controls>button{width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1}.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1080px;margin:auto}.venue-card{position:relative;isolation:isolate;padding:36px 11% 52px;scroll-margin-top:0}.venue-featured{grid-column:1 / -1;display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center;padding:38px 8%;margin-bottom:4px}.venue-illustration{position:relative;width:100%;max-width:235px;justify-self:center}.venue-illustration>img{display:block;width:100%;height:205px;object-fit:contain;filter:drop-shadow(1px 3px 2px #6745271f)}.venue-illustration>.venue-lotus{position:absolute;left:-20px;bottom:-10px;width:90px;height:auto;transform:rotate(-15deg)}.venue-details{min-width:0}.venue-event-name{font-size:20px;font-style:italic;color:var(--rose);margin:0 0 6px;line-height:1.35}.venue-details h3{font-weight:400;font-size:34px;line-height:1.15;letter-spacing:-.015em;margin:0 0 12px;color:var(--rose);text-wrap:balance}.venue-address{font-size:21px;line-height:1.45;margin:0;max-width:400px;-webkit-user-select:text;user-select:text}.venue-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:18px}.paper-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:#a73c50 var(--paper-texture);color:#fff6e7;text-decoration:none;border:1px solid #8f2e42;border-radius:5px;padding:11px 18px;font:inherit;font-size:21px;line-height:1.3;box-shadow:0 3px 2px #55311d16;transition:background-color .2s,transform .2s}.paper-button:hover{background-color:#903044;transform:translateY(-2px)}.paper-button:active{transform:translateY(1px)}.paper-button span{font-size:20px}.venue-small-flower{position:absolute;right:10%;bottom:28px;width:48px;pointer-events:none}.venue-small-flower img{width:100%;display:block;max-height:80px;object-fit:contain}.venue-card:not(.venue-featured) .venue-details{padding-right:46px}.venue-card:not(.venue-featured) h3{font-size:28px}.venue-card:not(.venue-featured) .venue-address{font-size:19px}.venue-pending{font-size:17px;font-style:italic;line-height:1.4;color:#795b37}.paper-farewell{display:flex;justify-content:center;align-items:center;gap:20px;padding:24px 36px 56px}.paper-farewell>p{text-align:center;font-size:42px;line-height:1.15;color:var(--rose);margin:0;letter-spacing:-.025em;text-wrap:balance}.paper-farewell>img{width:120px;max-width:18%;filter:drop-shadow(1px 3px 2px #67452720)}.directions-ribbon{position:fixed;z-index:80;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff2d9 var(--paper-texture);border:1px solid #c29a58;border-radius:10px;box-shadow:0 5px 18px #65421e2c,0 0 0 3px #fff4de;animation:ribbon-arrive .4s var(--ease)}.ribbon-copy{flex:1;min-width:0;line-height:1.2}.ribbon-copy>span{display:block;font-size:17px;letter-spacing:-.02em}.ribbon-copy>small{display:block;font-size:14px;margin-top:3px;color:#7c5d43;font-style:italic}.directions-ribbon .paper-button{flex-shrink:0;min-height:44px;font-size:18px;padding:9px 13px;gap:6px}.directions-ribbon .paper-button span{font-size:17px}.chapter-seen>.chapter-heading{animation:chapter-arrive .65s var(--ease) both}@keyframes ribbon-arrive{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes chapter-arrive{0%{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes event-paper-float{0%{transform:translate3d(0,-3px,0) rotate(-1deg)}to{transform:translate3d(0,3px,0) rotate(1deg)}}.motion-paused .event-illustration img{animation-play-state:paused}.motion-paused .chapter-seen>.chapter-heading,.motion-paused .directions-ribbon{animation:none}@media(min-width:701px){.directions-ribbon{display:none!important}}@media(max-width:1100px){.event-grid{grid-template-columns:minmax(0,1fr);max-width:680px}.event-card{grid-template-columns:minmax(0,1fr) 96px;min-height:240px;padding:32px 10%;gap:24px}.event-card:last-child{grid-column:auto;width:100%}.event-illustration{width:96px;height:106px}.venue-featured{gap:24px}.venue-card:not(.venue-featured) .venue-details{padding-right:0}.venue-card:not(.venue-featured){padding-bottom:72px}.venue-small-flower{width:42px;bottom:20px}}@media(max-width:700px){html{scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom))}.chapters{width:100%;max-width:none;margin:0;border:0;box-shadow:none}.chapter{padding:52px clamp(24px,6vw,42px) 60px}.chapter-heading{margin-bottom:28px}.chapter-heading h2{font-size:clamp(46px,13vw,56px)}.chapter-heading>p{font-size:20px;margin-top:12px}.chapter-flourish{width:76px;height:20px;margin-top:14px}.chapters{--art-scale: .52}.border-left{left:calc(var(--w) * -.62px * var(--art-scale))}.border-right{right:calc(var(--w) * -.62px * var(--art-scale))}.date-stack{width:100%}.scratch-card{padding:30px 26px 24px;min-height:260px}.scratch-stage{min-height:156px}.flower-top-left{width:90px;left:-14px;top:-18px}.flower-bottom-right{width:76px;bottom:-12px;right:-8px}.foil-label>img{width:20px;height:20px;margin-bottom:5px}.foil-label>span{font-size:26px}.foil-label>small{font-size:14px;margin-top:6px}.revealed-date{font-size:31px}.save-date-label{font-size:21px;margin-bottom:7px}.date-weekday{font-size:18px;margin-top:8px}.date-secret>img{width:68px;height:18px;margin-bottom:6px}.reveal-alternative{font-size:18px}.countdown-card{width:100%;padding:22px 14px;margin-top:24px;border-radius:22px}.countdown-card>h3{font-size:31px}.countdown-values{gap:10px;margin-top:12px}.countdown-values>div{min-width:48px}.countdown-values [data-count]{font-size:38px}.countdown-values>div>span:last-child{font-size:18px}.countdown-dot{font-size:23px}.countdown-note{font-size:15px;margin-top:12px}.event-grid{gap:20px}.event-card{grid-template-columns:minmax(0,1fr);gap:2px;min-height:0;padding:28px 12% 22px}.event-copy{text-align:center}.event-card h3{font-size:36px}.event-note{font-size:18px}.event-meta{justify-content:center;font-size:19px;gap:8px}.event-meta small{font-size:17px}.event-illustration{grid-column:1;grid-row:2;justify-self:end;width:76px;height:76px}.gallery-chapter{padding-top:40px}.gallery-chapter .chapter-heading{margin-bottom:24px}.photo-album{gap:22px 16px}.photo-button{padding:7px 7px 14px}.photo-placeholder{font-size:20px;gap:5px;min-height:112px;padding:8px 4px}.photo-placeholder>img{width:18px;height:18px}.photo-placeholder-note{font-size:14px;max-width:100px}.photo-corner{width:26px;height:26px}.photo-mount-1:before{width:44px;height:18px;top:-7px;left:34%}.gallery-chapter>.album-expand{font-size:21px;margin-top:22px}.album-note{font-size:18px;margin-top:10px}#photo-dialog{padding:62px 16px 18px}.photo-caption{font-size:19px}.large-placeholder{font-size:27px;min-height:min(230px,45svh)}.large-placeholder .photo-placeholder-note{max-width:none;font-size:16px}.venue-grid{grid-template-columns:minmax(0,1fr);gap:20px}.venue-featured{grid-column:auto;grid-template-columns:minmax(0,1fr);gap:14px;padding:28px 11% 32px;margin-bottom:0;text-align:center}.venue-illustration{max-width:155px}.venue-illustration>img{height:140px}.venue-illustration>.venue-lotus{width:66px;left:-16px;bottom:-5px;height:auto}.venue-details h3{font-size:31px;margin-bottom:12px}.venue-address{font-size:20px;line-height:1.45;margin-inline:auto}.venue-actions{justify-content:center;gap:6px 12px;margin-top:16px}.paper-button{font-size:20px;padding:11px 16px}.copy-address{font-size:18px}.venue-card:not(.venue-featured){padding:26px 11%}.venue-card:not(.venue-featured) .venue-details{padding-right:36px}.venue-card:not(.venue-featured) h3{font-size:27px}.venue-card:not(.venue-featured) .venue-actions{justify-content:start}.venue-small-flower{width:36px;right:9%;bottom:25px}.paper-farewell{padding:20px 20px 44px;gap:10px}.paper-farewell>p{font-size:clamp(26px,7vw,33px)}.paper-farewell>img{max-width:16%}.invitation-open .page-footer{min-height:64px;height:auto;padding-block:12px;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.directions-ribbon{gap:7px}.directions-ribbon>img{width:22px;height:22px}.ribbon-copy>span{font-size:16px}}@media(max-width:360px){.chapter{padding-inline:20px}.revealed-date{font-size:28px}.foil-label>span{font-size:23px}.foil-label>small{font-size:13px}.event-card h3{font-size:34px}.event-meta{font-size:18px}.photo-album{gap:20px 12px}.photo-placeholder{font-size:19px}.countdown-values{gap:6px}.countdown-values [data-count]{font-size:35px}.directions-ribbon{left:12px;right:12px;padding:8px}.directions-ribbon>img{width:16px;height:16px}.directions-ribbon .paper-button{font-size:17px;padding-inline:10px}.ribbon-copy>span{font-size:15px}.ribbon-copy>small{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter *,.directions-ribbon{animation:none!important;transition:none!important}}
