@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;700&family=IM+Fell+English:ital@0;1&display=swap";@font-face{font-family:Lumos;src:url(/fonts/lumos.ttf) format("truetype");font-display:swap}@font-face{font-family:HarryP;src:url(/fonts/harry-p.ttf) format("truetype");font-display:swap}:root{--parchment-light: #F2E8D0;--parchment-mid: #E8D5B0;--parchment-aged: #CCB891;--parchment-cream: #F6F4EF;--ink-dark: #2C1810;--ink-brown: #4D4735;--ink-crimson: #5A0606;--ink-red: #8B0000;--ink-sepia: #A59172;--crimson: #AE0001;--deep-red: #740001;--burgundy: #6B0F1A;--gold: #D3A625;--gold-bright: #EEBA30;--gold-aged: #C9A84C;--shadow-warm: rgba(44, 24, 16, .3);--overlay-dark: rgba(90, 6, 6, .08);--font-display: "Cinzel Decorative", "Palatino Linotype", Georgia, serif;--font-heading: "Cinzel", "Palatino Linotype", Georgia, serif;--font-body: "IM Fell English", "Garamond", Georgia, serif;--font-accent: "Lumos", "Cinzel Decorative", serif;--font-monogram: "HarryP", "Cinzel Decorative", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink-dark);background-color:var(--parchment-light);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:url(/textures/parchment-1.jpg);background-size:cover;background-attachment:fixed;opacity:.15;pointer-events:none;z-index:-1}body:after{content:"";position:fixed;inset:0;box-shadow:inset 0 0 150px #2c181066;pointer-events:none;z-index:1}h1,h2,h3{font-family:var(--font-display);color:var(--ink-crimson);letter-spacing:.05em;line-height:1.3}h1{font-size:clamp(2rem,6vw,3.5rem)}h2{font-size:clamp(1.4rem,4vw,2.2rem);margin-bottom:1rem}h3{font-family:var(--font-heading);font-size:clamp(1.1rem,3vw,1.5rem);color:var(--ink-brown)}p{font-size:clamp(1rem,2.5vw,1.15rem);max-width:65ch;margin-inline:auto}a{color:var(--crimson);text-decoration:none;transition:color .2s}a:hover{color:var(--deep-red)}.section{padding:4rem 1.5rem;max-width:800px;margin-inline:auto;text-align:center;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.section.visible{opacity:1;transform:translateY(0)}.section-divider{width:120px;height:2px;background:linear-gradient(90deg,transparent,var(--ink-sepia),transparent);margin:0 auto 2rem}.gate{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--parchment-light);z-index:50;transition:opacity 1.2s ease,visibility 1.2s}.gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.gate-monogram{font-family:var(--font-monogram);font-size:clamp(3rem,10vw,5rem);color:var(--ink-crimson);opacity:.3;margin-bottom:2rem;letter-spacing:.15em}.gate-prompt{font-family:var(--font-body);font-style:italic;font-size:clamp(.9rem,2.5vw,1.1rem);color:var(--ink-sepia);margin-bottom:1.5rem}.gate-input-wrapper{position:relative;width:min(90vw,400px)}.gate-input{width:100%;padding:1rem 1.5rem;font-family:var(--font-body);font-style:italic;font-size:1.1rem;color:var(--ink-dark);background:#f2e8d099;border:1px solid var(--ink-sepia);border-radius:4px;outline:none;text-align:center;transition:border-color .3s}.gate-input:focus{border-color:var(--ink-crimson)}.gate-input::placeholder{color:var(--ink-sepia);opacity:.6;font-style:italic}.gate-hint{font-family:var(--font-body);font-size:.85rem;color:var(--ink-sepia);opacity:0;margin-top:1rem;transition:opacity 1s ease;font-style:italic}.gate-hint.show{opacity:.6}.gate-peek{position:absolute;bottom:1.5rem;font-family:var(--font-body);font-size:.8rem;color:var(--ink-sepia);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .5s,visibility .5s;border:none;background:none;font-style:italic}.gate-peek.show{opacity:.4;visibility:visible}.gate-peek:hover{opacity:.7}.gate-footprints{position:absolute;inset:0;pointer-events:none;overflow:hidden}.footprint-pair{position:absolute;opacity:0;font-size:1.2rem;color:var(--ink-sepia);filter:blur(.5px)}.invitation{display:none}.invitation.revealed{display:block}.hero{padding:6rem 1.5rem 4rem;text-align:center}.hero-tagline{font-family:var(--font-heading);font-style:italic;font-size:clamp(1rem,3vw,1.3rem);color:var(--ink-sepia);letter-spacing:.1em;margin-bottom:1rem}.hero-names{font-family:var(--font-display);font-size:clamp(2.2rem,7vw,4rem);color:var(--ink-crimson);letter-spacing:.08em;margin-bottom:.5rem;line-height:1.2}.hero-ampersand{font-family:var(--font-body);font-style:italic;display:block;font-size:.5em;color:var(--gold-aged);margin:.3rem 0}.hero-date{font-family:var(--font-heading);font-size:clamp(1rem,3vw,1.4rem);color:var(--ink-brown);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.3rem}.hero-location{font-family:var(--font-body);font-style:italic;font-size:clamp(.95rem,2.5vw,1.15rem);color:var(--ink-sepia);letter-spacing:.05em}.hero-seal{margin-top:2.5rem}.hero-seal img{width:80px;height:auto;opacity:.6}.countdown{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.countdown-item{text-align:center}.countdown-number{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.5rem);color:var(--ink-crimson);display:block}.countdown-label{font-family:var(--font-body);font-size:.85rem;color:var(--ink-sepia);text-transform:uppercase;letter-spacing:.1em}.timeline{position:relative;max-width:600px;margin:2rem auto;text-align:left}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--ink-sepia),transparent)}.timeline-event{position:relative;padding-left:50px;margin-bottom:2.5rem}.timeline-event:before{content:"";position:absolute;left:14px;top:6px;width:14px;height:14px;border:2px solid var(--ink-crimson);border-radius:50%;background:var(--parchment-light)}.timeline-time{font-family:var(--font-heading);font-size:.9rem;color:var(--crimson);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem}.timeline-title{font-family:var(--font-heading);font-size:1.2rem;color:var(--ink-crimson);margin-bottom:.3rem}.timeline-desc{font-family:var(--font-body);font-style:italic;font-size:1rem;color:var(--ink-brown);max-width:none;text-align:left}.rsvp-form{max-width:500px;margin:2rem auto;text-align:left}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-family:var(--font-heading);font-size:.9rem;color:var(--ink-brown);letter-spacing:.05em;margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--ink-dark);background:#f2e8d080;border:1px solid var(--ink-sepia);border-radius:4px;outline:none;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ink-crimson)}.form-group textarea{resize:vertical;min-height:80px}.radio-group{display:flex;gap:1.5rem;margin-top:.3rem}.radio-group label{display:flex;align-items:center;gap:.4rem;font-family:var(--font-body);cursor:pointer}.radio-group input[type=radio]{width:auto;accent-color:var(--crimson)}.submit-btn{display:block;width:100%;padding:1rem;font-family:var(--font-heading);font-size:1.1rem;letter-spacing:.1em;color:var(--parchment-cream);background:var(--ink-crimson);border:none;border-radius:4px;cursor:pointer;transition:background .3s,transform .1s;text-transform:uppercase}.submit-btn:hover{background:var(--deep-red)}.submit-btn:active{transform:scale(.98)}.rsvp-deadline{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:var(--ink-sepia);text-align:center;margin-top:1rem}.rsvp-success{display:none;text-align:center;padding:2rem}.rsvp-success.show{display:block}.rsvp-success h3{font-family:var(--font-display);color:var(--ink-crimson);margin-bottom:.5rem}.footer{text-align:center;padding:4rem 1.5rem 3rem}.footer-text{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.6rem);color:var(--ink-sepia);letter-spacing:.08em}.footer-subtext{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:var(--ink-sepia);opacity:.6;margin-top:1rem}.footer-compass{margin-top:2rem}.footer-compass img{width:60px;opacity:.4}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.gate{display:none!important}.invitation{display:block!important}.section{opacity:1!important;transform:none!important}}@media(max-width:600px){.section{padding:3rem 1.25rem}.hero{padding:4rem 1.25rem 3rem}.countdown{gap:1.2rem}.timeline:before{left:15px}.timeline-event{padding-left:40px}.timeline-event:before{left:9px;width:12px;height:12px}}
