:root{--color-cream: #f9f6f2;--color-blush: #d9b8b0;--color-rose: #c08f8a;--color-text: #3d3734;--color-muted: #7a6f6b;--font-script: "Great Vibes", cursive;--font-display: "Playfair Display", serif;--font-body: "Work Sans", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-body);color:var(--color-text);background-color:var(--color-cream);background-image:radial-gradient(circle at 20% 20%,#ffffffd9,#f9f6f299 45%,#eae0da80),linear-gradient(180deg,#fffffff2,#f9f6f2bf);line-height:1.7;scroll-behavior:smooth}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}main{padding:0 clamp(1.5rem,5vw,3rem) clamp(5rem,8vw,6.5rem)}main.has-hero .content-wrapper{margin-top:clamp(2.5rem,6vw,4.5rem)}main.no-hero .content-wrapper{margin-top:clamp(3rem,6vw,4rem)}.content-wrapper{max-width:960px;margin:0 auto;display:grid;gap:clamp(2.5rem,5vw,3.75rem)}article,.prose{font-size:1.05rem}.content-wrapper>article.prose{background:#fff;border-radius:28px;padding:clamp(2.2rem,4.5vw,3.5rem);box-shadow:0 35px 65px #1a171614}.content-wrapper>article.prose>*:first-child{margin-top:0}article h1,article h2,article h3,.prose h1,.prose h2,.prose h3{font-family:var(--font-display);color:var(--color-rose);margin:3rem 0 1.2rem;line-height:1.3}article p,.prose p{margin:1rem 0}.prose .countdown{display:flex;justify-content:center;width:100%}article ul,article ol{padding-left:1.2rem;margin:1.5rem 0}article li+li{margin-top:.4rem}article blockquote{margin:2rem 0;padding:1.5rem;border-left:3px solid var(--color-blush);background:#fffc;font-style:italic}.signature{font-family:var(--font-script);font-size:2.2rem;color:var(--color-rose);margin-top:2.5rem;text-align:center}article table{width:100%;border-collapse:collapse;margin:2rem 0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 20px #0000000d}article th,article td{padding:1rem;border-bottom:1px solid rgba(208,178,170,.3);text-align:left}article tr:last-child td{border-bottom:none}.button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.8rem 1.8rem;font-size:.95rem;font-weight:600;letter-spacing:.02em;transition:transform .2s ease,box-shadow .2s ease;background:var(--color-rose);color:#fff}.button-secondary{background:transparent;border:1px solid var(--color-rose);color:var(--color-rose)}.button:hover,.button-secondary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #c08f8a33}.countdown-box{margin:2.5rem auto;padding:2rem 2.5rem;border-radius:16px;background:#fff;display:flex;gap:2.5rem;box-shadow:0 16px 32px #0000001f;font-family:var(--font-display);justify-content:center;align-items:center;max-width:fit-content;border:2px solid rgba(208,178,170,.2)}.countdown-unit{text-align:center;min-width:90px;padding:.5rem}.countdown-value{display:block;font-size:3rem;font-weight:600;color:var(--color-rose);line-height:1}.countdown-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);margin-top:.5rem;font-weight:500}footer{background:#fff;padding:3rem 1.5rem;text-align:center;border-top:1px solid rgba(208,178,170,.3)}footer p{margin:.5rem 0;color:var(--color-muted)}.site-header{position:sticky;top:0;z-index:20;background:#f9f6f2f2;backdrop-filter:blur(6px);border-bottom:1px solid rgba(208,178,170,.25);box-shadow:0 18px 35px #221d1b14}.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem}.brand{font-family:var(--font-script);font-size:2rem;color:var(--color-rose)}.nav-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;font-weight:500;font-size:.95rem;align-items:center}.nav-links a{transition:color .2s ease}.nav-links a:hover{color:var(--color-rose);text-decoration:none}.nav-rsvp-button{background:var(--color-rose);color:#fff!important;padding:.6rem 1.5rem;border-radius:999px;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px #c08f8a4d}.nav-rsvp-button:hover{background:#b07f7a;transform:translateY(-2px);box-shadow:0 6px 16px #c08f8a66;text-decoration:none!important}.nav-toggle{display:none;font-size:1.8rem;background:none;border:none;cursor:pointer;color:var(--color-rose)}.hero{min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;position:relative;padding:clamp(4rem,12vw,7.5rem) clamp(1.25rem,5vw,3rem) clamp(5rem,10vw,8rem)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0909a6,#0a090973 45%,#110f0fa6)}.hero-inner{position:relative;z-index:1;padding:0;display:grid;gap:1.2rem;justify-items:center;max-width:960px}.hero-heading{font-family:var(--font-script);font-size:clamp(3.8rem,8vw,5.4rem);margin:0}.hero-date{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffffe6}.hero-text{max-width:620px;font-size:1.1rem;line-height:1.7}.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}:is(h2,h3,h4,h5,h6)[id]{scroll-margin-top:140px}@media (max-width: 720px){main{padding:0 1.1rem 4.75rem}.nav-links{position:fixed;inset:0;flex-direction:column;background:#f9f6f2fa;padding-top:5rem;transform:translateY(-100%);transition:transform .25s ease;text-align:center;overflow-y:auto;max-height:100vh;z-index:50}.nav-links li{width:100%;padding:0 2rem;border-bottom:1px solid rgba(208,178,170,.2)}.nav-links li:last-child{border-bottom:none}.nav-links a{display:block;padding:1.2rem 0;font-size:1.1rem}.nav-rsvp-button{display:inline-block;margin:1.5rem 0 2rem;padding:1rem 2rem;font-size:1.1rem}.nav-links.open{transform:translateY(0)}.nav-toggle{display:block;z-index:100}.hero{min-height:60vh;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem)}.hero-heading{font-size:clamp(2.8rem,10vw,4rem)}.hero-date{font-size:.9rem}.hero-text{font-size:1rem}.countdown-box{flex-wrap:wrap;gap:1rem;padding:1.5rem 1rem;justify-content:center}.countdown-unit{min-width:calc(50% - .5rem);padding:.75rem .5rem}.countdown-value{font-size:2rem}.countdown-label{font-size:.75rem}.content-wrapper>article.prose{padding:clamp(1.5rem,4vw,2rem);border-radius:20px}article h2,.prose h2{font-size:1.8rem}article h3,.prose h3{font-size:1.4rem}article table{font-size:.85rem}article th,article td{padding:.6rem .4rem}.button,.button-secondary{padding:.8rem 1.5rem;font-size:.9rem;width:100%;max-width:300px}.hero-ctas{flex-direction:column;width:100%;align-items:center}.hero-ctas a{width:100%;max-width:280px}}@media (max-width: 375px){.hero-heading{font-size:2.5rem}.countdown-unit{min-width:100%}.page-title{font-size:2.5rem!important}}
