*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--forest: #233928;--forest-deep: #162419;--gold: #C8A32D;--gold-hover: #D4B33A;--cream: #F8F6E4;--cream-soft: #FEFDF8;--sand: #E5E1D4;--text-muted: rgba(255, 255, 255, .65);--text-faint: rgba(255, 255, 255, .55);--border-subtle: rgba(255, 255, 255, .1);--border-field: rgba(255, 255, 255, .15)}html{-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--forest);color:#fff;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.serif{font-family:"Instrument Serif",Georgia,Times New Roman,serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:16px}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;padding:12px 24px;background:var(--gold);color:var(--forest);font-size:14px;font-weight:600;transition:top .2s ease}.skip-link:focus{top:16px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.nav-wrap{padding:0 48px}.desktop-nav{display:flex;gap:48px;align-items:center}.nav-link{position:relative;font-size:13px;letter-spacing:.02em;transition:color .3s}.nav-link:hover,.nav-link:focus-visible{color:var(--gold)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s ease}.nav-link:hover:after{width:100%}.btn-join{padding:12px 24px;border:1px solid var(--sand);font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:all .3s}.btn-join:after{display:none}.btn-join:hover,.btn-join:focus-visible{border-color:var(--gold);color:var(--gold)}.btn-gold{display:inline-block;padding:16px 32px;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;background:var(--gold);color:var(--forest);border:none;transition:background .3s}.btn-gold:hover,.btn-gold:focus-visible{background:var(--gold-hover)}.btn-outline{display:inline-block;padding:16px 32px;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--sand);color:var(--cream);background:transparent;transition:all .3s}.btn-outline:hover,.btn-outline:focus-visible{border-color:var(--gold);color:var(--gold)}.btn-forest{display:inline-block;padding:16px 32px;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;background:var(--forest);color:var(--cream);border:none;transition:background .3s}.btn-forest:hover,.btn-forest:focus-visible{background:var(--forest-deep)}.mobile-btn{display:none;background:none;border:none;color:#fff;padding:8px}.section-pad{padding:120px 48px}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:start}.footer-link:hover,.footer-link:focus-visible{color:var(--gold)!important}.label-sm{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}.label-sm-gold{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}@media(max-width:768px){.desktop-nav{display:none}.mobile-btn{display:block}.nav-wrap{padding:0 24px}.hero-section{padding:100px 24px 60px!important}.hero-bottom{flex-direction:column!important;align-items:flex-start!important}.section-pad{padding:80px 24px}.event-grid{grid-template-columns:1fr;gap:32px}.event-details{grid-template-columns:1fr!important}.footer-inner{flex-direction:column;text-align:center}.rsvp-panel{max-width:100%!important;max-height:100%!important}.rsvp-pad{padding:32px!important}.footer-wrap{padding:48px 24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto!important}}::selection{background:var(--gold);color:var(--forest)}
