:root{--color-bg:#faf8f5;--color-bg-alt:#f1ede6;--color-text:#2b2723;--color-text-muted:#6b6259;--color-accent:#8a6d3b;--color-border:#e2dbd0;--font-display:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--container-width:1200px;--radius:2px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);margin:0;font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent)}h1,h2,h3{font-family:var(--font-display);color:var(--color-text);font-weight:400;line-height:1.2}.container{width:100%;max-width:var(--container-width);margin-inline:auto;padding-inline:1.25rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a.skip-link{background:var(--color-text);color:var(--color-bg);border-radius:var(--radius);z-index:100;padding:.5rem 1rem;transition:top .15s;position:absolute;top:-3rem;left:1rem}a.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-bg)}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.site-header__brand{align-items:center;text-decoration:none;display:inline-flex}.site-header__brand img{width:auto;height:44px;display:block}.site-nav{flex-wrap:wrap;gap:1.25rem;font-size:.95rem;display:flex}.site-nav a{color:var(--color-text);text-decoration:none}.site-nav a:hover{color:var(--color-accent)}.archive-notice{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;padding:.5rem 1rem;font-size:.85rem}.archive-notice strong{color:var(--color-text)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:4rem;padding-block:2.5rem;font-size:.9rem}.site-footer a{color:var(--color-text-muted)}.hero{text-align:center;padding-block:3rem 2rem}.hero h1{margin-bottom:.75rem;font-size:clamp(1.9rem,5vw,3rem)}.hero p{max-width:46rem;color:var(--color-text-muted);margin-inline:auto;font-size:1.05rem}.hero .actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.75rem;display:flex}.btn{border:1px solid var(--color-text);border-radius:var(--radius);color:var(--color-text);padding:.7rem 1.5rem;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.btn:hover{background:var(--color-text);color:var(--color-bg)}.btn--accent{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.btn--accent:hover{color:var(--color-accent);background:0 0}.gallery-filters{flex-wrap:wrap;gap:.5rem;margin-block:1.5rem 2rem;display:flex}.gallery-filters a{font:inherit;border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);background:#fff;border-radius:999px;padding:.45rem .9rem;font-size:.85rem;text-decoration:none}.gallery-filters a[aria-current=page]{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.pagination{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-block:2.5rem;padding-top:1.5rem;font-size:.9rem;display:flex}.pagination__pages{align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.pagination__pages a,.pagination__arrow{border:1px solid var(--color-border);border-radius:var(--radius);min-width:2.25rem;height:2.25rem;color:var(--color-text);justify-content:center;align-items:center;padding:0 .5rem;text-decoration:none;display:inline-flex}.pagination__pages a:hover,.pagination__arrow:hover{border-color:var(--color-accent);color:var(--color-accent)}.pagination__pages a[aria-current=page]{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.pagination__arrow.is-disabled{opacity:.35;cursor:default}.pagination__ellipsis{color:var(--color-text-muted);padding-inline:.25rem}.page-size-picker{color:var(--color-text-muted);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.page-size-picker select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:#fff;padding:.35rem .6rem;font-size:.85rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width>=640px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media (width>=960px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.work-card{color:inherit;text-decoration:none;display:block}.work-card__image{aspect-ratio:1;background:var(--color-bg-alt);border-radius:var(--radius);overflow:hidden}.work-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.work-card:hover .work-card__image img{transform:scale(1.04)}.work-card__title{color:var(--color-text);margin-top:.6rem;font-size:.9rem}.work-card__ref{color:var(--color-text-muted);font-size:.8rem}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.error-page{text-align:center;max-width:34rem;padding-block:4rem 5rem}.error-page__code{font-family:var(--font-display);color:var(--color-accent);margin:0 0 .5rem;font-size:5rem;line-height:1}.error-page h1{margin-top:0}.error-page .actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.work-header{gap:2rem;margin-block:2rem;display:grid}@media (width>=860px){.work-header{grid-template-columns:1.1fr .9fr;align-items:start}}.work-meta h1{margin-bottom:.5rem;font-size:clamp(1.6rem,4vw,2.2rem)}.work-meta .work-ref{color:var(--color-text-muted);margin-bottom:1rem;font-size:.95rem}.work-categories{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.work-categories a{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:.25rem .75rem;font-size:.8rem;text-decoration:none}.work-description :is(p){margin:0 0 .9rem}.work-description,.work-description *{font-family:var(--font-body)!important;color:var(--color-text)!important;font-size:1rem!important;font-style:normal!important;font-weight:400!important;line-height:1.6!important}.work-description strong,.work-description b{font-weight:600!important}.work-description em,.work-description i{font-style:italic!important}.work-description ul,.work-description ol{margin:0 0 .9rem;padding-left:1.25rem;list-style-position:outside}.work-description ul{list-style-type:disc}.work-description ol{list-style-type:decimal}.work-description li{margin-bottom:.35rem}.work-technical{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1rem}.work-technical dl{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;display:grid}.work-technical dt{color:var(--color-text-muted)}.work-archival-note{background:var(--color-bg-alt);border-radius:var(--radius);color:var(--color-text-muted);margin-top:1.5rem;padding:1rem;font-size:.9rem}.work-nav{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-block:2.5rem;padding-top:1.5rem;display:flex}.work-nav a{font-size:.9rem;text-decoration:none}.slider{position:relative}.slider__track{scroll-snap-type:x mandatory;border-radius:var(--radius);background:var(--color-bg-alt);scrollbar-width:thin;display:flex;overflow-x:auto}.slider__slide{scroll-snap-align:start;aspect-ratio:1;flex:0 0 100%}.slider__slide img{object-fit:contain;cursor:zoom-in;width:100%;height:100%}.featured-slider .slider__track{background:0 0}.featured-slider__slide{scroll-snap-align:start;color:inherit;flex:0 0 85%;margin-right:1rem;text-decoration:none}@media (width>=640px){.featured-slider__slide{flex-basis:45%}}@media (width>=960px){.featured-slider__slide{flex-basis:30%}}.featured-slider__slide img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%}.featured-slider__caption{color:var(--color-text);margin-top:.6rem;font-size:.95rem}.slider__controls{justify-content:center;gap:.5rem;margin-top:.6rem;display:flex}.slider__dot{background:var(--color-border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0}.slider__dot[aria-current=true]{background:var(--color-accent)}.slider__button{border:1px solid var(--color-border);cursor:pointer;background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slider__button--prev{left:.5rem}.slider__button--next{right:.5rem}.lightbox{z-index:1000;background:#141210eb;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.lightbox[data-open=true]{display:flex}.lightbox img{object-fit:contain;max-width:100%;max-height:90vh}.lightbox__close{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.2rem;position:absolute;top:1rem;right:1rem}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.memoriam-content{max-width:42rem;margin-inline:auto}.memoriam-hero{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;margin-block:2rem 2.5rem;display:flex}.memoriam-hero img{object-fit:cover;border-radius:50%;width:180px;height:180px}.memoriam-hero h1{margin-bottom:.25rem}.memoriam-dates{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.04em;margin:0 0 1rem}.memoriam-lede{color:var(--color-text-muted)}@media (width>=640px){.memoriam-hero{text-align:left;flex-direction:row;align-items:center}}.memoriam-quote{border-left:3px solid var(--color-accent);color:var(--color-text);font-family:var(--font-display);margin:2rem 0;padding-left:1.25rem;font-size:1.05rem}.memoriam-tribute footer{font-family:var(--font-body);color:var(--color-text-muted);margin-top:1rem;font-size:.85rem;font-style:normal}.memoriam-workshop-photo{margin-block:2.5rem}.memoriam-workshop-photo img{border-radius:var(--radius);width:100%;max-width:320px;margin-inline:auto}.memoriam-footnote{color:var(--color-text-muted);text-align:center;margin-top:3rem;font-size:.85rem}.contact-locations,.contact-details{margin:0 0 2rem;padding:0;list-style:none}.contact-locations li{border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:1.25rem}.contact-locations li:last-child{border-bottom:none}.contact-locations strong{font-family:var(--font-display);font-size:1.05rem}.contact-details li{margin-bottom:.6rem}
