:root{--ink:#0a0a0b;--paper:#ece9e2;--muted:#9a9aa2;--muted-dim:#9a9aa299;--line:#ece9e221;--font-brand:"Archivo", sans-serif;--font-display:"Bricolage Grotesque", sans-serif;--font-body:"Space Grotesk", sans-serif;--font-mono:"IBM Plex Mono", monospace;--ease-spring:cubic-bezier(.32, .72, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--pad:clamp(18px, 3.4vw, 44px)}*,:before,:after{box-sizing:border-box}html{background:var(--ink)}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}h1,p{margin:0}:focus-visible{outline:2px solid var(--paper);outline-offset:3px;border-radius:4px}.grain{z-index:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.scanlines{z-index:0;pointer-events:none;opacity:.05;background-image:repeating-linear-gradient(#ece9e28c 0 1px,#0000 1px 3px);position:fixed;inset:0}.page{flex-direction:column;height:100svh;display:flex;position:relative}.field-bar{z-index:20;padding:18px var(--pad);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none;background:linear-gradient(#0a0a0bd9,#0000);justify-content:space-between;align-items:center;font-size:11px;display:flex;position:fixed;top:0;left:0;right:0}.field-bar>*{pointer-events:auto}.field-brandmark{font-family:var(--font-brand);letter-spacing:.26em;color:var(--paper);opacity:.85;pointer-events:none;font-size:15px;font-weight:700;position:absolute;top:19px;left:50%;transform:translate(-50%)}.back-link{color:var(--paper);font-family:var(--font-brand);letter-spacing:.02em;text-transform:none;opacity:.8;align-items:center;gap:.5em;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-flex}.back-link:hover,.back-link:focus-visible{opacity:1}.index-toggle{color:var(--paper);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:1px solid #ece9e252;border-radius:999px;padding:8px 16px;transition:background .2s,border-color .2s,color .2s}.index-toggle:hover,.index-toggle:focus-visible{border-color:var(--paper)}.index-toggle.is-active{background:var(--paper);color:var(--ink);border-color:var(--paper)}.field-main{flex:1;min-height:0;position:relative}.field-main>*{animation:field-swap-in .22s var(--ease-out)}@keyframes field-swap-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.field-main>*{animation:none}}.grid-shell{width:100%;height:100%;position:relative}.grid-viewport{-webkit-overflow-scrolling:touch;perspective:1000px;padding:84px 12px 190px;position:absolute;inset:0;overflow:hidden auto}.grid-wall{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.grid-cell{aspect-ratio:3/4;position:relative}.grid-cell-glow{z-index:0;filter:blur(22px);opacity:0;pointer-events:none;background:radial-gradient(closest-side,#ece9e280,#0000 72%);border-radius:34px;position:absolute;inset:-20px}.grid-card{z-index:1;font:inherit;color:var(--paper);-webkit-tap-highlight-color:transparent;transform-style:flat;backface-visibility:hidden;background:#141416;border:1px solid #ece9e21a;border-radius:18px;padding:0;text-decoration:none;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 40px -22px #000000bf}.grid-card:active{transform:scale(.96)!important}.grid-card img,.grid-card video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.grid-card-video{opacity:0;transition:opacity .35s}.grid-card.is-playing .grid-card-video{opacity:1}.grid-card-video-control{z-index:3;color:#fff;-webkit-backdrop-filter:blur(8px);width:30px;height:30px;font:600 10px/1 var(--font-mono);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#08080aad;border:1px solid #ffffff57;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 6px 18px #00000052}.grid-card-video-control:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.grid-card-caption{z-index:1;background:linear-gradient(#06060800 0%,#060608db 100%);flex-direction:column;gap:1px;padding:18px 9px 8px;display:flex;position:absolute;bottom:0;left:0;right:0}.grid-card-type{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:7.5px}.grid-card-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--paper);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;overflow:hidden}.grid-card--cta{box-shadow:none;background:0 0;border:1.5px dashed #ece9e252;justify-content:center;align-items:center;display:flex}.grid-cta-mark{color:var(--paper);font-size:1.5rem}@media (prefers-reduced-motion:reduce){.grid-cell-glow{display:none}}.index-view{height:100%;padding:96px var(--pad) 48px;overflow-y:auto}.index-list{border-top:1px solid var(--line);max-width:1100px;margin:0 auto}.index-row{border-bottom:1px solid var(--line)}.index-link{color:var(--paper);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:clamp(14px,3vw,36px);width:100%;padding:clamp(16px,2.6vh,26px) 4px;text-decoration:none;transition:opacity .2s;display:flex}.index-link:hover,.index-link:focus-visible{opacity:.7}.index-num{font-family:var(--font-mono);color:var(--muted-dim);flex-shrink:0;width:2.4ch;font-size:12px}.index-name{font-family:var(--font-display);flex:auto;min-width:0;font-size:clamp(1rem,2vw,1.4rem);font-weight:700}.index-category,.index-year{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11.5px}.index-category{text-overflow:ellipsis;white-space:nowrap;flex:0 28ch;overflow:hidden}.index-chip{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid #ece9e247;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:10px}.index-chip--client{color:var(--paper);border-color:#ece9e299}.index-arrow{font-family:var(--font-mono);color:var(--muted-dim);flex-shrink:0;font-size:14px}@media (width<=700px){.index-category{display:none}}.contact-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060608b8;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.contact-panel{background:#141416;border:1px solid #f2f2ef1f;border-radius:20px;width:min(440px,100%);padding:clamp(1.8rem,4vw,2.6rem);position:relative;box-shadow:0 40px 90px -30px #000000e6}.contact-close{width:36px;height:36px;color:var(--paper,#f2f2ef);cursor:pointer;background:#f2f2ef14;border:none;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:.9rem;right:.9rem}.contact-close:hover{background:#f2f2ef29}.contact-kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--muted,#9a9aa2);margin-bottom:.6rem;font-size:.72rem;font-weight:700}.contact-panel h2{letter-spacing:-.01em;margin-bottom:.9rem;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:600}.contact-text{color:#c9c9cf;margin-bottom:1.6rem;font-size:.95rem;line-height:1.55}.contact-email{color:var(--paper,#f2f2ef);text-underline-offset:3px;font-size:1.05rem;font-weight:600;text-decoration:underline;display:inline-block}.video-lightbox-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060608e6;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);display:flex;position:fixed;inset:0}.video-lightbox-panel{width:min(1400px,100%,149.333vh);position:relative}.video-lightbox-video{aspect-ratio:16/9;object-fit:contain;background:#000;width:100%;display:block;box-shadow:0 60px 120px -30px #000000e6}.video-lightbox-close{width:36px;height:36px;color:var(--paper,#f2f2ef);cursor:pointer;background:#f2f2ef1a;border:none;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:-3rem;right:0}.video-lightbox-close:hover{background:#f2f2ef33}@media (width<=700px){.video-lightbox-close{top:-2.6rem}}.preview-backdrop{z-index:200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:preview-backdrop-in .25s var(--ease-out,ease);background:#060608c7;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);display:flex;position:fixed;inset:0}.preview-panel{-webkit-backdrop-filter:blur(32px)saturate(1.05);width:min(920px,100%);max-height:88vh;animation:preview-panel-in .32s var(--ease-spring,ease);background:linear-gradient(160deg,#ffffff0d,#ffffff03),#080809d1;border:1px solid #ffffff1a;border-radius:24px;display:flex;position:relative;overflow-y:auto;box-shadow:0 60px 130px -40px #000000d9,inset 0 1px #ffffff1a}@keyframes preview-backdrop-in{0%{opacity:0}}@keyframes preview-panel-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (prefers-reduced-motion:reduce){.preview-backdrop,.preview-panel{animation:none}}.preview-close{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:36px;height:36px;color:var(--paper,#f2f2ef);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;font-size:1.4rem;line-height:1;transition:background .2s;position:absolute;top:14px;right:14px}.preview-close:hover,.preview-close:focus-visible{background:#ffffff2e}.preview-media{background:#0c0c0d;border-radius:24px 0 0 24px;flex:50%;min-width:0;min-height:260px;position:relative;overflow:hidden}.preview-media img,.preview-media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.preview-media video{opacity:0;animation:.4s .15s forwards preview-video-in}@keyframes preview-video-in{to{opacity:1}}.preview-info{flex-direction:column;flex:50%;min-width:0;padding:clamp(1.6rem,3.4vw,3rem);display:flex}.preview-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#9a9aa2);margin-bottom:10px;font-size:11px}.preview-name{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700}.preview-meta{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted,#9a9aa2);margin-bottom:18px;font-size:12px}.preview-desc{color:#c9c9cf;margin-bottom:auto;padding-bottom:24px;font-size:.95rem;line-height:1.6}.preview-actions{display:flex}.preview-cta{color:var(--paper,#f2f2ef);font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.5em;padding:13px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.preview-cta:hover,.preview-cta:focus-visible{background:var(--paper,#f2f2ef);color:var(--ink,#0a0a0b);border-color:var(--paper,#f2f2ef)}@media (width<=760px){.preview-panel{flex-direction:column;max-height:92vh}.preview-media{aspect-ratio:16/9;border-radius:24px 24px 0 0;min-height:0}}.field-shell{width:100%;height:100%;position:relative}.field-load-fallback{width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:#0a0a0b;place-items:center;font-size:11px;display:grid}.field-drag-hint{z-index:16;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#fff;white-space:nowrap;pointer-events:none;margin:0;font-size:66px;transition:opacity .6s;animation:2.6s ease-in-out infinite field-hint-blink;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.field-drag-hint.is-dismissed{animation:none;opacity:0!important}@keyframes field-hint-blink{0%,to{opacity:.5}50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.field-drag-hint{opacity:.4;animation:none}}.field-bottom-nav{z-index:16;opacity:0;pointer-events:none;align-items:center;gap:clamp(22px,3vw,42px);transition:opacity .6s;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.field-bottom-nav.is-visible{opacity:1;pointer-events:auto}.field-bottom-nav-link{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ece9e2b3;padding:0 0 7px;font-size:11.5px;font-weight:600;text-decoration:none;transition:color .2s;position:relative}.field-bottom-nav-link:after{content:"";transform-origin:0;height:9px;transition:transform .35s var(--ease-out,cubic-bezier(.16, 1, .3, 1));background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop stop-color='%238F85F7' stop-opacity='0'/%3E%3Cstop offset='.16' stop-color='%238F85F7' stop-opacity='.68'/%3E%3Cstop offset='.42' stop-color='%235B4FE8'/%3E%3Cstop offset='.68' stop-color='%235B4FE8' stop-opacity='.9'/%3E%3Cstop offset='.87' stop-color='%238F85F7' stop-opacity='.55'/%3E%3Cstop offset='1' stop-color='%238F85F7' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M2 5.2 C25 4.4 43 5.7 61 4.8 C80 4.1 98 5 118 4.6' fill='none' stroke='url(%23g)' stroke-width='2.15' stroke-linecap='round'/%3E%3Cpath d='M9 6.8 C36 6.1 72 6.9 111 6.2' fill='none' stroke='%23ECB2D1' stroke-opacity='.34' stroke-width='.9' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}a.field-bottom-nav-link:hover,a.field-bottom-nav-link:focus-visible{color:var(--paper)}a.field-bottom-nav-link:hover:after,a.field-bottom-nav-link:focus-visible:after,.field-bottom-nav-link.is-current:after{transform:scaleX(1)}.field-bottom-nav-link.is-current{color:var(--accent-soft,#8f85f7)}.field-reduced{height:100%;padding:96px var(--pad) 48px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px;display:grid;overflow-y:auto}.field-reduced-card{color:var(--paper);background:#141416;border-radius:14px;flex-direction:column;gap:6px;text-decoration:none;transition:opacity .15s;display:flex;overflow:hidden}.field-reduced-card:hover,.field-reduced-card:focus-visible{opacity:.85}.field-reduced-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.field-reduced-name{font-family:var(--font-display);padding:10px 12px 0;font-size:1rem;font-weight:700}.field-reduced-meta{font-family:var(--font-mono);color:var(--muted);padding:0 12px 12px;font-size:.7rem}@media (width<=860px){.field-bottom-nav{gap:28px;bottom:28px}}
