:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#101113;--color-surface:#161719;--color-surface-raised:#1c1e20;--color-text:#edeeeb;--color-muted:#a0a3a3;--color-subtle:#929696;--color-border:#2c2e30;--color-border-subtle:#232527;--color-accent:#b9cbb5;--font-sans:Arial, Helvetica, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--page-width:1280px;--page-gutter:clamp(22px, 5.4vw, 80px);--header-height:82px;--radius:6px}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 24px)}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{color:var(--color-background);background:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px;border-radius:2px}main:focus{outline:none}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}svg{flex-shrink:0}.container{width:min(100%, calc(var(--page-width) + var(--page-gutter) * 2));padding-inline:var(--page-gutter);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--color-text);color:var(--color-background);border-radius:4px;padding:14px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:1.3px;text-transform:uppercase;align-items:center;gap:12px;font-size:10px;font-weight:400;line-height:1.6;display:flex}.mono-label{color:var(--color-muted);font:10px/1.6 var(--font-mono)}.section-number{color:var(--color-accent);margin-right:8px}.status-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.tiny-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block}.text-muted{color:var(--color-muted)}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:0 22px;font-size:12px;font-weight:500;line-height:1.3;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.button--primary{color:#171917;background:#e5e8e1}.button--primary:hover{background:#c9d5c3}.button--secondary{background:var(--color-surface-raised);border-color:#3a3d3d}.button--secondary:hover{border-color:var(--color-muted)}.button--text{color:#ced0cc;padding-inline:0}.button--text:hover{color:var(--color-accent)}.button svg{transition:transform .18s}.button:hover svg{transform:translate(2px,-2px)}.social-links{align-items:center;gap:24px;display:flex}.social-links a,.social-placeholder{color:#c0c3bd;align-items:center;gap:9px;min-height:44px;font-size:12px;display:inline-flex}.social-links a:hover{color:var(--color-accent)}.social-placeholder{cursor:default}.social-links--icons{gap:5px}.social-links--icons a,.social-links--icons .social-placeholder{justify-content:center;width:30px}.code-scene{border-block:1px solid var(--color-border-subtle);background:#121416}.scene-inner{padding-block:27px 25px}.scene-meta,.scene-bottom{justify-content:space-between;align-items:center;gap:20px;display:flex}.scene-meta .eyebrow{letter-spacing:1px;font-size:9px}.scene-file{font:10px var(--font-mono);color:var(--color-subtle)}.scene-stage{place-items:center;min-height:230px;padding-block:60px;display:grid;position:relative}.scene-copy{letter-spacing:-.045em;text-align:center;font-size:clamp(22px,3.3vw,45px);font-weight:400;line-height:1.25}.scene-copy span{color:#b7c2b2}.scene-code{visibility:hidden;font-family:var(--font-mono);color:#abb2ae;font-size:clamp(16px,2.5vw,34px);position:absolute}.scene-code>span{color:#d4dad0}.scene-code .code-string{color:#aabf9d}.scene-progress{background:#353b36;flex:1;max-width:180px;height:1px;overflow:hidden}.scene-progress>span{background:#b7c9ab;width:100%;height:1px;display:block}.mobile-break{display:none}.section{padding-block:108px}.section-heading{margin-bottom:42px}.section-heading .eyebrow{margin-bottom:24px}.section-heading-row{justify-content:space-between;align-items:end;gap:35px;display:flex}h2{letter-spacing:-.05em;font-size:clamp(29px,3.15vw,45px);font-weight:400;line-height:1.15}.section-description{max-width:300px;color:var(--color-muted);font-size:12px;line-height:1.8}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.project-card{min-width:0}.project-visual{border-radius:var(--radius);background:#1c211e;border:1px solid #303431;height:clamp(200px,20vw,265px);position:relative;overflow:hidden}.project-image{object-fit:cover}.project-visual--poll{background:#21211e;border-color:#353630}.project-visual--future{background:#191b1e;border-color:#2d3035}.visual-placeholder-label{font:7px var(--font-mono);letter-spacing:1px;color:#a4aaa0;position:absolute;bottom:12px;left:15px}.project-concept-label{color:#aab8a5;width:100%;font:8px var(--font-mono);justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;top:22px}.music-rings{width:280px;height:280px;position:absolute;top:10%;left:50%;transform:translate(-50%)}.music-rings span{border:1px solid #343e33;border-radius:50%;position:absolute;inset:0}.music-rings span:nth-child(2){inset:24px}.music-rings span:nth-child(3){inset:48px}.music-mark{color:#d7dfd1;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0 0 8px}.music-mark>span{letter-spacing:-1.5px;font-size:clamp(19px,2.1vw,28px);font-weight:600}.concept-period{color:#9aaa8a}.music-wave{opacity:.6;align-items:center;gap:4px;height:30px;display:flex;position:absolute;bottom:31px;left:50%;transform:translate(-50%)}.music-wave span{background:#7c9074;border-radius:2px;width:2px;transform:scaleY(.5)}.poll-concept{background:#282b24;border:1px solid #55574b;border-radius:6px;width:73%;padding:14px;position:absolute;top:20px;left:50%;transform:translate(-50%)rotate(-5deg);box-shadow:0 10px 20px #00000026}.poll-concept-header{color:#bfc2ac;align-items:center;gap:8px;padding-bottom:12px;font-size:7px;display:flex}.poll-option{color:#b3b9a0;height:28px;font:7px var(--font-mono);border:1px solid #454939;border-radius:3px;align-items:center;gap:12px;margin-bottom:5px;padding:0 8px;display:flex}.poll-option:nth-child(2){background:#353c2c;border-color:#81896a}.poll-bar{background:#6e785c;width:70%;height:3px}.poll-bar--second{background:#59604b;width:53%}.poll-bar--third{background:#4d5444;width:38%}.poll-check{margin-left:auto}.poll-wordmark{letter-spacing:-1px;color:#d2d4c3;align-items:center;gap:8px;font-size:24px;display:flex;position:absolute;bottom:33px;right:20px}.poll-wordmark span{color:#a1ad84;font-size:23px}.future-concept{color:#a9b1b7;flex-direction:column;justify-content:center;align-items:center;gap:17px;display:flex;position:absolute;inset:0}.future-concept>span{font:12px var(--font-mono);color:#8f999f}.future-concept .future-cursor{opacity:.55;background:#8b9499;width:5px;height:12px}.project-card-content{padding-top:22px}.project-category{color:var(--color-subtle);font:8px var(--font-mono);letter-spacing:.6px;text-transform:uppercase;align-items:center;gap:14px;display:flex}.project-category>span:first-child{color:#b9c0b5}.project-card h3{letter-spacing:-.8px;margin-top:15px;font-size:24px;font-weight:400}.project-description{color:var(--color-muted);max-width:325px;min-height:68px;margin-top:12px;font-size:12px;line-height:1.9}.project-links{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:20px;display:flex}.project-links a,.project-pending{color:#acb5a6;font:9px/1.5 var(--font-mono);align-items:center;gap:8px;display:inline-flex}.project-links a{min-height:30px}.project-links a:hover{text-decoration:underline}.tag-list{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tag-list li{border:1px solid var(--color-border);color:var(--color-muted);font:10px var(--font-mono);border-radius:3px;padding:6px 8px}.experience-section{padding-top:0}.experience-list{border-block:1px solid var(--color-border)}.experience-item{grid-template-columns:1fr 2fr auto;gap:50px;padding-block:36px;display:grid}.experience-item+.experience-item{border-top:1px solid var(--color-border)}.experience-dates{color:var(--color-muted);font:9px/1.7 var(--font-mono);align-items:baseline;gap:10px;padding-top:5px;display:flex}.experience-item h3{letter-spacing:-.5px;font-size:19px;font-weight:400}.experience-company{color:#bcc3b7;margin-top:9px;font-size:12px}.experience-description{color:var(--color-muted);max-width:510px;margin-top:20px;font-size:12px;line-height:1.9}.experience-arrow{color:#818981}.experience-highlights{color:var(--color-muted);margin-top:20px;padding-left:18px;font-size:13px;line-height:1.8;list-style:outside}.about-section{border-block:1px solid var(--color-border-subtle);background:#151719}.about-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(45px,9vw,140px);display:grid}.about-section .eyebrow{margin-bottom:25px}.about-section h2{margin-bottom:25px;line-height:1.18}.about-copy{max-width:440px;color:var(--color-muted);font-size:13px;line-height:1.9}.about-copy+.about-copy{margin-top:15px}.about-section .button{margin-top:22px}.about-note{border-radius:var(--radius);background:#1b1e1b;border:1px solid #3b403a;padding:29px 30px 24px}.about-note-top{color:#afbca4;justify-content:space-between;align-items:center;gap:20px;display:flex}.about-note-top .mono-label{letter-spacing:1px;color:#adb6a5;font-size:8px}.principle-list{margin:0;padding:25px 0 20px;list-style:none}.principle-list li{letter-spacing:-.45px;color:#d4dbce;border-bottom:1px solid #333930;align-items:center;gap:20px;padding-block:17px;font-size:clamp(14px,1.6vw,21px);display:flex}.principle-list li>span{font:9px var(--font-mono);color:#9ba88f}.principle-list li:last-child{border-bottom:0}.about-note-bottom{font:8px var(--font-mono);color:#a9b1a1;align-items:center;gap:8px;display:flex}.technology-grid{border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.technology-grid>li{align-items:center;gap:16px;padding:25px 20px;display:flex}.technology-grid>li+li{border-left:1px solid var(--color-border)}.technology-symbol{color:#b7c2b1;width:36px;height:36px;font:13px var(--font-mono);letter-spacing:-1px;border:1px solid #434844;border-radius:5px;flex-shrink:0;place-items:center;display:grid}.technology-grid h3{font-size:13px;font-weight:400}.technology-grid p{font:8px/1.6 var(--font-mono);color:var(--color-subtle);margin-top:6px}.contact-section{padding-top:0;padding-bottom:54px}.contact-panel{border-radius:var(--radius);background:#1a1e1a;border:1px solid #373d36;padding:54px;position:relative;overflow:hidden}.contact-content{z-index:1;position:relative}.contact-section h2{margin-top:30px;font-size:clamp(42px,5.5vw,76px);line-height:1.04}.contact-section h2 .contact-heading-accent{color:#b7c6aa}.contact-content>p:not(.eyebrow){color:#b0b8a9;max-width:390px;margin-top:24px;font-size:12px;line-height:1.9}.contact-actions{flex-wrap:wrap;align-items:center;gap:30px;margin-top:30px;display:flex}.contact-actions .social-links{gap:24px}.contact-placeholder{cursor:default}.contact-placeholder:hover{border-color:#3a3d3d}.contact-content>p.contact-status{font:9px/1.8 var(--font-mono);color:#a0ab98;max-width:none;margin-top:18px}.contact-mark{color:#34402f;font:clamp(90px, 11vw, 160px) var(--font-mono);letter-spacing:-.1em;opacity:.55;position:absolute;top:32%;right:-30px;transform:rotate(-10deg)}.contact-mark>span{color:#42503c}.contact-mark-dot{position:absolute;bottom:-50px;right:75px}.resume-status{text-align:center;color:var(--color-subtle);font:10px/1.8 var(--font-mono);padding-top:24px;scroll-margin-top:100px}.resume-status a{align-items:center;gap:8px;display:inline-flex}.resume-status:target{color:var(--color-text)}.site-footer{border-top:1px solid var(--color-border)}.footer-main{justify-content:space-between;align-items:center;gap:25px;padding-block:37px;display:flex}.footer-name{letter-spacing:-.4px;font-size:15px}.footer-name>span{font:9px var(--font-mono);letter-spacing:0;color:var(--color-subtle);margin-top:9px;display:block}.back-to-top{min-height:44px;color:var(--color-muted);font:9px var(--font-mono);align-items:center;gap:10px;display:flex}.footer-bottom{border-top:1px solid var(--color-border-subtle);color:var(--color-subtle);font:8px/1.7 var(--font-mono);justify-content:space-between;align-items:center;gap:24px;padding-block:22px;display:flex}@media (max-width:1100px){.technology-grid>li{gap:10px;padding:22px 14px}.technology-grid p{font-size:7px}}@media (max-width:959px){:root{--header-height:72px}.section{padding-block:80px}.experience-section,.contact-section{padding-top:0}.project-grid{gap:18px}.project-visual{height:210px}.project-category{letter-spacing:.3px;gap:8px;font-size:7px}.project-card h3{font-size:22px}.project-description{min-height:92px}.poll-concept{width:80%;padding:10px}.poll-wordmark{font-size:22px}.poll-concept-header{font-size:6px}.experience-item{grid-template-columns:.8fr 2fr auto;gap:25px}.about-grid{gap:40px}.about-note{padding:24px}.about-note-top .mono-label{font-size:7px}.technology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.technology-grid>li{padding:25px}.technology-grid>li:nth-child(3){border-left:0}.technology-grid>li:nth-child(n+3){border-top:1px solid var(--color-border)}.technology-grid p{font-size:9px}.contact-panel{padding:40px}.contact-mark{opacity:.3;top:45%;right:-80px}}@media (max-width:700px){:root{--page-gutter:24px}.scene-inner{padding-block:23px}.scene-meta .eyebrow{letter-spacing:.6px;gap:8px;font-size:7px}.scene-file{font-size:8px}.scene-stage{min-height:230px;padding-block:48px}.scene-copy{font-size:clamp(24px,5.6vw,34px);line-height:1.3}.scene-code{font-size:clamp(14px,3.7vw,24px)}.mobile-break{display:block}.scene-bottom .mono-label{font-size:7px}.scene-progress{max-width:80px}.section{padding-block:68px}.experience-section,.contact-section{padding-top:0}.eyebrow{letter-spacing:1px;font-size:8px}.section-heading{margin-bottom:32px}.section-heading .eyebrow{margin-bottom:19px}.section-heading-row{display:block}.section-description{max-width:340px;margin-top:17px}h2{font-size:31px}.project-grid{grid-template-columns:1fr;gap:38px}.project-visual{height:265px}.project-category{gap:12px;font-size:8px}.project-card h3{font-size:26px}.project-description{max-width:none;min-height:0;font-size:13px}.project-links{margin-top:18px;padding-top:16px}.music-mark>span{font-size:30px}.music-rings{top:6%}.music-mark{gap:13px}.project-concept-label{font-size:9px}.poll-concept{width:65%;padding:15px;top:25px}.poll-concept-header{font-size:8px}.poll-option{height:32px}.poll-wordmark{font-size:28px;bottom:30px;right:25px}.visual-placeholder-label{font-size:7px}.experience-item{grid-template-columns:1fr auto;row-gap:22px;padding-block:28px}.experience-dates{grid-column:1/-1}.experience-item h3{font-size:19px}.experience-arrow{grid-area:2/2}.about-grid{grid-template-columns:1fr;gap:35px}.about-section .eyebrow{margin-bottom:20px}.about-section h2{font-size:35px}.about-note{padding:26px}.about-note-top .mono-label{font-size:8px}.principle-list li{font-size:20px}.technology-grid>li{gap:12px;padding:22px 15px}.technology-grid p{font-size:7px}.technology-symbol{width:31px;height:31px;font-size:11px}.technology-grid h3{font-size:12px}.contact-panel{padding:32px 25px}.contact-panel .eyebrow{gap:6px;font-size:7px}.contact-section h2{margin-top:26px;font-size:46px}.contact-content>p:not(.eyebrow){margin-top:22px;font-size:12px}.contact-content>p.contact-status{font-size:8px;line-height:1.8}.contact-actions{gap:16px}.contact-actions .social-links{gap:24px}.contact-mark{display:none}.resume-status{max-width:290px;margin-inline:auto;font-size:9px}.footer-main{flex-wrap:wrap;gap:23px;padding-block:30px}.footer-main .social-links{gap:20px}.footer-name{flex-basis:100%}.footer-bottom{flex-wrap:wrap;gap:8px 16px;font-size:8px}.footer-domain{display:none}}@media (max-width:370px){:root{--page-gutter:18px}.button{padding-inline:17px;font-size:11px}.button--text{padding-inline:0}.technology-grid>li{gap:8px;padding:19px 11px}.technology-grid p{font-size:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scene-code{visibility:hidden!important}.scene-copy{opacity:1!important;transform:none!important}}.eyebrow,.scene-meta .eyebrow,.contact-panel .eyebrow,.mono-label,.scene-bottom .mono-label,.scene-file,.project-category,.project-pending,.project-links a,.experience-dates,.about-note-top .mono-label,.about-note-bottom,.technology-grid p,.contact-content>p.contact-status,.footer-name>span,.footer-bottom,.back-to-top,.resume-status{font-size:10px}@media (max-width:700px){.scene-meta .eyebrow,.contact-panel .eyebrow,.scene-bottom .mono-label{font-size:9px}.technology-grid>li{align-items:flex-start}.technology-grid p{font-family:var(--font-sans);line-height:1.5}}
.typing-word{white-space:pre;display:inline-block}@media (prefers-reduced-motion:no-preference){.typing-word{clip-path:inset(0 100% 0 0)}}@media (prefers-reduced-motion:reduce){.typing-word{clip-path:none!important}}
