:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s,transform .4s}.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .4s,transform .4s}@media(max-width:700px){.wedding-root{width:100vw;min-height:100vh;padding:0}.wedding-header{max-width:100vw;padding-top:1rem}.wedding-logo{font-size:1.6rem;margin-bottom:.4rem;line-height:1.05;text-align:center;padding:.2rem 0}.wedding-nav{gap:.9rem;font-size:.95rem;flex-wrap:wrap;justify-content:center;margin-bottom:.8rem;padding:.2rem 0;-webkit-tap-highlight-color:transparent}.wedding-main{flex-direction:column;align-items:center;min-height:unset;margin-top:1rem;max-width:100vw;width:100vw;position:relative}.wedding-leaf{width:60px;top:10px;left:10px;right:10px;position:absolute;opacity:.85}.wedding-leaf.left{left:10px;top:60px}.wedding-leaf.right{right:10px;top:60px}.wedding-center{margin:0;padding:0 1rem;text-align:center;width:100vw}.wedding-name{font-size:1.8rem;line-height:1.02;margin-top:.2rem}.wedding-date{font-size:1.2rem}.rounded-img{max-width:90vw;margin:.5rem auto}html,body,#root{font-size:14px}.things-to-do-page{padding:0 1rem;max-width:100vw;font-size:1rem}}.rounded-img{max-width:90vw;margin:.5rem auto;overflow:hidden}.wedding-root{background-image:url(/bewedding/background.jpg);background-size:cover;background-position:center center;background-attachment:fixed;position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center}.wedding-root:before{content:"";position:absolute;inset:0;background:#00000073;z-index:1;pointer-events:none}.wedding-root>*{position:relative;z-index:2}.qr-warning-banner{width:100vw;background:#ffc107;color:#000;padding:.8rem 1rem;text-align:center;font-size:.95rem;font-weight:500;line-height:1.4}.qr-warning-banner p{max-width:900px;margin:0 auto}.site-footer{width:100%;text-align:center;padding:.6rem 0 1rem}.site-hit-counter{font-size:.72rem;letter-spacing:.04em;color:#ffffff9e;line-height:1}.site-hit-counter-link{display:inline-flex;align-items:center;justify-content:center;opacity:.8;text-decoration:none}.bg-layer{position:absolute;inset:-18%;filter:blur(100px) saturate(110%);transform:scale(1.08);opacity:.82;will-change:transform,opacity}.layer-1{background-image:radial-gradient(circle at 20% 30%,rgba(120,72,220,.95) 0%,transparent 30%),radial-gradient(circle at 80% 70%,rgba(18,150,240,.9) 0%,transparent 25%);animation:move 26s ease-in-out infinite}.layer-2{background-image:radial-gradient(circle at 60% 20%,rgba(230,90,190,.72) 0%,transparent 25%),radial-gradient(circle at 30% 80%,rgba(80,200,170,.55) 0%,transparent 25%);animation:move 34s ease-in-out infinite reverse;filter:blur(120px) contrast(110%);opacity:.62}.bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:22px 22px;opacity:.28;mix-blend-mode:overlay;filter:blur(.8px) contrast(110%);animation:dots 18s linear infinite}@media(max-width:700px){.bg-layer{filter:blur(60px);opacity:.7}.layer-2,.bg-dots{display:none}.animated-bg:before{background:#00000073}}@media(max-width:700px){.wedding-root{background-attachment:scroll!important;background-position:center top!important;background-size:cover!important;-webkit-overflow-scrolling:touch}}@media(prefers-reduced-motion:reduce){.bg-layer,.bg-dots{animation:none!important}.animated-bg{will-change:auto}.bg-layer{filter:blur(40px)!important}}.animated-bg:before{content:"";position:absolute;inset:0;background:#00000061;z-index:1;pointer-events:none}@keyframes move{0%{transform:translate3d(-8%,0,0) scale(1.05)}50%{transform:translate3d(8%,-6%,0) scale(1.15)}to{transform:translate3d(-8%,0,0) scale(1.05)}}@keyframes dots{0%{background-position:0 0}to{background-position:200px 200px}}.wedding-header{position:sticky;top:0;left:0;width:100vw;display:flex;justify-content:center;padding:.6rem 0;z-index:4;-webkit-backdrop-filter:blur(6px) saturate(110%);backdrop-filter:blur(6px) saturate(110%);background:linear-gradient(180deg,#00000061,#00000014)}.header-inner{width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center;padding:0 1rem}.wedding-logo{font-family:Dancing Script,Segoe Script,cursive;font-size:2.2rem;font-weight:600;margin-bottom:1.2rem;letter-spacing:1px}.wedding-nav{display:flex;gap:2.2rem;font-size:1.1rem;margin-bottom:1.5rem}.wedding-nav a{color:var(--nav-inactive);text-decoration:none;position:relative;padding-bottom:.2rem;transition:color .2s}.wedding-nav a.active,.wedding-nav a:hover{color:var(--nav-active)}.wedding-nav a.active:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-10px;width:10px;height:10px;border-radius:50%;background:var(--nav-active);box-shadow:0 6px 18px #00000059,0 0 18px #ffffff0a;transition:transform .2s ease,opacity .2s ease}.wedding-nav a{transition:color .18s ease,transform .16s ease,text-shadow .22s ease}.wedding-nav a:hover,.wedding-nav a:focus{transform:translateY(-3px);text-shadow:0 0 14px rgba(255,255,255,.06)}.wedding-nav a.active{text-shadow:0 0 18px rgba(255,255,255,.08)}.wedding-nav a.active:after{box-shadow:0 8px 22px #00000073,0 0 18px #ffffff0a}a,.travel-right a,.travel-container a,.things-to-do-page a{transition:color .16s ease,text-shadow .22s ease,transform .16s ease}a:hover,.travel-right a:hover,.travel-container a:hover,.things-to-do-page a:hover{color:#fff;transform:translateY(-2px);text-shadow:0 0 12px rgba(255,255,255,.12)}a:focus,.wedding-nav a:focus{outline:2px solid rgba(255,255,255,.08);outline-offset:3px}.wedding-main{width:100vw;max-width:900px;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;position:relative;min-height:600px;margin-top:2rem}.wedding-leaf{width:120px;height:auto;position:absolute;top:60px;z-index:1;opacity:.95}.wedding-leaf:after{content:attr(alt);color:#fff;font-size:1rem;position:absolute;left:0;top:0;width:100%;text-align:center;pointer-events:none;opacity:.5;display:none}.wedding-leaf.left{left:0}.wedding-leaf.right{right:0}.wedding-center{flex:1;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 140px;text-align:center}.wedding-names{margin-top:2.5rem;margin-bottom:1.2rem}.travel-container{max-width:900px;margin:2.5rem auto 4rem;padding:0 1rem;text-align:center}.travel-intro{font-size:1.05rem;line-height:1.6;margin-bottom:2.5rem;color:var(--fg)}.travel-grid{display:grid;grid-template-columns:1fr 1px 1.1fr;gap:1.5rem;align-items:center}.travel-left{display:flex;flex-direction:column;align-items:center;padding:1rem 0}.travel-icon{font-size:2.2rem;margin-bottom:.6rem}.travel-heading{font-family:Dancing Script,Segoe Script,cursive;font-size:1.6rem;margin-top:.6rem}.travel-divider{width:1px;background:#ffffff14;height:180px;justify-self:center}.travel-right{text-align:left;font-size:1rem;line-height:1.7;color:var(--fg);padding:0 1rem}.travel-right a,.travel-container a,.things-to-do-page a{color:#ffffffe6;text-decoration:underline}.travel-right a:hover,.travel-container a:hover,.things-to-do-page a:hover{color:#fff}@media(max-width:700px){.travel-grid{grid-template-columns:1fr}.travel-divider{display:none}.travel-right{text-align:center}}.wedding-name{font-family:Dancing Script,Segoe Script,cursive;font-size:3.5rem;font-weight:700;margin:.4rem 0;letter-spacing:1px}.wedding-and{font-size:1.1rem;margin:.5rem 0;text-align:center}.wedding-hashtag{margin:1.2rem 0 .7rem;font-size:1.05rem;color:var(--accent2);letter-spacing:.5px}.wedding-date{font-family:Dancing Script,Segoe Script,cursive;font-size:1.6rem;margin:.7rem 0 .2rem}.wedding-location{font-size:1.1rem;margin-bottom:1.2rem}.countdown{font-size:1rem;margin-bottom:2.2rem}.wedding-rsvp{background:var(--rsvp-bg);color:#fff;border:none;border-radius:6px;padding:.8em 3em;font-size:1.1rem;font-weight:600;letter-spacing:1px;margin-top:1.2rem;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 8px #0002}.wedding-rsvp:hover,.wedding-rsvp:focus{background:var(--rsvp-hover);transform:scale(1.04)}.container{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}.header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 0}.title{font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin:0}.main-content{flex:1;display:flex;align-items:center;justify-content:center}.card{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:1.5rem;padding:3rem 2.5rem;min-width:320px;max-width:90vw;text-align:center;transition:box-shadow .3s,background .3s}.animate-card{transition:transform .2s cubic-bezier(.4,2,.6,1),box-shadow .2s}.animate-card:hover{transform:translateY(-8px) scale(1.03) rotate(-1deg);box-shadow:0 8px 40px #0004}.cta-btn{margin-top:2rem;padding:.8em 2em;font-size:1.1rem;font-weight:600;border-radius:2em;border:none;background:var(--btn-bg);color:var(--btn-fg);box-shadow:0 2px 8px #0002;cursor:pointer;transition:background .2s,color .2s,transform .1s}.cta-btn:hover,.cta-btn:focus{background:var(--btn-hover);color:#fff;transform:scale(1.07) translateY(-2px)}.cta-btn:active{transform:scale(.97)}.footer{text-align:center;padding:2rem;font-size:1rem;color:var(--fg);opacity:.7}@media(max-width:700px){.wedding-main{margin-top:.6rem}.wedding-leaf{display:none}.wedding-center{padding:0 .6rem}.wedding-name{font-size:2rem;line-height:1.02;margin-top:.4rem}.countdown,.travel-intro{font-size:.95rem}.travel-heading{font-size:1.2rem}.travel-right{font-size:.95rem}}@media(max-width:420px){html,body,#root{font-size:13px}.wedding-header{padding:.18rem 0}.header-inner{padding:0 .45rem}.wedding-logo{font-size:1.2rem;margin-bottom:0;line-height:1}.wedding-nav{gap:.5rem;font-size:.88rem;margin-bottom:.25rem}.wedding-main{margin-top:.2rem;min-height:calc(100vh - 56px)}.wedding-names{margin-top:.2rem}.wedding-name{font-size:1.5rem}.wedding-hashtag{font-size:.82rem;margin:.4rem 0}.wedding-date{font-size:.98rem}.wedding-location{font-size:.92rem}.countdown{font-size:.88rem;margin-bottom:.8rem}.wedding-rsvp{padding:.5em 1rem;font-size:.92rem}.wedding-center{padding-top:.2rem}}
