@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.Ur3q_a_className{font-family:GeistSans,GeistSans Fallback}.Ur3q_a_variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.iaM1Ya_className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.iaM1Ya_variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#222;--surface:#2a2927;--surface-2:#34322f;--surface-3:#403d38;--panel:#302d29;--text:#fff;--muted:#a1a1aa;--faint:#827e76;--border:#8a857a57;--border-strong:#f3c27b6b;--accent:#f3c27b;--accent-deep:#4a3a1f;--accent-ink:#222;--shadow:0 26px 90px #18120a75;--radius:16px;--radius-small:8px;--page:min(1240px, calc(100vw - 48px));--sans:"Inter", var(--font-geist-sans), Arial, sans-serif;--mono:"JetBrains Mono", var(--font-geist-mono), "Courier New", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{--sans:"Inter", var(--font-geist-sans,Arial, sans-serif);--mono:"JetBrains Mono", var(--font-geist-mono,"Courier New", monospace);background:radial-gradient(circle at 12% 5%, #f3c27b17, transparent 28rem), radial-gradient(circle at 92% 38%, #4a3a1f33, transparent 32rem), var(--bg);color:var(--text);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}body.dialog-open,body.loader-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{color:inherit}img{max-width:100%;display:block}::selection{color:var(--accent-ink);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.portfolio-shell{width:100%;max-width:100%;overflow-x:clip}.site-loader{z-index:1000;color:#fff;background:#222;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.loader-core{justify-items:center;width:min(300px,100vw - 64px);display:grid;position:relative}.loader-logo{will-change:transform, opacity;width:150px;overflow:visible}.brand-mark__letter{fill:currentColor;transform-box:fill-box;transform-origin:50%;font-family:Times New Roman,Georgia,serif;font-size:56px;font-weight:600}.brand-mark__n{fill:var(--accent)}.loader-name{color:#fff;font-family:var(--mono);letter-spacing:.14em;will-change:transform, opacity;margin-top:14px;font-size:.86rem;font-weight:650}.loader-progress{will-change:opacity;background:#ffffff24;width:100%;height:1px;margin-top:28px;overflow:hidden}.loader-progress span{background:var(--accent);transform-origin:0;will-change:transform;width:100%;height:100%;display:block}.skip-link{z-index:100;border-radius:var(--radius-small);background:var(--accent);color:var(--accent-ink);padding:10px 14px;font-weight:750;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);height:64px;position:sticky;top:0}.site-header__inner{width:var(--page);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:100%;margin:0 auto;display:grid}.brand,.header-contact,.site-nav a{text-decoration:none}.brand{width:38px;display:block}.brand svg{width:100%;color:var(--text)}.brand .brand-mark__letter,.hero-monogram .brand-mark__letter{transition:transform .26s cubic-bezier(.22,1,.36,1)}.brand:hover .brand-mark__n,.hero-portrait:hover .brand-mark__n{transform:translateY(-2px)}.brand:hover .brand-mark__k,.hero-portrait:hover .brand-mark__k{transform:translateY(2px)}.site-nav{align-items:center;gap:28px;display:flex}.site-nav a{color:var(--muted);font-family:var(--mono);text-transform:lowercase;font-size:.72rem;font-weight:600;transition:color .16s}.site-nav a:before{content:"./";color:var(--faint)}.site-nav a:hover{color:var(--text)}.header-contact{border:1px solid var(--border);border-radius:var(--radius-small);justify-self:end;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:.78rem;font-weight:700;transition:border-color .16s,background .16s;display:inline-flex}.header-contact:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.profile-hero{width:var(--page);grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:center;gap:clamp(54px,8vw,128px);min-height:0;margin:0 auto;padding:clamp(48px,6vh,68px) 0 52px;display:grid;position:relative}.profile-hero__copy{z-index:2;position:relative}.hero-status{color:var(--muted);font-family:var(--mono);align-items:center;gap:9px;margin:0 0 24px;font-size:.74rem;display:flex}.hero-status span{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%}.profile-hero h1{max-width:1100px;font-family:var(--sans);letter-spacing:0;margin:0;font-size:clamp(2.8rem,5.4vw,5.4rem);font-weight:500;line-height:1.04}.profile-hero h1>span{max-width:860px;color:var(--muted);letter-spacing:0;margin-top:14px;font-size:.52em;font-weight:400;line-height:1.15;display:block}.hero-intro{max-width:680px;color:var(--muted);margin:28px 0 0;font-size:clamp(1.02rem,1.35vw,1.22rem)}.hero-intro em{font-style:italic}.hero-location{color:var(--faint);font-family:var(--mono);align-items:center;gap:8px;margin-top:18px;font-size:.76rem;display:flex}.hero-location svg{color:var(--accent)}.hero-actions,.contact-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.button,.icon-button{border:1px solid var(--border-strong);border-radius:var(--radius-small);color:var(--text);background:0 0;justify-content:center;align-items:center;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button{gap:9px;min-height:48px;padding:0 18px;font-size:.86rem;font-weight:730}.icon-button{width:48px;height:48px}.button:hover,.icon-button:hover{border-color:var(--accent);transform:translateY(-2px)}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.hero-portrait{min-height:450px;position:relative}.hero-portrait:before{content:"";border:1px solid var(--border);background:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px), color-mix(in srgb, var(--surface) 84%, transparent);background-size:28px 28px;border-radius:46% 46% 18% 18%;position:absolute;inset:10% 2% 7% 12%}.hero-portrait__image{z-index:2;aspect-ratio:1;border:1px solid var(--border-strong);background:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 10%, transparent), transparent 62%), var(--surface-2);width:min(74%,330px);box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:absolute;top:6%;left:50%;overflow:hidden;transform:translate(-50%)}.hero-monogram{width:58%;color:var(--text);transition:transform .5s cubic-bezier(.22,1,.36,1);overflow:visible}.hero-portrait:hover .hero-monogram{transform:scale(1.035)}.hero-portrait__note{z-index:3;border:1px solid var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 92%, transparent);width:min(100%,360px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--muted);grid-template-columns:auto 1fr;gap:13px;padding:18px;font-size:.83rem;display:grid;position:absolute;bottom:5%;right:0}.hero-portrait__note svg{color:var(--accent);font-size:25px}.hero-portrait__note strong{color:var(--text);display:block}.project-library,.profile-section,.contact-section{width:var(--page);border-bottom:1px solid var(--border);margin:0 auto;padding:82px 0;position:relative}.project-library{padding-top:26px}.anchor-target{position:absolute;inset:0 auto auto 0}.library-heading,.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-bottom:34px;display:grid}.section-label,.section-heading>p,.contact-copy>p,.panel-code{color:var(--accent);font-family:var(--mono);margin:0 0 10px;font-size:.72rem;font-weight:600}.library-heading h2,.section-heading h2,.contact-copy h2{font-family:var(--sans);letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,3.45rem);font-weight:500;line-height:1.04}.library-heading__copy>p:last-child,.section-heading>span,.contact-copy>span{max-width:610px;color:var(--muted);margin-top:12px;display:block}.library-tabs{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:4px;padding:4px;display:flex}.library-tab{min-height:42px;color:var(--muted);cursor:pointer;font-family:var(--mono);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.75rem;font-weight:600;transition:color .16s,background .16s;display:inline-flex}.library-tab[aria-selected=true]{background:var(--surface-3);color:var(--text)}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;align-items:stretch;gap:14px;display:grid}.project-grid-apps{grid-template-columns:repeat(4,minmax(0,1fr))}.project-tile{--surface:#302d29;--surface-2:#3a3631;--surface-3:#26231f;--text:#f7f4ee;--muted:#c7c0b6;--faint:#958c7f;--border:#f3c27b2e;--border-strong:#f3c27b57;--accent:#f3c27b;--accent-ink:#222;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;height:100%;color:var(--text);text-align:left;cursor:pointer;grid-template-rows:auto 1fr;padding:0;transition:transform .23s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #0f0b0757}.project-tile:hover{transform:translateY(-5px)}.project-tile:after{content:"";z-index:6;border:2px solid color-mix(in srgb, var(--accent) 62%, transparent);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .23s;position:absolute;inset:-1px}.project-tile:hover:after{opacity:1}.project-tile__image{aspect-ratio:16/11;background:var(--surface-2);width:100%;display:block;position:relative;overflow:hidden}.project-tile__image:after{content:"";border-bottom:1px solid var(--border);pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 -42px 58px #0000001a}.project-tile__image:before{content:"";z-index:1;background:var(--accent);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.project-tile__image img{object-fit:cover;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-tile:hover .project-tile__image img{transform:scale(1.06)}.project-tile:hover .project-tile__image:before{opacity:.055}.project-tile__body{flex-direction:column;height:282px;padding:20px;display:flex}.project-badge{z-index:3;border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--surface) 82%, transparent);width:max-content;max-width:100%;color:var(--accent);font-family:var(--mono);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:5px;margin:0;padding:6px 8px;font-size:.61rem;font-weight:700;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 5px 18px #0000003d}.project-badge--influencer-x,.project-badge--rage-bait-vr,.project-badge--interanao,.project-badge--the-horde{background:color-mix(in srgb, var(--accent) 86%, transparent);color:var(--accent-ink)}.project-tile h3{min-height:2.25em;font-family:var(--sans);letter-spacing:-.02em;margin:0;font-size:1.08rem;font-weight:650}.project-tile__meta{border-bottom:1px solid var(--border);justify-content:flex-start;align-items:center;gap:12px;margin-top:10px;padding-bottom:13px;display:flex}.project-tile__meta small{min-width:0;color:var(--faint);font-family:var(--mono);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.63rem;overflow:hidden}.project-tile p{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;text-align:justify;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:13px 0 16px;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.project-tile__tags{flex-wrap:wrap;gap:5px;margin:0 0 18px;display:flex}.project-tile__tags small{border:1px solid var(--border);color:var(--muted);font-family:var(--mono);border-radius:4px;padding:4px 6px;font-size:.57rem}.project-tile__open{color:var(--text);font-family:var(--mono);align-items:center;gap:7px;margin-top:auto;font-size:.7rem;font-weight:600;display:inline-flex}.project-tile__open svg{color:var(--accent)}.project-dialog{width:min(1220px,100vw - 150px);max-width:none;max-height:min(92dvh,850px);color:var(--text);box-shadow:none;background:0 0;border:0;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.project-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14120fd6}.project-dialog[open]{animation:.26s cubic-bezier(.22,1,.36,1) dialog-in}.dialog-panel{--surface:#302d29;--surface-2:#3a3631;--surface-3:#26231f;--text:#f7f4ee;--muted:#c7c0b6;--faint:#958c7f;--border:#f3c27b2e;--border-strong:#f3c27b57;--accent:#f3c27b;--accent-ink:#222;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:min(78dvh,720px);color:var(--text);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.58fr) minmax(370px,.72fr);display:grid;overflow:hidden}.dialog-gallery{background:#18181b;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.dialog-gallery>img{object-fit:contain;width:100%;height:100%;animation:.32s both image-in}.dialog-gallery.is-portrait>img{padding:26px}.gallery-arrow,.dialog-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181bd6;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:transform .18s,background .18s,border-color .18s;display:grid}.gallery-arrow{z-index:4;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow:hover{background:#f3c27b2e;border-color:#f3c27b;transform:translateY(-50%)scale(1.08)}.gallery-arrow--previous{left:22px}.gallery-arrow--next{right:22px}.gallery-counter{z-index:4;color:#fff;min-width:64px;min-height:36px;font-family:var(--mono);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181bdb;border:1px solid #ffffff38;border-radius:999px;place-items:center;padding:0 12px;font-size:.72rem;font-weight:650;display:grid;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.dialog-copy{min-width:0;padding:72px 44px 44px;overflow-y:auto}.dialog-close{z-index:6;border-color:var(--border);border-radius:var(--radius-small);background:var(--surface-2);color:var(--text);position:absolute;top:18px;right:18px}.dialog-close:hover{border-color:var(--accent);transform:rotate(5deg)}.dialog-type{color:var(--accent);font-family:var(--mono);text-transform:uppercase;margin:0;font-size:.67rem;font-weight:650}.dialog-copy h2{font-family:var(--sans);letter-spacing:-.025em;overflow-wrap:anywhere;margin:11px 0 0;font-size:clamp(1.9rem,3vw,2.65rem);font-weight:650;line-height:1}.dialog-summary{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;text-align:justify;margin:24px 0 0;font-size:1.02rem;line-height:1.65}.dialog-copy h3{font-family:var(--mono);text-transform:uppercase;margin:32px 0 9px;font-size:.7rem}.dialog-copy h3+p{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;text-align:justify;margin:0;font-size:.91rem;line-height:1.65}.tech-list{flex-wrap:wrap;gap:7px;margin:28px 0 0;padding:0;list-style:none;display:flex}.tech-list li{border:1px solid var(--border);color:var(--muted);font-family:var(--mono);border-radius:6px;padding:6px 9px;font-size:.68rem}.dialog-actions{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.dialog-link{margin-top:0}.project-switch{z-index:8;border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--surface) 88%, transparent);width:48px;height:48px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;place-items:center;padding:0;transition:border-color .16s,background .16s,color .16s,transform .16s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 28px #0000004d}.project-switch:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);transform:translateY(-50%)scale(1.08)}.project-switch--previous{left:-64px}.project-switch--next{right:-64px}.section-heading{grid-template-columns:minmax(0,.8fr) minmax(360px,.4fr)}.section-heading>span{justify-self:end;margin:0}.profile-section .section-heading{display:block}.profile-section .section-heading>span{justify-self:auto;max-width:720px;margin-top:12px}.profile-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:12px;display:grid}.profile-panel{--surface:#302d29;--surface-2:#3a3631;--surface-3:#26231f;--text:#f7f4ee;--muted:#c7c0b6;--faint:#958c7f;--border:#f3c27b2e;--border-strong:#f3c27b57;--accent:#f3c27b;--accent-ink:#222;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 14px 34px #0f0b074d}.profile-panel>svg,.panel-heading>svg{color:var(--accent);flex:none;font-size:28px}.profile-panel h3,.profile-panel h4,.profile-panel p{margin:0}.profile-panel h3,.skill-group h4{font-family:var(--sans);letter-spacing:-.02em}.profile-panel--story{flex-direction:column;grid-area:span 2/span 5;min-height:448px;padding:30px;display:flex}.profile-panel--story h3{margin-top:22px;font-size:1.55rem}.profile-panel--story>svg{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:8px;width:48px;height:48px;padding:10px}.profile-panel--story>p{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;text-align:justify;margin-top:14px;font-size:.91rem}.profile-panel__links{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.profile-panel__links a{border:1px solid var(--border);min-height:38px;font-family:var(--mono);border-radius:7px;align-items:center;gap:7px;padding:0 11px;font-size:.68rem;text-decoration:none;transition:border-color .16s,background .16s;display:inline-flex}.profile-panel__links a:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.profile-panel--skills{grid-area:span 2/span 7;min-height:448px;padding:30px}.panel-heading{align-items:flex-start;gap:13px;display:flex}.panel-heading h3{font-size:1.15rem}.panel-heading p{color:var(--muted);margin-top:3px;font-size:.8rem}.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:29px;display:grid}.skill-group h4{border-bottom:1px solid var(--border);align-items:center;gap:7px;margin:0 0 13px;padding-bottom:11px;font-size:.76rem;display:flex}.skill-group h4 svg{color:var(--accent)}.skill-tags{flex-wrap:wrap;gap:7px;display:flex}.skill-tags span{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-family:var(--mono);border-radius:5px;padding:7px 9px;font-size:.66rem;transition:border-color .16s,color .16s}.skill-tags span:hover{border-color:var(--accent);color:var(--text)}.profile-panel--experience,.profile-panel--education{grid-column:span 6;grid-template-columns:auto 1fr;gap:18px;min-height:210px;padding:27px;display:grid}.panel-code{margin-bottom:8px}.panel-title-line{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.panel-title-line .panel-code{margin:0}.panel-title-line>strong{border:1px solid var(--border);color:var(--accent);font-family:var(--mono);text-transform:uppercase;border-radius:5px;padding:5px 8px;font-size:.64rem}.profile-panel--experience h3,.profile-panel--education h3{font-size:1.05rem}.profile-panel--experience div>p:last-child,.profile-panel--education div>p:last-child{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;text-align:justify;margin-top:10px;font-size:.85rem}.degree-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:0;margin-top:15px;display:grid}.degree-list>div{grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);align-items:center;gap:14px;padding:11px 0;display:grid}.degree-list>div+div{border-top:1px solid var(--border)}.degree-list strong,.degree-list span{display:block}.degree-list strong{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent);width:max-content;color:var(--accent);font-family:var(--mono);text-transform:uppercase;border-radius:5px;padding:5px 7px;font-size:.72rem}.degree-list span{color:var(--muted);margin-top:0;font-size:.72rem;line-height:1.4}.profile-panel--languages{grid-column:span 12;padding:28px}.language-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:24px;display:grid}.language-list>div{border-left:1px solid var(--border);flex-direction:column;gap:7px;min-height:112px;padding:0 24px;display:flex}.language-list>div:first-child{border-left:0;padding-left:0}.language-list strong{font-family:var(--mono);font-size:.92rem}.language-list span{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;text-align:justify;font-size:.81rem}.contact-section{border-bottom:0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:44px;display:grid}.contact-copy h2{max-width:790px}.contact-actions{justify-content:flex-end;margin:0}.footer-meta{border-top:1px solid var(--border);color:var(--faint);font-family:var(--mono);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;margin-top:26px;padding-top:18px;font-size:.66rem;display:flex}@keyframes dialog-in{0%{opacity:0;transform:scale(.975)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes image-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media (max-width:1050px){.profile-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:42px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-groups{grid-template-columns:1fr;gap:14px}.profile-panel--story,.profile-panel--skills{min-height:610px}.dialog-panel{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}.project-dialog{width:calc(100vw - 100px)}.project-switch{width:36px;height:36px}.project-switch--previous{left:-46px}.project-switch--next{right:-46px}}@media (max-width:760px){:root{--page:min(100% - 32px, 620px)}.site-header{height:58px}.site-header__inner{grid-template-columns:1fr auto}.site-nav{display:none}.profile-hero{grid-template-columns:1fr;gap:34px;min-height:0;padding:42px 0 64px}.profile-hero h1{font-size:clamp(2.75rem,13.4vw,4.25rem)}.hero-portrait{min-height:335px}.hero-portrait__image{width:min(65%,250px)}.hero-portrait__note{width:min(86%,340px);right:2%}.project-library,.profile-section,.contact-section{padding:62px 0}.project-library{padding-top:24px}.library-heading,.section-heading,.contact-section{grid-template-columns:1fr;align-items:start;gap:24px}.section-heading>span{justify-self:start}.library-tabs{width:100%}.library-tab{flex:1}.dialog-panel{grid-template-rows:minmax(260px,44dvh) auto;grid-template-columns:1fr;min-height:0;max-height:92dvh;overflow-y:auto}.project-dialog{width:calc(100vw - 72px)}.project-switch{width:32px;height:32px}.project-switch--previous{left:-34px}.project-switch--next{right:-34px}.dialog-copy{padding:58px 28px 34px;overflow:visible}.gallery-arrow--previous{left:14px}.gallery-arrow--next{right:14px}.gallery-counter{bottom:14px}.profile-panel--story,.profile-panel--skills,.profile-panel--experience,.profile-panel--education,.profile-panel--languages{grid-area:auto/span 12;min-height:0}.profile-panel--story,.profile-panel--skills{padding:24px}.profile-panel--story h3{margin-top:18px}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.language-list{grid-template-columns:1fr}.language-list>div,.language-list>div:first-child{border-top:1px solid var(--border);border-left:0;min-height:0;padding:16px 0}.contact-actions{justify-content:flex-start}}@media (max-width:500px){.header-contact span{display:none}.header-contact{justify-content:center;width:38px;padding:0}.hero-actions .button{flex:auto}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-tile__body{height:192px;padding:13px}.project-tile h3{min-height:2.25em;font-size:.88rem}.project-tile__meta{margin-top:7px;padding-bottom:9px}.project-tile__meta small:last-child,.project-tile p{display:none}.project-tile__open{font-size:.62rem}.project-badge{margin-bottom:10px;font-size:.52rem}.project-tile__tags{margin-bottom:12px}.project-tile__tags small:nth-child(n+3){display:none}.skill-groups{grid-template-columns:1fr}.profile-panel--experience,.profile-panel--education{padding:22px}.contact-actions .button{flex:130px}.footer-meta{flex-direction:column;align-items:flex-start;gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button,.icon-button,.header-contact,.site-nav a,.library-tab,.project-tile,.gallery-arrow,.dialog-close,.project-switch,.profile-panel__links a,.skill-tags span{transition:color .12s,background-color .12s,border-color .12s!important}.button:hover,.icon-button:hover,.project-tile:hover,.gallery-arrow:hover,.dialog-close:hover,.project-switch:hover,.brand:hover .brand-mark__letter,.hero-portrait:hover .brand-mark__letter,.hero-portrait:hover .hero-monogram,.project-tile:hover .project-tile__image img{transform:none!important}.project-dialog[open],.dialog-gallery>img{animation:.12s both reduced-fade!important}}@keyframes reduced-fade{0%{opacity:0}to{opacity:1}}
