@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0}img,picture,svg,video{max-width:100%;display:block}button,input,select{font:inherit}a{color:inherit}[hidden]{display:none!important}}@layer tokens{:root{--font-body:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Space Grotesk Variable", "Inter Variable", ui-sans-serif, system-ui, sans-serif;--bg:#f6f8fb;--bg-elevated:#fff;--bg-soft:#edf2f8;--bg-inverse:#07111f;--text:#102037;--text-soft:#53647a;--text-faint:#758399;--line:#d8e0ea;--line-strong:#bdc9d8;--primary:#1f66f2;--primary-strong:#134bc0;--primary-soft:#e8f0ff;--teal:#087e74;--teal-bright:#18a998;--teal-soft:#e3f6f2;--coral:#cf6848;--gold:#a66a0a;--focus:#f1a627;--shadow-sm:0 8px 24px #10203712;--shadow-md:0 20px 56px #1020371c;--shadow-lg:0 36px 90px #0a1b3129;--radius-sm:.65rem;--radius:1rem;--radius-lg:1.5rem;--shell:74rem;--header-height:4.75rem}:root[data-theme=dark]{--bg:#07111f;--bg-elevated:#0d1a2a;--bg-soft:#122236;--bg-inverse:#f5f8fc;--text:#eff5fb;--text-soft:#b1c0d1;--text-faint:#8294aa;--line:#22364c;--line-strong:#36516b;--primary:#71a2ff;--primary-strong:#a9c6ff;--primary-soft:#122b51;--teal:#62d6c8;--teal-bright:#75e8d9;--teal-soft:#0d3738;--coral:#f09a78;--gold:#f0c56e;--focus:#ffd166;--shadow-sm:0 10px 30px #0000002e;--shadow-md:0 22px 62px #00000047;--shadow-lg:0 38px 100px #0000005c}}@layer base{body{min-width:20rem;min-height:100vh;color:var(--text);background:radial-gradient(circle at 82% 2%, #1f66f217, transparent 28rem), radial-gradient(circle at 8% 38%, #18a9980f, transparent 30rem), var(--bg);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.65}body:before{z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(#1f66f207 1px,#0000 1px),linear-gradient(90deg,#1f66f207 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;mask-image:linear-gradient(#000,#0000 80%)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.035em;font-weight:650;line-height:1.08}p{color:var(--text-soft)}::selection{color:#fff;background:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}section[id]{scroll-margin-top:6rem}}@layer components{.shell{width:min(calc(100% - 2.5rem), var(--shell));margin-inline:auto}.skip-link{z-index:200;border-radius:var(--radius-sm);color:#fff;background:#07111f;padding:.65rem .9rem;font-weight:750;text-decoration:none;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;min-height:var(--header-height);border-bottom:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(20px)saturate(150%);position:sticky;top:0}.header-inner{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:2rem;display:flex}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:-.02em;flex:none;align-items:center;gap:.7rem;font-weight:680;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;letter-spacing:-.04em;background:linear-gradient(140deg,#2e78ff,#16a99a);border-radius:.7rem;place-items:center;width:2.25rem;height:2.25rem;font-size:.72rem;display:inline-grid;box-shadow:0 8px 18px #1f66f23d}.desktop-nav{align-items:center;gap:.2rem;margin-left:auto;display:flex}.desktop-nav a{color:var(--text-soft);border-radius:.55rem;padding:.55rem .75rem;font-size:.88rem;font-weight:650;text-decoration:none;transition:color .15s,background .15s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--text);background:var(--bg-soft)}.header-actions{align-items:center;gap:.55rem;display:flex}.icon-button{border:1px solid var(--line);width:2.7rem;height:2.7rem;color:var(--text-soft);background:var(--bg-elevated);cursor:pointer;border-radius:.72rem;place-items:center;transition:transform .15s,color .15s,border-color .15s;display:inline-grid}.icon-button:hover{border-color:var(--line-strong);color:var(--text);transform:translateY(-1px)}.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}.menu-toggle,.menu-close,.menu-toggle[aria-expanded=true] .menu-open{display:none}.menu-toggle[aria-expanded=true] .menu-close{display:block}.mobile-nav{width:min(calc(100% - 2.5rem), var(--shell));border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-md);margin:0 auto 1rem;padding:.7rem}.mobile-nav a{color:var(--text-soft);border-radius:.6rem;padding:.8rem .9rem;font-weight:680;text-decoration:none;display:block}.mobile-nav a:hover{color:var(--text);background:var(--bg-soft)}.button{color:#fff;background:var(--primary);border:1px solid #0000;border-radius:.72rem;justify-content:center;align-items:center;gap:.55rem;min-height:3.1rem;padding:.7rem 1.05rem;font-weight:720;line-height:1;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 10px 24px #1f66f233}.button:hover{background:color-mix(in srgb, var(--primary) 88%, #07111f);transform:translateY(-2px);box-shadow:0 14px 32px #1f66f245}:root[data-theme=dark] .button{color:#07111f}.button-secondary{color:var(--text);border-color:var(--line-strong);background:var(--bg-elevated);box-shadow:none}:root[data-theme=dark] .button-secondary{color:var(--text)}.button-secondary:hover{background:var(--bg-soft);box-shadow:var(--shadow-sm)}.button-small{min-height:2.7rem;padding-inline:.95rem;font-size:.88rem}.text-link{color:var(--primary-strong);align-items:center;gap:.45rem;font-weight:720;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--teal)}.eyebrow{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.78rem;font-weight:800;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:999px;width:1.5rem;height:2px}.section{padding-block:clamp(4.5rem,8vw,7.5rem)}.section-compact{padding-block:clamp(3.5rem,6vw,5.5rem)}.section-header{grid-template-columns:minmax(0,1fr) minmax(17rem,31rem);align-items:end;gap:2rem;margin-bottom:2.2rem;display:grid}.section-header h2,.page-heading h1{margin-top:.75rem;font-size:clamp(2.25rem,5vw,4.25rem)}.section-header>p{justify-self:end;max-width:31rem;font-size:1.03rem}.hero{min-height:calc(100svh - var(--header-height));align-items:center;padding-block:clamp(3.5rem,8vw,7.5rem);display:grid}.hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(22rem,.94fr);align-items:center;gap:clamp(2.5rem,7vw,6rem);display:grid}.hero-profile{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.hero-profile picture,.hero-profile img{border-radius:50%;flex:none;width:3rem;height:3rem}.hero-profile img{border:2px solid var(--bg-elevated);object-fit:cover;box-shadow:0 0 0 1px var(--line), var(--shadow-sm)}.hero-profile-copy{gap:.05rem;display:grid}.hero-profile-copy strong{font-family:var(--font-display);font-size:.95rem}.hero-profile-copy span{color:var(--text-faint);font-size:.8rem;font-weight:600}.hero h1{letter-spacing:-.062em;max-width:12ch;margin-top:1rem;font-size:clamp(3.25rem,7vw,6.7rem);line-height:.96}.hero h1 .accent{color:#0000;background:linear-gradient(100deg, var(--primary) 5%, var(--teal-bright) 92%);background-clip:text;display:block}.hero-summary{max-width:42rem;margin-top:1.55rem;font-size:clamp(1.05rem,2vw,1.24rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;display:flex}.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:2.25rem;display:grid}.proof-item{border-left:2px solid var(--line-strong);padding:.9rem 1rem}.proof-item:first-child{border-left-color:var(--primary)}.proof-item strong,.proof-item span{display:block}.proof-item strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.02rem}.proof-item span{color:var(--text-faint);margin-top:.25rem;font-size:.74rem;font-weight:620;line-height:1.4}.hero-system-panel{border:1px solid var(--line);background:linear-gradient(145deg, #2e78ff14, #18a99808 46%, transparent 68%), var(--bg-elevated);min-height:34rem;box-shadow:var(--shadow-lg);border-radius:1.8rem;position:relative;overflow:hidden}.system-panel-top{border-bottom:1px solid var(--line);color:var(--text-faint);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:1.15rem 1.25rem;font-size:.7rem;font-weight:800;display:flex}.system-panel-status{color:var(--teal);align-items:center;gap:.45rem;display:inline-flex}.system-panel-status:before{background:var(--teal-bright);content:"";border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 0 5px #18a9981c}.system-map{min-height:26rem;margin:1.5rem;position:relative}.system-map:before,.system-map:after{border:1px dashed color-mix(in srgb, var(--primary) 35%, transparent);content:"";border-radius:50%;position:absolute}.system-map:before{inset:8% 14%}.system-map:after{border-color:color-mix(in srgb, var(--teal) 38%, transparent);inset:23% 28%}.system-core,.system-node{z-index:2;border:1px solid var(--line);background:var(--bg-elevated);box-shadow:var(--shadow-sm);place-items:center;display:grid;position:absolute}.system-core{text-align:center;border-radius:50%;width:8.8rem;height:8.8rem;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.system-core:before{z-index:-1;border:1px solid color-mix(in srgb, var(--primary) 45%, transparent);border-radius:inherit;content:"";position:absolute;inset:-.55rem}.system-core strong,.system-core span,.system-node strong,.system-node span{display:block}.system-core strong{color:var(--primary-strong);font-family:var(--font-display);font-size:1.05rem}.system-core span{color:var(--text-faint);margin-top:.18rem;font-size:.65rem;font-weight:700}.system-node{border-radius:var(--radius);width:8rem;min-height:4.6rem;padding:.7rem}.system-node strong{font-family:var(--font-display);font-size:.82rem}.system-node span{color:var(--text-faint);margin-top:.16rem;font-size:.63rem;line-height:1.35}.node-data{top:2%;left:50%;transform:translate(-50%)}.node-train{top:38%;right:0}.node-deploy{bottom:2%;left:50%;transform:translate(-50%)}.node-monitor{top:38%;left:0}.system-panel-footer{border-top:1px solid var(--line);color:var(--text-faint);justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.72rem;font-weight:680;display:flex}.system-panel-footer strong{color:var(--text)}.demo-showcase{position:relative;overflow:hidden}.demo-showcase:before{z-index:-1;content:"";filter:blur(12px);background:radial-gradient(circle,#2e78ff14,#0000 68%);border-radius:50%;width:min(80vw,70rem);height:26rem;position:absolute;top:8rem;left:50%;transform:translate(-50%)}.demo-showcase-header{margin-bottom:1.6rem}.demo-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.demo-showcase-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-elevated);min-width:0;box-shadow:var(--shadow-sm);padding:1rem}.demo-showcase-card-header{flex-direction:column;align-items:flex-start;gap:.45rem;min-height:9rem;padding:.2rem .15rem 1rem;display:flex}.demo-showcase-card-header>div>span{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:780}.demo-showcase-card h3{margin-top:.35rem;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.25}.demo-showcase-card h3 a{text-decoration-color:color-mix(in srgb, currentColor 32%, transparent);text-underline-offset:.2em}.demo-case-link{color:var(--primary-strong);align-items:center;gap:.35rem;margin-top:auto;font-size:.72rem;font-weight:750;text-decoration:none;display:inline-flex}.demo-case-link:hover{color:var(--teal)}.demo-showcase-card .media-item{box-shadow:none;background:0 0;border:0;border-radius:0}.demo-showcase-card .media-stage{border-radius:.9rem}.demo-showcase-card .media-item figcaption{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.55rem;min-height:5.6rem;padding:.8rem .15rem .1rem}.demo-showcase-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.35rem;padding-top:1.35rem;display:flex}.demo-showcase-footer p{font-size:.9rem}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-elevated);min-width:0;box-shadow:var(--shadow-sm);opacity:1;position:relative}.project-card-link{border-radius:inherit;height:100%;color:inherit;grid-template-rows:auto 1fr;text-decoration:none;display:grid;overflow:hidden}.project-card-link:after{border-radius:inherit;pointer-events:none;content:"";border:1px solid #0000;transition:border-color .18s,box-shadow .18s;position:absolute;inset:-1px}.project-card:hover .project-card-link:after{border-color:color-mix(in srgb, var(--primary) 58%, transparent);box-shadow:var(--shadow-md)}.project-visual{color:#7eacff;background:radial-gradient(circle at 75% 20%,#4d88ff42,#0000 15rem),linear-gradient(145deg,#09172a,#102743 55%,#0d363b);min-height:17rem;position:relative;overflow:hidden}.project-visual:before{content:"";background-image:linear-gradient(#6ce8db13 1px,#0000 1px),linear-gradient(90deg,#6ce8db13 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.project-visual.compact{min-height:11.5rem}.project-visual svg{width:100%;height:100%;position:absolute;inset:0}.project-visual text{fill:#c4d7efa3;font-family:var(--font-body);letter-spacing:2px;font-size:11px;font-weight:700}.visual-grid,.depth-rays,.system-orbits{fill:none;stroke:#84b4ff52;stroke-width:1.4px}.visual-track{fill:none;stroke:#69e5d6;stroke-width:3px;stroke-dasharray:7 7}.visual-points,.point-cloud{fill:#6de8db}.visual-boxes{fill:#2e78ff14;stroke:#7eacff;stroke-width:2px}.robot-grid{stroke:#69e5d629}.robot-body{fill:#2e78ff21;stroke:#86b1ff;stroke-width:4px}.pipeline-lines{fill:none;stroke:#69e5d6;stroke-width:3px}.pipeline-nodes rect,.data-stack rect{fill:#09172ac7;stroke:#7eacff9e;stroke-width:2px}.pipeline-nodes circle{fill:#69e5d624;stroke:#69e5d6;stroke-width:2px}.pipeline-nodes path{stroke:#c4d7ef6b;stroke-width:2px}.depth-camera{fill:#2e78ff1f;stroke:#7eacff;stroke-width:2px}.visual-system{background:linear-gradient(145deg,#09172a,#132d4e)}.project-card-body{flex-direction:column;padding:clamp(1.15rem,3vw,1.55rem);display:flex}.project-card-meta{color:var(--text-faint);flex-wrap:wrap;gap:.4rem;font-size:.74rem;font-weight:680;display:flex}.project-card h3{letter-spacing:-.025em;margin-top:.65rem;font-size:clamp(1.22rem,2vw,1.55rem)}.project-card-title{align-items:flex-start;gap:.55rem;display:flex}.project-card-title>span:first-child{min-width:0}.media-indicators{flex:none;align-items:center;gap:.28rem;display:inline-flex}.media-indicator{border:1px solid color-mix(in srgb, var(--primary) 25%, var(--line));width:1.65rem;height:1.65rem;color:var(--primary-strong);background:var(--primary-soft);border-radius:50%;place-items:center;display:inline-grid;box-shadow:0 6px 14px #1f66f21a}.media-indicator-video{border-color:color-mix(in srgb, var(--teal) 30%, var(--line));color:var(--teal);background:var(--teal-soft)}.project-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.75rem;font-size:.91rem;line-height:1.62;display:-webkit-box;overflow:hidden}.project-card-footer{justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:auto;padding-top:1.1rem;display:flex}.tag-list{flex-wrap:wrap;gap:.38rem;list-style:none;display:flex}.tag-list li,.tag{border:1px solid color-mix(in srgb, var(--teal) 24%, var(--line));color:var(--teal);background:color-mix(in srgb, var(--teal-soft) 68%, transparent);border-radius:999px;padding:.25rem .52rem;font-size:.66rem;font-weight:750;line-height:1.35}.card-arrow{border:1px solid var(--line);width:2.35rem;height:2.35rem;color:var(--primary-strong);border-radius:50%;flex:none;place-items:center;transition:transform .18s,color .18s,border-color .18s;display:grid}.project-card:hover .card-arrow{border-color:var(--primary);color:var(--primary);transform:translate(3px)}.work-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.35rem;padding-top:1.35rem;display:flex}.work-footer p{font-size:.9rem}.experience-layout{grid-template-columns:minmax(15rem,.34fr) minmax(0,.66fr);gap:clamp(2rem,7vw,6rem);display:grid}.experience-intro{align-self:start;position:sticky;top:7.5rem}.experience-intro h2{margin-top:.75rem;font-size:clamp(2.3rem,4.5vw,4rem)}.experience-intro p{margin-top:1.1rem}.experience-list{display:grid;position:relative}.experience-list:before{background:linear-gradient(var(--primary), var(--teal), var(--line));content:"";width:1px;position:absolute;top:1.5rem;bottom:1.5rem;left:1.55rem}.experience-item{grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;padding-block:0 1.45rem;display:grid;position:relative}.experience-logo,.education-logo{z-index:2;border:1px solid var(--line);width:3.2rem;height:3.2rem;box-shadow:var(--shadow-sm);background:#fff;border-radius:.85rem;place-items:center;display:grid;position:relative;overflow:hidden}.experience-logo img,.education-logo img{object-fit:contain;width:100%;height:100%}.experience-logo-fallback{color:#52677f;font-family:var(--font-display);font-size:.78rem;font-weight:800}.experience-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);padding:1.2rem 1.3rem}.experience-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.experience-card h3{font-size:1.12rem}.experience-role{color:var(--primary-strong);margin-top:.15rem;font-size:.82rem;font-weight:720}.experience-period{color:var(--text-faint);flex:none;font-size:.73rem;font-weight:680}.experience-summary{margin-top:.7rem;font-size:.9rem}.experience-highlights{flex-wrap:wrap;gap:.45rem 1rem;margin-top:.85rem;list-style:none;display:flex}.experience-highlights li{color:var(--text-soft);padding-left:.8rem;font-size:.74rem;font-weight:650;position:relative}.experience-highlights li:before{background:var(--teal);content:"";border-radius:50%;width:.3rem;height:.3rem;position:absolute;top:.58em;left:0}.experience-toggle{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;margin-left:4.2rem;padding:.45rem 0;font-size:.82rem;font-weight:720;transition:gap .18s,color .18s;display:inline-flex}.experience-toggle:hover{color:var(--teal);gap:.65rem}.experience-toggle .icon{transition:transform .18s}.experience-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.capability-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.capability-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);padding:1.25rem}.capability-icon{width:2.8rem;height:2.8rem;color:var(--primary-strong);background:var(--primary-soft);border-radius:.8rem;place-items:center;display:grid}.capability-card:nth-child(2n) .capability-icon{color:var(--teal);background:var(--teal-soft)}.capability-card h3{margin-top:1rem;font-size:1.05rem}.capability-card>p{margin-top:.55rem;font-size:.82rem;line-height:1.6}.capability-skills{gap:.35rem;margin-top:.85rem;list-style:none;display:grid}.capability-skills li{color:var(--text-soft);align-items:center;gap:.42rem;font-size:.72rem;font-weight:650;display:flex}.capability-skills li:before{background:var(--teal);content:"";border-radius:50%;width:.35rem;height:.35rem}.toolchain-row{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-soft) 65%, transparent);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1.25rem;padding:1rem 1.15rem;display:flex}.toolchain-row strong{font-family:var(--font-display);margin-right:.45rem;font-size:.8rem}.toolchain-row span{color:var(--text-soft);background:var(--bg-elevated);border-radius:.45rem;padding:.28rem .55rem;font-size:.69rem;font-weight:680}.education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.education-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;padding:1.2rem;display:grid}.education-card h3{font-size:1rem}.education-degree{color:var(--primary-strong);margin-top:.15rem;font-size:.8rem;font-weight:680}.education-card p:last-child{margin-top:.6rem;font-size:.78rem}.education-meta{color:var(--text-faint);margin-top:.5rem;font-size:.7rem;font-weight:650}.contact-panel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:radial-gradient(circle at 88% 20%, #69e5d629, transparent 18rem), linear-gradient(135deg, #2e78ff21, transparent 55%), var(--bg-elevated);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:clamp(1.6rem,5vw,3.4rem);display:grid;position:relative;overflow:hidden}.contact-panel:after{border:1px dashed color-mix(in srgb, var(--teal) 30%, transparent);content:"";border-radius:50%;width:18rem;height:18rem;position:absolute;top:-7rem;right:-5rem}.contact-panel h2{max-width:18ch;margin-top:.7rem;font-size:clamp(2rem,5vw,3.6rem)}.contact-panel p{max-width:42rem;margin-top:.8rem}.contact-actions{z-index:2;flex-direction:column;gap:.65rem;display:flex;position:relative}.contact-socials{justify-content:center;align-items:center;gap:.45rem;display:flex}.contact-socials a,.footer-links a{border:1px solid var(--line);width:2.65rem;height:2.65rem;color:var(--text-soft);background:var(--bg-elevated);border-radius:.7rem;place-items:center;text-decoration:none;display:grid}.contact-socials a:hover,.footer-links a:hover{border-color:var(--primary);color:var(--primary)}.site-footer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 72%, transparent)}.footer-inner,.footer-meta{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer-inner{padding-block:2.4rem}.footer-inner p{margin-top:.65rem;font-size:.8rem}.footer-brand .brand-mark{width:2rem;height:2rem}.footer-links{gap:.5rem;display:flex}.footer-meta{border-top:1px solid var(--line);color:var(--text-faint);padding-block:1rem 1.5rem;font-size:.68rem;font-weight:620}.page-hero{padding-block:clamp(4rem,8vw,7rem) clamp(3rem,6vw,5rem)}.page-heading{max-width:52rem}.page-heading>p{max-width:44rem;margin-top:1rem;font-size:1.08rem}.project-controls{z-index:20;top:calc(var(--header-height) + .75rem);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(18px);grid-template-columns:minmax(15rem,1fr) auto;align-items:center;gap:1rem;margin-bottom:1.4rem;padding:.8rem;display:grid;position:sticky}.search-field{position:relative}.search-field svg{color:var(--text-faint);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search-field input{border:1px solid var(--line);width:100%;min-height:2.8rem;color:var(--text);background:var(--bg);border-radius:.7rem;padding:.65rem .8rem .65rem 2.65rem}.search-field input::placeholder{color:var(--text-faint)}.filter-actions{gap:.45rem;display:flex}.filter-button{border:1px solid var(--line);min-height:2.8rem;color:var(--text-soft);background:var(--bg-elevated);cursor:pointer;border-radius:.7rem;padding:.55rem .78rem;font-size:.72rem;font-weight:720}.filter-button[aria-pressed=true],.filter-button:hover{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.project-results-line{color:var(--text-faint);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;font-size:.76rem;font-weight:680;display:flex}.project-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.project-archive-grid .project-card h3{font-size:1.05rem;line-height:1.2}.project-archive-grid .project-card p{font-size:.8rem}.project-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;padding:3rem}.project-empty h2{font-size:1.4rem}.project-empty p{margin-top:.4rem}.case-hero{padding-block:clamp(3rem,7vw,6.5rem) 2.5rem}.breadcrumb{color:var(--text-faint);align-items:center;gap:.5rem;font-size:.75rem;font-weight:680;display:flex}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--primary)}.case-hero-grid{grid-template-columns:minmax(0,.94fr) minmax(24rem,1.06fr);align-items:center;gap:clamp(2rem,7vw,6rem);margin-top:2rem;display:grid}.case-meta{color:var(--text-faint);flex-wrap:wrap;gap:.5rem .9rem;font-size:.75rem;font-weight:680;display:flex}.case-meta span{align-items:center;gap:.35rem;display:inline-flex}.case-hero h1{letter-spacing:-.055em;max-width:18ch;margin-top:1rem;font-size:clamp(2.45rem,5.5vw,5.1rem)}.case-title-row{align-items:flex-end;gap:.8rem;display:flex}.case-title-row .media-indicators{margin-bottom:.65rem}.case-summary{max-width:46rem;margin-top:1.15rem;font-size:1.08rem}.case-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.case-visual{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.case-visual .project-visual{min-height:28rem}.case-media{padding-block:clamp(3rem,6vw,5rem)}.case-media-header{grid-template-columns:minmax(0,1fr) minmax(17rem,31rem);align-items:end;gap:2rem;margin-bottom:1.5rem;display:grid}.case-media-header h2{margin-top:.6rem;font-size:clamp(1.8rem,4vw,3rem)}.case-media-header>p{justify-self:end;font-size:.88rem}.case-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.case-media-grid-single{grid-template-columns:minmax(0,52rem)}.media-item{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);margin:0;overflow:hidden}.media-stage{aspect-ratio:16/9;background-color:#09172a;background-image:linear-gradient(#6ce8db0d 1px,#0000 1px),linear-gradient(90deg,#6ce8db0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;position:relative;overflow:hidden}.media-item-linkedin .media-stage{aspect-ratio:504/399}.media-item-x .media-stage{aspect-ratio:auto;place-items:start center;height:42rem;min-height:0;padding:.75rem;display:grid}.media-stage iframe,.media-stage video,.media-stage img{border:0;width:100%;height:100%;display:block}.media-facade{color:#fff;background:#09172a;width:100%;height:100%;display:block;position:relative;overflow:hidden}.media-facade .project-visual{border-radius:0;height:100%;min-height:100%;transition:transform .28s}.media-facade-shade{background:linear-gradient(#0000 15%,#030b162e 48%,#030b1694),radial-gradient(circle,#0000,#030b1633);position:absolute;inset:0}.media-facade-trigger{z-index:2;color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;position:absolute;inset:0}.media-facade-action{backdrop-filter:blur(10px);background:#05101fd1;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:.7rem;min-width:9.8rem;padding:.65rem .85rem .65rem .65rem;transition:transform .18s,background .18s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 32px #0000004d}.media-facade-play{color:#fff;background:linear-gradient(140deg,#2e78ff,#16a99a);border-radius:50%;flex:none;place-items:center;width:2.65rem;height:2.65rem;display:inline-grid;box-shadow:0 8px 20px #2e78ff52}.media-facade-action strong,.media-facade-action small{display:block}.media-facade-action strong{font-family:var(--font-display);font-size:.86rem}.media-facade-action small{color:#ffffffad;margin-top:.08rem;font-size:.62rem;font-weight:650}.media-facade:hover .project-visual{transform:scale(1.025)}.media-facade:hover .media-facade-action{background:#05101feb;transform:translate(-50%,-50%)scale(1.035)}.media-stage img,.media-stage video{object-fit:contain}.media-stage .x-embed-frame{background:#fff;border-radius:.75rem;width:100%;max-width:35rem}.media-item figcaption{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.media-item figcaption>span{color:var(--text-soft);font-size:.78rem;line-height:1.5}.media-item figcaption a{color:var(--primary-strong);flex:none;align-items:center;gap:.35rem;font-size:.72rem;font-weight:750;text-decoration:none;display:inline-flex}.media-item figcaption a:hover{color:var(--teal)}.case-content-grid{grid-template-columns:minmax(0,1fr) 14rem;align-items:start;gap:clamp(2rem,7vw,6rem);padding-block:clamp(2rem,6vw,5rem) clamp(5rem,9vw,8rem);display:grid}.case-aside{gap:1rem;display:grid;position:sticky;top:7rem}.case-aside-group{border-top:1px solid var(--line);padding-top:1rem}.case-aside-group strong{color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.55rem;font-size:.65rem;display:block}.case-aside .tag-list{display:grid}.case-aside .tag-list li{width:fit-content}.prose{min-width:0;max-width:48rem;color:var(--text-soft);font-size:1rem;line-height:1.78}.prose>*+*{margin-top:1.15rem}.prose h2,.prose h3,.prose h4{color:var(--text)}.prose h2{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1rem;font-size:1.65rem}.prose h3{margin-top:2rem;font-size:1.25rem}.prose ul,.prose ol{gap:.45rem;padding-left:1.35rem;display:grid}.prose li::marker{color:var(--teal);font-weight:800}.prose strong{color:var(--text)}.prose a{color:var(--primary-strong);text-underline-offset:.2em;font-weight:650}.prose blockquote{border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--primary-soft);padding:1rem 1.2rem}.prose table{border-spacing:0;border-collapse:collapse;width:100%;font-size:.86rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;min-width:8rem;padding:.65rem .75rem}.prose th{color:var(--text);background:var(--bg-soft)}.prose code{color:var(--primary-strong);background:var(--primary-soft);border-radius:.35rem;padding:.14rem .35rem;font-size:.88em}.prose pre{border-radius:var(--radius);padding:1rem;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose img{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:auto}.more-work{border-top:1px solid var(--line);padding-block:clamp(4rem,8vw,6.5rem)}.more-work h2{font-size:clamp(1.8rem,4vw,2.8rem)}.more-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.5rem;display:grid}.not-found{text-align:center;place-items:center;min-height:66vh;padding-block:4rem;display:grid}.not-found-code{color:#0000;background:linear-gradient(100deg, var(--primary), var(--teal));font-family:var(--font-display);letter-spacing:-.08em;background-clip:text;font-size:clamp(5rem,18vw,11rem);font-weight:700;line-height:.8}.not-found h1{margin-top:1.5rem;font-size:clamp(2rem,5vw,3.5rem)}.not-found p{max-width:35rem;margin:.8rem auto 1.4rem}.resume-page{padding-block:clamp(2.5rem,6vw,5rem)}.resume-profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, transparent), color-mix(in srgb, var(--teal) 9%, transparent)), var(--bg-elevated);box-shadow:var(--shadow-md);grid-template-columns:9.5rem minmax(0,1fr) minmax(13rem,auto);align-items:center;gap:1rem clamp(1.3rem,3vw,2.4rem);padding:1.5rem;display:grid;position:relative;overflow:hidden}.resume-profile-accent{background:linear-gradient(90deg, var(--primary), #3b82f6 44%, var(--teal));height:.25rem;position:absolute;inset:0 0 auto}.resume-profile-photo{aspect-ratio:.92;border:1px solid var(--line);background:var(--bg-elevated);width:9.5rem;box-shadow:var(--shadow-sm);border-radius:.9rem;align-self:start;padding:.28rem;overflow:hidden}.resume-profile-photo img{object-fit:cover;object-position:center 18%;border-radius:.68rem;width:100%;height:100%}.resume-profile-copy{min-width:0}.resume-profile-copy .eyebrow{margin-bottom:.6rem}.resume-profile-copy h1{font-size:clamp(2.7rem,5.2vw,4.45rem);line-height:.96}.resume-profile-copy h1 span{color:var(--primary)}.resume-role{color:var(--teal);font-family:var(--font-display);margin-top:.55rem;font-size:1.03rem;font-weight:760}.resume-specialisms{color:var(--text-faint);margin-top:.12rem;font-size:.76rem;font-weight:700}.resume-summary{max-width:42rem;margin-top:.75rem;font-size:.88rem;line-height:1.62}.resume-contact-stack{justify-items:end;gap:.48rem;display:grid}.resume-contact-badge{border:1px solid var(--line);color:var(--text-soft);background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);border-radius:999px;align-items:center;gap:.5rem;padding:.36rem .42rem .36rem .68rem;font-size:.7rem;font-weight:720;line-height:1;text-decoration:none;display:inline-flex}.resume-contact-badge .icon{border-radius:50%;width:1.45rem;height:1.45rem;padding:.28rem}.resume-contact-location{border-color:color-mix(in srgb, var(--gold) 38%, var(--line));color:var(--gold)}.resume-contact-location .icon{background:color-mix(in srgb, var(--gold) 14%, transparent)}.resume-contact-email{border-color:color-mix(in srgb, var(--primary) 34%, var(--line));color:var(--primary-strong)}.resume-contact-email .icon{background:var(--primary-soft)}.resume-download{margin-top:.45rem}.resume-social-strip{border-top:1px solid color-mix(in srgb, var(--primary) 18%, var(--line));background:color-mix(in srgb, var(--primary) 6%, transparent);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 -1.5rem -1.5rem;padding:1rem 1.5rem;display:grid}.resume-social-strip a{min-width:0;color:var(--text);justify-content:center;align-items:center;gap:.55rem;font-size:.72rem;font-weight:680;text-decoration:none;display:inline-flex}.resume-social-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resume-social-label{display:none}.resume-social-strip a:hover{color:var(--primary-strong)}.resume-social-icon{color:var(--primary-strong);flex:none}.resume-social-icon-github,.resume-social-icon-x{color:var(--text)}.resume-social-icon-globe{color:var(--teal)}.resume-web-section{margin-top:clamp(2.4rem,5vw,3.8rem)}.resume-section-heading{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.resume-section-heading h2{letter-spacing:-.025em;flex:none;font-size:clamp(1.35rem,2.4vw,1.8rem)}.resume-section-icon,.resume-education-icon,.resume-tool-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--teal));box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 22%, transparent);border-radius:.72rem;flex:none;place-items:center;display:inline-grid}.resume-section-icon{width:2.4rem;height:2.4rem}.resume-section-rule{background:linear-gradient(90deg, var(--line), transparent);width:100%;height:1px}.resume-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.resume-skill-card{--resume-skill-accent:var(--primary);border:1px solid var(--line);border-left:.28rem solid var(--resume-skill-accent);border-radius:var(--radius);background:linear-gradient(145deg, var(--bg-elevated), color-mix(in srgb, var(--bg-soft) 46%, var(--bg-elevated)));box-shadow:var(--shadow-sm);padding:1.15rem}.resume-skill-card-2{--resume-skill-accent:var(--teal)}.resume-skill-card-3{--resume-skill-accent:var(--coral)}.resume-skill-card-4{--resume-skill-accent:var(--gold)}.resume-skill-heading{align-items:center;gap:.65rem;display:flex}.resume-skill-icon{border:1px solid color-mix(in srgb, var(--resume-skill-accent) 28%, var(--line));width:2rem;height:2rem;color:var(--resume-skill-accent);background:color-mix(in srgb, var(--resume-skill-accent) 10%, var(--bg-elevated));border-radius:.62rem;flex:none;place-items:center;display:inline-grid}.resume-skill-heading h3,.resume-tool-card h3{font-size:1rem}.resume-skill-card>p,.resume-tool-card p{margin-top:.55rem;font-size:.76rem;line-height:1.55}.resume-skill-chips,.resume-tool-list{flex-wrap:wrap;gap:.38rem;margin-top:.75rem;list-style:none;display:flex}.resume-skill-chips li,.resume-tool-list li{border:1px solid var(--line);color:var(--text-soft);background:color-mix(in srgb, var(--bg-elevated) 86%, transparent);border-radius:.48rem;padding:.28rem .52rem;font-size:.65rem;font-weight:720}.resume-tool-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:.8rem;padding:1rem 1.15rem;display:flex}.resume-tool-card>div{align-items:center;gap:.75rem;min-width:0;display:flex}.resume-tool-icon,.resume-education-icon{width:2.35rem;height:2.35rem}.resume-tool-card p{margin-top:.15rem}.resume-tool-list{flex:0 32rem;justify-content:flex-end;margin-top:0}.resume-experience-list{gap:.8rem;display:grid}.resume-entry{border:1px solid var(--line);border-left:.28rem solid var(--primary);border-radius:var(--radius);background:linear-gradient(145deg, var(--bg-elevated), color-mix(in srgb, var(--bg-soft) 30%, var(--bg-elevated)));box-shadow:var(--shadow-sm);break-inside:avoid;padding:1.15rem 1.25rem}.resume-entry-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.resume-entry-heading h3{font-size:1.08rem}.resume-entry-heading div>p,.resume-entry-heading div>a{color:var(--teal);align-items:center;gap:.3rem;margin-top:.18rem;font-size:.78rem;font-weight:740;line-height:1.4;text-decoration:none;display:inline-flex}.resume-entry-heading div>a:hover,.resume-education-card a:hover{color:var(--primary-strong)}.resume-date-pill{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--line));color:var(--primary-strong);background:var(--primary-soft);white-space:nowrap;border-radius:999px;flex:none;padding:.32rem .6rem;font-size:.66rem;font-weight:780;line-height:1.2}.resume-entry-meta,.resume-education-meta{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.resume-entry-meta span,.resume-education-meta span{border:1px solid var(--line);color:var(--text-faint);background:var(--bg-soft);border-radius:999px;align-items:center;gap:.28rem;padding:.24rem .48rem;font-size:.62rem;font-weight:720;display:inline-flex}.resume-entry-summary{margin-top:.72rem;font-size:.79rem}.resume-entry-highlights{color:var(--text-soft);flex-wrap:wrap;gap:.32rem 1.15rem;margin-top:.55rem;padding-left:1rem;font-size:.68rem;font-weight:650;display:flex}.resume-entry-highlights li::marker{color:var(--teal)}.resume-education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.resume-education-card{border:1px solid var(--line);border-left:.28rem solid var(--teal);border-radius:var(--radius);background:linear-gradient(145deg, var(--bg-elevated), color-mix(in srgb, var(--bg-soft) 38%, var(--bg-elevated)));box-shadow:var(--shadow-sm);grid-template-columns:2.35rem minmax(0,1fr);gap:.75rem;padding:1.1rem;display:grid}.resume-education-card h3{font-size:.96rem;line-height:1.3}.resume-education-card a{color:var(--teal);align-items:center;gap:.3rem;margin-top:.22rem;font-size:.72rem;font-weight:750;text-decoration:none;display:inline-flex}.resume-education-card>div>p{margin-top:.7rem;font-size:.7rem;line-height:1.55}.resume-languages-section{margin-top:2.5rem}.resume-language-list{flex-wrap:wrap;gap:.55rem;list-style:none;display:flex}.resume-language-list li{border:1px solid var(--line);color:var(--text-soft);background:var(--bg-soft);border-radius:999px;align-items:center;gap:.55rem;padding:.48rem .75rem;font-size:.72rem;display:inline-flex}.resume-language-list strong{color:var(--text)}.resume-focus-banner{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(100deg, var(--primary-soft), var(--teal-soft));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;margin-top:2.5rem;padding:1rem 1.15rem;display:grid}.resume-focus-banner strong{font-family:var(--font-display)}.resume-focus-banner p{margin-top:.08rem;font-size:.76rem}}@layer utilities{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.surface-section{border-block:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 58%, transparent)}}@media (width<=68rem){.hero-grid,.case-hero-grid{grid-template-columns:minmax(0,1fr) minmax(19rem,.8fr);gap:2.5rem}.hero-system-panel{min-height:31rem}.system-node{width:6.9rem}.capability-grid,.project-archive-grid,.more-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-profile-card{grid-template-columns:8.5rem minmax(0,1fr)}.resume-profile-photo{width:8.5rem}.resume-contact-stack{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;display:flex}.resume-download{margin-top:0}}@media (width<=54rem){:root{--header-height:4.25rem}body.menu-open{overflow:hidden}.desktop-nav,.header-cta{display:none}.menu-toggle{display:inline-grid}.mobile-nav{display:block}.hero{min-height:auto}.hero-grid,.case-hero-grid,.experience-layout,.case-content-grid{grid-template-columns:minmax(0,1fr)}.hero-copy{max-width:46rem}.hero h1{max-width:11ch}.hero-system-panel{min-height:30rem}.experience-intro,.case-aside{position:static}.case-content-grid{gap:2.5rem}.case-aside{grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))}.case-aside .tag-list{display:flex}.section-header{grid-template-columns:1fr;gap:1rem}.section-header>p{justify-self:start}.case-media-header{grid-template-columns:1fr;gap:.8rem}.case-media-header>p{justify-self:start}.case-media-grid,.demo-showcase-grid{grid-template-columns:minmax(0,1fr)}.demo-showcase-card-header,.demo-showcase-card .media-item figcaption{min-height:auto}.project-controls{grid-template-columns:1fr;position:static}.filter-actions{overflow-x:auto}.filter-button{flex:none}.contact-panel,.resume-header,.resume-grid{grid-template-columns:1fr}.resume-contact{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.resume-social-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-tool-card{flex-direction:column;align-items:flex-start}.resume-tool-list{justify-content:flex-start}.contact-actions{align-items:flex-start}.contact-socials{justify-content:flex-start}}@media (width<=42rem){html{scroll-padding-top:5rem}.shell{width:min(calc(100% - 1.5rem), var(--shell))}.brand-name{font-size:.9rem}.header-inner{gap:.65rem}.header-actions{margin-left:auto}.hero{padding-block:3rem 4.5rem}.hero-profile{margin-bottom:1.1rem}.hero h1{max-width:none;font-size:clamp(3rem,14vw,4.8rem)}.hero-summary{font-size:1rem}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions .button{width:100%}.proof-grid{grid-template-columns:1fr;margin-top:1.5rem}.proof-item{padding-block:.45rem}.hero-system-panel{border-radius:1.25rem;min-height:26rem}.system-map{min-height:20rem;margin:1rem}.system-core{width:7rem;height:7rem}.system-node{width:6.25rem;min-height:4rem;padding:.5rem}.system-node strong{font-size:.72rem}.system-node span{font-size:.56rem}.system-panel-footer{font-size:.64rem}.featured-grid,.capability-grid,.education-grid,.project-archive-grid,.more-work-grid{grid-template-columns:minmax(0,1fr)}.project-visual{min-height:13rem}.project-visual.compact{min-height:10.5rem}.work-footer,.demo-showcase-footer,.footer-inner,.footer-meta{flex-direction:column;align-items:flex-start}.experience-item{grid-template-columns:2.75rem minmax(0,1fr);gap:.75rem}.experience-list:before{left:1.35rem}.experience-logo,.education-logo{width:2.75rem;height:2.75rem}.experience-card{padding:1rem}.experience-card-top{flex-direction:column;gap:.3rem}.experience-highlights{gap:.35rem;display:grid}.experience-toggle{margin-left:3.5rem}.education-card{grid-template-columns:2.75rem minmax(0,1fr)}.contact-panel{border-radius:1.25rem}.contact-actions,.contact-actions .button{width:100%}.case-hero h1{font-size:clamp(2.35rem,12vw,3.7rem)}.case-title-row{flex-direction:column;align-items:flex-start;gap:.55rem}.case-title-row .media-indicators{margin-bottom:0}.case-visual .project-visual{min-height:16rem}.media-item figcaption{flex-direction:column;align-items:flex-start;gap:.55rem}.case-aside{grid-template-columns:1fr}.project-controls{padding:.6rem}.project-empty{padding:2rem 1rem}.resume-contact,.resume-sidebar{grid-template-columns:1fr}.resume-profile-card{grid-template-columns:1fr;padding:1.1rem}.resume-profile-photo{width:7.5rem}.resume-profile-copy h1{font-size:clamp(2.45rem,13vw,3.5rem)}.resume-contact-stack{flex-direction:column;grid-column:auto;align-items:flex-start}.resume-contact-badge{max-width:100%}.resume-social-strip{margin:0 -1.1rem -1.1rem;padding:.9rem 1.1rem}.resume-social-strip a{justify-content:flex-start}.resume-social-label{display:inline}.resume-social-value{display:none}.resume-skill-grid,.resume-education-grid{grid-template-columns:1fr}.resume-entry-heading{flex-direction:column;gap:.55rem}.resume-date-pill{order:-1}.resume-focus-banner{grid-template-columns:auto minmax(0,1fr)}.resume-focus-banner .button{grid-column:1/-1;width:100%}}@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}}@media print{.site-header,.site-footer,.theme-toggle,.menu-toggle,.project-controls,.contact-panel,.resume-download{display:none!important}body{color:#111;background:#fff}body:before{display:none}.section,.case-hero,.case-content-grid{padding-block:1.5rem}@page{size:A4;margin:12mm 13mm}.resume-page{width:100%;padding:0}.resume-profile-card{box-shadow:none;border-radius:.6rem;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding:.8rem}.resume-profile-photo{width:7rem}.resume-profile-copy h1{font-size:2.35rem}.resume-summary{font-size:.68rem}.resume-contact-stack{flex-direction:row;grid-column:1/-1;display:flex}.resume-social-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 -.8rem -.8rem;padding:.6rem .8rem}.resume-social-strip a{justify-content:center;font-size:.5rem}.resume-social-label{display:none}.resume-social-value{display:inline}.resume-web-section{margin-top:1rem}.resume-section-heading{margin-bottom:.5rem}.resume-section-heading h2{font-size:1rem}.resume-section-icon{width:1.8rem;height:1.8rem}.resume-skill-grid,.resume-education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.resume-skill-card,.resume-entry,.resume-education-card,.resume-tool-card{box-shadow:none;border-radius:.55rem;padding:.65rem}.resume-skill-card>p,.resume-tool-card p,.resume-entry-summary,.resume-education-card>div>p{font-size:.56rem}.resume-skill-chips li,.resume-tool-list li,.resume-entry-highlights,.resume-entry-meta span,.resume-education-meta span{font-size:.48rem}.resume-experience-list{gap:.45rem}.resume-entry-heading{flex-direction:row}.resume-date-pill{order:initial}.resume-focus-banner{display:none}}
