@font-face{font-family:Space;src:url('assets/space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:Jet;src:url('assets/jetbrains-mono.woff2') format('woff2');font-weight:400 600;font-display:swap}
:root{--bg:#f7f8fa;--surface:#eff1f4;--text:#242a32;--muted:#68717d;--accent:#496382;--border:#d9dfe6;--mono:Jet,Consolas,monospace;--font:Space,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button{border:0}button::-moz-focus-inner{border:0}.wrap{max-width:1400px;width:calc(100% - 112px);margin-inline:auto}.accent{color:var(--accent)}.muted{color:var(--muted)}.eyebrow{font:12px/1.7 var(--mono);letter-spacing:.075em}.skip-link{position:fixed;top:12px;left:12px;z-index:20;background:var(--accent);color:var(--bg);padding:10px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:24px}.brand{display:inline-flex;align-items:baseline;font-size:43px;line-height:1;font-weight:700;letter-spacing:-4px}.brand>span:first-child{color:var(--accent);font-size:30px;letter-spacing:0}.brand .brand-name{font-size:16px;font-weight:500;letter-spacing:-.5px;margin-left:17px;color:var(--text)}.site-header nav{display:flex;gap:33px;margin-left:34px;font-size:14px}.site-header nav a{color:var(--muted);transition:color .2s}.site-header nav a:hover{color:var(--accent)}.header-cta{font-size:14px;border:1px solid #53594a;padding:10px 17px;border-radius:6px;display:flex;align-items:center;gap:28px;transition:background .2s}.header-cta:hover{background:#23291d}.small-star{color:var(--accent);font-size:21px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;position:relative;padding-top:66px;gap:0 25px}.hero-copy{z-index:2}.live-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:2px}.hero h1{font-size:clamp(64px,6.5vw,100px);line-height:1.015;letter-spacing:-.072em;margin-top:29px;position:relative;max-width:660px}.title-star{display:inline-block;color:var(--accent);font-size:49px;vertical-align:top;margin-left:15px;line-height:1.1;transform:rotate(12deg)}.hero-description{color:#acb1a5;font-size:16px;line-height:1.8;margin-top:28px;max-width:430px}.hero-actions{display:flex;gap:29px;align-items:center;margin:31px 0 41px}.button{font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:16px 23px;min-height:52px;border-radius:6px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:#17200b}.primary:hover{background:#e0ff8e}.button-square{border:1px solid #46522f;width:18px;height:18px;display:grid;place-content:center;line-height:1;font-weight:400;border-radius:3px}.text-link{font-size:14px;border-bottom:1px solid #777e6b;padding-bottom:3px}.text-link:hover{color:var(--accent)}.hero-art{position:relative;min-width:0;align-self:stretch;min-height:460px;isolation:isolate;overflow:hidden;margin-top:0}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#343b292c 1px,transparent 1px),linear-gradient(90deg,#343b292c 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at center,black,transparent 73%);z-index:-1}.hero-art:after{content:'';position:absolute;inset:15% 5%;background:radial-gradient(ellipse,#8da53312,transparent 66%);z-index:-1;pointer-events:none}.art-top,.art-bottom{position:absolute;left:25px;right:12px;display:flex;justify-content:space-between;align-items:center;font:11px var(--mono);letter-spacing:.08em;color:#989f8d;z-index:2;pointer-events:none}.art-top{top:9px}.art-bottom{bottom:35px;font-size:10px}.shape-button{pointer-events:auto;background:#1c2117;border:1px solid #3c442f;border-radius:20px;padding:8px 13px;font:11px var(--mono);color:#c6d2af;display:flex;gap:17px;align-items:center}.shape-button:hover{border-color:var(--accent)}.shape-button span{font-size:18px;line-height:1}.axis{position:absolute;color:#718052;font:20px var(--mono)}.axis-top{top:60px;left:24px}.axis-bottom{bottom:87px;right:10px}#sculpture{width:100%;height:100%;position:absolute;inset:0;cursor:grab;touch-action:pan-y}#sculpture:active{cursor:grabbing}.art-fallback{position:absolute;inset:15%;display:grid;place-content:center;pointer-events:none}.art-fallback span{font-size:200px;color:var(--accent);letter-spacing:-30px;text-shadow:8px 8px 0 #455627;transform:rotate(-12deg)}.art-fallback[hidden]{display:none}.floating-tag{position:absolute;right:5%;bottom:23%;background:#202719b8;backdrop-filter:blur(12px);border:1px solid #4a5737;border-radius:6px;padding:10px 16px;font-size:12px;transform:rotate(-7deg);pointer-events:none;box-shadow:0 6px 40px #0004}.tag-symbol{font-size:20px;margin-right:9px;vertical-align:-1px;color:var(--accent)}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding:24px 0 30px;font:10px var(--mono);letter-spacing:.05em;color:#9ba08f}.hero-foot p{display:flex;align-items:center;gap:12px}.mini-spark{color:var(--accent);font-size:20px}.time{font-size:10px;color:var(--accent);min-width:58px}.discipline-band{border-block:1px solid var(--border);background:#191d15}.discipline-band>.wrap{display:flex;justify-content:space-between;align-items:center;padding-block:21px;font-size:15px;font-weight:500;gap:20px}.discipline-band span:nth-child(even){font-size:22px;color:var(--accent)}
.section-space{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{font-size:clamp(34px,3.5vw,49px);letter-spacing:-.055em;line-height:1.15;margin-top:14px}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.8;max-width:280px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:50px 28px}.project-featured{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;column-gap:45px;align-items:center;padding-bottom:36px;border-bottom:1px solid var(--border)}.project-visual{display:block;width:100%;aspect-ratio:1.45;position:relative;overflow:hidden;border:1px solid #4d573540;border-radius:10px;text-align:left;padding:0;isolation:isolate;transition:border-color .25s}.project-visual:hover{border-color:#9da972}.portfolio-visual{background:#262f1c}.character-visual{background:#20212e}.notes-visual{background:#c9c6b7;color:#272921}.project-type{position:absolute;top:22px;left:24px;font:10px var(--mono);letter-spacing:.06em;z-index:2;color:#bec8b1}.notes-visual .project-type{color:#42453d}.visual-number{position:absolute;top:20px;right:24px;font:12px var(--mono);opacity:.6}.view-pill{position:absolute;bottom:20px;right:20px;z-index:3;background:var(--text);border-radius:30px;padding:8px 14px;color:#171a13;font-size:12px;display:flex;align-items:center;gap:18px;box-shadow:0 4px 14px #0002}.view-pill span{font-size:19px;line-height:1}.project-featured .project-visual{grid-column:1;grid-row:1/5;aspect-ratio:1.65}.project-featured .project-meta{grid-column:2;align-self:end;margin-top:0}.project-featured .project-description{grid-column:2;align-self:start;max-width:360px}.project-featured .tags{grid-column:2;align-self:start}.project-category{font:10px var(--mono);letter-spacing:.075em;color:var(--muted)}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:20px}.project-meta h3{font-size:27px;letter-spacing:-1px;line-height:1.25;margin-top:6px}.project-meta h3 button{padding:0;background:transparent;text-align:left;line-height:inherit;letter-spacing:inherit}.project-meta h3 button:hover{color:var(--accent)}.project-year{font:12px var(--mono);color:var(--muted)}.project-description{font-size:15px;color:var(--muted);line-height:1.8;max-width:450px;margin-top:14px}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:19px}.tags>span{font-size:11px;color:#bfc3b8;border:1px solid var(--border);border-radius:5px;padding:5px 9px}.mini-browser{position:absolute;width:77%;height:75%;top:20%;left:11%;background:#12160e;border:1px solid #77875a66;border-radius:8px;transform:perspective(800px) rotateY(-6deg) rotateX(7deg) rotateZ(-5deg);box-shadow:0 30px 50px #0005;transition:transform .4s}.portfolio-visual:hover .mini-browser{transform:perspective(800px) rotateY(0deg) rotateX(0deg) rotateZ(-2deg) translateY(-8px)}.browser-bar{height:26px;border-bottom:1px solid #39422d;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font:7px var(--mono);color:#9cae82}.browser-bar span:first-child{font-size:5px;letter-spacing:3px}.mini-site{padding:18px 23px;position:relative;overflow:hidden;height:calc(100% - 26px)}.mini-nav{font-size:19px;line-height:1;font-weight:700;color:#d4ff62}.mini-nav span{float:right;font:6px var(--mono);color:#abb69a;letter-spacing:1px;margin-top:5px}.mini-site>p{font-size:clamp(24px,3.2vw,48px);line-height:1.04;letter-spacing:-2px;margin-top:24px;position:relative;z-index:2}.mini-site em{font-style:normal;color:#d4ff62}.mini-line{width:26%;height:9px;background:#d4ff62;border-radius:2px;margin-top:21px}.mini-caption{font:5px var(--mono);color:#abb69a;display:block;margin-top:19px}.mini-orbit{position:absolute;right:-15px;top:34%;width:150px;height:150px;border:1px solid #748b4780;border-radius:50%;transform:rotate(-20deg)}.mini-orbit i{position:absolute;inset:10%;border:1px solid #a4c563;border-radius:50%;transform:rotateY(60deg)}.mini-orbit i:nth-child(2){transform:rotateX(60deg)}.mini-orbit i:nth-child(3){inset:30%;background:#ccf974;box-shadow:0 0 40px #d4ff6222}.character-window{position:absolute;width:75%;left:13%;top:22%;border:1px solid #77708c;background:#171823;border-radius:8px;box-shadow:0 18px 35px #0004;transform:rotate(-3deg);transition:transform .4s}.character-visual:hover .character-window{transform:rotate(0deg) translateY(-7px)}.char-window-title{font:10px var(--mono);padding:12px 18px;color:#b9b3d2;border-bottom:1px solid #4c485f}.char-window-title>span{float:right;letter-spacing:2px}.char-code{padding:22px 20px;font:clamp(10px,1.1vw,15px)/1.9 var(--mono);color:#d6d4e0}.char-code>span{color:#b69ced}.char-code em{font-style:normal;color:#cfed9d}.character-stats{display:flex;gap:15px;padding:0 20px 20px}.character-stats>span{flex:1;font:7px var(--mono);color:#a59eb8}.character-stats i{display:block;width:90%;height:3px;background:#b69ced;margin-top:8px}.character-stats>span:nth-child(2) i{width:100%;background:#d4ff62}.character-bottom{font:7px var(--mono);padding:9px 20px;border-top:1px solid #383445;color:#a59eb8}.notes-layout{position:absolute;inset:21% 10% 0 13%;transform:rotate(-6deg);transition:transform .4s}.notes-visual:hover .notes-layout{transform:rotate(-2deg) translateY(-6px)}.note-edition{font:8px var(--mono);border-bottom:1px solid #747768;padding-bottom:7px;display:block;width:80%}.notes-layout strong{font-size:clamp(58px,6vw,90px);letter-spacing:-6px;line-height:.9;display:block;margin-top:16px;font-weight:500}.notes-layout strong>span{font-size:60px;position:absolute;right:7%;top:35%;color:#434f2e}.note-rule{height:1px;width:80%;background:#747768;margin-top:18px}.notes-layout p{font-size:11px;line-height:1.4;margin-top:10px}
.about-section{border-block:1px solid var(--border);background:#171a14}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-heading h2{font-size:clamp(50px,5.7vw,77px);line-height:1.03;letter-spacing:-.065em;margin-top:25px}.personal-stamp{display:flex;gap:22px;align-items:center;margin-top:46px}.personal-stamp>span{font-size:63px;color:var(--accent);line-height:1}.personal-stamp>p{font:11px/1.7 var(--mono);color:#a5ad99}.about-lead{font-size:30px;line-height:1.3;letter-spacing:-1px;margin-top:28px;margin-bottom:24px}.about-content>p:not(.about-lead){color:var(--muted);line-height:1.8;margin-top:15px}.education{display:flex;gap:17px;align-items:center;padding:24px 0;margin-top:25px;border-block:1px solid #393e31}.education-icon{font-size:31px;width:51px;height:51px;border:1px solid #596644;border-radius:10px;display:grid;place-content:center;color:var(--accent);flex-shrink:0}.education h3{font-size:20px;letter-spacing:-.5px}.education p{font-size:12px;color:var(--muted);margin-top:2px}.toolbox{margin-top:29px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.skill-tags>span{font-size:12px;padding:8px 12px;border-radius:5px;background:#22271c;border:1px solid #3d4632;color:#c6ceba}
.contact-row{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;margin-top:25px}.contact-row h2{font-size:clamp(56px,6vw,82px);line-height:1.05;letter-spacing:-.07em}.contact-star{display:inline-block;font-size:55px;color:var(--accent);margin-left:27px;vertical-align:6px}.contact-copy{padding-left:20px}.contact-copy>p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:23px}.contact-copy>.button{gap:56px}.email-row{display:flex;align-items:center;gap:13px;margin-top:22px;flex-wrap:wrap}.email-address{font-size:14px}.email-address:hover{color:var(--accent)}.copy-button{display:grid;place-content:center;background:none;width:35px;height:35px;color:var(--muted);border:1px solid #393f30;border-radius:5px}.copy-button:hover{color:var(--accent);border-color:var(--accent)}.site-footer{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-block:28px;gap:22px}.site-footer .brand{font-size:35px}.site-footer>p{color:var(--muted);font-size:12px;margin-right:auto}.footer-divider{margin-inline:11px;color:#58604c}.motion-button,.back-top{font:11px var(--mono);color:var(--muted);background:none}.motion-button{border:1px solid var(--border);border-radius:5px;padding:8px 10px;min-height:38px}.motion-button>span{color:var(--accent);margin-right:7px}.back-top:hover{color:var(--accent)}
dialog{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #535d43;background:#191e15;color:var(--text);border-radius:16px;padding:30px;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#080b08bb;backdrop-filter:blur(10px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:var(--muted)}.close-button{background:#2a3221;border:1px solid #49573a;border-radius:50%;width:40px;height:40px;font-size:28px;line-height:1}.close-button:hover{background:#3a492a}#dialog-title{font-size:40px;line-height:1.15;letter-spacing:-1.8px;margin:12px 0 18px}.dialog-intro{font-size:16px;color:#b6beab;line-height:1.8}.dialog-body{margin-top:24px}.dialog-body h3{font-size:20px;margin:24px 0 10px}.dialog-body p{color:#b6beab;font-size:15px;line-height:1.8}.dialog-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-block:1px solid #414b35;margin:27px 0;padding:20px 0}.dialog-facts>div{display:flex;flex-direction:column;gap:6px;font-size:14px}.dialog-facts span{font:10px var(--mono);color:var(--muted)}.lab-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.lab-controls label{font-size:13px;color:#b6beab;display:flex;flex-direction:column;gap:9px}.lab-controls input[type=text]{width:100%;background:#11160d;border:1px solid #4b5a3b;border-radius:6px;color:var(--text);padding:12px;font-size:16px}.lab-controls input[type=range]{accent-color:var(--accent);margin:10px 0;min-height:26px}.lab-result{background:#11160d;border:1px solid #3e4a30;padding:23px;border-radius:8px;margin:22px 0;font-family:var(--mono)}.lab-result h3{color:var(--accent);margin:0 0 18px;font-family:var(--font);font-size:28px}.lab-result p{font:12px/1.8 var(--mono);margin-top:6px}.lab-meter{height:5px;background:#303b25;border-radius:8px;margin:10px 0 16px}.lab-meter span{display:block;background:var(--accent);height:100%;border-radius:8px}.lab-controls .wide{grid-column:1/-1}.note-tabs{display:flex;gap:7px;margin:25px 0;flex-wrap:wrap}.note-tabs button{font-size:12px;background:#242d1b;border:1px solid #485638;border-radius:30px;padding:9px 13px;color:#c6d1b8}.note-tabs button[aria-pressed=true]{background:var(--accent);color:#18220e;border-color:var(--accent)}.note-article{background:#141910;border:1px solid #3e4a30;border-radius:8px;padding:24px}.note-article h3{margin-top:0;font-size:25px}.note-article p+p{margin-top:15px}.note-article code{color:var(--accent);font-family:var(--mono);font-size:13px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:13px 22px;z-index:30;background:var(--accent);color:#16210c;box-shadow:0 5px 35px #0006;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;font-size:14px;text-align:center;max-width:calc(100% - 30px)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.hero{padding-top:85px}.hero h1{font-size:109px}.hero-art{min-height:555px}.hero-foot{padding-bottom:37px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:0 8px;padding-top:48px}.hero h1{font-size:73px}.title-star{font-size:34px;margin-left:9px}.hero-art{min-height:470px}.art-top{font-size:9px;left:12px}.art-bottom{left:12px}.hero .eyebrow{font-size:10px;letter-spacing:.025em}.hero-foot{font-size:9px}.discipline-band>.wrap{font-size:12px;gap:10px}.project-featured{gap:25px}.project-featured .project-visual{aspect-ratio:1.25}.mini-browser{top:24%;height:65%;width:87%;left:6%}.mini-site>p{font-size:35px}.project-meta h3{font-size:24px}.about-grid{gap:50px}.about-heading .eyebrow{font-size:10px}.contact-row{gap:20px}.contact-row h2{font-size:64px}.contact-star{font-size:40px;margin-left:15px}.contact-copy{padding-left:0}.section-space{padding-block:80px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.site-header{height:84px}.brand .brand-name{display:none}.site-header nav{margin-left:0;gap:25px}.header-cta{padding:9px 12px;gap:16px}.hero{grid-template-columns:1fr 0.75fr;padding-top:45px}.hero h1{font-size:62px}.title-star{display:none}.hero-art{min-height:420px;margin-left:-35px;margin-right:-10px}.floating-tag{font-size:10px;right:4%;padding:7px 10px;bottom:25%}.hero-description{font-size:14px}.desktop-break{display:none}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding:14px 17px;gap:22px}.text-link{font-size:12px}.hero-foot{flex-wrap:wrap;padding-top:5px;gap:13px}.hero-foot p{gap:8px}.discipline-band>.wrap{justify-content:center;flex-wrap:wrap;gap:12px 22px;font-size:13px;padding-block:18px}.discipline-band span:nth-last-child(-n+2){display:none}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading>p br{display:none}.section-heading>p{max-width:none}.project-featured{grid-column:1/-1;display:block;border:0;padding:0}.project-featured .project-visual{aspect-ratio:1.7}.project-featured .project-meta{margin-top:22px}.project-featured .project-description{max-width:none}.project-featured .mini-browser{top:18%;height:85%;width:74%;left:14%}.project-featured .mini-site>p{font-size:50px}.mini-orbit{width:170px;height:170px}.projects{gap:36px 20px}.character-window{width:83%;left:9%;top:24%}.project-type{font-size:8px;left:17px;top:16px}.visual-number{font-size:10px;right:17px;top:16px}.character-visual,.notes-visual{aspect-ratio:1.02}.char-code{font-size:10px;padding:15px 12px}.char-window-title{font-size:8px;padding:9px 12px}.character-stats{padding:0 12px 14px}.character-bottom{font-size:5px;padding:8px 12px}.view-pill{font-size:10px;right:12px;bottom:12px}.project-meta h3{font-size:22px}.project-year{font-size:10px}.project-description{font-size:14px}.tags>span{font-size:10px}.notes-layout strong{font-size:57px;letter-spacing:-4px}.notes-layout strong>span{font-size:38px;right:6%;top:33%}.note-edition{font-size:6px}.notes-layout p{font-size:9px}.about-grid{gap:35px}.about-heading h2{font-size:53px}.about-lead{font-size:25px}.about-content>p:not(.about-lead){font-size:14px}.education p{font-size:11px}.education-icon{width:39px;height:39px;font-size:25px}.education{gap:12px}.contact-row{grid-template-columns:1fr 1fr;gap:35px}.contact-row h2{font-size:53px}.contact-star{font-size:34px}.contact-copy>p{font-size:13px}.email-address{font-size:12px}.site-footer{flex-wrap:wrap;gap:18px}.site-footer>p{font-size:10px}.footer-divider{margin-inline:6px}.back-top{font-size:10px}.motion-button{font-size:10px}}
@media(max-width:580px){.wrap{width:calc(100% - 40px)}.site-header{height:78px;gap:12px}.site-header nav{gap:22px;font-size:13px}.header-cta{display:none}.brand{font-size:37px}.hero{display:flex;flex-direction:column;padding-top:35px}.hero .eyebrow{font-size:9px;letter-spacing:.015em}.hero h1{font-size:clamp(58px,13.7vw,80px);margin-top:23px;letter-spacing:-.069em}.title-star{display:inline-block;font-size:29px;vertical-align:top;margin:3px 0 0 9px}.hero-description{font-size:15px;margin-top:24px;max-width:330px}.hero-actions{margin:24px 0 0;gap:25px}.hero-actions .button{font-size:13px;padding:14px 18px}.text-link{font-size:13px}.hero-art{min-height:355px;height:355px;margin:26px 0 0;width:100%}.art-top{top:5px;right:12px}.art-bottom{bottom:15px}.axis-top{top:44px;left:10px}.axis-bottom{bottom:57px;right:10px}.floating-tag{right:7%;bottom:19%;font-size:11px}.hero-foot{font-size:8px;letter-spacing:0;gap:8px;padding:12px 0 22px;display:flex}.hero-foot>p:last-child{font-size:8px}.time{font-size:9px}.discipline-band>.wrap{gap:9px 15px;font-size:10px;flex-wrap:nowrap;padding-block:15px}.discipline-band span:nth-child(even){font-size:16px}.discipline-band span:nth-last-child(-n+4){display:none}.section-space{padding-block:61px}.section-heading{gap:16px;margin-bottom:28px}.section-heading h2{font-size:36px;max-width:320px}.section-heading>p{font-size:14px}.eyebrow{font-size:10px}.projects{grid-template-columns:1fr;gap:36px}.project-featured .project-visual{aspect-ratio:1.25}.project-featured .mini-browser{top:21%;height:78%;width:88%;left:6%}.project-featured .mini-site>p{font-size:40px}.mini-orbit{width:135px;height:135px;right:-22px}.character-visual,.notes-visual{aspect-ratio:1.35}.project-type{font-size:9px;top:19px;left:20px}.visual-number{top:18px;right:20px}.project-meta{margin-top:18px}.project-meta h3{font-size:25px}.project-year{font-size:11px}.project-description{font-size:14px;margin-top:10px}.tags{margin-top:15px}.character-window{top:22%;left:14%;width:74%}.char-code{font-size:11px;padding:16px}.character-stats{padding:0 16px 14px}.char-window-title{font-size:9px}.character-bottom{font-size:6px}.notes-layout strong{font-size:73px;letter-spacing:-5px}.notes-layout{inset:23% 9% 0 13%}.notes-layout strong>span{font-size:48px}.note-edition{font-size:7px}.note-rule{margin-top:15px}.notes-layout p{font-size:10px}.view-pill{font-size:11px;bottom:16px;right:16px}.about-grid{grid-template-columns:1fr;gap:25px}.about-heading .eyebrow{font-size:9px}.about-heading h2{font-size:61px;line-height:1}.personal-stamp{display:none}.about-lead{font-size:29px;margin:9px 0 20px}.about-content>p:not(.about-lead){font-size:15px}.education{padding:23px 0}.education-icon{width:48px;height:48px;font-size:29px}.education p{font-size:11px}.skill-tags>span{font-size:11px}.contact-row{grid-template-columns:1fr;gap:27px;margin-top:22px}.contact-row h2{font-size:65px}.contact-star{font-size:42px;vertical-align:5px;margin-left:19px}.contact-copy>p{font-size:14px}.contact-copy>.button{padding:14px 21px}.email-address{font-size:14px}.site-footer{display:grid;grid-template-columns:auto 1fr auto;gap:18px 13px;padding-block:23px}.site-footer>p{grid-column:2/-1;font-size:10px;margin:0}.motion-button{grid-column:2;justify-self:start}.back-top{grid-column:3;grid-row:2}.site-footer .brand{font-size:31px}.footer-divider{margin-inline:3px}dialog{padding:21px;border-radius:12px}#dialog-title{font-size:34px}.lab-controls{grid-template-columns:1fr;gap:15px}.dialog-facts{grid-template-columns:1fr;gap:14px}.note-article{padding:18px}.note-tabs{gap:7px}.note-tabs button{font-size:11px}.dialog-intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}html.motion-paused{scroll-behavior:auto}html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{transition:none!important;animation:none!important}

/* Quiet studio palette: paper, ink, slate blue, and brushed silver. */
::selection{background:#cad7e7;color:#24374e}
.skip-link{background:#293f5a;color:#fff}
.site-header nav a{color:#596574}.site-header nav a:hover{color:#233f60}
.header-cta{border-color:#c4ccd7}.header-cta:hover{background:#e8edf3}
.hero h1{letter-spacing:-.06em}.hero-description{color:#626e7c}
.primary{background:#2c435f;color:#fff}.primary:hover{background:#3d5674}
.button-square{border-color:#91a2b8}.text-link{border-color:#a7b4c2}
.art-grid{background-image:linear-gradient(#6279920d 1px,transparent 1px),linear-gradient(90deg,#6279920d 1px,transparent 1px)}
.hero-art:after{background:radial-gradient(ellipse,#95a8bf19,transparent 67%)}
.art-top,.art-bottom{color:#66768a}.axis{color:#8c9eaf}
.shape-button{background:#f1f4f8;border-color:#cbd4df;color:#415775}
.shape-button:hover{background:#e4eaf1;border-color:#889db5}
.floating-tag{background:#ffffffba;border-color:#cad3df;box-shadow:0 8px 30px #3049660c;color:#40526a}
.art-fallback span{text-shadow:8px 8px 0 #ced8e3}
.hero-foot{color:#6e7885}.hero-foot .time{color:#3e5878}
.discipline-band{background:#edf0f4}.discipline-band span:nth-child(even){color:#7b8da4}
.portfolio-visual{background:#dde4ec;border-color:#d2dbe6}
.character-visual{background:#dce2e8;border-color:#d0d8e3}
.notes-visual{background:#e6e0d6;color:#353a40;border-color:#d9d3c9}
.project-visual:hover{border-color:#8c9fb6}
.project-type{color:#4b5f77}.notes-visual .project-type{color:#646158}
.view-pill{background:#fff;color:#2d4057;box-shadow:0 4px 14px #3447620c}
.tags>span{color:#626f7f}.mini-browser{background:#fafbfd;border-color:#c3cedb;box-shadow:0 30px 50px #2c435c20}
.browser-bar{border-color:#dce3ec;color:#788aa1}.mini-nav{color:#3c5779}
.mini-nav span{color:#677f99}.mini-site{color:#25364b}
.mini-site em{color:#546f92}.mini-line{background:#637e9d}.mini-caption{color:#6f829a}
.mini-orbit{border-color:#9badc166}.mini-orbit i{border-color:#8c9eb7}
.mini-orbit i:nth-child(3){background:#7d95b0;box-shadow:0 0 40px #8ca5c123}
.character-window{background:#f8fafc;border-color:#b9c6d4;box-shadow:0 18px 35px #354f6b20}
.char-window-title{color:#61758f;border-color:#d5dee8}
.char-code{color:#3b4b60}.char-code>span{color:#7c6071}.char-code em{color:#4d7280}
.character-stats>span{color:#6d8296}.character-stats i{background:#a195a0}
.character-stats>span:nth-child(2) i{background:#748fa7}
.character-bottom{border-color:#d9e1e9;color:#718398}
.note-edition{border-color:#a5a196}.notes-layout strong>span{color:#8e8170}
.note-rule{background:#b1ab9f}
.about-section{background:#eef1f5}.personal-stamp>p{color:#6b798c}
.personal-stamp>span{color:#8296af}.education{border-color:#d4dde7}
.education-icon{border-color:#b5c4d6;background:#e4ebf3}
.skill-tags>span{background:#f7f9fc;border-color:#ccd7e4;color:#506780}
.copy-button{border-color:#cbd5e0}.copy-button:hover{background:#edf1f7}
.footer-divider{color:#a3afbd}
dialog{background:#fafbfd;border-color:#c6d1dd;box-shadow:0 30px 120px #1d2f4540}
dialog::backdrop{background:#24364963;backdrop-filter:blur(12px)}
.close-button{background:#edf1f6;border-color:#c5d2e2;color:#45617f}.close-button:hover{background:#dce5f0}
.dialog-intro,.dialog-body p{color:#607087}.dialog-facts{border-color:#d6e0eb}
.lab-controls label{color:#576a83}.lab-controls input[type=text]{background:#fff;border-color:#bcccdc;color:#283e58}
.lab-result{background:#eff3f8;border-color:#c8d6e5}.lab-meter{background:#d5dfeb}
.note-tabs button{background:#edf2f8;border-color:#c4d3e4;color:#4d6480}
.note-tabs button[aria-pressed=true]{background:#365170;color:#fff;border-color:#365170}
.note-article{background:#f1f5fa;border-color:#d3dfec}
.toast{background:#304c6a;color:#fff;box-shadow:0 5px 35px #263d5730}

/* Scroll motion enhances native scrolling and disappears when motion is off. */
.scroll-reveal{opacity:0;transform:translate3d(0,38px,0);filter:blur(3px);transition:opacity .95s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.2,.7,.2,1),filter .95s ease;transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.hero-copy{transform:translate3d(0,var(--hero-drift,0px),0);opacity:var(--hero-opacity,1);will-change:transform,opacity}
.hero-art{transform:translate3d(0,var(--art-drift,0px),0);will-change:transform}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:#748ba5;z-index:25;transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
html.motion-paused .scroll-reveal{opacity:1;transform:none;filter:none}
html.motion-paused .hero-copy,html.motion-paused .hero-art{transform:none;opacity:1;will-change:auto}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;filter:none}.hero-copy,.hero-art{transform:none;opacity:1;will-change:auto}}
