:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f1e9;--paper-deep:#e9e4d8;--ink:#1d2924;--muted:#68716b;--line:#d8d4ca;--lime:#d7fa61;--orange:#fc825b;--blue:#bfd7df;--mono:"SFMono-Regular", Consolas, monospace;--sans:"Avenir Next", "PingFang TC", "Noto Sans TC", sans-serif;--serif:"Iowan Old Style", "Noto Serif TC", Georgia, serif}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:92px}body{background:radial-gradient(ellipse at 8% 8%,#ffffff94,transparent 28rem),var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body:before{z-index:-1;content:"";opacity:.15;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.1' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:4px;outline:3px solid #e76f4d}.site-shell{overflow:hidden}.section-wrap,.site-header{width:min(1160px,100% - 64px);margin-inline:auto}.skip-link{z-index:10;background:var(--ink);color:#fff;border-radius:8px;padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:90px;display:flex}.brand,.footer-brand{align-items:center;gap:10px;display:inline-flex}.brand-mark{background:var(--ink);width:34px;height:34px;color:var(--lime);font-family:var(--serif);border-radius:10px 10px 10px 3px;place-items:center;font-size:21px;font-weight:700;display:grid;transform:rotate(-7deg)}.brand-word,.footer-brand>span:last-child{font-family:var(--mono);letter-spacing:.13em;font-size:13px;font-weight:500}.brand-period,.heading-period{color:#e66f4d}.main-nav{color:#555f59;align-items:center;gap:36px;margin-left:75px;font-size:13px;display:flex}.back-to-top,.main-nav a,.text-link{transition:color .2s}.back-to-top:hover,.main-nav a:hover,.text-link:hover{color:#d66745}.header-contact{border:1px solid var(--line);border-radius:999px;align-items:center;gap:13px;padding:11px 16px;font-size:12px;transition:background .2s,border-color .2s;display:inline-flex}.header-contact:hover{border-color:var(--ink);background:#fff}.header-contact span{font-size:15px}.hero{grid-template-columns:1.03fr .97fr;align-items:center;gap:54px;min-height:625px;padding-block:66px 82px;display:grid}.hero-copy{z-index:1;padding-block:14px;position:relative}.eyebrow{color:#69736d;font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:9px;margin:0;font-size:10px;display:flex}.eyebrow-dot{background:#ee7857;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #ee785721}.eyebrow-divider{color:#b3afa5}.hero h1{letter-spacing:-.075em;margin:30px 0 24px;font-size:calc(clamp(48px,6.1vw,75px));font-weight:600;line-height:1.21}.hero-highlight{z-index:0;white-space:nowrap;position:relative}.hero-highlight:after{z-index:-1;background:var(--lime);content:"";height:18px;position:absolute;bottom:4px;left:-3px;right:-4px;transform:rotate(-1.1deg)}.hero-intro{color:#616a64;max-width:450px;margin:0;font-size:15px;line-height:1.95}.hero-actions{align-items:center;gap:25px;margin-top:32px;display:flex}.button{border-radius:7px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:0 19px;font-size:12px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1d292421}.button-dark{background:var(--ink);color:#fffdf7}.button-arrow{color:var(--lime);font-size:17px}.text-link{color:#47524b;font-size:12px}.text-link span{margin-left:8px}.hero-footnote{color:#80857d;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin-top:52px;font-size:9px;display:flex}.footnote-separator{background:#bcb9ae;width:22px;height:1px}.hero-visual{isolation:isolate;place-items:center;width:100%;min-height:440px;display:grid;position:relative}.visual-grid{z-index:-2;background-image:linear-gradient(#1d29240f 1px,#0000 0),linear-gradient(90deg,#1d29240f 1px,#0000 0);background-size:32px 32px;position:absolute;inset:5% 3%;-webkit-mask-image:radial-gradient(#000 20%,#0000 72%);mask-image:radial-gradient(#000 20%,#0000 72%)}.visual-ring{z-index:-1;border:1px solid #1d29241f;border-radius:50%;position:absolute}.visual-ring-one{aspect-ratio:1;width:min(87%,390px)}.visual-ring-two{aspect-ratio:1;border-style:dashed;width:min(109%,490px);transform:rotate(-24deg)}.visual-orbit{aspect-ratio:1;border:1px solid #0000;border-color:#1d292430 #0000 #1d29241c;width:min(99%,448px);transform:rotate(-31deg)}.orbit-dot,.visual-orbit{border-radius:50%;position:absolute}.orbit-dot{border:3px solid var(--paper);background:#eb7655;width:12px;height:12px;top:29px;left:57px;box-shadow:0 0 0 1px #eb7655}.fox-emblem{aspect-ratio:1;background:var(--orange);border-radius:48% 52% 45% 55%/52% 43% 57% 48%;place-items:center;width:min(76%,328px);display:grid;position:relative;transform:rotate(3deg);box-shadow:18px 22px #1d292412}.fox-emblem:after,.fox-emblem:before{background:var(--lime);content:"";border-radius:50%;width:13px;height:13px;position:absolute}.fox-emblem:before{top:17%;right:14%}.fox-emblem:after{width:8px;height:8px;bottom:18%;left:14%}.fox-emblem svg{width:81%;overflow:visible}.fox-shadow{fill:#e66f4d}.fox-face{fill:#fff8ea}.fox-mask{fill:#f2bd76}.fox-eye,.fox-nose{fill:var(--ink)}.fox-star{fill:var(--lime)}.visual-caption,.visual-index,.visual-note{font-family:var(--mono);position:absolute}.visual-index{color:#85887f;letter-spacing:.08em;align-items:center;gap:10px;font-size:9px;display:flex;top:6%;right:3%}.visual-index span:first-child{width:24px;height:24px;color:var(--ink);font-family:var(--serif);border:1px solid #c6c0b4;border-radius:50%;place-items:center;font-size:14px;display:grid}.visual-note{color:#79827b;letter-spacing:.14em;font-size:8px;line-height:1.7;bottom:19%;right:1%;transform:rotate(8deg)}.visual-caption{color:#73796f;font-family:var(--sans);letter-spacing:.05em;font-size:11px;bottom:4%;left:5%}.project-section{padding-block:43px 112px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.section-eyebrow{margin-bottom:17px}.section-heading h2{letter-spacing:-.06em;margin:0;font-size:calc(clamp(30px,4vw,44px));font-weight:600}.section-aside{color:#777c74;text-align:right;margin:0 0 3px;font-size:12px;line-height:1.8}.project-list{gap:18px;display:grid}.project-card{background:#fffdf8;border:1px solid #1d292414;border-radius:14px;grid-template-columns:.93fr 1.07fr}.project-art,.project-card{min-height:290px;display:grid;overflow:hidden}.project-art{place-items:center;position:relative}.doll-project .project-art{background:#f3d9bd}.doll-art-orbit,.factory-orbit{aspect-ratio:1;border:1px solid #1d292424;border-radius:50%;width:68%;position:absolute}.doll-art-orbit.orbit-a{transform:rotate(25deg)scaleX(1.45)}.doll-art-orbit.orbit-b{transform:rotate(-32deg)scaleX(1.16)}.doll-art-sun{aspect-ratio:1;background:#f9b37f;border-radius:50%;width:175px;position:absolute;box-shadow:22px 22px #fff8ea73}.doll-art-icon{z-index:1;filter:drop-shadow(0 10px 7px #704a2921);width:164px;position:relative;overflow:visible}.doll-art-icon>path:first-child{fill:#fff6e7;stroke-linejoin:round}.doll-art-face,.doll-art-icon>path:first-child{stroke:#78533d;stroke-linecap:round;stroke-width:3px}.doll-art-face{fill:none}.doll-art-accent{fill:var(--orange)}.art-label{color:#1d292494;font-family:var(--mono);letter-spacing:.1em;text-align:right;font-size:8px;line-height:1.6;position:absolute;bottom:18px;right:19px}.endfield-project{background:var(--ink);color:#f7f3e8}.endfield-project .project-art{background:#22332c}.blueprint-grid{background-image:linear-gradient(#d7fa611a 1px,#0000 0),linear-gradient(90deg,#d7fa611a 1px,#0000 0);background-size:25px 25px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 25%,#0000 83%);mask-image:radial-gradient(#000 25%,#0000 83%)}.factory-orbit{border-color:#d7fa6142;width:58%}.factory-orbit.orbit-a{transform:scaleX(1.7)rotate(-27deg)}.factory-orbit.orbit-b{width:76%;transform:scaleX(1.25)rotate(38deg)}.factory-art-icon{z-index:1;fill:#b8d7d2;filter:drop-shadow(0 12px 7px #00000029);width:77%;position:relative;overflow:visible}.factory-window{fill:#304940}.factory-belt,.factory-link{fill:none;stroke:var(--lime);stroke-linecap:round;stroke-width:3px}.factory-link{stroke-dasharray:4 5;stroke-width:2px}.factory-node{fill:var(--orange);stroke:#22332c;stroke-width:3px}.endfield-project .art-label{color:#f5f3e89e}.project-content{flex-direction:column;align-items:flex-start;padding:26px 31px 21px;display:flex}.project-topline{justify-content:space-between;align-items:center;width:100%;display:flex}.project-category,.project-number{font-family:var(--mono);letter-spacing:.08em;font-size:9px}.project-number{color:#dc7656}.project-category{color:#888b82}.endfield-project .project-category{color:#aab7ad}.project-content h3{letter-spacing:-.055em;margin:28px 0 1px;font-size:calc(clamp(21px,2.4vw,27px));font-weight:600;line-height:1.25}.project-local-name{color:#8a8d83;margin:0;font-size:11px}.endfield-project .project-local-name{color:#aab7ad}.project-description{color:#626b64;max-width:390px;margin:15px 0 13px;font-size:12px;line-height:1.75}.endfield-project .project-description{color:#c1cbc2}.project-details{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project-details li{color:#68716a;border:1px solid #e4e0d7;border-radius:999px;padding:6px 9px;font-size:9px}.endfield-project .project-details li{color:#d5dfd3;border-color:#45554c}.project-bottomline{color:#a1a195;width:100%;font-family:var(--mono);letter-spacing:.09em;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font-size:8px;display:flex}.project-bottomline i{color:#e47c5c;padding-inline:3px;font-style:normal}.project-spark{color:#df7857;font-size:16px}.endfield-project .project-spark{color:var(--lime)}.projects-note{color:#777c74;align-items:center;gap:11px;margin-top:20px;font-size:11px;display:flex}.projects-note p{margin:0}.note-dash{background:#d9876b;width:22px;height:1px}.note-star{color:#df7857;margin-left:auto;font-size:17px}.about-section{background:#e8e5dc;position:relative;overflow:hidden}.about-inner{grid-template-columns:.7fr 1.3fr;align-items:center;gap:70px;min-height:430px;padding-block:73px;display:grid}.about-mark{aspect-ratio:1;border:1px solid #1d29242e;border-radius:50%;justify-self:center;place-items:center;width:min(260px,100%);display:grid;position:relative;transform:rotate(-4deg)}.about-mark:after,.about-mark:before{content:"";border:1px solid #1d292421;border-radius:50%;position:absolute}.about-mark:before{inset:14px -14px -14px 14px}.about-mark:after{border-style:dashed;inset:-18px 18px 18px -18px}.about-mark-large{color:#d86e4e;font-family:var(--serif);font-size:138px;font-weight:700;line-height:1}.about-mark-small{background:var(--lime);color:var(--ink);font-family:var(--mono);padding:8px 11px;font-size:9px;line-height:1.55;position:absolute;bottom:25px;right:5px;transform:rotate(4deg)}.about-copy{max-width:580px}.about-eyebrow{margin-bottom:18px}.about-copy h2{letter-spacing:-.07em;margin:0;font-size:calc(clamp(30px,4vw,43px));font-weight:600;line-height:1.42}.about-copy h2 span{color:#778078}.about-copy>p:not(.eyebrow){color:#616a63;max-width:520px;margin:18px 0 22px;font-size:13px;line-height:2}.interest-list{flex-wrap:wrap;gap:8px;display:flex}.interest-list span{color:#59645c;border:1px solid #d1cec4;border-radius:999px;padding:8px 11px;font-size:10px}.contact-section{padding-block:95px 75px}.contact-card{background:var(--ink);color:#f7f3e9;border-radius:14px;justify-content:space-between;align-items:center;min-height:260px;padding:40px 7%;display:flex;position:relative;overflow:hidden}.contact-copy{z-index:1;max-width:510px;position:relative}.contact-eyebrow{color:#b6c0b6}.contact-copy h2{letter-spacing:-.065em;margin:15px 0 11px;font-size:calc(clamp(31px,4.5vw,48px));font-weight:600;line-height:1.25}.contact-copy>p:last-child{color:#c1c9bf;max-width:440px;margin:0;font-size:12px;line-height:1.85}.github-link{z-index:1;background:#ffffff08;border:1px solid #5a685e;border-radius:8px;align-items:center;gap:12px;min-width:190px;padding:15px 16px;font-size:11px;transition:border-color .2s,background .2s,transform .2s;display:inline-flex;position:relative}.github-link:hover{border-color:var(--lime);background:#ffffff12;transform:translateY(-2px)}.github-link-icon{place-items:center;width:25px;height:25px;display:grid}.github-link-icon svg{width:21px;fill:var(--lime)}.github-arrow{color:var(--lime);margin-left:auto;font-size:16px}.contact-orbit{aspect-ratio:1;pointer-events:none;border:1px solid #d7fa611a;border-radius:50%;width:330px;position:absolute}.contact-orbit-one{top:-175px;right:20%}.contact-orbit-two{border-style:dashed;bottom:-235px;right:15%}.site-footer{border-top:1px solid var(--line);align-items:center;gap:23px;min-height:86px;display:flex}.footer-brand{gap:8px}.brand-mark-small{border-radius:7px 7px 7px 2px;width:25px;height:25px;font-size:15px}.back-to-top,.footer-brand>span:last-child,.site-footer>p{font-size:10px}.site-footer>p{color:#83877e;margin:0}.back-to-top{color:#626d65;margin-left:auto}.back-to-top span{margin-left:5px}.footer-year{color:#8a8d84;font-family:var(--mono);margin-left:20px;font-size:9px}@media (width<=900px){.section-wrap,.site-header{width:min(100% - 48px,760px)}.hero{grid-template-columns:1fr .88fr;gap:18px;min-height:auto;padding-block:68px 72px}.hero h1{font-size:calc(clamp(42px,6.5vw,62px))}.hero-visual{min-height:370px}.project-content{padding-inline:24px}.project-card{grid-template-columns:.88fr 1.12fr}.about-inner{gap:38px}}@media (width<=650px){html{scroll-padding-top:72px}.section-wrap,.site-header{width:calc(100% - 36px)}.site-header{height:72px}.brand-mark{width:30px;height:30px;font-size:18px}.brand-word,.main-nav{font-size:11px}.main-nav{gap:16px;margin-left:auto;margin-right:17px}.header-contact{gap:7px;padding:9px 11px;font-size:10px}.hero{grid-template-columns:1fr;gap:8px;padding-block:55px 58px}.hero-copy{padding:0}.eyebrow{font-size:9px}.hero h1{margin:25px 0 19px;font-size:calc(clamp(35px,11vw,55px))}.hero-highlight:after{height:13px;bottom:1px}.hero-intro{max-width:440px;font-size:13px}.hero-actions{gap:18px;margin-top:25px}.button{gap:12px;min-height:45px;padding-inline:14px}.button,.text-link{font-size:10px}.hero-footnote{margin-top:32px}.hero-visual{justify-self:center;width:min(100%,400px);min-height:350px;margin-top:6px}.visual-ring-one{width:77%}.visual-ring-two{width:100%}.visual-orbit{width:92%}.fox-emblem{width:70%}.project-section{padding-block:26px 73px}.section-heading{align-items:flex-start;gap:12px;margin-bottom:24px}.section-heading h2{font-size:31px}.section-aside{max-width:125px;padding-top:31px;font-size:9px}.project-list{gap:14px}.project-card{border-radius:11px;grid-template-columns:1fr}.project-art{min-height:210px}.project-content{min-height:245px;padding:21px 19px 18px}.project-content h3{margin-top:21px;font-size:23px}.project-description{margin-block:12px;font-size:11px}.project-bottomline{padding-top:19px;font-size:7px}.projects-note{align-items:flex-start;font-size:9px;line-height:1.7}.projects-note p{max-width:260px}.about-inner{grid-template-columns:1fr;gap:48px;padding-block:68px}.about-mark{width:190px}.about-mark-large{font-size:105px}.about-mark-small{bottom:15px;right:-1px}.about-copy h2{font-size:31px}.about-copy>p:not(.eyebrow){font-size:12px}.contact-section{padding-block:60px 52px}.contact-card{flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;min-height:330px;padding:31px 23px}.contact-copy h2{font-size:36px}.contact-copy>p:last-child{font-size:11px}.github-link{min-width:100%}.contact-orbit-one{top:-170px;right:-150px}.contact-orbit-two{bottom:-180px;right:-150px}.site-footer{flex-wrap:wrap;gap:9px 14px;min-height:74px;padding-block:17px}.site-footer>p{display:none}.back-to-top{font-size:9px}.footer-year{margin-left:3px;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}
