@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.site-header{background-color:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.site-header__inner{display:flex;align-items:center;gap:1.25rem;min-height:76px}.site-brand{display:flex;align-items:center;gap:.75rem;color:var(--text)}.site-brand:hover{color:var(--text)}.site-brand__mark{width:56px;height:56px;border-radius:50%;object-fit:contain;flex-shrink:0;background:var(--bg-alt);padding:2px}.site-brand__text{display:flex;flex-direction:column;line-height:1.1}.site-brand__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;letter-spacing:var(--tracking-tight);color:var(--text)}.site-brand__subtitle{font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--accent)}.site-nav{margin-left:auto;display:flex;gap:1.4rem;align-items:center}.site-nav__link{font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--text-muted);text-decoration:none;padding:.5rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.site-nav__link:hover{color:var(--text)}.site-nav__link.is-active{color:var(--accent);border-bottom-color:var(--accent)}.site-nav__donate{display:inline-flex;align-items:center;padding:.55rem 1.1rem;background:var(--accent);color:var(--text-inverse);border-radius:var(--radius);font-weight:600;font-size:.9rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:background .2s}.site-nav__donate:hover{background:var(--accent-hover);color:var(--text-inverse)}.site-header__toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;color:var(--text);cursor:pointer}@media(max-width:960px){.site-header__toggle{display:inline-flex;align-items:center}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;background-color:var(--surface);border-bottom:1px solid var(--border);padding:.5rem 1.5rem 1rem;margin:0}.site-nav--open{display:flex}.site-nav__link{width:100%;padding:.75rem 0;border-bottom:1px solid var(--border)}.site-nav__link:last-of-type{border-bottom:none}.site-nav__link.is-active{border-bottom-color:var(--border);background:transparent;color:var(--accent)}.site-nav__donate{width:100%;justify-content:center;margin-top:.75rem}}.site-footer{background-color:var(--bg-deep);color:var(--text-inverse);margin-top:4rem}.site-footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding:3.5rem 1.5rem 2.5rem}.site-footer__donate{margin-top:1.25rem}.site-footer__sponsor{font-style:italic}.site-footer h3{color:var(--text-inverse);font-size:1.5rem;margin-bottom:.5rem}.site-footer__brand p{color:#fdf8f0b3;max-width:36ch}.site-footer h4{color:var(--accent-soft);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:.75rem}.site-footer ul{list-style:none}.site-footer ul li{margin-bottom:.5rem}.site-footer a{color:#fdf8f0cc;font-size:var(--text-sm)}.site-footer a:hover{color:var(--accent-soft)}.site-footer__bottom{border-top:1px solid rgba(253,248,240,.12);padding:1.25rem 0;font-size:var(--text-sm);color:#fdf8f099}.site-footer__bottom .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}@media(max-width:768px){.site-footer__inner{grid-template-columns:1fr;gap:2rem;padding:2.5rem 1.5rem 2rem}}.hero{background:linear-gradient(#2a1f14b8,#2a1f14d9),radial-gradient(ellipse at 25% 30%,#8b5a2b,#4a2f18,#1a130b);color:var(--text-inverse);padding:4rem 0 0;overflow:hidden}.hero__inner{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:center;padding-bottom:3rem}.hero__copy{max-width:640px}.hero .eyebrow{color:var(--accent-soft)}.hero h1{color:var(--text-inverse);font-size:clamp(2.25rem,4.5vw,var(--text-5xl));margin:.5rem 0 1rem;line-height:1.1}.hero__lede{font-size:var(--text-lg);color:#fdf8f0e6;margin-bottom:1.5rem;max-width:60ch}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.hero .btn-secondary{color:var(--text-inverse);border-color:var(--text-inverse)}.hero .btn-secondary:hover{background:var(--text-inverse);color:var(--text)}.hero__mark{display:flex;justify-content:center;align-items:center}.hero__mark img{width:100%;max-width:340px;height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}.hero__banner{background:var(--bg);padding:1.5rem 0;border-top:4px solid var(--accent)}.hero__banner img{display:block;max-width:720px;width:100%;margin:0 auto;height:auto;padding:0 1.5rem}.countdown{display:flex;align-items:center;gap:1.25rem;margin:1.5rem 0 0;flex-wrap:wrap}.countdown__unit{display:flex;flex-direction:column;align-items:center;background:#fdf8f014;border:1px solid rgba(253,248,240,.18);border-radius:var(--radius);padding:.6rem 1.1rem;min-width:78px}.countdown__n{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--text-inverse);line-height:1}.countdown__label{font-size:.7rem;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--accent-soft);margin-top:.25rem}.countdown__note{color:#fdf8f0b3;font-size:var(--text-sm);font-style:italic}.section-title__lede{max-width:64ch;margin:1rem auto 0;color:var(--text-muted);font-size:var(--text-lg)}.schedule-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:1.25rem;align-items:stretch}.schedule-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column}.schedule-card--feature{background:var(--bg-deep);color:var(--text-inverse);border-color:var(--bg-deep);box-shadow:var(--shadow-lg)}.schedule-card--feature h3{color:var(--text-inverse)}.schedule-card--feature p{color:#fdf8f0d9}.schedule-card__eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.schedule-card--feature .schedule-card__eyebrow{color:var(--accent-soft)}.schedule-card h3{margin:0 0 .75rem;font-size:var(--text-xl)}.schedule-card p{color:var(--text-muted);margin-bottom:1rem}.schedule-card__link{margin-top:auto;display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--accent-soft)}.schedule-card__link:hover{color:var(--text-inverse)}.schedule-facts{margin-top:2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.schedule-fact{display:flex;gap:.75rem;align-items:center;color:var(--text)}.schedule-fact svg{color:var(--accent);flex-shrink:0}.photo-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:220px;gap:1rem}.photo-mosaic__item{position:relative;margin:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-alt);grid-column:span 2}.photo-mosaic__item--wide{grid-column:span 4;grid-row:span 2}.photo-mosaic__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.photo-mosaic__item:hover img{transform:scale(1.04)}.photo-mosaic__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 1rem .8rem;color:var(--text-inverse);font-size:var(--text-sm);line-height:1.35;background:linear-gradient(to top,#000c,#0000)}.home-split{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center}.home-split__media img{width:100%;max-width:420px;height:auto;margin:0 auto;display:block;filter:drop-shadow(0 8px 20px rgba(42,31,20,.18))}.home-split__body h2{margin:.5rem 0 1rem}.home-split__body p{margin-bottom:1rem;color:var(--text-muted)}.home-split__actions{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem}.info-card__icon{color:var(--accent);margin-bottom:.75rem}.info-card h3{font-size:var(--text-xl);margin-bottom:.5rem}.info-card p{color:var(--text-muted);margin-bottom:1rem}.info-card__link{display:inline-flex;align-items:center;gap:.25rem;font-weight:600;font-size:var(--text-sm)}@media(max-width:960px){.hero__inner{grid-template-columns:1fr;gap:2rem;padding-bottom:2rem}.hero__mark img{max-width:240px}.schedule-grid,.schedule-facts{grid-template-columns:1fr}.home-split{grid-template-columns:1fr;gap:2rem}.photo-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.photo-mosaic__item,.photo-mosaic__item--wide{grid-column:span 1;grid-row:span 1}.photo-mosaic__item--wide{grid-column:span 2;grid-row:span 2}.info-grid{grid-template-columns:1fr}}@media(max-width:768px){.hero{padding:3rem 0 0}.countdown__n{font-size:1.5rem}}.page__header{background-color:var(--bg-alt);padding:4rem 0 3rem;border-bottom:1px solid var(--border)}.page__header h1{margin-top:.5rem}.page__lede{margin-top:1rem;font-size:var(--text-lg);color:var(--text-muted);max-width:65ch}.page__body{max-width:72ch;margin:0 auto}.page__body h2{margin-top:2.5rem;margin-bottom:.75rem}.page__body p{margin-bottom:1rem}.page__figure{margin:2rem 0;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-alt);border:1px solid var(--border)}.page__figure img{display:block;width:100%;height:auto}.page__figure figcaption{padding:.75rem 1.25rem;font-size:var(--text-sm);color:var(--text-muted);background:var(--bg-alt);font-style:italic}.festival-banner-wrap{display:flex;justify-content:center}.festival-banner-wrap img{max-width:760px;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}.festival-quickfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.festival-fact{display:flex;gap:.9rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem}.festival-fact svg{color:var(--accent);flex-shrink:0;margin-top:2px}.festival-fact strong{display:block;color:var(--text);margin-bottom:.15rem}.festival-fact span{color:var(--text-muted);font-size:var(--text-sm)}.festival-time{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:var(--text-lg);margin:-.25rem 0 1rem}.festival-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.6rem}.festival-list li{display:grid;grid-template-columns:20px 1fr;gap:.75rem;align-items:start;color:var(--text);line-height:1.55}.festival-list li svg,.festival-list li>span:first-child{color:var(--accent);margin-top:4px;font-weight:700}.festival-sponsor{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);font-style:italic;color:var(--text-muted);font-size:var(--text-sm)}.festival-cta{margin:2rem 0 1rem;display:flex;gap:1rem;flex-wrap:wrap}.exhibit-hero{border-radius:var(--radius-lg);overflow:hidden;max-width:1000px;margin:0 auto}.exhibit-hero img{width:100%;height:auto;display:block}.exhibit-hero figcaption{padding:1rem 1.25rem;background:var(--bg-alt);font-style:italic;color:var(--text-muted);font-size:var(--text-sm)}.exhibit-split{margin:2rem 0;display:grid;grid-template-columns:1fr 1.25fr;gap:2rem;align-items:center}.exhibit-split__figure{margin:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-alt)}.exhibit-split__figure img{display:block;width:100%;height:auto}.exhibit-split__figure figcaption{padding:.75rem 1rem;font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.exhibit-seal{margin-top:1.5rem;max-width:220px;width:100%;height:auto;filter:drop-shadow(0 6px 16px rgba(42,31,20,.18))}.heritage-hero{margin:0;border-radius:var(--radius-lg);overflow:hidden}.heritage-hero img{display:block;width:100%;max-height:480px;object-fit:cover}.page__body sup a{font-size:.72em;vertical-align:super;text-decoration:none;color:var(--accent);padding:0 .1em}.page__body sup a:hover{text-decoration:underline}.sources-list{padding-left:1.4rem;margin:0 0 1.25rem;color:var(--text-muted)}.sources-list li{margin-bottom:.7rem;line-height:1.5;font-size:.95rem}.sources-list a{word-break:break-word}.sources-note{margin-top:1rem;padding:1rem 1.25rem;background:var(--bg-alt);border-left:3px solid var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;font-size:.95rem;color:var(--text-muted);font-style:italic}.visit-grid,.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.visit-card__icon{color:var(--accent);margin-bottom:.75rem}@media(max-width:900px){.exhibit-split{grid-template-columns:1fr}}@media(max-width:768px){.festival-quickfacts,.visit-grid,.contact-grid{grid-template-columns:1fr}}:root{--bg: #fdf8f0;--bg-alt: #f5ecd9;--bg-deep: #2a1f14;--surface: #ffffff;--border: #e8dfc8;--border-strong: #d6c9a5;--text: #2a1f14;--text-muted: #6b5a44;--text-inverse: #fdf8f0;--accent: #8b5a2b;--accent-hover: #6f4621;--accent-soft: #c89862;--accent-tint: #efe2c6;--success: #3f7d4f;--warning: #c68a12;--danger: #a8382a;--font-serif: "Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Roboto Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base:1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.75rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed:1.65;--tracking-tight: -.02em;--tracking-wide: .02em;--tracking-wider: .08em;--radius-sm: .25rem;--radius: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px rgba(42, 31, 20, .06);--shadow: 0 4px 12px rgba(42, 31, 20, .08);--shadow-lg: 0 12px 28px rgba(42, 31, 20, .14)}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}h1{font-size:var(--text-4xl);font-weight:700;line-height:var(--leading-tight)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{line-height:var(--leading-relaxed)}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}.eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--accent)}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.section-alt{background-color:var(--bg-alt)}.section-title{text-align:center;margin-bottom:2.5rem}.section-title h2{margin-top:.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;line-height:1}.btn-primary{background-color:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-inverse)}.btn-secondary{background-color:transparent;color:var(--accent);border-color:var(--accent)}.btn-secondary:hover{background-color:var(--accent);color:var(--text-inverse)}.btn-lg{padding:1rem 1.75rem;font-size:var(--text-lg)}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.section{padding:2.5rem 0}.btn{min-height:44px;justify-content:center}}
