:root{--color-background:#fff;--color-background-alt:#f7f5f1;--color-text:#292929;--color-text-light:#666;--color-accent:#6f6255;--color-accent-dark:#51483f;--color-border:#dedbd6;--font-heading:Georgia, "Times New Roman", serif;--font-body:Arial, Helvetica, sans-serif;--max-width:1100px;--narrow-width:700px;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:7rem;--radius:4px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);margin:0;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto}.container.narrow{max-width:var(--narrow-width)}.section{padding:var(--spacing-xl) 0}.section-alt{background:var(--color-background-alt)}h1,h2,h3{font-family:var(--font-heading);color:var(--color-text);font-weight:400;line-height:1.2}h1{margin:0;font-size:clamp(3rem,8vw,6rem)}h2{margin-top:0;font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:1.5rem}p{color:var(--color-text)}.eyebrow{margin-bottom:var(--spacing-sm);color:var(--color-accent);letter-spacing:.15em;font-size:.8rem;font-weight:700}.hero{background-color:#0000;background-image:linear-gradient(#ffffffd1,#ffffffd1),url(/wedding-background.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;min-height:100vh;display:flex}.navbar{width:min(calc(100% - 2rem), var(--max-width));padding:var(--spacing-md) 0;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{font-family:var(--font-heading);font-size:1.5rem}.nav-links{gap:var(--spacing-md);display:flex}.nav-links a{font-size:.9rem;text-decoration:none}.nav-links a:hover{color:var(--color-accent)}.hero-content{text-align:center;padding:var(--spacing-lg) 1rem;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.hero-date{margin:var(--spacing-md) 0 0;font-family:var(--font-heading);font-size:1.5rem}.hero-location{margin-top:.25rem}.button{margin-top:var(--spacing-md);border-radius:var(--radius);background:var(--color-accent);color:#fff;cursor:pointer;border:none;padding:.8rem 1.5rem;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.button:hover{background:var(--color-accent-dark);transform:translateY(-1px)}.timeline{max-width:800px;margin:var(--spacing-lg) auto 0}.timeline-item{gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border);grid-template-columns:100px 1fr;display:grid}.timeline-item time{font-family:var(--font-heading);font-size:1.2rem}.timeline-item h3{margin:0}.timeline-item p{margin-bottom:0}.info-grid{gap:var(--spacing-md);margin-top:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}.info-card{padding:var(--spacing-md);border:1px solid var(--color-border);background:var(--color-background)}.info-card h3{margin-top:0}.rsvp-form{margin-top:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.rsvp-form label{gap:var(--spacing-xs);flex-direction:column;font-weight:700;display:flex}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);background:#fff;padding:.8rem}.rsvp-form textarea{resize:vertical}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.footer{padding:var(--spacing-lg) 1rem;text-align:center;border-top:1px solid var(--color-border)}.footer p{margin:0}@media (width<=700px){.navbar{gap:var(--spacing-sm);flex-direction:column}.nav-links{flex-wrap:wrap;justify-content:center;gap:.75rem 1rem}.section{padding:var(--spacing-lg) 0}.timeline-item{gap:var(--spacing-sm);grid-template-columns:70px 1fr}.info-grid{grid-template-columns:1fr}}
