/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#f2f0e9;--paper-bright:#fbfaf5;--ink:#111319;--blue:#315cff;--orange:#ff6b3d;--mist:#dde6ff;--muted:#686b73;--blue-dark:#1639a2;--line:#11131933;--line-soft:#1113191a;--space-1:.5rem;--space-2:.875rem;--space-3:1.25rem;--space-4:2rem;--space-5:3.5rem;--space-6:5.5rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--portfolio-surface:#f4f7f0;--portfolio-paper:#fffef9;--portfolio-ink:#15161a;--portfolio-blue:#3867ff;--portfolio-blue-dark:#2445bb;--portfolio-coral:#ff6b4a;--portfolio-yellow:#ffd84d;--portfolio-mint:#bfe7d3;--portfolio-line:#15161a2e;--portfolio-radius-sm:8px;--portfolio-radius-md:18px;--portfolio-radius-lg:30px;--portfolio-shadow:8px 8px 0 var(--portfolio-ink)}*{box-sizing:border-box}html{background:var(--paper);max-width:100vw;overflow-x:hidden}body{background:var(--paper);max-width:100vw;min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:var(--blue);color:#fff}.skip-link{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));z-index:200;border:1px solid var(--ink);background:var(--paper-bright);font-family:var(--font-geist-mono), monospace;transition:transform .18s var(--ease-out);padding:11px 14px;font-size:.72rem;font-weight:700;position:fixed;transform:translateY(calc(-100% - 24px))}.skip-link:focus-visible{transform:translateY(0)}.wordmark{z-index:2;letter-spacing:-.08em;justify-content:flex-start;justify-self:start;align-items:center;min-width:44px;min-height:44px;font-size:1rem;font-weight:780;display:inline-flex;position:relative}.wordmark-dot{color:var(--blue)}.status-light{background:var(--blue);border-radius:50%;flex:none;width:7px;height:7px;animation:2.8s ease-in-out infinite status-pulse}.entry-sequence{z-index:100;background:var(--ink);color:var(--paper-bright);transition:opacity .42s var(--ease-out), visibility .42s;place-items:center;display:grid;position:fixed;inset:0}.entry-sequence--done{visibility:hidden;opacity:0;pointer-events:none}.entry-sequence__inner{width:min(390px,100vw - 48px);font-family:var(--font-geist-mono), monospace}.entry-sequence__inner>span{letter-spacing:.18em;margin-bottom:14px;font-size:.74rem;font-weight:700;display:block}.entry-sequence__inner small{color:#ffffff7a;letter-spacing:.16em;margin-top:13px;font-size:.58rem;display:block}.entry-sequence__track{background:#ffffff2e;height:1px;overflow:hidden}.entry-sequence__track i{background:var(--orange);width:100%;height:100%;animation:loading-line .56s var(--ease-out) forwards;display:block;transform:translate(-100%)}.home{--pointer-x:0;--pointer-y:0;isolation:isolate;background:radial-gradient(at 50% 38%,#faf9f2eb 0%,#f0f4eead 28%,#0000 58%),linear-gradient(145deg,#b9c9c4 0%,#dce4de 44%,#c8d5d2 100%);min-height:100svh;position:relative;overflow:hidden}.home:before,.home:after{z-index:-2;pointer-events:none;content:"";position:fixed;inset:0}.home:before{opacity:.72;background-image:radial-gradient(at 10% 18%,#ffffff70,#0000 34%),radial-gradient(at 88% 72%,#57756f29,#0000 38%)}.home:after{z-index:-1;mix-blend-mode:multiply;background:radial-gradient(#0000 54%,#1e33311f 100%)}.home-utility,.detail-utility{z-index:30;min-height:calc(62px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-right:max(clamp(20px, 3vw, 48px), env(safe-area-inset-right));padding-left:max(clamp(20px, 3vw, 48px), env(safe-area-inset-left));border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);font-family:var(--font-geist-mono), monospace;background:#f2f0e9d1;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.utility-status{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;font-size:.62rem;display:flex}.utility-year,.detail-utility>span{color:var(--muted);letter-spacing:.08em;font-size:.62rem}.utility-year,.detail-utility>span:last-child{justify-self:end}.status-copy--short{display:none}.hero{width:min(1440px,100%);min-height:100svh;margin:0 auto;position:relative;overflow:hidden}.eyebrow{color:var(--blue);font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;align-items:center;gap:10px;margin-bottom:13px;font-size:.65rem;font-weight:750;display:flex}.eyebrow:before{content:"";background:currentColor;flex:none;width:24px;height:1px}.character-stage{z-index:5;width:clamp(270px,22vw,390px);transform:translateX(calc(-50% + var(--pointer-x) * -10px)) translateY(calc(var(--pointer-y) * -6px));animation:character-enter .9s .58s var(--ease-out) both;margin:0;transition:transform .22s ease-out;position:absolute;bottom:0;left:50%}.hero-character{width:100%;height:auto;image-rendering:pixelated;display:block}.cloud-navigation{z-index:10;pointer-events:none;position:absolute;inset:0}.thought-cloud{--magnet-x:0px;--magnet-y:0px;border:1.25px solid var(--ink);text-align:center;pointer-events:auto;will-change:transform;width:clamp(164px,15vw,218px);min-height:104px;transition:color .24s ease, background .24s ease, border-color .24s ease, transform .3s var(--ease-out);animation:thought-enter .76s var(--ease-out) both;background:#fbfaf5eb;border-radius:58% 42% 54% 46%/45% 60% 40% 55%;flex-direction:column;justify-content:center;align-items:center;padding:24px 28px;display:flex;position:absolute}.thought-cloud>span{letter-spacing:-.035em;font-size:.95rem;font-weight:680}.thought-cloud__dot{border:1.25px solid var(--ink);background:var(--paper-bright);border-radius:50%;width:10px;height:10px;transition:background .24s,border-color .24s;position:absolute}.thought-cloud:hover,.thought-cloud:focus-visible{z-index:20;border-color:var(--blue);background:var(--blue);color:#fff}.thought-cloud:hover>small,.thought-cloud:focus-visible>small{color:#ffffffb8}.thought-cloud:hover .thought-cloud__dot,.thought-cloud:focus-visible .thought-cloud__dot{border-color:var(--blue);background:var(--orange)}.home--transitioning .character-stage{opacity:.28;transition:opacity .18s}.home--transitioning .thought-cloud:not(.thought-cloud--selected){opacity:.2;pointer-events:none;transform:scale(.94)}.home--transitioning .thought-cloud--selected{z-index:25;opacity:1;pointer-events:none}.home--transitioning .cloud-navigation{pointer-events:none}.cloud-about{border-radius:61% 39% 54% 46%/48% 58% 42% 52%;animation-delay:.66s;top:25%;left:7%}.cloud-experience{border-radius:43% 57% 39% 61%/56% 44% 59% 41%;animation-delay:.73s;top:62%;left:4%}.cloud-project{border-radius:61% 39% 47% 53%/42% 55% 45% 58%;animation-delay:.8s;top:29%;right:7%}.cloud-contact{border-radius:38% 62% 55% 45%/58% 43% 57% 42%;animation-delay:.87s;top:66%;right:4%}.cloud-about .thought-cloud__dot{bottom:10%;right:-24px}.cloud-experience .thought-cloud__dot{top:5%;right:-24px}.cloud-project .thought-cloud__dot{bottom:9%;left:-24px}.cloud-contact .thought-cloud__dot{top:5%;left:-24px}.detail-page{min-height:100svh;padding-top:calc(112px + env(safe-area-inset-top));padding-right:max(clamp(24px, 7vw, 112px), env(safe-area-inset-right));padding-bottom:calc(56px + env(safe-area-inset-bottom));padding-left:max(clamp(24px, 7vw, 112px), env(safe-area-inset-left));isolation:isolate;background:linear-gradient(90deg, transparent 0 49.96%, var(--line-soft) 50%, transparent 50.04%), var(--paper);position:relative;overflow:hidden}.detail-page:before{z-index:-2;opacity:.65;content:"";background-image:radial-gradient(#1113191f .65px,#0000 .65px);background-size:23px 23px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000 0,#000 14% 92%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 14% 92%,#0000 100%)}.detail-utility{grid-template-columns:1fr auto 1fr}.conversation-stage{width:min(1120px,100%);min-height:calc(100svh - 168px);animation:detail-enter .7s var(--ease-out) both;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,.78fr) minmax(340px,1.22fr);gap:0 clamp(38px,7vw,112px);margin:0 auto;display:grid;position:relative}.conversation-header{grid-area:1/1;align-self:start}.conversation-kicker{color:var(--blue);font-family:var(--font-geist-mono), monospace;letter-spacing:.17em;margin-bottom:28px;font-size:.65rem;font-weight:750;display:block}.conversation-header h1{letter-spacing:-.09em;overflow-wrap:anywhere;text-wrap:balance;max-width:580px;margin:0;scroll-margin-top:88px;font-size:clamp(4rem,9.2vw,9rem);font-weight:610;line-height:.82}.conversation-question-group{grid-area:2/1;align-self:end;margin-top:clamp(42px,8vh,110px);padding-bottom:2px}.conversation-question-group h2{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;margin:0 0 15px;font-size:.62rem;font-weight:700}.conversation-question-list{gap:8px;display:grid}.conversation-question-list button{width:100%;min-height:52px;scroll-margin-top:calc(56px + env(safe-area-inset-top) + 8px);border:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease, background .18s ease, color .18s ease, transform .18s var(--ease-out);background:#fbfaf57a;align-items:center;gap:0;padding:12px 15px;font-size:.84rem;line-height:1.2;display:flex;position:relative}.conversation-question-list button:before{width:25px;height:25px;color:var(--blue);content:"→";font-family:var(--font-geist-mono), monospace;border:1px solid;border-radius:50%;flex:none;place-items:center;margin-right:14px;font-size:.7rem;display:grid}.conversation-question-list button:hover{border-color:var(--blue);background:#dde6ffb3;transform:translate(5px)}.conversation-question-list button[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}.conversation-question-list button[aria-pressed=true]:before{border-color:var(--orange);background:var(--orange);color:var(--ink);content:"✓"}.conversation-question-list button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.conversation-thread{flex-direction:column;grid-area:1/2/span 2;justify-content:flex-end;gap:16px;min-width:0;padding-top:clamp(38px,7vh,82px);padding-bottom:36px;display:flex;position:relative}.conversation-thread:before{background:var(--line-soft);content:"";width:1px;position:absolute;top:0;bottom:0;left:-28px}.conversation-bubble{border:1px solid var(--ink);overflow-wrap:anywhere;max-width:min(100%,570px);padding:17px 20px;line-height:1.48;position:relative}.conversation-bubble p{margin:0}.conversation-bubble p+p{margin-top:8px}.conversation-bubble--prompt{background:var(--paper-bright);border-radius:5px 23px 23px;align-self:flex-start}.conversation-bubble--prompt:before{border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--paper-bright);content:"";width:9px;height:9px;position:absolute;top:-1px;left:-9px;transform:skew(-25deg)}.conversation-bubble--visitor{border-color:var(--blue);background:var(--mist);animation:conversation-visitor-enter .22s var(--ease-out) both;border-radius:23px 5px 23px 23px;align-self:flex-end}.conversation-bubble--visitor:after{border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);background:var(--mist);content:"";clip-path:polygon(100% 0,100% 100%,0 0);width:14px;height:14px;position:absolute;bottom:-8px;right:-1px}.conversation-assistant{align-items:flex-end;gap:14px;min-width:0;display:flex}.conversation-portrait{width:clamp(82px,9vw,126px);height:auto;image-rendering:pixelated;object-fit:contain;object-position:bottom center;flex:none}.conversation-bubble--assistant{border-color:var(--ink);background:var(--ink);min-width:0;color:var(--paper-bright);animation:conversation-answer-enter .28s var(--ease-out) both;border-radius:5px 23px 23px;flex:1}.conversation-bubble--assistant:before{background:var(--ink);content:"";clip-path:polygon(100% 0,0 100%,100% 100%);width:11px;height:11px;position:absolute;bottom:13px;left:-9px}.conversation-thinking{align-items:center;gap:5px;min-height:23px;display:flex}.conversation-thinking span{background:var(--orange);border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite typing-dot}.conversation-thinking span:nth-child(2){animation-delay:.12s}.conversation-thinking span:nth-child(3){animation-delay:.24s}.conversation-answer h2{color:var(--mist);letter-spacing:-.04em;margin:0 0 9px;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:650}.conversation-answer p{color:#fbfaf5c2}.conversation-answer a{border:1px solid var(--orange);min-height:44px;color:var(--orange);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;margin-top:18px;padding:11px 15px;font-size:.65rem;font-weight:700;transition:color .18s,background .18s;display:inline-flex}.conversation-answer a:hover,.conversation-answer a:focus-visible{background:var(--orange);color:var(--ink)}.conversation-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.conversation-actions a{border:1px solid var(--blue);min-height:44px;color:var(--blue);font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;align-items:center;padding:10px 13px;font-size:.62rem;font-weight:700;transition:color .18s,background .18s;display:inline-flex}.conversation-actions a:hover,.conversation-actions a:focus-visible{background:var(--blue);color:var(--paper-bright)}.conversation-status{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;grid-area:3/2;justify-self:end;margin:0 0 8px;font-size:.6rem}.conversation-return{min-height:44px;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease, transform .18s var(--ease-out);grid-area:3/1;align-items:center;margin-top:24px;padding:10px 0;font-size:.64rem;font-weight:700;display:inline-flex}.conversation-return:before{color:var(--orange);content:"←";margin-right:10px;font-size:1rem}.conversation-return:hover,.conversation-return:focus-visible{color:var(--blue);transform:translate(-4px)}.conversation-noscript{border:1px solid var(--line);background:var(--paper-bright);width:min(760px,100%);margin:48px auto 0;padding:28px}.conversation-noscript h2{margin:0 0 22px;font-size:1.4rem}.conversation-noscript ol{gap:20px;margin:0;padding-left:22px;display:grid}.conversation-noscript h3,.conversation-noscript h4{margin:0}.conversation-noscript h3{color:var(--blue);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.64rem}.conversation-noscript h4{margin-top:5px;font-size:1.1rem}.conversation-noscript p{color:var(--muted);margin:7px 0 0;line-height:1.5}.conversation-noscript a{color:var(--blue);font-weight:700;text-decoration:underline}.portal-transition{z-index:120;pointer-events:none;position:fixed;inset:0}.portal-transition--idle{visibility:hidden;opacity:0}.portal-transition--active{visibility:visible;opacity:1;pointer-events:auto;animation:portal-transition-enter .56s var(--ease-out) both;will-change:opacity;position:fixed}.portal-transition__wash{z-index:0;background:var(--ink);image-rendering:pixelated;transform-origin:var(--portal-origin-x) var(--portal-origin-y);will-change:transform, opacity;position:fixed;inset:0;overflow:hidden;transform:scale(.01)}.portal-transition__wash:after{background-image:radial-gradient(var(--orange) .7px, transparent .7px);opacity:.18;content:"";-webkit-mask-image:radial-gradient(circle at var(--portal-origin-x) var(--portal-origin-y), black, transparent 57%);-webkit-mask-image:radial-gradient(circle at var(--portal-origin-x) var(--portal-origin-y), black, transparent 57%);-webkit-mask-image:radial-gradient(circle at var(--portal-origin-x) var(--portal-origin-y), black, transparent 57%);mask-image:radial-gradient(circle at var(--portal-origin-x) var(--portal-origin-y), black, transparent 57%);background-size:8px 8px;position:absolute;inset:0}.portal-transition__content{z-index:1;color:var(--mist);opacity:0;pointer-events:none;will-change:transform, opacity;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:fixed;inset:0;transform:translateY(18px)}.portal-transition__character{z-index:0;width:clamp(64px,8vw,108px);height:auto;image-rendering:pixelated;transform:translate3d(calc(var(--portal-origin-x) - 50vw), calc(var(--portal-origin-y) - 50vh), 0) scale(.18);will-change:transform, opacity;position:absolute;top:50%;left:50%}.portal-transition__destination{z-index:2;color:var(--mist);font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.055em;opacity:0;will-change:transform, opacity;font-size:clamp(1.4rem,4vw,2.6rem);font-weight:700;position:relative;transform:translateY(12px)}.portal-transition__prompt{z-index:2;color:var(--orange);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;opacity:0;will-change:transform, opacity;font-size:.68rem;font-weight:750;position:relative;transform:translateY(10px)}.portal-transition--active .portal-transition__wash{animation:portal-wash-expand .56s var(--ease-out) both}.portal-transition--active .portal-transition__content{animation:portal-content-enter .42s 60ms var(--ease-out) both}.portal-transition--active .portal-transition__character{animation:portal-character-travel .5s var(--ease-out) both}.portal-transition--active .portal-transition__destination{animation:portal-destination-enter .34s .12s var(--ease-out) both}.portal-transition--active .portal-transition__prompt{animation:portal-prompt-enter .3s .16s var(--ease-out) both}.pixel-trail{z-index:1;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.click-spark{position:relative}.click-spark__canvas{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@keyframes portal-transition-enter{0%{opacity:.72}to{opacity:1}}@keyframes portal-wash-expand{0%{opacity:.35;transform:scale(.01)}20%{opacity:1}to{opacity:1;transform:scale(2.4)}}@keyframes portal-content-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translate(0)}}@keyframes portal-character-travel{0%{opacity:.1;transform:translate3d(calc(var(--portal-origin-x) - 50vw), calc(var(--portal-origin-y) - 50vh), 0) scale(.18)}35%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)scale(.52)}}@keyframes portal-destination-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0)}}@keyframes portal-prompt-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0)}}@keyframes loading-line{to{transform:translate(0)}}@keyframes status-pulse{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes cloud-enter{0%{opacity:0;transform:translate(-50%,26px)scale(.94)}}@keyframes character-enter{0%{opacity:0;transform:translate(-50%,36px)}}@keyframes thought-enter{0%{opacity:0;transform:translateY(22px)scale(.9)}}@keyframes detail-enter{0%{opacity:0;transform:translateY(28px)}}@keyframes typing-dot{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes conversation-visitor-enter{0%{opacity:0;transform:translate(14px,8px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes conversation-answer-enter{0%{opacity:0;clip-path:inset(0 0 16% round 5px 23px 23px);transform:translateY(10px)scale(.98)}to{opacity:1;clip-path:inset(0 round 5px 23px 23px);transform:translate(0)scale(1)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cloud-about{transform:translate3d(calc(var(--magnet-x) + var(--pointer-x) * 5px), calc(var(--magnet-y) + var(--pointer-y) * 3px), 0) rotate(-2deg)}.cloud-experience{transform:translate3d(calc(var(--magnet-x) + var(--pointer-x) * 3px), calc(var(--magnet-y) + var(--pointer-y) * -4px), 0) rotate(1deg)}.cloud-project{transform:translate3d(calc(var(--magnet-x) + var(--pointer-x) * -4px), calc(var(--magnet-y) + var(--pointer-y) * 4px), 0) rotate(2deg)}.cloud-contact{transform:translate3d(calc(var(--magnet-x) + var(--pointer-x) * -3px), calc(var(--magnet-y) + var(--pointer-y) * -3px), 0) rotate(-2deg)}.thought-cloud:hover,.thought-cloud:focus-visible{transform:translate3d(var(--magnet-x), var(--magnet-y), 0) rotate(0) scale(1.04)}}@media (width>=1500px){.character-stage{width:min(420px,25vw)}.cloud-about{left:9%}.cloud-experience{left:6%}.cloud-project{right:9%}.cloud-contact{right:6%}}@media (width<=900px){.hero{min-height:max(760px,100svh)}.home-utility,.detail-utility{min-height:calc(56px + env(safe-area-inset-top))}.character-stage{width:270px}.thought-cloud{width:180px;min-height:96px}.cloud-about{top:21%;left:3%}.cloud-experience{top:65%;left:6%}.cloud-project{top:24%;right:3%}.cloud-contact{top:68%;right:6%}.conversation-stage{grid-template-columns:minmax(0,.88fr) minmax(300px,1.12fr);column-gap:32px}.conversation-header h1{font-size:clamp(3.6rem,11vw,7rem)}.conversation-portrait{width:clamp(72px,11vw,108px)}}@media (width<=620px){.home-utility,.detail-utility{padding-top:env(safe-area-inset-top);padding-right:max(17px, env(safe-area-inset-right));padding-left:max(17px, env(safe-area-inset-left));grid-template-columns:auto 1fr}.utility-status{justify-self:end}.utility-status span:last-child{white-space:nowrap}.status-copy--full{display:none}.status-copy--short{display:inline}.utility-year,.detail-utility>span:last-child{display:none}.detail-utility>span:nth-child(2){justify-self:end}.hero{min-height:max(790px,100svh)}.home:before{opacity:.54}.character-stage{width:min(240px,60vw)}.thought-cloud{width:min(137px,37vw);min-height:82px;padding:14px 12px}.thought-cloud>span{font-size:.81rem}.cloud-about{top:18%;left:3%}.cloud-experience{top:61%;left:6%}.cloud-project{top:21%;right:3%}.cloud-contact{top:64%;right:6%}.cloud-about .thought-cloud__dot,.cloud-experience .thought-cloud__dot{right:-16px}.cloud-project .thought-cloud__dot,.cloud-contact .thought-cloud__dot{left:-16px}.detail-page{padding-top:calc(98px + env(safe-area-inset-top));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:calc(34px + env(safe-area-inset-bottom));padding-left:max(20px, env(safe-area-inset-left));background:var(--paper)}.conversation-stage{flex-direction:column;width:100%;min-height:calc(100svh - 132px);display:flex}.conversation-header{flex:none}.conversation-kicker{margin-bottom:19px}.conversation-header h1{max-width:100%;font-size:clamp(3.25rem,17vw,5.6rem);line-height:.86}.conversation-question-group{margin-top:42px}.conversation-question-list{gap:7px}.conversation-question-list button{min-height:52px}.conversation-thread{gap:12px;padding-top:34px;padding-bottom:0;display:flex}.conversation-thread:before{width:auto;height:1px;inset:18px 0 auto}.conversation-bubble{max-width:92%;padding:14px 16px;font-size:.92rem}.conversation-assistant{align-items:flex-end;gap:9px}.conversation-portrait{width:clamp(64px,21vw,90px)}.conversation-bubble--assistant{max-width:calc(100% - 73px)}.conversation-status{order:3;align-self:flex-start;margin:22px 0 0}.conversation-return{order:4;margin-top:17px}}@media (width<=360px){.thought-cloud{width:128px}.conversation-header h1{font-size:clamp(3rem,16.8vw,4.4rem)}.conversation-bubble{max-width:96%}.conversation-bubble--assistant{max-width:calc(100% - 60px)}.conversation-portrait{width:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.entry-sequence,.pixel-trail,.click-spark__canvas{display:none!important}.character-stage,.thought-cloud{opacity:1!important;animation:none!important}.portal-transition--active,.portal-transition__wash,.portal-transition__content,.portal-transition__character,.portal-transition__destination,.portal-transition__prompt{animation:none!important;transform:none!important}.conversation-thinking span,.conversation-bubble--visitor,.conversation-bubble--assistant{animation:none!important}.thought-cloud:hover,.thought-cloud:focus-visible,.conversation-question-list button:hover,.conversation-return:hover{transform:none!important}}.portfolio-home{background:linear-gradient(var(--portfolio-line) 1px, transparent 1px), linear-gradient(90deg, var(--portfolio-line) 1px, transparent 1px), var(--portfolio-surface);min-height:100vh;color:var(--portfolio-ink);font-family:var(--font-geist-sans), Arial, sans-serif;background-size:64px 64px;overflow:clip}.portfolio-home *{scroll-margin-top:88px}.portfolio-nav{z-index:80;border-bottom:1px solid var(--portfolio-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f0f0;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 clamp(22px,4vw,64px);display:flex;position:sticky;top:0}.portfolio-nav__brand{color:var(--portfolio-ink);letter-spacing:-.06em;font-size:1.05rem;font-weight:820}.portfolio-nav__brand span{color:var(--portfolio-blue)}.portfolio-nav nav{align-items:center;gap:clamp(14px,2.5vw,36px);display:flex}.portfolio-nav nav a{color:var(--portfolio-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;padding:21px 0 19px;font-size:.68rem;font-weight:720;position:relative}.portfolio-nav nav a:after{background:var(--portfolio-blue);content:"";transform-origin:100%;height:3px;transition:transform .18s var(--ease-out);position:absolute;bottom:14px;left:0;right:0;transform:scaleX(0)}.portfolio-nav nav a:hover:after,.portfolio-nav nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.portfolio-nav a:focus-visible,.portfolio-home main a:focus-visible,.portfolio-footer a:focus-visible{outline:3px solid var(--portfolio-coral);outline-offset:4px}.portfolio-hero{border-bottom:2px solid var(--portfolio-ink);grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);align-items:center;gap:clamp(44px,8vw,120px);min-height:calc(100svh - 68px);padding:clamp(72px,10vh,124px) clamp(26px,7vw,112px) 72px;display:grid;position:relative}.portfolio-hero:before{background:var(--portfolio-yellow);width:12px;height:12px;box-shadow:12px 0 0 var(--portfolio-yellow), 0 12px 0 var(--portfolio-yellow), 12px 12px 0 var(--portfolio-coral);content:"";position:absolute;top:9%;left:5%}.portfolio-hero__copy{z-index:2;max-width:820px;position:relative}.portfolio-eyebrow{color:var(--portfolio-blue-dark);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:780;line-height:1.4}.portfolio-hero h1{letter-spacing:-.095em;text-wrap:balance;max-width:820px;margin:18px 0 28px;font-size:clamp(5.6rem,11vw,10rem);font-weight:850;line-height:.79}.portfolio-hero__lede{letter-spacing:-.048em;text-wrap:balance;max-width:760px;margin:0;font-size:clamp(1.6rem,3.1vw,3rem);font-weight:640;line-height:1.04}.portfolio-hero__support{color:#15161ab8;max-width:590px;margin:24px 0 0;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.55}.portfolio-actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.portfolio-button{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-sm);background:var(--portfolio-paper);min-height:50px;color:var(--portfolio-ink);font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase;box-shadow:4px 4px 0 var(--portfolio-ink);transition:background .16s ease, color .16s ease, transform .16s var(--ease-out), box-shadow .16s var(--ease-out);justify-content:center;align-items:center;padding:13px 18px;font-size:.7rem;font-weight:780;display:inline-flex}.portfolio-button--primary{background:var(--portfolio-blue);color:#fff}.portfolio-button:hover{background:var(--portfolio-yellow);color:var(--portfolio-ink);box-shadow:2px 2px 0 var(--portfolio-ink);transform:translate(2px,2px)}.portfolio-hero__world{border:2px solid var(--portfolio-ink);background:radial-gradient(circle at 76% 18%, var(--portfolio-yellow) 0 38px, transparent 39px), linear-gradient(180deg, #d9ecff 0 66%, var(--portfolio-mint) 66% 100%);min-height:clamp(430px,63vh,650px);box-shadow:var(--portfolio-shadow);border-radius:48% 52% 16% 16%/20% 20% 10% 10%;position:relative;overflow:hidden}.portfolio-hero__world:before{background:linear-gradient(135deg, transparent 18px, #15161a21 19px 20px, transparent 21px) 0 0 / 42px 42px, var(--portfolio-mint);content:"";height:34%;position:absolute;bottom:0;left:0;right:0}.pixel-cloud{background:var(--portfolio-paper);width:80px;height:22px;box-shadow:18px -16px 0 var(--portfolio-paper), 44px -7px 0 var(--portfolio-paper);position:absolute}.pixel-cloud--one{top:21%;left:9%}.pixel-cloud--two{top:34%;right:14%;transform:scale(.68)}.hero-platform{border:2px solid var(--portfolio-ink);background:var(--portfolio-coral);height:24px;box-shadow:0 8px 0 var(--portfolio-ink);position:absolute}.hero-platform--back{width:36%;bottom:32%;right:8%}.hero-platform--front{background:var(--portfolio-yellow);width:62%;bottom:16%;left:10%}.portfolio-hero__avatar{z-index:2;filter:drop-shadow(8px 8px #15161a2e);width:min(50%,260px);height:auto;image-rendering:pixelated;animation:2.6s ease-in-out infinite hero-avatar-idle;position:absolute;bottom:18%;left:36%;transform:translate(-50%)}.hero-world__note{z-index:2;border:2px solid var(--portfolio-ink);background:var(--portfolio-paper);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;padding:8px 10px;font-size:.58rem;font-weight:760;position:absolute;bottom:22px;right:20px}.scroll-companion{z-index:70;pointer-events:none;width:64px;height:62vh;position:fixed;top:19vh;right:14px}.scroll-companion__label{color:#15161a85;font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;transform-origin:0 0;white-space:nowrap;font-size:.48rem;position:absolute;top:0;left:-20px;transform:rotate(90deg)translateY(100%)}.scroll-companion__track{background:#15161a2e;width:3px;position:absolute;top:55px;bottom:0;left:50%}.scroll-companion__progress{background:var(--portfolio-blue);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.scroll-companion__avatar{z-index:2;filter:drop-shadow(3px 3px #15161a38);width:48px;max-width:none;height:auto;image-rendering:pixelated;position:absolute;top:-12px;left:50%;transform:translate(-50%,-20%)}@supports (animation-timeline:scroll()){.scroll-companion__progress{animation:linear both companion-progress;animation-timeline:scroll(root)}.scroll-companion__avatar{animation:linear both companion-walk;animation-timeline:scroll(root)}}.portfolio-hero{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(38px,6vw,86px);padding-top:clamp(62px,8vh,96px)}.portfolio-hero h1{max-width:740px;margin:16px 0 24px;font-size:clamp(5.1rem,9.2vw,8.6rem)}.portfolio-hero__lede{max-width:720px;font-size:clamp(1.72rem,3vw,2.85rem)}.portfolio-hero__support{border-left:5px solid var(--portfolio-blue);max-width:650px;color:var(--portfolio-ink);background:#fffef9b3;margin-top:24px;padding:15px 18px;font-weight:560}.portfolio-hero__world{min-height:clamp(460px,66vh,660px)}.hero-tool-console{z-index:3;border:2px solid var(--portfolio-ink);background:var(--portfolio-ink);color:#fff;width:min(58%,248px);box-shadow:5px 5px 0 var(--portfolio-blue);font-family:var(--font-geist-mono), monospace;padding:14px;display:grid;position:absolute;top:34px;left:28px}.hero-tool-console span{color:var(--portfolio-yellow);letter-spacing:.1em;margin-bottom:10px;font-size:.56rem;font-weight:760}.hero-tool-console i{color:#ffffffc7;border-top:1px solid #ffffff2e;padding:5px 0;font-size:.55rem;font-style:normal}.portfolio-hero__avatar{width:min(48%,250px);bottom:15%;left:48%}.scroll-companion{width:138px;height:68vh;top:16vh;right:4px}.scroll-companion__track{inset:0 16px 0 auto}.scroll-checkpoint{z-index:1;color:#15161a80;min-width:116px;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;font-size:.46rem;font-weight:720;display:flex;position:absolute;right:-2px}.scroll-checkpoint i{border:2px solid var(--portfolio-ink);background:var(--portfolio-paper);flex:none;width:9px;height:9px;box-shadow:2px 2px #15161a2e}.scroll-checkpoint--work{top:8%}.scroll-checkpoint--experience{top:42%}.scroll-checkpoint--about{top:72%}.scroll-checkpoint--contact{top:96%}.scroll-companion__avatar{width:44px;top:-16px}@keyframes companion-walk{0%{transform:translate(-50%,-20%)}to{transform:translate(-50%,calc(56vh - 72%))}}.portfolio-section{padding-top:clamp(84px,9vw,132px);padding-bottom:clamp(84px,9vw,132px)}.portfolio-section__header{margin-bottom:clamp(48px,6vw,72px)}.work-section .portfolio-section__header h2{max-width:720px;font-size:clamp(3.5rem,7vw,7rem)}.featured-work{grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(42px,7vw,94px);max-width:1240px;margin:0 auto;scroll-margin-top:92px;display:grid}.featured-work__visual{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-lg);background:linear-gradient(#ffffff24 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, #ffffff24 1px, transparent 1px) 0 0 / 28px 28px, var(--portfolio-blue);min-height:610px;box-shadow:var(--portfolio-shadow);position:relative;overflow:hidden}.featured-work__visual:before{border:2px solid var(--portfolio-ink);background:var(--portfolio-yellow);font-family:var(--font-geist-mono), monospace;content:"WEBMCP / LIVE EVAL";padding:7px 9px;font-size:.58rem;font-weight:760;position:absolute;top:26px;left:26px}.browser-lab{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);height:72%;box-shadow:7px 7px 0 var(--portfolio-ink);position:absolute;bottom:8%;left:8%;right:8%;overflow:hidden}.browser-lab__bar{border-bottom:2px solid var(--portfolio-ink);align-items:center;gap:7px;height:42px;padding:0 12px;display:flex}.browser-lab__bar i{border:1px solid var(--portfolio-ink);background:var(--portfolio-coral);border-radius:50%;width:9px;height:9px}.browser-lab__bar i:nth-child(2){background:var(--portfolio-yellow)}.browser-lab__bar i:nth-child(3){background:var(--portfolio-mint)}.browser-lab__bar span{color:#15161a8f;font-family:var(--font-geist-mono), monospace;margin-left:6px;font-size:.52rem}.browser-lab__workspace{height:calc(100% - 42px);position:relative}.browser-lab__catalog{border:2px solid var(--portfolio-ink);background:var(--portfolio-yellow);gap:7px;width:42%;padding:13px;display:grid;position:absolute;top:9%;left:7%}.browser-lab__catalog span{font-family:var(--font-geist-mono), monospace;font-size:.53rem;font-weight:800}.browser-lab__catalog i{border:1px solid var(--portfolio-ink);background:var(--portfolio-paper);font-family:var(--font-geist-mono), monospace;padding:6px;font-size:.48rem;font-style:normal}.browser-lab__agent{border:2px solid var(--portfolio-ink);background:var(--portfolio-mint);border-radius:50%;place-items:center;width:76px;height:76px;display:grid;position:absolute;top:20%;right:9%}.browser-lab__agent b{font-family:var(--font-geist-mono), monospace;font-size:.58rem}.browser-lab__site{border:2px solid var(--portfolio-ink);background:#d9ecff;grid-template-columns:repeat(3,1fr);gap:8px;height:34%;padding:12px;display:grid;position:absolute;bottom:12%;left:12%;right:9%}.browser-lab__site span{font-family:var(--font-geist-mono), monospace;grid-column:1/-1;font-size:.52rem;font-weight:800}.browser-lab__site i{border:1px solid var(--portfolio-ink);background:var(--portfolio-paper)}.browser-lab__signal{z-index:2;background:var(--portfolio-coral);transform-origin:0;height:3px;position:absolute}.browser-lab__signal:after{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid var(--portfolio-coral);content:"";width:0;height:0;position:absolute;top:-4px;right:-1px}.browser-lab__signal--one{width:29%;top:30%;left:44%;transform:rotate(-7deg)}.browser-lab__signal--two{width:20%;top:47%;right:17%;transform:rotate(82deg)}.browser-lab__workspace>strong{background:var(--portfolio-ink);color:#fff;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;padding:7px 9px;font-size:.5rem;position:absolute;bottom:5%;left:7%}.work-category{color:var(--portfolio-blue-dark);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;margin:0 0 15px;font-size:.67rem;font-weight:780}.featured-work h3{letter-spacing:-.08em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(3rem,5vw,5.6rem);font-weight:840;line-height:.9}.featured-work__summary{color:#15161abd;max-width:680px;margin:24px 0 0;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.58}.case-study-grid{border-top:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;display:grid}.case-study-grid section{min-width:0;padding:18px 14px 18px 0}.case-study-grid section+section{border-left:1px solid var(--portfolio-line);padding-left:14px}.case-study-grid h4{color:var(--portfolio-blue-dark);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:.62rem}.case-study-grid p{color:#15161ab8;margin:0;font-size:.82rem;line-height:1.46}.featured-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 0;display:grid}.featured-results div{border:2px solid var(--portfolio-ink);background:var(--portfolio-surface);padding:13px}.featured-results div:nth-child(2){background:var(--portfolio-yellow)}.featured-results div:nth-child(3){background:var(--portfolio-mint)}.featured-results dt{letter-spacing:-.035em;font-size:clamp(.92rem,1.4vw,1.18rem);font-weight:830}.featured-results dd{color:#15161a9e;margin:5px 0 0;font-size:.68rem;line-height:1.35}.secondary-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px);max-width:1240px;margin:clamp(76px,8vw,112px) auto 0;display:grid}.secondary-work-card{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);min-width:0;box-shadow:7px 7px 0 var(--portfolio-ink);grid-template-rows:300px 1fr;display:grid;overflow:hidden}.project-signal{border-bottom:2px solid var(--portfolio-ink);position:relative;overflow:hidden}.project-signal--translator{background:linear-gradient(#15161a14 1px, transparent 1px) 0 0 / 24px 24px, var(--portfolio-yellow);grid-template-columns:1fr 74px 1fr;place-items:center;padding:38px;display:grid}.translation-stream{gap:10px;width:100%;display:grid}.translation-stream span{border:2px solid var(--portfolio-ink);background:var(--portfolio-paper);text-align:center;font-family:var(--font-geist-mono), monospace;padding:10px 8px;font-size:.7rem;font-weight:740}.translation-stream--target span{background:var(--portfolio-mint)}.project-signal--translator>b{z-index:2;border:2px solid var(--portfolio-ink);background:var(--portfolio-blue);color:#fff;width:54px;height:54px;font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;display:grid;position:relative}.translation-beam{background:var(--portfolio-coral);width:56%;height:4px;position:absolute;top:50%;left:22%;transform:translateY(-50%)}.project-signal--wechat{background:radial-gradient(circle at 80% 20%, #ffd84db3 0 34px, transparent 35px), var(--portfolio-mint);grid-template-columns:1fr 68px 1fr;align-items:center;padding:34px;display:grid}.chat-frame{border:2px solid var(--portfolio-ink);background:var(--portfolio-paper);height:176px;box-shadow:5px 5px 0 var(--portfolio-ink);border-radius:18px;align-content:start;gap:12px;padding:28px 12px 12px;display:grid;position:relative}.chat-frame:before{background:var(--portfolio-coral);content:"";width:30px;height:6px;position:absolute;top:10px;left:12px}.chat-frame i{border:1px solid var(--portfolio-ink);background:#d9ecff;border-radius:15px 15px 15px 4px;height:30px}.chat-frame i+i{background:var(--portfolio-yellow);border-radius:15px 15px 4px;width:74%;margin-left:auto}.chat-frame--draft b{font-family:var(--font-geist-mono), monospace;font-size:.48rem;position:absolute;top:8px;right:10px}.vision-node{z-index:2;border:2px solid var(--portfolio-ink);background:var(--portfolio-coral);width:54px;height:54px;font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;margin:auto;font-size:.58rem;font-weight:800;display:grid;position:relative}.secondary-work-card__body{flex-direction:column;padding:clamp(26px,4vw,42px);display:flex}.secondary-work-card h3{letter-spacing:-.07em;margin:0;font-size:clamp(2rem,3.7vw,3.7rem);font-weight:830;line-height:.95}.secondary-work-card__body>p:not(.work-category){color:#15161ab8;margin:20px 0 0;line-height:1.56}.secondary-work-card__proof{border-top:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);align-items:baseline;gap:10px;margin-top:24px;padding:14px 0;display:flex}.secondary-work-card__proof strong{letter-spacing:-.035em;font-size:1.18rem}.secondary-work-card__proof span{color:#15161a94;font-size:.72rem}.secondary-work-card .work-item__link{align-self:flex-start;margin-top:auto;padding-top:26px}.other-build{margin-top:clamp(56px,6vw,84px);padding:clamp(22px,3vw,34px)}.other-build__blocks{width:104px;height:104px}.experience-section .portfolio-section__header h2{max-width:1040px;font-size:clamp(3.7rem,7.2vw,7.4rem)}.about-section h2{font-size:clamp(3.3rem,6.7vw,6.8rem)}.portfolio-footer{min-height:48vh}@media (width<=1180px){.portfolio-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.76fr)}.featured-work{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:46px}.featured-work__visual{min-height:560px}}@media (width<=900px){.portfolio-hero{grid-template-columns:1fr}.portfolio-hero__world{width:min(680px,92vw)}.featured-work{grid-template-columns:1fr}.featured-work__visual{width:min(720px,100%);min-height:520px}.featured-work__content{max-width:760px}.secondary-work-grid{grid-template-columns:1fr}.secondary-work-card{grid-template-rows:auto;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}.project-signal{border-right:2px solid var(--portfolio-ink);border-bottom:0;min-height:360px}}@media (width<=680px){.portfolio-nav nav{gap:10px}.portfolio-nav nav a{font-size:.59rem}.portfolio-nav nav a:nth-child(3),.portfolio-nav nav a:nth-child(5){display:none}.portfolio-hero{gap:42px;padding-top:64px;padding-bottom:48px}.portfolio-hero h1{font-size:clamp(4.4rem,22vw,6rem)}.portfolio-hero__lede{font-size:clamp(1.62rem,7.4vw,2.2rem)}.portfolio-hero__support{padding:13px 14px;font-size:.95rem}.portfolio-actions{grid-template-columns:1fr}.portfolio-hero__world{min-height:370px}.hero-tool-console{width:54%;padding:10px;top:22px;left:20px}.portfolio-hero__avatar{width:min(45%,176px);bottom:13%;left:52%}.portfolio-section{padding-top:68px;padding-bottom:68px}.portfolio-section__header{margin-bottom:42px}.work-section .portfolio-section__header h2,.experience-section .portfolio-section__header h2,.about-section h2{font-size:clamp(3rem,14.7vw,4.5rem)}.featured-work__visual{border-radius:var(--portfolio-radius-md);min-height:350px;box-shadow:6px 6px 0 var(--portfolio-ink)}.featured-work__visual:before{top:16px;left:16px}.browser-lab{height:72%;bottom:7%;left:6%;right:6%}.browser-lab__catalog{width:48%;top:8%;left:5%}.browser-lab__agent{width:60px;height:60px;top:15%;right:6%}.featured-work h3{font-size:clamp(2.65rem,12vw,4rem)}.case-study-grid,.featured-results{grid-template-columns:1fr}.case-study-grid section{padding:14px 0}.case-study-grid section+section{border-top:1px solid var(--portfolio-line);border-left:0;padding-left:0}.featured-results{gap:8px}.secondary-work-grid{gap:30px;margin-top:58px}.secondary-work-card{box-shadow:6px 6px 0 var(--portfolio-ink);grid-template-rows:240px auto;grid-template-columns:1fr}.project-signal{border-right:0;border-bottom:2px solid var(--portfolio-ink);min-height:0}.project-signal--translator,.project-signal--wechat{padding:24px}.chat-frame{height:150px}.secondary-work-card__body{padding:26px 22px 28px}.secondary-work-card h3{font-size:clamp(2.35rem,10.6vw,3.4rem)}.other-build{margin-top:40px;padding:24px}.other-build__blocks{width:86px;height:86px}.experience-item{padding-bottom:48px}.about-section{gap:34px}.about-section__body>p{font-size:1.16rem}.portfolio-footer{min-height:62vh;padding-top:68px}}@media (width<=390px){.portfolio-nav nav a:nth-child(2){display:block}.portfolio-nav nav a{font-size:.54rem}.portfolio-hero__world{min-height:340px}.hero-tool-console i:last-child{display:none}.featured-work__visual{min-height:320px}}@media (prefers-reduced-motion:reduce){.featured-work__visual,.secondary-work-card{transition:none}}.portfolio-section{border-bottom:2px solid var(--portfolio-ink);padding:clamp(88px,12vw,168px) clamp(26px,7vw,112px);position:relative}.portfolio-section__header{grid-template-columns:minmax(0,.7fr) minmax(320px,1.3fr);align-items:end;gap:clamp(28px,6vw,84px);max-width:1180px;margin:0 auto clamp(52px,8vw,100px);display:grid}.portfolio-section__header .portfolio-eyebrow{grid-column:1/-1}.portfolio-section__header h2,.about-section h2,.portfolio-footer h2{letter-spacing:-.085em;text-wrap:balance;margin:0;font-size:clamp(3.2rem,7.5vw,7.8rem);font-weight:830;line-height:.86}.portfolio-section__header>p:last-child{max-width:560px;margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.55}.work-section{background:var(--portfolio-paper)}.work-list{gap:clamp(72px,10vw,140px);max-width:1240px;margin:0 auto;display:grid}.work-item{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(36px,7vw,96px);display:grid}.work-item:nth-child(2n) .work-visual{order:2}.work-visual{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-lg);min-height:440px;box-shadow:var(--portfolio-shadow);transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out);position:relative;overflow:hidden}.work-item:hover .work-visual{box-shadow:12px 12px 0 var(--portfolio-ink);transform:translate(-4px,-4px)}.work-visual--browser{background:var(--portfolio-blue)}.work-visual--translator{background:linear-gradient(90deg, var(--portfolio-yellow) 0 49%, var(--portfolio-ink) 49% 51%, var(--portfolio-mint) 51% 100%)}.work-visual--wechat{background:var(--portfolio-mint)}.work-visual__index{z-index:3;font-family:var(--font-geist-mono), monospace;letter-spacing:-.08em;font-size:clamp(3rem,6vw,5.8rem);font-weight:820;line-height:1;position:absolute;top:22px;left:24px}.work-visual--browser .work-visual__index{color:#fff}.work-visual__screen{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);height:58%;box-shadow:6px 6px 0 var(--portfolio-ink);position:absolute;bottom:12%;left:10%;right:10%}.work-visual__screen:before{border-bottom:2px solid var(--portfolio-ink);background:radial-gradient(circle, var(--portfolio-coral) 0 4px, transparent 5px) 14px 12px / 14px 14px no-repeat, radial-gradient(circle, var(--portfolio-yellow) 0 4px, transparent 5px) 30px 12px / 14px 14px no-repeat, radial-gradient(circle, var(--portfolio-mint) 0 4px, transparent 5px) 46px 12px / 14px 14px no-repeat;content:"";height:34px;position:absolute;top:0;left:0;right:0}.work-visual__screen>span{border:2px solid var(--portfolio-ink);background:var(--portfolio-yellow);height:12px;position:absolute;left:12%}.work-visual__screen>span:first-child{width:56%;top:31%}.work-visual__screen>span:nth-child(2){background:var(--portfolio-mint);width:74%;top:51%}.work-visual__screen>span:nth-child(3){background:var(--portfolio-coral);width:43%;top:71%}.work-visual--translator .work-visual__screen{height:48%;bottom:18%;left:16%;right:16%}.work-visual--translator .work-visual__screen:after{background:var(--portfolio-blue);width:64px;height:4px;box-shadow:-180px 0 0 var(--portfolio-blue);content:"";position:absolute;top:48%;right:-42px}.work-visual--wechat .work-visual__screen{border-radius:38px;height:74%;bottom:10%;left:23%;right:23%}.work-visual--wechat .work-visual__screen>span{border-radius:18px 18px 18px 4px;height:34px}.work-visual--wechat .work-visual__screen>span:nth-child(2){border-radius:18px 18px 4px;left:auto;right:10%}.work-visual__route{gap:8px;display:flex;position:absolute;bottom:5%;right:7%}.work-visual__route i{border:2px solid var(--portfolio-ink);background:var(--portfolio-paper);width:10px;height:10px}.work-item__role,.experience-item__dates{color:var(--portfolio-blue-dark);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font-size:.67rem;font-weight:760}.work-item h3{letter-spacing:-.075em;text-wrap:balance;max-width:680px;margin:0;font-size:clamp(2.3rem,4.8vw,5.2rem);font-weight:820;line-height:.92}.work-item__summary{color:#15161abf;max-width:640px;margin:24px 0 0;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.58}.work-stats{border-top:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 0;display:grid}.work-stats>div{min-width:0;padding:18px 14px 18px 0}.work-stats>div+div{border-left:1px solid var(--portfolio-line);padding-left:14px}.work-stats dt{letter-spacing:-.045em;font-size:clamp(1.05rem,2vw,1.5rem);font-weight:820}.work-stats dd{color:#15161a9e;margin:5px 0 0;font-size:.72rem;line-height:1.35}.tag-list,.stack-list{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.tag-list li,.stack-list li{border:1px solid var(--portfolio-ink);background:var(--portfolio-surface);font-family:var(--font-geist-mono), monospace;border-radius:999px;padding:7px 10px;font-size:.62rem;font-weight:680}.work-item__link{border-bottom:3px solid var(--portfolio-blue);min-height:44px;color:var(--portfolio-ink);transition:color .16s ease, transform .16s var(--ease-out);align-items:center;margin-top:26px;padding:9px 0;font-weight:780;display:inline-flex}.work-item__link:hover{color:var(--portfolio-blue-dark);transform:translate(5px)}.other-build{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-yellow);max-width:1240px;box-shadow:var(--portfolio-shadow);grid-template-columns:minmax(180px,.42fr) minmax(0,1.58fr);align-items:center;gap:clamp(28px,6vw,82px);margin:clamp(88px,12vw,160px) auto 0;padding:clamp(26px,4vw,48px);display:grid}.other-build h3{letter-spacing:-.06em;margin:10px 0;font-size:clamp(1.8rem,4vw,3.7rem);line-height:.95}.other-build p:last-child{max-width:720px;margin:0;line-height:1.52}.other-build__blocks{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);width:128px;height:128px;margin:auto;display:grid;position:relative}.other-build__blocks i{border:2px solid var(--portfolio-ink);background:var(--portfolio-blue)}.other-build__blocks i:first-child{grid-area:3/1}.other-build__blocks i:nth-child(2){background:var(--portfolio-coral);grid-area:3/2}.other-build__blocks i:nth-child(3){background:var(--portfolio-coral);grid-area:2/2}.other-build__blocks i:nth-child(4){background:var(--portfolio-mint);grid-area:2/3}.experience-section{background:radial-gradient(circle at 90% 12%, #ffd84dd9 0 70px, transparent 72px), var(--portfolio-blue);color:#fff}.experience-section .portfolio-eyebrow{color:var(--portfolio-yellow)}.experience-layout{grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr);align-items:start;gap:clamp(42px,8vw,112px);max-width:1240px;margin:0 auto;display:grid}.experience-timeline{position:relative}.experience-timeline:before{content:"";background:#ffffff57;width:3px;position:absolute;top:8px;bottom:8px;left:8px}.experience-item{grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:26px;padding:0 0 68px 52px;display:grid;position:relative}.experience-item:last-child{padding-bottom:0}.experience-item:before{background:var(--portfolio-coral);width:19px;height:19px;box-shadow:4px 4px 0 var(--portfolio-ink);content:"";border:3px solid #fff;position:absolute;top:4px;left:0}.experience-item__dates{color:#fff}.experience-item h3,.education-card h3{letter-spacing:-.06em;margin:0;font-size:clamp(1.8rem,3.6vw,3.4rem);line-height:.95}.experience-item__role{color:var(--portfolio-yellow);margin:12px 0 0;font-weight:760}.experience-item__location{color:#ffffffb3;font-family:var(--font-geist-mono), monospace;margin:4px 0 18px;font-size:.68rem}.experience-item div>p:last-child{color:#ffffffd1;max-width:680px;margin-bottom:0;line-height:1.58}.education-card{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-yellow);color:var(--portfolio-ink);box-shadow:var(--portfolio-shadow);padding:clamp(28px,4vw,44px);position:sticky;top:104px;transform:rotate(1.5deg)}.education-card .portfolio-eyebrow{color:var(--portfolio-blue-dark)}.education-card h3{margin-top:28px}.education-card p:not(.portfolio-eyebrow){margin:16px 0 28px;line-height:1.45}.education-card span{font-family:var(--font-geist-mono), monospace;font-size:.68rem;font-weight:720}.about-section{background:linear-gradient(135deg, transparent 50%, #3867ff14 50%) 0 0 / 42px 42px, var(--portfolio-mint);grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(48px,10vw,140px);display:grid}.about-section h2{max-width:680px;margin-top:28px}.about-section__body{align-self:end}.about-section__body>p{letter-spacing:-.03em;max-width:680px;margin:0;font-size:clamp(1.25rem,2.3vw,2rem);line-height:1.38}.stack-list{margin-top:36px}.stack-list li{background:var(--portfolio-paper)}.portfolio-footer{background:var(--portfolio-ink);color:#fff;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);align-items:end;gap:42px;min-height:54vh;padding:clamp(76px,10vw,132px) clamp(26px,7vw,112px) 42px;display:grid}.portfolio-footer .portfolio-eyebrow{color:var(--portfolio-coral)}.portfolio-footer h2{max-width:860px;margin-top:28px}.portfolio-footer nav{border-top:1px solid #ffffff42;align-self:end;display:grid}.portfolio-footer nav a{color:#fff;min-height:52px;transition:color .16s ease, padding .16s var(--ease-out);border-bottom:1px solid #ffffff42;justify-content:space-between;align-items:center;padding:12px 0;font-weight:720;display:flex}.portfolio-footer nav a:after{color:var(--portfolio-yellow);content:"↗"}.portfolio-footer nav a:hover{color:var(--portfolio-yellow);padding-left:8px}.portfolio-footer__meta{color:#ffffff7a;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;margin:34px 0 0;font-size:.62rem}@keyframes hero-avatar-idle{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-8px)}}@keyframes companion-progress{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (width<=1180px){.scroll-companion{display:none}.portfolio-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:42px}.portfolio-hero h1{font-size:clamp(5rem,11vw,8rem)}}@media (width<=900px){.portfolio-nav{min-height:62px}.portfolio-nav nav{gap:18px}.portfolio-nav nav a{padding:19px 0 17px;font-size:.61rem}.portfolio-hero{grid-template-columns:1fr;min-height:auto;padding-top:78px}.portfolio-hero__copy{max-width:760px}.portfolio-hero__world{width:min(640px,88vw);min-height:480px;margin-left:auto}.portfolio-section__header,.about-section,.experience-layout{grid-template-columns:1fr}.portfolio-section__header{gap:24px}.work-item,.work-item:nth-child(2n){grid-template-columns:1fr}.work-item:nth-child(2n) .work-visual{order:0}.work-visual{min-height:460px}.work-item__content{max-width:720px}.education-card{width:min(520px,92%);margin-left:auto;position:relative;top:auto}.portfolio-footer{grid-template-columns:1fr}}@media (width<=680px){.portfolio-home{background-size:40px 40px}.portfolio-nav{min-height:58px;padding:0 16px}.portfolio-nav nav{gap:12px;width:auto}.portfolio-nav nav a{min-height:44px;padding:15px 0 13px;font-size:.57rem}.portfolio-nav nav a:nth-child(3),.portfolio-nav nav a:nth-child(5){display:none}.portfolio-hero{gap:54px;padding:68px 20px 58px}.portfolio-hero:before{top:36px;left:auto;right:22px;transform:scale(.72)}.portfolio-hero h1{margin-top:14px;font-size:clamp(4.6rem,24vw,7rem)}.portfolio-hero__lede{font-size:clamp(1.7rem,8vw,2.45rem)}.portfolio-actions{grid-template-columns:1fr .7fr;display:grid}.portfolio-button{width:100%}.portfolio-hero__world{width:100%;min-height:420px;box-shadow:6px 6px 0 var(--portfolio-ink);border-radius:42px 42px 18px 18px}.portfolio-hero__avatar{width:min(48%,210px)}.portfolio-section{padding:82px 20px}.portfolio-section__header{margin-bottom:52px}.portfolio-section__header h2,.about-section h2,.portfolio-footer h2{font-size:clamp(3.1rem,16.5vw,5.2rem)}.work-list{gap:78px}.work-visual{border-radius:var(--portfolio-radius-md);min-height:340px;box-shadow:6px 6px 0 var(--portfolio-ink)}.work-item h3{font-size:clamp(2.4rem,11vw,4rem)}.work-stats{grid-template-columns:1fr}.work-stats>div{padding:14px 0}.work-stats>div+div{border-top:1px solid var(--portfolio-line);border-left:0;padding-left:0}.other-build{box-shadow:6px 6px 0 var(--portfolio-ink);grid-template-columns:1fr}.experience-section{background:radial-gradient(circle at 90% 7%, #ffd84dd9 0 42px, transparent 44px), var(--portfolio-blue)}.experience-item{grid-template-columns:1fr;gap:4px;padding-left:40px}.education-card{width:94%;box-shadow:6px 6px 0 var(--portfolio-ink);margin-top:24px}.about-section{gap:56px}.portfolio-footer{min-height:70vh;padding:84px 20px 32px}}@media (width<=390px){.portfolio-nav nav a:nth-child(2){display:none}.portfolio-actions{grid-template-columns:1fr}.work-visual{min-height:300px}.work-visual__index{top:16px;left:17px}}@media (prefers-reduced-motion:reduce){.portfolio-home{scroll-behavior:auto}.portfolio-hero__avatar,.scroll-companion__progress,.scroll-companion__avatar{animation:none!important}.portfolio-button:hover,.work-item:hover .work-visual,.work-item__link:hover,.portfolio-footer nav a:hover{transform:none!important}}@media (width<=680px){.portfolio-nav nav{gap:10px}.portfolio-nav nav a{font-size:.59rem}.portfolio-nav nav a:nth-child(2){display:block}.portfolio-nav nav a:nth-child(3),.portfolio-nav nav a:nth-child(5){display:none}.portfolio-hero{gap:30px;padding-top:64px;padding-bottom:36px}.portfolio-hero h1{font-size:clamp(4.3rem,22vw,5.8rem)}.portfolio-hero__lede{font-size:clamp(1.58rem,7.4vw,2.15rem)}.portfolio-hero__world{min-height:350px}.portfolio-hero__avatar{width:min(45%,176px);bottom:13%;left:52%}.portfolio-section{padding-top:68px;padding-bottom:68px}.portfolio-section__header{margin-bottom:42px}.featured-work__visual{min-height:300px}.secondary-work-card{grid-template-rows:180px auto}.project-signal--translator,.project-signal--wechat{padding:18px}.chat-frame{height:116px}.featured-work h3{font-size:clamp(2.45rem,10.8vw,3.6rem)}.featured-work__summary{margin-top:18px}.case-study-grid{margin-top:22px}.case-study-grid section{padding:10px 0}.case-study-grid p{font-size:.76rem;line-height:1.38}.featured-results{margin-top:20px}.featured-results div{padding:10px 12px}.featured-work .tag-list,.secondary-work-card .tag-list,.featured-work .work-item__link{margin-top:18px}.secondary-work-grid{gap:24px;margin-top:48px}.secondary-work-card__body{padding:22px 20px 24px}.secondary-work-card h3{font-size:clamp(2.15rem,9.8vw,3.1rem)}.secondary-work-card__body>p:not(.work-category){margin-top:15px}.secondary-work-card__proof{margin-top:18px;padding:10px 0}.secondary-work-card .work-item__link{padding-top:18px}.other-build{grid-template-columns:70px minmax(0,1fr);gap:18px;margin-top:40px;padding:20px}.other-build__blocks{width:64px;height:64px}.other-build h3{font-size:clamp(1.65rem,7vw,2.2rem)}.about-section{gap:26px}.about-section h2{font-size:clamp(2.8rem,13vw,4rem)}.stack-list{margin-top:24px}.portfolio-footer{min-height:58vh;padding-top:68px}}@media (width<=390px){.portfolio-nav nav a:nth-child(2){display:block}.portfolio-hero__world,.featured-work__visual{min-height:260px}}.portfolio-availability{color:#15161ac2;font-family:var(--font-geist-mono), monospace;align-items:center;gap:10px;margin:22px 0 0;font-size:.72rem;font-weight:680;line-height:1.4;display:inline-flex}.portfolio-availability span{border:1px solid var(--portfolio-ink);background:var(--portfolio-mint);width:10px;height:10px;box-shadow:2px 2px 0 var(--portfolio-ink);border-radius:50%;flex:none}.other-build p:not(.portfolio-eyebrow){max-width:720px;margin:0;line-height:1.52}.other-build__link{border-bottom:3px solid var(--portfolio-blue);min-height:44px;color:var(--portfolio-ink);transition:color .16s ease, transform .16s var(--ease-out);align-items:center;margin-top:18px;padding:8px 0;font-weight:780;display:inline-flex}.other-build__link:hover{color:var(--portfolio-blue-dark);transform:translate(5px)}.case-study-page{background:linear-gradient(var(--portfolio-line) 1px, transparent 1px), linear-gradient(90deg, var(--portfolio-line) 1px, transparent 1px), var(--portfolio-surface);min-height:100vh;color:var(--portfolio-ink);font-family:var(--font-geist-sans), Arial, sans-serif;background-size:64px 64px;overflow:clip}.case-study-page *{box-sizing:border-box}.case-study-nav{z-index:80;border-bottom:1px solid var(--portfolio-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f0f0;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 clamp(22px,4vw,64px);display:flex;position:sticky;top:0}.case-study-nav__brand{color:var(--portfolio-ink);letter-spacing:-.06em;font-size:1.05rem;font-weight:820}.case-study-nav__brand span{color:var(--portfolio-blue)}.case-study-nav nav{align-items:center;gap:clamp(14px,2.5vw,36px);display:flex}.case-study-nav nav a{color:var(--portfolio-ink);font-family:var(--font-geist-mono), monospace;padding:21px 0 19px;font-size:.68rem;font-weight:720}.case-study-nav a:focus-visible,.case-study-page main a:focus-visible,.case-study-footer a:focus-visible{outline:3px solid var(--portfolio-coral);outline-offset:4px}.case-study-hero{border-bottom:2px solid var(--portfolio-ink);background:radial-gradient(circle at 88% 16%,#ffd84de6 0 88px,#0000 90px),linear-gradient(145deg,#0000 58%,#3867ff1f 58%);grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);align-items:end;gap:clamp(44px,8vw,120px);min-height:calc(100svh - 68px);padding:clamp(70px,10vw,144px) clamp(26px,7vw,112px);display:grid}.case-study-hero__copy{max-width:900px}.case-study-hero h1{letter-spacing:-.09em;text-wrap:balance;max-width:1050px;margin:28px 0 0;font-size:clamp(4.2rem,9vw,9.2rem);font-weight:850;line-height:.82}.case-study-hero__lede{letter-spacing:-.025em;max-width:760px;margin:36px 0 0;font-size:clamp(1.12rem,2vw,1.55rem);line-height:1.45}.case-study-metrics{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);box-shadow:var(--portfolio-shadow);margin:0;display:grid}.case-study-metrics div{border-bottom:1px solid var(--portfolio-ink);padding:clamp(20px,3vw,34px)}.case-study-metrics div:last-child{border-bottom:0}.case-study-metrics dt{letter-spacing:-.07em;font-size:clamp(2rem,4vw,4.2rem);font-weight:840;line-height:.95}.case-study-metrics dd{color:#15161aa3;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin:8px 0 0;font-size:.68rem;font-weight:680}.case-study-section{border-bottom:2px solid var(--portfolio-ink);padding:clamp(88px,12vw,168px) clamp(26px,7vw,112px)}.case-study-question,.case-study-takeaway{background:var(--portfolio-paper);grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);gap:clamp(38px,9vw,132px);display:grid}.case-study-question h2,.case-study-takeaway h2,.case-study-section__header h2{letter-spacing:-.085em;text-wrap:balance;max-width:1000px;margin:0;font-size:clamp(3rem,7.2vw,7.4rem);font-weight:840;line-height:.88}.case-study-question div>p,.case-study-takeaway div>p,.case-study-section__header>p:last-child{max-width:760px;margin:36px 0 0;font-size:clamp(1.05rem,1.7vw,1.32rem);line-height:1.58}.case-study-section--blue{background:var(--portfolio-blue);color:#fff}.case-study-section--blue .portfolio-eyebrow{color:var(--portfolio-yellow)}.case-study-section__header{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:end;gap:36px 72px;max-width:1240px;margin:0 auto clamp(52px,8vw,96px);display:grid}.case-study-section__header .portfolio-eyebrow{grid-column:1/-1}.case-study-responsibilities,.case-study-findings__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1240px;margin:0 auto;display:grid}.case-study-responsibilities article{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);color:var(--portfolio-ink);box-shadow:6px 6px 0 var(--portfolio-ink);padding:clamp(26px,4vw,44px)}.case-study-responsibilities article>span,.case-study-flow li>span{color:var(--portfolio-blue-dark);font-family:var(--font-geist-mono), monospace;font-size:.68rem;font-weight:780}.case-study-responsibilities h3,.case-study-flow h3,.case-study-findings h3{letter-spacing:-.06em;margin:24px 0 0;font-size:clamp(1.6rem,3vw,2.8rem);line-height:.98}.case-study-responsibilities p,.case-study-flow p,.case-study-findings article>p:last-child{margin:18px 0 0;line-height:1.55}.case-study-architecture{background:linear-gradient(135deg, transparent 50%, #3867ff14 50%) 0 0 / 42px 42px, var(--portfolio-mint)}.case-study-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;max-width:1240px;margin:0 auto;padding:0;list-style:none;display:grid}.case-study-flow li{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);min-height:240px;box-shadow:5px 5px 0 var(--portfolio-ink);padding:28px;position:relative}.case-study-flow li:not(:last-child):after{z-index:2;color:var(--portfolio-blue);content:"→";font-size:1.5rem;font-weight:850;position:absolute;top:50%;right:-25px;transform:translateY(-50%)}.case-study-findings{background:var(--portfolio-yellow)}.case-study-findings__grid article{border:2px solid var(--portfolio-ink);border-radius:var(--portfolio-radius-md);background:var(--portfolio-paper);box-shadow:var(--portfolio-shadow);padding:clamp(28px,5vw,52px)}.case-study-findings__grid article:nth-child(2){background:var(--portfolio-mint)}.case-study-method-note{border-left:5px solid var(--portfolio-blue);max-width:1240px;font-family:var(--font-geist-mono), monospace;background:#ffffff8f;margin:42px auto 0;padding:18px 22px;font-size:.72rem;line-height:1.55}.case-study-takeaway{background:var(--portfolio-paper)}.case-study-actions{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.case-study-footer{background:var(--portfolio-ink);color:#fff;justify-content:space-between;align-items:center;gap:28px;min-height:180px;padding:44px clamp(26px,7vw,112px);display:flex}.case-study-footer p{color:#ffffffb3;margin:0}.case-study-footer a{color:var(--portfolio-yellow);font-weight:780}@media (width<=900px){.case-study-hero{grid-template-columns:1fr;min-height:auto}.case-study-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-metrics div:nth-child(odd){border-right:1px solid var(--portfolio-ink)}.case-study-metrics div:nth-child(3){border-bottom:0}.case-study-section__header{grid-template-columns:1fr}.case-study-section__header .portfolio-eyebrow{grid-column:auto}.case-study-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-flow li:nth-child(2):after{display:none}}@media (width<=680px){.portfolio-availability{font-size:.65rem}.case-study-nav{min-height:62px}.case-study-nav nav a:nth-child(2){display:none}.case-study-nav nav{gap:16px}.case-study-hero,.case-study-section{padding:68px 20px}.case-study-hero h1{font-size:clamp(3.4rem,17vw,5.6rem)}.case-study-question,.case-study-takeaway{grid-template-columns:1fr;gap:28px}.case-study-question h2,.case-study-takeaway h2,.case-study-section__header h2{font-size:clamp(2.8rem,13vw,4.2rem)}.case-study-responsibilities,.case-study-findings__grid,.case-study-flow{grid-template-columns:1fr}.case-study-flow li{min-height:auto}.case-study-flow li:not(:last-child):after{top:auto;bottom:-26px;right:50%;transform:translate(50%)rotate(90deg)}.case-study-flow li:nth-child(2):after{display:block}.case-study-footer{flex-direction:column;align-items:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
