.intro-section{height:100vh;height:100svh;min-height:520px;overflow:clip;isolation:isolate}.intro-liquid-stage{position:absolute;inset:0;z-index:0;pointer-events:none}.intro-liquid-entrance{height:100%;opacity:0}html[data-motion=on] .intro-liquid-entrance{animation:intro-liquid-arrive 1.8s cubic-bezier(.4,0,.2,1) both}html[data-motion=off] .intro-liquid-entrance{animation:none;opacity:1}@keyframes intro-liquid-arrive{0%{opacity:0;transform:translateY(24px) scale(1.025)}to{opacity:1;transform:none}}.intro-liquid,.intro-liquid canvas,.intro-liquid-fallback{width:100%;height:100%}.intro-liquid{position:relative}.intro-liquid:before{content:"";background:radial-gradient(ellipse at 78% 52%,#0a0a0aeb 12%,#0a0a0a80 44%,transparent 74%);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 72%,transparent)}.intro-liquid canvas,.intro-liquid-fallback,.intro-liquid:before{position:absolute;inset:0}.intro-liquid canvas{opacity:0}.intro-liquid[data-renderer=webgl] canvas{opacity:1}.intro-liquid[data-renderer=webgl] .intro-liquid-fallback{opacity:0}.intro-liquid-fallback{background:radial-gradient(ellipse at 105% -10%,transparent 44%,#8d98ae70 45%,#16191f 49%,transparent 54%),radial-gradient(ellipse at 100% 5%,transparent 51%,#b3bccb65 52%,#262a3450 56%,transparent 62%),radial-gradient(ellipse at 90% -15%,transparent 64%,#8c96ab45 65%,transparent 70%);mask-image:linear-gradient(180deg,transparent 3%,#000 18%,#000 65%,transparent)}.intro-content{position:relative;z-index:1;perspective:1400px}.intro-type-plane{transform-origin:50% 50%}@media (min-width:1024px) and (min-height:601px){.intro-section .intro-header-text{font-size:clamp(96px,10.8vw,184px)}}.intro-name-row{position:relative;display:block;width:max-content;white-space:nowrap;line-height:1.2;overflow:clip;padding:.06em .03em;margin:-.06em -.03em}.intro-name-solid{color:#fff}.intro-letter{display:inline-block;position:relative;transform-origin:50% 100%}.intro-letter-space{visibility:hidden}.intro-glyph{position:absolute;inset:0;display:grid;place-items:center}.intro-name-echo{position:absolute;top:.06em;left:.03em;color:transparent;-webkit-text-stroke:1px #fff;opacity:0;pointer-events:none}.intro-role{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}.intro-role-rule{width:clamp(28px,4.5vw,64px);height:1px;flex-shrink:0;background:#ffffff80;transform-origin:left}.intro-role-mask{overflow:clip;padding-block:3px}.intro-cue-position{position:absolute;z-index:2;bottom:28px;right:5.5%}.intro-scroll-cue{display:inline-flex;align-items:center;gap:18px;min-height:44px;color:#bdbdbd;font-size:12px;border-radius:24px;transition:color .25s}.intro-scroll-cue:focus-visible,.intro-scroll-cue:hover{color:#fff}.intro-cue-icon{display:grid;place-items:center;position:relative;width:44px;height:44px}.intro-cue-icon>svg:last-child{transition:transform .3s}.intro-scroll-cue:focus-visible .intro-cue-icon>svg:last-child,.intro-scroll-cue:hover .intro-cue-icon>svg:last-child{transform:translateY(3px)}.intro-cue-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0;opacity:.4}.intro-section:focus-within .intro-cue-position{opacity:1!important}@media (max-width:639px){.intro-liquid-fallback{opacity:.35}.intro-role{gap:12px}.intro-role-rule{width:24px}.intro-role-text{font-size:clamp(14px,3.8vw,18px)}.intro-cue-position{right:20px;bottom:24px}}@media (prefers-reduced-motion:reduce){.intro-liquid-entrance{animation:none!important;opacity:1}}@media (max-height:600px) and (min-width:640px){.intro-section{min-height:360px}.intro-section .intro-header-text{font-size:min(130px,12vw,21svh)}.intro-role{margin-top:16px}.intro-cue-position{bottom:16px}}.home-section{--home-ink:#f4f4f4;--home-muted:#aaa;--home-line:#ffffff24;width:100%;max-width:1440px;margin-inline:auto;padding:120px clamp(24px,6.1vw,88px);color:var(--home-ink)}.home-section-label{margin:0 0 32px;font-size:11px;font-weight:500;letter-spacing:.13em;color:#aaa}.home-contact h2,.home-section-heading h2{margin:0;font-family:BasementGrotesque,sans-serif;font-size:clamp(44px,5.3vw,76px);font-weight:400;letter-spacing:-.04em;line-height:1.06;text-wrap:balance}.home-heading-muted{color:#929292}.home-section h2.home-heading-mask{overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}.home-heading-text{display:block}.contact-channels,.home-skills-layout,.work-grid{perspective:1600px}.home-section-description{max-width:38ch;margin:28px 0 0;font-size:17px;line-height:1.8;color:#b5b5b5;text-wrap:pretty}.home-text-link{display:inline-flex;align-items:center;gap:20px;color:#e5e5e5;font-size:13px;padding-block:12px}.home-text-link svg{transition:transform .25s}.home-text-link:hover svg{transform:translate(3px,3px)}.home-about-layout,.home-skills-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:72px}.about-heading .home-text-link{margin-top:32px}.about-education{max-width:320px;margin:40px 0 0;padding-top:24px;border-top:1px solid var(--home-line)}.about-education dt{color:#aaa;font-size:10px;letter-spacing:.13em}.about-education dd{display:flex;flex-direction:column;gap:7px;margin:16px 0 0;color:#b5b5b5;font-size:14px;line-height:1.5}.about-education strong{color:var(--home-ink);font-size:16px;font-weight:500}.about-education dd>span:last-child{color:#929292;font-size:12px}.about-story{max-width:64ch}.about-lead{margin:0;font-size:clamp(22px,2.1vw,29px);line-height:1.55;letter-spacing:-.025em;text-wrap:pretty}.about-background,.about-detail p{color:#b5b5b5;font-size:16px;line-height:1.85;text-wrap:pretty}.about-background{margin:24px 0 32px}.about-detail{padding-block:25px;border-top:1px solid var(--home-line)}.about-detail:last-child{padding-bottom:0}.about-detail h3{margin:0 0 10px;color:var(--home-ink);font-size:15px;font-weight:600}.about-detail p{margin:0}.home-skills{border-top:1px solid var(--home-line)}.skills-overview{position:sticky;top:118px}.skills-overview .home-text-link{margin-top:28px}.skill-explorer{overflow:hidden;border:1px solid var(--home-line);border-radius:12px;background:#0c0c0ce8}.skill-group+.skill-group{border-top:1px solid #ffffff1c}.skill-group{transition:background .25s}.skill-group[open]{background:#151515}.skill-group summary{display:grid;grid-template-columns:1fr 22px 19px;align-items:center;gap:16px;padding:25px;cursor:pointer;list-style:none}.skill-group summary::-webkit-details-marker{display:none}.skill-group summary:hover{background:#ffffff04}.skill-group summary:focus-visible{outline-offset:-5px;border-radius:8px}.skill-group-count{font-size:11px;color:#858585;font-variant-numeric:tabular-nums}.skill-group-summary{display:flex;flex-direction:column;gap:7px;min-width:0}.skill-group-summary strong{font-family:BasementGrotesque,sans-serif;font-size:22px;font-weight:400;letter-spacing:-.02em}.skill-group-summary>span{color:#8f8f8f;font-size:12px;line-height:1.5}.skill-group summary>svg{color:#a4a4a4;transition:transform .25s,color .25s}.skill-group[open] summary>svg{transform:rotate(180deg);color:#eee}.skill-group[open] .skill-group-count{color:#ddd}.skill-group-content{padding:5px 25px 28px}.skill-group[open] .skill-group-content{animation:home-detail-enter .3s ease-out}@keyframes home-detail-enter{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.skill-inventory{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px;margin:0;padding:0;list-style:none}.skill-inventory li{display:flex;align-items:center;gap:10px;min-width:0;color:#d4d4d4;font-size:13px;line-height:1.5}.skill-inventory svg{width:17px;height:17px;flex-shrink:0;color:#aaa}.home-projects{border-top:1px solid var(--home-line)}.home-projects .home-section-heading{display:grid;grid-template-columns:1fr .62fr;gap:0 60px;align-items:end}.home-projects .home-section-label{grid-column:1/-1}.home-projects .home-section-description{margin:0 0 3px;max-width:36ch;font-size:15px}.project-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:48px 0 28px;border-bottom:1px solid #ffffff24}.project-filters{display:flex;gap:25px;overflow-x:auto;scrollbar-width:none}.project-filters::-webkit-scrollbar{display:none}.project-filters button{position:relative;display:inline-flex;gap:8px;align-items:center;flex-shrink:0;min-height:52px;border:0;padding:0 0 16px;background:none;color:#909090;font-size:13px;transition:color .2s}.project-filters button>span{font-size:9px;color:#747474}.project-filters button:hover,.project-filters button[aria-pressed=true]{color:#fff}.project-filters button[aria-pressed=true]:after{position:absolute;bottom:0;left:0;right:0;height:2px;background:#eee;content:""}.project-filters button[aria-pressed=true]>span{color:#ddd}.project-filters button:focus-visible{outline-offset:-2px}.project-result-count{flex-shrink:0;padding-bottom:16px;color:#8a8a8a;font-size:11px;font-variant-numeric:tabular-nums}.work-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:28px}.work-card{min-width:0;position:relative;border:1px solid #ffffff22;border-radius:14px;background:#101010f2;transition:border-color .3s}.work-card:focus-within,.work-card:hover{border-color:#ffffff62}.work-card-link{display:flex;flex-direction:column;height:100%;border-radius:inherit;overflow:hidden}.work-card-link:focus-visible{outline-offset:5px}.work-card-visual{display:flex;align-items:center;justify-content:center;position:relative;padding:32px;background:#151515;overflow:hidden;perspective:1100px}.work-preview-plane{position:relative;width:100%;aspect-ratio:16/10;border:1px solid #ffffff25;border-radius:7px;background:#080808;box-shadow:0 20px 35px #0008;transform-style:preserve-3d;overflow:hidden}.work-preview-plane img,.work-preview-plane video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.work-preview-video{z-index:1}.work-card-info{display:flex;flex-direction:column;flex:1;padding:30px;min-width:0}.work-card-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#979797;font-size:10px;letter-spacing:.08em}.work-card-meta>span:first-child{text-transform:uppercase}.work-card-meta>span:last-child{letter-spacing:0;white-space:nowrap}.work-card h3{margin:20px 0 15px;font-family:BasementGrotesque,sans-serif;font-size:31px;line-height:1.15;letter-spacing:-.035em;font-weight:400;text-wrap:balance}.work-card-description{color:#a9a9a9;font-size:14px;line-height:1.75}.work-stack{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:23px;color:#b8b8b8}.work-stack>span{display:inline-flex;align-items:center;gap:6px;font-size:11px}.work-stack svg{width:14px;height:14px}.work-card-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding-top:30px;font-size:12px;color:#eee}.work-card-arrow{display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff2d;border-radius:50%;transition:background .25s,color .25s,transform .25s}.work-card-link:focus-visible .work-card-arrow,.work-card-link:hover .work-card-arrow{background:#eee;color:#0a0a0a;transform:rotate(45deg)}.work-card-featured{grid-column:1/-1}.work-card-featured .work-card-link{display:grid;grid-template-columns:1.2fr 1fr}.work-card-featured .work-card-visual{padding:40px}.work-card-featured .work-card-info{padding:42px}.work-card-featured h3{font-size:clamp(38px,3.8vw,52px);margin-top:30px}.work-card-featured .work-card-description{font-size:15px}.work-card-featured .work-card-footer{padding-top:35px}.work-all-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:28px;padding:23px 26px;border:1px solid #ffffff28;border-radius:8px;background:#0c0c0cd9;color:#ddd;font-size:13px;transition:background .25s,border-color .25s}.work-all-link:hover{background:#191919;border-color:#ffffff60}.work-all-link span>span{margin-left:12px;font-size:10px;color:#858585}.work-no-script{margin-top:35px;line-height:2.2}.work-no-script a{text-decoration:underline;text-underline-offset:4px}.home-contact{border-top:1px solid var(--home-line);padding-top:100px;padding-bottom:110px}.home-contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:88px;align-items:center}.home-contact h2{font-size:clamp(44px,5.4vw,78px)}.home-contact .home-section-description{max-width:37ch}.contact-channels{display:flex;flex-direction:column;gap:14px;padding-top:25px}.contact-channel{display:grid;grid-template-columns:26px 1fr 23px;align-items:center;gap:20px;padding:30px 27px;border:1px solid #ffffff35;border-radius:9px;background:#111111ed;transition:border-color .25s,background .25s}.contact-channel>div{display:flex;flex-direction:column;gap:8px}.contact-channel strong{font-size:20px;font-weight:600;letter-spacing:-.02em}.contact-channel>div>span{color:#979797;font-size:12px}.contact-channel>svg:last-child{transition:transform .25s}.contact-channel:hover>svg:last-child{transform:translate(3px,-3px)}.contact-channel:hover{background:#1a1a1a;border-color:#ffffff70}.contact-channel-primary{background:#eee;border-color:#eee;color:#101010}.contact-channel-primary>div>span{color:#575757}.contact-channel-primary:hover{background:white;border-color:white}.contact-channel-note{padding:5px 1px 0;margin:0;color:#828282;font-size:11px;line-height:1.7}@media (max-width:1100px){.home-section{padding:88px 40px}.home-about-layout,.home-skills-layout{grid-template-columns:.8fr 1.2fr;gap:40px}.home-section-heading h2{font-size:54px}.home-projects .home-section-heading{grid-template-columns:1fr .7fr;gap:0 40px}.skill-group summary{padding:24px 20px;gap:12px}.skill-group-content{padding-left:20px;padding-right:20px}.work-card-featured .work-card-info,.work-card-featured .work-card-visual{padding:30px}.work-card-featured .work-card-link{grid-template-columns:1fr 1fr}.work-card h3{font-size:27px}.home-contact-layout{gap:45px}.home-contact h2{font-size:58px}}@media (max-width:800px){.home-section{padding:76px 28px}.home-about-layout,.home-skills-layout{grid-template-columns:1fr;gap:40px}.skills-overview{position:static}.home-section-heading h2{font-size:56px;max-width:12ch}.home-section-description{max-width:48ch;font-size:16px}.home-projects .home-section-heading{grid-template-columns:1fr;gap:22px}.home-projects .home-section-label{margin-bottom:0}.home-projects .home-section-description{max-width:48ch}.project-filter-bar{margin-top:34px}.project-result-count{display:none}.project-filters{width:100%;gap:26px}.work-card-featured .work-card-link{display:flex}.work-card-featured .work-card-visual{padding:35px}.work-card-featured .work-card-info{padding:30px}.work-card-featured h3{font-size:42px;margin-top:20px}.work-grid{gap:20px}.work-card-info{padding:23px}.work-card-visual{padding:22px}.work-card h3{font-size:25px}.work-card-description{font-size:13px}.home-contact-layout{grid-template-columns:1fr;gap:30px}.home-contact h2{font-size:60px;max-width:13ch}.contact-channels{display:grid;grid-template-columns:1fr 1fr;padding-top:0}.contact-channel{grid-template-columns:24px 1fr 20px;gap:14px;padding:24px 20px}.contact-channel strong{font-size:17px}.contact-channel-note{grid-column:1/-1}}@media (max-width:560px){.home-section{padding:64px 20px}.home-section-label{margin-bottom:24px;font-size:10px}.home-contact h2,.home-section-heading h2{font-size:clamp(39px,10.7vw,54px);letter-spacing:-.045em}.home-section-description{margin-top:23px;font-size:15px;line-height:1.8}.home-about-layout,.home-skills-layout{gap:28px}.about-heading .home-text-link{margin-top:20px}.about-lead{font-size:22px}.about-background,.about-detail p{font-size:15px}.home-text-link{font-size:12px}.skill-group summary{padding:21px 17px;grid-template-columns:1fr 18px 16px;gap:11px}.skill-group-summary strong{font-size:19px}.skill-group-summary>span{font-size:11px}.skill-group-count{font-size:10px}.skill-group-content{padding:4px 20px 25px}.skill-inventory{gap:18px 16px}.skill-inventory li{align-items:flex-start;font-size:12px;gap:9px}.skill-inventory svg{width:16px;height:16px;margin-top:2px}.home-projects .home-section-heading{gap:20px}.home-projects .home-section-heading h2{max-width:none}.home-projects .home-section-description{font-size:14px}.project-filter-bar{margin:27px 0 22px}.project-filters{gap:12px;justify-content:space-between}.project-filters button{min-height:48px;font-size:12px;padding-bottom:13px}.project-filters button>span{display:none}.work-grid{grid-template-columns:1fr;gap:24px}.work-card{border-radius:11px}.work-card-featured .work-card-visual,.work-card-visual{padding:22px}.work-card-featured .work-card-info,.work-card-info{padding:24px}.work-card h3,.work-card-featured h3{font-size:29px;margin:18px 0 14px}.work-card-description,.work-card-featured .work-card-description{font-size:13px}.work-card-meta{font-size:11px}.work-stack{gap:10px 13px;margin-top:20px}.work-card-featured .work-card-footer,.work-card-footer{padding-top:25px}.work-all-link{padding:19px 20px;font-size:12px}.work-all-link span>span{display:block;margin:6px 0 0}.home-contact-layout{gap:28px}.contact-channels{grid-template-columns:1fr;gap:12px}.contact-channel{padding:24px;grid-template-columns:25px 1fr 20px;gap:18px}.contact-channel strong{font-size:19px}.contact-channel-note{margin-top:5px}}