@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Instrument+Sans:wght@400;500;600;700&display=swap";@layer components;@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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;--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 utilities{.fixed{position:fixed}.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}.contents{display:contents}.hidden{display:none}.inline{display:inline}.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}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-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))}}:root{--black:#0a0a0b;--graphite:#19191b;--soft:#8e8e92;--ivory:#eeeae0;--white:#f8f5ec;--cobalt:#1947d1;--red:#e33b32;--line:#eeeae033;--mono:"DM Mono", monospace;--sans:"Instrument Sans", sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--black);width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--white);outline-offset:3px}.portfolio-shell{--stage-left:clamp(32px, 6vw, 95px);--stage-bottom:122px;isolation:isolate;background:var(--black);width:100%;height:100dvh;min-height:620px;position:relative;overflow:hidden}.colour-frame{z-index:100;pointer-events:none;position:absolute;inset:0}.colour-frame>i{transition:background .5s;display:block;position:absolute}.edge-top,.edge-bottom{height:10px;left:0;right:0}.edge-top{background:linear-gradient(90deg, var(--cobalt) 0 68%, var(--red) 68%);top:0}.edge-bottom{background:linear-gradient(90deg, var(--red) 0 32%, var(--cobalt) 32%);bottom:0}.edge-right,.edge-left{width:10px;top:0;bottom:0}.edge-left{background:var(--cobalt);left:0}.edge-right{background:var(--red);right:0}.corner{z-index:2;border-color:var(--white);opacity:.75;border-style:solid;width:25px;height:25px;position:absolute}.corner.tl{border-width:1px 0 0 1px;top:19px;left:19px}.corner.tr{border-width:1px 1px 0 0;top:19px;right:19px}.corner.br{border-width:0 1px 1px 0;bottom:19px;right:19px}.corner.bl{border-width:0 0 1px 1px;bottom:19px;left:19px}.cinematic{z-index:-2;background:var(--black);transition:opacity .5s;position:absolute;inset:0;overflow:hidden}.video-loader{z-index:20;background:#eeeae029;width:min(560px,100% - 40px);height:2px;position:absolute;bottom:14px;left:50%;overflow:hidden;transform:translate(-50%)}.video-loader i{background:linear-gradient(90deg, var(--cobalt), var(--red));width:42%;height:100%;animation:1.1s ease-in-out infinite video-loading;display:block}@keyframes video-loading{0%{transform:translate(-110%)}to{transform:translate(350%)}}.youtube-background{z-index:2;opacity:0;background:#1a1a1a;transition:opacity .7s;position:absolute;inset:0;overflow:hidden}.has-video .youtube-background{opacity:.82}.has-video .vignette{background:#05050614}.youtube-background iframe{pointer-events:none;filter:grayscale()contrast(1.04);border:0;width:max(100vw,177.78vh);height:max(100vh,56.25vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.03)}.youtube-ui-mask{z-index:3;pointer-events:none;opacity:0;transition:opacity .38s;position:absolute;inset:0;overflow:hidden}.youtube-ui-mask.is-visible{opacity:1;transition-duration:70ms}.crt-core,.crt-edge{background-blend-mode:normal, soft-light, normal;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000061 2px 4px),url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"),#0e0e109e;position:absolute;inset:0}.youtube-ui-mask.is-visible .crt-core,.youtube-ui-mask.is-visible .crt-edge{-webkit-backdrop-filter:blur(16px)contrast(1.35)brightness(.55)saturate(.4);backdrop-filter:blur(16px)contrast(1.35)brightness(.55)saturate(.4)}.crt-core{background-blend-mode:normal, soft-light, normal;opacity:0;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000059 2px 4px),url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"),#09090a;transition:opacity .2s;animation:.14s steps(2,end) infinite crt-flicker,2.4s ease-in-out infinite crt-warp;-webkit-mask-image:radial-gradient(13% 5.5%,#000 66%,#0000 100%);mask-image:radial-gradient(13% 5.5%,#000 66%,#0000 100%)}.youtube-ui-mask.is-holding .crt-core{opacity:1}.youtube-ui-mask.is-visible .crt-core{-webkit-backdrop-filter:blur(10px)contrast(1.5)brightness(.3);backdrop-filter:blur(10px)contrast(1.5)brightness(.3)}.crt-tear{position:absolute;inset:0}.crt-tear-strip{will-change:transform, opacity;display:block;position:absolute;left:-25%;right:-25%}.crt-tear-light{background:linear-gradient(90deg,#e61c2df5 0%,#f0f0eceb 32%,#f0f0ecf5 58%,#1685e6f5 100%);box-shadow:0 -2px #e61c2d9e,0 2px #1f91eb9e}.crt-tear-dark{background:linear-gradient(90deg,#050506,#d21423d9 28%,#050506 52%,#1469dcd9);box-shadow:0 -2px #d7192866,0 2px #1973e17a}.crt-warp{mix-blend-mode:screen;position:absolute;inset:0}.crt-warp:before,.crt-warp:after{content:"";position:absolute;inset:0;-webkit-mask-image:radial-gradient(17% 6%,#0000 52%,#000 74%,#0000 100%);mask-image:radial-gradient(17% 6%,#0000 52%,#000 74%,#0000 100%)}.crt-warp:before{background:#e33b32bf;animation:1.6s ease-in-out infinite crt-fringe-red}.crt-warp:after{background:#1947d1d9;animation:1.9s ease-in-out infinite crt-fringe-blue}.crt-edge{opacity:.8;-webkit-mask-image:linear-gradient(#000 0%,#0000 16% 84%,#000 100%);mask-image:linear-gradient(#000 0%,#0000 16% 84%,#000 100%)}.youtube-ui-mask:before{content:"";background:linear-gradient(#0000,#1947d11a,#eeeae012,#e33b3217,#0000);height:14%;animation:1.4s linear infinite player-mask-scan;position:absolute;top:-15%;left:0;right:0}.youtube-ui-mask span{color:#eeeae057;font:7px var(--mono);letter-spacing:.08em;text-transform:uppercase;position:absolute;bottom:22px;right:24px}@keyframes crt-flicker{0%,to{filter:brightness(.92)}35%{filter:brightness(1.08)}70%{filter:brightness(.84)}}@keyframes crt-warp{0%,to{transform:scale(1)skew(0deg)}30%{transform:scale(1.015,.985)skew(.6deg)}60%{transform:scale(.99,1.012)skew(-.5deg)}}@keyframes crt-fringe-red{0%,to{transform:translate(-7px,1px)scaleX(1.04)}50%{transform:translate(-16px,-2px)scale(1.1,.96)}}@keyframes crt-fringe-blue{0%,to{transform:translate(7px,-1px)scaleX(1.04)}50%{transform:translate(17px,2px)scale(1.1,.96)}}@keyframes player-mask-scan{to{top:105%}}@media (prefers-reduced-motion:reduce){.crt-core,.crt-warp:before,.crt-warp:after,.youtube-ui-mask:before{animation:none}}.video-filter-overlay{z-index:4;pointer-events:none;opacity:var(--filter-strength,.44);transition:opacity .16s,background .22s;position:absolute;inset:0}.video-filter-overlay.filter-veil{background:#050506}.video-filter-overlay.filter-gradient{background:linear-gradient(105deg,#020203 0%,#020203d1 28%,#02020361 52%,#020203b8 78%,#020203 100%)}.video-filter-overlay.filter-vignette{background:radial-gradient(at 50% 48%,#00000029 0%,#00000047 34%,#000000d1 78%,#000 100%)}.video-filter-overlay.filter-deep{background:#000000f5}.has-video .moon-disc,.has-video .far-city,.has-video .near-city,.has-video .street-lights,.has-video .walking-figure,.has-video .road,.has-video .rain{display:none}.moon-disc{aspect-ratio:1;background:#d3d3d3;border-radius:50%;width:min(30vw,430px);transition:transform .8s,right .8s;position:absolute;top:12%;right:17%;box-shadow:0 0 80px #ffffff2e}.cinematic-story .moon-disc{right:55%;transform:scale(.72)}.cinematic-work .moon-disc{right:8%;transform:scale(1.18)}.cinematic-skills .moon-disc{top:6%;right:38%;transform:scale(.58)}.cinematic-contact .moon-disc{top:18%;right:62%;transform:scale(.88)}.far-city,.near-city{align-items:flex-end;width:200%;animation:45s linear infinite city-drift;display:flex;position:absolute;bottom:23%;left:0}.far-city{opacity:.46;height:38%}.near-city{opacity:.92;height:31%;animation-duration:24s;animation-direction:reverse;bottom:16%}.far-city i,.near-city i{clip-path:polygon(0 16%,25% 16%,25% 0,55% 0,55% 9%,100% 9%,100% 100%,0 100%);background:repeating-linear-gradient(90deg,#0000 0 16px,#dcdcdc66 16px 21px),#464646;border-right:4px solid #777;flex:0 0 8.333%;height:35%}.far-city i:nth-child(3n){height:72%}.far-city i:nth-child(4n){height:52%}.far-city i:nth-child(5n){height:89%}.near-city i{background-color:#242424;flex-basis:13.333%}.near-city i:nth-child(2n){height:64%}.near-city i:nth-child(3n){height:88%}.near-city i:nth-child(5n){height:47%}@keyframes city-drift{to{transform:translate(-50%)}}.street-lights{z-index:3;justify-content:space-around;width:200%;animation:16s linear infinite street-drift;display:flex;position:absolute;bottom:16%;left:0}.street-lights>i{background:#111;width:5px;height:210px;position:relative}.street-lights>i:before{content:"";background:#111;width:72px;height:5px;position:absolute;top:0}.street-lights span{background:#e5e5e5;width:20px;height:13px;position:absolute;top:4px;left:55px;box-shadow:0 0 40px 15px #ffffff38}@keyframes street-drift{to{transform:translate(-50%)}}.road{z-index:4;background:#181818;border-top:4px solid #9a9a9a;height:18%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.road i{background:#bdbdbd;width:16%;height:5px;animation:4s linear infinite road-line;position:absolute;top:48%}.road i:first-child{left:0}.road i:nth-child(2){left:32%}.road i:nth-child(3){left:64%}.road i:nth-child(4){left:96%}@keyframes road-line{to{transform:translate(-200%)}}.walking-figure{z-index:7;filter:drop-shadow(12px 12px 5px #0006);width:80px;height:170px;transition:left .9s;position:absolute;bottom:14%;left:70%}.cinematic-story .walking-figure{left:23%}.cinematic-work .walking-figure{left:84%}.cinematic-skills .walking-figure{left:52%}.cinematic-contact .walking-figure{left:15%}.walking-figure span{background:#090909;display:block;position:absolute}.figure-head{border-radius:48% 48% 40% 40%;width:39px;height:44px;top:0;left:22px}.figure-body{clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);width:53px;height:75px;top:40px;left:14px}.figure-arm{transform-origin:top;width:13px;height:78px;animation:1.1s ease-in-out infinite alternate walk-arm;top:47px}.arm-a{left:9px;transform:rotate(18deg)}.arm-b{animation-direction:alternate-reverse;right:7px}.figure-leg{transform-origin:top;width:17px;height:72px;animation:1.1s ease-in-out infinite alternate walk-leg;top:105px}.leg-a{left:16px}.leg-b{animation-direction:alternate-reverse;right:13px}@keyframes walk-arm{to{transform:rotate(-23deg)}}@keyframes walk-leg{to{transform:rotate(18deg)}}.rain{z-index:8;opacity:.2;background:repeating-linear-gradient(104deg,#0000 0 22px,#ffffff73 23px,#0000 24px 46px) 0 0/100% 80px;animation:.55s linear infinite rain-fall;position:absolute;inset:-100% 0 0}@keyframes rain-fall{to{transform:translateY(80px)}}.vignette{z-index:9;position:absolute;inset:0;box-shadow:inset 0 0 180px 55px #000000b8}.scanlines{z-index:10;opacity:.18;background:repeating-linear-gradient(0deg,#0000 0 3px,#000 3px 5px);position:absolute;inset:0}.film-grain{z-index:11;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:.2s steps(2,end) infinite grain;position:absolute;inset:-50%}.signal-interference{z-index:12;pointer-events:none;position:absolute;inset:0;overflow:hidden}.signal-split{transform-origin:50%;will-change:transform, opacity;width:100%;animation:steps(2,end) both signal-split;display:block;position:absolute;left:0}.signal-split-light{mix-blend-mode:screen;-webkit-backdrop-filter:contrast(1.3)saturate(1.8);backdrop-filter:contrast(1.3)saturate(1.8);background:linear-gradient(90deg,#e61c2db8 0%,#f0f0ec47 32%,#f0f0ec6b 58%,#1685e6b8 100%);box-shadow:0 -2px #e61c2d9e,0 2px #1f91eb9e,0 0 9px #ffffff2e}.signal-split-dark{mix-blend-mode:multiply;-webkit-backdrop-filter:brightness(.72)saturate(1.6);backdrop-filter:brightness(.72)saturate(1.6);background:linear-gradient(90deg,#000000e0,#d2142359 28%,#000000a6 52%,#1469dc61);box-shadow:0 -2px #d7192866,0 2px #1973e17a}@keyframes signal-split{0%{transform:translateY(-5px)scaleY(.35)translate(-8px)}20%{transform:translateY(3px)scaleY(1.7)translate(7px)}45%{transform:translateY(-2px)scaleY(.65)translate(-4px)}70%{transform:translateY(5px)scaleY(1.25)translate(9px)}to{opacity:0;transform:translateY(0)scaleY(.1)translate(0)}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(2%,2%)}to{transform:translate(-3%,-3%)}}.top-bar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0b94;grid-template-columns:1fr auto 1fr;align-items:center;height:70px;padding:0 28px;display:grid;position:absolute;top:10px;left:10px;right:10px}.identity{width:fit-content;color:var(--ivory);cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.identity img{object-fit:contain;flex:none;width:35px;height:35px;margin-left:-3px;display:block;transform:translateY(-1px)}.identity strong{font-size:13px;font-weight:600}.top-bar>p{color:var(--soft);font:9px var(--mono);text-transform:uppercase;margin:0}.top-bar>.top-bar-right{justify-content:flex-end;align-items:center;gap:20px;display:flex}.location-status{color:var(--soft);font:8px var(--mono);text-transform:uppercase;gap:24px;display:flex}.available{color:var(--ivory);align-items:center;gap:7px;display:flex}.available i{background:var(--red);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #e33b3226}.playback-overlay{z-index:35;position:absolute;top:98px;right:26px}.playback-controls{position:relative}.playback-bar{opacity:.72;background:#0a0a0b38;border:1px solid #eeeae024;align-items:stretch;height:32px;transition:opacity .18s,background .18s;display:flex}.playback-controls:hover .playback-bar,.playback-controls:focus-within .playback-bar{opacity:1;background:#0a0a0b80}.playback-bar button{color:#eeeae0b8;cursor:pointer;background:0 0;border:0;border-right:1px solid #eeeae01f;justify-content:center;align-items:center;min-width:34px;padding:0 7px;display:flex}.playback-bar button:last-child{border-right:0}.playback-bar button:hover,.playback-bar button.is-active{color:var(--white);background:#eeeae01a}.playback-bar svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.playback-settings{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0c0ef0;border:1px solid #eeeae04d;gap:16px;width:224px;padding:14px;animation:.2s both reveal;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 50px #00000080}.settings-label{color:var(--soft);font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.filter-options{gap:4px;margin-top:8px;display:grid}.filter-options button{border:1px solid var(--line);color:#eeeae0b3;cursor:pointer;font:9px var(--mono);text-align:left;text-transform:uppercase;background:0 0;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.filter-options button:hover{border-color:#eeeae066}.filter-options button.is-selected{border-color:var(--ivory);color:var(--white);background:#eeeae014}.filter-options button.is-selected:after{content:"";background:var(--red);border-radius:50%;width:5px;height:5px}.quality-options{grid-template-columns:1fr 1fr}.quality-options button{min-width:0;padding:9px 7px;font-size:7px}.opacity-control{grid-template-columns:1fr 34px;align-items:center;gap:10px;display:grid}.opacity-control .settings-label{grid-column:1/-1}.opacity-control input{appearance:none;cursor:ew-resize;background:0 0;border:0;width:100%;height:16px;margin:0}.opacity-control input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#eeeae026,#eeeae0e6);height:2px}.opacity-control input::-moz-range-track{background:linear-gradient(90deg,#eeeae026,#eeeae0e6);height:2px}.opacity-control input::-webkit-slider-thumb{appearance:none;border:1px solid var(--ivory);background:var(--graphite);border-radius:0;width:7px;height:14px;margin-top:-6px}.opacity-control input::-moz-range-thumb{border:1px solid var(--ivory);background:var(--graphite);border-radius:0;width:7px;height:14px}.opacity-control output{color:#eeeae09e;font:8px var(--mono);text-align:right}.content-stage{z-index:20;top:90px;right:clamp(150px,12vw,180px);bottom:var(--stage-bottom);left:var(--stage-left);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#eeeae040 transparent;transition:opacity .18s,transform .18s;position:absolute;overflow:hidden auto}.content-stage.is-leaving{opacity:0;transform:translateY(10px)}.section-view{width:100%;height:100%;animation:.4s both reveal}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}}.section-code{color:var(--soft);font:8px var(--mono);letter-spacing:.12em;position:absolute;top:3%}.index-title{position:absolute;top:17%;left:1%}.index-title>p{color:var(--ivory);font:9px var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 20px}.index-title h1{color:var(--white);letter-spacing:-.075em;text-shadow:0 2px 30px #0009;margin:0;font-size:clamp(68px,9vw,138px);font-weight:600;line-height:.77}.index-statement{border-top:1px solid var(--ivory);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0a0a0bad;width:min(420px,36vw);padding:24px;position:absolute;bottom:12%;right:5%}.index-statement>span{color:var(--soft);font:8px var(--mono);text-transform:uppercase}.index-statement p{margin:18px 0 25px;font-size:clamp(15px,1.4vw,19px);line-height:1.55}.index-statement button,.work-description a,.contact-links a{border:0;border-bottom:2px solid var(--red);width:fit-content;color:var(--ivory);cursor:pointer;font:9px var(--mono);text-transform:uppercase;background:0 0;align-items:center;gap:12px;padding:0 0 7px;display:flex}.arrow{fill:none;stroke:currentColor;stroke-width:1.5px;width:18px;height:18px}.arrow.left{transform:scaleX(-1)}.stage-footer{z-index:20;bottom:calc(var(--stage-bottom) - 38px);left:var(--stage-left);transition:opacity .18s;animation:.4s both reveal;position:absolute}.stage-footer.is-leaving{opacity:0}.film-caption{width:fit-content;color:var(--soft);font:7px var(--mono);text-transform:uppercase;gap:22px;display:flex}.section-heading{max-width:800px;padding-top:3vh}.section-heading>span{color:var(--soft);font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;display:block}.section-heading h2{color:var(--white);letter-spacing:-.06em;text-shadow:0 2px 25px #000000a6;margin:0;font-size:clamp(45px,6.4vw,94px);font-weight:500;line-height:.94}.section-heading h2 em{color:#aaa;font-style:normal;font-weight:400}.story-columns{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:60px;width:min(820px,66vw);margin-top:8vh;padding:26px 0;display:grid}.story-lead{color:var(--white);margin:0;font-size:clamp(16px,1.55vw,22px);line-height:1.55}.story-copy p{color:#bbb;margin:0 0 15px;font-size:13px;line-height:1.65}.reference-line{width:fit-content;font:7px var(--mono);text-transform:uppercase;align-items:center;gap:12px;display:flex}.reference-line>span{color:var(--soft);margin-right:14px}.reference-line p{margin:0}.reference-line i{background:var(--red);border-radius:50%;width:3px;height:3px}.work-layout{grid-template-columns:minmax(245px,.68fr) minmax(430px,1.32fr);align-items:start;gap:4vw;margin-top:3vh;display:grid}.project-index{border-top:1px solid var(--ivory)}.project-index button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:65px;color:var(--soft);cursor:pointer;text-align:left;background:0 0;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 8px 10px 0;transition:color .18s,padding .18s,background .18s;display:grid}.project-index button:hover,.project-index button.active{color:var(--white);background:#0a0a0ba3;padding-left:10px}.project-index button>span{color:var(--red);font:7px var(--mono)}.project-index button>div{flex-direction:column;gap:5px;display:flex}.project-index strong{font-size:14px;font-weight:500}.project-index small,.project-index em{color:var(--soft);font:6px var(--mono);text-transform:uppercase;font-style:normal}.project-index button.active em{color:var(--ivory)}.project-feature{grid-template-columns:1fr;align-items:start;gap:18px;animation:.32s both reveal;display:grid}.work-description{border-top:1px solid var(--line);padding:20px 0}.work-quote{color:var(--white);letter-spacing:-.025em;margin:0 0 18px;font-size:clamp(20px,2.1vw,30px);line-height:1.25}.work-description>p:not(.work-quote){color:#bbb;margin:0 0 24px;font-size:13px;line-height:1.65}.work-image{background:#0a0a0bb3;border:1px solid #eeeae066;padding:7px;box-shadow:0 30px 60px #0000004d}.project-poster{background:linear-gradient(135deg,#0000 0 49.5%,#eeeae024 49.5% 50.5%,#0000 50.5%),#0a0a0bb8;border:1px solid #eeeae066;flex-direction:column;justify-content:space-between;min-height:255px;padding:25px;display:flex;position:relative;overflow:hidden}.project-poster>span{color:var(--red);font:8px var(--mono)}.project-poster>strong{color:#eeeae0eb;letter-spacing:-.09em;font-size:clamp(64px,8vw,118px);font-weight:600;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-poster>div{z-index:1;flex-direction:column;align-items:flex-start;gap:5px;display:flex;position:relative}.project-poster small{color:var(--soft);font:6px var(--mono);text-transform:uppercase;background:#0a0a0bb8;padding:4px 6px}.project-poster>i{background:var(--cobalt);width:40px;height:2px;position:absolute;bottom:25px;right:24px}.work-image img{filter:grayscale()contrast(1.1);width:auto;max-width:100%;height:auto;max-height:clamp(200px,46vh,640px);margin:0 auto;display:block}.work-image>div{color:var(--soft);font:7px var(--mono);text-transform:uppercase;justify-content:center;gap:18px;padding:10px 4px 3px;display:flex}.project-facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:4vh;display:grid}.project-facts div{border-right:1px solid var(--line);grid-template-columns:28px 1fr;padding:16px 20px 0 0;display:grid}.project-facts div:last-child{border:0;padding-left:20px}.project-facts div:nth-child(2){padding-left:20px}.project-facts span{color:var(--red);font:8px var(--mono)}.project-facts strong{font-size:13px}.project-facts p{color:var(--soft);grid-column:2;margin:6px 0 0;font-size:11px}.skills-layout{grid-template-columns:170px 1fr;gap:35px;width:min(970px,78vw);margin-top:5vh;display:grid}.experience-marker{border-top:1px solid var(--ivory);border-bottom:1px solid var(--line);background:#0a0a0b94;flex-direction:column;justify-content:space-between;min-height:255px;padding:20px;display:flex}.experience-marker strong{color:var(--white);letter-spacing:-.08em;font-size:clamp(70px,8vw,115px);font-weight:500;line-height:.8}.experience-marker span{max-width:105px;color:var(--soft);font:8px/1.55 var(--mono);text-transform:uppercase}.skill-groups{border-top:1px solid var(--ivory);grid-template-columns:1fr;display:grid}.skill-groups article{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px;min-height:0;padding:16px;display:flex}.skill-groups article>div:first-child{grid-template-columns:28px 1fr;align-items:baseline;width:100%;display:grid}.skill-groups article>div:first-child span{color:var(--red);font:7px var(--mono)}.skill-groups h3{margin:0;font-size:16px;font-weight:500}.skill-tags{flex-wrap:wrap;gap:6px;width:100%;display:flex}.skill-tags span{color:#bbb;font:11px var(--mono);background:#0a0a0b7a;border:1px solid #eeeae038;padding:8px 11px}.contact-view{align-items:center;display:flex}.contact-copy{min-width:0}.contact-copy .section-heading{padding-top:0}.contact-copy>p{color:#bbb;max-width:430px;margin:30px 0;font-size:14px;line-height:1.7}.contact-links{gap:30px;display:flex}.contact-links a:first-child{border-color:var(--cobalt)}.conversation-dock{z-index:80;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0c0ef0;border:1px solid #eeeae06b;width:min(620px,100% - 40px);transition:width .28s,height .28s,background .28s;position:absolute;bottom:20px;left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 70px #0000007a}.conversation-dock.is-open{grid-template-rows:62px minmax(0,1fr) auto auto;height:min(630px,100dvh - 118px);display:grid}.conversation-dock.is-minimised{cursor:pointer;width:min(560px,100% - 40px);height:58px}.conversation-head{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:58px;padding:0 12px 0 17px;display:flex}.is-minimised .conversation-head{border-bottom:0}.conversation-identity{min-width:fit-content;color:var(--ivory);text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.is-minimised .conversation-identity{cursor:pointer}.conversation-pulse{border:1px solid #eeeae073;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:relative}.conversation-pulse:before,.conversation-pulse:after{content:"";border:1px solid #1947d180;border-radius:50%;animation:2.5s ease-out infinite archive-pulse;position:absolute}.conversation-pulse:before{inset:4px}.conversation-pulse:after{animation-delay:.6s;inset:8px}.conversation-pulse i{background:var(--red);border-radius:50%;width:5px;height:5px}@keyframes archive-pulse{50%{border-color:#eeeae099}}.conversation-identity>div{flex-direction:column;gap:4px;display:flex}.conversation-identity strong{font-size:12px;font-weight:500}.conversation-identity small{color:var(--soft);font:7px var(--mono);text-transform:uppercase}.conversation-head>p{color:#aaa;min-width:0;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.is-minimised .conversation-head>p{pointer-events:none}.dock-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--ivory);cursor:pointer;z-index:3;background:0 0;flex:none;place-items:center;margin-left:auto;display:grid;position:relative}.dock-toggle>span{background:currentColor;width:13px;height:1px}.dock-toggle .arrow{display:block;transform:rotate(-90deg)}.conversation-log{scrollbar-width:thin;scrollbar-color:#555 transparent;min-height:0;padding:22px 24px;overflow-y:auto}.conversation-date{color:#777;font:6px var(--mono);text-transform:uppercase;align-items:center;gap:12px;margin:0 0 24px;display:flex}.conversation-date:before,.conversation-date:after{content:"";background:var(--line);flex:1;height:1px}.conversation-message{width:min(84%,450px);margin:0 0 20px}.conversation-message.you{margin-left:auto}.conversation-message>span{color:var(--soft);font:7px var(--mono);text-transform:uppercase;margin-bottom:7px;display:block}.conversation-message.you>span{color:#9db4ff;text-align:right}.conversation-message p{border:1px solid var(--line);color:#d1d1d1;font:11px/1.65 var(--mono);background:#ffffff09;margin:0;padding:13px 15px}.conversation-message.you p{background:#1947d11a;border-color:#1947d19e}.thinking-dots{gap:6px;display:flex}.thinking-dots i{background:var(--soft);border-radius:50%;width:5px;height:5px;animation:.65s ease-in-out infinite alternate thinking}.thinking-dots i:nth-child(2){animation-delay:.13s}.thinking-dots i:nth-child(3){animation-delay:.26s}@keyframes thinking{to{opacity:.3;transform:translateY(-2px)}}.conversation-prompts{scrollbar-width:none;gap:7px;padding:0 20px 13px;display:flex;overflow-x:auto}.conversation-prompts button{border:1px solid var(--line);color:#aaa;cursor:pointer;min-width:max-content;font:7px var(--mono);background:0 0;padding:8px 10px}.conversation-prompts button:hover{border-color:var(--cobalt);color:var(--ivory)}.conversation-form{border-top:1px solid var(--line);padding:14px 20px 17px}.conversation-form label{color:var(--soft);font:7px var(--mono);text-transform:uppercase;margin-bottom:8px;display:block}.conversation-form>div{grid-template-columns:minmax(0,1fr) 54px;gap:8px;width:100%;display:grid}.conversation-form input{width:100%;min-width:0;height:48px;color:var(--ivory);font:11px var(--mono);background:#ffffff09;border:1px solid #eeeae057;border-radius:0;padding:0 14px}.conversation-form button{background:var(--cobalt);width:54px;min-width:54px;height:48px;color:var(--white);cursor:pointer;border:0;place-items:center;display:grid}.conversation-form button:disabled{color:#777;cursor:not-allowed;background:#303033}.conversation-form>small{color:#666;font:6px var(--mono);margin-top:9px;display:block}.section-nav{z-index:30;flex-direction:column;justify-content:center;width:105px;display:flex;position:absolute;top:146px;bottom:80px;right:26px}.section-nav button{border:0;border-bottom:1px solid var(--line);min-height:53px;color:var(--soft);cursor:pointer;text-align:left;background:0 0;grid-template-columns:23px 1fr;align-items:center;padding:0;transition:color .18s;display:grid}.section-nav button:first-child{border-top:1px solid var(--line)}.section-nav button:hover,.section-nav button.active{color:var(--white)}.section-nav span{font:7px var(--mono)}.section-nav strong{font:7px var(--mono);text-transform:uppercase;font-weight:400}.section-nav button.active strong:after{content:"";background:var(--red);width:18px;height:2px;margin-top:6px;display:block}.section-nav button:nth-child(2n).active strong:after{background:var(--cobalt)}.step-controls{z-index:31;align-items:center;gap:10px;height:45px;display:flex;position:absolute;bottom:23px;right:30px}.step-controls button{border:1px solid var(--line);width:38px;height:38px;color:var(--ivory);cursor:pointer;background:#0a0a0b99;place-items:center;padding:0;display:grid}.step-controls button:disabled{opacity:.25;cursor:default}.step-controls button .arrow{display:block}.step-controls span{color:var(--soft);font:7px var(--mono)}.setup-page{background:var(--black);width:100%;height:100dvh;color:var(--ivory);padding:45px max(28px,50vw - 590px);overflow-y:auto}.setup-page>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;padding-bottom:30px;display:flex}.setup-page>header span,.setup-page form>span,.source-library>span{color:var(--soft);font:8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.setup-page h1{letter-spacing:-.06em;margin:8px 0 0;font-size:clamp(42px,6vw,76px);font-weight:500}.setup-page h2{letter-spacing:-.03em;margin:10px 0 20px;font-size:27px;font-weight:500}.setup-page>header a,.setup-login a{border-bottom:1px solid var(--red);font:8px var(--mono);text-transform:uppercase;padding-bottom:5px}.setup-status{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:28px 0;display:grid}.setup-status>div{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:85px;padding:17px;display:flex}.setup-status>div:last-child{border-right:0}.setup-status span,.setup-page label{color:var(--soft);font:7px var(--mono);text-transform:uppercase}.setup-status strong{font-size:17px;font-weight:500}.setup-grid{grid-template-columns:1fr 1fr;gap:50px;display:grid}.source-form,.source-library{padding-top:26px}.source-form>p,.setup-login p{color:#aaa;font-size:13px;line-height:1.65}.setup-page label{margin:18px 0 8px;display:block}.setup-page input,.setup-page textarea{width:100%;color:var(--ivory);font:11px/1.55 var(--mono);resize:vertical;background:#ffffff09;border:1px solid #eeeae047;border-radius:0;padding:12px}.setup-page input{height:44px}.setup-page button{background:var(--cobalt);min-height:42px;color:var(--white);cursor:pointer;font:7px var(--mono);text-transform:uppercase;border:0;border-radius:0;padding:0 16px}.setup-page button:disabled{opacity:.4;cursor:not-allowed}.source-form>button{margin-top:16px}.source-library>div:not(.retrieval-results){border-top:1px solid var(--line)}.source-library article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:12px 0;display:flex}.source-library article>div{flex-direction:column;gap:5px;display:flex}.source-library article strong{font-size:13px;font-weight:500}.source-library article small{color:var(--soft);font:7px var(--mono)}.source-library article button{color:#d98c87;background:0 0;border:1px solid #e33b3280;min-height:30px;padding:0 10px}.retrieval-test{margin-top:28px}.retrieval-test>div{grid-template-columns:1fr auto;gap:8px;display:grid}.retrieval-results{border-left:2px solid var(--cobalt);background:#ffffff09;max-height:190px;margin-top:14px;padding:14px;overflow-y:auto}.retrieval-results p{color:#aaa;font:9px/1.55 var(--mono);margin:0 0 10px}.setup-message{color:#dca49f;font:9px var(--mono);margin-top:20px}.setup-login{place-items:center;display:grid}.setup-login>section{border-top:1px solid var(--ivory);border-bottom:1px solid var(--line);background:#ffffff06;width:min(500px,100%);padding:34px}.setup-login h1{font-size:clamp(38px,5vw,58px)}.setup-login button{width:100%;margin:12px 0 25px}.project-picker{display:none}@media (width<=1200px) and (width>=681px){.work-layout{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:clamp(24px,3vw,38px)}.project-feature{grid-template-columns:1fr;align-items:start;gap:12px}.work-image img{max-height:clamp(150px,32vh,300px)}.project-poster{min-height:190px}.work-description{padding:14px 0}.work-quote{margin-bottom:10px;font-size:clamp(18px,2.4vw,25px)}.work-description>p:not(.work-quote){margin-bottom:16px;font-size:11px;line-height:1.55}}@media (width<=900px){.portfolio-shell{--stage-left:42px}.content-stage{right:150px}.story-columns{width:82%}.work-layout{grid-template-columns:.8fr 1.2fr;gap:35px}.skills-layout{width:85%}.conversation-dock.is-open{height:min(580px,100dvh - 105px)}}@media (width<=680px),(height<=520px) and (width<=950px) and (pointer:coarse){.portfolio-shell{min-height:0}.edge-top,.edge-bottom{height:7px}.edge-left,.edge-right{width:7px}.top-bar{grid-template-columns:1fr auto;height:58px;padding:0 16px;top:7px;left:7px;right:7px}.identity strong{font-size:11px}.identity img{width:32px;height:32px;margin-left:-2px}.top-bar>p,.location-status{display:none}.playback-overlay{top:78px;right:18px}.playback-bar{height:36px}.playback-bar button{min-width:38px}.playback-settings{overscroll-behavior:contain;width:min(224px,100vw - 36px);max-height:calc(100dvh - 132px);overflow-y:auto}.content-stage{-webkit-overflow-scrolling:touch;scroll-padding-bottom:24px;inset:78px 20px 126px}.moon-disc{width:75vw;right:-20%}.far-city,.near-city{width:300%}.walking-figure{transform-origin:bottom;left:70%;transform:scale(.76)}.cinematic-story .walking-figure{left:13%}.index-view{flex-direction:column;gap:20px;display:flex}.index-view .section-code,.index-view .index-title,.index-view .index-statement{flex:none;position:static}.index-title>p{max-width:250px;font-size:7px;line-height:1.7}.index-title h1{font-size:clamp(62px,20vw,90px)}.index-statement{width:88%;margin:auto 0 0 auto;padding:17px}.film-caption{display:none}.section-heading{padding-top:8px}.section-heading h2{font-size:clamp(40px,12vw,60px)}.story-columns{grid-template-columns:1fr;gap:15px;width:100%;margin-top:28px;padding:18px 0}.story-lead{font-size:15px}.story-copy p{font-size:11px}.reference-line{display:none}.work-layout{grid-template-columns:1fr;gap:15px;margin-top:24px}.project-index{display:none}.project-picker{z-index:5;display:block;position:relative}.project-picker button{width:100%;color:var(--soft);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;display:grid}.project-picker button>span{color:var(--red);font:8px var(--mono)}.project-picker button>div{flex-direction:column;gap:5px;display:flex}.project-picker strong{font-size:14px;font-weight:500}.project-picker small{color:var(--soft);font:8px var(--mono);text-transform:uppercase}.project-picker .project-picker-trigger{border-top:1px solid var(--ivory);border-bottom:1px solid var(--line);background:var(--panel);min-height:58px;-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);color:var(--white);padding:10px 12px 10px 0}.project-picker .project-picker-trigger svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .18s}.project-picker .project-picker-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.project-picker-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0c0ef5;border:1px solid #eeeae04d;gap:4px;padding:6px;animation:.2s both reveal;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 18px 50px #00000080}.project-picker-menu button{border:1px solid var(--line);min-height:54px;padding:8px 10px}.project-picker-menu button:hover{border-color:#eeeae066}.project-picker-menu button.is-selected{border-color:var(--ivory);color:var(--white);background:#eeeae014}.project-picker-menu button.is-selected:after{content:"";background:var(--red);border-radius:50%;width:6px;height:6px}.project-feature{grid-template-columns:1fr;gap:13px}.work-description{padding:14px 0}.work-description>p:not(.work-quote){margin-bottom:18px;font-size:12px;line-height:1.6}.work-quote{font-size:18px}.work-image img{max-height:220px}.project-poster{min-height:155px;padding:15px}.project-poster>strong{font-size:58px}.project-facts{display:none}.skills-layout{grid-template-columns:1fr;gap:12px;width:100%;margin-top:24px}.experience-marker{flex-direction:row;align-items:flex-end;gap:20px;min-height:0;padding:12px 14px}.experience-marker strong{font-size:56px}.experience-marker span{max-width:130px;font-size:7px}.skill-groups article{gap:10px;min-height:0;padding:10px}.skill-groups article>div:first-child{grid-template-columns:20px 1fr}.skill-groups h3{font-size:12px}.skill-tags{gap:4px}.skill-tags span{padding:6px 8px;font-size:8px}.contact-view{display:block}.contact-copy .section-heading h2{font-size:42px}.contact-copy>p{margin:14px 0 18px;font-size:11px}.contact-links{flex-wrap:wrap;gap:18px}.section-view{height:auto;min-height:100%}.index-view{min-height:100%}.section-nav{border-top:1px solid var(--line);background:#0a0a0be0;flex-direction:row;width:auto;height:53px;inset:auto 7px 7px}.section-nav button{border:0;border-right:1px solid var(--line);flex:1;grid-template-columns:1fr;place-items:center;min-height:0;display:grid}.section-nav button:first-child{border-top:0}.section-nav strong{display:none}.section-nav span{font-size:8px}.section-nav button.active{background:var(--cobalt);color:var(--white)}.section-nav button:nth-child(2n).active{background:var(--red)}.step-controls{display:none}.conversation-dock{width:calc(100% - 22px);bottom:66px}.conversation-dock.is-open{width:calc(100% - 22px);height:calc(100dvh - 145px)}.conversation-dock.is-minimised{width:calc(100% - 22px);height:52px}.conversation-head{min-height:52px;padding-left:12px}.conversation-identity small{display:none}.conversation-head>p{font-size:8px}.conversation-log{padding:16px 14px}.conversation-message{width:91%}.conversation-message p{font-size:10px}.conversation-form{padding:12px 14px 14px}.setup-page{padding:28px 20px}.setup-page>header{align-items:flex-start}.setup-status{grid-template-columns:1fr 1fr}.setup-status>div:nth-child(2){border-right:0}.setup-status>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.setup-grid{grid-template-columns:1fr;gap:28px}}@media (width<=420px){.top-bar{padding:0 12px}.identity{gap:8px}.identity strong{font-size:10px}.playback-overlay{right:12px}.content-stage{left:14px;right:14px}.index-view{gap:16px}.index-title h1{font-size:clamp(56px,19vw,76px)}.index-statement{width:100%;margin-left:0;padding:15px}.section-heading>span{margin-bottom:12px}.section-heading h2{font-size:clamp(34px,11.5vw,48px)}.story-columns{margin-top:22px}.work-layout,.skills-layout{margin-top:20px}.contact-links{gap:14px}.setup-page>header{flex-direction:column;gap:16px}}@media (height<=700px) and (width>=681px){.content-stage{top:82px}.section-heading{padding-top:1vh}.section-heading h2{font-size:clamp(40px,5.5vw,70px)}.story-columns{margin-top:4vh;padding:18px 0}.work-layout{margin-top:2vh}.work-image img{max-height:175px}.project-facts{margin-top:2vh}.practice-list{margin-top:3vh}}@media (prefers-reduced-motion:reduce){.signal-interference{display:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--panel:#0808096b;--panel-blur:blur(12px)}:root[data-tear=on]{--panel:#0808099e}.story-columns,.work-description,.project-index,.skill-groups,.experience-marker,.contact-copy,.reference-line,.film-caption,.step-controls,.section-nav button{background:var(--panel);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur)}.story-columns,.work-description,.project-index,.skill-groups,.experience-marker,.contact-copy,.reference-line,.film-caption,.step-controls{transition:background-color .2s}.section-nav button{transition:color .18s,background-color .2s}.story-columns{gap:48px;padding:26px 30px}.work-description{padding:20px 24px}.contact-copy{padding:32px 36px}.reference-line,.film-caption{padding:8px 14px}@media (width>=681px){.section-nav{width:118px}.section-nav button,.step-controls{padding:0 10px}}@media (width<=680px),(height<=520px) and (width<=950px) and (pointer:coarse){.story-columns{gap:15px;padding:18px 16px}.work-description{padding:14px 16px}.contact-copy{padding:22px 20px}.reference-line,.film-caption{padding:6px 10px}}#sf-intro{z-index:2147483000;cursor:pointer;background:#0a0a0b;position:fixed;inset:0;overflow:hidden}#sf-intro canvas{width:100%;height:100%;display:block}#sf-intro:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#00000047 0 1px,#0000 1px 3px),radial-gradient(#0000 55%,#0000008c 100%);position:absolute;inset:0}html.sf-intro-active,html.sf-intro-active body{overflow:hidden}html.sf-intro-skip #sf-intro{display:none}@media (prefers-reduced-motion:reduce){#sf-intro{display:none}}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
