@import "https://font.emtech.cc/css/jfOpenHuninn";*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}:is(a:focus-visible,button:focus-visible){outline:3px solid var(--gold);outline-offset:6px}::selection{color:#101426;background:#b5a0d7}.site{--bg:#080f20;--surface:#101b30;--text:#f5f0e8;--muted:#aab4cb;--gold:#e0c49d;--purple:#c0a7e5;--line:#ffffff20;background:var(--bg);min-height:100vh;color:var(--text);font-family:jfOpenHuninn,Microsoft JhengHei,sans-serif;line-height:1.8;transition:background .4s,color .4s}.site.light{--bg:#fafbfe;--surface:#fff;--text:#202b40;--muted:#58657a;--gold:#926328;--purple:#7054ae;--line:#23314f22}.wrap{width:min(1180px,100% - 96px);margin-inline:auto}.skip{position:fixed;top:-100px}.skip:focus{z-index:99;background:var(--surface);padding:12px;top:12px}header{z-index:5;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;height:100px;padding:0 48px;display:flex;position:absolute;top:0;left:0}.brand{color:var(--gold);align-items:center;gap:12px;font:22px Georgia,serif;display:flex}.brand-sub{letter-spacing:3px;color:var(--muted);font:10px/2.3 Arial,sans-serif;display:block}nav{gap:36px;font-size:15px;display:flex}nav a,footer a,.text-link{align-items:center;gap:7px;display:flex}.theme{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:30px;align-items:center;gap:9px;padding:9px 16px;font-size:14px;display:flex}.hero{align-items:center;height:100svh;min-height:790px;max-height:1050px;display:flex;position:relative;overflow:hidden}.hero-art{opacity:.83;transform-origin:70%;background:url(/workshop.webp) 67%/cover no-repeat;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#080f20 0%,#080f20e8 19%,#080f2070 53%,#080f2000 83%),linear-gradient(#0000 67%,#080f20);position:absolute;inset:0}.hero-copy{max-width:690px;margin:95px 0 80px max(48px,50vw - 590px);position:relative}.eyebrow{letter-spacing:2.8px;color:var(--gold);margin:0 0 30px;font:11px/1.6 Arial,sans-serif}.hero h1{letter-spacing:-2px;margin:0 0 26px;font-size:clamp(42px,5.5vw,78px);font-weight:400;line-height:1.35}h1 span,h2 span{color:var(--purple)}.intro{color:var(--muted);max-width:500px;margin-bottom:32px;font-size:18px;line-height:1.9}.primary{background:var(--gold);color:#162035;border-radius:40px;align-items:center;gap:35px;padding:14px 24px;font-size:15px;display:inline-flex}.primary:hover{transform:translateY(-2px)}.hero-sign{color:var(--gold);margin-top:36px;font:italic 17px Georgia,serif}.hero-sign span{color:var(--muted);margin-left:10px;font:12px Arial,sans-serif}.hero-bottom{letter-spacing:1.8px;color:var(--muted);justify-content:space-between;font:10px Arial,sans-serif;display:flex;position:absolute;bottom:28px;left:48px;right:48px}.mobile-break{display:none}.works{padding-block:105px}.section-head{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.section-head .eyebrow,.about .eyebrow{margin-bottom:18px}h2{letter-spacing:-1px;margin:0;font-size:clamp(32px,3.4vw,48px);font-weight:400;line-height:1.4}.text-link{color:var(--muted);margin-bottom:9px;font-size:14px}.featured{border:1px solid var(--line);background:radial-gradient(ellipse at 100% 0%,#8e65bf1c,transparent 60%),var(--surface);border-radius:24px;grid-template-columns:1fr 1fr;align-items:center;min-height:480px;display:grid;overflow:hidden}.feature-copy{padding:50px}.tag{color:var(--purple);letter-spacing:2px;font:11px Arial,sans-serif}h3{margin:20px 0 14px;font-size:33px;font-weight:400;line-height:1.4}.feature-copy p,.project p,.about-copy p{color:var(--muted);font-size:16px}.feature-copy .subtitle{color:var(--text);font-size:19px}.feature-links{flex-wrap:wrap;gap:22px;margin-top:32px;display:flex}.feature-links a{color:var(--gold);align-items:center;gap:8px;font-size:14px;display:inline-flex}.workflow{background:var(--bg);border:1px solid var(--line);border-radius:16px;margin:35px 35px 35px 0;transform:perspective(900px)rotateY(-7deg)rotateX(3deg);box-shadow:0 25px 60px #0002}.window-bar{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:16px;display:flex}.window-bar i{background:var(--muted);opacity:.5;border-radius:50%;width:6px;height:6px}.window-bar span{color:var(--muted);margin-left:auto;font:11px monospace}.workflow-body{padding:24px 30px}.workflow-body>small{letter-spacing:1.8px;color:var(--muted);font:9px Arial}.flow-node{border:1px solid var(--line);border-radius:12px;align-items:center;gap:18px;padding:13px 16px;font-size:15px;display:flex}.flow-node:first-of-type{margin-top:20px}.flow-node>span:first-child{color:var(--purple);font:12px monospace}.flow-node>span:last-child,.flow-node>svg{color:var(--gold);margin-left:auto}.flow-node small{color:var(--muted);font:10px/1.8 Arial;display:block}.flow-node.active{background:#b6a0d911;border-color:#b6a0d980}.flow-line{border-left:1px solid var(--line);height:15px;margin-left:26px}.workflow-body>p{color:var(--muted);margin:20px 0 0;font-size:12px}.project-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.project{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:35px;transition:transform .2s,border-color .2s}.project:hover{border-color:var(--purple);transform:translateY(-4px)}.project-num{color:var(--muted);justify-content:space-between;margin-bottom:35px;font:15px Georgia;display:flex}.project h3{font-size:26px}.project p{min-height:85px}.project-foot{color:var(--muted);font:12px Arial}.about{border-top:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:90px;padding-block:85px;display:grid}.about-copy p{margin-top:0;line-height:2}.skills{flex-wrap:wrap;gap:10px;margin-top:27px;display:flex}.skills span{border:1px solid var(--line);color:var(--muted);border-radius:30px;padding:10px 13px;font:12px Arial}.contact{padding-block:20px 75px}.contact-inner{text-align:center;border:1px solid var(--line);background:radial-gradient(at 30% 130%,#9168cc23,#0000 65%);border-radius:24px;padding:65px 25px}.contact h2{font-size:52px}.contact a{color:var(--gold);align-items:center;gap:25px;margin-top:30px;font-size:20px;display:inline-flex}.contact .eyebrow{margin-bottom:22px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-block:28px;font:11px Arial;display:flex}footer a{font-size:13px}.light .hero-art{opacity:.22}.light .primary{color:#fff;background:#315fca}.light .contact-inner{background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--angle),#4285f4,#ea4335,#fbbc05,#34a853,#4285f4) border-box;border:1px solid #0000;animation:12s linear infinite color-orbit;box-shadow:0 8px 24px #4285f414}.light .hero-copy h1 span{color:#0000;background:linear-gradient(100deg,#3668cb,#855ab5,#a55460);-webkit-background-clip:text;background-clip:text}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes color-orbit{to{--angle:360deg}}@supports (animation-timeline:scroll()){.hero-art{animation:linear both hero-travel;animation-timeline:scroll(root);animation-range:0 850px}.workflow{animation:linear both workflow-enter;animation-timeline:view();animation-range:entry cover 45%}}@keyframes hero-travel{to{transform:translateY(120px)scale(1.13)}}@keyframes workflow-enter{0%{transform:perspective(900px)rotateY(-14deg)rotateX(8deg)translateY(35px)}to{transform:perspective(900px)rotateY(0)rotateX(0)translateY(0)}}@media (max-width:760px){header{height:82px;padding-inline:22px}.brand{font-size:17px}.brand-sub{font-size:8px}nav{gap:18px;font-size:14px}nav a:last-child{display:none}.theme{padding:9px}.theme span{display:none}.wrap{width:calc(100% - 40px)}.hero{height:100svh;min-height:760px;max-height:950px}.hero-art{opacity:.55;background-position:62%}.hero-shade{background:linear-gradient(90deg,#080f20e0,#080f2080),linear-gradient(#0000 30%,#080f20)}.hero-copy{margin:105px 22px 90px}.hero h1{letter-spacing:-1.5px;font-size:47px}.eyebrow{letter-spacing:1.7px;font-size:9px}.intro{font-size:16px}.hero-bottom{gap:25px;font-size:9px;left:22px;right:22px}.hero-bottom>span{max-width:200px;line-height:1.8}.hero-sign span{margin:10px 0;display:block}.works{padding-block:65px}.section-head{display:block}.text-link{margin-top:20px}.featured{grid-template-columns:1fr}.feature-copy{padding:28px}.workflow{margin:0 20px 25px;transform:none}.project-grid{grid-template-columns:1fr}.project{padding:28px}.project p{min-height:0}.about{grid-template-columns:1fr;gap:30px;padding-block:55px}.contact h2{font-size:39px}.contact a{gap:10px;font-size:16px}footer{flex-wrap:wrap;line-height:1.8}footer>span:last-child{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero-art,.workflow{transform:none!important}}.hero{isolation:isolate;--space-x:0px;--space-y:0px}.hero-art{opacity:.34;transform:translate(calc(var(--space-x) * -1),calc(var(--space-y) * -1)) scale(1.04);will-change:transform;filter:saturate(.65);inset:-35px;animation:none!important}.interactive-space{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.hero-copy,.hero-bottom{z-index:2}.hero-copy h1{text-shadow:0 3px 28px #080f2055}.hero-copy .eyebrow{letter-spacing:2px;font-size:12px}.hero-sign span,.hero-bottom{font-size:12px}.light .hero-art{opacity:.09;filter:saturate(.7)}.light .hero-copy h1{text-shadow:none}@media (max-width:760px){.hero-art{opacity:.2}.hero-shade{background:linear-gradient(90deg,#080f20e8,#080f2077),linear-gradient(#0000 35%,#080f20)}.hero-bottom{font-size:10px}.hero-copy .eyebrow{font-size:11px}.light .hero-art{opacity:.07}}@media (prefers-reduced-motion:reduce){.hero-art{will-change:auto;transform:none!important}}.hero{background:radial-gradient(at 78% 45%,#202342 0%,#0d172d 42%,#080f20 76%)}.hero-shade{background:linear-gradient(90deg,#080f2088,#0000 70%),linear-gradient(#0000 74%,#080f20)}.light .hero{background:radial-gradient(at 76% 45%,#eff0ff,#fafbfe 73%)}.light .hero-shade{background:linear-gradient(90deg,#fafbfe88,#0000 70%),linear-gradient(#0000 74%,#fafbfe)}.atlas{--bg:#080c19;--surface:#111727;--text:#f0ede8;--muted:#b1b6ca;--gold:#e0c49d;--purple:#c0a7e5;--line:#ffffff20}.atlas.light{--bg:#fafbfe;--surface:#fff;--text:#202b40;--muted:#58657a;--gold:#926328;--purple:#7054ae;--line:#23314f22}.atlas header{height:90px;position:relative}.atlas-layout{grid-template-columns:49% 51%;align-items:start;gap:0!important;display:grid!important}.portrait-stage{color:#ede9f5;background:radial-gradient(#25213f,#080c19 75%);height:calc(100svh - 10px);min-height:650px;max-height:1080px;position:sticky;top:0;overflow:hidden}.astral-canvas{width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(#000 84%,#0000);mask-image:linear-gradient(#000 84%,#0000)}.stage-label{z-index:1;letter-spacing:2px;color:#b9b2d1;font:12px Arial;position:absolute;top:28px;left:35px}.stage-controls{gap:16px;display:flex;position:absolute;bottom:100px;left:35px}.stage-controls button{color:#ece4f6;cursor:pointer;background:#080c19bb;border:1px solid #ffffff30;border-radius:30px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.stage-caption{border-top:1px solid #e0c49d44;align-items:center;gap:20px;padding-top:16px;display:flex;position:absolute;bottom:35px;left:35px;right:35px}.stage-caption>span:first-child{color:#e0c49d;font:30px Georgia}.stage-caption i{color:#e0c49d;margin-left:auto}.atlas-content{min-width:0;padding:35px clamp(24px,4.5vw,85px) 0}.atlas .eyebrow{letter-spacing:2px;color:var(--muted);font-size:12px}.chapter-tabs{border-bottom:1px solid var(--line);justify-content:space-between;background:0 0!important;border-radius:0!important;gap:18px!important;width:100%!important;height:auto!important;padding:0!important;display:flex!important}.chapter-tabs button{cursor:pointer;white-space:nowrap;border:0;color:var(--muted)!important;background:0 0!important;border-radius:0!important;padding:20px 0!important;font-size:16px!important}.chapter-tabs button span{color:var(--muted);margin-right:8px;font:12px Georgia}.chapter-tabs button[data-active]{color:var(--gold)!important;box-shadow:0 2px var(--gold)!important}.chapter{padding-top:50px;animation:.5s both chapter-in}.chapter[hidden]{display:none!important}.chapter-kicker{letter-spacing:2px;color:var(--purple);margin:0 0 20px;font:12px/1.6 Arial}.atlas h1{letter-spacing:-2px;margin:20px 0 25px;font-size:clamp(40px,4.2vw,68px);font-weight:400;line-height:1.3}.atlas h1 em{color:var(--gold);font-style:normal;display:block}.atlas .lead{color:var(--muted);max-width:38em;font-size:17px;line-height:2}.bio-block{padding-top:40px}.bio-block h2{border-bottom:1px solid var(--line);padding-bottom:15px;font-size:24px}.bio-block h2 small{letter-spacing:2px;color:var(--muted);margin-left:15px;font:11px Arial}.atlas h3{margin:10px 0 5px;font-size:18px}.timeline article{grid-template-columns:80px 1fr;gap:16px;padding-top:22px;display:grid}.timeline article>span,.award-row>span{color:var(--gold);font-size:14px}.timeline p,.award-row p{color:var(--muted);margin:0;font-size:15px}.timeline h3{margin-top:0}.award-row{border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:20px 0;display:flex}.award-row>span:last-child{margin-left:auto}.atlas .skills{margin-top:12px;margin-bottom:24px}.atlas .skills span{font-size:13px;line-height:1.5}.work-entry{border-top:1px solid var(--line);padding:32px 0}.work-entry h2{letter-spacing:0;font-size:29px}.work-entry p{color:var(--muted);font-size:16px}.work-entry .chapter-kicker{color:var(--purple);font-size:12px}.work-entry summary{cursor:pointer;color:var(--gold);font-size:14px}.work-links{color:var(--gold);gap:25px;font-size:15px;display:flex}.work-links a,.text-link{align-items:center;gap:8px;display:inline-flex}.atlas-contact{text-align:left;margin-top:40px;padding:35px 18px}.atlas-contact a{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(15px,1.6vw,23px);display:flex}.contact-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:30px 0;display:flex}.contact-line small{color:var(--muted);font-size:14px;display:block}.atlas footer{margin-top:60px;font-size:12px;line-height:1.7}.atlas .brand-sub{font-size:11px}.atlas :focus-visible{outline:2px solid var(--gold);outline-offset:4px}@keyframes chapter-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:850px){.atlas-layout{grid-template-columns:1fr}.portrait-stage{height:70svh;min-height:0;max-height:700px;position:relative}.atlas-content{padding:25px 24px 0}.atlas header{height:80px}.stage-label{font-size:10px;left:24px}.stage-controls{bottom:80px;left:24px}.stage-caption{bottom:20px;left:24px;right:24px}.chapter-tabs{gap:10px!important}.chapter-tabs button{font-size:15px!important}.chapter{padding-top:30px}.atlas h1{font-size:44px}.atlas-contact a{font-size:17px}}@media (prefers-reduced-motion:reduce){.chapter{animation:none}.stage-controls{display:none}}@media (min-width:851px){.atlas-layout{height:calc(100svh - 90px);min-height:540px}.portrait-stage{height:100%;min-height:0;position:relative}.atlas-content{scrollbar-width:thin;scrollbar-color:var(--purple) transparent;height:100%;overflow-y:auto}.chapter-tabs{z-index:3;position:sticky;top:-1px;background:var(--bg)!important;padding-top:8px!important}.atlas header{position:relative}.chapter{min-height:450px}}.scene-error{color:#ece4f6;background:#111727e8;border-radius:16px;padding:20px;font-size:16px;position:absolute;top:45%;left:10%;right:10%}.brand-name{letter-spacing:.04em;font-size:clamp(15px,2vw,22px)}.brand>svg{flex-shrink:0}.chapter{animation:.45s .25s both chapter-in}.atlas-content{position:relative}.intro-copy{pointer-events:none;animation:.6s both chapter-in;position:absolute;top:210px;left:clamp(24px,4.5vw,85px);right:clamp(24px,4.5vw,85px)}.atlas-content:is([data-intro=loading],[data-intro=hair],[data-intro=face]) .chapter{visibility:hidden}@media (max-width:850px){.intro-copy{top:150px;left:24px;right:24px}}@media (max-width:520px){.atlas header{gap:12px;padding-inline:20px}.brand{gap:9px;min-width:0}.brand-name{max-width:210px;font-size:15px;line-height:1.25;display:block}.brand-sub{letter-spacing:2px}.theme{flex-shrink:0;padding:8px 11px}.theme>span{display:none}}.atlas-content:not([data-intro=done]) .chapter,.atlas-content:not([data-intro=done]) footer{visibility:hidden}.intro-copy{pointer-events:auto;cursor:pointer;outline-offset:12px}.intro-copy h1{max-width:9em;font-size:clamp(34px,3.5vw,66px);line-height:1.3}.intro-continue{color:var(--muted);letter-spacing:.06em;margin-top:32px;font-size:13px;transition:opacity .2s}@media (max-width:850px){.portrait-stage{transition:height .6s,min-height .6s}.atlas[data-opening=true] .portrait-stage{height:48svh;min-height:280px}.atlas[data-opening=true] .atlas-content{min-height:330px}.atlas[data-opening=true] .stage-caption{display:none}.intro-copy{top:135px}.intro-copy h1{margin-bottom:14px;font-size:32px}.intro-copy .lead{font-size:16px}.intro-continue{margin-top:16px}}
