@font-face{font-family:Figtree;src:url('/assets/figtree.woff2') format('woff2');font-weight:300 900;font-display:swap}@font-face{font-family:Bricolage;src:url('/assets/bricolage.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--paper:#f2f0e9;--ink:#242922;--muted:#63675d;--line:#d4d5c9;--orange:#ad4427;--teal:#214c43;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Figtree,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#ddbd7c;color:#242922}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Bricolage,Figtree,Arial,sans-serif;line-height:1.08;font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(36px,3.8vw,56px)}h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h3{letter-spacing:-.025em}p{color:var(--muted)}.wrap{max-width:1320px;margin:0 auto;padding-left:64px;padding-right:64px}.mono,.eyebrow{font-family:'Courier New',monospace;font-size:10px;font-weight:500;letter-spacing:.09em}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:600;letter-spacing:-.025em;line-height:1.3}.brand-symbol{font-family:Georgia,serif;font-weight:400;font-size:41px;color:var(--orange)}.brand-sub{display:block;font-size:10px;letter-spacing:.02em;color:var(--muted);margin-top:4px;font-weight:400}.header nav{display:flex;gap:30px;font-size:12px}.header nav a,.social-links a,.footer a{transition:color .2s}.header nav a:hover,.social-links a:hover,.footer a:hover{color:var(--orange)}.header-actions{display:flex;align-items:center;gap:24px;font-size:12px}.language{border-bottom:1px solid var(--line);font-size:11px;padding:5px}.header-contact{border:1px solid #acafa1;padding:10px 17px;display:flex;gap:23px;align-items:center;border-radius:3px}.skip{position:absolute;left:15px;top:-70px;background:var(--ink);color:white;padding:10px 20px;z-index:100}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:22px;align-items:center;padding-top:48px;padding-bottom:72px;min-height:675px}.hero-copy{position:relative;z-index:1}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;margin-bottom:28px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #214c4310}.hero h1{font-size:clamp(52px,5.75vw,80px);font-weight:500;line-height:1.04;letter-spacing:-.065em}.hero h1 em{font-family:var(--serif);font-weight:400;color:var(--orange);letter-spacing:-.065em}.hero-intro{max-width:420px;font-size:15px;line-height:1.8;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 21px;font-size:12px;font-weight:500;border:0;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.accent{background:var(--orange);color:#fff}.accent:hover{background:#923920}.dark{background:var(--ink);color:#fff}.text-link{font-size:12px;display:inline-flex;gap:18px;align-items:center;border:0;border-bottom:1px solid #a5a899;padding:6px 0;background:none}.text-link:hover{color:var(--orange)}.hero-note{margin-top:25px;color:#73776b;font-size:10px;letter-spacing:.045em}.system-figure{padding-top:24px}.figure-caption{font-size:9px;letter-spacing:.12em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:14px;display:flex;align-items:center;gap:12px}.figure-caption:before{content:'+';color:var(--orange);font-size:17px}.orbital{position:relative;height:440px;max-width:510px;margin:auto;background-image:radial-gradient(#aeb3a536 .7px,transparent .7px);background-size:18px 18px}.globe{height:100%;width:100%}.globe-lines{opacity:.8}.traveller{transform-origin:250px 250px;animation:orbit 28s linear infinite}.orbit-node{position:absolute;border:1px solid #c8cbbd;background:#f2f0e9eF;font:9px 'Courier New',monospace;letter-spacing:.02em;border-radius:3px;display:flex;align-items:center;gap:6px;padding:8px 10px;box-shadow:0 5px 10px #24292205;transition:background .2s,color .2s,transform .2s}.orbit-node:hover,.orbit-node[aria-pressed=true]{background:var(--teal);color:var(--paper);border-color:var(--teal);transform:translateY(-3px)}.node-dot{width:4px;height:4px;background:var(--orange);border-radius:50%}.orbit-node[aria-pressed=true] .node-dot{background:#ecd9b4}.node-0{left:4%;top:30%}.node-1{right:16%;top:12%}.node-2{right:1%;top:56%}.node-3{left:36%;bottom:9%}.node-4{left:2%;bottom:26%}.figure-coordinate{position:absolute;bottom:5%;right:0;color:#7a7e71;font-size:8px}.figure-bottom{display:grid;grid-template-columns:15px 1fr;gap:6px 12px;min-height:71px;padding-top:15px;border-top:1px solid var(--line)}.tiny-cross{font-size:22px;color:var(--orange);line-height:1}.figure-bottom p{font-size:11px;line-height:1.5}.figure-index{grid-column:2;font-size:8px;color:#777b70}.discipline-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.discipline-strip .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:21px;padding-bottom:21px}.discipline-strip span{display:flex;align-items:center;gap:14px;font-size:11px;text-transform:uppercase;letter-spacing:.055em}.discipline-strip i{font-size:19px;color:var(--orange);font-style:normal}.work{padding-top:95px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{max-width:320px;font-size:13px;line-height:1.8;padding-bottom:5px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}.project-art{height:345px;position:relative;overflow:hidden;border-radius:4px}.art-link{display:block}.art-corner,.art-bottom{position:absolute;z-index:2;left:25px;font-size:8px;letter-spacing:.12em}.art-corner{top:23px}.art-bottom{bottom:20px}.hermes-art{background:#dadcd1;color:#485146;display:flex;justify-content:center}.hermes-orbit{position:absolute;width:430px;height:240px;border:1px solid #bec3b3;border-radius:50%;transform:rotate(-35deg);top:60px}.hermes-orbit:after{content:'';position:absolute;inset:22px -25px;border:1px solid #bec3b3;border-radius:50%;transform:rotate(55deg)}.phone{width:187px;height:300px;background:#26372f;color:#e7e9dc;border:4px solid #3f4d41;outline:1px solid #81907d;border-radius:24px;margin-top:54px;transform:rotate(-9deg);padding:19px 14px;box-shadow:20px 27px 35px #29382c25;transition:transform .45s}.art-link:hover .phone{transform:rotate(-3deg) translateY(-8px)}.phone-top{font-size:7px;font-family:monospace;display:flex;justify-content:space-between;align-items:center;letter-spacing:.15em}.phone-top i{width:10px;height:5px;border-radius:9px;background:#96a384}.phone-title{font:24px Bricolage,Arial;letter-spacing:-.04em;line-height:1.1;margin-top:21px}.phone-wave{height:65px;display:flex;align-items:center;justify-content:center;gap:4px}.phone-wave i{display:block;width:2px;background:#b7c299;opacity:.75;border-radius:4px}.phone-row{border-top:1px solid #77896b55;font-size:8px;padding:9px 0;display:flex;gap:12px}.phone-row span{color:#a4b093;font-size:7px}.phone-row b{margin-left:auto;font-weight:400}.phone-footer{font:5px monospace;letter-spacing:.1em;display:flex;align-items:center;justify-content:space-between;padding-top:10px}.phone-footer i{height:4px;width:4px;background:#b4bd95;border-radius:50%}.lab-art{background:#283c33;color:#c4ceb7}.lab-art:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#839b6e55 .6px,transparent .6px);background-size:18px 18px}.lab-grid{width:260px;margin:55px auto 0;position:relative;text-align:center;display:flex;align-items:center;flex-direction:column;font:8px monospace;letter-spacing:.12em}.lab-grid>span{padding:6px 19px;border:1px solid #7f947355;border-radius:2px}.lab-grid>i{font-style:normal;color:#728568;margin:6px;font-size:15px}.lab-grid strong{font:43px Georgia;width:68px;height:65px;border:1px solid #809274;display:grid;place-items:center;background:#344e3e;box-shadow:0 0 50px #9aaa7120}.lab-tools{display:flex;width:100%;justify-content:space-between;gap:9px;margin-top:18px}.lab-tools b{font-weight:400;background:#293e33;border:1px solid #73856766;padding:10px 13px;position:relative}.lab-review{background:#c4cfae;color:#243a2c;min-width:200px}.lab-review b{margin-left:20px}.akasha-art{background:#344d48;color:#c7d2c0}.akasha-art svg{width:100%;height:100%;transition:transform .7s}.art-link:hover .akasha-art svg{transform:rotate(8deg) scale(1.05)}.dongun-art{background:#dcc6a3;color:#695038}.game-orbit{height:100%;display:grid;place-items:center;position:relative;background:repeating-radial-gradient(ellipse at 50% 60%,transparent 0 45px,#8069471c 46px,transparent 47px 75px)}.game-orbit strong{font:70px Bricolage,Arial;letter-spacing:-.06em;color:#78472c;transform:rotate(-8deg)}.game-orbit strong span{color:#ab4527;margin-left:10px}.pixel{width:14px;height:14px;background:#ac5d39;position:absolute;box-shadow:7px -7px #ac5d39,-7px 7px #ac5d39;transform:rotate(10deg)}.p1{top:29%;left:21%}.p2{bottom:25%;right:19%;transform:rotate(-20deg);background:#777c49;box-shadow:7px -7px #777c49,-7px 7px #777c49}.p3{top:25%;right:25%;height:8px;width:8px;background:#c79d64;box-shadow:none}.p4{bottom:20%;left:35%;height:9px;width:9px;box-shadow:none}.project-meta{display:flex;justify-content:space-between;color:var(--muted);margin-top:20px;font-size:8px}.project-card h3{font-size:29px;margin:10px 0 9px}.project-card h3 a{display:flex;justify-content:space-between;align-items:center}.project-card h3 span{font:24px Figtree,Arial}.project-card p{font-size:13px;max-width:390px}.project-tags{font-size:9px;color:#6a7061;margin-top:14px;letter-spacing:.025em}.approach{background:#263c33;color:#e9eadf;padding:87px 0 75px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.approach .eyebrow{color:#adbba4;margin-bottom:23px}.approach h2 em{color:#bec9ab}.approach-intro{color:#b7c1b1;font-size:13px;line-height:1.9;max-width:350px;margin-top:24px}.approach-mark{display:block;font:85px Georgia;color:#718969;margin-top:20px}.method-list article{display:flex;gap:25px;padding:30px 0;border-top:1px solid #9fae9345}.method-list article:last-child{border-bottom:1px solid #9fae9345}.method-list .mono{color:#a8b996;padding-top:7px}.method-list h3{font-size:25px;line-height:1.3}.method-list p{color:#b9c3b2;font-size:13px;margin-top:12px;line-height:1.85}.about{padding-top:100px;padding-bottom:90px}.about>.eyebrow{margin-bottom:25px}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.about h2{font-size:40px;line-height:1.2;margin-bottom:23px}.about-grid>div>p{font-size:13px;line-height:1.9;max-width:455px;margin-bottom:16px}.about .text-link{margin-top:7px}.experience article{border-top:1px solid var(--line);padding:16px 0 19px}.experience .mono{font-size:8px;color:var(--muted)}.experience h3{font-size:20px;margin:9px 0 5px}.experience p{font-size:11px}.toolkit{margin-top:62px;border-top:1px solid var(--line);padding-top:24px}.toolkit>div{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:24px}.toolkit h3{font-size:16px;letter-spacing:-.02em;margin-bottom:10px}.toolkit p{font-size:11px;line-height:1.8}.contact{padding-top:70px;padding-bottom:75px;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;margin-top:27px}.contact h2{font-size:clamp(38px,4vw,58px)}.contact-grid>div>p{font-size:13px;line-height:1.8;max-width:330px;margin-bottom:20px}.social-links{display:flex;gap:28px;font-size:11px;margin-top:23px}.footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer .brand{font-size:12px}.footer .brand-symbol{font-size:27px}.footer>span{font-size:9px;color:var(--muted)}.footer>a:last-child{font-size:11px}.case-hero{padding-top:45px;padding-bottom:48px}.case-hero>.eyebrow{margin:40px 0 17px}.case-hero h1{font-size:clamp(50px,7vw,90px)}.case-summary{font-size:25px;color:var(--ink);max-width:730px;line-height:1.4;margin-top:25px}.case-description{max-width:670px;margin-top:20px;font-size:15px}.case-actions{display:flex;gap:20px;margin-top:27px}.case-body{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:30px;padding-bottom:85px}.case-body aside{align-self:start;position:sticky;top:25px}.case-stack{margin-top:18px}.flow{border-top:1px solid var(--line);margin-top:25px;padding-top:25px;display:flex;gap:10px;justify-content:space-between;font-size:10px}.flow b{font-weight:500}.case-prose article{border-top:1px solid var(--line);padding:22px 0 32px}.case-prose h2{font-size:28px;margin:13px 0 17px}.case-prose p:not(.eyebrow){font-size:14px;line-height:1.9}.cv-toolbar{display:flex;align-items:center;justify-content:space-between;padding-top:25px;padding-bottom:30px}.cv-toolbar>div{display:flex;gap:20px;align-items:center}.cv-sheet{max-width:930px;margin:0 auto 70px;padding:60px;background:#fffef9;box-shadow:0 10px 70px #2832220c;border:1px solid var(--line)}.cv-heading{display:flex;justify-content:space-between;align-items:center}.cv-heading .brand-symbol{font-size:65px}.cv-sheet h1{font-size:52px;margin:12px 0 10px}.cv-role{color:var(--orange);font-size:17px}.cv-contact{font-size:11px;margin-top:20px;color:var(--muted);line-height:1.9}.cv-contact a:hover{text-decoration:underline}.cv-profile{font-size:13px;line-height:1.8;border-top:1px solid var(--line);padding-top:23px;margin-top:23px}.cv-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;margin-top:30px}.cv-sheet h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:18px}.cv-sheet h3{font-size:15px;letter-spacing:-.02em}.cv-sheet p{font-size:12px}.cv-job{margin-bottom:20px}.cv-job-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.cv-job-heading span{font-size:9px;color:var(--muted)}.cv-sheet .cv-job-role{font-size:10px;color:var(--orange);margin:4px 0 7px}.cv-columns aside h3{font-size:12px;margin-bottom:5px}.cv-columns aside p{font-size:11px;margin-bottom:18px}.cv-columns aside h2:not(:first-child){margin-top:25px}.cv-projects{margin-top:15px}.cv-projects p{margin-bottom:8px;font-size:11px}.cv-end{font-size:10px;border-top:1px solid var(--line);margin-top:25px;padding-top:15px;color:var(--muted)}.error-page{padding-top:100px;padding-bottom:150px}.error-page h1{font-size:60px;margin:20px 0}.error-page .button{margin-top:25px}@keyframes orbit{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero{min-height:730px;padding-top:65px;padding-bottom:85px}.hero h1{font-size:86px}.orbital{height:480px}}
@media(max-width:1000px){.wrap{padding-left:35px;padding-right:35px}.header nav{gap:18px}.hero{min-height:620px;gap:0}.hero h1{font-size:59px}.orbital{height:350px}.orbit-node{font-size:8px;padding:7px}.hero-intro{font-size:14px;max-width:350px}.hero-actions{gap:20px}.hero-actions .button{padding:13px 16px;gap:14px}.project-art{height:300px}.approach-grid{gap:40px}.about-grid{gap:45px}.contact-grid{gap:40px}.case-body{gap:35px}.cv-sheet{margin-left:35px;margin-right:35px;padding:40px}}
@media(max-width:720px){.wrap{padding-left:23px;padding-right:23px}.header{height:90px;gap:12px}.brand{font-size:15px;gap:9px}.brand-symbol{font-size:34px}.brand-sub{font-size:9px}.header nav{display:none}.header-actions{gap:13px}.header-contact{padding:8px 10px;gap:12px;font-size:10px}.hero{display:block;padding-top:32px;padding-bottom:35px}.hero h1{font-size:clamp(51px,10.5vw,73px)}.hero .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:24px}.hero-intro{font-size:14px;max-width:400px;margin-top:23px}.hero-actions{gap:23px}.hero-note{font-size:9px}.system-figure{margin-top:35px}.orbital{height:365px;max-width:420px}.figure-caption{font-size:8px}.figure-bottom{min-height:66px}.orbit-node{font-size:8px}.discipline-strip .wrap{padding-top:17px;padding-bottom:17px;gap:10px;justify-content:space-between}.discipline-strip span{font-size:8px;letter-spacing:0;gap:6px;line-height:1.4;max-width:110px}.discipline-strip i{font-size:15px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:38px}.section-heading>p{margin-top:23px;font-size:12px;max-width:400px}.work{padding-top:60px;padding-bottom:65px}.projects{grid-template-columns:1fr;gap:38px}.project-art{height:320px}.project-card h3{font-size:28px}.project-card p{font-size:13px}.project-meta{margin-top:17px}.approach{padding:55px 0}.approach-grid{grid-template-columns:1fr;gap:32px}.approach h2{font-size:43px}.approach-mark{display:none}.approach-intro{max-width:410px}.method-list article{gap:22px;padding:25px 0}.method-list h3{font-size:24px}.about{padding-top:60px;padding-bottom:55px}.about-grid{grid-template-columns:1fr;gap:34px}.about h2{font-size:34px}.toolkit{margin-top:40px}.toolkit>div{grid-template-columns:1fr 1fr;gap:26px 20px}.contact{padding-top:50px;padding-bottom:45px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:40px}.footer{flex-wrap:wrap;gap:15px}.footer>span{order:3;flex-basis:100%;font-size:9px}.footer>a:last-child{margin-left:auto}.case-hero{padding-top:25px;padding-bottom:20px}.case-hero>.eyebrow{font-size:9px;margin-top:30px}.case-hero h1{font-size:48px}.case-summary{font-size:21px}.case-description{font-size:14px}.case-body{grid-template-columns:1fr;gap:35px;padding-bottom:30px}.case-body aside{position:static}.case-actions{flex-wrap:wrap}.cv-toolbar{flex-wrap:wrap;gap:20px}.cv-toolbar>div{gap:16px;flex-wrap:wrap}.cv-toolbar .button{font-size:11px}.cv-sheet{margin:0 15px 35px;padding:28px 23px}.cv-sheet h1{font-size:38px}.cv-role{font-size:15px}.cv-heading .brand-symbol{font-size:45px}.cv-columns{grid-template-columns:1fr;gap:10px}.cv-columns aside{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.cv-columns aside h2{grid-column:1/-1}.cv-columns aside h3{grid-column:1}.cv-columns aside p{grid-column:2}.cv-columns aside h2+p{grid-column:1/-1}.error-page h1{font-size:45px}.error-page{padding-top:60px;padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@page{size:A4;margin:13mm 15mm}@media print{body{background:white;color:#20251e}.header,.footer,.cv-toolbar,.skip{display:none!important}.cv-sheet{margin:0;padding:0;border:0;box-shadow:none;max-width:none;background:white}.cv-sheet h1{font-size:34px;margin:5px 0}.cv-heading .brand-symbol{font-size:45px}.cv-role{font-size:14px}.cv-contact{margin-top:10px;font-size:9px;line-height:1.6}.cv-profile{font-size:10px!important;margin-top:12px;padding-top:12px;line-height:1.6}.cv-columns{display:grid;grid-template-columns:1.8fr 1fr;gap:28px;margin-top:18px}.cv-columns aside{display:block}.cv-sheet h2{font-size:10px;margin-bottom:10px;padding-bottom:5px}.cv-sheet h3{font-size:12px}.cv-sheet p,.cv-columns aside p{font-size:9px;line-height:1.55}.cv-job{margin-bottom:13px;break-inside:avoid}.cv-job-heading span{font-size:8px}.cv-sheet .cv-job-role{font-size:8px;margin:3px 0 5px}.cv-columns aside h3{font-size:10px}.cv-columns aside p{margin-bottom:12px}.cv-columns aside h2:not(:first-child){margin-top:18px}.cv-projects{margin-top:10px;break-inside:avoid}.cv-projects p{font-size:9px;margin-bottom:6px}.cv-end{margin-top:13px;padding-top:8px;font-size:8px}a{color:inherit}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

@media print{.cv-sheet h1{font-size:42px}.cv-role{font-size:16px}.cv-contact{font-size:10px;margin-top:16px}.cv-profile{font-size:11.5px!important;line-height:1.75;margin-top:20px;padding-top:20px}.cv-columns{margin-top:26px;gap:30px}.cv-sheet h2{font-size:11px;margin-bottom:14px;padding-bottom:7px}.cv-sheet h3{font-size:14px}.cv-sheet p,.cv-columns aside p{font-size:10.5px;line-height:1.7}.cv-job{margin-bottom:20px}.cv-job-heading span{font-size:9px}.cv-sheet .cv-job-role{font-size:9px;margin:5px 0 7px}.cv-columns aside h3{font-size:11px}.cv-columns aside p{margin-bottom:18px}.cv-projects{margin-top:18px}.cv-projects p{font-size:10px;margin-bottom:10px}.cv-end{margin-top:22px;padding-top:13px;font-size:9px}}
