@font-face{font-family:PacFont;src:url(/fonts/pacfont.ttf) format("truetype");font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JKAbode;src:url(/fonts/jk-abode.ttf) format("truetype");font-display:swap}@font-face{font-family:Funnel Display;src:url(/fonts/funnel-display-variable.woff2) format("woff2-variations");font-weight:300 800;font-style:normal;font-display:swap}:root{--bg: #f5f2ec;--bg-alt: #ece8e0;--fg: #1a1815;--fg-muted: #6a655e;--fg-soft: #8a857e;--border: #d8d2c8;--border-strong: #b8b2a8;--accent: #1a1815;--font-display: "PacFont", system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--measure: 62ch;--container: 1180px;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6rem;--space-7: 9rem}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-feature-settings:"ss01","cv11";font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--border-strong);text-underline-offset:4px;transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--piece-primary, var(--fg))}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--space-3)}.measure{max-width:var(--measure)}.logotype{font-family:var(--font-display);letter-spacing:.04em;text-decoration:none}.title-root,.title-suffix{letter-spacing:.04em;text-transform:uppercase}.title-root{color:var(--title-root-color, currentColor)}.title-suffix{color:var(--title-suffix-color, currentColor)}.piece-title-lockup{display:inline;line-height:1}.logotype,.piece-card .title,.piece-body .title,.piece-body .copy h2,.prose h1,.prose h2{text-transform:uppercase}.site-header{padding:var(--space-3) 0 var(--space-1)}.site-header .container{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.site-header .logo{font-size:3rem;color:var(--fg);line-height:1}.site-header nav{display:flex;gap:var(--space-3);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:500}.site-header nav a{text-decoration:none;color:var(--fg-muted);transition:color .15s ease}.site-header nav a:hover{color:var(--fg)}.site-footer{border-top:1px solid var(--border);margin-top:var(--space-7);padding:var(--space-3) 0 var(--space-4);font-size:.78rem;color:var(--fg-soft);text-transform:uppercase;letter-spacing:.18em}.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}:root{--hero-edge-x: clamp(1.5rem, 5vw, 5rem);--hero-tagline-indent: clamp(1rem, 1.9vw, 1.6rem)}.hero-cinematic{position:relative;height:100vh;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;color:#fff}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.hero-video,.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,#00000073,#00000040 40%,#0009)}.hero-header{position:absolute;top:0;left:0;right:0;padding:var(--space-3) var(--hero-edge-x);display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);z-index:2}.hero-vixt{font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);line-height:1;color:#fff;text-decoration:none;letter-spacing:.04em}.hero-nav{display:flex;gap:var(--space-3);font-size:.82rem;text-transform:uppercase;letter-spacing:.18em;font-weight:500}.hero-nav a{text-decoration:none;color:#ffffffc7;transition:color .15s ease}.hero-nav a:hover{color:#fff}.hero-tagline-overlay{position:absolute;top:clamp(5.5rem,9vw,8rem);left:calc(var(--hero-edge-x) + var(--hero-tagline-indent));margin:0;font-family:var(--font-body);font-style:italic;font-size:clamp(1rem,1.4vw,1.2rem);color:#ffffffd9;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.4)}.hero-fragment{position:absolute;margin:0;max-width:28ch;font-family:"Funnel Display",var(--font-body);font-size:clamp(1.4rem,2.6vw,2.4rem);font-weight:500;line-height:1.4;letter-spacing:0;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.55);z-index:2}.hero-fragment-1{top:38%;left:var(--hero-edge-x)}.hero-fragment-2{top:50%;right:var(--hero-edge-x);text-align:right}.hero-fragment-3{bottom:30%;left:var(--hero-edge-x)}.hero-fragment-4{bottom:14%;right:var(--hero-edge-x);text-align:right}.hero-blurb-single{bottom:18%;left:var(--hero-edge-x);max-width:32ch}.pieces-section{margin-top:var(--space-6)}.section-label{display:flex;align-items:center;gap:.7em;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--fg-muted);margin:0 0 var(--space-4);font-weight:500}.section-label .triangle{color:var(--fg)}.pieces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4) var(--space-3)}.piece-card{display:block;text-decoration:none;color:inherit;group:card}.piece-card .thumb{aspect-ratio:4 / 3;background:var(--bg-alt);overflow:hidden;position:relative}.piece-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.piece-card:hover .thumb img{transform:scale(1.02)}.piece-card .meta{padding:var(--space-2) 0;display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.piece-card .title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.03em;margin:0}.piece-card .subtitle{font-size:.95rem;font-style:italic;color:var(--fg-muted);margin:0}.piece-card .year{font-size:.78rem;letter-spacing:.18em;color:var(--fg-soft);margin:0 0 0 auto;text-transform:uppercase}.piece-meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--fg-muted)}.piece-meta-row .piece-year{display:inline-flex;align-items:center;gap:.55em}.piece-meta-row .piece-year .triangle{color:var(--piece-primary, var(--fg))}.piece-body{padding:var(--space-5) 0 var(--space-2)}.piece-body .title{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.02;letter-spacing:.02em;margin:0 0 var(--space-4)}.piece-body .subtitle{font-size:clamp(1.3rem,2.4vw,1.8rem);font-style:italic;font-weight:300;color:var(--fg-muted);margin:0 0 var(--space-4)}.piece-body .copy{max-width:var(--measure);font-size:1.05rem;line-height:1.7}.piece-body .copy p{margin:0 0 var(--space-2)}.piece-body .copy p:first-child{font-size:1.2rem;line-height:1.55;color:var(--fg);margin-bottom:var(--space-3)}.piece-body .copy h2{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.03em;margin:var(--space-4) 0 var(--space-2)}.piece-body .copy a{text-decoration-color:var(--piece-primary, var(--border-strong))}.deployments{margin:var(--space-5) 0;border-top:1px solid var(--border);padding-top:var(--space-3)}.deployments .section-label{margin-bottom:var(--space-2)}.deployments ul{list-style:none;padding:0;margin:0;display:grid;gap:0}.deployments li{display:grid;grid-template-columns:minmax(170px,max-content) 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:.95rem}.deployments li:last-child{border-bottom:0}.deployments .event{font-weight:500;letter-spacing:.02em}.deployments .detail{color:var(--fg-muted);font-style:italic}.piece-nav{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin:var(--space-5) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border)}.piece-nav-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.4rem;transition:opacity .15s ease;max-width:45%}.piece-nav-link:hover,.piece-nav-link:focus-visible{opacity:.7}.piece-nav-prev{align-items:flex-start;text-align:left}.piece-nav-next{align-items:flex-end;text-align:right;margin-left:auto}.piece-nav-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--fg-muted);font-weight:500}.piece-nav-title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.03em;text-transform:uppercase}.piece-nav-placeholder{flex:0 0 0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2);margin:var(--space-5) 0}.gallery-item{appearance:none;border:0;padding:0;margin:0;background:var(--bg-alt);cursor:pointer;width:100%;aspect-ratio:4 / 3;overflow:hidden;position:relative;display:block}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery-item:hover img,.gallery-item:hover video,.gallery-item:focus-visible img,.gallery-item:focus-visible video{transform:scale(1.03)}.gallery-item:focus-visible{outline:2px solid var(--piece-primary, var(--fg));outline-offset:2px}.gallery-item.is-video:after{content:"";position:absolute;top:50%;left:50%;width:3.5rem;height:3.5rem;border-radius:50%;background-color:#0000008c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:58% center;background-size:1.6rem 1.6rem;transform:translate(-50%,-50%);pointer-events:none}.gallery-more{margin-top:var(--space-3)}.gallery-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5em;padding:var(--space-2) 0;font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--fg-muted);user-select:none;transition:color .15s ease}.gallery-more>summary::-webkit-details-marker{display:none}.gallery-more>summary:before{content:"+";display:inline-block;width:1em;color:var(--piece-primary, var(--fg));font-weight:600}.gallery-more[open]>summary:before{content:"−"}.gallery-more[open]>summary,.gallery-more>summary:hover{color:var(--fg)}.gallery-more>.gallery{margin-top:var(--space-2)}#lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;border:0;padding:0;margin:0;background:transparent;color:#fff;overflow:hidden}#lightbox[open]{display:flex;align-items:center;justify-content:center}#lightbox::backdrop{background:#000000eb}#lightbox-content{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-3);box-sizing:border-box;cursor:zoom-out}#lightbox-content img,#lightbox-content video{max-width:calc(100vw - 2 * var(--space-3));max-height:calc(100vh - 2 * var(--space-3));width:auto;height:auto;display:block;cursor:default}#lightbox-close,#lightbox-prev,#lightbox-next{position:fixed;appearance:none;border:0;background:#ffffff1f;color:#fff;line-height:1;cursor:pointer;transition:background .15s ease;z-index:1}#lightbox-close:hover,#lightbox-close:focus-visible,#lightbox-prev:hover,#lightbox-prev:focus-visible,#lightbox-next:hover,#lightbox-next:focus-visible{background:#ffffff38}#lightbox-close{top:var(--space-2);right:var(--space-2);font-size:1.2rem;padding:.55rem .8rem;border-radius:4px}#lightbox-prev,#lightbox-next{top:50%;transform:translateY(-50%);font-size:2.4rem;width:3rem;height:3.6rem;display:flex;align-items:center;justify-content:center;border-radius:4px}#lightbox-prev{left:var(--space-2)}#lightbox-next{right:var(--space-2)}#lightbox-prev[hidden],#lightbox-next[hidden]{display:none}.triangle{display:inline-block;vertical-align:middle;width:1em;height:1em}.section-rule{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-5) 0 var(--space-3);color:var(--fg-muted)}.section-rule:before,.section-rule:after{content:"";flex:1;height:1px;background:var(--border)}.prose{padding:var(--space-5) 0 var(--space-6)}.prose h1{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:.02em;margin:0 0 var(--space-3)}.prose h2{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.03em;margin:var(--space-4) 0 var(--space-1)}.prose p{margin:0 0 var(--space-2);max-width:var(--measure);font-size:1.05rem;line-height:1.7}.contact-block{font-size:1.1rem;line-height:1.9;margin-top:var(--space-3)}.contact-block dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--fg-muted);margin-top:var(--space-2)}.contact-block dd{margin:0 0 var(--space-1)}
