@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@400;600;700&display=swap";:root{--color-primary: #f8f4ee;--color-primary-rgb: 248, 244, 238;--color-hero-text: #f8f4ee;--color-hero-text-rgb: 248, 244, 238;--color-bg: #f5efe6;--color-card: #f9f6f1;--color-muted: #cfc6bb;--color-body: #e9e0d4;--color-border-rgb: 212, 198, 178;--button-color: #2d251f;--accent-soft: #c9b8a4;--accent-soft-rgb: 201, 184, 164;--surface-glass: rgba(255, 255, 255, .045);--surface-glass-border: rgba(255, 255, 255, .1);--shadow-soft: 0 4px 32px rgba(0, 0, 0, .22);--shadow-elevated: 0 12px 40px rgba(0, 0, 0, .28);--ease-out: cubic-bezier(.22, 1, .36, 1);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:var(--color-primary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg)}a{color:inherit}#root{min-height:100vh}img{max-width:100%;height:auto;display:block}:root{--nav-height: 80px}@keyframes hero-enter{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.page{min-height:100vh;color:var(--color-body);position:relative;overflow-x:clip}.hero{position:relative;height:100vh;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;color:var(--color-hero-text);padding:0 1.5rem;z-index:1}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000006b,#0000002e 45%,#00000047);pointer-events:none}.hero-content{position:absolute;top:calc(var(--nav-height) + 8vh);bottom:8vh;left:50%;transform:translate(-50%);max-width:min(720px,90%);width:min(960px,100%);margin:0;padding:clamp(1.75rem,4vw,2.5rem) clamp(1.5rem,4vw,2.25rem);display:grid;grid-auto-rows:auto;justify-items:center;align-content:center;gap:1.5rem;z-index:1;border:1px solid rgba(var(--color-hero-text-rgb),.35);border-radius:2px;background:#0000002e;box-shadow:0 24px 64px #00000059,inset 0 1px #ffffff14;animation:hero-enter 1s var(--ease-out) both}.hero-header{display:grid;gap:1.1rem;justify-items:center}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;font-weight:600;color:var(--accent-soft)}h1{font-family:Playfair Display,Times New Roman,serif;font-size:clamp(2.8rem,5vw,4.4rem);margin:0;letter-spacing:.08em;font-weight:600;line-height:1.15;text-shadow:0 2px 28px rgba(0,0,0,.45)}.subhead{margin:0;font-size:clamp(1rem,2.5vw,1.15rem);letter-spacing:.28em;text-transform:uppercase;font-weight:500;opacity:.92;text-shadow:0 1px 16px rgba(0,0,0,.35)}.hero-divider{width:min(200px,55%);height:1px;margin:.35rem auto 0;border:0;background:linear-gradient(90deg,transparent,rgba(var(--color-hero-text-rgb),.15) 20%,rgba(var(--color-hero-text-rgb),.75) 50%,rgba(var(--color-hero-text-rgb),.15) 80%,transparent)}.hero-note{margin:0;font-size:1.05rem;line-height:1.7;max-width:640px}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;width:100%;padding-top:.5rem}.top-nav{position:absolute;top:0;left:0;right:0;padding:1.25rem 1.75rem;display:flex;align-items:center;justify-content:space-between;z-index:2;color:var(--color-hero-text)}.top-nav:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0006,#00000038);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 8px 32px #0000001f;z-index:-1}.nav-brand{font-family:Playfair Display,Times New Roman,serif;font-size:1.2rem;letter-spacing:.08em;text-decoration:none;color:var(--color-hero-text);transition:opacity .2s var(--ease-out)}.nav-brand:hover{opacity:.88}.nav-links{display:flex;gap:1.25rem}.nav-links a{color:inherit;font-weight:600;text-decoration:none;letter-spacing:.04em;position:relative;padding:.2rem 0;transition:color .2s var(--ease-out)}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s var(--ease-out)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1);transform-origin:left}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.event-card{display:grid;gap:.9rem}.event-card h3{margin:0;font-family:Playfair Display,Times New Roman,serif;letter-spacing:.08em;font-size:1.05rem;color:var(--color-primary)}.event-body{margin:0;line-height:1.65;color:var(--color-muted)}.event-meta{display:grid;gap:.35rem}.inline-link{text-decoration:underline;text-underline-offset:3px;transition:color .18s var(--ease-out)}.inline-link:hover{color:var(--accent-soft)}.text-link{color:var(--accent-soft);text-decoration:none;text-underline-offset:4px;border-bottom:1px solid rgba(var(--accent-soft-rgb),.45);padding-bottom:1px;align-self:flex-start;width:fit-content;transition:color .2s var(--ease-out),border-color .2s var(--ease-out)}.text-link:hover{color:var(--color-primary);border-bottom-color:rgba(var(--color-primary-rgb),.5)}.content{margin:0 auto;max-width:1400px;padding:3rem 3rem 5rem;display:grid;gap:2rem;position:relative;z-index:1;background:transparent}.content:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translate(-50%);z-index:-1;pointer-events:none;background:linear-gradient(180deg,#161514,#1c1a18 40%,#121110)}.section-card{padding:2rem}.section-header{display:grid;gap:.35rem;margin-bottom:1.5rem}.section-divider{width:100%;height:1px;margin:.5rem auto;border:0;background:linear-gradient(90deg,transparent,rgba(var(--color-primary-rgb),.12) 15%,rgba(var(--color-primary-rgb),.28) 50%,rgba(var(--color-primary-rgb),.12) 85%,transparent)}h2{font-family:Playfair Display,Times New Roman,serif;font-size:2rem;margin:0;letter-spacing:.02em;color:var(--color-primary)}.label{font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .25rem}.value{margin:0 0 .25rem;font-weight:600;color:var(--color-body)}.muted{margin:0;color:var(--color-muted);line-height:1.6}.muted-small-cursive{font-size:smaller;font-style:italic;color:var(--color-muted)}.info-text{margin:1rem 0 0;line-height:1.75;color:var(--color-body)}.details-grid,.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem 1.5rem}.hotel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4rem;align-items:stretch}.hotel-card{display:grid;gap:.75rem}.hotel-card:has(.hotel-image-wrap){align-items:center;justify-items:end}.hotel-card-body{display:flex;flex-direction:column;justify-content:center;gap:.35rem}.hotel-image-wrap{position:relative;width:75%;border-radius:16px;overflow:hidden;line-height:0;box-shadow:var(--shadow-elevated),0 0 0 1px #ffffff0f;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.hotel-image-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0000002e,#0000006b)}.hotel-image{width:100%;height:auto;display:block;filter:grayscale(100%) contrast(1.06);transition:transform .4s var(--ease-out),filter .4s var(--ease-out)}.hotel-card:has(.hotel-image-wrap):hover .hotel-image-wrap{transform:scale(1.02);box-shadow:0 20px 48px #00000059,0 0 0 1px #ffffff1a}.hotel-card:has(.hotel-image-wrap):hover .hotel-image{filter:grayscale(100%) contrast(1.06) brightness(1.04)}@media(max-width:820px){.hotel-image-wrap{width:100%;justify-self:center}}.hotel-card h3{margin:0;font-size:1.25rem;font-family:Playfair Display,Times New Roman,serif}.hotel-blurb{margin:.5rem 0 0;line-height:1.6;color:var(--color-body)}.registry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.actions{margin-top:1.25rem;display:flex;gap:.75rem;flex-wrap:wrap}.primary-button,.primary-button-white,.ghost-button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.75rem;border-radius:999px;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),background .22s var(--ease-out),color .22s var(--ease-out),border-color .22s var(--ease-out)}.primary-button{background:var(--button-color);color:var(--color-hero-text);border:1px solid rgba(0,0,0,.2);box-shadow:0 4px 20px #00000059}.primary-button-white{background:var(--color-hero-text);color:#1f1914;border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 24px #0003}.primary-button:hover,.primary-button-white:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0006}.primary-button:focus-visible,.primary-button-white:focus-visible,.ghost-button:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}.ghost-button{background:rgba(var(--color-primary-rgb),.04);color:var(--color-body);border:1px solid rgba(var(--color-primary-rgb),.2)}.ghost-button:hover{background:rgba(var(--color-primary-rgb),.1);border-color:rgba(var(--color-primary-rgb),.28);transform:translateY(-2px)}.map-button{margin-top:1rem;justify-self:start;width:fit-content;padding:.85rem 1.6rem;font-size:.95rem;line-height:1.2;align-self:start}.registry-button{text-align:center}@media(prefers-reduced-motion:reduce){.hero-content{animation:none}.hotel-card:has(.hotel-image-wrap):hover .hotel-image-wrap{transform:none}.hotel-card:has(.hotel-image-wrap):hover .hotel-image{filter:grayscale(100%) contrast(1.06)}}@media(max-width:720px){.hero{min-height:80vh;padding:4rem 1.25rem}.content{padding:2rem 1.25rem 4rem}.section-card{padding:1.5rem}.event-card:hover{border-color:var(--surface-glass-border);box-shadow:var(--shadow-soft)}}
