:root{--bg:#f7f5f0;--bg-elevated:#fdfcfa;--ink:#1b1917;--ink-soft:#55504a;--muted:#8d867c;--hairline:#e5e1d8;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(1.25rem, 4vw, 3.5rem);--stream-max:90rem;--text-max:42rem;--reveal-duration:.9s;--reveal-ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{font-family:var(--font-sans);color:var(--ink);flex-direction:column;min-height:100vh;margin:0;font-size:1rem;line-height:1.6;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}main img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}a{color:currentColor;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{padding:clamp(1.25rem, 3vw, 2.25rem) var(--gutter);justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.site-header .wordmark{letter-spacing:.16em;text-transform:uppercase;font-size:.95rem;font-weight:600}.site-nav{gap:clamp(1rem,2.5vw,2rem);display:flex}.site-nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem;transition:color .25s}.site-nav a:hover{color:var(--ink)}.stream{flex-direction:column;gap:clamp(3rem,8vw,7rem);padding:clamp(1.5rem,4vw,3rem) 0 clamp(4rem,8vw,7rem);display:flex}.stream figure{margin:0}.stream-hero{width:100%}.stream-hero img{width:100%;height:auto}.stream-grid{max-width:var(--stream-max);padding:0 var(--gutter);grid-template-columns:repeat(2,1fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);margin:0 auto;display:grid}@media (max-width:640px){.stream-grid{grid-template-columns:1fr}}.stream a.photo-link{display:block}.stream figcaption{letter-spacing:.06em;color:var(--muted);margin-top:.75rem;font-size:.78rem}.stream-hero figcaption{padding:0 var(--gutter)}.stream-empty{max-width:var(--text-max);padding:0 var(--gutter);text-align:center;color:var(--muted);letter-spacing:.04em;margin:20vh auto}.photo-detail{min-height:calc(100vh - 6rem);padding:0 var(--gutter) clamp(2rem, 5vw, 4rem);flex-direction:column;display:flex}.photo-detail .stage{flex:1;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2.5rem) 0;display:flex}.photo-detail .stage img{width:auto;max-width:100%;height:auto;max-height:78vh}.photo-detail .meta{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:2rem;padding-top:1.25rem;display:flex}.photo-detail h1{letter-spacing:.04em;margin:0;font-size:1rem;font-weight:600}.photo-detail .caption{color:var(--ink-soft);margin:.35rem 0 0;font-size:.85rem}.photo-detail .themes{flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.photo-detail .themes li{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.photo-detail nav.pager{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;gap:1.5rem;font-size:.8rem;display:flex}.photo-detail nav.pager a,.photo-detail nav.pager span{color:var(--ink-soft)}.photo-detail nav.pager span[aria-disabled=true]{color:var(--hairline)}.photo-detail nav.pager a:hover{color:var(--ink)}.detail-topbar{justify-content:flex-start;padding-top:.5rem;display:flex}.detail-topbar a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem}.detail-topbar a:hover{color:var(--ink)}.reveal{opacity:0;transition:opacity var(--reveal-duration) var(--reveal-ease), transform var(--reveal-duration) var(--reveal-ease);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.cart-link{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:.8rem}.purchase-reveal{appearance:none;border:1px solid var(--ink);color:var(--ink);font:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:1.25rem;padding:.65rem 1.4rem;font-size:.8rem;transition:background .25s,color .25s}.purchase-reveal:hover{background:var(--ink);color:var(--bg)}.purchase-panel{flex-direction:column;gap:1rem;max-width:28rem;margin-top:1.25rem;display:flex}.purchase-panel fieldset{border:none;margin:0;padding:0}.purchase-panel legend{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;padding:0;font-size:.7rem}.purchase-panel .choices{flex-direction:column;gap:.35rem;display:flex}.purchase-panel .choices label{cursor:pointer;align-items:baseline;gap:.5rem;font-size:.9rem;display:flex}.purchase-note,.purchase-soldout{color:var(--muted);margin:0;font-size:.8rem}.purchase-soldout{letter-spacing:.06em;margin-top:1.25rem}.purchase-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.purchase-add{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.65rem 1.4rem;font-size:.8rem}.purchase-add:disabled{opacity:.35;cursor:not-allowed}.purchase-goto{text-underline-offset:3px;font-size:.85rem;text-decoration:underline}.page-narrow{max-width:var(--text-max);padding:clamp(1.5rem, 4vw, 3rem) var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.page-narrow h1{letter-spacing:.06em;font-size:1.3rem;font-weight:600}.cart-lines{flex-direction:column;margin:2rem 0 0;padding:0;list-style:none;display:flex}.cart-lines li{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding:1rem 0;display:flex}.cart-line-info{flex-direction:column;gap:.2rem;display:flex}.cart-line-info a{font-weight:600}.cart-line-info small{color:var(--muted)}.cart-line-controls{align-items:center;gap:1rem;display:flex}.cart-line-controls label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.cart-line-controls input{width:3.2rem;font:inherit;border:1px solid var(--hairline);background:var(--bg-elevated);padding:.3rem .4rem}.cart-line-controls button{appearance:none;font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.75rem}.cart-line-controls button:hover{color:var(--ink)}.cart-line-price{text-align:right;font-variant-numeric:tabular-nums;min-width:6rem}.cart-totals{flex-direction:column;gap:.4rem;margin:1.5rem 0 0;display:flex}.cart-totals div{justify-content:space-between;display:flex}.cart-totals dt{color:var(--muted)}.cart-totals dd{font-variant-numeric:tabular-nums;margin:0}.cart-totals .cart-total{border-top:1px solid var(--ink);margin-top:.4rem;padding-top:.6rem;font-weight:600}.cart-totals .cart-total dt{color:var(--ink)}.cart-note{color:var(--muted);font-size:.78rem}.cart-error{color:#8a2f22;font-size:.9rem}.cart-empty{color:var(--muted);margin-top:2rem}.cart-actions{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.cart-actions button{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.75rem 1.6rem;font-size:.8rem}.cart-actions button:nth-child(2){color:var(--ink);background:0 0}.cart-actions button:disabled{opacity:.45;cursor:wait}.thanks p{max-width:34rem}.cart-waiver{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:.6rem;max-width:34rem;margin-top:1.25rem;font-size:.82rem;display:flex}.cart-waiver input{margin-top:.2rem}.events-feed{max-width:var(--stream-max);padding:clamp(1.5rem, 4vw, 3rem) var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.events-feed h1,.event-gallery h1{letter-spacing:.06em;font-size:1.3rem;font-weight:600}.events-feed ul{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin:2rem 0 0;padding:0;list-style:none;display:grid}.event-card{display:block}.event-card img{aspect-ratio:3/2;object-fit:cover;width:100%}.event-card-meta h2{margin:.75rem 0 0;font-size:1rem;font-weight:600}.event-card-meta p{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.event-gallery{max-width:var(--stream-max);padding:clamp(1.5rem, 4vw, 3rem) var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.event-header a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem}.event-header p{color:var(--muted);font-size:.85rem}.event-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:clamp(1rem,2.5vw,2rem);margin-top:2rem;display:grid}.event-grid figure{margin:0}.event-grid figcaption{margin-top:.5rem}.file-add{appearance:none;border:1px solid var(--hairline);color:var(--ink-soft);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.45rem .9rem;font-size:.75rem;transition:border-color .25s,color .25s}.file-add:hover{border-color:var(--ink);color:var(--ink)}.file-in-cart{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}.event-note{margin-top:2rem}.contact-form{flex-direction:column;gap:1rem;max-width:30rem;margin-top:2rem;display:flex}.contact-form label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:.35rem;font-size:.75rem;display:flex}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);border:1px solid var(--hairline);background:var(--bg-elevated);padding:.6rem .7rem;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);outline:none}.contact-form .hp{width:1px;height:1px;position:absolute;left:-9999px}.contact-form button{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;align-self:flex-start;padding:.7rem 1.5rem;font-size:.8rem}.contact-sent{color:var(--ink-soft);margin-top:2rem}.cms-page :is(h2,h3){margin-top:2rem;font-size:1.05rem;font-weight:600}.cms-page p,.cms-page li{color:var(--ink-soft);font-size:.95rem}.site-footer .legal{flex-wrap:wrap;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-footer{border-top:1px solid var(--hairline);padding:clamp(1.5rem, 3vw, 2.5rem) var(--gutter);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:auto;font-size:.78rem;display:flex}.site-footer a{color:var(--ink-soft)}.site-footer a:hover{color:var(--ink)}.site-footer .social{gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}
