:root{--accent:#fea32b;--accent-hover:#e8891a;--sky:#3aa6e0;--bg:#faf6ef;--text:#2b2b2b;--text-soft:#5f5f5f;--line:#e6dfd2;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;--body:"EB Garamond",Georgia,serif;--frame-pad:14px;--radius:22px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--body);color:var(--text);background:var(--bg);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}.serif,h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.01em;line-height:1.05}a{color:inherit}.frame,.frame-inner{min-height:100vh;background:var(--bg)}.frame-inner{display:flex;flex-direction:column}.hero{position:static;width:100%;aspect-ratio:3/2;z-index:0;background-image:var(--hero-img,linear-gradient(160deg,#cfe7f5,#eaf4fb));background-size:cover;background-repeat:no-repeat;background-color:var(--bg);background-position:50%}.content{position:relative;z-index:1;margin-top:0;background:var(--bg)}@media (min-aspect-ratio:3/2) and (max-aspect-ratio:16/9){.hero{position:fixed;top:0;left:0;height:100vh;aspect-ratio:auto;background-size:cover;background-position:bottom}.content{margin-top:100vh}}.hero-nav{padding:26px 40px}.hero-nav,.site-nav{display:flex;align-items:center;justify-content:space-between}.site-nav{position:fixed;top:0;left:0;right:0;z-index:40;padding:22px 40px;background:transparent;transition:background .25s ease,box-shadow .25s ease}.site-nav.scrolled{background:var(--bg);box-shadow:0 2px 16px rgba(0,0,0,.08)}.site-nav.solid{position:-webkit-sticky;position:sticky}.nav-brand{display:inline-flex;align-items:center}.nav-toggle{display:none}.hero-logo{width:155px;height:auto;display:block}.nav-links{display:flex;gap:30px;align-items:baseline}.nav-links a{font-family:var(--serif);font-size:28px;text-decoration:none;color:#1f1f1f;white-space:nowrap}.nav-links a.active,.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}.hero-caption{position:absolute;left:0;right:0;bottom:38px;text-align:center;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35);padding:0 20px}.hero-caption .names{font-family:var(--serif);font-size:clamp(40px,8vw,92px);line-height:1}.hero-caption .date{font-family:var(--serif);font-size:clamp(18px,2.4vw,26px);letter-spacing:.08em;margin-top:8px}.section{max-width:880px;margin:0 auto;padding:72px 28px;width:100%;scroll-margin-top:90px}.section-wide{max-width:1240px}.section h2{font-size:clamp(34px,5vw,52px);margin:0 0 6px;text-align:center}.section .lead{text-align:center;color:var(--text-soft);max-width:620px;margin:0 auto 40px}.divider{width:60px;height:1px;background:var(--accent);margin:16px auto 36px;border:0}.countdown-section{text-align:center;padding-bottom:28px}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:clamp(18px,5vw,48px);min-height:92px}.cd-unit{text-align:center;min-width:56px}.cd-num{display:block;font-family:var(--serif);font-size:clamp(42px,7vw,66px);line-height:1;color:var(--text)}.cd-label{display:block;font-family:var(--body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:8px}.cd-caption,.cd-label{color:var(--text-soft)}.cd-caption{margin:18px 0 0}.cd-done{text-align:center;font-family:var(--serif);font-size:clamp(30px,4vw,44px);color:var(--text)}.event{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:220px 1fr;grid-gap:24px;gap:24px}.event:first-of-type{border-top:none}.event .when{color:var(--text-soft)}.event .when .day{font-family:var(--serif);font-size:22px;color:var(--text);display:block}.event h3{font-size:clamp(34px,4.2vw,44px);line-height:1.05;margin:2px 0 8px}.event .loc{color:var(--accent);margin:0 0 8px}.event .loc a{color:inherit;text-decoration:none}.event .loc a:hover{text-decoration:underline;text-underline-offset:3px}.loc-addr,.loc-venue{display:block}.event .desc{margin:0;color:var(--text-soft)}.event .label{display:block;font-family:var(--body);font-size:18px;font-weight:700;color:var(--text);margin:12px 0 2px}.prose{max-width:640px;margin:0 auto;text-align:center;color:var(--text-soft)}.prose p{margin:0 0 16px}.prose a{color:var(--accent)}.prose ul.plain{list-style:none;padding:0;margin:0 0 16px}.prose ul.plain li{margin:3px 0;font-family:var(--serif);font-size:22px;color:var(--text)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-auto-rows:1fr;grid-gap:22px;gap:22px}.card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column}.card h3{font-size:26px;margin:0 0 8px}.card p{margin:0 0 8px;color:var(--text-soft)}.card a{color:var(--accent)}.card-photo-fallback{width:100%;aspect-ratio:1/1;border-radius:10px;margin-bottom:14px;background:#f2ebdd;display:flex;align-items:center;justify-content:center}.card-photo-fallback img{width:52%;opacity:.7}.photo-divider{display:block;width:100%;height:auto}.subheading{font-family:var(--serif);font-size:clamp(26px,3.4vw,36px);text-align:center;margin:44px 0 14px}.btn{display:inline-block;background:var(--accent);color:#fff;font-family:var(--body);font-size:17px;border:0;border-radius:999px;padding:13px 30px;text-decoration:none;cursor:pointer;transition:background .15s ease}.btn:hover{background:var(--accent-hover)}.btn-row{margin-top:16px}.btn-row,.cta{text-align:center}.cta{background:#fbf6ee;padding:64px 28px}.cta h2{font-size:clamp(34px,5vw,52px);margin:0 0 6px}.footer{margin-top:auto;text-align:center;padding:40px 20px;color:var(--text-soft)}.footer img{width:90px;margin-bottom:12px}.footer .mono{font-family:var(--serif);font-size:22px;color:var(--text)}.field{margin-bottom:18px}.field label{display:block;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;font-family:var(--body);font-size:17px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}.note{color:var(--text-soft);font-size:16px}@media (max-width:720px){.hero{position:static;height:auto;aspect-ratio:3/2;background-size:cover;background-position:50%}.content{margin-top:0}.site-nav{padding:16px 20px}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px;background:none;border:0;cursor:pointer}.nav-toggle span{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.site-nav.open .nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.site-nav.open .nav-toggle span:nth-child(2){opacity:0}.site-nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:center;gap:0;background:var(--bg);padding:6px 20px 18px;box-shadow:0 14px 22px rgba(0,0,0,.1)}.nav-links.show{display:flex}.nav-links a{font-size:26px;padding:12px 0}.event{grid-template-columns:1fr;gap:6px}}html{scroll-behavior:smooth}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.card{animation:cardIn .45s ease backwards;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.08)}.card.is-funded{filter:grayscale(.5) opacity(.6)}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 26px}.filter-chip{font-family:var(--body);font-size:15px;color:var(--text-soft);background:none;border:1px solid var(--line);border-radius:999px;padding:7px 16px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.filter-chip:hover{border-color:var(--accent);color:var(--text)}.filter-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.card{animation:none}.card:hover{transform:none}}