@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Serif+4:wght@300;400;500;600&display=swap";:root{--bg: #4E4345;--base: #3a4a3e;--ink: #1a1a1a;--text: #E8DCD0;--leaf: #A5A781;--leaf-dark: #8a8d6a;--leaf-light: #b8bb9a;--rose: #1a1a1a;--rose-dark: #000000;--sand: #E8DCD0;--sand-light: #D5C9BD;--card: #FDF8F0;--edge: rgba(26, 26, 26, .2);--edge-medium: rgba(26, 26, 26, .3);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5);--transition-fast: .15s ease-out;--transition-base: .25s ease-out;--transition-slow: .35s ease-out}*{box-sizing:border-box}body{margin:0;background-color:var(--bg);color:var(--text);font-family:"Source Serif 4",serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:600;line-height:1.2;margin-top:0}h1{font-size:clamp(2.5rem,6vw,4rem)}h2{font-size:clamp(1.8rem,4vw,2.5rem)}h3{font-size:clamp(1.4rem,3vw,1.8rem)}a{color:var(--text);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--sand-light)}a:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:2px}#root{min-height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out forwards}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}.app-shell{min-height:100vh;display:flex;flex-direction:column;padding:0 var(--space-lg) var(--space-2xl)}main{flex:1;width:min(1100px,100%);margin:0 auto;padding:var(--space-xl) var(--space-xl) var(--space-3xl);margin-top:var(--space-2xl)}section{margin-bottom:var(--space-2xl)}.section-header{margin-bottom:var(--space-xl);text-align:center}.section-header .eyebrow{margin-bottom:var(--space-sm)}.section-header h1{margin-bottom:var(--space-md)}.section-header .lead{max-width:60ch;margin-left:auto;margin-right:auto}.skip-link{position:absolute;left:-999px;top:-999px;background:var(--rose);color:var(--card);padding:.5rem 1rem;border-radius:999px;font-weight:700}.skip-link:focus{left:1rem;top:1rem}.site-header{width:min(1100px,100%);margin:0 auto;padding:var(--space-xl) 0 var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center;background:var(--bg)}.header-info{display:flex;gap:var(--space-lg);font-size:.9rem;color:var(--text);align-items:center}.header-date,.header-location{font-weight:400}.brand{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,6vw,5rem);font-style:italic;font-weight:400;color:var(--text);margin:var(--space-md) 0}.brand-label{display:block}.site-nav{width:100%;display:flex;justify-content:center}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-lg);flex-wrap:wrap;justify-content:center}.site-nav a{text-transform:capitalize;font-size:1rem;font-weight:400;letter-spacing:.02em;color:var(--text);padding-bottom:var(--space-xs);border-bottom:2px solid transparent;transition:all var(--transition-fast);position:relative}.site-nav a:hover{color:var(--text);font-weight:600}.site-nav a.active{color:var(--text);border-color:var(--text);font-weight:600}.site-nav a:focus-visible{outline:2px solid var(--text);outline-offset:4px}.site-footer{width:min(1100px,100%);margin:0 auto;padding:var(--space-xl) 0 var(--space-md);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-md);color:var(--sand);font-size:.95rem;border-top:1px solid rgba(232,220,208,.2);margin-top:var(--space-3xl)}.site-footer a{color:var(--text);font-weight:500;text-decoration:underline}.hero{padding-top:var(--space-md)}.hero-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--edge);padding:clamp(2.5rem,5vw,4rem);color:var(--ink)}.hero-card.peacock{background:var(--card);border:1px solid var(--edge)}.hero-card.centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:400px}.hero-card.centered .hero-body{max-width:60ch;margin:0 auto var(--space-xl)}.hero-card.centered .hero-actions{justify-content:center;margin-top:0}.hero-card h1{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,8vw,5.5rem);font-weight:700;margin:0 0 var(--space-md);color:var(--ink);letter-spacing:-.01em;line-height:1.1;text-align:center}.hero-script{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,2.6rem);font-style:italic;font-weight:700;color:var(--ink);margin:var(--space-sm) 0;letter-spacing:.01em}.hero-note{font-size:.9rem;text-transform:uppercase;font-weight:500;letter-spacing:.15em;color:var(--ink);margin:var(--space-md) 0 var(--space-lg)}.hero-body{font-size:1.15rem;line-height:1.7;max-width:52ch;color:var(--ink);margin:var(--space-lg) 0}.hero-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-xl)}.button{background:var(--rose);color:var(--card);border:1px solid var(--rose);border-radius:var(--radius-full);padding:.75rem 1.8rem;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:700;font-family:"Source Serif 4",serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.button:hover{background:var(--rose-dark);border-color:var(--rose-dark);color:var(--card)}.button:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.button.ghost{background:transparent;border:1px solid var(--rose);color:var(--rose);font-weight:700}.button.ghost:hover{background:var(--rose);color:var(--card);border-color:var(--rose)}.chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:#e8dcd026;border:1px solid rgba(232,220,208,.3);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-transform:uppercase;letter-spacing:.08em;color:var(--text)}.chip:hover{background:var(--rose);color:var(--card);font-weight:700}.chip:focus-visible{outline:2px solid var(--rose);outline-offset:2px}.card .chip{color:var(--ink);background:#1a1a1a14;border:1px solid rgba(26,26,26,.2)}.card .eyebrow,.card .lead{color:var(--ink)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-top:var(--space-xl)}.hero-panel{background:#fdf8f0;border-radius:var(--radius-md);border:1px solid var(--edge);padding:var(--space-lg) var(--space-xl);color:var(--ink)}.hero-panel p{margin:var(--space-xs) 0 0;font-size:1.05rem;color:var(--ink)}.panel-label{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:600;color:var(--ink);display:block}.story{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl)}.story-card{background:var(--card);border-radius:var(--radius-md);border:1px solid var(--edge);padding:var(--space-xl);color:var(--ink)}.story-card h2{margin-bottom:var(--space-md);color:var(--ink)}.story-card ul{margin:var(--space-md) 0 0;padding-left:var(--space-xl);line-height:1.8}.story-card li{margin-bottom:var(--space-sm)}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;font-weight:600;color:var(--text);margin-bottom:var(--space-sm);display:block}.countdown{display:flex;gap:var(--space-lg);margin:var(--space-xl) 0;padding:var(--space-md) 0;flex-wrap:wrap;justify-content:center}.countdown-part{text-align:center;min-width:60px}.countdown-value{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:700;display:block;color:var(--ink);line-height:1}.countdown-part span:last-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text);font-weight:600;margin-top:var(--space-xs);display:block}.grid.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.card{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,2.75rem);color:var(--ink)}.card h1,.card h2{color:var(--ink);margin-bottom:var(--space-md)}.card h1{font-size:clamp(1.8rem,4vw,2.5rem)}.address-block{margin-top:var(--space-lg)}.address-block strong{display:block;font-size:1.1rem;color:var(--ink);margin-bottom:var(--space-xs)}.address-block p{margin:var(--space-xs) 0 var(--space-md);color:var(--ink)}.family-block{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--edge)}.family-block ul{list-style:none;padding:0;margin:var(--space-md) 0 0;display:flex;flex-direction:column;gap:var(--space-md)}.family-block li{padding-bottom:var(--space-sm)}.family-block strong{display:block;color:var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-xs)}.family-block p{margin:0;font-size:1.05rem;color:var(--ink)}.lead{font-size:1.25rem;line-height:1.5;color:var(--text);font-weight:400}.timeline{list-style:none;padding:0;margin:var(--space-lg) 0;display:flex;flex-direction:column;gap:var(--space-lg)}.timeline li{display:flex;gap:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--edge)}.timeline li:last-child{border-bottom:none;padding-bottom:0}.timeline span{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500;min-width:80px;color:var(--ink);flex-shrink:0}.timeline div{flex:1}.timeline strong{display:block;font-size:1.05rem;color:var(--ink);margin-bottom:var(--space-xs)}.timeline p{margin:0;color:var(--ink);line-height:1.6}.timeline-content{margin:var(--space-lg) 0}.timeline-content p{margin:0 0 var(--space-md);color:var(--ink);line-height:1.7}.timeline-content p:last-child{margin-bottom:0}.timeline-content strong{color:var(--ink)}.note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.note-grid>div{padding:var(--space-md) 0}.note-grid p{margin:var(--space-sm) 0 0;line-height:1.6}.map-grid{margin-top:var(--space-xl)}.map-card iframe,.map-canvas{width:100%;border:1px solid rgba(232,220,208,.2);min-height:400px;border-radius:var(--radius-md);background:#5a5456}.map-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap}.parking-card ul{list-style:none;margin:var(--space-lg) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-lg)}.parking-card li{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--edge)}.parking-card li:last-child{border-bottom:none;padding-bottom:0}.parking-card li>div:first-child{flex:1}.parking-card strong{display:block;font-size:1.05rem;color:var(--ink);margin-bottom:var(--space-xs)}.parking-card p{margin:0;color:var(--ink);line-height:1.6}.parking-card p.venue-address{margin:var(--space-md) 0}.parking-meta{display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-end;text-align:right}.venue-address{font-size:1rem;color:var(--ink);margin:var(--space-md) 0;line-height:1.6}.parking-card p.parking-info,.parking-info{font-size:1rem;color:var(--ink);margin:var(--space-xl) 0 var(--space-xl);line-height:1.6;white-space:pre-line}.parking-card p.parking-info:first-of-type,.parking-info:first-of-type{margin-top:var(--space-xl)}.parking-card p.parking-info:last-of-type,.parking-info:last-of-type{margin-bottom:0}.directions-title{font-size:1.3rem;font-weight:600;color:var(--ink);margin:var(--space-xl) 0 var(--space-md)}.directions-subtitle{font-size:.95rem;color:var(--ink);margin:0 0 var(--space-sm);font-weight:500}.directions-list{margin:0;padding-left:var(--space-lg);color:var(--ink)}.directions-list li{margin-bottom:.4rem;line-height:1.2;padding:.2rem 0}.directions-list li:last-child{margin-bottom:0}.parking-meta span{font-size:.85rem;color:var(--ink);white-space:nowrap}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.faq-grid details{border-radius:var(--radius-md);background:var(--card);border:1px solid var(--edge);padding:var(--space-lg) var(--space-xl);color:var(--ink)}.faq-grid summary{cursor:pointer;font-weight:600;font-size:1.05rem;color:var(--ink);-webkit-user-select:none;user-select:none}.faq-grid summary:focus-visible{outline:2px solid var(--leaf);outline-offset:4px;border-radius:var(--radius-sm)}.faq-grid details p{margin:var(--space-md) 0 0;line-height:1.7;color:var(--ink)}.faq-item h3{font-weight:700;font-size:1.15rem;color:var(--ink);margin:0 0 var(--space-md);line-height:1.4}.faq-item p{margin:0 0 var(--space-md);line-height:1.7;color:var(--ink);word-wrap:break-word;overflow-wrap:break-word}.faq-item p:last-child{margin-bottom:0}.faq-item a{color:var(--ink);text-decoration:underline;transition:color var(--transition-fast);font-weight:600}.faq-item a:hover{color:var(--leaf-dark)}.faq-item a:focus-visible{outline:2px solid var(--leaf);outline-offset:2px;border-radius:2px}.invitation-card{position:relative;padding:clamp(1.5rem,4vw,2.5rem);border-radius:var(--radius-lg);border:1px solid var(--edge);box-shadow:0 25px 80px #00000073,0 10px 25px #00000059,0 0 0 1px #00000040;cursor:pointer;overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.invitation-card:focus-visible{outline:3px solid var(--rose);outline-offset:6px}@media(hover:hover){.invitation-card:hover{transform:perspective(1200px) rotateX(0);box-shadow:0 35px 90px #0000008c,0 20px 35px #00000073,0 0 0 1px #0000004d}}.invitation-card__media{border-radius:var(--radius-md);overflow:hidden}.invitation-card__image{width:100%;display:block;height:auto;border-radius:inherit;transform:translateZ(0);backface-visibility:hidden}.invitation-card__overlay{position:absolute;inset:auto var(--space-lg) var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);background:linear-gradient(120deg,#857366eb,#2e2728f2);color:var(--card);box-shadow:0 12px 30px #00000080;pointer-events:none}.invitation-card__sparkle{font-size:1.3rem}.invitation-card__eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.65rem;margin:0;opacity:.85}.invitation-card__cta-text{margin:.15rem 0 0;font-size:.95rem;font-weight:600}@media(min-width:721px){.invitation-card__overlay{display:none}}.invitation-modal{position:fixed;inset:0;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);z-index:9999;cursor:zoom-out;animation:fadeIn var(--transition-base) ease-out}.invitation-modal__picture{max-width:min(1200px,100%);max-height:88vh}.invitation-modal__image{width:100%;height:auto;max-height:88vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 20px 50px #0000008c;cursor:inherit}.invitation-modal__close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:48px;height:48px;border:none;border-radius:50%;background:#fdf8f0f2;color:var(--rose);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px #00000059}.invitation-modal__hint{margin-top:var(--space-md);color:#ffffffd9;font-size:.9rem;text-align:center}@media(max-width:720px){.site-header{padding:var(--space-md) 0}.site-footer{flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.header-info{flex-direction:column;gap:var(--space-xs);padding-top:var(--space-sm)}.brand{font-size:clamp(2.5rem,8vw,3.5rem)}.site-nav{width:100%;max-width:min(520px,100%);margin:0 auto;padding:var(--space-sm);border-radius:var(--radius-xl);background:linear-gradient(135deg,#342b2cf2,#241e1fe6);border:1px solid rgba(232,220,208,.25);box-shadow:0 22px 45px #00000073;position:relative;overflow:hidden;z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-nav ul{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-sm);row-gap:var(--space-xs);align-items:center}.site-nav li{width:100%}.site-nav a{font-size:.95rem;width:100%;display:inline-flex;justify-content:center;border-radius:var(--radius-full);border:none;padding:var(--space-sm) var(--space-md);background:transparent;box-shadow:none;color:var(--text);font-weight:500;letter-spacing:.04em;transition:color var(--transition-fast)}.site-nav a.active{color:var(--text);background:#4e4345e6;border-radius:var(--radius-full);box-shadow:0 1.25px 0 var(--text);transform:translateY(-1px)}.site-nav a:hover,.site-nav a:active{color:var(--text);text-decoration:underline}main{padding:var(--space-lg);border-radius:var(--radius-lg)}.hero-card h1{font-size:clamp(2.5rem,10vw,4rem)}.button,.hero-actions .button{width:100%;justify-content:center}.parking-card li{flex-direction:column;align-items:flex-start}.parking-meta{flex-direction:row;width:100%;justify-content:flex-start}.timeline span{min-width:70px;font-size:1.1rem}.timeline li{gap:var(--space-md)}.map-card iframe,.map-canvas{min-height:300px}.countdown{gap:var(--space-md)}}@media print{.site-header nav,.button,.hero-actions,.map-actions{display:none}body{background:#fff}main{box-shadow:none;border:1px solid #ddd}}
