@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
:root{--bg:#ffffff;--panel:#ffffff;--line:#ffffff;--text:#000000;--muted:#454545;--green:#000000;--mono:'Roboto',Arial,sans-serif;--sans:'Roboto',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:5px}button{border:0}::selection{background:var(--green);color:var(--bg)}.section-wrap{max-width:1384px;margin:auto;padding-left:64px;padding-right:64px}.header{max-width:1512px;padding:25px 64px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;gap:12px;align-items:center;font-weight:700;letter-spacing:1.1px;font-size:14px}.brand-mark{display:flex;align-items:center;justify-content:center;width:31px;height:31px;background:var(--green);color:var(--bg);font-size:23px;letter-spacing:-4px;padding-right:5px;transform:skew(-8deg)}.brand-mark span{font-size:18px}.muted{color:var(--muted)}nav{display:flex;gap:34px;font-size:16px;color:#454545}nav a:hover,.text-link:hover{color:var(--green)}.nav-contact{font-size:16px;border:1px solid #ffffff;padding:11px 17px;border-radius:3px}.nav-contact span{margin-left:22px;color:var(--green)}.eyebrow{font:13px var(--mono);letter-spacing:1.4px;color:#454545;display:flex;align-items:center;gap:10px}.live-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 10px #00000055}.hero{display:grid;grid-template-columns:1.07fr 1fr;align-items:center;min-height:690px;gap:20px;padding-top:65px;padding-bottom:65px;position:relative}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(52px,6.1vw,88px);line-height:1.03;font-weight:500;letter-spacing:-4px;margin:29px 0 26px}.serif{font-family:var(--sans);font-weight:400;font-style:italic;color:var(--green)}.heading-dot{font-size:44px;display:inline-block;vertical-align:top;color:var(--green);margin-left:12px;transform:rotate(-10deg)}.hero-description{color:var(--muted);font-size:16px;line-height:1.75;max-width:435px}.hero-tags{display:flex;gap:14px;margin:23px 0 33px;font:12px var(--mono);letter-spacing:.7px}.hero-tags span+span:before{content:'/';color:#454545;margin-right:14px}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 21px;font-size:15px;font-weight:600;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#000000}.primary{background:var(--green);color:#ffffff}.button span{font-size:20px;line-height:1}.text-link{font-size:15px;padding:12px 0;border-bottom:1px solid #ffffff}.text-link span{margin-left:13px}.hero-footnote{font:12px var(--mono);letter-spacing:.6px;color:#454545;display:flex;align-items:center;gap:10px;margin-top:48px}.crosshair{font-size:16px}.small-line{width:20px;height:1px;background:#ffffff}.orbital-scene{position:relative;width:100%;height:510px;background:radial-gradient(ellipse at center,#ffffff55,transparent 68%);touch-action:pan-y}canvas{width:100%;height:100%;display:block}.scene-top,.scene-bottom{position:absolute;left:17px;right:17px;display:flex;justify-content:space-between;gap:12px;font:12px var(--mono);letter-spacing:.8px;color:#454545}.scene-top{top:18px}.accent{color:var(--green)}.scene-bottom{bottom:17px;align-items:center;font-size:11px}#motion{background:transparent;font:12px var(--mono);padding:7px;border:1px solid var(--line);border-radius:3px}#motion span{color:var(--green);margin-left:8px}.scene-corner{position:absolute;width:13px;height:13px;border-color:#ffffff;border-style:solid}.tl{top:0;left:0;border-width:1px 0 0 1px}.tr{top:0;right:0;border-width:1px 1px 0 0}.bl{bottom:0;left:0;border-width:0 0 1px 1px}.br{bottom:0;right:0;border-width:0 1px 1px 0}.scene-label{position:absolute;padding:11px 14px;background:#ffffffc9;backdrop-filter:blur(12px);border:1px solid #ffffff;border-radius:3px;box-shadow:0 10px 30px #ffffff33}.scene-label span{font:11px var(--mono);letter-spacing:.7px;color:#454545;display:block;margin-bottom:5px}.scene-label strong{font-size:15px;font-weight:500}.label-ai{top:95px;right:8px}.label-cloud{top:258px;left:0}.label-game{bottom:76px;right:20px}.stats{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:27px;padding-bottom:27px;gap:25px}.stats>div{border-right:1px solid var(--line)}.stats strong{font-size:40px;font-weight:450;letter-spacing:-2px;display:block;line-height:1.1}.stats strong span{font-size:25px;color:var(--green);letter-spacing:-1px}.stats div>span:not(.live-dot){font:12px var(--mono);letter-spacing:.7px;color:var(--muted);display:block;margin-top:9px}.stats .stat-note{display:flex;align-items:center;gap:15px;border:0}.stat-note p{font-size:15px;line-height:1.7;color:#454545}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:37px}.section-top h2{font-size:44px;line-height:1.13;letter-spacing:-1.5px;font-weight:450;margin:18px 0 0}.section-top>p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 4px}.work{padding-top:100px;padding-bottom:100px}.filter-bar{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:25px;align-items:center}.filter-bar button{font-size:14px;padding:10px 16px;border-radius:3px;background:transparent;color:#454545}.filter-bar button.active{background:var(--green);color:#ffffff}.filter-bar sup{font:12px var(--mono);margin-left:5px}.filter-bar>span{margin-left:auto;font:11px var(--mono);letter-spacing:.8px;color:#454545}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.project-card{background:#ffffff;text-align:left;padding:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .3s,border-color .3s;position:relative}.project-card:hover{transform:translateY(-5px);border-color:#000000}.project-card[hidden]{display:none}.project-art{height:265px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.doctor-art{background:radial-gradient(at 50% 100%,#ffffff77,#ffffff)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#00000012 1px,transparent 1px),linear-gradient(90deg,#00000012 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(black,transparent)}.tool-window{width:74%;background:#ffffff;border:1px solid #ffffff;border-radius:6px;box-shadow:0 20px 50px #ffffff66;transform:perspective(700px) rotateX(6deg) rotateY(-8deg) rotateZ(-4deg);position:relative;padding-bottom:13px}.window-bar{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff;padding:13px;font:12px var(--mono);color:#000000}.scan-line{display:flex;justify-content:space-between;font:11px var(--mono);padding:14px 12px;color:#454545}.diagnosis{display:flex;align-items:center;gap:10px;border:1px solid #ffffff;margin:0 12px 8px;padding:10px}.diagnosis i{font-style:normal;color:var(--green);background:#ffffff;padding:7px}.diagnosis div{flex:1}.diagnosis span{display:block;font-size:12px}.diagnosis small{font-size:11px;color:#454545}.diagnosis b{font:12px var(--mono);color:#454545}.scan-progress{height:3px;background:#ffffff;margin:12px}.scan-progress span{display:block;height:3px;width:74%;background:var(--green)}.mock-note{font:10px var(--mono);color:#454545;margin-left:12px;letter-spacing:.7px}.art-index{position:absolute;bottom:13px;left:18px;font:11px var(--mono);letter-spacing:1px;color:#000000}.hermes-art{background:radial-gradient(at center,#ffffff55,#ffffff);flex-direction:column}.pipeline{display:flex;align-items:center;width:85%;justify-content:center}.pipeline>span{font:12px var(--mono);border:1px solid #454545;padding:12px;background:#ffffff}.pipeline i{width:45px;height:1px;background:#ffffff;position:relative}.pipeline i:after{content:'';width:4px;height:4px;background:var(--green);position:absolute;top:-1px;animation:flow 3s linear infinite}.agent-core{height:104px;width:104px;border:1px solid #000000;box-shadow:0 0 0 9px #0000000a,0 0 0 20px #0000000a;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-size:45px;line-height:1.1;color:#000000}.agent-core small{font:11px var(--mono);letter-spacing:2px;margin-top:5px}.node-row{display:flex;gap:30px;margin-top:36px;font:11px var(--mono);letter-spacing:1px;color:#454545}.card-copy{padding:24px 25px 25px}.card-meta{display:flex;align-items:center;justify-content:space-between;font:11px var(--mono);letter-spacing:.8px;color:#454545}.card-arrow{font-size:22px;color:#000000}.card-copy h3{font-size:23px;letter-spacing:-.5px;font-weight:500;margin:9px 0 11px}.card-copy p{font-size:15px;color:var(--muted);line-height:1.8;margin:0;max-width:440px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.chips span{font:12px var(--mono);border:1px solid #ffffff;background:#ffffff;padding:6px 9px;border-radius:3px;color:#000000}.compact-art{height:130px;display:flex;align-items:center;gap:25px;padding:25px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.big-art-type{font-size:55px;font-weight:450;letter-spacing:-3px;line-height:1}.big-art-type span{font-size:27px}.compact-art>div{font:12px/1.8 var(--mono);letter-spacing:1px}.mini-orbit{position:absolute;font-size:100px;line-height:1;right:18px;opacity:.13;transform:rotate(-20deg)}.search-art{background:#ffffff;color:#000000}.docs-art{background:#ffffff;color:#000000}.cloud-art{background:#ffffff;color:#000000}.game-art{background:#ffffff;color:#000000}.wire-cube{font-size:90px;width:110px;line-height:1;transform:rotate(15deg)}.loadout{padding-top:75px;padding-bottom:80px;background:#ffffff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.loadout-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:65px;margin-top:45px}.loadout-tabs{display:flex;flex-direction:column}.loadout-tabs button{display:flex;align-items:center;gap:20px;padding:23px 16px;background:transparent;border-bottom:1px solid var(--line);font-size:16px;text-align:left;color:#454545}.loadout-tabs button:first-child{border-top:1px solid var(--line)}.loadout-tabs button>span{font:12px var(--mono);opacity:.5}.loadout-tabs button b{margin-left:auto;font-size:22px;font-weight:400}.loadout-tabs button.active{color:var(--green);background:#ffffff}.skill-panel{padding:10px 0;min-height:315px}.skill-symbol{font-size:45px;color:var(--green);line-height:1}.skill-panel h3{font-size:25px;letter-spacing:-.5px;font-weight:450;margin:20px 0 12px}.skill-panel p{font-size:16px;color:var(--muted);line-height:1.9;max-width:430px}.skill-panel .chips{max-width:440px;margin-top:25px}.skill-panel .chips span{font-size:12px;padding:9px 12px}.journey{padding-top:100px;padding-bottom:90px}.timeline article{display:grid;grid-template-columns:220px 1fr 50px;gap:25px;padding:30px 0;border-top:1px solid var(--line)}.timeline-date{font:12px/1.8 var(--mono);color:var(--muted);padding-top:5px}.timeline-date span{display:block;font-size:11px;margin-top:10px}.timeline h3{font-size:19px;letter-spacing:-.3px;font-weight:500;margin:0 0 6px}.timeline .company{color:#454545;font-size:14px;margin:0 0 13px}.timeline p:not(.company){font-size:15px;line-height:1.8;color:var(--muted);max-width:630px;margin:0}.timeline-number{font:15px var(--mono);color:#ffffff;text-align:right;padding-top:6px}.education{border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr 1fr;gap:25px;padding-top:27px;align-items:start}.education>span{font:12px var(--mono);color:#454545;padding-top:4px}.education p{font-size:14px;margin:0}.education small{font-size:12px;line-height:1.8;display:block;color:var(--muted);margin-top:9px}.contact{padding-top:65px;padding-bottom:42px;background:radial-gradient(at 100% 0,#ffffff55,transparent 60%),#ffffff;border:1px solid #ffffff;border-radius:6px}.contact h2{font-size:67px;line-height:1.1;font-weight:450;letter-spacing:-2.5px;margin:26px 0}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-row p{font-size:16px;line-height:1.8;color:var(--muted)}.contact-links{display:flex;align-items:center;gap:30px;border-top:1px solid #ffffff;margin-top:40px;padding-top:25px;font-size:14px}.contact-links a:hover{color:var(--green)}.contact-links button{margin-left:auto;font-size:13px;background:transparent;border:1px solid #ffffff;border-radius:3px;padding:9px 12px}.contact-links button span{margin-left:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:35px;padding-bottom:35px}footer .brand{font-size:13px}footer>span,footer>a:last-child{font:11px var(--mono);color:#454545;letter-spacing:.6px}.cursor-glow{position:fixed;pointer-events:none;z-index:5;width:500px;height:500px;left:0;top:0;transform:translate(-50%,-50%);background:radial-gradient(circle,#00000006,transparent 60%);border-radius:50%}dialog{background:#ffffff;color:var(--text);border:1px solid #ffffff;border-radius:8px;max-width:650px;width:calc(100% - 32px);padding:45px;box-shadow:0 20px 100px #ffffff99}dialog::backdrop{background:#ffffffb8;backdrop-filter:blur(12px)}#close-dialog{position:absolute;right:16px;top:12px;background:transparent;font-size:29px;color:#454545;padding:2px 8px}dialog h2{font-size:35px;font-weight:450;letter-spacing:-1px;margin:20px 0}dialog p{font-size:14px;line-height:1.85;color:#454545}dialog h3{font:13px var(--mono);letter-spacing:1px;color:var(--green);margin-top:27px}dialog .dialog-note{font:12px/1.9 var(--mono);color:#454545;margin-top:30px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#ffffff;padding:12px 20px;border-radius:4px;z-index:20;font-size:15px;display:none}.skip{position:absolute;top:-70px;left:20px;background:var(--green);color:#ffffff;padding:15px;z-index:99}.skip:focus{top:10px}@keyframes flow{from{left:0}to{left:100%}}body.still *,body.still *:before,body.still *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
@media(min-width:1500px){.hero{min-height:750px}.orbital-scene{height:550px}}@media(max-width:1050px){.section-wrap{padding-left:35px;padding-right:35px}.header{padding:22px 35px}.hero h1{font-size:65px}.hero{gap:0}.hero-description{font-size:14px}.hero-actions{gap:18px}.hero-footnote{font-size:11px}.orbital-scene{height:450px}.heading-dot{font-size:30px}.hero-tags{font-size:11px;gap:8px}.hero-tags span+span:before{margin-right:8px}.button{gap:20px}.scene-label{padding:9px}.scene-label strong{font-size:13px}.scene-label span{font-size:11px}.section-top h2{font-size:38px}.loadout-layout{gap:35px}.timeline article{grid-template-columns:170px 1fr 25px}.education{grid-template-columns:170px 1fr 1fr}.compact-art{gap:18px}.big-art-type{font-size:45px}.filter-bar>span{display:none}.contact{margin:0 25px}.contact h2{font-size:58px}}
@media(max-width:720px){.header{padding:20px 22px;gap:15px}.header nav{display:none}.nav-contact{padding:9px 13px;font-size:14px}.brand{font-size:15px}.section-wrap{padding-left:23px;padding-right:23px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:35px;gap:30px;min-height:auto}.hero h1{font-size:66px;letter-spacing:-3px;margin-top:25px}.hero-description{font-size:15px;max-width:460px}.hero-tags{font-size:12px;margin-top:22px}.hero-actions{gap:25px}.hero-footnote{font-size:11px;gap:7px;margin-top:30px}.orbital-scene{height:420px;max-width:540px;margin:auto}.label-ai{right:5px;top:85px}.label-cloud{top:240px;left:4px}.label-game{bottom:65px}.stats{grid-template-columns:1fr 1fr;padding-top:25px;padding-bottom:25px;gap:28px}.stats>div:nth-child(2){border:0}.stats strong{font-size:36px}.stats div>span:not(.live-dot){font-size:11px}.stat-note p{font-size:13px}.work{padding-top:65px;padding-bottom:65px}.section-top{display:block;margin-bottom:28px}.section-top h2{font-size:37px}.section-top>p{margin-top:20px;font-size:15px}.section-top>.text-link{display:inline-block;margin-top:20px}.filter-bar{gap:0;justify-content:space-between;padding-bottom:15px}.filter-bar button{font-size:13px;padding:9px 11px}.project-grid{grid-template-columns:1fr;gap:22px}.project-art{height:250px}.card-copy{padding:22px}.card-copy p{font-size:16px}.card-meta{font-size:11px}.compact-art{height:125px}.big-art-type{font-size:55px}.compact-art>div{font-size:12px}.loadout{padding-top:55px;padding-bottom:45px}.loadout-layout{grid-template-columns:1fr;gap:28px;margin-top:30px}.loadout-tabs button{padding:18px 14px;font-size:15px}.skill-panel{min-height:300px}.journey{padding-top:65px;padding-bottom:55px}.timeline article{grid-template-columns:1fr 25px;gap:15px;padding:25px 0}.timeline-date{grid-column:1/-1;font-size:12px;display:flex;justify-content:space-between}.timeline-date span{margin:0}.timeline h3{font-size:18px}.timeline p:not(.company){font-size:15px}.timeline-number{grid-column:2;grid-row:auto}.education{grid-template-columns:1fr;gap:20px}.education>span{font-size:12px}.contact{margin:0 12px;padding:35px 22px 25px}.contact h2{font-size:46px;letter-spacing:-1.5px}.contact-row{display:block}.contact-row p{font-size:15px;margin-bottom:25px}.contact-links{gap:20px;flex-wrap:wrap;margin-top:30px;font-size:13px}.contact-links button{margin-left:0}footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}footer>span{order:3;flex-basis:100%;font-size:11px}footer>a:last-child{font-size:11px}.cursor-glow{display:none}dialog{padding:35px 25px}dialog h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.cursor-glow{display:none}}

/* Readable supporting copy, labels, and controls across screen sizes. */
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1px}
.hero-tags{font-size:12px;line-height:1.7;flex-wrap:wrap}
.hero-description{font-size:18px}
.hero-footnote{font-size:11px;line-height:1.8;flex-wrap:wrap;color:#454545}
.scene-top,.scene-bottom{font-size:10px;letter-spacing:.3px;line-height:1.6}
.scene-top{flex-wrap:wrap}
.scene-bottom{align-items:flex-end}
.scene-bottom>span{max-width:60%}
#motion{font-size:11px;white-space:nowrap}
.scene-label span{font-size:10px;line-height:1.5;color:#000000}
.scene-label strong{font-size:14px}
.stats div>span:not(.live-dot){font-size:12px;line-height:1.7}
.section-top>p,.card-copy p,.timeline p:not(.company),.contact-row p,.skill-panel p{font-size:16px}
.card-meta{font-size:11px;line-height:1.7;color:#454545}
.chips span,.skill-panel .chips span{font-size:12px}
.filter-bar>span{font-size:10px;color:#454545;max-width:180px;line-height:1.6;text-align:right}
.timeline-date{font-size:12px;line-height:1.7}.timeline-date span{font-size:11px}
.timeline .company{font-size:14px}
.education>span{font-size:12px}.education p{font-size:15px}.education small{font-size:13px}
.window-bar{font-size:11px}.scan-line{font-size:9px;gap:10px;line-height:1.5}
.diagnosis span{font-size:12px}.diagnosis small{font-size:10px}.mock-note{font-size:8px;line-height:1.5;display:block;margin-right:10px}
.tool-window{width:80%}.project-art{min-height:295px}
.node-row{font-size:10px;gap:20px}.pipeline>span{font-size:11px}.agent-core small{font-size:10px}
.compact-art>div{font-size:11px;line-height:1.7}.art-index{font-size:10px}
.contact-links{font-size:15px}.contact-links button{font-size:13px}
footer>span,footer>a:last-child{font-size:11px;line-height:1.7;color:#454545}
.hero .eyebrow{color:#454545}
.loadout-tabs button>span{opacity:1;color:#454545}
@media(max-width:1050px){.hero{grid-template-columns:1.1fr 1fr}.hero-actions{flex-wrap:wrap;gap:10px 24px}.hero h1{font-size:61px}.hero-tags{gap:8px}.scene-label{padding:8px}.scene-label span{font-size:9px}.scene-label strong{font-size:13px}.stats{gap:18px}.compact-art{gap:18px}.big-art-type{font-size:45px}.filter-bar>span{display:none}}
@media(max-width:720px){.hero{grid-template-columns:1fr}.hero h1{font-size:60px}.hero-description{font-size:17px}.hero-tags{font-size:11px;gap:8px}.hero-actions{gap:12px 23px}.hero-footnote{font-size:11px;gap:7px}.hero-footnote .small-line{display:none}.orbital-scene{height:440px}.stats div>span:not(.live-dot){font-size:11px}.stats .stat-note p{font-size:14px}.stats .stat-note{gap:10px}.filter-bar{flex-wrap:wrap;justify-content:flex-start;gap:8px}.filter-bar button{font-size:14px;padding:10px 12px}.card-copy{padding:22px}.card-meta{font-size:11px}.card-copy h3{font-size:24px}.compact-art{height:145px;padding:20px;gap:18px}.compact-art>div{font-size:10px}.big-art-type{font-size:48px}.wire-cube{width:95px;flex-shrink:0}.timeline-date{display:block}.timeline-date span{margin-top:7px}.education small{font-size:13px}.contact-links{font-size:14px;gap:22px}.contact-links button{font-size:13px}footer>span{font-size:10px}footer>a:last-child{font-size:11px}}

/* User-selected palette. */
:root{--bg:#ffffff;--panel:#ffffff;--line:#00000038;--text:#000000;--muted:#454545;--green:#000000}
body{background:#ffffff;color:#000000}
.header{background:#ffffff}
.primary,.brand-mark,.filter-bar button.active{background:#000000;color:#ffffff}
.button:hover{background:#000000;color:#ffffff}
.orbital-scene{background:radial-gradient(ellipse at center,#00000012,transparent 68%)}
.project-card{background:#ffffff}.project-card:hover{border-color:#000000}
.doctor-art,.hermes-art{background:radial-gradient(at 50% 100%,#00000022,#ffffff)}
.search-art,.docs-art,.cloud-art,.game-art{background:#ffffff;color:#000000}
.loadout{background:#ffffff}.loadout-tabs button.active{background:#00000016;color:#000000}
.contact{background:radial-gradient(at 100% 0,#00000018,transparent 60%),#ffffff;border-color:#00000066}
.chips span{background:#ffffff;color:#454545;border-color:#00000040}
.scene-label{background:#ffffffcc;border-color:#00000066}
.scene-label span,.card-meta,.hero-footnote,.hero .eyebrow,.timeline-date,.education>span,footer>span,footer>a:last-child{color:#454545}
.tool-window{background:#ffffff;border-color:#00000080}.window-bar{color:#000000}.diagnosis i{background:#00000022;color:#000000}
.agent-core{color:#000000;border-color:#000000}.pipeline>span{background:#ffffff;color:#454545}
dialog{background:#ffffff;border-color:#000000;color:#000000}
#toast{background:#000000;color:#ffffff}

/* Pure black page background. */
:root{--bg:#ffffff}
body,.header{background:#ffffff}

/* Motion layer: scroll, lens response, and lightweight interface feedback. */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:#000000;transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.reveal-pending{opacity:0;translate:0 25px}
.reveal-item{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.hero-copy{animation:hero-arrive .9s cubic-bezier(.16,1,.3,1) both}
.orbital-scene{animation:hero-arrive 1.2s .1s cubic-bezier(.16,1,.3,1) both}
.scene-label{animation:label-drift 6s ease-in-out infinite}
.label-cloud{animation-delay:-2s}.label-game{animation-delay:-4s}
.heading-dot{animation:slow-turn 24s linear infinite}
.live-dot{animation:signal-pulse 3s ease-in-out infinite}
.button{position:relative;overflow:hidden}
.button:after{content:'';position:absolute;inset:-60% auto -60% -70%;width:35%;background:linear-gradient(90deg,transparent,#00000066,transparent);transform:skewX(-20deg);pointer-events:none;transition:left .65s ease}
.button:hover:after,.button:focus-visible:after{left:140%}
.project-card{transition:transform .3s,border-color .3s,box-shadow .3s,rotate .3s;isolation:isolate}
.project-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(350px circle at var(--light-x,50%) var(--light-y,50%),#00000014,transparent 65%);opacity:0;transition:opacity .3s}
.project-card:hover:after{opacity:1}.project-card:hover{box-shadow:0 12px 40px #0000000a}
.card-arrow{transition:translate .25s}.project-card:hover .card-arrow{translate:3px -3px}
.tool-window{animation:tool-float 7s ease-in-out infinite}
.scan-progress span{animation:scan-load 5s ease-in-out infinite}
.timeline article{transition:border-color .3s}.timeline article:hover{border-color:#000000}
.contact{position:relative;overflow:hidden}.contact:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 0,#00000012,transparent 60%);animation:ambient-breathe 8s ease-in-out infinite}
.contact>*{position:relative}
dialog[open]{animation:dialog-arrive .28s ease both}
@keyframes hero-arrive{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes label-drift{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes slow-turn{to{transform:rotate(350deg)}}
@keyframes signal-pulse{0%,100%{box-shadow:0 0 0 0 #00000000}50%{box-shadow:0 0 0 5px #00000012}}
@keyframes tool-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes scan-load{0%,100%{width:60%;opacity:.7}50%{width:90%;opacity:1}}
@keyframes ambient-breathe{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes dialog-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
body.still .reveal-pending{opacity:1;translate:none}body.still .project-card{rotate:none}body.still .scroll-progress{display:none}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;translate:none}.project-card{rotate:none}.scroll-progress{display:none}}
@media(hover:none){.project-card{rotate:none}.project-card:after{display:none}}

/* State transitions and navigation feedback. */
nav a,.contact-links a{position:relative;transition:color .22s ease}
nav a:after,.contact-links a:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#000000;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
nav a:hover:after,nav a:focus-visible:after,.contact-links a:hover:after,.contact-links a:focus-visible:after{transform:scaleX(1)}
.filter-bar button,.loadout-tabs button,.nav-contact,#motion,.contact-links button{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.filter-bar button:hover:not(.active),.nav-contact:hover,.contact-links button:hover{background:#00000012;color:#000000;border-color:#000000}
.loadout-tabs button b{transition:translate .25s ease}.loadout-tabs button:hover b,.loadout-tabs button.active b{translate:3px -3px}
.chips span{transition:border-color .25s ease,background-color .25s ease}.project-card:hover .chips span{border-color:#00000066;background:#0000000a}
dialog::backdrop{animation:backdrop-arrive .25s ease both}
@keyframes backdrop-arrive{from{background:#ffffff00;backdrop-filter:blur(0)}to{background:#ffffffb8;backdrop-filter:blur(12px)}}

/* White theme with black typography and light gray supporting surfaces. */
:root{--bg:#ffffff;--panel:#ffffff;--text:#000000;--muted:#454545;--line:#E5E5E5;--green:#000000}
body,.header,.project-card,.loadout{background:#ffffff;color:#000000}
.primary,.brand-mark,.filter-bar button.active{background:#000000;color:#ffffff}
.chips span{background:#f5f5f5;color:#454545;border-color:#E5E5E5}
.compact-art{background:#f5f5f5;color:#000000}
.scene-label{background:#ffffffdd;border-color:#00000040}
dialog{background:#ffffff;color:#000000;border-color:#E5E5E5}
dialog::backdrop{background:#00000055}
@keyframes backdrop-arrive{from{background:#00000000;backdrop-filter:blur(0)}to{background:#00000055;backdrop-filter:blur(12px)}}

/* Full-name wordmark without a logo. */
.header .brand{font-size:19px;letter-spacing:-.4px;font-weight:650;white-space:nowrap}
footer .brand{font-size:15px;letter-spacing:-.2px}
@media(max-width:720px){.header .brand{font-size:17px}.header{gap:12px}.nav-contact span{margin-left:10px}}
