@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rajdhani-latin-400-normal-CurJOxDW.woff2)format("woff2"),url(/assets/rajdhani-latin-400-normal-C6_q4usG.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rajdhani-latin-ext-400-normal-DACPYgMx.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-400-normal-Der7ynDE.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-ext-500-normal-DiyUS11w.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-500-normal-CyRWJZ5B.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(/assets/rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-600-normal-BleIgkPp.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-ext-700-normal-S6aYESQK.woff2)format("woff2"),url(/assets/rajdhani-latin-ext-700-normal-BPaQ7tlD.woff)format("woff")}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/share-tech-mono-latin-400-normal-CCqdbj5z.woff2)format("woff2"),url(/assets/share-tech-mono-latin-400-normal-15MgdvEM.woff)format("woff")}:root[data-theme=v1]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#020a12;--color-navy:#062848;--color-deep-blue:#1b4b6b;--color-slate:#45637d;--color-steel:#769bb2;--color-cloud-blue:#aac1d0;--color-ice:#b9d9eb;--color-mist:#c4dbe8;--color-white:#f6fbfd;--color-pure-white:#fff;--color-blue:#0055c7;--color-azure:#087cf2;--color-teal-blue:#047f9b;--color-cerulean:#1266a6;--color-electric-blue:#00a8ff;--color-ocean:#0b3d60;--color-sea-blue:#0b5f8e;--color-sky:#57d7ff;--color-blue-light:#e4f1fc;--color-forest:#0b493f;--color-jade:#08705b;--color-green:#2f9b69;--color-olive:#3c7f1d;--color-teal:#007f83;--color-mint:#76e2c2;--color-green-light:#e2f6f5;--color-violet-dark:#362460;--color-violet-muted:#5b3b95;--color-violet:#713fd4;--color-lavender:#c69cff;--color-lavender-light:#f0eaff;--color-orange:#b85d08;--color-orange-light:#fff0dc;--color-gold:#f5c35b;--color-amber-dark:#5c4210;--color-ochre:#8c5900;--color-rose:#9c3d6e;--color-rose-light:#f9e5f1;--color-gray:#5e6670;--color-gray-light:#ebeff3;--color-border-outline:var(--color-ink);--color-surface-strong:var(--color-navy);--color-text:var(--color-navy);--color-metal-dark:var(--color-deep-blue);--color-text-muted:var(--color-slate);--color-border:var(--color-steel);--color-metal-mid:var(--color-steel);--color-panel-header-surface-bottom:var(--color-cloud-blue);--color-page:var(--color-cloud-blue);--color-panel-header-surface-top:var(--color-ice);--color-text-ice:var(--color-ice);--color-metal-light:var(--color-mist);--color-surface-inset:var(--color-mist);--color-surface-muted:var(--color-surface-inset);--color-surface:var(--color-white);--color-text-inverse:var(--color-white);--color-metal-highlight:var(--color-white);--color-accent-contrast:var(--color-white);--color-surface-raised:var(--color-white);--color-border-highlight:var(--color-pure-white);--color-text-primary:var(--color-text);--color-text-secondary:var(--color-text-muted);--color-accent-active:var(--color-blue);--color-project-category-financial:var(--color-blue);--color-accent-hover:var(--color-blue);--color-accent:var(--color-azure);--color-border-strong:var(--color-deep-blue);--color-project-category-simulation:var(--color-teal-blue);--color-project-category-insurance:var(--color-cerulean);--color-focus:var(--color-electric-blue);--color-project-type-game-surface:var(--color-ocean);--color-project-type-game-muted:var(--color-sea-blue);--color-project-type-game:var(--color-sky);--color-project-category-financial-surface:var(--color-blue-light);--color-project-category-insurance-surface:var(--color-blue-light);--color-project-category-simulation-surface:var(--color-blue-light);--color-project-type-doc-surface:var(--color-forest);--color-project-type-doc-muted:var(--color-jade);--color-project-category-research-platform:var(--color-jade);--color-positive:var(--color-green);--color-project-category-edtech:var(--color-olive);--color-project-category-fintech:var(--color-teal);--color-project-type-doc:var(--color-mint);--color-project-category-edtech-surface:var(--color-green-light);--color-project-category-fintech-surface:var(--color-green-light);--color-project-category-research-platform-surface:var(--color-green-light);--color-project-type-software-surface:var(--color-violet-dark);--color-project-type-software-muted:var(--color-violet-muted);--color-project-category-banking:var(--color-violet);--color-project-type-software:var(--color-lavender);--color-project-category-banking-surface:var(--color-lavender-light);--color-project-type-social-surface:var(--color-amber-dark);--color-project-type-social-muted:var(--color-ochre);--color-project-category-media:var(--color-rose);--color-project-category-media-surface:var(--color-rose-light);--color-project-category-threat-intelligence:var(--color-rose);--color-project-category-threat-intelligence-surface:var(--color-rose-light);--color-project-category-logistics:var(--color-orange);--color-project-category-logistics-surface:var(--color-orange-light);--color-project-category-loyalty:var(--color-orange);--color-project-category-loyalty-surface:var(--color-orange-light);--color-project-type-social:var(--color-gold);--color-project-featured:var(--color-gold);--color-project-category-industrial:var(--color-gray);--color-project-category-industrial-surface:var(--color-gray-light);--color-panel-header-text:var(--color-text);--color-panel-header-prefix:var(--color-metal-dark);--color-panel-header-details:var(--color-text-muted);--color-panel-header-border:var(--color-border);--shadow-panel:0 3px 0 color-mix(in srgb, var(--color-surface-strong) 24%, transparent);--shadow-panel-strong:0 5px 0 color-mix(in srgb, var(--color-surface-strong) 34%, transparent);--shadow-inset:inset 0 1px 0 color-mix(in srgb, var(--color-border-highlight) 90%, transparent);--gradient-metal-border:linear-gradient(135deg, var(--color-metal-highlight) 0%, var(--color-metal-light) 13%, var(--color-metal-mid) 29%, var(--color-metal-dark) 43%, var(--color-metal-highlight) 54%, var(--color-metal-light) 67%, var(--color-metal-dark) 84%, var(--color-metal-highlight) 100%);--border-width-thin:1px;--border-width-strong:2px;--radius-sm:2px;--radius-md:4px;--space-nano:.25rem;--space-small:.5rem;--space-normal:1rem;--space-big:1.5rem;--layout-content-max:90rem;--font-size-nano:.85rem;--font-size-normal:1rem;--font-size-big:1.25rem;--font-size-huge:1.75rem;--font-weight-nano:100;--font-weight-normal:400;--font-weight-big:500;--letter-spacing-label:.04em;--font-body:"Rajdhani", "Arial Narrow", arial, sans-serif;--font-heading:"Share Tech Mono", "Courier New", monospace;--icon-size-nano:.875rem;--icon-size-normal:1.2rem;--icon-size-big:1.75rem;--icon-size-huge:2.25rem}html,body,#root{min-height:100%}body{margin:0}:where(.v1,.storybook),:where(.v1,.storybook) *,:where(.v1,.storybook) :before,:where(.v1,.storybook) :after{box-sizing:border-box}:where(.v1,.storybook){color:var(--color-text);font-family:var(--font-body);font-synthesis:none;font-weight:var(--font-weight-big);line-height:1.35}:where(.v1,.storybook) :where(button,input,select,textarea){font:inherit}:where(.v1,.storybook) :where(a){color:inherit}:where(.v1,.storybook) :where(img,svg){max-width:100%;display:block}:where(.v1,.storybook) :focus-visible{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--space-nano)}.storybook{min-height:100dvh;padding:var(--space-big);background:var(--color-page)}.grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));grid-auto-rows:var(--grid-row-height);gap:var(--space-small);display:grid}.grid-column{grid-column:span var(--grid-column-weight);min-width:0}@media (width<=52rem){.grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.grid-column{grid-column:auto}}.city-landscape-parallax{isolation:isolate;background:var(--color-surface-strong);min-height:9.5rem;position:relative;overflow:hidden}.city-landscape-parallax-scene{z-index:0;position:absolute;inset:0;overflow:hidden}.city-landscape-parallax-layer{width:max-content;min-width:200%;height:100%;animation-duration:var(--city-layer-duration);will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite;display:flex;position:absolute;inset:0 auto 0 0}.city-landscape-parallax-layer-left{animation-name:city-scroll-left}.city-landscape-parallax-layer-right{animation-name:city-scroll-right}.city-landscape-parallax-layer img{-webkit-user-select:none;user-select:none;flex:none;width:auto;max-width:none;height:100%;display:block}@keyframes city-scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes city-scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.city-landscape-parallax-layer{animation-play-state:paused}}.local-clock{gap:var(--space-nano);min-height:100%;padding:var(--space-small) var(--space-normal);color:var(--color-text-primary);background:color-mix(in srgb, var(--color-surface-strong) 92%, transparent);border-left:var(--border-width-thin) solid var(--color-border-strong);font-family:var(--font-heading);text-align:right;text-transform:uppercase;align-content:center;display:grid}.local-clock-date,.local-clock-time{margin:0}.local-clock-date{color:var(--color-text-secondary);font-size:var(--font-size-nano);letter-spacing:var(--letter-spacing-label)}.local-clock-time{color:var(--color-text-primary);font-size:var(--font-size-huge);line-height:1}.panel-frame{--panel-frame-metal-border-width:4px;--panel-surface:var(--color-surface-raised);--panel-text:var(--color-text);--panel-border:var(--color-border-strong);color:var(--panel-text);background:linear-gradient(var(--panel-surface), var(--panel-surface)) padding-box, var(--gradient-metal-border) border-box;border:var(--panel-frame-metal-border-width) solid transparent;border-radius:var(--radius-md);outline:var(--border-width-thin) solid var(--color-border-outline);flex-direction:column;display:flex;position:relative}.panel-frame:before{pointer-events:none;content:"";border:var(--border-width-thin) solid var(--color-metal-highlight);border-radius:var(--radius-sm);opacity:.8;position:absolute;inset:3px}.panel-frame-dark{--panel-surface:var(--color-surface-strong);--panel-text:var(--color-text-inverse);--color-text-primary:var(--color-text-inverse);--color-text-secondary:var(--color-text-ice)}.panel-frame-header{z-index:1;position:relative}.panel-frame-content{z-index:1;border:var(--border-width-thin) solid var(--panel-border);border-radius:calc(var(--radius-md) - var(--space-nano));background:0 0;flex:1 0 auto;min-height:0;position:relative}.panel-frame-header+.panel-frame-content{border-top-left-radius:0;border-top-right-radius:0;min-height:0}.spotify-player{--spotify-player-scale:.7;width:min(calc(100% - var(--space-normal)), 26rem);block-size:calc(3.5rem + var(--space-small) + var(--border-width-strong) + var(--border-width-strong));margin-inline:var(--space-small);padding:var(--space-nano);background:var(--color-surface-strong);border:var(--border-width-strong) solid var(--color-metal-mid);border-radius:var(--radius-md);place-self:center start;overflow:hidden}.spotify-player-embed{border-radius:var(--radius-sm);background:var(--color-surface-strong);width:142.857%;height:5rem;transform:scale(var(--spotify-player-scale));transform-origin:0 0;border:0;display:block}.spotify-player:focus-within{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--space-nano)}.clock-player-header{--clock-player-height:calc(3.5rem + var(--space-small) + var(--border-width-strong) + var(--border-width-strong));isolation:isolate;min-height:6.5rem;position:relative;overflow:hidden}.clock-player-header-city{z-index:0;position:absolute;inset:0}.clock-player-header-city .city-landscape-parallax{height:100%}.clock-player-header>.spotify-player{z-index:1;box-sizing:border-box;block-size:var(--clock-player-height);margin-block:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.clock-player-header-city>.local-clock{z-index:1;align-content:start;max-width:100%;height:4rem;min-height:0;position:absolute;top:0;right:0}@media (width<=42rem){.clock-player-header-city>.local-clock{height:4rem}}.identity-header{padding:clamp(var(--space-small), 3vw, var(--space-big));background:var(--color-surface-strong);position:relative;overflow:hidden;container-type:inline-size}.identity-header-content{z-index:1;gap:var(--space-small);display:grid;position:relative}.identity-header:before{z-index:0;content:"";opacity:.09;transform-origin:50%;background:url(/assets/matrix-bg-C3_1uHpf.png) 50%/auto 100vmax;width:200vmax;height:200vmax;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.identity-header-identity{gap:var(--space-small);align-items:center;display:flex}.identity-header-icon{color:var(--color-text-inverse);flex:none}.identity-header-name{color:var(--color-text-inverse);font-family:var(--font-heading);font-size:clamp(var(--font-size-big), 4.75vw, var(--font-size-huge));font-weight:var(--font-weight-normal);letter-spacing:.02em;text-transform:uppercase;margin:0;line-height:.95}.identity-header-name strong{color:var(--color-accent);font:inherit}.identity-header-roles{color:var(--color-text-ice);font-family:var(--font-heading);font-size:var(--font-size-nano);font-weight:var(--font-weight-nano);letter-spacing:.02em;text-transform:uppercase;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.identity-header-roles li{white-space:nowrap;align-items:center;display:inline-flex}.identity-header-roles li:not(:last-child):after{margin-left:var(--space-nano);color:var(--color-focus);content:"//"}.portfolio-top-row .grid{align-items:stretch}.portfolio-top-row .grid-column,.portfolio-top-row .grid-column>.panel-frame,.portfolio-top-row .panel-frame-content,.portfolio-top-row .identity-header{height:100%}.portfolio-top-row .identity-header{box-sizing:border-box}.project-type-badge{gap:var(--space-nano);width:fit-content;padding:var(--space-nano) var(--space-small);border:var(--border-width-thin) solid currentcolor;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--font-size-nano);text-transform:uppercase;align-items:center;line-height:1;display:inline-flex}.project-type-badge-game{--project-type-color:var(--color-project-type-game);--project-type-color-muted:var(--color-project-type-game-muted);--project-type-surface:var(--color-project-type-game-surface)}.project-type-badge-software{--project-type-color:var(--color-project-type-software);--project-type-color-muted:var(--color-project-type-software-muted);--project-type-surface:var(--color-project-type-software-surface)}.project-type-badge-social{--project-type-color:var(--color-project-type-social);--project-type-color-muted:var(--color-project-type-social-muted);--project-type-surface:var(--color-project-type-social-surface)}.project-type-badge-doc{--project-type-color:var(--color-project-type-doc);--project-type-color-muted:var(--color-project-type-doc-muted);--project-type-surface:var(--color-project-type-doc-surface)}.project-type-badge-default{color:var(--project-type-color-muted);background:0 0}.project-type-badge-featured{color:var(--project-type-color);background:var(--project-type-surface)}.technology-tags{gap:var(--space-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.technology-tag{gap:var(--space-nano);box-sizing:border-box;height:1.5rem;padding:var(--space-nano) var(--space-small);color:var(--color-text-ice);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--font-size-nano);white-space:nowrap;background:0 0;align-items:center;display:inline-flex}.technology-tag-bg-filled{background:var(--color-surface-strong)}.technology-tag-bg-transparent{color:var(--color-text)}.technology-tag-border-none{border:0}.technology-tag svg{width:var(--icon-size-nano);height:var(--icon-size-nano)}.heading{color:var(--color-text-primary);font-family:var(--font-heading);font-weight:var(--font-weight-normal);margin:0}.heading-1{font-size:2.5rem;line-height:1.15}.heading-2{font-size:var(--font-size-big);line-height:1.2}.heading-3{font-size:var(--font-size-normal);line-height:1.2}.text{color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-normal);font-weight:inherit;margin:0;line-height:1.35}.text-secondary{color:var(--color-text-secondary)}.text-label{font-size:var(--font-size-nano);font-weight:var(--font-weight-big);letter-spacing:var(--letter-spacing-label)}.text-meta{font-size:var(--font-size-nano)}.portfolio-video-player{padding:var(--space-small);border:var(--border-width-strong) solid var(--color-accent);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--border-width-thin) var(--color-metal-mid), var(--shadow-inset);align-self:stretch;position:relative}.portfolio-video-player:before{inset:var(--space-nano);border:var(--border-width-thin) solid var(--color-metal-mid);content:"";pointer-events:none;position:absolute}.portfolio-video-player-media{z-index:1;aspect-ratio:16/10;object-fit:contain;border:var(--border-width-thin) solid var(--color-metal-mid);border-radius:var(--radius-sm);background:#000;width:100%;height:100%;min-height:12rem;display:block;position:relative}video.portfolio-video-player-media{cursor:pointer}.portfolio-video-player:fullscreen{background:#000;border:0;place-items:center;padding:0;display:grid}.portfolio-video-player-play-trigger .portfolio-video-player-media{transition:filter .16s}.portfolio-video-player:fullscreen .portfolio-video-player-media{max-width:100%;min-height:0;max-height:100%}.portfolio-video-player-play-trigger{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.portfolio-video-player-play-trigger:hover .portfolio-video-player-media,.portfolio-video-player-play-trigger:focus-visible .portfolio-video-player-media{filter:brightness(.7)}.portfolio-video-player-play-icon{z-index:2;width:var(--icon-size-huge);height:var(--icon-size-huge);color:var(--color-accent-contrast);background:color-mix(in srgb, var(--color-surface-strong) 78%, transparent);border:var(--border-width-strong) solid var(--color-accent);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portfolio-video-player-play-icon svg,.portfolio-video-player-fullscreen-control svg{width:var(--icon-size-normal);height:var(--icon-size-normal)}.portfolio-video-player-play-overlay{z-index:2;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.portfolio-video-player-fullscreen-control{z-index:3;right:var(--space-small);bottom:var(--space-small);width:var(--icon-size-big);height:var(--icon-size-big);cursor:pointer;color:var(--color-accent-contrast);background:color-mix(in srgb, var(--color-surface-strong) 82%, transparent);border:var(--border-width-thin) solid var(--color-accent);border-radius:var(--radius-sm);place-items:center;padding:0;display:grid;position:absolute}.portfolio-video-player-fullscreen-control:hover{background:var(--color-surface-strong)}.portfolio-video-player-fullscreen-control:focus-visible,.portfolio-video-player-play-trigger:focus-visible{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--space-nano)}.project-card{box-sizing:border-box;gap:var(--space-small);height:100%;padding:var(--space-small);padding-bottom:var(--space-big);color:var(--color-text);background:0 0;display:grid}.project-card-header{gap:var(--space-small);min-width:0;padding-bottom:var(--space-small);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.project-card-icon{width:6.75rem;height:6.75rem;color:var(--color-accent);border:var(--border-width-strong) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface-strong);box-shadow:inset 0 0 0 var(--border-width-strong) var(--color-surface-strong), 0 0 0 var(--border-width-thin) var(--color-metal-mid);flex:none;place-items:center;display:grid;position:relative}.project-card-icon svg{width:var(--icon-size-big);height:var(--icon-size-big)}.project-card-icon img{box-sizing:border-box;object-fit:contain;border:var(--border-width-thin) solid var(--color-metal-highlight);width:40%;height:40%;display:block}.project-card-header .heading{color:var(--color-text-primary);font-size:var(--font-size-big);letter-spacing:.03em;text-transform:uppercase}.project-card>.text{font-size:var(--font-size-normal);line-height:1.25}.project-card-external-links{gap:var(--space-nano);border:0;margin:0;padding:0;list-style:none;display:grid}.project-card-external-links li{gap:var(--space-small);min-width:0;color:var(--color-text-muted);font-family:var(--font-heading);font-size:var(--font-size-nano);align-items:center;display:flex}.project-card-external-links a{gap:var(--space-nano);min-width:0;color:var(--color-accent);font-size:var(--font-size-nano);text-transform:none;border:0;align-items:center;padding:0;text-decoration:none;display:inline-flex}.project-card-external-links a:hover{color:var(--color-accent-active);text-decoration:none}.project-card-featured{--color-text-primary:var(--color-text-inverse);--color-text-secondary:var(--color-text-ice);color:var(--color-text-inverse);background:var(--color-surface-strong)}.project-card-featured .technology-tag-bg-transparent{color:var(--color-text-ice)}.project-card-year{gap:var(--space-nano);padding-top:var(--space-nano);color:var(--color-text-muted);font-family:var(--font-heading);white-space:nowrap;align-items:center;display:inline-flex}.project-card-content{gap:var(--space-small);grid-template-columns:minmax(0,1fr) minmax(12rem,.9fr);align-items:stretch;display:grid}.project-card-summary{gap:0;min-width:0;display:grid}.project-card-technology-stack{gap:var(--space-small);display:grid}.project-card-icon:before{inset:var(--space-nano);border:var(--border-width-thin) solid var(--color-metal-mid);content:"";pointer-events:none;position:absolute}.project-card-identity{gap:var(--space-nano);min-width:0;display:grid}.project-card-identity .heading{gap:var(--space-small);align-items:center;display:flex}.project-card-featured-icon{color:var(--color-project-featured);flex:none}.project-card-identity .project-type-badge{margin-top:var(--space-nano)}.project-card-featured .project-card-header .heading{color:var(--color-text-inverse)}.project-card-featured .project-card-year,.project-card-featured .project-card-external-links li{color:var(--color-text-ice)}.project-card-featured .project-card-external-links a:hover{color:var(--color-text-inverse)}.project-card-description,.project-card-link-section,.project-card-technology-stack{padding:var(--space-small) 0;border-top:var(--border-width-thin) solid color-mix(in srgb, var(--color-border) 50%, transparent)}.project-card-description{gap:var(--space-small);display:grid}.project-card-supplementary-image{width:clamp(4.5rem,30%,6.5rem);padding:var(--space-nano);margin:var(--space-small) 0 0;background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-metal-mid);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--border-width-thin) var(--color-metal-highlight), 0 var(--space-nano) 0 color-mix(in srgb, var(--color-surface-strong) 30%, transparent);position:relative}.project-card-supplementary-image img{aspect-ratio:1;object-fit:contain;width:100%;height:auto;filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--color-surface-strong) 30%, transparent));display:block}.project-card-featured .project-card-icon img{border-color:var(--color-metal-mid)}.project-card-link-section,.project-card-technology-stack{padding-bottom:0}.project-card-media-column{gap:var(--space-small);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.project-card-media-column .project-card-year{justify-self:end}@media (width<=40rem){.project-card-content{grid-template-columns:1fr}.project-card-icon{width:5.25rem;height:5.25rem}}.panel-header{--panel-header-surface:linear-gradient(180deg, var(--color-panel-header-surface-top), var(--color-panel-header-surface-bottom));--panel-header-text:var(--color-panel-header-text);--panel-header-prefix:var(--color-panel-header-prefix);--panel-header-details:var(--color-panel-header-details);gap:var(--space-small);min-height:1.5rem;padding:0 var(--space-small);color:var(--panel-header-text);background:var(--panel-header-surface);border-bottom:var(--border-width-thin) solid var(--color-panel-header-border);box-shadow:var(--shadow-inset);font-family:var(--font-heading);font-size:var(--font-size-nano);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;justify-content:space-between;align-items:center;line-height:1;display:flex}.panel-header-label,.panel-header-details{gap:var(--space-small);align-items:center;min-width:0;display:inline-flex}.panel-header-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-header-prefix{color:var(--panel-header-prefix)}.panel-header-details{color:var(--panel-header-details);font-family:var(--font-body);font-size:var(--font-size-nano);font-weight:var(--font-weight-big);flex:none}.epic-golf-featured-project{--color-accent:#80e5ff;--color-accent-hover:#c5f6ff;--color-accent-active:#2ab9ea;--color-border:#59c6ef;--color-metal-mid:#79d5f4;--color-metal-dark:#1266a3;--color-panel-header-details:#d8f7ff;--color-panel-header-prefix:#076ba9;--color-panel-header-surface-bottom:#168bd0;--color-panel-header-surface-top:#75d5fa;--color-project-type-game:#d7f9ff;--color-project-type-game-surface:#07568c;--color-surface-raised:#0579bf;--color-surface-strong:#0567aa;--color-text-ice:#dff8ff;--color-text-inverse:#fff;--color-text-muted:#bcecff;--gradient-metal-border:linear-gradient(135deg, #d9f9ff, #4ebde9 48%, #0b5a9b);position:relative;overflow:hidden}.epic-golf-featured-project>.panel-frame{z-index:1;position:relative}.epic-golf-featured-project .panel-frame-content{background:linear-gradient(90deg,#005ca9a8 0%,#087fc99c 55%,#00539aa8 100%),url(/images/portfolio-scenery/epic-golf-2d/background.png) 50%/cover;position:relative;overflow:hidden}.epic-golf-featured-project-background{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.epic-golf-featured-project-cloud,.epic-golf-featured-project-course,.epic-golf-featured-project-star-decoration{max-width:none;image-rendering:pixelated;pointer-events:none;display:block;position:absolute}.epic-golf-featured-project-cloud-one{width:clamp(4rem,6vw,5.5rem);top:21%;left:4%}.epic-golf-featured-project-cloud-two{width:clamp(4.5rem,7vw,6rem);top:45%;right:4%}.epic-golf-featured-project-cloud-three{width:clamp(3.5rem,5vw,4.75rem);bottom:18%;left:37%}.epic-golf-featured-project-cloud-four{width:clamp(3.75rem,5.5vw,5rem);top:9%;right:31%}.epic-golf-featured-project-cloud-five{width:clamp(3.25rem,4.5vw,4.25rem);bottom:38%;left:8%}.epic-golf-featured-project-cloud-six{width:clamp(3rem,4vw,3.75rem);bottom:12%;right:16%}.epic-golf-featured-project-course{width:100%;height:auto;bottom:0;left:0}.epic-golf-featured-project-star-decoration{opacity:.65;width:6rem;top:33%;left:47%;transform:rotate(-18deg)}.epic-golf-featured-project-content{z-index:1;gap:clamp(var(--space-big), 3vw, 3rem);padding:clamp(var(--space-normal), 2vw, var(--space-big));grid-template-columns:minmax(0,.86fr) minmax(19rem,1.14fr);display:grid;position:relative}.epic-golf-featured-project-summary{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.epic-golf-featured-project-identity{gap:var(--space-normal);width:100%;padding-bottom:var(--space-normal);margin-bottom:var(--space-normal);border-bottom:var(--border-width-thin) solid #c9f6ff9c;align-items:center;display:flex}.epic-golf-featured-project-logo{box-sizing:border-box;width:clamp(5.5rem,10vw,8rem);height:clamp(5.5rem,10vw,8rem);padding:var(--space-small);object-fit:contain;border:var(--border-width-strong) solid #c5f6ff;box-shadow:inset 0 0 0 var(--border-width-thin) #05629e, 0 0 0 var(--border-width-thin) #004c85, .2rem .25rem 0 #004c85;image-rendering:pixelated;background:#0b7ece;flex:none;display:block}.epic-golf-featured-project-identity .heading{gap:var(--space-small);color:var(--color-text-inverse);letter-spacing:.05em;text-transform:uppercase;align-items:center;font-size:clamp(1.6rem,3vw,2.5rem);display:flex}.epic-golf-featured-project-title-star{color:#ffd452;flex:none}.epic-golf-featured-project-identity .project-type-badge{margin-top:var(--space-small)}.epic-golf-featured-project-description{gap:var(--space-normal);max-width:38rem;display:grid}.epic-golf-featured-project-description .text{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.42}.epic-golf-featured-project-award{gap:var(--space-normal);width:100%;padding:var(--space-normal) 0;margin:var(--space-normal) 0 0;border-top:var(--border-width-thin) solid #c9f6ff9c;border-bottom:var(--border-width-thin) solid #c9f6ff9c;align-items:center;display:flex}.epic-golf-featured-project-award-badge{aspect-ratio:1;width:clamp(3.6rem,8vw,4.8rem);padding:var(--space-nano);border:var(--border-width-thin) solid #c8f7ff;background:#f6d86b;flex:none;display:block;overflow:hidden}.epic-golf-featured-project-award-badge img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;transform-origin:50%;display:block;transform:translateY(22px)scale(1.7)}.epic-golf-featured-project-award figcaption{gap:var(--space-nano);color:#fff7ca;font-family:var(--font-heading);display:grid}.epic-golf-featured-project-award-title{font-size:var(--font-size-normal);font-weight:var(--font-weight-big);line-height:1.25}.epic-golf-featured-project-award-subtitle{font-size:.7rem;font-weight:var(--font-weight-normal);opacity:.9;line-height:1.2}.epic-golf-featured-project-links{gap:var(--space-small);width:100%;padding:var(--space-small) 0;border-bottom:var(--border-width-thin) solid #c9f6ff9c;margin:0;list-style:none;display:grid}.epic-golf-featured-project-links li,.epic-golf-featured-project-links a{gap:var(--space-small);font-family:var(--font-heading);font-size:var(--font-size-normal);align-items:center;display:inline-flex}.epic-golf-featured-project-links a{color:#d8f9ff;text-decoration:none}.epic-golf-featured-project-links a:hover{color:#fff;text-decoration:underline}.epic-golf-featured-project-technologies{padding-top:var(--space-normal)}.epic-golf-featured-project-technologies .technology-tag{color:#ecfbff;background:#005897a6;border-color:#9fe7fb}.epic-golf-featured-project-demo{gap:var(--space-nano);align-content:start;min-width:0;display:grid}.epic-golf-featured-project-demo-label{padding:var(--space-nano) var(--space-small);color:#ecfbff;border:var(--border-width-thin) solid #9fe7fb;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-family:var(--font-heading);font-size:var(--font-size-nano);letter-spacing:.05em;text-transform:uppercase;background:#0d86caeb;border-bottom:0}.epic-golf-featured-project-demo .portfolio-video-player{min-height:0;padding:var(--space-small);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-color:#b0efff}.epic-golf-featured-project-year{gap:var(--space-small);align-items:center;display:inline-flex}@media (width<=56rem){.epic-golf-featured-project-content{grid-template-columns:1fr}.epic-golf-featured-project-demo{order:-1}}@media (width<=32rem){.epic-golf-featured-project-identity{align-items:flex-start}.epic-golf-featured-project-logo{width:4.5rem;height:4.5rem}}.pipoclube-featured-project{--color-accent:#d8193a;--color-accent-hover:#f12b50;--color-accent-active:#a90e27;--color-border:#8c4c58;--color-metal-mid:#9b5967;--color-metal-dark:#4f1821;--color-panel-header-details:#f4cbd2;--color-panel-header-prefix:#8b1428;--color-panel-header-surface-bottom:#4a151e;--color-panel-header-surface-top:#6a202c;--color-project-type-social:#ffc05a;--color-project-type-social-surface:#513517;--color-surface-raised:#251316;--color-surface-strong:#171617;--color-text-ice:#efd9dc;--color-text-inverse:#fff7f8;--color-text-muted:#d9b4ba;position:relative;overflow:hidden}.pipoclube-featured-project>.panel-frame{z-index:1;position:relative}.pipoclube-featured-project .panel-frame-content{background:radial-gradient(circle at 80% 44%,#9d162c59,#0000 38%),linear-gradient(118deg,#191718f2 0%,#211315ed 54%,#40171dec 100%);position:relative;overflow:hidden}.pipoclube-featured-project-background{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.pipoclube-featured-project-glow,.pipoclube-featured-project-ring,.pipoclube-featured-project-dot,.pipoclube-featured-project-background-icon{position:absolute}.pipoclube-featured-project-glow{pointer-events:none;border-radius:50%}.pipoclube-featured-project-glow-top{background:#aa000036;width:34rem;height:34rem;top:-19rem;right:-10rem}.pipoclube-featured-project-glow-bottom{background:#ffffff0d;width:42rem;height:42rem;bottom:-24rem;left:-14rem}.pipoclube-featured-project-glow-center{background:#a002;width:30rem;height:30rem;top:18%;left:35%}.pipoclube-featured-project-ring{border:1px solid #ffffff30;border-radius:50%;width:4rem;height:4rem}.pipoclube-featured-project-ring-top{top:15%;right:12%}.pipoclube-featured-project-ring-bottom{border-color:#ff9cad45;width:3.25rem;height:3.25rem;bottom:11%;left:43%}.pipoclube-featured-project-dot{border-radius:50%;width:.5rem;height:.5rem}.pipoclube-featured-project-dot-red{background:#e22240;top:22%;left:11%;box-shadow:0 0 1rem #e22240}.pipoclube-featured-project-dot-light{background:#fff;width:.4rem;height:.4rem;bottom:25%;right:5%;box-shadow:0 0 .9rem #fff}.pipoclube-featured-project-background-icon{color:#ee3854;opacity:.14}.pipoclube-featured-project-background-icon-popcorn{color:#fff0d4;width:9rem;height:9rem;bottom:-1.6rem;left:3%;transform:rotate(-18deg)}.pipoclube-featured-project-background-icon-film-strip{width:25rem;height:25rem;top:-1.25rem;right:36%;transform:rotate(-31deg)}.pipoclube-featured-project-background-icon-reel{color:#f16075;width:13rem;height:13rem;bottom:-2.5rem;right:-1.75rem;transform:rotate(16deg)}.pipoclube-featured-project-background-icon-star{color:#ffc05a;opacity:.16;width:4rem;height:4rem;top:43%;left:45%;transform:rotate(16deg)}.pipoclube-featured-project-content{z-index:1;gap:clamp(var(--space-big), 3vw, 3rem);padding:clamp(var(--space-normal), 2vw, var(--space-big));grid-template-columns:minmax(0,.86fr) minmax(19rem,1.14fr);display:grid;position:relative}.pipoclube-featured-project-summary{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.pipoclube-featured-project-identity{gap:var(--space-normal);width:100%;padding-bottom:var(--space-normal);margin-bottom:var(--space-normal);border-bottom:var(--border-width-thin) solid #e9a7b073;align-items:center;display:flex}.pipoclube-featured-project-logo{object-fit:contain;filter:drop-shadow(0 .25rem .3rem #00000080);flex:none;width:clamp(5.5rem,10vw,8rem);height:clamp(5.5rem,10vw,8rem);display:block}.pipoclube-featured-project-identity .heading{gap:var(--space-small);color:var(--color-text-inverse);letter-spacing:.05em;text-transform:uppercase;align-items:center;font-size:clamp(1.6rem,3vw,2.5rem);display:flex}.pipoclube-featured-project-star{color:#ffc05a;flex:none}.pipoclube-featured-project-identity .text{margin-top:var(--space-nano);font-size:var(--font-size-normal);text-transform:uppercase}.pipoclube-featured-project-identity .project-type-badge{margin-top:var(--space-small)}.pipoclube-featured-project-description{gap:var(--space-normal);max-width:38rem;display:grid}.pipoclube-featured-project-description .text{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.42}.pipoclube-featured-project-links{gap:var(--space-small);width:100%;padding:var(--space-normal) 0;margin:var(--space-normal) 0 0;border-top:var(--border-width-thin) solid #e9a7b073;border-bottom:var(--border-width-thin) solid #e9a7b073;list-style:none;display:grid}.pipoclube-featured-project-links li,.pipoclube-featured-project-links a{gap:var(--space-small);font-family:var(--font-heading);font-size:var(--font-size-normal);align-items:center;display:inline-flex}.pipoclube-featured-project-links a{color:#ff5d7b;text-decoration:none}.pipoclube-featured-project-links a:hover{color:#ff95a8;text-decoration:underline}.pipoclube-featured-project-technologies{padding-top:var(--space-normal)}.pipoclube-featured-project-technologies .technology-tag{color:#f9e4e7;background:#251316b3;border-color:#bb7280}.pipoclube-featured-project-demo{gap:var(--space-nano);min-width:0;display:grid}.pipoclube-featured-project-demo-label{padding:var(--space-nano) var(--space-small);color:#f9e4e7;border:var(--border-width-thin) solid #a75e6b;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-family:var(--font-heading);font-size:var(--font-size-nano);letter-spacing:.05em;text-transform:uppercase;background:#6a202cdb;border-bottom:0}.pipoclube-featured-project-demo .portfolio-video-player{min-height:100%;padding:var(--space-small);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-color:#c8203c}.pipoclube-featured-project-year{gap:var(--space-small);align-items:center;display:inline-flex}@media (width<=56rem){.pipoclube-featured-project-content{grid-template-columns:1fr}.pipoclube-featured-project-demo{order:-1}}@media (width<=32rem){.pipoclube-featured-project-identity{align-items:flex-start}.pipoclube-featured-project-logo{width:4.5rem;height:4.5rem}}.portfolio-projects-row{gap:var(--space-normal) var(--space-small);padding:var(--space-small);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;display:grid}.portfolio-projects-row-item{min-width:0;display:flex}.portfolio-projects-row-item>.panel-frame{flex:auto;min-width:0}.portfolio-projects-row-item-featured{grid-column:1/-1}@media (width<=40rem){.portfolio-projects-row{grid-template-columns:1fr}}.project-category{padding:var(--space-nano) var(--space-small);border:var(--border-width-thin) solid currentcolor;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--font-size-nano);white-space:nowrap;justify-content:center;align-items:center;line-height:1;display:inline-flex}.project-category-financial{color:var(--color-project-category-financial);background:var(--color-project-category-financial-surface)}.project-category-banking{color:var(--color-project-category-banking);background:var(--color-project-category-banking-surface)}.project-category-research-platform{color:var(--color-project-category-research-platform);background:var(--color-project-category-research-platform-surface)}.project-category-insurance{color:var(--color-project-category-insurance);background:var(--color-project-category-insurance-surface)}.project-category-edtech{color:var(--color-project-category-edtech);background:var(--color-project-category-edtech-surface)}.project-category-threat-intelligence{color:var(--color-project-category-threat-intelligence);background:var(--color-project-category-threat-intelligence-surface)}.project-category-fintech{color:var(--color-project-category-fintech);background:var(--color-project-category-fintech-surface)}.project-category-loyalty{color:var(--color-project-category-loyalty);background:var(--color-project-category-loyalty-surface)}.project-category-media{color:var(--color-project-category-media);background:var(--color-project-category-media-surface)}.project-category-logistics{color:var(--color-project-category-logistics);background:var(--color-project-category-logistics-surface)}.project-category-industrial{color:var(--color-project-category-industrial);background:var(--color-project-category-industrial-surface)}.project-category-simulation{color:var(--color-project-category-simulation);background:var(--color-project-category-simulation-surface)}.professional-experience-row{grid-template-columns:minmax(21rem,.95fr) minmax(0,1.55fr);height:37rem;display:grid;overflow:hidden}.professional-experience-row-timeline,.professional-experience-row-details{scrollbar-color:var(--color-metal-mid) transparent;scrollbar-width:thin;min-height:0;overflow-y:auto}.professional-experience-row-timeline{border-right:var(--border-width-strong) solid var(--color-border);background:var(--color-surface-inset);position:relative}.professional-experience-row-timeline-content{min-height:100%;padding:var(--space-small) 0;align-content:start;display:grid;position:relative}.professional-experience-row-timeline-item{z-index:1;gap:var(--space-small);width:100%;padding:var(--space-small) var(--space-small);color:var(--color-text);border:var(--border-width-thin) solid transparent;cursor:pointer;text-align:left;background:0 0;grid-template-columns:1rem max-content minmax(0,1fr);align-items:center;display:grid;position:relative}.professional-experience-row-timeline-item:before{top:0;bottom:0;left:calc(var(--space-small) + .5rem);z-index:0;width:var(--border-width-thin);content:"";background:var(--color-accent-active);position:absolute}.professional-experience-row-timeline-item:first-child:before{top:50%}.professional-experience-row-timeline-item:last-child:before{bottom:50%}.professional-experience-row-timeline-item[aria-current=true]{color:var(--color-text-inverse);border-color:var(--color-accent);background:var(--color-surface-strong);box-shadow:inset 0 var(--border-width-thin) 0 var(--color-accent), inset calc(var(--border-width-thin) * -1) 0 0 var(--color-accent), inset 0 calc(var(--border-width-thin) * -1) 0 var(--color-accent);border-left-color:#0000}.professional-experience-row-timeline-marker{z-index:1;border:var(--border-width-strong) solid var(--color-accent-active);background:var(--color-accent);border-radius:50%;justify-self:center;width:.85rem;height:.85rem;position:relative}.professional-experience-row-timeline-period,.professional-experience-row-details-period,.professional-experience-row-engagement-label,.professional-experience-row-location{font-family:var(--font-heading)}.professional-experience-row-timeline-period{gap:var(--space-nano);color:var(--color-accent-active);font-size:var(--font-size-nano);white-space:nowrap;align-content:center;line-height:1.1;display:grid}.professional-experience-row-timeline-copy{gap:var(--space-nano);min-width:0;display:grid}.professional-experience-row-timeline-company{gap:var(--space-small);min-width:0;padding:var(--space-small);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);background:0 0;align-items:center;display:flex}.professional-experience-row-timeline-company>svg{color:var(--color-accent-active);flex:none;align-self:center;margin-left:auto}.professional-experience-row-timeline-copy strong,.professional-experience-row-timeline-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.professional-experience-row-timeline-copy strong{font-family:var(--font-heading)}.professional-experience-row-timeline-copy small{color:var(--color-text-muted);font-size:var(--font-size-nano)}.professional-experience-row-timeline-item[aria-current=true] .professional-experience-row-timeline-company{border-color:var(--color-accent);background:0 0}.professional-experience-row-timeline-item[aria-current=true] .professional-experience-row-timeline-marker{border-color:var(--color-accent-contrast);background:var(--color-accent-contrast);box-shadow:0 0 0 var(--border-width-strong) var(--color-accent), 0 0 0 .45rem color-mix(in srgb, var(--color-accent) 42%, transparent)}.professional-experience-row-timeline-item[aria-current=true] .professional-experience-row-timeline-period,.professional-experience-row-timeline-item[aria-current=true] .professional-experience-row-timeline-copy small{color:var(--color-text-ice)}.professional-experience-row-company-logo{color:var(--color-accent-active);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);font-family:var(--font-heading);flex:none;place-items:center;display:grid;overflow:hidden}.professional-experience-row-company-logo-compact{width:1.5rem;height:1.5rem;font-size:var(--font-size-nano)}.professional-experience-row-company-logo-large{width:4rem;height:4rem}.professional-experience-row-company-logo img{object-fit:contain;width:100%;height:100%;display:block}.professional-experience-row-details{--color-text-primary:var(--color-text-inverse);--color-text-secondary:var(--color-text-ice);align-content:start;gap:var(--space-normal);padding:var(--space-normal);background:var(--color-surface-strong);display:grid}.professional-experience-row-details-header{gap:var(--space-small);padding-bottom:var(--space-small);border-bottom:var(--border-width-thin) solid var(--color-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.professional-experience-row-details-header .heading{color:var(--color-text-inverse);text-transform:uppercase}.professional-experience-row-details-header .text{margin-top:var(--space-nano);color:var(--color-accent)}.professional-experience-row-location{gap:var(--space-nano);color:var(--color-text-ice);font-size:var(--font-size-nano);align-items:center;display:inline-flex}.professional-experience-row-company-meta{gap:var(--space-small);margin-top:var(--space-small);flex-wrap:wrap;align-items:center;display:flex}.professional-experience-row-location svg{color:var(--color-accent)}.professional-experience-row-company-type{gap:var(--space-nano);color:var(--color-text-ice);font-family:var(--font-heading);font-size:var(--font-size-nano);align-items:center;display:inline-flex}.professional-experience-row-company-type svg{color:var(--color-accent)}.professional-experience-row-details-period{padding:var(--space-nano) var(--space-small);color:var(--color-text-ice);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-nano);white-space:nowrap;align-self:start}.professional-experience-row-details>.text{line-height:1.35}.professional-experience-row-engagements{gap:var(--space-small);padding:var(--space-small);display:grid}.professional-experience-row-engagements>.panel-frame{min-width:0}.professional-experience-row-engagement{--color-text-primary:var(--color-text);--color-text-secondary:var(--color-text-muted);gap:var(--space-small);padding:var(--space-small);color:var(--color-text);background:0 0;display:grid}.professional-experience-row-engagement-header{gap:var(--space-small);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.professional-experience-row-engagement-header .heading{text-transform:uppercase}.professional-experience-row-engagement-header .text{margin-top:var(--space-nano);font-family:var(--font-heading)}.professional-experience-row-engagement-meta{justify-items:end;gap:var(--space-nano);color:var(--color-text-muted);font-family:var(--font-heading);font-size:var(--font-size-nano);text-align:right;white-space:nowrap;display:grid}.professional-experience-row-engagement>.text{line-height:1.3}.professional-experience-row-engagement-section{gap:var(--space-small);padding-top:var(--space-small);border-top:var(--border-width-thin) solid var(--color-border);display:grid}.professional-experience-row-engagement-label{gap:var(--space-nano);color:var(--color-text);font-size:var(--font-size-nano);text-transform:uppercase;align-items:center;display:flex}.professional-experience-row-responsibilities{gap:var(--space-nano);padding-left:var(--space-normal);color:var(--color-text-muted);margin:0;display:grid}.professional-experience-row-engagement .technology-tags{margin:0}@media (width<=58rem){.professional-experience-row{grid-template-rows:minmax(13rem,.6fr) minmax(0,1.4fr);grid-template-columns:1fr}.professional-experience-row-timeline{border-right:0;border-bottom:var(--border-width-strong) solid var(--color-border)}}@media (width<=36rem){.professional-experience-row{height:34rem}.professional-experience-row-details-header{grid-template-columns:auto minmax(0,1fr)}.professional-experience-row-details-period{grid-column:1/-1}.professional-experience-row-engagement-header{grid-template-columns:auto minmax(0,1fr)}.professional-experience-row-engagement-meta{text-align:left;grid-column:1/-1;justify-items:start}}.about-me-card{--color-text-primary:var(--color-text-inverse);--color-text-secondary:var(--color-text-ice);isolation:isolate;min-height:24rem;display:grid;position:relative;overflow:hidden}.about-me-card:before{z-index:1;pointer-events:none;content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--color-surface-strong) 97%, transparent) 0%, color-mix(in srgb, var(--color-surface-strong) 91%, transparent) 42%, color-mix(in srgb, var(--color-surface-strong) 36%, transparent) 68%, transparent 100%);position:absolute;inset:0}.about-me-card-background{z-index:0;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.about-me-card-content{z-index:2;width:min(100%,31rem);padding:var(--space-big);align-content:center;display:grid;position:relative}.about-me-card-content .heading{margin-bottom:var(--space-normal);letter-spacing:.04em;text-transform:uppercase;font-size:3.5rem}.about-me-card-description{gap:var(--space-normal);display:grid}.about-me-card-description .text{font-size:clamp(var(--font-size-normal), 1.65vw, var(--font-size-big));line-height:1.35}.about-me-card-cursor{color:var(--color-text-primary);margin-left:.08em;animation:1s step-end infinite about-me-card-cursor-blink;display:inline-block}@keyframes about-me-card-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.about-me-card-cursor{animation:none}}@media (width<=42rem){.about-me-card{min-height:30rem}.about-me-card:before{background:color-mix(in srgb, var(--color-surface-strong) 84%, transparent)}}.profile-card{gap:var(--space-small);padding:var(--space-small);display:grid}.profile-card-photo-frame{padding:var(--space-nano);background:var(--color-surface-inset);border:var(--border-width-strong) solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);position:relative;overflow:hidden}.profile-card-photo{aspect-ratio:1/1.08;object-fit:cover;object-position:71% 32%;width:100%;display:block}.profile-card-photo-static{inset:var(--space-nano);width:calc(100% - (var(--space-nano) * 2));height:calc(100% - (var(--space-nano) * 2));object-fit:cover;opacity:.14;pointer-events:none;position:absolute}.profile-card-details{min-width:0}.profile-card-details .heading{color:var(--color-text-primary);font-size:var(--font-size-normal);letter-spacing:.02em;text-transform:uppercase}.profile-card-credential{color:var(--color-text-secondary);font:inherit;font-weight:var(--font-weight-normal)}.profile-card-separator{color:var(--color-focus);font:inherit}.profile-card-location{gap:var(--space-small);padding-top:var(--space-small);border-top:var(--border-width-thin) solid var(--color-border);align-items:center;display:flex}.profile-card-location svg{color:var(--color-accent-active);flex:none}.profile-card-location .text{font-family:var(--font-heading);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.profile-about-row .grid{align-items:stretch}.profile-about-row .grid-column,.profile-about-row .grid-column>.panel-frame{height:100%}.profile-about-row .profile-card,.profile-about-row .about-me-card{box-sizing:border-box;height:100%}.quick-info-row{min-height:2rem;padding:var(--space-nano) var(--space-small);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.quick-info-row-item{gap:var(--space-small);min-width:0;padding:var(--space-nano) var(--space-small);justify-content:center;align-items:center;display:flex}.quick-info-row-item+.quick-info-row-item{border-left:var(--border-width-thin) solid var(--color-border)}.quick-info-row-icon{color:var(--color-accent-active);flex:none}.quick-info-row-item .text{font-size:var(--font-size-normal);line-height:1.1}@media (width<=52rem){.quick-info-row{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-info-row-item+.quick-info-row-item{border-left:0}.quick-info-row-item:nth-child(3n+2),.quick-info-row-item:nth-child(3n+3){border-left:var(--border-width-thin) solid var(--color-border)}}@media (width<=34rem){.quick-info-row{grid-template-columns:1fr}.quick-info-row-item{justify-content:flex-start}.quick-info-row-item+.quick-info-row-item,.quick-info-row-item:nth-child(3n+2),.quick-info-row-item:nth-child(3n+3){border-top:var(--border-width-thin) solid var(--color-border);border-left:0}}.skills{padding:var(--space-small)}.skills-groups{gap:var(--space-small);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skills-group{border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}.skills-group .heading{gap:var(--space-nano);min-height:2rem;padding:0 var(--space-small);color:var(--color-text);border-bottom:var(--border-width-thin) solid var(--color-border);background:var(--color-surface-inset);font-size:var(--font-size-nano);text-transform:uppercase;align-items:center;display:flex}.skills-technologies{padding:var(--space-nano) var(--space-small);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.skills-technologies .technology-tag{min-height:1.75rem;padding:var(--space-nano) 0;border-bottom:var(--border-width-thin) solid var(--color-border);font-size:var(--font-size-nano);justify-content:flex-start}.skills-technologies .technology-tag:last-child{border-bottom:0}@media (width>=28.0625rem){.skills-technologies .technology-tag:last-child:nth-child(odd){grid-column:span 2}.skills-technologies .technology-tag:last-child:nth-child(2n),.skills-technologies .technology-tag:nth-last-child(2):nth-child(odd){border-bottom:0}}@media (width<=48rem){.skills-groups{grid-template-columns:1fr}}@media (width<=28rem){.skills-technologies{grid-template-columns:1fr}}.skills-row .grid{align-items:stretch}.skills-row .grid-column,.skills-row .panel-frame{height:100%}.portfolio-page{min-height:100%;padding:calc(var(--space-normal) + 2rem) var(--space-normal) var(--space-normal);background:var(--color-page)}.portfolio-page-content{width:min(100%, var(--layout-content-max));gap:var(--space-small);margin:0 auto;display:grid}.portfolio-page-language-toggle{z-index:10;top:var(--space-normal);right:max(var(--space-normal), calc((100vw - var(--layout-content-max)) / 2));padding:var(--space-nano) var(--space-small);color:var(--color-text);background:var(--color-surface-raised);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-sm);font:var(--font-weight-big) var(--font-size-nano) var(--font-heading);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;cursor:pointer;transition:padding .16s,font-size .16s,letter-spacing .16s,transform .16s;position:fixed}.portfolio-page-language-toggle-compact{letter-spacing:.08em;padding:.125rem .35rem;font-size:.7rem;transform:translate(-1.25rem)}.portfolio-page-language-toggle:hover{color:var(--color-accent-hover);border-color:var(--color-accent)}.portfolio-page-language-toggle:focus-visible{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:var(--space-nano)}@media (width<=40rem){.portfolio-page{padding:calc(var(--space-small) + 2rem) var(--space-small) var(--space-small)}.portfolio-page-language-toggle{top:var(--space-small);right:var(--space-small)}}.contact-links{padding:var(--space-small) var(--space-small)}.contact-links-list{margin:0;padding:0;list-style:none}.contact-links-item+.contact-links-item{border-top:var(--border-width-thin) solid var(--color-border)}.contact-links-item a{gap:var(--space-small);min-width:0;padding:var(--space-small) 0;color:inherit;align-items:center;text-decoration:none;display:flex}.contact-links-item a:focus-visible{outline:var(--border-width-strong) solid var(--color-focus);outline-offset:calc(var(--border-width-strong) * -1)}.contact-links-icon{width:2.5rem;height:2.5rem;color:var(--color-accent-active);flex:none;place-items:center;display:grid}.contact-links-icon svg{width:var(--icon-size-huge);height:var(--icon-size-huge)}.contact-links-content{gap:var(--space-nano);min-width:0;display:grid}.contact-links-content .heading{font-size:var(--font-size-big)}.contact-links-item a:hover .heading,.contact-links-item a:focus-visible .heading{color:var(--color-accent-active)}.education{padding:var(--space-small) var(--space-small)}.education-list{margin:0;padding:0;list-style:none}.education-item{gap:var(--space-small);min-width:0;padding:var(--space-small) 0;align-items:center;display:flex}.education-item+.education-item{border-top:var(--border-width-thin) solid var(--color-border)}.education-logo{object-fit:contain;flex:none;width:3.25rem;height:3.25rem;display:block}.education-content{gap:var(--space-nano);min-width:0;display:grid}.education-content .heading{font-size:var(--font-size-normal)}.education-content .text-meta{font-family:var(--font-heading)}.languages{padding:var(--space-small)}.languages-list{gap:var(--space-small);margin:0;padding:0;list-style:none;display:grid}.languages-item{gap:var(--space-small);align-items:center;min-width:0;display:flex}.languages-item>div{min-width:0}.languages-flag{border:var(--border-width-thin) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-inset);flex:none;justify-content:center;align-items:center;width:3rem;height:2.25rem;display:flex;overflow:hidden}.languages-flag-glyph{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:var(--font-size-huge);line-height:1;display:block;transform:translateY(1px)}.languages-item .heading{font-size:var(--font-size-big)}.languages-item .text{margin-top:var(--space-nano)}.contact-education-row .grid{align-items:stretch}.contact-education-row .grid-column,.contact-education-row .panel-frame{height:100%}
