/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;--text-xl:1.25rem;--font-weight-bold:700;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--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{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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))}.\[\&\>a\>code\]\:border-dashed>a>code{--tw-border-style:dashed;border-style:dashed}.\[\&\>a\>code\]\:text-xl\/7>a>code{font-size:var(--text-xl);line-height:calc(var(--spacing) * 7)}.\[\&\>a\>code\]\:font-bold>a>code{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\[\&\>a\>code\]\:transition-colors>a>code{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f8f7f2;--ink:#191b16;--muted:#5a5e53;--border:#dedfd7;--panel:#fff;--subtle:#f0f1ea;--accent:#b84826;--accent-subtle:#b8482614;--accent-contrast:#fff;--selection:#e3ead0;--shadow-sm:0 1px 2px #191b160d,0 2px 6px #191b160a;--shadow-md:0 6px 18px #191b1614;--shadow-lg:0 18px 40px -12px #191b1638;--success:#2b7a4b;--success-bg:#2b7a4b1a;--error:#a83c29;--error-bg:#a83c2917;--cta-bg:#1c1e19;--cta-ink:#f3f2ec;--cta-muted:#a9ad9f;--roli-tile:#ebe1ea;--roli-ink:#46304f;--hawk-tile:#dde7dd;--hawk-ink:#22402f;--hawk-panel:#fbfcf8;--hawk-faint:#d3ddd4;--hawk-ok:#6f9d7c;--hawk-line:#2f6b4c;--agents-tile:#23261f;--agents-ink:#eef0e8;--pocket-tile:#f4dfd1;--pocket-ink:#5a2a17;--pocket-body:#fdf7f1;--pocket-screen:#2a1d17;--hearth-tile:#efe6cd;--hearth-ink:#4a3f1f;--hearth-card:#fffdf6;--hearth-bar:#e6dcc0;--hearth-ok:#5f9270;--ktt2-tile:#dfe3f2;--ktt2-ink:#28306b;--ktt2-card:#fff;--ktt2-line:#d6dbef;--ktt2-mention:#5361c9;--ease-out:cubic-bezier(.22,1,.36,1);--radius-card:20px;color-scheme:light}:root[data-theme=dark]{--bg:#121411;--ink:#eef0e9;--muted:#a1a698;--border:#2a2d26;--panel:#1a1d17;--subtle:#21241e;--accent:#ea7e58;--accent-subtle:#ea7e581f;--accent-contrast:#121411;--selection:#363d2c;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 6px 18px #0006;--shadow-lg:0 18px 44px -12px #000000b3;--success:#4ade80;--success-bg:#4ade801f;--error:#ff9a78;--error-bg:#ff9a781f;--cta-bg:#1b1e18;--cta-ink:#eef0e9;--cta-muted:#a1a698;--roli-tile:#282030;--roli-ink:#e1cfe8;--hawk-tile:#17231c;--hawk-ink:#cfe6d6;--hawk-panel:#0f1813;--hawk-faint:#26372c;--hawk-ok:#5e9a70;--hawk-line:#86d0a2;--agents-tile:#0b0d0a;--agents-ink:#eef0e8;--pocket-tile:#33211a;--pocket-ink:#f6d6c6;--pocket-body:#231813;--pocket-screen:#120c09;--hearth-tile:#29251a;--hearth-ink:#efe3c2;--hearth-card:#1c1a12;--hearth-bar:#3a3424;--hearth-ok:#6fae83;--ktt2-tile:#1a1d30;--ktt2-ink:#d6dbff;--ktt2-card:#242842;--ktt2-line:#343a5c;--ktt2-mention:#8e9bff;color-scheme:dark}.art--roli,.tone--roli{--tile:var(--roli-tile);--tile-ink:var(--roli-ink)}.art--hawk,.tone--hawk{--tile:var(--hawk-tile);--tile-ink:var(--hawk-ink)}.art--agentic-workflows,.tone--agentic-workflows{--tile:var(--agents-tile);--tile-ink:var(--agents-ink)}.art--pocket-circuit,.tone--pocket-circuit{--tile:var(--pocket-tile);--tile-ink:var(--pocket-ink)}.art--hearth,.tone--hearth{--tile:var(--hearth-tile);--tile-ink:var(--hearth-ink)}.art--ktt2-song-finder,.tone--ktt2-song-finder{--tile:var(--ktt2-tile);--tile-ink:var(--ktt2-ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--border) var(--bg);scrollbar-width:thin;scroll-padding-top:96px}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6;transition:background-color .25s,color .25s;overflow-x:clip}::selection{background:var(--selection);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.skip-link{z-index:100;background:var(--accent);color:var(--accent-contrast);border-radius:6px;padding:10px 16px;font-size:13px;font-weight:600;transition:top .2s;position:absolute;top:-60px;left:24px}.skip-link:focus{top:16px}.shell{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}.mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:12px}.punctuation-accent{color:var(--accent)}.text-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:5px;align-items:center;gap:6px;font-size:15px;font-weight:600;text-decoration-thickness:2px;transition:text-decoration-color .2s,color .2s;display:inline-flex}.text-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.btn{border:1px solid var(--border);background:var(--panel);min-height:46px;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;transition:transform .25s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--ink);transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.btn--primary{border-color:var(--ink);background:var(--ink);color:var(--bg)}.btn--primary:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.btn--lg{min-height:56px;padding:0 26px;font-size:17px}.site-header{z-index:40;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--bg) 86%,transparent)}}.site-header{-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border)}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.wordmark{align-items:center;gap:12px;display:inline-flex}.wordmark-photo-frame{background:var(--subtle);width:40px;height:40px;transition:transform .35s var(--ease-out);border-radius:50%;flex-shrink:0;overflow:hidden}.wordmark:hover .wordmark-photo-frame{transform:rotate(-8deg)scale(1.06)}.wordmark-photo{object-fit:cover;width:100%;height:100%;display:block}.wordmark-text{flex-direction:column;gap:2px;line-height:1.15;display:flex}.wordmark-name{letter-spacing:-.02em;font-size:16px;font-weight:600}.wordmark-role{color:var(--muted);font-size:12.5px}.header-nav{align-items:center;gap:4px;font-size:14px;font-weight:500;display:flex}.nav-link{min-height:40px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 12px;transition:color .18s,background-color .18s;display:inline-flex}.nav-link:hover{background:var(--subtle);color:var(--ink)}.nav-arrow{stroke:currentColor;stroke-width:1.5px;width:13px;height:13px;transition:transform .2s var(--ease-out)}.nav-cv:hover .nav-arrow{transform:translate(2px,-2px)}.nav-divider{background:var(--border);width:1px;height:20px;margin:0 6px}.theme-toggle-btn{border:1px solid var(--border);background:var(--subtle);width:46px;height:26px;color:var(--muted);border-radius:999px;align-items:center;padding:2px;transition:border-color .2s;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--accent)}.toggle-track{width:40px;height:20px;display:block;position:relative}.toggle-thumb{background:var(--panel);width:20px;height:20px;color:var(--ink);transition:transform .3s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;box-shadow:0 1px 3px #12141138}.toggle-thumb.dark{transform:translate(20px)rotate(-30deg)}.toggle-thumb svg{width:12px;height:12px}.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);align-items:center;gap:clamp(40px,7vw,112px);padding-top:clamp(48px,8vw,112px);padding-bottom:clamp(48px,7vw,96px);display:grid}.hero-title{letter-spacing:-.045em;margin:0 0 24px;font-size:clamp(56px,9.5vw,136px);font-weight:600;line-height:.92}.hero-lead{letter-spacing:-.02em;max-width:30ch;margin:0 0 28px;font-size:clamp(21px,2.3vw,30px);font-weight:450;line-height:1.3}.hero-now{color:var(--muted);align-items:center;gap:10px;margin:0 0 32px;font-size:15px;display:flex}.hero-now a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px;transition:text-decoration-color .2s}.hero-now a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.live-dot{background:var(--success);border-radius:50%;flex:none;width:9px;height:9px;position:relative}.live-dot:after{border-radius:inherit;background:inherit;content:"";animation:ping 2.4s var(--ease-out) infinite;position:absolute;inset:0}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-portrait{width:min(100%,400px);margin:0 0 0 auto;position:relative}.hero-portrait:before{z-index:-1;background:var(--accent);content:"";opacity:.9;border-radius:28px;position:absolute;inset:6% -6% -5% 8%;transform:rotate(5deg)}.hero-photo,.hero-portrait:before{transition:transform .6s var(--ease-out)}.hero-photo{background:var(--subtle);box-shadow:var(--shadow-lg);border-radius:24px;overflow:hidden;transform:rotate(-2.5deg)}.hero-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}.hero-portrait:hover .hero-photo{transform:rotate(0)scale(1.01)}.hero-portrait:hover:before{transform:rotate(8deg)translate(6px,4px)}.sticker{background:var(--panel);box-shadow:var(--shadow-md);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;animation:bob 5s ease-in-out infinite;display:inline-flex;position:absolute;bottom:8%;left:-10%;transform:rotate(-6deg)}.sticker svg{fill:none;width:16px;height:16px;stroke:var(--accent);stroke-width:1.6px}.hero-copy>*,.hero-portrait{animation:rise .9s var(--ease-out) both}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-portrait{animation-delay:.12s}.stats ul{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.stats li{flex-direction:column;gap:6px;padding:clamp(24px,3vw,36px) clamp(12px,2vw,28px);display:flex}.stats li+li{border-left:1px solid var(--border)}.stats li:first-child{padding-left:0}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(44px,5.5vw,72px);font-weight:600;line-height:1}.stat-value small{color:var(--accent);letter-spacing:-.02em;margin-left:2px;font-size:.45em;font-weight:600}.stat-label{max-width:22ch;color:var(--muted);font-size:15px;line-height:1.4}.section{padding-top:clamp(72px,10vw,136px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-bottom:clamp(28px,4vw,48px);display:flex}.section-head h2{letter-spacing:-.04em;margin:0;font-size:clamp(36px,5vw,64px);font-weight:600;line-height:1}.section-head p{max-width:38ch;color:var(--muted);margin:0;font-size:17px}.side-grid,.work-grid{gap:clamp(16px,2vw,24px);display:grid}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s ease;flex-direction:column;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--ink);transform:translateY(-4px)}@supports (color:color-mix(in lab,red,red)){.card:hover{border-color:color-mix(in srgb,var(--ink) 18%,var(--border))}}.card:hover{box-shadow:var(--shadow-lg)}.card:focus-within{outline:2px solid var(--accent);outline-offset:3px}.card-link:focus-visible{outline:none}.card--featured{grid-column:1/-1;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);display:grid}.card-body{flex-direction:column;flex:1;padding:clamp(22px,2.6vw,32px);display:flex}.card--featured .card-body{justify-content:center;padding:clamp(28px,4vw,56px)}.card-meta{color:var(--muted);font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.02em;order:-1;margin:0 0 10px;font-size:12px}.card-title{letter-spacing:-.035em;margin:0 0 10px;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.05}.card--featured .card-title{font-size:clamp(40px,5vw,72px)}.side-grid .card-title{font-size:clamp(24px,2.4vw,30px)}.card-link:after{z-index:1;content:"";position:absolute;inset:0}.card-desc{color:var(--muted);margin:0 0 18px;font-size:16px;line-height:1.55}.card--featured .card-desc{color:var(--ink);font-size:clamp(18px,1.7vw,21px);line-height:1.45}.card-points{flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.card-points li{background:var(--subtle);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500;line-height:1.4}.card-cta{color:var(--ink);align-items:center;gap:8px;margin-top:auto;font-size:15px;font-weight:600;display:inline-flex}.card-arrow{color:var(--accent);transition:transform .35s var(--ease-out);display:inline-block}.card:hover .card-arrow,.next-card:hover .card-arrow{transform:translate(6px)}.art{aspect-ratio:16/10;background:var(--tile);color:var(--tile-ink);box-shadow:inset 0 0 0 1px var(--tile-ink);place-items:center;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.art{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile-ink) 8%,transparent)}}.art{container-type:size}.card--featured .art{aspect-ratio:auto;height:100%;min-height:380px}.side-grid .art{aspect-ratio:4/3}.art-scene{width:min(var(--scene-w,82cqw),var(--scene-max,560px),var(--scene-fit,150cqh));transition:transform .6s var(--ease-out);position:relative;container-type:inline-size}.card:hover .art-scene{transform:translateY(-6px)scale(1.025)}.art--hero{--scene-w:70cqw;--scene-max:700px;aspect-ratio:16/8;border-radius:28px}.art--capture{place-items:end center}.art--capture .art-browser{width:min(84%,860px);margin-top:9%}.art--hero.art--capture .art-browser{width:min(78%,980px)}.card--featured .art--capture{place-items:start}.card--featured .art--capture .art-browser{width:104%;max-width:none;margin:13% 0 0 9%}.card--featured .art--capture .art-chip--b{top:62%;right:16%}.art-browser-bar{background:var(--panel);border-radius:1.8cqw 1.8cqw 0 0;align-items:center;gap:1.2cqw;padding:1.6cqw 2cqw;display:flex}.art-browser-bar>span:not(.art-browser-url){background:var(--border);border-radius:50%;width:1.3cqw;min-width:6px;height:1.3cqw;min-height:6px}.art-browser-url{background:var(--subtle);color:var(--muted);font-family:var(--font-mono),monospace;border-radius:999px;margin:0 auto;padding:.4cqw 3cqw;font-size:clamp(9px,1.6cqw,13px);transform:translate(-2cqw)}.art-browser-view{box-shadow:var(--shadow-lg);background:#2a2230;overflow:hidden}.art-browser-view img{aspect-ratio:1440/765;object-fit:cover;object-position:top;width:100%;height:auto;transition:transform 1.2s var(--ease-out);display:block}.card:hover .art-browser-view img{transform:scale(1.04)}.art-chip{z-index:1;background:var(--panel);box-shadow:var(--shadow-md);color:var(--ink);white-space:nowrap;border-radius:999px;padding:.9cqw 2cqw;font-size:clamp(10px,2cqw,15px);font-weight:600;animation:bob 6s ease-in-out infinite;position:absolute}.art-chip--a{top:16%;left:-5%;transform:rotate(-4deg)}.art-chip--b{animation-delay:-3s;top:44%;right:-4%;transform:rotate(3deg)}.art-chip--b:before{background:var(--accent);content:"";vertical-align:.08em;border-radius:50%;width:.55em;height:.55em;margin-right:.5em;display:inline-block}.art--hawk{--scene-fit:128cqh}.art-hawk{width:100%;height:auto;display:block;overflow:visible}.hawk-panel{fill:var(--hawk-panel);stroke:var(--hawk-faint);filter:drop-shadow(0 10px 18px #14281c1f)}.hawk-label{fill:var(--hawk-faint)}.hawk-live{fill:var(--hawk-ok);animation:blink 2.4s ease-in-out infinite}.hawk-grid{fill:none;stroke:var(--hawk-faint);stroke-dasharray:2 5}.hawk-line{fill:none;stroke:var(--hawk-line);stroke-dasharray:1;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;animation:draw 4.8s ease-in-out infinite}.hawk-dot{fill:var(--hawk-ok);animation:twinkle 3.4s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.15s)}.hawk-dot--alert{fill:var(--accent);animation:none}.hawk-ring{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:ping 2s var(--ease-out) infinite}.art-term{color:#e9ecdf;font-family:var(--font-mono),ui-monospace,monospace;background:#151713;border:1px solid #ffffff14;border-radius:2.4cqw;overflow:hidden;box-shadow:0 30px 60px -20px #0009}.art-term-bar{border-bottom:1px solid #ffffff0f;align-items:center;gap:1.2cqw;padding:2.2cqw 2.8cqw;display:flex}.art-term-bar>span:not(.art-term-title){background:#3a3e35;border-radius:50%;width:1.5cqw;min-width:6px;height:1.5cqw;min-height:6px}.art-term-bar>span:first-child{background:#ea7e58}.art-term-title{color:#8d9483;margin-left:auto;font-size:clamp(9px,2.2cqw,13px)}.art-term-body{padding:3.5cqw 4cqw 4cqw;font-size:clamp(10px,3.3cqw,17px);line-height:1.9}.art-term-body p{white-space:nowrap;animation:type-line 7s var(--ease-out) infinite both;animation-delay:calc(var(--i) * .9s);margin:0}.t-prompt{color:#ea7e58}.t-cmd{color:#eef0e8;font-weight:600}.t-dim{color:#8d9483}.t-ok{color:#9fd28b}.t-cursor{vertical-align:-.2em;background:#e9ecdf;width:.6em;height:1.1em;animation:blink 1.1s step-end infinite;display:inline-block}.art--pocket-circuit{--scene-w:58cqw;--scene-max:380px;--scene-fit:64cqh}.art-sampler{background:var(--pocket-body);border-radius:7cqw;padding:5cqw;box-shadow:0 26px 50px -22px #5a2a1773}.art-sampler-screen{background:var(--pocket-screen);border-radius:3.5cqw;align-items:center;gap:1cqw;height:20cqw;margin-bottom:5cqw;padding:0 3cqw;display:flex;position:relative;overflow:hidden}.art-sampler-screen>span:not(.art-sampler-head){height:calc(var(--h) * 2.6%);background:#f29e4c73;border-radius:2px;flex:1;min-height:2px}.art-sampler-screen>.is-sliced{background:#f29e4c}.art-sampler-head{background:#fff4ea;width:2px;animation:playhead 2.4s linear infinite;position:absolute;top:12%;bottom:12%;left:0}.art-sampler-pads{grid-template-columns:repeat(4,1fr);gap:3.2cqw;display:grid}.pad{--pad:#c24e2b;--pad-idle:var(--pad)}@supports (color:color-mix(in lab,red,red)){.pad{--pad-idle:color-mix(in srgb,var(--pad) 22%,var(--pocket-body))}}.pad{--pad-edge:inset 0 -.8cqw 0 var(--pad)}@supports (color:color-mix(in lab,red,red)){.pad{--pad-edge:inset 0 -.8cqw 0 color-mix(in srgb,var(--pad) 30%,transparent)}}.pad{aspect-ratio:1;background:var(--pad-idle);box-shadow:var(--pad-edge);border-radius:3cqw}.pad--row0{--pad:#eeb94f}.pad--row1{--pad:#f29e4c}.pad--row2{--pad:#ea7e58}.pad--row3{--pad:#c24e2b}.pad--hit{animation:pad-hit 2.4s linear infinite;animation-delay:calc(var(--step) * .3s)}.art-week{background:var(--hearth-card);border-radius:4cqw;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.2cqw;padding:4cqw;display:grid;box-shadow:0 24px 50px -24px #4a3f1f66}.art-week-day{flex-direction:column;gap:2cqw;display:flex}.art-week-label{color:var(--hearth-ink);font-family:var(--font-mono),monospace;margin-bottom:1cqw;font-size:clamp(9px,2.4cqw,14px);font-weight:600}.art-week-task{background:var(--hearth-bar);border-radius:1.8cqw;align-items:center;gap:1.4cqw;padding:1.6cqw;display:flex}@supports (color:color-mix(in lab,red,red)){.art-week-task{background:color-mix(in srgb,var(--hearth-bar) 45%,transparent)}}.art-week-check{border:1.5px solid var(--hearth-ok);background:var(--hearth-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 6.2 2 2L9 4' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /100% no-repeat;width:3.4cqw;min-width:8px;height:3.4cqw;min-height:8px;animation:tick 7s var(--ease-out) infinite both;animation-delay:calc(var(--i) * .35s);border-radius:50%;flex:none}.art-week-bar{width:calc(var(--w) * 1%);background:var(--hearth-bar);border-radius:999px;height:1.3cqw;min-height:3px}.art-ktt{grid-template-columns:1.15fr 1fr;align-items:center;gap:4cqw;display:grid}.art-ktt-thread{flex-direction:column;gap:2.6cqw;display:flex}.art-ktt-post{background:var(--ktt2-card);border-radius:3cqw 3cqw 3cqw .8cqw;align-items:flex-start;gap:2cqw;padding:2.4cqw;display:flex;box-shadow:0 10px 24px -16px #28306b66}.art-ktt-post:nth-child(2){margin-left:5cqw}.art-ktt-avatar{background:var(--ktt2-line);border-radius:50%;flex:none;width:4.4cqw;height:4.4cqw}.art-ktt-lines{flex-direction:column;flex:1;gap:1.4cqw;display:flex}.art-ktt-lines>span:first-child,.art-ktt-meta>span{width:calc(var(--w) * 1%);background:var(--ktt2-line);border-radius:999px;height:1.3cqw;min-height:3px}.art-ktt-mention{background:var(--ktt2-mention);border-radius:999px;align-items:center;gap:1cqw;width:fit-content;padding:.6cqw 1.6cqw;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.art-ktt-mention{background:color-mix(in srgb,var(--ktt2-mention) 14%,transparent)}}.art-ktt-mention{color:var(--ktt2-mention);animation:mention 5.4s ease-in-out infinite;animation-delay:calc(var(--i) * .9s);font-size:clamp(8px,2.2cqw,13px);line-height:1}.art-ktt-mention>span:last-child{width:calc(var(--w) * .24cqw);opacity:.55;background:currentColor;border-radius:999px;height:1.1cqw;min-height:3px}.art-ktt-list{background:var(--ktt2-card);border-radius:3.4cqw;flex-direction:column;gap:1.8cqw;padding:3cqw;display:flex;box-shadow:0 20px 40px -20px #28306b73}.art-ktt-list-head{background:var(--ktt2-mention);opacity:.8;border-radius:999px;width:55%;height:1.8cqw;min-height:4px;margin-bottom:1cqw}.art-ktt-track{animation:track-in 5.4s var(--ease-out) infinite both;animation-delay:calc(var(--i) * .9s + .45s);align-items:center;gap:1.8cqw;display:flex}.art-ktt-cover{background:linear-gradient(135deg,var(--ktt2-mention),var(--ktt2-mention));border-radius:1.2cqw;flex:none;width:6cqw;height:6cqw}@supports (color:color-mix(in lab,red,red)){.art-ktt-cover{background:linear-gradient(135deg,var(--ktt2-mention),color-mix(in srgb,var(--ktt2-mention) 40%,#f29e4c))}}.art-ktt-track:nth-child(3) .art-ktt-cover{background:linear-gradient(135deg,#ea7e58,#f2c14e)}.art-ktt-track:nth-child(4) .art-ktt-cover{background:linear-gradient(135deg,#5f9270,#9fd28b)}.art-ktt-meta{flex-direction:column;flex:1;gap:1cqw;display:flex}.art-ktt-eq{align-items:flex-end;gap:.5cqw;height:3.2cqw;display:flex}.art-ktt-eq>span{background:var(--ktt2-mention);transform-origin:bottom;border-radius:1px;width:.8cqw;min-width:2px;height:100%;animation:eq .9s ease-in-out infinite alternate}.art-ktt-eq>span:nth-child(2){animation-delay:-.3s}.art-ktt-eq>span:nth-child(3){animation-delay:-.6s}.journey{margin:0;padding:0;list-style:none}.journey li{border-top:1px solid var(--border);grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:8px 32px;padding:26px 0 26px 28px;display:grid;position:relative}.journey li:last-child{border-bottom:1px solid var(--border)}.journey li:before{border:2px solid var(--border);background:var(--bg);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:34px;left:0}.journey li:first-child:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px var(--accent-subtle)}.journey-years{color:var(--muted);font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums;padding-top:5px;font-size:13px}.journey h3{letter-spacing:-.025em;margin:0 0 4px;font-size:clamp(21px,2.2vw,26px);font-weight:600;line-height:1.25}.journey h3 span{color:var(--muted);letter-spacing:-.01em;margin-left:6px;font-size:.72em;font-weight:500}.journey p{max-width:60ch;color:var(--muted);margin:0;font-size:16px}.site-footer{padding-top:clamp(72px,10vw,136px);padding-bottom:28px}.cta{background:var(--cta-bg);color:var(--cta-ink);border-radius:32px;padding:clamp(40px,7vw,96px) clamp(24px,6vw,80px);position:relative;overflow:hidden}:root[data-theme=dark] .cta{border:1px solid var(--border)}.cta:before{aspect-ratio:1;content:"";pointer-events:none;background:radial-gradient(circle,#ea7e5859,#0000 65%);border-radius:50%;width:60%;animation:drift 14s ease-in-out infinite alternate;position:absolute;top:-40%;right:-10%}.cta>*{position:relative}.cta h2{letter-spacing:-.05em;margin:0 0 16px;font-size:clamp(56px,10vw,136px);font-weight:600;line-height:.95}.cta p{max-width:36ch;color:var(--cta-muted);margin:0 0 36px;font-size:clamp(18px,1.8vw,22px);line-height:1.45}.cta .punctuation-accent{color:#ea7e58}.cta-actions{flex-wrap:wrap;gap:12px;display:flex}.cta .btn{color:var(--cta-ink);background:0 0;border-color:#ffffff29}.cta .btn:hover{border-color:var(--cta-ink)}.cta .btn--primary{color:#1c1e19;background:#ea7e58;border-color:#ea7e58}.cta .btn--primary:hover{border-color:var(--cta-ink);background:var(--cta-ink);color:#1c1e19}.footer-base{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 0 80px;display:flex}.footer-base,.footer-base .text-link{font-size:13px}.footer-mark{color:var(--ink);font-family:var(--font-mono),monospace;font-weight:600}.case{padding-top:clamp(28px,4vw,48px)}.back-link{min-height:40px;color:var(--muted);transition:color .2s ease,gap .3s var(--ease-out);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--ink);gap:12px}.case-hero{animation:rise .8s var(--ease-out) both;padding:clamp(24px,5vw,64px) 0 clamp(32px,5vw,56px)}.case-hero h1{letter-spacing:-.05em;margin:0 0 20px;font-size:clamp(56px,11vw,152px);font-weight:600;line-height:.92}.case-lede{letter-spacing:-.02em;max-width:34ch;margin:0 0 36px;font-size:clamp(21px,2.4vw,30px);line-height:1.3}.case-facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.6fr);gap:16px 32px;margin:0;padding:20px 0;display:grid}.case-facts dt{color:var(--muted);font-family:var(--font-mono),monospace;letter-spacing:.02em;margin-bottom:4px;font-size:12px}.case-facts dd{margin:0;font-size:16px;font-weight:500;line-height:1.45}.case-links{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.case-art{margin:0}.case-art figcaption{color:var(--muted);margin-top:12px;font-size:13px}.case-intro{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-top:clamp(56px,8vw,104px);display:grid}.case-context{letter-spacing:-.012em;margin:0;font-size:clamp(19px,1.9vw,23px);line-height:1.55}.case-glance{margin:0;padding:0;list-style:none}.case-glance li{border-top:1px solid var(--border);letter-spacing:-.015em;align-items:baseline;gap:16px;padding:18px 0;font-size:18px;font-weight:600;line-height:1.35;display:flex}.case-glance li:last-child{border-bottom:1px solid var(--border)}.case-glance-num{color:var(--accent);font-family:var(--font-mono),monospace;font-size:13px;font-weight:500}.case-flow{padding-top:clamp(64px,9vw,120px)}.case-flow h2,.case-story h2{letter-spacing:-.03em;margin:0;font-weight:600}.case-flow h2{margin-bottom:28px;font-size:clamp(30px,3.6vw,44px)}.case-flow ol{counter-reset:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin:0;padding:0;list-style:none;display:grid}.case-flow li{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);padding:26px;position:relative}.case-flow li:not(:last-child):after{z-index:1;border:1px solid var(--border);background:var(--bg);width:30px;height:30px;content:"→";place-items:center;font-size:15px;display:grid;position:absolute;top:36px;right:calc(clamp(16px,2vw,24px)/-2 - 15px)}.case-flow li:not(:last-child):after,.case-flow-num{color:var(--accent);border-radius:50%;font-weight:600}.case-flow-num{background:var(--accent-subtle);width:34px;height:34px;font-family:var(--font-mono),monospace;place-items:center;margin-bottom:18px;font-size:14px;display:grid}.case-flow h3{letter-spacing:-.02em;margin:0 0 8px;font-size:21px;font-weight:600}.case-flow p{color:var(--muted);margin:0;font-size:15.5px;line-height:1.55}.case-story{padding-top:clamp(56px,8vw,104px)}.case-story section{border-top:1px solid var(--border);grid-template-columns:minmax(160px,.4fr) minmax(0,1fr);gap:12px clamp(24px,5vw,80px);padding:32px 0;display:grid}.case-story h2{font-size:20px;line-height:1.4}.case-story p{max-width:66ch;margin:0;font-size:17px;line-height:1.7}.case-next{padding-top:clamp(48px,7vw,88px)}.next-card{background:var(--tile);box-shadow:inset 0 0 0 1px var(--tile-ink);border-radius:28px;flex-direction:column;gap:8px;padding:clamp(28px,5vw,56px);display:flex}@supports (color:color-mix(in lab,red,red)){.next-card{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile-ink) 8%,transparent)}}.next-card{color:var(--tile-ink);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}.next-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.next-label{font-family:var(--font-mono),monospace;letter-spacing:.04em;opacity:.75;font-size:12px}.next-title{letter-spacing:-.045em;font-size:clamp(40px,7vw,88px);font-weight:600;line-height:1}.next-desc{opacity:.8;max-width:48ch;font-size:17px}.next-card .punctuation-accent{color:inherit}.cv-page{padding-top:40px}.cv-top-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;padding-bottom:20px;display:flex}.cv-action-buttons{flex-wrap:wrap;gap:10px;display:flex}.download-button,.print-trigger{border:1px solid var(--border);background:var(--panel);min-height:40px;color:var(--ink);transition:border-color .18s ease,transform .25s var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.download-button:hover,.print-trigger:hover{border-color:var(--ink);transform:translateY(-1px)}.cv-masthead{margin-bottom:48px}.cv-masthead h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(40px,6vw,80px);font-weight:600;line-height:1}.cv-role{color:var(--muted);margin:0 0 16px;font-size:19px}.cv-contact-details{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:14px;display:flex}.cv-contact-details a{color:var(--accent);overflow-wrap:anywhere}.cv-section{margin-bottom:48px}.cv-section h2{border-bottom:1px solid var(--border);letter-spacing:-.02em;margin:0 0 20px;padding-bottom:10px;font-size:20px;font-weight:600}.cv-section p{max-width:72ch;font-size:15.5px;line-height:1.65}.experience-list{flex-direction:column;gap:36px;display:flex}.experience-item{border-bottom:1px solid var(--border);grid-template-columns:200px minmax(0,1fr);gap:32px;padding-bottom:36px;display:grid}.experience-item:last-child{border-bottom:none;padding-bottom:0}.experience-period{color:var(--muted);font-family:var(--font-mono),monospace;padding-top:4px;font-size:12px}.experience-company-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.company-logo-badge{border:1px solid var(--border);background:var(--subtle);color:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.company-tag{color:var(--accent);font-size:14px;font-weight:600}.experience-content h3{letter-spacing:-.02em;margin:0 0 6px;font-size:21px;font-weight:600}.experience-content p{max-width:68ch;color:var(--muted);margin:0;font-size:15px;line-height:1.6}.experience-highlights{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.experience-highlights li{color:var(--muted);padding-left:18px;font-size:14.5px;line-height:1.6;position:relative}.experience-highlights li:before{background:var(--accent);content:"";opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:2px}.skills-cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px;display:grid}.skill-category-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:18px}.skill-category-card h3{margin:0 0 12px;font-size:15px;font-weight:600}.skill-pills{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{background:var(--subtle);border-radius:999px;padding:4px 10px;font-size:13px}.education-item{grid-template-columns:200px minmax(0,1fr);gap:32px;margin-bottom:24px;display:grid}.education-period{color:var(--muted);font-family:var(--font-mono),monospace;font-size:12px}.education-item h3{margin:0 0 4px;font-size:17px;font-weight:600}.education-school{color:var(--accent);margin:0 0 6px!important;font-size:14px!important}.education-item p{color:var(--muted);margin:0;font-size:14.5px}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;min-height:55vh;padding-top:48px;display:flex}.not-found h1{letter-spacing:-.045em;margin:0;font-size:clamp(44px,8vw,104px);font-weight:600;line-height:.98}.not-found p{margin:0;font-size:18px}.not-found .mono,.not-found p{color:var(--muted)}.underlined{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;gap:6px;font-weight:600;text-decoration-thickness:2px;display:inline-flex}.contact-widget{z-index:60;flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:24px;right:clamp(16px,4.5vw,64px)}.contact-widget-trigger{background:var(--accent);min-height:48px;box-shadow:var(--shadow-lg);color:var(--accent-contrast);letter-spacing:-.01em;transition:transform .25s var(--ease-out);border-radius:999px;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:650;display:inline-flex}.contact-widget-trigger:hover{transform:translateY(-2px)}.contact-widget-trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.contact-widget-panel{border:1px solid var(--border);background:var(--panel);width:min(370px,100vw - 32px);max-height:calc(100dvh - 104px);box-shadow:var(--shadow-lg);animation:contact-widget-enter .28s var(--ease-out) both;border-radius:18px;position:absolute;bottom:calc(100% + 14px);right:0;overflow-y:auto}.contact-widget-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 18px 16px 24px;display:flex}.contact-widget-header h2{letter-spacing:-.025em;margin:0 0 6px;font-size:22px;font-weight:620;line-height:1.15}.contact-widget-header p{max-width:30ch;color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.contact-widget-close{width:44px;height:44px;color:var(--muted);border-radius:50%;flex:0 0 44px;place-items:center;margin-top:-8px;margin-right:-6px;transition:color .18s,background-color .18s;display:grid}.contact-widget-close:hover{background:var(--subtle);color:var(--ink)}.contact-widget-close svg,.contact-widget-submit svg,.contact-widget-success-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.contact-widget-form{gap:16px;padding:20px 24px 22px;display:grid}.contact-widget-field{color:var(--ink);gap:7px;font-size:12.5px;font-weight:600;display:grid}.contact-widget-field small{color:var(--muted);margin-left:4px;font-size:11.5px;font-weight:450}.contact-widget-field input,.contact-widget-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:10px;outline:none;font-size:15px;font-weight:450;line-height:1.5;transition:border-color .18s,box-shadow .18s}.contact-widget-field input{height:44px;padding:0 12px}.contact-widget-field textarea{resize:vertical;min-height:112px;max-height:220px;padding:11px 12px}.contact-widget-field input:focus-visible,.contact-widget-field textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.contact-widget-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-widget-primary,.contact-widget-secondary{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:650;transition:background-color .18s,opacity .18s;display:inline-flex}.contact-widget-primary{background:var(--accent);color:var(--accent-contrast);padding:0 16px}.contact-widget-primary:hover:not(:disabled){opacity:.88}.contact-widget-primary:disabled{cursor:wait;opacity:.62}.contact-widget-secondary{background:var(--subtle);color:var(--ink);padding:0 14px}.contact-widget-secondary:hover{background:var(--border)}.contact-widget-error{background:var(--error-bg);color:var(--error);border-radius:10px;margin:-2px 0 0;padding:10px 12px;font-size:12.5px;line-height:1.45}.contact-widget-success{text-align:center;justify-items:center;padding:30px 24px 24px;display:grid}.contact-widget-success-icon{background:var(--success-bg);width:44px;height:44px;color:var(--success);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.contact-widget-success h3{letter-spacing:-.02em;margin:0 0 8px;font-size:20px;font-weight:620}.contact-widget-success p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.55}.contact-widget-success strong{color:var(--ink);font-weight:600}.contact-widget-success-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:24px;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes reveal{0%{opacity:0;transform:translateY(28px)scale(.985)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes bob{50%{translate:0 -6px}}@keyframes blink{50%{opacity:.25}}@keyframes twinkle{50%{opacity:.45}}@keyframes draw{0%{stroke-dashoffset:1px}45%,75%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@keyframes type-line{0%{opacity:0;transform:translate(-6px)}6%,82%{opacity:1;transform:none}92%,to{opacity:0}}@keyframes playhead{to{left:100%}}@keyframes pad-hit{0%{background:var(--pad);box-shadow:0 0 0 .8cqw color-mix(in srgb,var(--pad) 35%,transparent);transform:scale(.93)}14%,to{background:var(--pad-idle);box-shadow:var(--pad-edge);transform:none}}@keyframes tick{0%,3%{background-color:#0000;background-size:0}8%,80%{background-color:var(--hearth-ok);background-size:100%}90%,to{background-color:#0000;background-size:0}}@keyframes mention{0%,22%,to{background:color-mix(in srgb,var(--ktt2-mention) 14%,transparent);color:var(--ktt2-mention);transform:none}16%,6%{background:var(--ktt2-mention);color:var(--ktt2-card);transform:scale(1.06)}}@keyframes track-in{0%{opacity:0;transform:translate(-10px)}8%,84%{opacity:1;transform:none}94%,to{opacity:0}}@keyframes eq{0%{transform:scaleY(.25)}}@keyframes drift{to{transform:translate(-30%,40%)}}@keyframes contact-widget-enter{0%{opacity:0;transform:translateY(10px)scale(.98)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry entry 55%}}}::view-transition-group(.morph){animation-duration:.48s;animation-timing-function:var(--ease-out)}@media (max-width:1020px){.side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-grid .card:last-child{grid-column:1/-1}.side-grid .card:last-child .art{aspect-ratio:16/7}.card--featured{grid-template-columns:1fr}.card--featured .art{aspect-ratio:16/9;height:auto;min-height:0}}@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-portrait{order:-1;width:min(62%,300px);margin:8px auto 12px 12px}.stats ul{grid-template-columns:repeat(2,minmax(0,1fr))}.stats li:nth-child(3){border-left:0;padding-left:0}.stats li:nth-child(n+3){border-top:1px solid var(--border)}.case-flow ol,.case-intro,.work-grid{grid-template-columns:1fr}.case-flow li:not(:last-child):after{content:"↓";inset:auto auto calc(clamp(16px,2vw,24px)/-2 - 15px) 28px}.case-story section,.education-item,.experience-item{grid-template-columns:1fr;gap:8px}.case-facts{grid-template-columns:1fr 1fr}.case-facts>div:last-child{grid-column:1/-1}.art--hero{aspect-ratio:4/3;--scene-w:86cqw;border-radius:20px}.art--hero.art--pocket-circuit{--scene-w:58cqw}.art--hero.art--capture .art-browser{width:88%}}@media (max-width:600px){.header-inner{min-height:64px}.wordmark-photo-frame{width:36px;height:36px}.nav-github span,.wordmark-role{display:none}.wordmark-name{font-size:15px}.header-nav{gap:0}.nav-link{justify-content:center;min-width:44px;min-height:44px;padding:0 10px}.nav-divider{margin:0 4px}.hero-actions .btn{flex:auto}.sticker{bottom:10%;left:auto;right:-34%}.side-grid{grid-template-columns:1fr}.side-grid .card:last-child .art{aspect-ratio:4/3}.journey li{grid-template-columns:1fr;gap:2px;padding:22px 0 22px 26px}.journey li:before{top:29px}.journey h3 span{margin:2px 0 0;display:block}.cta{border-radius:24px}.cta-actions .btn{flex:auto}.cta .btn--primary{flex-basis:100%;font-size:15px}.contact-widget{bottom:16px;right:16px}.contact-widget-panel{max-height:calc(100dvh - 88px)}.footer-base{padding-bottom:88px}}@media (max-width:400px){.wordmark-text{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media print{body{color:#000!important;background:#fff!important}.contact-widget,.cv-top-bar,.site-footer,.site-header{display:none!important}.shell{max-width:100%!important}.cv-page,.shell{padding:0!important}.cv-section,.experience-item{break-inside:avoid}.punctuation-accent,a{color:#000!important;text-decoration:none!important}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-font-weight{syntax:"*";inherits:false}@font-face{font-family:sans;src:url(/_next/static/media/5a0c43ffa288c21a-s.p.woff2) format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.00%;size-adjust:110.84%}.__className_72e003{font-family:sans,sans Fallback}.__variable_72e003{--font-sans:"sans","sans Fallback"}@font-face{font-family:mono;src:url(/_next/static/media/06ac09dcb8ec7d56-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:mono;src:url(/_next/static/media/dece0821e8ed059f-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:mono;src:url(/_next/static/media/422bb7078d9b61dc-s.p.woff2) format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:mono Fallback;src:local("Arial");ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.00%;size-adjust:131.49%}.__className_1f286a{font-family:mono,mono Fallback}.__variable_1f286a{--font-mono:"mono","mono Fallback"}