/* Purple liquid glass: luminous surfaces over a continuous violet atmosphere. */
:root{--paper:#100b22;--ink:#f6f2ff;--muted:#c0b5d4;--green:#a882ff;--lime:#d9c4ff;--line:rgba(218,195,255,.17);--white:#f7f0ff}
body{background:radial-gradient(ellipse at 82% 9%,#6230a357 0,transparent 36%),radial-gradient(ellipse at 3% 35%,#512c8745 0,transparent 35%),radial-gradient(ellipse at 85% 78%,#5e328a55 0,transparent 40%),#100b22;background-attachment:fixed;color:var(--ink)}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 40% 0%,#9b60ff24,transparent 50%)}
a:focus-visible{outline-color:#d7b9ff}.skip-link{background:#7846c6}
.topbar{margin:18px auto 0;width:min(1220px,calc(100% - 36px));height:68px;padding:0 26px;border:1px solid #ead6ff30;border-radius:6px;background:linear-gradient(110deg,#ffffff14,#d5b5ff09);box-shadow:none}
.mark span,.nav-cta span,.text-link span,.project-link span,.edu-download span{color:#c99fff}.topbar nav{color:#d3c6e5}.topbar nav a:hover,.social-links a:hover,.text-link:hover{color:#efd9ff}.nav-cta{border-color:#ecd7ff36;border-radius:4px;background:#d6b8ff10}
.hero{min-height:620px}.eyebrow,.eyebrow-light{color:#bba9d2}.status-dot,.audio-live i{background:#cf9eff;box-shadow:none}.eyebrow-divider{color:#675479}
.serif-accent,.experience-heading .serif-accent,.contact-inner .serif-accent{color:#d4afff;text-shadow:none}.hero-lede,.section-heading>p,.about-intro p{color:#c2b7d1}.hero-meta,.art-caption,.art-index{color:#aa97c3}.meta-sep{color:#765690}
.button{border-radius:4px;border:1px solid #efdfff55;box-shadow:none}.button-dark,.button-lime{color:#fff;background:linear-gradient(135deg,#bf8fffc9,#8950dec9);}.button-dark:hover,.button-lime:hover{background:linear-gradient(135deg,#d0aaff,#9a65e9);box-shadow:none}.text-link{color:#dfd0f0}
.hero-art{overflow:visible}.art-glow{width:340px;height:340px;background:radial-gradient(circle,#a866ff80 0,#6e36b84d 42%,transparent 70%);filter:none}.art-orbit{border-color:#d4b2ff48;box-shadow:none}.orbit-one{border-width:2px;background:linear-gradient(130deg,#fff2,transparent 24%,transparent 75%,#b978ff30)}.orbit-two{border-color:#bd8cff38}.caption-line{background:#bd8cff}.art-index span{color:#d9b7ff}
.code-window{border-radius:6px;border-color:#e1c8ff55;background:linear-gradient(130deg,#e3c9ff20,#9467bd17 50%,#ceadff12);box-shadow:none}
.window-bar{background:#f0ddff0b;border-color:#e4cbff20;color:#c8afd9}.window-dots i{background:#b885ef}.window-dots i:nth-child(2){background:#d5b1f4}.window-dots i:nth-child(3){background:#9171bc}.code-lines{color:#eee5ff}.ln{color:#927ca9}.kw{color:#d5a6ff}.fn{color:#f3c5fa}.comment{color:#b29ec7}.cursor{background:#e1b8ff}.code-status{border-color:#e4cbff20;color:#bea8d2}.code-status i{background:#d5adff}
.signal-band{background:#b58aff08;border-color:#dbc1ff1c;}.signal-label{color:#a18cb9}.signal-items{color:#d7c6eb}.signal-items b{color:#ba88ed}
.project-card,.toolkit{background:linear-gradient(130deg,#eddfff12,#b98aeb08 55%,#e3c6ff0e);border:1px solid #e2c7ff30;border-radius:6px;overflow:hidden;box-shadow:none;transition:transform .3s,border-color .3s,box-shadow .3s}
.project-card:hover{transform:translateY(-5px);border-color:#d9b0ff66;box-shadow:none}.project-info{padding:27px}.project-info p{color:#c0b2d0}.project-kicker{color:#b29bc8}.project-link{color:#ecddff}.tag-row span{background:#d5adff12;border:1px solid #d4b4ff20;color:#d4bde9;border-radius:3px}
.city-visual{background:linear-gradient(135deg,#583480,#2c1d49)}.map-grid{background-image:linear-gradient(#dcc0ff1c 1px,transparent 1px),linear-gradient(90deg,#dcc0ff1c 1px,transparent 1px)}.city-visual:after{background:linear-gradient(115deg,#d1a0ff22,transparent 60%,#a16fff14)}.map-ring{border-color:#d6acff44}.map-route{background:#dfb6ff;box-shadow:none}.map-pin{background:#b789e6;color:white;box-shadow:none}.pin-b{background:#e1b7ff;color:#321747}.label-top{color:#d4b8ef}.map-readout{color:#d1bce9;background:#29153d7a;border:1px solid #dfbeff40;border-radius:4px;}.map-readout strong{color:#f2e2ff}.readout-rule{border-color:#dcc2ff30}
.audio-visual{background:radial-gradient(ellipse at 70% 30%,#9861c944,transparent 65%),linear-gradient(130deg,#32204e,#21152f)}.audio-top{color:#c4a7df}.audio-live{color:#e0bdff}.waveform span{background:linear-gradient(#f1d3ff,#ae73ed);box-shadow:none}.transcript{border-color:#d4b3ff26}.transcript b{color:#d6a9ff}.transcript span{color:#e2d2ef}.audio-foot{color:#ac90c3}
.experience-section{background:linear-gradient(120deg,#b784ff08,#d3abff04);color:#f6f0ff;border-top:1px solid #d3aaff1c;border-bottom:1px solid #d3aaff1c}.experience-heading h2{color:#f6f0ff}.experience-heading>p{color:#bba9ce}.timeline-item{border-color:#d7bbff24}.timeline-item:last-child{border-color:#d7bbff24}.timeline-date,.timeline-location{color:#b59bcb}.company{color:#c5aedc}.timeline-main p{color:#c9bad8}.tag-row-dark span{background:#c693ff12;color:#d8bfee}
.about-facts span{color:#af99c6}.about-facts strong{color:#ead4ff}.toolkit-top,.toolkit-bottom{color:#bc9bd5}.toolkit-mark{color:#d1a3ff}.tool-group{border-color:#d2b3f425}.tool-label{color:#bba0d2}.tool-group p{color:#e0d0ed}.tool-group p i{color:#a67ac8}.education-strip{border-color:#dabaff25}.edu-symbol{color:#dfbaff;background:#bd88ff15;border:1px solid #d1a6ff30}.education-strip p{color:#b9a4c9}.education-strip p span{color:#ab7ed0}.edu-download{color:#e1c9f3}
.contact-section{margin:0 auto;width:min(1240px,calc(100% - 36px));border-radius:6px;background:radial-gradient(ellipse at 78% 38%,#b16bff33,transparent 60%),linear-gradient(125deg,#d6adff14,#a475cf09);border:1px solid #dfc5ff35;box-shadow:none;}.contact-inner{width:calc(100% - 80px)}.contact-inner>p{color:#c6b4d8}.contact-spark{color:#d4aaffb0;filter:none}.spark-two{color:#bc8bef70}.footer-note,.social-links,.copyright{color:#b4a0c6}.footer{min-height:110px}
@media(max-width:560px){.topbar{width:calc(100% - 24px);margin-top:12px;padding:0 16px;border-radius:6px}.hero{padding-top:44px}.hero-art{overflow:hidden}.code-window{border-radius:6px}.project-card{border-radius:6px}.project-info{padding:22px}.contact-section{width:calc(100% - 24px);border-radius:6px}.contact-inner{width:calc(100% - 40px)}.contact-inner h2{font-size:45px}.footer{padding-top:24px;padding-bottom:24px}.spark-one{right:0;opacity:.5}.spark-two{right:0;opacity:.5}}
/* Simplified portfolio layout. */
.hero{min-height:500px;gap:72px;padding-top:75px;padding-bottom:75px;grid-template-columns:1.25fr 1fr}.hero h1{font-size:clamp(46px,5vw,66px);letter-spacing:-.055em;margin:22px 0}.hero-role{display:block;font-size:.52em;letter-spacing:-.035em;color:#cbb6e4;margin-top:12px;font-weight:500}.hero-lede{max-width:520px}.hero-meta{margin-top:28px}.profile-card{padding:28px 30px;border:1px solid #e2c7ff32;border-radius:6px;background:linear-gradient(125deg,#e4ceff15,#b28ad608);box-shadow:none;}.profile-row{padding-bottom:24px}.profile-row+.profile-row{padding-top:22px;border-top:1px solid #d6b9f222}.profile-row>span{font-size:11px;color:#af96c5}.profile-row h2{font:600 18px/1.4 var(--display);letter-spacing:-.02em;margin:10px 0 5px}.profile-row p{font-size:13px;color:#d0bfdd;margin:0 0 6px}.profile-row small{font-size:11px;color:#aa94c0}.profile-card>a{display:flex;justify-content:space-between;font-size:12px;padding-top:20px;border-top:1px solid #d6b9f222;color:#d8b9f4}.section{padding-top:72px;padding-bottom:80px}.section-heading h2,.about-intro h2{font-size:36px;letter-spacing:-.04em}.section-heading .eyebrow,.about-intro>.eyebrow,.contact-inner>.eyebrow{display:none}.section-heading h2{margin:0}.section-heading{margin-bottom:30px}.eyebrow{letter-spacing:.06em}.project-visual{height:210px}.project-info h3{font-size:23px}.project-info p,.timeline-main p,.about-intro p{font-size:14px}.project-kicker{letter-spacing:.02em}.transcript{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#ccb6df}.waveform{height:75px}.contact-inner{padding-top:48px;padding-bottom:50px}.contact-inner h2{font-size:36px;margin:0 0 15px;letter-spacing:-.04em}.contact-inner>p{font-size:14px}.contact-inner .button{gap:15px}.contact-section{border-radius:6px}.education-strip{margin-bottom:70px}.toolkit{padding-bottom:12px}.project-card:hover{transform:translateY(-2px)}.footer-note{font-size:11px}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.profile-card{max-width:540px;width:100%}.hero-lede{max-width:580px}.section{padding-top:60px;padding-bottom:65px}}
@media(max-width:560px){.hero{padding-top:40px}.hero h1{font-size:46px}.hero-role{font-size:25px}.profile-card{padding:23px}.section-heading h2,.about-intro h2{font-size:30px}.contact-inner h2{font-size:32px}.contact-inner .button{font-size:11px;padding:14px 12px;gap:8px}.project-visual{height:200px}.hero-meta{line-height:1.6}.about-facts{gap:20px}}

/* Solid black surfaces with purple accents. */
:root{--paper:#09090b;--ink:#f4f4f5;--muted:#a1a1aa;--green:#a78bfa;--lime:#a78bfa;--line:#28282f;--white:#fafafa}
body{background:#09090b;color:#f4f4f5;background-attachment:scroll}body:before{display:none}
.topbar{background:#111114;border-color:#29292f;box-shadow:none}.nav-cta{background:#1b1b21;border-color:#34343d;color:#eeeeF2}.topbar nav{color:#b8b8c1}.wordmark{color:#f4f4f5}.mark span{color:#a78bfa}
.profile-card,.project-card,.toolkit{background:#131316;border-color:#303038;box-shadow:none}.project-card:hover{background:#17171c;border-color:#7050ae;box-shadow:none}.profile-row+.profile-row,.profile-card>a,.tool-group{border-color:#303038}.profile-row>span,.profile-row small,.tool-label,.toolkit-top,.project-kicker{color:#a1a1ad}.profile-row p,.tool-group p,.profile-card>a{color:#d4d4dc}.profile-row h2,.project-info h3{color:#f4f4f5}
.hero-role,.serif-accent{color:#a78bfa;text-shadow:none}.hero-lede,.project-info p,.timeline-main p,.about-intro p,.contact-inner>p{color:#b5b5c1}.hero-meta,.eyebrow,.eyebrow-light,.footer-note,.copyright{color:#92929f}.status-dot{background:#a78bfa;box-shadow:none}.eyebrow-divider,.meta-sep{color:#5b5b68}
.button-dark,.button-lime{background:#7540cf;color:#fff;border-color:#915de0;box-shadow:none}.button-dark:hover,.button-lime:hover{background:#864fde;border-color:#a174ec;box-shadow:none}.text-link,.project-link,.edu-download{color:#d4d4df}.text-link span,.project-link span,.nav-cta span,.edu-download span{color:#b69aef}
.tag-row span,.tag-row-dark span{background:#20192b;border-color:#392c4b;color:#c7b3e8}.experience-section{background:#0e0e11;border-color:#27272e}.experience-heading h2{color:#f4f4f5}.timeline-item,.timeline-item:last-child{border-color:#2a2a32}.timeline-date,.timeline-location{color:#92929f}.company{color:#b7a3d6}.about-facts strong{color:#c5a7f6}.about-facts span{color:#92929f}.education-strip{border-color:#2a2a32}.education-strip p{color:#a1a1ad}
.contact-section{background:#121215;border-color:#303038;box-shadow:none}.social-links{color:#b3b3bf}.contact-inner h2{color:#f4f4f5}
.city-visual{background:#20172e}.city-visual:after{display:none}.map-grid{background-image:linear-gradient(#372947 1px,transparent 1px),linear-gradient(90deg,#372947 1px,transparent 1px)}.map-ring{border-color:#554067}.map-route{background:#a782d9;box-shadow:none}.map-pin{background:#784ca9;color:#fff;box-shadow:none}.pin-b{background:#a481cd;color:#100c16}.label-top{color:#c5addf}.map-readout{background:#18121f;border-color:#5a406e;color:#b5a2c8}.map-readout strong{color:#e4d6f3}.readout-rule{border-color:#463553}
.audio-visual{background:#18131f}.waveform span{background:#a882d6;box-shadow:none}.audio-top,.audio-foot{color:#ad96c6}.transcript{border-color:#3b2d49;color:#d4c1e8}.hero-portrait{margin:0;justify-self:center;width:280px;max-width:100%;line-height:0}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid #35303f}
@media(max-width:850px){.hero-portrait{grid-row:1;justify-self:start;width:180px}.hero{gap:26px}}
@media(max-width:560px){.hero-portrait{width:160px}}
.certificates{margin-bottom:80px}.certificates h2{font:600 36px var(--display);letter-spacing:-.04em;margin:0 0 26px}.certificate-row{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-top:1px solid #2a2a32}.certificate-row:last-child{border-bottom:1px solid #2a2a32}.certificate-row h3{font:600 19px/1.4 var(--display);letter-spacing:-.02em;margin:0 0 6px;color:#f4f4f5}.certificate-row p{font-size:13px;line-height:1.6;color:#a1a1ad;margin:0}.certificate-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:12px;color:#92929f;white-space:nowrap}.certificate-meta>span{color:#bba2e6}.certificate-meta time{font-size:11px}@media(max-width:560px){.certificates{margin-bottom:60px}.certificates h2{font-size:30px}.certificate-row{flex-direction:column;gap:12px;padding:21px 0}.certificate-meta{align-items:flex-start;flex-direction:row;gap:16px;white-space:normal}.certificate-row h3{font-size:18px}}
.brand-name{font:600 15px/1.25 var(--display);letter-spacing:-.025em;white-space:nowrap;color:#f4f4f5}.wordmark{flex-shrink:0}.topbar nav{gap:28px}.footer .brand-name{font-size:14px}@media(max-width:560px){.brand-name{font-size:13px}.topbar nav{gap:16px}.topbar{gap:14px}}@media(max-width:400px){.topbar nav a:nth-child(2){display:none}.topbar nav{margin-left:auto}.topbar .nav-cta{padding:9px}.footer .brand-name{font-size:13px}}
