:root{--paper:#f3efe6;--paper-2:#e9e3d6;--ink:#14120f;--gold:#a9762f;--gold-lift:#c9974a;--teal:#2a6675;--teal-lift:#3e8899;--dim:#6a6252;--rule:#14120f24;--sw-bg:#f3efe6;--sw-panel:#eae4d7;--sw-fg:#14120f;--sw-dim:#6a6252;--sw-teal:#24606f;--sw-gold:#a9762f;--sw-rule:#14120f24;--display:-apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--serif:Georgia, "Iowan Old Style", "Times New Roman", serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--display);line-height:1.6;overflow-x:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button{font:inherit;cursor:pointer}.bar{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;padding:.85rem clamp(1rem,4vw,2.5rem);display:flex}.monogram{border:2px solid var(--paper);letter-spacing:.02em;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:800;display:grid}.bar-nav{letter-spacing:.14em;text-transform:uppercase;gap:1.25rem;font-size:.78rem;display:flex}.bar-nav a,.bar-nav button{color:#f3efe699;background:0 0;border:none;padding:.25rem 0;text-decoration:none}.bar-nav a:hover,.bar-nav button:hover{color:var(--paper)}.split{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(.5rem,3vw,2rem);max-width:78rem;margin:0 auto;padding:clamp(2rem,6vw,4.5rem) clamp(1rem,4vw,2.5rem) clamp(1.5rem,4vw,3rem);display:grid}.craft{text-align:center}.craft-word{letter-spacing:-.035em;white-space:nowrap;margin:0;font-size:clamp(1.9rem,5.4vw,4.4rem);font-weight:800;line-height:1}.craft-film .craft-word,.craft-soft .craft-word{color:var(--ink)}.craft-word .bracket{color:var(--teal);font-weight:700}.sprockets{border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);margin:.7rem 0 0;justify-content:center;gap:6px;width:fit-content;margin-inline:auto;padding:4px 8px;display:flex}.sprockets i{background:var(--gold);opacity:.85;border-radius:2px;width:9px;height:12px}.craft-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:1rem 0 0;font-size:.68rem}.craft-proof{color:var(--dim);max-width:26ch;margin:.5rem 0 1.25rem;margin-inline:auto;font-size:.92rem}.enter{border:1px solid var(--rule);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:.6rem 1.05rem;font-size:.7rem;text-decoration:none;display:inline-block}.craft-film .enter{border-color:var(--gold);color:var(--gold)}.craft-soft .enter{border-color:var(--teal);color:var(--teal)}.craft-film .enter:hover{background:var(--gold);color:var(--paper)}.craft-soft .enter:hover{background:var(--teal);color:var(--paper)}.emblem{aspect-ratio:1;background:#070605;border-radius:50%;flex:none;width:clamp(230px,29vw,430px);position:relative;overflow:hidden}.emblem img,.emblem .emblem-fallback{width:100%;height:100%;display:block}.emblem-wrap{position:relative}.emblem-note{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:.6rem;position:absolute;bottom:-2.1rem;left:50%;transform:translate(-50%)}@media (max-width:1080px){.split{grid-template-columns:1fr;gap:2.25rem}.emblem-wrap{width:fit-content;margin-inline:auto}.craft-word{font-size:clamp(2rem,9vw,3.2rem)}}.strip{max-width:78rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) clamp(3rem,7vw,5rem)}.social-icons{justify-content:center;gap:1.5rem;padding:0 clamp(1rem,4vw,2.5rem) clamp(2.5rem,6vw,4rem);display:flex}.social-icons a{color:var(--dim);display:block}.social-icons a:hover{color:var(--ink)}.social-icons svg{width:20px;height:20px;display:block}.strip-head{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);align-items:center;gap:1rem;margin:0 0 1.75rem;font-size:.7rem;display:flex}.strip-head:before,.strip-head:after{content:"";background:var(--rule);flex:1;height:1px}.cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;display:grid}.card{background:var(--paper-2);border:1px solid var(--rule);padding:1rem}.card-art{aspect-ratio:16/9;border:1px solid var(--rule);margin:0 0 .85rem;position:relative;overflow:hidden}.card-art img,.card-art video{object-fit:cover}.art-film{background:linear-gradient(150deg,#3b2a17,#9a7233 60%,#6f6a86)}.art-soft{background:repeating-linear-gradient(90deg,#2a667540 0 1px,#0000 1px 11px),linear-gradient(160deg,#1a2a30,#0f1a1e)}.card-kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .3rem;font-size:.62rem}.k-film{color:var(--gold)}.k-soft{color:var(--teal)}.card-title{margin:0 0 .2rem;font-size:1rem;font-weight:700}.card-title a{text-decoration:none}.card-title a:hover{text-decoration:underline}.card-sub{color:var(--dim);margin:0;font-size:.84rem}.film-bar{grid-template-columns:1fr auto 1fr;align-items:center;padding:1.1rem clamp(1rem,4vw,2.5rem);display:grid}.film-wordmark{letter-spacing:-.02em;font-size:1.05rem;font-weight:800;text-decoration:none}.track-nav{font-family:var(--serif);text-align:center;font-size:1.05rem}.track-nav a,.track-nav button{font-family:var(--serif);background:0 0;border:none;padding:0;font-size:1.05rem;text-decoration:none}.track-nav .active{font-style:italic}.track-nav .inactive{color:var(--dim)}.film-info{text-align:right;font-family:var(--serif);font-size:1.05rem;text-decoration:none}.film-info:hover{text-decoration:underline}.info-wrap{max-width:40rem;margin:0 auto;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,4vw,2.5rem)}.info-wrap h1{letter-spacing:-.02em;margin:0 0 1.5rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.info-wrap .lede{color:var(--dim);max-width:46ch;margin:0 0 2.5rem;font-size:1.05rem}.info-wrap .lede strong{color:var(--ink)}.info-group{margin:0 0 2rem}.info-group h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--rule);margin:0 0 .85rem;padding-bottom:.4rem;font-size:.68rem;font-weight:400}.info-links{flex-wrap:wrap;gap:.6rem 1.4rem;display:flex}.info-links a{border-bottom:1px solid var(--rule);font-size:.95rem;text-decoration:none}.info-links a:hover{border-bottom-color:var(--ink)}.info-links-social a{border-bottom:none;align-items:center;gap:.5rem;display:flex}.info-links-social a:hover{color:var(--teal)}.info-links-social svg{width:18px;height:18px;display:block}.info-back{font-family:var(--mono);color:var(--dim);margin-top:1rem;font-size:.78rem;text-decoration:none;display:inline-block}.info-back:hover{color:var(--ink)}.info-companies{flex-wrap:wrap;gap:1.5rem;display:flex}.info-company{color:var(--ink);align-items:center;gap:.6rem;font-size:.95rem;text-decoration:none;display:flex}a.info-company:hover{opacity:.8}.film-embed{aspect-ratio:16/9;width:100%;position:relative}.film-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.film-hero{margin:0 0 clamp(1rem,3vw,2rem);text-decoration:none;display:block;position:relative}.film-kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;opacity:.8;margin-bottom:.5rem;font-size:.62rem;display:block}.film-play{opacity:.9;width:46px;height:46px;margin:.9rem auto .7rem;display:block}.film-play svg{width:100%;height:100%}.film-hero:hover .film-play{opacity:1;transform:scale(1.06)}@media (prefers-reduced-motion:no-preference){.film-play{transition:transform .2s,opacity .2s}}.film-frame{aspect-ratio:16/9;background:linear-gradient(155deg,#2c1f12 0%,#8d6a2e 45%,#47506b 100%);width:100%;position:relative;overflow:hidden}.film-frame:after{content:"";opacity:.16;mix-blend-mode:overlay;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.film-frame-scrim{z-index:1;pointer-events:none;background:radial-gradient(#0c0a0726 0%,#0c0a078c 100%);position:absolute;inset:0}.film-hero-cap{z-index:2;text-align:center;color:#f7f3ea;font-family:var(--serif);text-shadow:0 2px 24px #00000080;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.film-hero-cap b{letter-spacing:.08em;font-size:clamp(1.3rem,3.4vw,2.1rem);font-weight:400;display:block}.film-hero-cap span{letter-spacing:.2em;opacity:.85;font-size:.8rem}.film-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(.75rem,2vw,1.25rem);max-width:96rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) clamp(2.5rem,6vw,4rem);display:grid}.thumb{text-decoration:none;display:block}.thumb-art{aspect-ratio:16/9;margin-bottom:.6rem;position:relative;overflow:hidden}.thumb-art img{object-fit:cover}.thumb:hover .thumb-art img{transform:scale(1.02)}@media (prefers-reduced-motion:no-preference){.thumb-art img{transition:transform .26s}}.t1{background:linear-gradient(140deg,#4a3418,#a8792f)}.t2{background:linear-gradient(140deg,#2f3a52,#8e8299)}.t3{background:linear-gradient(140deg,#3a2a20,#6f5a3c)}.thumb-cap{font-family:var(--serif);font-size:.95rem}.thumb-cap em{color:var(--dim);font-size:.82rem;font-style:normal;display:block}.credits{max-width:60rem;font-family:var(--serif);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) clamp(3.5rem,8vw,6rem)}.credits-bio{max-width:44ch;margin:0 0 1.25rem;font-size:clamp(1.05rem,2.2vw,1.3rem)}.production-mark{align-items:center;gap:.7rem;margin:0 0 2.5rem;display:flex}.production-mark-badge{background:var(--ink);border-radius:50%;flex:none;width:44px;height:44px;display:block;position:relative;overflow:hidden}.production-mark-badge img{object-fit:cover}.production-mark-name{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:.72rem}.credit-group{margin:0 0 2rem}.credit-group h3{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--rule);margin:0 0 .75rem;padding-bottom:.4rem;font-size:.66rem;font-weight:400}.credit-row{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;padding:.4rem 0;display:flex}.credit-row .t{font-size:1.02rem}.credit-row .s{color:var(--dim);font-size:.84rem}.credit-row .s a{color:var(--gold);border-bottom:1px solid #a9762f59;text-decoration:none}.credit-row .s a:hover{border-bottom-color:var(--gold)}.credits-contact{border-top:1px solid var(--rule);color:var(--dim);flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.92rem;display:flex}.credits-contact a{color:var(--gold);border-bottom:1px solid #a9762f59;align-items:center;gap:.4rem;text-decoration:none;display:flex}.credits-contact a:hover{border-bottom-color:var(--gold)}.credits-contact svg{width:16px;height:16px;display:block}.sw{color:var(--sw-fg);min-height:100vh}.sw-wrap{grid-template-columns:1fr 1.25fr;align-items:start;gap:clamp(2rem,5vw,4rem);max-width:72rem;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1.25rem,4vw,2.5rem);display:grid}@media (max-width:900px){.sw-wrap{grid-template-columns:1fr}}.sw-side{position:sticky;top:clamp(2rem,6vw,5rem)}@media (max-width:900px){.sw-side{position:static}}.sw-name{letter-spacing:-.03em;margin:0 0 .35rem;font-size:clamp(1.9rem,4.5vw,2.9rem);font-weight:800}.sw-role{color:var(--sw-fg);margin:0 0 1.5rem;font-size:1.05rem;font-weight:600}.sw-nav{flex-direction:column;gap:.5rem;margin:0 0 1.75rem;display:flex}.sw-nav a{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sw-dim);font-size:.7rem;text-decoration:none}.sw-nav a:hover{color:var(--sw-teal)}.sw-links{align-items:center;gap:1.1rem;display:flex}.sw-links a{color:var(--sw-dim);display:block}.sw-links a:hover{color:var(--sw-teal)}.sw-links svg{width:19px;height:19px;display:block}.sw-back{border:1px solid var(--sw-rule);color:var(--sw-dim);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;margin-top:2rem;padding:.5rem .9rem;font-size:.68rem;text-decoration:none;display:inline-block}.sw-back:hover{color:var(--sw-teal);border-color:var(--sw-teal)}.sw-section{margin:0 0 clamp(2.5rem,5vw,3.5rem)}.sw-section>h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sw-teal);margin:0 0 1.1rem;font-size:.68rem;font-weight:400}.sw-about p{color:var(--sw-dim);margin:0 0 .9rem}.sw-about strong{color:var(--sw-fg);font-weight:600}.job{border:1px solid #0000;grid-template-columns:8.5rem 1fr;gap:1rem;margin:0 0 .35rem;padding:1rem;display:grid}.job:hover{background:var(--sw-panel);border-color:var(--sw-rule)}@media (max-width:620px){.job{grid-template-columns:1fr;gap:.35rem}}.job-meta{flex-direction:column;gap:.55rem;display:flex}.job-when{font-family:var(--mono);letter-spacing:.06em;color:var(--sw-dim);padding-top:.25rem;font-size:.68rem}.job-what{margin:0 0 .35rem;font-size:1rem;font-weight:600}.job-what em{color:var(--sw-teal);font-style:normal;font-weight:700}.job-desc{color:var(--sw-dim);margin:0 0 .6rem;font-size:.9rem}.tags{flex-wrap:wrap;gap:.4rem;display:flex}.tags span{font-family:var(--mono);letter-spacing:.04em;color:var(--sw-teal);background:#24606f14;border:1px solid #24606f3d;border-radius:999px;padding:.18rem .5rem;font-size:.62rem}.skills{grid-template-columns:1.15fr 1fr;gap:clamp(1.25rem,3vw,2.5rem);display:grid}@media (max-width:620px){.skills{grid-template-columns:1fr}}.skills h3{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sw-dim);border-bottom:1px solid var(--sw-rule);margin:0 0 .85rem;padding-bottom:.4rem;font-size:.62rem;font-weight:400}.skill-row{margin:0 0 .85rem}.skill-row b{color:var(--sw-fg);margin:0 0 .35rem;font-size:.72rem;font-weight:600;display:block}.skill-row .tags{gap:.35rem}.soft-list{margin:0;padding:0;list-style:none}.soft-list li{color:var(--sw-dim);border-bottom:1px solid var(--sw-rule);padding:.4rem 0 .4rem 1.1rem;font-size:.88rem;position:relative}.soft-list li:before{content:"";background:var(--sw-teal);border-radius:50%;width:5px;height:5px;position:absolute;top:.95rem;left:0}.soft-list li b{color:var(--sw-fg);font-weight:600}.lnk{color:var(--sw-teal);border-bottom:1px solid #24606f59;text-decoration:none}.lnk:hover{border-bottom-color:var(--sw-teal)}.job-what a{color:var(--sw-teal);text-decoration:none}.job-what a:hover{text-decoration:underline}.proj{border:1px solid #0000;grid-template-columns:6.5rem 1fr;gap:1rem;padding:1rem;display:grid}.proj:hover{background:var(--sw-panel);border-color:var(--sw-rule)}@media (max-width:620px){.proj{grid-template-columns:1fr}}.proj-art{aspect-ratio:4/3;border:1px solid var(--sw-rule);color:#cfe6ec;font-family:var(--mono);letter-spacing:.04em;background:repeating-linear-gradient(90deg,#74c0d133 0 1px,#0000 1px 9px),linear-gradient(160deg,#17262c,#0e1619);place-items:center;font-size:.85rem;font-weight:700;text-decoration:none;display:grid;position:relative;overflow:hidden}.proj-art img{object-fit:cover}.proj-art.has-image{background:0 0;border:none}.proj-art.has-image img{object-fit:contain;padding:0}a.proj-art:hover{border-color:var(--sw-teal)}a.proj-art.has-image:hover{opacity:.85;border:none}.proj-art-circle{aspect-ratio:1;border-radius:50%}.logo-chip{width:42px;height:42px;font-family:var(--mono);letter-spacing:.03em;color:var(--sw-teal);place-items:center;font-size:.68rem;font-weight:700;text-decoration:none;display:grid;position:relative;overflow:hidden}.logo-chip img{object-fit:contain;padding:0}a.logo-chip:hover{opacity:.85}.logo-chip-circle{border-radius:50%}.proj-art.is-film{background:repeating-linear-gradient(0deg,#74c0d12e 0 1px,#0000 1px 7px),linear-gradient(150deg,#1d3a44,#0f2027)}.cross{color:var(--sw-teal);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px dashed #24606f80;margin-top:.75rem;padding:.4rem .75rem;font-size:.64rem;text-decoration:none;display:inline-block}.cross:hover{background:#24606f1a}.sw-edu{color:var(--sw-dim);font-size:.9rem}.sw-edu b{color:var(--sw-fg);font-weight:600}@media (prefers-reduced-motion:no-preference){.craft,.emblem{transition:opacity .22s,transform .22s}.app[data-hover=film] .craft-soft,.app[data-hover=soft] .craft-film{opacity:.42}.app[data-hover=film] .emblem{transform:translate(1.2%)scale(1.02)}.app[data-hover=soft] .emblem{transform:translate(-1.2%)scale(1.02)}}
