@font-face{font-family:Arimo;src:url(/assets/Arimo-Regular-DugQlaTm.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Arimo;src:url(/assets/Arimo-Italic-Dm8tLyEZ.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Arimo;src:url(/assets/Arimo-Medium-ZHHS2NnC.ttf)format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Arimo;src:url(/assets/Arimo-SemiBold-ByThSvJJ.ttf)format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Arimo;src:url(/assets/Arimo-Bold-Dx9B44pH.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Monterchi Serif;src:url(/assets/monterchi-serif-regular-BVbJ3U-i.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Monterchi Serif;src:url(/assets/monterchi-serif-bold-Sv_xmYNK.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:Monterchi Serif;src:url(/assets/Monterchi-Serif-Thin-trial-Bcbgq4Uu.ttf)format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Monterchi Serif;src:url(/assets/Monterchi-Serif-Book-trial-Cbu6kgMh.ttf)format("truetype");font-weight:350;font-style:normal}@font-face{font-family:Bickham Script Pro;src:url(/assets/Bickham%20Script%20Pro%20Regular-C45qhoD6.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Bickham Script Pro;src:url(/assets/Bickham%20Script%20Pro%20Semibold-C_niEUlx.ttf)format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Bickham Script Pro;src:url(/assets/Bickham%20Script%20Pro%20Bold-D7PMGczA.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Allrounder Monument;src:url(./fonts/AllrounderMonumentTest-Medium.otf)format("opentype");font-weight:500;font-style:normal}:root{--color-primary-green:#8ba389;--color-primary-peach:#faeed9;--color-accent-gold:#c7a474;--color-text-dark:#3a4238;--color-text-light:#fff;--font-script:"Bickham Script Pro", cursive;--font-serif:"Monterchi Serif", serif;--font-sans:"Arimo", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text-dark);-webkit-font-smoothing:antialiased;background-color:#fff}sup{vertical-align:.8em;font-size:.6em;line-height:0}.title-font{font-family:var(--font-script);font-weight:400}.app-container{background:var(--color-primary-peach);max-width:480px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 0 40px #00000026}.app-container.is-locked{height:100vh;overflow:hidden}.main-content{width:100%}.d-flex{display:flex!important}.flex-column{flex-direction:column!important}.justify-content-center{justify-content:center!important}.align-items-center{align-items:center!important}.w-100{width:100%!important}.section{text-align:center;flex-direction:column;align-items:center;padding:4rem 2rem;display:flex;position:relative}.section-title{font-family:var(--font-script);margin-bottom:.5rem;font-size:3.5rem;line-height:1.2}.subtitle{font-family:var(--font-serif);margin-bottom:2.5rem;font-size:1.1rem;font-style:italic}.accent-gold{color:var(--color-accent-gold)}.body-text{font-family:var(--font-serif);font-size:1.1rem;line-height:1.6}.patterned-bg-green{background-color:var(--color-primary-green);color:var(--color-text-light);background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0C40 22.091 22.091 40 0 40c22.091 0 40 17.909 40 40 0-22.091 17.909-40 40-40C57.909 40 40 22.091 40 0z' fill='%23ffffff' fill-opacity='0.08' fill-rule='evenodd'/%3E%3C/svg%3E")}.patterned-bg-peach{background-color:var(--color-primary-peach);color:var(--color-text-dark);background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0C40 22.091 22.091 40 0 40c22.091 0 40 17.909 40 40 0-22.091 17.909-40 40-40C57.909 40 40 22.091 40 0z' fill='%23c7a474' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E")}.floral-frame-bg{background-color:var(--color-primary-peach);color:var(--color-text-dark);background-image:url(/assets/floral%20frame-CtsbRlcG.jpg);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.patterned-bg-green .section-title{color:var(--color-text-light)}.patterned-bg-green .subtitle{color:#fffc}.program-section{padding-bottom:1rem!important}.venue-section{padding-top:1.1rem!important}.envelope-hero{background-color:var(--color-primary-green);flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero-video-container{z-index:1;background-color:var(--color-primary-green);position:absolute;inset:0}.hero-video{object-fit:cover;width:100%;height:100%}.transition-video{transition:opacity 1.5s ease-in-out;position:absolute;top:0;left:0}.video-active{opacity:1;z-index:2}.video-hidden{opacity:0;z-index:1}.hero-overlay{background:linear-gradient(#0003 0%,#0009 100%);position:absolute;inset:0}.envelope-top{background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0C40 22.091 22.091 40 0 40c22.091 0 40 17.909 40 40 0-22.091 17.909-40 40-40C57.909 40 40 22.091 40 0z' fill='%23ffffff' fill-opacity='0.08' fill-rule='evenodd'/%3E%3C/svg%3E");background-color:var(--color-primary-green);clip-path:polygon(0 0,100% 0,50% 100%);z-index:3;justify-content:center;align-items:flex-end;width:100%;height:180px;display:flex;position:absolute;top:0;left:0;box-shadow:0 10px 20px #0000004d}.seal{background:radial-gradient(circle,#e2ccb2 0%,#c19d72 100%);border:4px solid #fdf5e6;border-radius:50%;width:70px;height:70px;margin-bottom:-35px;box-shadow:0 5px 15px #0000004d,inset 0 0 10px #fff6}.hero-content{z-index:2;text-align:center;color:#fff;margin-top:4rem;position:relative}.names{font-family:var(--font-script);text-shadow:0 4px 15px #00000080;margin-bottom:2rem;font-size:4.5rem;line-height:1.1}.hero-diamond-icon{color:var(--color-accent-gold);text-shadow:0 2px 10px #00000080;margin-bottom:1.5rem;font-size:1.5rem}.hero-date{font-family:var(--font-serif);letter-spacing:.3em;text-transform:uppercase;text-shadow:0 2px 8px #00000080;font-size:1.1rem}.timer-grid{grid-template-columns:1fr 1fr;gap:1.2rem;width:100%;max-width:420px;margin:0 auto;display:grid}.date-box{width:100%}.date-box .time-box{background:0 0!important;border:1px solid #fffc!important;width:100%!important;min-height:160px!important;padding:0!important;position:relative!important;overflow:hidden!important}.date-box .scratch-container{border-radius:0!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.date-box .scratch-canvas{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.date-box .time-value{letter-spacing:.05em;font-size:2.4rem}.time-box{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;background:#ffffff26;border:1px solid #ffffffe6;border-radius:30px;flex-direction:column;justify-content:center;min-height:160px;padding:2.5rem 1rem;transition:all .3s;display:flex;transform:translateY(30px)}.timer-grid.is-visible .time-box,.date-wrapper.is-visible .time-box{opacity:1;transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s;transform:translateY(0)}.timer-grid.is-visible>:first-child{transition-delay:.1s}.timer-grid.is-visible>:nth-child(2){transition-delay:.2s}.timer-grid.is-visible>:nth-child(3){transition-delay:.3s}.timer-grid.is-visible>:nth-child(4){transition-delay:.4s}.timer-grid.is-visible>:nth-child(5){transition-delay:.5s}.timer-grid.is-visible .time-box:hover{transition-delay:0s;transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.time-value{font-family:var(--font-serif);margin-bottom:.2rem;font-size:3.5rem;font-weight:500;line-height:1}.time-label{letter-spacing:.2em;opacity:.8;font-size:.85rem;font-weight:400}.scratch-container{cursor:crosshair;width:100%;height:100%;position:relative;overflow:hidden}.scratch-canvas{z-index:5;width:100%;height:100%;transition:opacity .5s ease-out;position:absolute;top:0;left:0}.scratch-content{z-index:4;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.scratch-shine{z-index:6;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(105deg,#0000 20%,#fff0 30%,#fff6 50%,#fff0 70%,#0000 80%) 0 0/200% 100%;width:100%;height:100%;transition:opacity .5s ease-out;animation:3s linear infinite scratch-shine-anim;position:absolute;top:0;left:0}@keyframes scratch-shine-anim{0%{background-position:200% 0}to{background-position:-200% 0}}.reveal-title{font-family:var(--font-script);color:#fff;text-shadow:0 4px 10px #0003;margin-bottom:0;font-size:4rem}.reveal-instruction{font-family:var(--font-serif);letter-spacing:.15em;text-transform:uppercase;opacity:.9;color:#fff;margin-bottom:2rem;font-size:.9rem}.celebration-container{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.particle{background:var(--color-accent-gold);border-radius:50%;width:10px;height:10px;animation:linear forwards fall;position:absolute}@keyframes fall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(360deg)}}.venue-card{background-color:#fdf6e9f2;flex-direction:column;align-items:center;width:100%;margin-top:1.5rem;padding:2.5rem 1.5rem;display:flex;box-shadow:0 4px 15px #00000008}.venue-card h3{font-family:var(--font-serif);letter-spacing:.15em;color:#5d6b5b;margin-bottom:1rem;font-size:1.3rem;font-weight:600}.venue-card p.venue-address{font-family:var(--font-serif);color:#80967a;max-width:280px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.6}.map-placeholder{background-color:var(--color-primary-green);color:#fff;letter-spacing:.2em;width:100%;height:200px;font-family:var(--font-sans);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;transition:opacity .3s;display:flex;box-shadow:0 10px 20px #0000000d}.map-placeholder:hover{opacity:.9}.timeline{text-align:left;width:100%;padding:0 1rem}.timeline-day-group{margin-bottom:2.5rem}.timeline-day-group:last-child{margin-bottom:.5rem}.day-header{color:var(--color-accent-gold);text-align:left;margin-bottom:1.5rem;padding-left:5rem;font-size:2rem;line-height:1.2}.timeline-item{min-height:70px;margin-bottom:3rem;padding-left:4.5rem;position:relative}.timeline-item:before{content:"";background:var(--color-primary-green);z-index:0;opacity:.6;width:2px;position:absolute;top:0;bottom:calc(-3rem - 36px);left:35px}.timeline-day-group:first-child .timeline-item:nth-child(2):before{top:-50px}.timeline-day-group:not(:last-child) .timeline-item:last-child:before{bottom:calc(-6.4rem - 24px)}.timeline-day-group:last-child .timeline-item:last-child:before{display:block;bottom:2px}.timeline-icon-wrapper{z-index:2;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:absolute;top:0;left:0}.timeline-icon-img{object-fit:contain;width:75%;height:75%}.timeline-content{flex-direction:column;display:flex}.event-header-row{align-items:center;gap:.8rem;margin-bottom:.3rem;display:flex}.event-time-badge{color:#fff;font-family:var(--font-sans);letter-spacing:.05em;background-color:#80967a;border-radius:4px;padding:.2rem .6rem;font-size:.85rem;font-weight:500}.event-title{font-family:var(--font-serif);color:#6a7465;letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:1.1rem;font-weight:600}.event-venue{color:#80967a;font-size:1rem;font-family:var(--font-serif)}.event-description{font-family:var(--font-serif);color:#6a7465;opacity:.9;margin-top:.2rem;margin-bottom:.5rem;font-size:.95rem;font-style:italic;line-height:1.4}.info-icon{color:#5d6b5b;font-size:2.2rem;font-family:var(--font-serif);margin-bottom:.5rem;font-weight:300}.accent-green{color:#5d6b5b}.info-bars-container{flex-direction:column;gap:1rem;width:100%;margin-top:1.5rem;display:flex}.info-bar{white-space:nowrap;background-color:#fdf6e9d9;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.6rem;width:100%;height:3.2rem;padding:0 1rem;display:flex;box-shadow:0 1px 1px #0000000d}@media (width<=380px){.info-bar{gap:.3rem;height:2.8rem}.info-bar span{letter-spacing:.05em!important;margin-right:2px!important;font-size:.8rem!important}.info-bar .body-text{font-size:.9rem!important}}.fade-in-section{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(40px)}.fade-in-section.is-visible{opacity:1;transform:none}
