*,*:before,*:after{box-sizing:border-box}html{font-size:clamp(15px,.85vw + 12px,18px);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{font:inherit;color:inherit;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid color-mix(in srgb,var(--text) 55%,transparent);outline-offset:3px}:root{color-scheme:dark;--font-display: ui-serif, "Georgia", "Times New Roman", Times, serif;--font-body: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--h1-size: clamp(2.6rem, 4.8vw, 4.2rem);--h2-size: clamp(1.4rem, 2.2vw, 2.2rem);--page-pad: clamp(18px, 3.2vw, 56px);--content-max: 1680px;--section-gap: clamp(46px, 6vw, 96px);--grid-gap: clamp(16px, 2vw, 30px);--bg: #0b0c0f;--bg-2: #0f1116;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .62);--hairline: rgba(255, 255, 255, .14);--radius: 14px;--ease: cubic-bezier(.2, .8, .2, 1);--grain: radial-gradient(1400px 800px at 10% -10%, rgba(255, 255, 255, .06), transparent 60%), radial-gradient(1100px 650px at 90% 0%, rgba(255, 255, 255, .04), transparent 60%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:var(--grain);opacity:.7}#root{min-height:100vh}.site-main{width:100%;padding:var(--page-pad);padding-top:clamp(26px,3vw,54px)}.site-main>*{max-width:var(--content-max);margin-left:auto;margin-right:auto}h1,h2,h3{margin:0}h1{font-family:var(--font-display);font-size:var(--h1-size);line-height:1.02;letter-spacing:-.02em;margin-bottom:.75rem}h2{font-family:var(--font-display);font-size:var(--h2-size);line-height:1.12;letter-spacing:-.02em}p{margin:0 0 1rem;color:var(--muted);max-width:72ch}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:color-mix(in srgb,var(--text) 58%,transparent);margin-bottom:.9rem}.site-header{position:sticky;top:0;z-index:60;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 86%,transparent));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--hairline)}.site-brand{width:100%;max-width:var(--content-max);margin-inline:auto;padding:clamp(14px,2.2vw,26px) var(--page-pad);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.1rem}.site-logo{width:52px;height:52px;border-radius:999px;object-fit:cover;border:1px solid var(--hairline);background:var(--bg-2);filter:contrast(1.05) saturate(.95)}.site-name{font-family:var(--font-display);font-size:clamp(.95rem,1.1vw,1.05rem);letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 88%,transparent);transform:translateY(1px)}.site-brand:hover .site-name{color:var(--text)}@media(max-width:640px){.site-brand{padding:14px var(--page-pad);gap:.9rem}.site-logo{width:44px;height:44px}.site-name{font-size:.9rem;letter-spacing:.22em}}.gallery-section{margin-top:var(--section-gap)}.section-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:clamp(14px,2vw,22px)}.section-title{text-align:center;font-family:var(--font-display);margin:0}.section-rule{height:1px;background:var(--hairline)}.gallery-grid{column-count:3;column-gap:var(--grid-gap)}@media(max-width:980px){.gallery-grid{column-count:2}}@media(max-width:640px){.gallery-grid{column-count:1}}.gallery-item{break-inside:avoid;margin:0 0 var(--grid-gap)}.gallery-link{width:100%;display:block;text-align:left;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);background:var(--bg-2);cursor:pointer;transition:transform .18s var(--ease),border-color .18s var(--ease)}.gallery-link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--text) 22%,transparent)}.gallery-media{overflow:hidden}.gallery-media img{width:100%;height:auto;display:block;opacity:.98;transition:transform .24s var(--ease),opacity .24s var(--ease)}.gallery-link:hover .gallery-media img{transform:scale(1.02);opacity:1}.gallery-caption{padding:.95rem 1rem 1.05rem;font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.01em;color:color-mix(in srgb,var(--text) 78%,transparent)}.gallery-caption:before{content:"";display:block;width:36px;height:1px;background:var(--hairline);margin-bottom:.65rem}.gallery-title{display:block}.gallery-desc{display:block;margin-top:.35rem;font-family:var(--font-body);font-size:.92rem;line-height:1.5;letter-spacing:0;color:color-mix(in srgb,var(--text) 62%,transparent)}.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--page-pad);background:color-mix(in srgb,#000 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-inner{width:min(1200px,100%);max-height:calc(100vh - (var(--page-pad) * 2));overflow:auto;border:1px solid color-mix(in srgb,var(--hairline) 90%,transparent);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--bg) 92%,#000)}.lightbox-top{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:clamp(16px,2.2vw,26px);border-bottom:1px solid var(--hairline)}.lightbox-meta{min-width:0}.lightbox-eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;color:color-mix(in srgb,var(--text) 58%,transparent)}.lightbox-title{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.15;letter-spacing:-.02em;color:var(--text)}.lightbox-desc{margin:.6rem 0 0;color:var(--muted);max-width:70ch}.lightbox-close{width:42px;height:42px;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb,var(--bg-2) 78%,transparent);display:grid;place-items:center;cursor:pointer;transition:transform .16s var(--ease),border-color .16s var(--ease)}.lightbox-close:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--text) 24%,transparent)}.lightbox-media{padding:clamp(14px,2.2vw,26px)}.lightbox-media img{width:100%;height:auto;display:block;border-radius:calc(var(--radius) - 2px);border:1px solid color-mix(in srgb,var(--hairline) 80%,transparent)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
