@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-0.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-1.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font-2.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-3.ttf)format("truetype")}@font-face{font-family:Lobster;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-4.ttf)format("truetype")}:root{color-scheme:dark;--bg:#11091d;--surface:#20112f;--panel:#2c183d;--line:#ffffff19;--text:#fff8ff;--muted:#c2b2cf;--pink:#f35abb;--violet:#cd9df5;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.65 DM Sans,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1{letter-spacing:-.04em;font-size:clamp(44px,5vw,76px)}h2{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(32px,3.2vw,47px)}h3{letter-spacing:-.02em;font-size:22px}p{max-width:62ch}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(15px);background:#190d25f5;position:sticky;top:0}.headerinner{justify-content:space-between;align-items:center;gap:24px;min-height:86px;display:flex}.brand{letter-spacing:-.055em;align-items:center;gap:12px;font-size:24px;font-weight:700;text-decoration:none;display:flex}.brand img{width:37px;height:37px}.nav{align-items:center;gap:30px;font-size:14px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current]{color:#fff}.nav .navcontact{color:#f9ddff;border:1px solid #bc79d45e;border-radius:100px;padding:9px 20px}.menubutton{color:#fff;background:0 0;border:1px solid #ad8ac25c;border-radius:8px;padding:8px 13px;display:none}.skip{color:#000;z-index:100;background:#fff;padding:12px;position:fixed;top:-80px;left:18px}.skip:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #ffc0ec}.eyebrow{color:var(--violet);letter-spacing:.17em;text-transform:uppercase;margin-bottom:17px;font-size:11px;font-weight:700}.muted{color:var(--muted)}.lede{color:#ddcde5;font-size:19px;line-height:1.7}.hero{isolation:isolate;background:#4b1c61;min-height:665px;position:relative;overflow:hidden}.hero .landscape{object-fit:cover;object-position:center bottom;z-index:-3;width:100%;height:100%;position:absolute}.hero:before{content:"";z-index:-2;background:linear-gradient(90deg,#200c360a,#2a0d3d70 55%,#29103c9e),linear-gradient(#27103775,#0000 65%);position:absolute;inset:0}.heroinner{justify-content:flex-end;align-items:flex-start;min-height:665px;padding-top:80px;display:flex;position:relative}.herocopy{text-align:center;z-index:2;width:59%;position:relative}.herocopy h1{letter-spacing:-.025em;text-shadow:0 4px 16px #1a062770;margin-bottom:24px;font-family:Lobster,cursive;font-size:clamp(45px,5.3vw,76px);font-weight:400;line-height:1.13}.herocopy h1 span{color:#ffcaf0}.herocopy .lede{color:#fff;text-shadow:0 2px 10px #180820;max-width:42ch;margin:0 auto;font-size:18px}.hero .eyebrow{color:#ffddf5}.motionbutton{color:#f7e9ff;z-index:5;background:#170a29dc;border:1px solid #ffffff35;border-radius:50px;padding:6px 12px;font-size:11px;position:absolute;bottom:20px;right:0}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;display:flex}.herocopy .actions{justify-content:center}.button{color:#fff;background:#2a143dc9;border:1px solid #a96dc35e;border-radius:9px;justify-content:center;align-items:center;gap:15px;min-height:48px;padding:12px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button.primary{background:#e81d96;border-color:#fa7bc4;box-shadow:0 5px 28px #bd00634a}.button:hover{background:#47205e;transform:translateY(-2px)}.button.primary:hover{background:#fa3cac}.section{padding:88px 0}.sectionhead{justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px;display:flex}.sectionhead h2{margin-bottom:0}.textlink{color:#e6c2fa;white-space:nowrap;font-size:14px;text-decoration:none}.textlink:hover{text-decoration:underline}.projectgrid{grid-template-columns:repeat(3,1fr);gap:34px 25px;display:grid}.projectcard{text-decoration:none;display:block}.projectcard .artbox{aspect-ratio:1.4;background:#29173b;border:1px solid #b984d52c;border-radius:17px;padding:clamp(6px,1vw,14px);transition:border-color .2s,transform .2s;position:relative;overflow:hidden}.projectcard img{object-fit:contain;width:100%;height:100%;transition:transform .3s}.projectcard:hover .artbox{border-color:#d99cf0;transform:translateY(-4px)}.projectcard:hover img{transform:scale(1.025)}.projectcard .cardline{justify-content:space-between;align-items:center;gap:8px;margin-top:17px;display:flex}.projectcard h3{margin:0;font-size:19px}.projectcard .arrow{color:#ce95eb}.projectcard p{color:var(--muted);margin:5px 0 0;font-size:13px}.workintro{max-width:48ch;color:var(--muted);margin:20px 0 0;font-size:15px}.divider{border-top:1px solid var(--line)}.skills{background:#1a0e27}.skilllayout{grid-template-columns:1fr 1.25fr;gap:85px;display:grid}.skilllist{grid-template-columns:1fr 1fr;gap:30px;display:grid}.skilllist article{border-top:1px solid #d398ef45;padding-top:20px}.skilllist h3{font-size:19px}.skilllist p{color:var(--muted);font-size:14px}.toolline{border-top:1px solid var(--line);color:#bba8c7;margin-top:35px;padding-top:25px;font-size:12px;line-height:2}.toolline strong{color:#e8d5f5;margin-right:12px;font-weight:500}.creditlayout{grid-template-columns:.8fr 1.2fr;gap:90px;display:grid}.creditgrid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.creditgrid h3{color:#dda9f6;margin-bottom:9px;font-size:15px}.creditgrid p{color:var(--muted);margin-bottom:0;font-size:13px}.quotearea{background:#221130;position:relative}.quotearea .wrap{text-align:center;max-width:890px}.quotemark{color:#f15ab8;margin-bottom:25px;font-family:Georgia,serif;font-size:90px;line-height:.6}blockquote{max-width:43ch;margin:0 auto 25px;font-family:Georgia,serif;font-size:clamp(23px,2.6vw,34px);line-height:1.5}cite{color:var(--muted);font-size:13px;font-style:normal}.contactsection{background:radial-gradient(at 15% 100%,#49204c88,#0000 60%);padding:90px 0 70px}.contactpanel{background:#261136;border:1px solid #b46bc044;border-radius:22px;grid-template-columns:1.2fr .8fr;align-items:center;gap:45px;padding:48px 55px;display:grid}.contactpanel h2{letter-spacing:0;font-family:Lobster,cursive;font-size:45px;font-weight:400}.contactpanel p{color:var(--muted);margin-bottom:0;font-size:15px}.contactactions{flex-direction:column;align-items:flex-start;gap:15px;display:flex}.sociallink{color:#e8cef9;font-size:14px}.footer{border-top:1px solid var(--line);color:#aa96b9;padding:28px 0 35px;font-size:12px}.footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:25px;display:flex}.footer a{color:#d1b4e0}.projectintro{background:radial-gradient(at 85% 15%,#41205177,#0000 65%);padding:45px 0 0}.breadcrumb{color:#d4b4e8;margin-bottom:38px;font-size:13px;text-decoration:none;display:inline-block}.projecttitle{grid-template-columns:1.3fr .7fr;align-items:end;gap:60px;margin-bottom:38px;display:grid}.projecttitle h1{margin:0 0 20px;font-size:clamp(44px,5.8vw,80px)}.projecttitle .lede{max-width:45ch;margin:0;font-size:17px}.projectmeta{color:var(--muted);border-left:1px solid #bd84d34d;padding-left:30px;font-size:13px}.projectmeta p{margin:0 0 14px}.projectmeta strong{color:#f0ddfc;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;font-size:11px;display:block}.mainvisual{background:#1d102c;border:1px solid #d7a2f02e;border-radius:17px;padding:16px;overflow:hidden;box-shadow:0 25px 70px #09041166}.mainvisual img{border-radius:8px;width:100%;height:auto}.imagebutton{color:inherit;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.imagehint{color:#bfa8ce;justify-content:space-between;gap:20px;padding:13px 5px 0;font-size:11px;display:flex}.projectbody{grid-template-columns:190px 1fr;gap:70px;display:grid}.projectnav{flex-direction:column;align-self:start;gap:15px;font-size:13px;display:flex;position:sticky;top:125px}.projectnav a{color:var(--muted);text-decoration:none}.projectnav a:hover{color:#fff}.prose{color:var(--muted);font-size:17px}.projectcontent section+section{border-top:1px solid var(--line);margin-top:65px;padding-top:60px}.detailrow{grid-template-columns:1fr 1fr;gap:25px;margin-top:30px;display:grid}.detailrow article{border:1px solid var(--line);background:#21112f;border-radius:13px;padding:25px}.detailrow h3{font-size:18px}.detailrow p{color:var(--muted);margin-bottom:0;font-size:14px}.caption{color:var(--muted);margin:15px 0 0;font-size:12px}.projectnext{border:1px solid var(--line);background:#241234;border-radius:15px;justify-content:space-between;align-items:center;gap:30px;margin-top:30px;padding:32px;text-decoration:none;display:flex}.projectnext img{border-radius:14px;width:90px}.projectnext p{color:var(--muted);margin:0;font-size:12px}.projectnext h3{margin:5px 0 0}dialog{color:#fff;background:#1b1027;border:1px solid #9468a7;border-radius:15px;width:min(1400px,96vw);max-height:95vh;padding:20px}dialog::backdrop{backdrop-filter:blur(8px);background:#08030de8}dialog img{object-fit:contain;width:100%;height:calc(85vh - 100px)}dialog .dialogtop{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}dialog button{color:#fff;background:#40214e;border:1px solid #9d72ae;border-radius:8px;padding:8px 17px}.dialogcaption{color:var(--muted);margin:12px 0 0;font-size:12px}.dialogtools{gap:8px;display:flex}.gallerycontrols{flex-wrap:wrap;gap:10px;margin-top:15px;display:flex}.gallerycontrols a{color:var(--muted);font-size:12px}@media (width<=1000px){.herocopy{width:60%}.skilllayout,.creditlayout{gap:40px}.projectbody{grid-template-columns:160px 1fr;gap:35px}.nav{gap:20px}.contactpanel{padding:35px}}@media (width<=760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.headerinner{flex-wrap:wrap;gap:0;min-height:74px}.brand{font-size:21px}.brand img{width:32px;height:32px}.menubutton{display:block}.nav{flex-direction:column;flex-basis:100%;align-items:stretch;gap:0;padding:10px 0 20px;display:none}.nav a{padding:12px 3px}.nav .navcontact{text-align:center;margin-top:8px}.nav.open{display:flex}.hero,.heroinner{min-height:860px}.heroinner{justify-content:center;align-items:flex-start;padding-top:40px}.herocopy{width:100%;max-width:500px}.herocopy h1{margin-bottom:20px;font-size:50px}.herocopy .lede{max-width:33ch;font-size:16px}.hero .landscape{object-fit:cover;object-position:37% bottom}.hero:before{background:linear-gradient(#2b1042d9 0%,#331343a1 45%,#30104500 70%)}.motionbutton{bottom:10px;right:0}.actions{gap:10px}.button{padding:12px 19px}.section{padding:58px 0}.sectionhead{flex-direction:column;align-items:start;gap:18px;margin-bottom:28px}.projectgrid{grid-template-columns:1fr 1fr;gap:26px 15px}.projectcard .artbox{aspect-ratio:1.1;border-radius:13px}.projectcard h3{font-size:15px}.projectcard p{font-size:11px;line-height:1.5}.projectcard .arrow{font-size:15px}.skilllayout,.creditlayout,.contactpanel,.projecttitle{grid-template-columns:1fr;gap:30px}.skilllist,.creditgrid{gap:24px}.contactsection{padding:50px 0}.contactpanel{border-radius:17px;padding:30px 25px}.contactpanel h2{font-size:36px}.contactactions{gap:20px}.footer .wrap{gap:10px}.projectintro{padding-top:28px}.breadcrumb{margin-bottom:30px}.projecttitle h1{font-size:48px}.projectmeta{border-left:0;border-top:1px solid var(--line);flex-wrap:wrap;gap:25px;padding:20px 0 0;display:flex}.projectmeta p{margin:0}.projectbody{grid-template-columns:1fr;gap:35px}.projectnav{border-bottom:1px solid var(--line);flex-flow:wrap;gap:20px;padding-bottom:20px;position:static}.detailrow{grid-template-columns:1fr}.mainvisual{border-radius:12px;padding:8px}.mainvisual img{border-radius:6px}.imagehint{font-size:10px}.projectcontent section+section{margin-top:40px;padding-top:40px}.projectnext{padding:22px}.projectnext img{width:65px}.prose{font-size:16px}dialog{padding:12px}dialog img{height:65vh}.dialogtools button{padding:8px 12px}}@media (width<=360px){.herocopy h1{font-size:44px}.projectgrid{grid-template-columns:1fr}.hero,.heroinner{min-height:880px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}details{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}summary{cursor:pointer;color:#e7c8fa;font-size:13px}details[open] summary{margin-bottom:25px}.characterunit{position:relative}.characterframe{color-scheme:dark;pointer-events:none;background:0 0;border:0;width:100%;height:100%;display:block}.herocharacter{z-index:1;width:430px;height:425px;position:absolute;bottom:50px;left:-10px}.characterunit .motionbutton{bottom:-23px;right:5px}.contactstage{isolation:isolate;max-width:1440px;margin:auto;position:relative}.contactcharacter{z-index:2;width:180px;height:347px;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.contactcharacter .motionbutton{font-size:10px;bottom:-10px;right:5px}.contactsection{overflow:hidden}.projectprose p{color:var(--muted);font-size:17px}.projectprose h3{margin-top:28px;font-size:20px}.galleryitem+.galleryitem{margin-top:25px}.reviewgrid{grid-template-columns:1fr 1fr;gap:25px;margin-top:40px;display:grid}.reviewcard{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:25px}.reviewcard h2{font-size:25px}.reviewcard p,.reviewcard li{color:var(--muted);font-size:14px}.reviewcard code{overflow-wrap:anywhere;font-size:12px}.reviewcard a{color:#e6c2fa}@media (width<=1200px){.contactpanel{margin-left:90px}.contactcharacter{width:145px;height:280px;left:-15px}.herocharacter{width:350px;height:346px;bottom:65px;left:-20px}}@media (width<=760px){.herocharacter{width:310px;height:306px;bottom:48px;left:50%;transform:translate(-50%)}.contactcharacter{width:110px;height:212px;top:72px;left:-15px;transform:none}.contactpanel{margin-left:0;padding-left:90px}.contactpanel h2{font-size:31px}.contactcharacter .motionbutton{padding:5px 7px;font-size:9px;bottom:-18px;right:0}.contactactions .button{text-align:center;padding:12px 15px;font-size:13px}.reviewgrid{grid-template-columns:1fr}.projectprose p{font-size:16px}}@media (width<=360px){.contactpanel{padding-left:78px;padding-right:18px}.contactcharacter{width:95px;height:183px}.contactpanel h2{font-size:29px}}@media (width>=761px){.contactstage{max-width:none}.herocharacter{top:63px;bottom:auto}}.navmotion,.testimonial-controls button{color:var(--text);background:0 0;border:1px solid #ad8ac25c;border-radius:8px;padding:8px 12px;font-size:13px}.navmotion[aria-pressed=true]{background:var(--panel);border-color:var(--violet)}[data-reduce-motion]{scroll-behavior:auto}[data-reduce-motion] *,[data-reduce-motion] :before,[data-reduce-motion] :after{transition:none!important;animation:none!important}.morework{margin-top:38px}.morework summary{font-size:16px;font-weight:700}.morework summary span{color:var(--muted);font-weight:400}.morework[open] .projectgrid{margin-top:28px}.gallery-strip{margin-top:26px}.gallery-strip h2{letter-spacing:0;margin-bottom:12px;font-size:15px}.gallery-thumbnails{scrollbar-color:var(--violet) var(--surface);gap:10px;padding:5px 5px 12px;display:flex;overflow-x:auto}.gallery-thumbnail{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:0 0 116px;height:76px;padding:4px;overflow:hidden}.gallery-thumbnail img{object-fit:contain;width:100%;height:100%}.gallery-thumbnail:hover{border-color:var(--violet)}.testimonial-slides{display:grid}.testimonial-slide{grid-area:1/1}.testimonial-slide[hidden]{visibility:hidden;display:block}.testimonial-slide blockquote{font-size:clamp(20px,2.4vw,29px)}.testimonial-controls{justify-content:center;align-items:center;gap:18px;margin-top:26px;display:flex}.testimonial-controls span{color:var(--muted);font-size:13px}@media (width<=760px){.hero,.heroinner{min-height:0}.heroinner{flex-direction:column;align-items:center;gap:8px;padding-bottom:24px}.herocopy{order:-1}.herocopy h1{font-size:clamp(35px,10.8vw,50px)}.herocharacter{max-width:100%;position:relative;bottom:auto;left:auto;transform:none}}.project-recordings{gap:24px;margin-top:22px;display:grid}.project-recordings figure{margin:0}.project-recordings video{background:var(--surface);border-radius:12px;width:100%;display:block}.project-recordings figcaption{color:var(--muted);margin-top:8px;font-size:13px}
