
    :root { --walnut:#42251b; --walnut-dark:#2f1a13; --cream:#f4f0e8; --paper:#fffdf9; --ink:#271b16; --rust:#a74a2b; --line:#d7cec1; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--cream); color:var(--ink); font-family:Georgia, 'Times New Roman', serif; }
    a { color:inherit; }
    .site-header { background:var(--walnut); color:white; }
    .masthead { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:218px; max-width:1200px; margin:auto; padding:2rem 2.5rem; }
    .museum-name { grid-column:2; min-width:280px; padding:1.65rem 2rem; color:var(--walnut-dark); text-align:center; background:var(--paper); box-shadow:0 2px 0 rgba(0,0,0,.15); }
    .museum-name img { display:block; width:120px; margin:0 auto .5rem; }
    .museum-name h1 { margin:0; font-size:1.8rem; font-weight:400; letter-spacing:.035em; line-height:1.08; text-transform:uppercase; }
    .museum-name p { margin:.65rem 0 0; color:#755441; font-size:.73rem; font-style:italic; letter-spacing:.11em; text-transform:uppercase; }
    .welcome { grid-column:2; margin:1.15rem 0 0; font-size:.87rem; line-height:1.55; text-align:center; white-space:nowrap; }
    nav { display:flex; justify-content:center; gap:0; max-width:650px; margin:0 auto; background:rgba(255,255,255,.94); color:var(--ink); }
    nav a { min-width:145px; padding:.85rem 1.2rem; font-size:.9rem; text-align:center; text-decoration:underline; text-underline-offset:3px; }
    nav a:hover { color:var(--rust); }
    main { max-width:1120px; margin:auto; padding:4.5rem 2rem 5.5rem; }
    .intro { max-width:650px; margin:0 auto 4.5rem; text-align:center; }
    .intro .ornament { color:var(--rust); font-size:1.45rem; letter-spacing:.45em; }
    .intro h2 { margin:.5rem 0 .8rem; color:var(--walnut); font-size:clamp(2.4rem,5vw,4.3rem); font-weight:400; letter-spacing:-.04em; line-height:1; }
    .intro p { max-width:520px; margin:auto; font-size:1.08rem; line-height:1.7; }
    .events { padding:3.2rem 0 0; border-top:1px solid var(--line); }
    .section-heading { margin:0 0 2rem; color:var(--walnut); font-size:clamp(2rem,4vw,3.4rem); font-weight:400; text-align:center; }
    .section-heading::after { display:block; width:54px; height:2px; margin:.7rem auto 0; content:''; background:var(--rust); }
    .event-card { display:grid; grid-template-columns:180px 1fr auto; gap:2rem; align-items:center; max-width:890px; margin:0 auto; padding:1.55rem; background:var(--paper); border:1px solid var(--line); box-shadow:0 8px 20px rgba(49,30,20,.06); }
    .event-date { padding:1.45rem 1rem; color:white; text-align:center; background:var(--walnut); }
    .event-date strong { display:block; font-size:2.8rem; font-weight:400; line-height:.85; }
    .event-date span { display:block; margin-top:.6rem; font-family:Arial,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
    .event-copy h3 { margin:0 0 .45rem; color:var(--walnut); font-size:1.75rem; font-weight:400; }
    .event-copy p { max-width:430px; margin:0; font-size:1rem; line-height:1.55; }
    .event-details { font-family:Arial,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.07em; line-height:1.65; text-align:right; text-transform:uppercase; }
    .event-details strong { color:var(--rust); }
    .more-events { margin:2.2rem auto 0; color:#69594e; font-style:italic; text-align:center; }
    .museum-story { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(2rem,7vw,7rem); align-items:start; padding:5.5rem 8%; border-top:1px solid var(--line); } .museum-story h2 { margin:0; color:var(--walnut); font-size:clamp(2.3rem,4vw,3.8rem); font-weight:400; line-height:1; } .museum-story .kicker { margin:0 0 .75rem; color:var(--rust); font-family:Arial,sans-serif; font-size:.7rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; } .museum-story .story-copy { margin:0; font-size:1.1rem; line-height:1.75; }
    .volunteer { padding:5.5rem 8%; color:var(--cream); background:var(--walnut); } .volunteer-inner { max-width:900px; margin:auto; } .volunteer h2 { margin:0; color:white; font-size:clamp(2.3rem,4vw,3.6rem); font-weight:400; text-align:center; } .volunteer .lead { max-width:530px; margin:1rem auto 2.6rem; font-size:1.08rem; line-height:1.65; text-align:center; } .volunteer-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding-top:2.2rem; border-top:1px solid rgba(255,255,255,.3); font-size:1rem; line-height:1.7; } .volunteer-grid p { margin:0; } .volunteer-cta { margin:2.8rem auto 0; text-align:center; } .button { display:inline-block; padding:.9rem 1.35rem; color:white; font-family:Arial,sans-serif; font-size:.76rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; background:var(--rust); border-radius:2px; } .button:hover { background:#c15c39; } .volunteer-note { margin:1.35rem 0 0; font-size:.9rem; line-height:1.6; text-align:center; }
    footer { padding:2.2rem 1rem; color:rgba(255,255,255,.84); font-size:.85rem; line-height:1.7; text-align:center; background:var(--walnut-dark); }
    footer a { color:white; }
    @media (max-width:700px) { .masthead { min-height:0; padding:1.8rem 1rem 1.5rem; } .museum-name { min-width:0; padding:1.25rem 1.5rem; } .museum-name h1 { font-size:1.45rem; } .welcome { white-space:normal; font-size:.8rem; } nav { width:100%; } nav a { min-width:0; flex:1; padding:.85rem .3rem; font-size:.78rem; } main { padding:3.4rem 1.25rem 4rem; } .event-card,.museum-story,.volunteer-grid { grid-template-columns:1fr; gap:1.25rem; text-align:center; } .event-date { max-width:180px; width:100%; margin:auto; } .event-copy h3 { font-size:1.55rem; } .event-details { text-align:center; } .museum-story,.volunteer { padding:3.75rem 1.25rem; } }
  
.event-card + .event-card { margin-top:1.5rem; } .story-copy p:first-child,.volunteer-grid p:first-child { margin-top:0; } .event-copy h3 a { text-decoration:none; } .content-page {max-width:800px;line-height:1.7;} .content-page img {max-width:100%;height:auto;} .gallery {display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;} .gallery img {width:100%;height:auto;} a:focus-visible {outline:3px solid var(--rust);outline-offset:4px;}
.gallery-lightbox {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:3.5rem 4rem;border:0;background:rgba(20,14,10,.96);color:white;}
.gallery-lightbox::backdrop {background:rgba(0,0,0,.85);}
.gallery-lightbox[open] {display:flex;align-items:center;justify-content:center;}
.gallery-lightbox figure {margin:0;text-align:center;pointer-events:none;}
.gallery-lightbox .lightbox-image {display:block;max-width:calc(100vw - 8rem);max-height:calc(100dvh - 9rem);width:auto;height:auto;object-fit:contain;}
.gallery-lightbox figcaption {margin-top:.8rem;font-family:Arial,sans-serif;font-size:.85rem;}
.gallery-lightbox button {position:absolute;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:#42251b;color:white;font-size:2rem;cursor:pointer;}
.lightbox-close {top:1rem;right:1rem;}.lightbox-prev {left:.75rem;top:50%;}.lightbox-next {right:.75rem;top:50%;}
@media(max-width:600px) {.gallery-lightbox {padding:4rem 3rem;}.gallery-lightbox .lightbox-image {max-width:calc(100vw - 6rem);}.gallery-lightbox button {min-width:40px;}.lightbox-prev {left:.2rem;}.lightbox-next {right:.2rem;}}
.event-card-with-poster { grid-template-columns:110px 110px minmax(0,1fr) 150px; gap:1.3rem; }
.event-thumbnail img { display:block; width:100%; max-height:180px; object-fit:contain; }
.event-read-more { display:inline-block; margin-top:1rem; color:var(--rust); font-size:.9rem; text-underline-offset:4px; }
.event-back { color:var(--rust); font-size:.9rem; }
.event-page-meta { display:flex; flex-wrap:wrap; gap:2rem 4rem; padding:1rem 0; margin:1rem 0 2rem; border-bottom:1px solid var(--line); }
.event-page-meta strong { display:block; color:var(--rust); font-family:Arial,sans-serif; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.event-page-layout.has-poster { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.85fr); gap:2.5rem; align-items:start; }
.event-page-copy p:first-child { margin-top:0; }
.event-page-poster { margin:0; }
.event-page-poster img { display:block; width:100%; box-shadow:0 8px 24px rgba(49,30,20,.12); }
.event-page-poster figcaption { margin-top:.8rem; color:#69594e; font-size:.8rem; }
@media(max-width:700px) { .event-card-with-poster {grid-template-columns:1fr;} .event-thumbnail {width:130px;margin:auto;} .event-thumbnail img {max-height:210px;} .event-page-layout.has-poster {grid-template-columns:1fr;} .event-page-poster {max-width:389px;margin:auto;} }
