:root{--terracotta:#c06e52;--terracotta-dark:#a6543a;--sage:#8a9a7b;--sage-dark:#6e7d61;--cream:#f6efe6;--cream-dark:#ece0d1;--ink:#4a4038;--muted:#7a6f64;--font-serif:"Cormorant Garamond", Georgia, serif;--font-script:"Dancing Script", cursive;--font-body:"Montserrat", system-ui, sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);margin:0;font-weight:300;line-height:1.7}h1,h2,h3{font-family:var(--font-serif);letter-spacing:.02em;margin:0;font-weight:500}.script{font-family:var(--font-script);color:var(--terracotta)}.lang-toggle{z-index:10;min-width:44px;font-family:var(--font-body);letter-spacing:.15em;color:var(--ink);border:1px solid var(--terracotta);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f6efe6d9;border-radius:999px;padding:.45rem .75rem;font-size:.75rem;font-weight:500;transition:background .2s,color .2s;position:fixed;top:1rem;right:1rem}.lang-toggle:hover{background:var(--terracotta);color:var(--cream)}.section{text-align:center;max-width:780px;margin:0 auto;padding:5rem 1.5rem}.section-eyebrow{font-family:var(--font-script);color:var(--terracotta);margin-bottom:.25rem;font-size:1.6rem}.section-title{color:var(--sage-dark);margin-bottom:1.5rem;font-size:2.2rem}.divider{background:var(--terracotta);width:60px;height:1px;margin:1.5rem auto;position:relative}.divider:before{content:"❧";background:var(--cream);color:var(--terracotta);padding:0 .5rem;font-size:1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero{text-align:center;background:linear-gradient(180deg, var(--cream) 0%, var(--cream-dark) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.35em;color:var(--muted);margin-bottom:1.5rem;font-size:.8rem}.hero-names{font-family:var(--font-serif);color:var(--ink);font-size:clamp(2.4rem,7vw,4.5rem);font-weight:500;line-height:1.1}.hero-amp{font-family:var(--font-script);color:var(--terracotta);margin:.5rem 0;font-size:clamp(2rem,6vw,3.5rem);display:block}.hero-date{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--sage-dark);margin-top:2rem;font-size:.95rem}.hero-place{font-family:var(--font-script);color:var(--terracotta);margin-top:.5rem;font-size:1.6rem}.hero-rsvp{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.25em;color:var(--cream);background:var(--terracotta);border:1px solid var(--terracotta);border-radius:999px;margin-top:2.5rem;padding:.8rem 2.6rem;font-size:.8rem;text-decoration:none;transition:background .2s,color .2s,transform .15s;display:inline-block}.hero-rsvp:hover{color:var(--terracotta-dark);background:0 0;transform:translateY(-2px)}.countdown{margin-top:2.5rem}.countdown-eyebrow{font-family:var(--font-script);color:var(--terracotta);margin:0 0 1rem;font-size:1.5rem}.countdown-cards{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.countdown-card{background:var(--cream);border:1px solid var(--cream-dark);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:84px;padding:1rem .75rem;display:flex;box-shadow:0 6px 18px #4a403814}.countdown-number{font-family:var(--font-script);color:var(--terracotta);font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:600;line-height:1}.countdown-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--sage-dark);margin-top:.4rem;font-size:.65rem}@media (width<=400px){.countdown-card{min-width:68px;padding:.75rem .5rem}}.story{background:var(--cream)}.story p{color:var(--muted);max-width:640px;margin:0 auto;font-size:1.1rem}.details{background:var(--sage);color:var(--cream);max-width:none;padding:5rem 1.5rem}.details .section-title,.details .section-eyebrow{color:var(--cream)}.details-inner{max-width:780px;margin:0 auto}.details .divider{background:var(--cream)}.details .divider:before{background:var(--sage);color:var(--cream)}.details-line{margin:.35rem 0;font-size:1.15rem}.details-venue{font-family:var(--font-serif);margin-top:1rem;font-size:1.8rem}.map-wrap{border:6px solid var(--cream);border-radius:8px;margin-top:2rem;overflow:hidden;box-shadow:0 12px 30px #0000002e}.map-wrap iframe{border:0;width:100%;height:360px;display:block}.map-link{color:var(--cream);border-bottom:1px solid var(--cream);letter-spacing:.15em;text-transform:uppercase;margin-top:1.25rem;padding-bottom:2px;font-size:.8rem;text-decoration:none;display:inline-block}.map-link:hover{opacity:.85}.schedule-wrap{margin-top:3.5rem}.schedule-title{color:var(--cream);margin-bottom:2.5rem;font-size:1.6rem}.schedule{max-width:620px;margin:0 auto;padding:0;list-style:none;position:relative}.schedule:before{content:"";background:#f6efe666;width:1px;position:absolute;top:8px;bottom:8px;left:50%;transform:translate(-50%)}.schedule-item{align-items:center;gap:.9rem;width:50%;min-height:68px;padding-bottom:2.2rem;display:flex;position:relative}.schedule-item:last-child{padding-bottom:0}.schedule-item.left{text-align:right;flex-direction:row-reverse;justify-content:flex-start;margin-right:50%;padding-right:1.6rem}.schedule-item.right{text-align:left;flex-direction:row;justify-content:flex-start;margin-left:50%;padding-left:1.6rem}.schedule-dot{background:var(--cream);border:2px solid var(--sage);width:11px;height:11px;box-shadow:0 0 0 3px var(--sage);border-radius:50%;position:absolute;top:22px}.schedule-item.left .schedule-dot{right:-6px}.schedule-item.right .schedule-dot{left:-6px}.schedule-icon{width:46px;height:46px;color:var(--cream);background:#f6efe61f;border:1px solid #f6efe666;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.schedule-icon svg{width:26px;height:26px}.schedule-content{flex-direction:column;display:flex}.schedule-time{font-family:var(--font-script);color:var(--cream);font-size:1.35rem;line-height:1.1}.schedule-event{font-family:var(--font-serif);color:#f6efe6eb;margin-top:.1rem;font-size:1.2rem}@media (width<=560px){.schedule:before{left:5px}.schedule-item,.schedule-item.left,.schedule-item.right{text-align:left;flex-direction:row;justify-content:flex-start;gap:.9rem;width:100%;margin:0;padding:0 0 2rem 2rem}.schedule-item.left .schedule-dot,.schedule-item.right .schedule-dot{left:0;right:auto}}.rsvp{background:var(--cream)}.rsvp-intro{color:var(--muted);margin-bottom:2rem}.rsvp-form{text-align:left;flex-direction:column;gap:1.25rem;max-width:460px;margin:0 auto;display:flex}.rsvp-field{border:none;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.rsvp-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--sage-dark);font-size:.72rem}.rsvp-form input[type=text],.rsvp-form input[type=number],.rsvp-form textarea{width:100%;font-family:var(--font-body);color:var(--ink);border:1px solid var(--cream-dark);background:#fff;border-radius:8px;padding:.7rem .85rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--terracotta);outline:none;box-shadow:0 0 0 3px #c06e5226}.rsvp-form textarea{resize:vertical}.rsvp-attending{gap:.6rem}.rsvp-radio{font-family:var(--font-serif);color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;font-size:1.05rem;display:flex}.rsvp-radio input{accent-color:var(--terracotta);width:1.1rem;height:1.1rem}.rsvp-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.rsvp-error{color:var(--terracotta-dark);margin:0;font-size:.9rem}.rsvp-submit{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--cream);background:var(--terracotta);cursor:pointer;border:none;border-radius:999px;align-self:center;margin-top:.5rem;padding:.8rem 2.4rem;font-size:.8rem;transition:background .2s,transform .1s}.rsvp-submit:hover:not(:disabled){background:var(--terracotta-dark)}.rsvp-submit:disabled{opacity:.6;cursor:default}.rsvp-success{padding:2rem 1rem}.rsvp-success-text{font-size:2rem;line-height:1.3}.footer{text-align:center;background:var(--cream-dark);padding:3rem 1.5rem}.footer .script{font-size:2rem}.footer small{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-top:.5rem;font-size:.75rem;display:block}
