:root{--color-bg:#faf6f0;--color-bg-alt:#f2ece2;--color-ink:#34302a;--color-ink-soft:#6c6459;--color-gold:#a9814f;--color-gold-soft:#cdb083;--color-sage:#7c9070;--color-sage-deep:#5c6e50;--color-blush:#c98a7d;--color-blush-soft:#e4b3a8;--color-line:#ddd2bf;--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-body:"Poppins", "Segoe UI", sans-serif;--max-width:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:300}h1,h2,h3{font-family:var(--font-display);color:var(--color-ink);margin:0;font-weight:500}p{margin:0;line-height:1.7}a{color:inherit}button{font-family:inherit}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}.page{overflow-x:hidden}.section{max-width:var(--max-width);text-align:center;z-index:0;margin:0 auto;padding:6rem 1.5rem;position:relative}.floral{fill:none;height:100%;stroke:var(--color-gold);stroke-width:1.5px;opacity:.92;pointer-events:none;z-index:-1;position:absolute;top:0}.floral--right{transform:scaleX(-1)}.floral__stem{stroke:var(--color-sage-deep);stroke-width:1.6px;opacity:.7}.floral__leaf{fill:var(--color-sage);fill-opacity:.55;stroke:var(--color-sage-deep);stroke-width:1px}.floral__leaf-vein{stroke:var(--color-sage-deep);stroke-width:.7px;opacity:.7}.floral__blossom--blush ellipse{fill:var(--color-blush-soft);fill-opacity:.75;stroke:var(--color-blush);stroke-width:1px}.floral__blossom--gold ellipse{fill:var(--color-gold-soft);fill-opacity:.7;stroke:var(--color-gold);stroke-width:1px}.floral__blossom-center{fill:var(--color-gold);stroke:none}.hero__floral{width:clamp(110px,12vw,210px)}.hero__floral--left{left:clamp(0px,2.5vw,40px)}.hero__floral--right{right:clamp(0px,2.5vw,40px)}.hero__floral--tall{display:none}.section__floral{opacity:.8;width:clamp(75px,8vw,140px)}.section__floral--left{left:0}.section__floral--right{right:0}@media (width<=900px){.section__floral{display:none}.hero__floral{width:clamp(22px,8vw,90px)}.hero__floral--left{left:0}.hero__floral--right{right:0}.hero__floral--compact{display:none}.hero__floral--tall{display:block}}.section__eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.28em;color:var(--color-gold);margin-bottom:.75rem;font-size:.7rem}.section__title{margin-bottom:1.5rem;font-size:clamp(2rem,4vw,2.75rem)}.details__link{color:var(--color-gold);letter-spacing:.03em;border-bottom:1px solid var(--color-gold-soft);padding-bottom:2px;font-size:.9rem;text-decoration:none;transition:color .2s,border-color .2s;display:inline-block}.details__link:hover{color:var(--color-sage);border-color:var(--color-sage)}.hero{text-align:center;z-index:0;background:radial-gradient(circle at 50% 20%, var(--color-bg-alt), var(--color-bg) 70%);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:2rem 1.5rem;display:flex;position:relative}.hero__content{flex-direction:column;align-items:center;display:flex}.hero__eyebrow{text-transform:uppercase;letter-spacing:.35em;color:var(--color-ink-soft);margin-bottom:1.5rem;font-size:clamp(.9rem,1.6vw,1.15rem)}.hero__names{flex-direction:column;align-items:center;font-size:clamp(3rem,10vw,6rem);font-weight:500;line-height:1.05;display:flex}.hero__name{display:block}.hero__amp{color:var(--color-gold);margin:.15em 0;font-size:.4em;font-style:italic;line-height:1;display:block}.hero__rule{background:var(--color-gold-soft);width:60px;height:1px;margin:1.75rem 0}.hero__date{font-family:var(--font-display);letter-spacing:.08em;text-transform:capitalize;color:var(--color-ink-soft);margin-bottom:2.5rem;font-size:clamp(1.4rem,3vw,2.1rem)}.hero__date-sep{color:var(--color-gold-soft)}.hero__cta{color:var(--color-bg);background:var(--color-ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;padding:.9rem 2.25rem;font-size:.85rem;text-decoration:none;transition:background .2s;display:inline-block}.hero__cta:hover{background:var(--color-gold)}.hero__scroll{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hero__scroll span{background:linear-gradient(var(--color-ink-soft), transparent);width:1px;height:48px;animation:2s ease-in-out infinite scrollHint;display:block}@keyframes scrollHint{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}.details{background:var(--color-bg-alt)}.details__intro{max-width:520px;color:var(--color-ink-soft);margin:0 auto 3rem}.details__card{border:1px solid var(--color-line);background:var(--color-bg);max-width:560px;margin:0 auto;padding:3rem 2rem}.details__day{text-transform:capitalize;color:var(--color-ink-soft);font-size:1.1rem}.details__time{font-family:var(--font-display);color:var(--color-gold);margin-top:.25rem;font-size:2.25rem}.details__rule{background:var(--color-line);width:40px;height:1px;margin:1.5rem auto}.details__venue{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.6rem}.details__address{color:var(--color-ink-soft);margin-bottom:1.5rem;font-size:.9rem}.details__countdown{margin-top:4rem}.details__countdown-label{text-transform:uppercase;letter-spacing:.2em;color:var(--color-ink-soft);margin-bottom:1.25rem;font-size:.75rem}.countdown{justify-content:center;gap:clamp(1.25rem,5vw,3.5rem);display:flex}.countdown__unit{flex-direction:column;align-items:center;min-width:80px;display:flex}.countdown__value{font-family:var(--font-display);color:var(--color-ink);font-size:clamp(2.75rem,7vw,4.25rem)}.countdown__label{text-transform:uppercase;letter-spacing:.14em;color:var(--color-ink-soft);margin-top:.35rem;font-size:.8rem}.location__text{max-width:520px;color:var(--color-ink-soft);margin:0 auto 3rem}.location__map{border:1px solid var(--color-line);max-width:800px;margin:0 auto}.location__map iframe{filter:grayscale(15%)contrast(1.02);border:0;width:100%;height:380px;display:block}.location__actions{flex-direction:column;align-items:center;gap:.5rem;margin-top:1.75rem;display:flex}.location__address{color:var(--color-ink-soft);font-size:.85rem}.location__note{max-width:420px;color:var(--color-gold);font-size:.8rem;font-style:italic}.accommodation{background:var(--color-bg-alt)}.accommodation__intro{max-width:560px;color:var(--color-ink-soft);margin:0 auto 3rem}.accommodation__grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:800px;margin:0 auto;display:grid}.accommodation__card{background:var(--color-bg);border:1px solid var(--color-line);flex-direction:column;gap:1rem;padding:2.25rem 2rem;display:flex}.accommodation__card h3{font-size:1.3rem}.accommodation__card p{color:var(--color-ink-soft);font-size:.92rem}.rsvp__intro,.rsvp__thanks{max-width:480px;color:var(--color-ink-soft);margin:0 auto 2.5rem}.rsvp__form{text-align:left;flex-direction:column;gap:1.5rem;max-width:480px;margin:0 auto;display:flex}.rsvp__field{flex-direction:column;gap:.5rem;display:flex}.rsvp__field span,.rsvp__field--radio legend{letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.8rem}.rsvp__field input[type=text],.rsvp__field select,.rsvp__field textarea{border:none;border-bottom:1px solid var(--color-line);font-family:var(--font-body);color:var(--color-ink);resize:vertical;background:0 0;padding:.6rem .1rem;font-size:1rem}.rsvp__field input[type=text]:focus,.rsvp__field select:focus,.rsvp__field textarea:focus{border-color:var(--color-gold);outline:none}.rsvp__field--radio{border:none;flex-direction:column;gap:.75rem;margin:0;padding:0;display:flex}.rsvp__field--radio label{text-transform:none;letter-spacing:normal;color:var(--color-ink);align-items:center;gap:.6rem;font-size:.95rem;display:flex}.rsvp__form button[type=submit]{align-self:center;margin-top:.5rem}.rsvp__reset{margin-top:1rem}.footer{text-align:center;border-top:1px solid var(--color-line);padding:3rem 1.5rem 2.5rem}.footer__names{font-family:var(--font-display);letter-spacing:.05em;font-size:1.4rem}.footer__date{color:var(--color-ink-soft);margin-top:.35rem;font-size:.8rem}@media (width<=640px){.section{padding:4.5rem 1.25rem}.accommodation__grid{grid-template-columns:1fr}.countdown{gap:1.25rem}}
