:root{--paper: #f6f8f9;--surface: #ffffff;--surface-alt: #eaeff1;--ink: #14191c;--ink-muted: #4c565b;--accent: #0f5f70;--accent-deep: #0a4250;--accent-tint: #dceaee;--on-accent: #ffffff;--rule: #dbe3e6;--rule-strong: #b8c4c9;--focus: #0f5f70;--shadow-sm: 0 1px 2px rgba(28, 26, 23, 0.06);--shadow-md: 0 2px 10px rgba(28, 26, 23, 0.08)}:root{--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--size-body: clamp(1.0625rem, calc(1rem + 0.18vw), 1.125rem);--size-small: clamp(0.875rem, calc(0.85rem + 0.1vw), 0.9375rem);--size-lede: clamp(1.15rem, calc(1.05rem + 0.5vw), 1.375rem);--size-h1: clamp(2rem, calc(1.55rem + 1.9vw), 3rem);--size-h2: clamp(1.4rem, calc(1.25rem + 0.7vw), 1.8rem);--size-h3: clamp(1.125rem, calc(1.07rem + 0.3vw), 1.3rem);--s-1: 0.25rem;--s-2: 0.5rem;--s-3: 0.75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--container: 68rem;--measure: 38rem;--radius: 6px}@media (prefers-color-scheme: dark){:root{--paper: #0f1416;--surface: #171e21;--surface-alt: #1e262a;--ink: #e4ebee;--ink-muted: #9aa8ad;--accent: #6fc5d8;--accent-deep: #9adbe9;--accent-tint: #14313a;--on-accent: #0f1416;--rule: #2a3438;--rule-strong: #3d4a4f;--focus: #6fc5d8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);--shadow-md: 0 2px 12px rgba(0, 0, 0, 0.45)}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--size-body);line-height:1.65;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}::selection{background:var(--accent-tint);color:var(--ink)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s-5)}main.wrap{padding-block:var(--s-7) var(--s-8)}@media (min-width: 48rem){.wrap{padding-inline:var(--s-6)}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1.15;letter-spacing:-0.01em;margin:var(--s-7) 0 var(--s-3);text-wrap:balance}h1{font-size:var(--size-h1);margin-top:0;letter-spacing:-0.02em}h2{font-size:var(--size-h2)}h3{font-size:var(--size-h3);font-weight:700}h4{font-family:var(--font-ui);font-size:var(--size-small);text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-muted)}h1+h2,h2+h3,h3+h4{margin-top:var(--s-5)}p,ul,ol,dl{margin:0 0 var(--s-4)}p,ul,ol,dl,blockquote{max-width:var(--measure)}li{margin-bottom:var(--s-2)}li>ul,li>ol{margin-top:var(--s-2)}.lede{font-size:var(--size-lede);line-height:1.5;color:var(--ink-muted);max-width:34rem}small,.small{font-size:var(--size-small)}hr{border:0;border-top:1px solid var(--rule);margin:var(--s-7) 0;max-width:var(--measure)}blockquote{margin:var(--s-5) 0;padding:var(--s-2) 0 var(--s-2) var(--s-5);border-left:3px solid var(--accent);color:var(--ink-muted);font-style:italic}blockquote p:last-child{margin-bottom:0}code,pre,kbd{font-family:var(--font-mono);font-size:0.9em}code{background:var(--surface-alt);padding:0.15em 0.4em;border-radius:3px}pre{background:var(--surface-alt);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s-4);overflow-x:auto;max-width:100%}pre code{background:none;padding:0}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em;text-decoration-color:var(--rule-strong);transition:color 0.12s ease, text-decoration-color 0.12s ease}a:hover{color:var(--accent-deep);text-decoration-color:currentColor}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-ui);font-size:var(--size-small);padding:var(--s-3) var(--s-4);text-decoration:none;border-radius:0 0 var(--radius) 0}.skip-link:focus{left:0}.site-header{background:var(--surface);border-top:4px solid var(--accent);border-bottom:1px solid var(--rule)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3) var(--s-6);padding-block:var(--s-4)}.brand{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink)}.brand:hover{color:var(--ink)}.brand-name{font-family:var(--font-display);font-size:1.6rem;font-weight:700;letter-spacing:0.02em;line-height:1;color:var(--accent)}.brand-tagline{font-size:0.72rem;letter-spacing:0.04em;color:var(--ink-muted);font-weight:500;max-width:26ch;line-height:1.3}.site-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin:0;padding:0;max-width:none}.site-nav li{margin:0}.site-nav a{display:inline-block;font-size:var(--size-small);font-weight:500;letter-spacing:0.02em;color:var(--ink);text-decoration:none;padding-block:var(--s-1);border-bottom:2px solid transparent}.site-nav a:hover{color:var(--accent);border-bottom-color:var(--rule-strong)}.site-nav a[aria-current="page"]{color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}.subnav{background:var(--surface-alt);border-bottom:1px solid var(--rule)}.subnav ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2);margin:0;padding-block:var(--s-2);max-width:none}.subnav li{margin:0}.subnav a{display:inline-block;font-size:var(--size-small);color:var(--ink-muted);text-decoration:none;padding:var(--s-1) var(--s-3);border-radius:100px}.subnav a:hover{color:var(--accent);background:var(--accent-tint)}.subnav a[aria-current="page"]{background:var(--accent);color:var(--on-accent);font-weight:600}.page-header{margin-bottom:var(--s-6);padding-bottom:var(--s-5);border-bottom:1px solid var(--rule)}.page-header h1{margin-bottom:var(--s-3)}.page-header .lede{margin-bottom:0}.eyebrow{font-family:var(--font-ui);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.11em;font-weight:600;color:var(--ink-muted);margin-bottom:var(--s-2)}.eyebrow a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}.eyebrow a::before{content:"\2190";display:inline-block;margin-right:0.45em;transition:transform 0.12s ease}.eyebrow a:hover{color:var(--accent-deep);border-bottom-color:currentColor}.eyebrow a:hover::before{transform:translateX(-3px)}.hero{padding-block:var(--s-6) var(--s-7);border-bottom:1px solid var(--rule);margin-bottom:var(--s-7)}.hero h1{max-width:20ch;margin-bottom:var(--s-4)}.hero .lede{max-width:40rem;margin-bottom:0}.page-toc{margin:0 0 var(--s-6);padding:var(--s-4) var(--s-5);background:var(--surface-alt);border:1px solid var(--rule);border-radius:var(--radius)}.page-toc-label{font-family:var(--font-ui);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.11em;color:var(--ink-muted);margin:0 0 var(--s-3);max-width:none}.page-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);margin:0;padding:0;max-width:none}.page-toc li{margin:0}.page-toc a{display:inline-block;font-family:var(--font-ui);font-size:var(--size-small);font-weight:500;text-decoration:none;color:var(--accent);background:var(--surface);border:1px solid var(--rule);border-radius:100px;padding:var(--s-1) var(--s-4)}.page-toc a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.workshop h2{scroll-margin-top:var(--s-4)}.card{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius);padding:var(--s-5);margin:var(--s-6) 0;max-width:var(--measure);box-shadow:var(--shadow-sm)}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.card h2,.card h3{margin-top:0}.event-panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--s-6);margin:var(--s-6) 0 var(--s-7);max-width:44rem;border-top:4px solid var(--accent)}.event-panel h2{margin:var(--s-2) 0 var(--s-3);font-size:clamp(1.6rem, calc(1.3rem + 1.2vw), 2.2rem)}.event-panel .event-when{font-size:var(--size-lede);color:var(--ink-muted);margin-bottom:var(--s-5);max-width:none}.event-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.button{display:inline-block;font-family:var(--font-ui);font-size:var(--size-small);font-weight:600;letter-spacing:0.02em;background:var(--accent);color:var(--on-accent);text-decoration:none;padding:var(--s-3) var(--s-5);border-radius:var(--radius);border:1px solid var(--accent);transition:background 0.12s ease}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}.button-quiet{background:transparent;color:var(--accent);border-color:var(--rule-strong)}.button-quiet:hover{background:var(--accent-tint);color:var(--accent-deep)}.archive-grid{list-style:none;margin:var(--s-6) 0 0;padding:0;max-width:none;display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr))}.archive-grid li{margin:0}.archive-card{display:flex;flex-direction:column;gap:var(--s-1);height:100%;padding:var(--s-4) var(--s-5);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease}.archive-card:hover{color:var(--ink);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.archive-card .archive-year{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent);line-height:1}.archive-card .archive-title{font-weight:600;font-size:var(--size-small)}.archive-card .archive-loc{font-size:var(--size-small);color:var(--ink-muted);line-height:1.4}.workshop-meta{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-2) var(--s-5);margin:var(--s-4) 0 0;padding:var(--s-4) 0 0;border-top:1px solid var(--rule);max-width:var(--measure);font-size:var(--size-small)}.workshop-meta dt{font-weight:600;text-transform:uppercase;letter-spacing:0.07em;font-size:0.72rem;color:var(--ink-muted);padding-top:0.15em}.workshop-meta dd{margin:0}figure{margin:var(--s-5) 0}figure img{border-radius:var(--radius);border:1px solid var(--rule);box-shadow:var(--shadow-sm)}figcaption{font-size:var(--size-small);color:var(--ink-muted);margin-top:var(--s-2);line-height:1.45;max-width:var(--measure)}.gallery{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fill, minmax(17rem, 1fr));margin:var(--s-5) 0}.gallery figure{margin:0}.gallery img{width:100%}table{border-collapse:collapse;width:100%;margin:var(--s-5) 0;font-size:var(--size-small);line-height:1.5}thead th{background:var(--surface-alt);font-weight:700;text-align:left;border-bottom:2px solid var(--rule-strong)}th,td{padding:var(--s-3) var(--s-3);border-bottom:1px solid var(--rule);vertical-align:top;text-align:left}tbody td:first-child{white-space:nowrap;color:var(--ink-muted);font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--surface-alt)}@media (max-width: 40rem){table{display:block;overflow-x:auto;white-space:normal;-webkit-overflow-scrolling:touch}}.site-footer{background:var(--surface);border-top:1px solid var(--rule);margin-top:var(--s-8);padding-block:var(--s-7);font-size:var(--size-small);color:var(--ink-muted)}.site-footer p{max-width:42rem;margin-bottom:var(--s-3)}.site-footer strong{color:var(--ink)}.site-footer a{color:var(--accent)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4)}.footer-meta{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--rule);font-size:0.8rem}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms;animation-iteration-count:1;transition-duration:0.01ms}.archive-card:hover{transform:none}}@media print{body{background:#fff;color:#000;font-size:11pt}.site-header,.site-nav,.subnav,.site-footer,.skip-link{display:none}main.wrap{padding:0;max-width:none}a{color:#000;text-decoration:underline}.page a[href^="http"]::after,.workshop a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}.card,.event-panel,.archive-card{box-shadow:none;border:1px solid #999}figure,table,.card{break-inside:avoid}}
