:root{color-scheme:light;--sand: #f4eed5;--accent: #a43e44;--text: #5b2f30;--muted: #7b5752;--border: #c9b99a;--serif: "Libre Baskerville", "Times New Roman", serif;--serif-display: "Cinzel", "Garamond", serif;--sans: "Work Sans", "Helvetica Neue", Arial, sans-serif;background-color:var(--sand);color:var(--text);font-family:var(--serif);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--sand)}#root{min-height:100vh}a{color:inherit}.page{display:flex;flex-direction:column;min-height:100vh}.max-width{width:min(1080px,92vw);margin:0 auto}header{position:sticky;top:0;z-index:10;background:#f4eed5eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(201,185,154,.6)}.nav-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{font-family:var(--serif-display);font-size:1.3rem;letter-spacing:.04em}.nav-links{display:flex;gap:22px;font-family:var(--sans);font-size:.95rem}.nav-link{position:relative;padding-bottom:6px;cursor:pointer;text-decoration:none;color:var(--text);transition:color .2s ease}.nav-link:hover{color:var(--accent)}.nav-link.active:after,.nav-link:hover:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent)}main{flex:1}section{padding:80px 0}.section-heading{font-family:var(--serif-display);font-size:clamp(1.6rem,3vw,2rem);text-align:center;margin-bottom:18px;letter-spacing:.03em}.section-subtitle{text-align:center;font-family:var(--sans);color:var(--muted);margin-bottom:26px}.hero{text-align:center;padding:120px 0 90px}.hero .names{font-family:var(--serif-display);font-size:clamp(2.2rem,5vw,2.9rem);color:var(--accent);letter-spacing:.04em}.ampersand{display:inline-block;margin:14px 0;font-size:1.1rem;color:var(--muted)}.date{margin-top:26px;font-family:var(--serif);font-size:1.4rem;color:var(--text)}.location{margin-top:8px;color:var(--muted);font-family:var(--sans);font-size:.95rem}.divider{width:70px;height:1px;background:var(--border);margin:22px auto}.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;margin-top:22px}.countdown-card{padding:18px 14px;border:1px solid var(--border);border-radius:16px;background:#ffffff80;text-align:center}.countdown-value{display:block;font-family:var(--serif-display);font-size:1.8rem;color:var(--accent)}.countdown-label{font-family:var(--sans);color:var(--muted);font-size:.95rem;letter-spacing:.03em}.schedule-list{display:grid;gap:14px}.schedule-item{border:1px solid var(--border);border-radius:14px;padding:16px 18px;background:#ffffff8c}.schedule-time{font-family:var(--serif-display);color:var(--accent);font-size:1.05rem}.schedule-title{margin:6px 0 4px;font-family:var(--serif);font-size:1.05rem}.schedule-detail{font-family:var(--sans);color:var(--muted);font-size:.95rem}.gallery-wrapper{display:grid;gap:14px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.gallery-item{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:#eee}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:#ffffff8c}.faq-question{font-family:var(--serif);margin:0 0 6px}.faq-answer{margin:0;font-family:var(--sans);color:var(--muted);line-height:1.45}.rsvp-box{text-align:center;border:1px solid var(--border);border-radius:16px;padding:26px 20px;background:#ffffff8c}.rsvp-card{border:1px solid var(--border);border-radius:16px;padding:20px;background:#ffffffb8;display:grid;gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-family:var(--sans)}.field label{font-weight:600;color:var(--text);letter-spacing:.01em}.input,.select,.textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-family:var(--sans);font-size:1rem;background:#fffaf0}.textarea{min-height:90px;resize:vertical}.search-results{display:grid;gap:10px}.result-button{width:100%;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fffdf7;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.result-button:hover{border-color:var(--accent);transform:translateY(-1px)}.result-button .subtitle{display:block;color:var(--muted);font-size:.92rem;margin-top:4px}.guest-list{display:grid;gap:12px}.guest-card{border:1px solid var(--border);border-radius:12px;padding:12px 12px 14px;background:#fffdf7;display:grid;gap:10px}.guest-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.pill{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff9;font-family:var(--sans);font-size:.92rem;color:var(--muted)}.inline-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.radio{display:flex;align-items:center;gap:6px;font-family:var(--sans);cursor:pointer}.error-text{color:var(--accent);font-family:var(--sans);font-size:.94rem}.status{font-family:var(--sans);font-size:.96rem}.cta-button{display:inline-block;margin-top:14px;padding:12px 26px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--sans);letter-spacing:.02em;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.cta-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #a43e4433}footer{padding:28px 0 40px;text-align:center;font-family:var(--sans);color:var(--muted);font-size:.92rem}@media (max-width: 768px){header{top:0}.nav-bar{gap:12px;flex-direction:column;align-items:flex-start}.nav-links{width:100%;flex-wrap:wrap;gap:12px}.hero{padding:100px 0 70px}.gallery-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.gallery-item{flex:0 0 70vw;scroll-snap-align:start}}
