@font-face{font-family:Petit Formal Script;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/petitformalscript/v19/B50TF6xQr2TXJBnGOFME6u5OR83oRP5qkHDgPrgZ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Petit Formal Script;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/petitformalscript/v19/B50TF6xQr2TXJBnGOFME6u5OR83oRP5qkH7gPg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-serif: "Petit Formal Script", Georgia, serif;--font-script: "Imperial Script", cursive;--font-sans: "Montserrat", system-ui, sans-serif;--black: #111111;--white: #ffffff;--gray-50: #f8f8f8;--gray-100: #f0f0f0;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--gold: #C9A96E;--gold-light: #E8D5A3;--sage: #4a6741;--transition-base: .3s ease;--transition-slow: .5s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--gray-900);background-color:var(--white);line-height:1.5}::selection{background:var(--gray-900);color:var(--white)}img{max-width:100%;display:block}button{cursor:pointer;font:inherit}input,select,textarea{font:inherit}section{padding:60px 25px}p{color:var(--gray-500)}.title{font-family:var(--font-serif);font-weight:600;font-size:24px;margin-bottom:1rem}.subtitle{font-family:var(--font-sans);font-weight:500;font-size:13px;text-transform:uppercase;margin-bottom:.5rem;color:var(--gold)}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:SF Mono,Fira Code,monospace}.text-\[10px\]{font-size:10px;line-height:1.4}.text-\[11px\]{font-size:11px;line-height:1.4}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1.1}.text-6xl{font-size:3.75rem;line-height:1.05}.text-7xl{font-size:4.5rem;line-height:1.05}.text-8xl{font-size:5rem;line-height:1.05}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.35em\]{letter-spacing:.35em}.tabular-nums{font-variant-numeric:tabular-nums}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.uppercase{text-transform:uppercase}.text-white{color:var(--white)}.text-black{color:var(--black)}.text-gray-300{color:var(--gray-300)}.text-gray-400{color:var(--gray-400)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-900{color:var(--gray-900)}.text-red-400{color:#f87171}.bg-white{background-color:var(--white)}.bg-black{background-color:var(--black)}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-gray-200{background-color:var(--gray-200)}.bg-gray-900{background-color:var(--gray-900)}.bg-transparent{background-color:transparent}.bg-white\/90{background-color:#ffffffe6}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-10{bottom:2.5rem}.right-8{right:2rem}.inset-0{inset:0}.z-50{z-index:50}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.mx-auto{margin-left:auto;margin-right:auto}.overflow-hidden{overflow:hidden}.appearance-none{appearance:none}.cursor-pointer{cursor:pointer}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-24{padding-top:6rem;padding-bottom:6rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.border{border:1px solid}.border-t{border-top:1px solid}.border-b{border-bottom:1px solid}.border-white{border-color:var(--white)}.border-gray-50{border-color:var(--gray-50)}.border-gray-100{border-color:var(--gray-100)}.border-gray-200{border-color:var(--gray-200)}.border-gray-300{border-color:var(--gray-300)}.border-gray-700{border-color:var(--gray-700)}.border-gray-900{border-color:var(--gray-900)}.rounded-full{border-radius:9999px}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}.transition-all{transition-property:all}.transition-colors{transition-property:color,background-color,border-color}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.btn-outline{display:inline-block;font-family:var(--font-sans);font-size:11px;letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.875rem 2.5rem;background:transparent;transition:all .5s ease;cursor:pointer;text-decoration:none}.btn-solid{display:inline-block;width:100%;font-family:var(--font-sans);font-size:11px;letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--gold);color:var(--white);padding:1rem 2rem;background:var(--gold);transition:all .5s ease;cursor:pointer}.btn-solid:disabled{opacity:.5;cursor:not-allowed}.btn-copy{flex-shrink:0;font-family:var(--font-sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.75rem 1.25rem;background:transparent;transition:all .3s ease;cursor:pointer}.btn-link{background:none;border:none;font-family:var(--font-sans);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-500);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.download-ics{margin-top:.75rem;margin-bottom:0}.form-input{width:100%;background:var(--white);border:1px solid var(--gray-200);color:var(--gray-900);padding:.875rem 1.25rem;font-family:var(--font-sans);font-size:.875rem;outline:none;transition:border-color .3s ease}.form-input:focus{border-color:var(--gray-900)}.form-input::placeholder{color:var(--gray-300)}.form-select{width:100%;background:var(--white);border:1px solid var(--gray-200);color:var(--gray-900);padding:.875rem 1.25rem;font-family:var(--font-sans);font-size:.875rem;outline:none;transition:border-color .3s ease;appearance:none}.form-select:focus{border-color:var(--gray-900)}.form-radio{appearance:none;width:1rem;height:1rem;border:2px solid var(--gray-300);border-radius:9999px;transition:all .3s ease;flex-shrink:0}.form-radio:checked{border-color:var(--gray-900);background:var(--gray-900)}.form-label{display:block;font-family:var(--font-sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.5rem}.input{width:100%;background:var(--white);border:1px solid var(--gray-200);color:var(--gray-900);padding:.875rem 1.25rem;font-family:var(--font-sans);font-size:.875rem;outline:none;transition:border-color .3s ease;box-sizing:border-box}.input:focus{border-color:var(--gray-900)}.input::placeholder{color:var(--gray-300)}.form-error{font-family:var(--font-sans);font-size:.75rem;color:#f87171;margin-top:.375rem}.divider-svg{width:20px;height:20px;background-image:url(/assets/rings.svg);background-size:cover}.divider-dot{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:50px 0}.divider-dot span{display:block}.divider-dot .line{width:1.5rem;height:1px;background:var(--gray-400)}.divider-line{width:100%;height:1px;background:var(--gray-200);margin:1.5rem auto}.title-icon{width:3rem;height:3rem;margin-bottom:1rem;fill:var(--gray-900)}.title-icon.sm{width:2rem;height:2rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--gray-900);color:var(--white);padding:.75rem 1.5rem;font-family:var(--font-sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 20px 25px -5px #0000001a;z-index:50}.music-btn{width:40px;height:40px;border:1px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--gray-400);transition:all .5s ease;cursor:pointer;border-radius:100%}.music-btn:hover{background:var(--gray-900);color:var(--white);border-color:var(--gray-900)}.music-btn svg{width:1rem;height:1rem}.music-float{top:5px;right:5px;z-index:50}.music-icon-offset{margin-left:1px}.landing-overlay{position:fixed;inset:0;z-index:100;background:var(--white);display:flex;align-items:center;justify-content:center;padding:2rem;transition:opacity .7s ease,transform .7s ease}.landing-overlay.fade-out{opacity:0;transform:scale(1.03)}.lnd-frame-top,.lnd-frame-bottom{position:absolute;left:1.5rem;right:1.5rem;height:1px;background:var(--gold);opacity:0;transition:opacity .6s ease}.lnd-visible .lnd-frame-top,.lnd-visible .lnd-frame-bottom{opacity:1;transition-delay:.3s}.lnd-frame-top{top:1.5rem}.lnd-frame-bottom{bottom:1.5rem}.lnd-branch{position:absolute;bottom:-.25rem;right:-.5rem;width:4.5rem;height:4.5rem;color:var(--sage);opacity:0;pointer-events:none;transition:opacity .8s ease}.lnd-visible .lnd-branch{opacity:.3;transition-delay:.5s}.lnd-content{text-align:center;max-width:32rem}.lnd-label{font-family:var(--font-sans);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.lnd-visible .lnd-label{opacity:1;transform:translateY(0);transition-delay:0s}.lnd-names{font-family:var(--font-script);font-weight:500;font-size:2.5rem;line-height:1.15;color:var(--gray-900);margin-bottom:.5rem;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.lnd-visible .lnd-names{opacity:1;transform:translateY(0);transition-delay:.15s}.lnd-amp{font-family:var(--font-script);font-weight:500;font-size:1.25rem;letter-spacing:.1em;color:var(--gold)}.lnd-divider{width:1.5rem;height:1px;background:var(--gold);margin:1.25rem auto;opacity:0;transition:opacity .6s ease}.lnd-visible .lnd-divider{opacity:1;transition-delay:.3s}.lnd-message{font-family:var(--font-sans);font-size:16px;color:var(--gray-500);line-height:1.4;margin-bottom:30px;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.lnd-visible .lnd-message{opacity:1;transform:translateY(0);transition-delay:.45s}.lnd-message .guest-names{color:var(--gray-900);font-weight:500;display:block;margin-bottom:15px;font-family:var(--font-serif);font-size:18px;margin-top:30px}.lnd-btn{font-family:var(--font-sans);font-size:11px;letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--gold);color:var(--white);padding:.875rem 2.5rem;background:var(--gold);cursor:pointer;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.lnd-visible .lnd-btn{opacity:1;transform:translateY(0);transition-delay:.6s}.lnd-date{font-family:var(--font-sans);font-size:14px;letter-spacing:1px;color:var(--gray-800);margin:30px 0;opacity:0;transition:opacity .6s ease}.lnd-visible .lnd-date{opacity:1;transition-delay:.75s}.invite-host{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.invite-host.visible{opacity:1}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1.5rem 4rem;background:var(--white);overflow:hidden}.hero-names{font-family:var(--font-script);font-size:90px;line-height:1.1;color:var(--gray-900);font-weight:500;position:relative}.hero-content{position:relative;z-index:1;max-width:42rem;margin:0 auto;text-align:center}.hero-label{font-family:var(--font-sans);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--gray-400);margin-bottom:1rem}.hero-title{font-family:var(--font-serif);font-size:3.75rem;line-height:1.05;letter-spacing:-.025em;color:var(--gray-900)}.hero-ampersand{display:block;font-family:var(--font-script);font-style:italic;font-weight:300;font-size:1.5rem;color:var(--gray-900);margin:.75rem 0}.hero-date{font-family:var(--font-sans);font-size:.875rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray-700)}.hero-location{font-family:var(--font-sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gray-600);margin-top:.5rem}.hero-scroll{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);width:1.5rem;height:1.5rem;color:var(--gold)}.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;background-image:url(/assets/hero-bg.jpg);opacity:.4;background-size:cover;background-position:center}.section-subtitle{color:var(--gray-400);text-transform:uppercase;margin-bottom:.5rem}.section-title{color:var(--gray-900)}.section-title-mb{color:var(--gray-900);margin-bottom:1rem}.section-desc{color:var(--gray-400);line-height:1.625}.section-countdown{padding:34px 34px 50px;background:var(--black);color:var(--white)}.countdown-box{padding:1.25rem 0}.countdown-number{font-family:var(--font-serif);font-size:2.25rem;line-height:1;color:var(--white);font-variant-numeric:tabular-nums}.countdown-label{font-family:var(--font-sans);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--white)}.countdown-gap{gap:1.5rem}.detail-card{background:var(--white);border:1px solid var(--gray-100);padding:3rem;text-align:center}.detail-title{font-family:var(--font-serif);font-size:1.25rem;color:var(--gray-900)}.detail-time{font-family:var(--font-sans);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gray-900);font-weight:500}.detail-header{margin-bottom:30px}.detail-divider{width:2rem;margin:1rem auto}.detail-address{color:var(--gray-500);line-height:1.625;margin-bottom:.25rem;font-weight:500}.detail-location{color:var(--gray-400)}.detail-spacing{margin-top:1.5rem}.details-grid{gap:2rem}.detail-cta{margin-top:40px}.section-rsvp{background:var(--gray-50)}.rsvp-success-icon{width:4rem;height:4rem;margin:0 auto 1.5rem;border-radius:9999px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center}.rsvp-success-icon svg{width:30px;height:30px;color:var(--gold)}.radio-group{display:flex;gap:2rem}.radio-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.radio-label span{font-family:var(--font-sans);font-size:.875rem;color:var(--gray-600);transition:color .3s ease}.radio-label:hover span{color:var(--gray-900)}.rsvp-desc{color:var(--gray-400);margin-bottom:3rem;line-height:1.625}.rsvp-thanks{color:var(--gray-900);margin-bottom:.5rem}.rsvp-message{color:var(--gray-400)}.rsvp-form{display:flex;flex-direction:column}.rsvp-guest-card{background:var(--white);padding:30px;border-bottom:1px solid var(--gray-100);margin-bottom:1.5rem}.rsvp-guest-name{font-family:var(--font-serif);font-size:16px;color:var(--gray-900);margin-bottom:.75rem;font-weight:600}.rsvp-restriction{margin-top:.75rem}.dresscode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:24rem;margin:0 auto 2.5rem}.dresscode-card{border:1px solid var(--gray-100);padding:2rem;text-align:center}.dresscode-icon{width:2.5rem;height:2.5rem;margin:0 auto 1rem;color:var(--gray-400)}.dresscode-label{font-family:var(--font-serif);font-size:.875rem;color:var(--gray-900)}.dresscode-desc{color:var(--gray-400);line-height:1.625;max-width:28rem;margin:0 auto}.section-gifts{padding:6rem 1.5rem;background:var(--gray-50)}.gift-card{background:var(--white);border:1px solid var(--gray-100);padding:2rem 2.5rem;text-align:left}.gift-code{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:var(--gray-900);background:var(--gray-50);padding:.75rem 1rem;border:1px solid var(--gray-100);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gift-row{display:flex;gap:.5rem}.gift-desc{margin-bottom:2.5rem;line-height:1.625;max-width:36rem;margin-left:auto;margin-right:auto}.gift-row-detail{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid var(--gray-50);margin-bottom:1.5rem}.gift-label-sm{margin-bottom:.25rem}.gift-value{color:var(--gray-900)}.gift-mb{margin-bottom:1.5rem}.section-songs{background:var(--white)}.songs-desc{margin-bottom:2.5rem}.songs-embed-wrapper{max-width:32rem;margin:30px 0;border:1px solid var(--gray-100);border-radius:2px;overflow:hidden}.songs-iframe{display:block;border:none}.spotify-wrapper{position:relative}.spotify-overlay{position:absolute;inset:0;z-index:1;cursor:pointer}.songs-form{max-width:24rem;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.songs-form .input,.songs-form .btn-outline{width:100%}.site-footer{padding:40px 30px 30px 20px;background:var(--white);text-align:center}.footer-names{color:var(--gray-900);margin-bottom:.5rem}.footer-date{color:var(--gray-400);text-transform:uppercase}.footer-line{width:2.5rem;height:1px;background:var(--gold);margin:1.5rem auto}.footer-love{color:var(--gold);text-transform:uppercase;margin-bottom:10px}.hover-group:hover .hover-group-show{opacity:1}
