@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4a439e1ba971da1a-s.0ldnolnishmjo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.0_6z8bw5fnpp2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.0wesrn-n.ko7v.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.0q090~kxs1xcn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99ac5753282bcf05-s.14-35mipncksh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.0o52u8sd-fo14.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4a439e1ba971da1a-s.0ldnolnishmjo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.0_6z8bw5fnpp2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.0wesrn-n.ko7v.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.0q090~kxs1xcn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/99ac5753282bcf05-s.14-35mipncksh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.0o52u8sd-fo14.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/4a439e1ba971da1a-s.0ldnolnishmjo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.0_6z8bw5fnpp2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.0wesrn-n.ko7v.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.0q090~kxs1xcn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/99ac5753282bcf05-s.14-35mipncksh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.0o52u8sd-fo14.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono Fallback;src:local(Arial);ascent-override:77.84%;descent-override:20.13%;line-gap-override:0.0%;size-adjust:134.61%}.roboto_mono_92627a72-module__m0t6_G__className{font-family:Roboto Mono,Roboto Mono Fallback;font-style:normal}.roboto_mono_92627a72-module__m0t6_G__variable{--font-mono:"Roboto Mono", "Roboto Mono Fallback"}
:root{--ink:#172536;--ink-soft:#526273;--paper:#eee6d8;--paper-2:#f8f2e8;--paper-3:#d3ded7;--brass:#b98732;--brass-light:#f1d79a;--signal:#b05c3b;--moss:#60766f;--line:#17253624;--font:var(--font-mono), "Roboto Mono", ui-monospace, monospace}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}.portfolio{scroll-behavior:smooth;background:var(--paper);isolation:isolate;height:100vh;position:relative;overflow-y:auto}.portfolio:before{content:"";z-index:0;pointer-events:none;opacity:.34;background:radial-gradient(circle at 18% 18%,#ffffff73,#0000 28%),radial-gradient(circle at 80% 82%,#1725360d,#0000 34%);position:fixed;inset:0}.portfolio:after{content:none}.paper-grid{z-index:0;pointer-events:none;opacity:.84;filter:drop-shadow(12px 0 12px #17253612);background-color:color-mix(in srgb, var(--paper-2) 62%, var(--paper));background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), color-mix(in srgb, var(--paper-2) 62%, var(--paper));clip-path:polygon(0 0,98.2% 0,99.1% 2.5%,98.4% 5.5%,99.4% 8.5%,98.5% 12%,99.2% 15.5%,98.1% 19%,99.4% 22.5%,98.6% 26%,99.3% 30%,98.3% 34%,99.1% 38%,98.5% 42%,99.4% 46%,98.2% 50%,99.2% 54%,98.6% 58%,99.3% 62%,98.3% 66%,99.4% 70%,98.5% 74%,99.2% 78%,98.1% 82%,99.3% 86%,98.4% 90%,99.2% 94%,98.2% 97%,99% 100%,0 100%);background-size:42px 42px;width:min(66vw,1020px);position:fixed;top:0;bottom:0;left:0}.visual-stage{z-index:2;pointer-events:none;width:clamp(244px,26vw,410px);position:fixed;top:50%;right:clamp(18px,6vw,104px);transform:translateY(-50%)}.door-showcase{aspect-ratio:260/360;perspective:1400px;filter:drop-shadow(0 34px 52px #1725362e);position:relative}.door-showcase__inside,.door-showcase__leaf,.door-showcase__frame{position:absolute;inset:0}.door-showcase__inside{z-index:0;opacity:1;background:0 0;inset:10% 18% 13%}.door-showcase__leaf{z-index:2;transform-style:preserve-3d;backface-visibility:visible;animation:1.45s cubic-bezier(.18,.84,.22,1) .42s both doorLeafOpen}.door-showcase__leaf:before{content:none}.door-showcase__leaf--left{clip-path:inset(0 50% 0 0);transform-origin:50%}.door-showcase__leaf--right{clip-path:inset(0 0 0 50%);transform-origin:50%;animation-name:doorLeafOpenRight}.door-showcase--split .door-showcase__leaf--left{transform-origin:21.5%;animation-name:splitLeftOpen}.door-showcase--split .door-showcase__leaf--right{transform-origin:78.5%;animation-name:splitRightOpen}.door-showcase__leaf svg,.door-showcase__frame svg{width:100%;height:auto;color:var(--ink);display:block;overflow:visible}.door-showcase__frame{z-index:1;opacity:.9;mix-blend-mode:multiply;animation:1.45s cubic-bezier(.18,.84,.22,1) .42s both frameSettle}.door-showcase:after,.key-sigil:after{content:none}.door-showcase--single .door-showcase__inside{inset:10% 19% 13%}.door-showcase--arch-001 .door-showcase__inside{clip-path:polygon(50% 8%,70% 15%,82% 31%,82% 83%,18% 83%,18% 31%,30% 15%)}.door-showcase--dial-003 .door-showcase__inside,.door-showcase--split-002 .door-showcase__inside{clip-path:inset(10% 18% 13%)}.door-showcase--single .door-showcase__leaf--left{clip-path:none;transform-origin:24%;animation-name:doorSlabOpen}.door-showcase--arch-001.door-showcase--single .door-showcase__leaf--left{transform-origin:27%}.door-showcase--arch-001{transform-origin:50%;transform:scale(1.1)}.door-showcase--dial-003.door-showcase--single .door-showcase__leaf--left{transform-origin:22%}.door-showcase--single .door-showcase__leaf--right{display:none}.door-showcase--single .door-showcase__leaf--left svg{opacity:.98}@keyframes doorLeafOpen{0%{opacity:1;transform:rotateY(0)translate(0)}58%{opacity:.94}to{opacity:.82;transform:rotateY(-178deg)translate(0)}}@keyframes doorLeafOpenRight{0%{opacity:1;transform:rotateY(0)translate(0)}58%{opacity:.94}to{opacity:.82;transform:rotateY(178deg)translate(0)}}@keyframes doorSlabOpen{0%{opacity:1;transform:rotateY(0)translate(0)}58%{opacity:.94}to{opacity:.82;transform:rotateY(-178deg)translate(0)}}@keyframes splitLeftOpen{0%{opacity:1;transform:translate(0)rotateY(0)}58%{opacity:.94}to{opacity:.82;transform:translate(0)rotateY(-178deg)}}@keyframes splitRightOpen{0%{opacity:1;transform:translate(0)rotateY(0)}58%{opacity:.94}to{opacity:.82;transform:translate(0)rotateY(178deg)}}@keyframes frameSettle{0%{opacity:.72}to{opacity:.9}}.key-sigil{background:color-mix(in srgb, var(--paper-2) 88%, transparent);border:1px solid #1725362e;width:clamp(88px,7.5vw,124px);padding:11px;position:absolute;bottom:-30px;right:-26px;box-shadow:0 18px 38px -28px #172536bf}.key-sigil svg{width:100%;height:auto;color:var(--ink);filter:drop-shadow(0 12px 16px #1725361f);display:block}.copy-track{z-index:1;width:min(52vw,720px);margin-left:clamp(22px,8vw,118px);position:relative}.panel{min-height:100vh;position:relative}.panel:after{content:none}.hero{align-items:center;padding:88px clamp(22px,6vw,78px) 40px;display:flex}.hero__copy,.project{z-index:1;position:relative}.eyebrow{letter-spacing:.16em;color:var(--ink);text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:700}.headline{margin:0;font-size:clamp(44px,7.3vw,96px);font-weight:700;line-height:.94}.headline .word{color:var(--signal);white-space:pre;display:inline-block}.caret{background:var(--signal);color:#0000;width:.5ch;margin-left:.06em;animation:1.05s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.tagline{max-width:58ch;color:var(--ink);margin:18px 0 0;font-size:clamp(13px,1.1vw,16px);line-height:1.8}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.button{appearance:none;min-height:38px;font-family:var(--font);letter-spacing:.04em;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:10px 14px;font-size:12px;font-weight:700;transition:transform .14s,background .14s,color .14s,border-color .14s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--ink);color:var(--paper-2);border:1px solid var(--ink)}.button--ghost{color:var(--ink);border:1px solid #172a3a6b}.button--ghost:hover{border-color:var(--ink);background:#f3ead947}.links{flex-wrap:wrap;gap:18px;margin-top:24px;font-size:13px;display:flex}.links a{color:var(--ink);letter-spacing:.04em;transition:color .12s}.links a:before{content:"/";color:var(--brass);margin-right:6px}.links a:hover{color:var(--brass)}.projects{min-height:200vh}.project{align-items:center;min-height:100vh;padding:84px clamp(22px,6vw,78px) 42px;display:flex}.project+.project{border-top:1px solid #172a3a1f}.project__copy h2{margin:0;font-size:clamp(38px,6.3vw,84px);line-height:.95}.project__kicker{margin:16px 0 0;font-size:clamp(15px,1.7vw,21px);font-weight:700}.project__body{max-width:58ch;color:var(--ink-soft);margin:18px 0 0;font-size:clamp(13px,1.2vw,16px);line-height:1.75}.project__index{color:var(--brass);letter-spacing:.16em;margin:20px 0 0;font-size:11px;font-weight:700}.project .button{margin-top:24px}@keyframes artifactIn{0%{opacity:0;filter:blur(5px);transform:translateY(14px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes sweepDown{0%{opacity:0;transform:translateY(18px)}20%{opacity:1}to{opacity:0;transform:translateY(clamp(230px,25vw,382px))}}@keyframes apertureDrift{0%,to{transform:translateY(-50%)rotate(0)scale(1)}40%{transform:translateY(-50%)rotate(4deg)scale(1.025)}65%{transform:translateY(-50%)rotate(-2deg)scale(.985)}}@keyframes pixelOrbit{0%,to{transform:translateY(-50%)translate(0)}33%{transform:translateY(-50%)translate(10px,-6px)}66%{transform:translateY(-50%)translate(-8px,10px)}}@keyframes dataDrift{0%,to{opacity:.22;translate:0}35%{opacity:.52;translate:24px -12px}70%{opacity:.36;translate:-14px 18px}}@media (prefers-reduced-motion:reduce){.portfolio{scroll-behavior:auto}.caret{animation:none}.door-showcase__leaf,.door-showcase__frame,.door-showcase__leaf svg,.door-showcase__frame svg,.key-sigil svg,.door-showcase:after,.key-sigil:after{clip-path:none;animation:none}}@media (max-width:820px){.portfolio{background:var(--paper)}.visual-stage{width:min(72vw,360px);margin:56px auto 0;position:relative;top:auto;right:auto;transform:none}.paper-grid{width:76vw}.copy-track{width:auto;margin-left:0}.hero,.project{align-content:center;min-height:auto;padding-top:48px;padding-bottom:64px}.hero{min-height:auto}}.gallery{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:46px 46px;min-height:100vh;padding:clamp(32px,6vw,72px) clamp(20px,5vw,64px)}.gallery__head{max-width:720px;margin:0 auto clamp(28px,5vw,56px)}.gallery__back{color:var(--ink-soft);font-size:13px}.gallery__back:hover{color:var(--brass)}.gallery__title{letter-spacing:-.03em;margin:16px 0 10px;font-size:clamp(28px,5vw,48px);font-weight:700}.gallery__sub{color:var(--ink-soft);max-width:56ch;margin:0;font-size:14px;line-height:1.6}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;max-width:1100px;margin:0 auto;display:grid}.kcard{border:1px solid var(--line);background:#ffffff59;border-radius:8px;flex-direction:column;align-items:center;padding:14px 14px 16px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.kcard:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:0 18px 40px -24px #1a2b3c80}.kcard canvas{width:100%;height:auto}.kcard__tag{letter-spacing:.14em;text-transform:uppercase;color:var(--brass);border:1px solid color-mix(in srgb, var(--brass) 40%, transparent);border-radius:3px;align-self:flex-start;padding:2px 6px;font-size:9px}.kcard__tag[data-origin=gen]{color:var(--ink-soft);border-color:var(--line)}.kcard__tag[data-origin=codex]{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 32%, transparent);background:#1a2b3c0d}.kcard__name{letter-spacing:-.01em;margin:12px 0 4px;font-size:15px;font-weight:700}.kcard__power{color:var(--ink-soft);text-align:center;margin:0;font-size:11px;line-height:1.5}.gallery__section{border-top:1px solid var(--line);max-width:1100px;margin:clamp(42px,8vw,86px) auto 0;padding-top:clamp(24px,4vw,38px)}.gallery__section-head{max-width:720px;margin-bottom:clamp(22px,4vw,34px)}.gallery__kicker{color:var(--brass);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:11px}.gallery__section-title{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(22px,3.8vw,34px);line-height:1.05}.gallery__section-sub{max-width:62ch;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.65}.doors-gallery{background:var(--paper)}.door-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;max-width:1180px;margin:0 auto;display:grid}.door-card{background:color-mix(in srgb, var(--paper-2) 70%, transparent);border:1px solid #17253629;border-radius:6px;padding:16px;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:0 22px 46px -38px #17253694}.door-card:hover{border-color:#b98732a3;transform:translateY(-4px);box-shadow:0 28px 58px -40px #172536b3}.door-card canvas{background:var(--paper-2);border:1px solid #1725361a;width:100%;height:auto}.door-card__copy{min-height:92px;padding-top:14px}.door-card__name{margin:0;font-size:15px;font-weight:700}.door-card__note{color:var(--ink-soft);margin:7px 0 0;font-size:11px;line-height:1.55}@media (max-width:780px){.frame{text-align:left;grid-template-columns:1fr}.keywrap{max-width:240px}}
