.hero-section{--hero-gutter:22px;--hero-ink:#1d1d1f;--hero-muted:#86868b;--hero-link:#06c;color:var(--hero-ink);font-family:var(--font-apple);letter-spacing:0;-webkit-font-smoothing:antialiased;background:#f5f5f7}.dark .hero-section{--hero-ink:#f5f5f7;--hero-muted:#86868b;--hero-link:#2997ff;background:var(--color-surface)}.hero-track{--hero-t:0;--hero-frame-w:100%;--hero-frame-h:100%;--hero-show-scale:1;--hero-bezel:clamp(0px, calc(var(--hero-t) * 10px), 10px);--hero-radius:0;--hero-phone:0;--hero-glow-opacity:0;height:185vh}.hero-sticky{top:var(--header-height,52px);z-index:1;height:calc(100svh - var(--header-height,52px));background:#f5f5f7;justify-content:center;align-items:center;display:flex;position:sticky;overflow:visible}.dark .hero-sticky{background:var(--color-surface)}.hero-track[data-hero-settled=true] .hero-sticky{overflow:visible}.hero-scale{width:var(--hero-frame-w);height:var(--hero-frame-h);will-change:width, height;flex-direction:column;justify-content:center;align-items:center;min-height:540px;display:flex;position:relative}.hero-glow{z-index:0;pointer-events:none;width:127%;height:22%;opacity:var(--hero-glow-opacity);background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--color-primary) 58%, transparent) 0%, color-mix(in srgb, var(--color-room-experience) 42%, transparent) 32%, color-mix(in srgb, var(--color-room-projects) 32%, transparent) 58%, color-mix(in srgb, var(--color-secondary) 22%, transparent) 78%, transparent 100%);filter:blur(22px);position:absolute;bottom:-6%;left:50%;translate:-50%}.hero-screen{z-index:1;border:var(--hero-bezel) solid #1d1d1f;border-radius:var(--hero-radius);background:var(--color-surface);width:100%;height:100%;box-shadow:0 0 0 calc(var(--hero-t) * 1px) #00000059;position:relative;overflow:hidden}.hero-show{z-index:1;width:var(--hero-stage-w,100%);height:var(--hero-stage-h,100%);transform:translate(-50%, -50%) scale(var(--hero-show-scale,1));transform-origin:50%;position:absolute;top:50%;left:50%;overflow:hidden}.hero-show .hero-layout{min-height:100%}.hero-track[data-hero-settled=true] .hero-show{pointer-events:none}.hero-layout{background:var(--color-surface);border-bottom:1px solid var(--color-outline-variant);align-items:center;width:100%;height:100%;display:flex;container-type:inline-size}.hero-inner{gap:var(--spacing-gutter);width:100%;max-width:1200px;padding:var(--spacing-gutter) var(--spacing-margin-mobile);flex-direction:column;margin-inline:auto;display:flex}.hero-copy{flex-direction:column;flex:1;gap:1.5rem;display:flex}.hero-greeting{border:1px solid var(--color-outline-variant);border-radius:var(--radius-control);background:var(--color-primary-container);width:fit-content;color:var(--color-on-primary-container);font-family:var(--font-apple);letter-spacing:-.01em;margin:0;padding:.4rem .75rem;font-size:12px;font-weight:400;line-height:1.33337}.hero-title{flex-direction:column;align-items:flex-start;gap:8px;margin:0;display:flex}.hero-name{color:var(--hero-ink);font-family:var(--font-apple-display);letter-spacing:0;background-image:linear-gradient(105deg, var(--color-primary) 0%, var(--color-room-experience) 40%, var(--color-room-projects) 72%, var(--color-secondary) 100%);-webkit-text-fill-color:transparent;background-size:100% 100%;-webkit-background-clip:text;background-clip:text;font-size:80px;font-weight:600;line-height:1.05;display:block}.hero-headline{color:var(--hero-muted);font-family:var(--font-apple-display);letter-spacing:0;font-size:40px;font-weight:600;line-height:1.1;display:block}.hero-bio{max-width:760px;color:var(--hero-ink);font-family:var(--font-apple-display);letter-spacing:.005em;margin:0;font-size:21px;font-weight:600;line-height:1.19048}.hero-stats{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.hero-stat{flex-direction:column;gap:.25rem;display:flex}.hero-stat-value{color:var(--hero-ink);font-family:var(--font-apple-display);letter-spacing:.011em;font-size:21px;font-weight:700;line-height:1.19048}.hero-stat-label{color:var(--hero-muted);font-family:var(--font-apple);letter-spacing:-.01em;font-size:12px;font-weight:400;line-height:1.33337}.hero-stat-rule{background:var(--color-outline);width:1px;height:2.5rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-cta{color:var(--hero-link);font-family:var(--font-apple-display);letter-spacing:.005em;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:21px;font-style:normal;font-weight:600;line-height:1.19048;text-decoration:none;display:inline-block}.hero-cta:after,.hero-more:after{content:" ›";padding-left:.3em;text-decoration:none;display:inline-block}.hero-cta:hover,.hero-more:hover{text-decoration:none}.hero-cta:hover .hero-link-copy,.hero-more:hover .hero-link-copy{text-decoration-skip-ink:auto;text-decoration:underline}.hero-portrait{flex-shrink:0;margin-inline:auto;position:relative}.hero-portrait-frame{z-index:0;border:1px solid var(--color-outline);border-radius:var(--radius-card);position:absolute;inset:0}.hero-portrait-photo{z-index:10;border:1px solid var(--color-outline-variant);border-radius:var(--radius-card);width:240px;height:280px;box-shadow:var(--shadow-card-hover);position:relative;overflow:hidden}.hero-portrait-lqip{z-index:15;background-color:var(--color-primary-container);filter:blur(18px);pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:-18%;transform:scale(1.08)}.hero-portrait-lqip-cover{opacity:var(--hero-t,0)}.hero-private{vertical-align:top;max-width:100%;display:inline-block;position:relative}.hero-private-block{width:fit-content;max-width:100%;margin-top:0;display:block}.hero-bio .hero-private-block{margin-top:0}.hero-private-live{opacity:calc(1 - var(--hero-t,0))}.hero-private:after{content:"";background:color-mix(in srgb, var(--hero-ink) 16%, var(--color-surface));opacity:var(--hero-t,0);pointer-events:none;border-radius:.18em;position:absolute;inset:0}.hero-private:before{content:"";z-index:1;background:linear-gradient(105deg, transparent 40%, color-mix(in srgb, var(--hero-ink) 7%, transparent) 50%, transparent 60%);opacity:var(--hero-t,0);pointer-events:none;background-size:240% 100%;border-radius:.18em;animation:8.5s ease-in-out infinite hero-skel-sheen;position:absolute;inset:0}.hero-private:has(.hero-stat-label):after{background:color-mix(in srgb, var(--hero-muted) 28%, var(--color-surface))}.hero-private-name:after{background:linear-gradient(105deg, color-mix(in srgb, var(--color-primary) 22%, var(--color-surface)) 0%, color-mix(in srgb, var(--color-room-experience) 20%, var(--color-surface)) 40%, color-mix(in srgb, var(--color-room-projects) 18%, var(--color-surface)) 72%, color-mix(in srgb, var(--color-secondary) 16%, var(--color-surface)) 100%)}@keyframes hero-skel-sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.hero-private:before{opacity:0;animation:none}}.hero-badge{z-index:20;border:1px solid var(--glass-hairline);background:var(--glass-fill-strong);color:var(--color-primary);box-shadow:var(--shadow-card-resting);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * var(--glass-enabled))) saturate(calc(1 + (var(--glass-saturate) - 1) * var(--glass-enabled)));font-family:var(--font-apple);letter-spacing:-.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:12px;font-weight:400;line-height:1.33337;display:flex;position:absolute;bottom:-.75rem;right:-.75rem}.hero-badge-mark{background:var(--color-primary);width:1.25rem;height:1.25rem;color:var(--color-on-primary);font-size:var(--text-label-xs);border-radius:999px;justify-content:center;align-items:center;display:flex}@container (max-width:430px){.hero-inner{gap:1.25rem;padding:4.5rem 1.35rem 2.5rem}.hero-copy{gap:1rem}.hero-name{font-size:36px;line-height:1.08}.hero-headline{font-size:21px;line-height:1.19}.hero-bio{font-size:15px;line-height:1.27}.hero-cta{font-size:15px}.hero-stat-value{font-size:17px}.hero-portrait-photo{width:148px;height:176px}}@container (min-width:640px){.hero-portrait-photo{width:300px;height:350px}}@container (min-width:768px){.hero-inner{padding:6.25rem var(--spacing-margin-desktop);flex-direction:row;align-items:center;gap:5rem}.hero-portrait{margin-inline:0}.hero-portrait-photo{width:360px;height:420px}}.hero-phone-slot{--hero-t:1;z-index:3;pointer-events:none;width:min(28%,210px);transform:translate3d(calc((1 - var(--hero-phone,0)) * 100%), calc((1 - var(--hero-phone,0)) * 100%), 0);will-change:transform;position:absolute;bottom:-10%;right:-6%}.hero-iphone{aspect-ratio:9/19.4;background:linear-gradient(165deg,#4a4a4e 0%,#1f1f21 42%,#0c0c0d 100%);border-radius:40px;width:100%;padding:10px 9px 12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 0 0 3px #111,0 24px 50px #00000073}.hero-iphone-btn{background:#2a2a2c;border-radius:1px;width:3px;position:absolute}.hero-iphone-silent{height:16px;top:16%;left:-3px}.hero-iphone-vol-up{height:28px;top:24%;left:-3px}.hero-iphone-vol-down{height:28px;top:34%;left:-3px}.hero-iphone-power{height:52px;top:27%;right:-3px}.hero-iphone-bezel{background:#000;border-radius:30px;width:100%;height:100%;position:relative;overflow:hidden}.hero-iphone-island{z-index:3;background:#000;border-radius:12px;width:34%;height:16px;position:absolute;top:10px;left:50%;translate:-50%;box-shadow:0 0 0 1px #ffffff0f}.hero-iphone-home{z-index:3;background:#ffffff59;border-radius:999px;width:34%;height:4px;position:absolute;bottom:8px;left:50%;translate:-50%}.hero-iphone-screen{width:100%;height:100%;overflow:hidden}.hero-iphone-screen .hero-shot{height:100%}.hero-shot{width:100%;position:relative;overflow:hidden}.hero-shot-page{transform-origin:0 0;pointer-events:none;overflow:hidden}.hero-shot-page .hero-layout{min-height:100%}.hero-intro{width:100%;max-width:none;padding:28px var(--hero-gutter,22px) 185px;background:#f5f5f7;margin:0}.dark .hero-intro{background:var(--color-surface)}.hero-intro-inner{text-align:center;max-width:760px;margin:0 auto}.hero-icon-group{width:100%;margin:0 0 28px;padding:0;list-style:none;display:flex}.hero-icon-item{text-align:center;flex-direction:column;flex:25%;align-items:center;width:25%;min-width:0;padding:0 8px;display:flex}.hero-icon-glyph{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.hero-sf-original{background-image:linear-gradient(165deg,#bf5af2 0%,#ff375f 48%,#ff9f0a 100%);width:48px;height:48px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-icon-metric{color:var(--hero-ink);font-family:var(--font-apple-display);letter-spacing:0;text-align:center;margin:6px 0 0;font-size:40px;font-style:normal;font-weight:600;line-height:1.1}.hero-icon-label{max-width:none;color:var(--hero-muted);font-family:var(--font-apple);letter-spacing:-.016em;text-align:center;margin:2px 0 0;font-size:14px;font-style:normal;font-weight:400;line-height:1.28571}.hero-repo-intro,.hero-more,.hero-cta{font-family:var(--font-apple-display);letter-spacing:.005em;font-size:21px;font-style:normal;font-weight:600;line-height:1.19048}.hero-repo-intro{color:var(--hero-ink);margin:0}.hero-more{color:var(--hero-link);margin-top:21px;text-decoration:none;display:inline-block}.dark .hero-icon-metric,.dark .hero-repo-intro{color:var(--color-heading-ink)}.dark .hero-more{color:var(--hero-link)}@media only screen and (max-width:1068px){.hero-name{font-size:56px;line-height:1.07143}.hero-headline{font-size:28px;line-height:1.143}.hero-bio,.hero-repo-intro,.hero-more,.hero-cta{font-family:var(--font-apple);letter-spacing:-.011em;font-size:17px;font-weight:600;line-height:1.23536}}@media (max-width:734px){.hero-phone-slot{display:none}.hero-icon-group{flex-wrap:wrap;gap:28px 0}.hero-icon-item{flex:50%;width:50%;padding-bottom:0}.hero-icon-metric{font-size:32px}.hero-intro{padding:20px var(--hero-gutter,22px) 100px}.hero-repo-intro{margin-top:28px}}
.liquid-glass-root{isolation:isolate;color:var(--color-heading-ink);border-radius:inherit;box-shadow:var(--glass-shadow);position:relative;overflow:hidden}.liquid-glass-root--disabled{box-shadow:none}.liquid-glass-shadow,.liquid-glass-illumination,.liquid-glass-highlight{pointer-events:none;border-radius:inherit;position:absolute;inset:0}.liquid-glass-shadow{box-shadow:var(--glass-shadow)}.liquid-glass-illumination{z-index:0}.liquid-glass-frost{border-radius:inherit;background:var(--glass-fill-strong);border:.5px solid var(--glass-hairline);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * var(--glass-enabled))) saturate(calc(1 + (var(--glass-saturate) - 1) * var(--glass-enabled)));position:absolute;inset:0}.liquid-glass-root--clear .liquid-glass-frost{background:var(--glass-fill)}.liquid-glass-root--clear .liquid-glass-frost:before{content:"";border-radius:inherit;background:var(--glass-clear-dim,#00000059);pointer-events:none;position:absolute;inset:0}.liquid-glass-root--disabled .liquid-glass-frost{background:var(--color-surface);-webkit-backdrop-filter:none}.liquid-glass-webgl{border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}.liquid-glass-highlight{z-index:1;box-shadow:inset 0 1px 0 var(--glass-highlight), inset 0 -18px 28px #00000014}.liquid-glass-root--clear .liquid-glass-highlight{box-shadow:inset 0 1px 0 var(--glass-highlight)}.liquid-glass-content{z-index:2;position:relative}.liquid-glass-surface,.frosted-panel{background:var(--glass-fill-strong);border-color:var(--glass-hairline);box-shadow:var(--shadow-card-resting), inset 0 1px 0 var(--glass-highlight);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * var(--glass-enabled))) saturate(calc(1 + (var(--glass-saturate) - 1) * var(--glass-enabled)));position:relative}.liquid-glass-surface--clear{background:var(--glass-fill)}.liquid-glass-surface--clear:before{content:"";border-radius:inherit;background:var(--glass-clear-dim,#00000059);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){.liquid-glass-frost,.liquid-glass-surface{background:var(--color-surface);-webkit-backdrop-filter:none}.liquid-glass-root--clear .liquid-glass-frost:before,.liquid-glass-surface--clear:before{display:none}}
.site-footer{--footer-ink:#000000e0;--footer-link:#000000b8;--footer-muted:#0000008f;--footer-cta:#06c;--footer-rule:#00000029;color:var(--footer-muted);font-family:var(--font-apple);letter-spacing:0;-webkit-font-smoothing:antialiased;background:#f5f5f7;font-size:12px;font-weight:400;line-height:1.33337}.dark .site-footer{--footer-ink:#f5f5f7;--footer-link:#f5f5f7b8;--footer-muted:#86868b;--footer-cta:#2997ff;--footer-rule:#ffffff29;background:var(--color-surface)}.site-footer-content{box-sizing:border-box;max-width:980px;margin:0 auto;padding:0 22px 16px}.site-footer-crumbs{border-bottom:1px solid var(--footer-rule);color:var(--footer-link);flex-wrap:wrap;align-items:center;gap:.45em;margin:0;padding:17px 0;list-style:none;display:flex}.site-footer-crumbs a{color:var(--footer-link);text-decoration:none}.site-footer-crumbs a:hover{text-decoration:underline}.site-footer-sep{color:var(--footer-muted)}.site-footer-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px;padding:20px 0 8px;display:grid}.site-footer-heading{color:var(--footer-ink);margin:0 0 8px;font-size:12px;font-weight:400;line-height:1.33337}.site-footer-list{margin:0;padding:0;list-style:none}.site-footer-list a{color:var(--footer-link);padding:4px 0;text-decoration:none;display:inline-block}.site-footer-list a:hover{text-decoration:underline}.site-footer-shop{border-bottom:1px solid var(--footer-rule);color:var(--footer-muted);margin:0 0 16px;padding:0 0 19px}.site-footer-shop a{color:var(--footer-cta);text-decoration:none}.site-footer-shop a:hover{text-decoration:underline}.site-footer-end{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.site-footer-legal{flex-wrap:wrap;align-items:baseline;gap:5px 0;display:flex}.site-footer-copyright{color:var(--footer-muted);margin:5px 30px 0 0}.site-footer-legal-links{flex-wrap:wrap;margin:5px 0 0;padding:0;list-style:none;display:flex}.site-footer-legal-links li{align-items:center;display:flex}.site-footer-legal-links li+li:before{content:"";background:var(--footer-rule);width:1px;height:10px;margin:0 8px;display:inline-block}.site-footer-legal-links a{color:var(--footer-link);text-decoration:none}.site-footer-legal-links a:hover{text-decoration:underline}.site-footer-locale{color:var(--footer-link);margin:5px 0 0;text-decoration:none}.site-footer-locale:hover{text-decoration:underline}@media (max-width:734px){.site-footer-directory{grid-template-columns:1fr;gap:16px}.site-footer-end{flex-direction:column;align-items:flex-start}.site-footer-copyright{margin-right:0}}
.tv-screen-panel[data-kind=skills],.skill-river{--skill-river-wash:radial-gradient(48% 55% at 78% 86%, #1b7a4a 0%, transparent 58%), radial-gradient(38% 42% at 76% 18%, #ff7a18 0%, #e85d04 38%, transparent 64%), linear-gradient(155deg, #5ba3e8 0%, #6aafec 42%, #4a96d6 100%)}.skill-river{--skill-poster-pad:7px;isolation:isolate;width:100%;min-height:0;color:var(--color-heading-ink);font-family:var(--font-apple);letter-spacing:0;-webkit-font-smoothing:antialiased;background:#5ba3e8;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;container-type:size}.skill-river:before{content:"";z-index:0;background:var(--skill-river-wash);filter:blur(72px);pointer-events:none;position:absolute;inset:-22%}.skill-river>*{z-index:1;position:relative}.skill-river-caption{color:var(--color-muted-body);font-family:var(--font-apple);font-size:var(--text-body-md)}.skill-river-overflow{--skill-poster-inner-w:calc(100cqw * 345 / 1920 * 1.5);--skill-poster-inner-h:calc(var(--skill-poster-inner-w) * 195 / 345);--skill-poster-w:calc(var(--skill-poster-inner-w) + var(--skill-poster-pad) * 2);--skill-poster-h:calc(var(--skill-poster-inner-h) + var(--skill-poster-pad) * 2);flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.skill-river-lanes{justify-content:center;gap:var(--skill-poster-pad);flex-direction:column;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.skill-river-row{height:var(--skill-poster-h);flex-wrap:nowrap;flex:none;align-items:stretch;width:max-content;min-height:0;display:flex}.skill-river-track{will-change:transform;flex-wrap:nowrap;width:max-content;display:flex}.skill-poster{box-sizing:border-box;width:var(--skill-poster-w);height:var(--skill-poster-h);padding:var(--skill-poster-pad);transition:opacity var(--transition-standard) var(--ease-standard), transform var(--transition-standard) var(--ease-standard);flex:none}.skill-poster.is-exiting{pointer-events:none;opacity:0;transform:scale(.92)}.skill-poster-inner{isolation:isolate;width:100%;min-width:0;height:100%;box-shadow:none;-webkit-backdrop-filter:none;background:#fff;border:none;border-radius:10px;flex-direction:column;justify-content:space-around;padding:.3rem .9rem;display:flex;position:relative;overflow:hidden}.skill-poster:hover .skill-poster-inner{box-shadow:none;transform:none}.skill-poster-icon{color:var(--skill-poster-from,var(--color-primary));box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.skill-poster-icon svg,.skill-poster-icon img{width:clamp(2.37rem,57%,3.69rem);height:auto;max-height:none;color:inherit;fill:currentColor}.skill-poster-icon svg :not([fill=none]){fill:currentColor!important}.skill-poster-icon svg [stroke]:not([stroke=none]){stroke:currentColor!important}.skill-poster-scrim{min-height:0;color:var(--color-heading-ink);flex-direction:column;flex:none;gap:.28rem;display:flex}.skill-poster-meta{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.skill-poster-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-apple-display);font-size:var(--text-label-caps);letter-spacing:.04em;text-transform:uppercase;font-weight:600;overflow:hidden}.skill-poster-years{font-family:var(--font-apple);font-size:var(--text-label-sm);letter-spacing:.03em;text-transform:uppercase;color:var(--color-muted-body);flex-shrink:0;font-weight:600}.skill-poster-proficiency{align-items:center;gap:.35rem;display:flex}.skill-poster-bar{background:var(--color-outline-variant);border-radius:999px;flex:1;height:3px;overflow:hidden}.skill-poster-bar-fill{border-radius:inherit;background-image:linear-gradient(90deg, var(--skill-poster-from,var(--color-primary)), var(--skill-poster-to,var(--color-secondary)));height:100%}.skill-poster-proficiency-label{font-family:var(--font-apple);font-size:var(--text-label-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--color-muted-body);flex-shrink:0}@media (max-width:1068px){.skill-river{--skill-poster-pad:6px}.skill-river-overflow{--skill-poster-inner-w:calc(100cqw * 265 / 1068 * .86)}}@media (max-width:734px){.skill-river{--skill-poster-pad:4px}.skill-river-overflow{--skill-poster-inner-w:calc(100cqw * 192 / 734 * 1.1)}.skill-poster-name{font-size:var(--text-label-md)}}@media (prefers-reduced-motion:reduce){.skill-river-track{will-change:auto}.skill-poster,.skill-poster-inner{transition:none}}
.tv-screen-panel[data-kind=experience],.timeline-section{--timeline-section-wash:radial-gradient(42% 48% at 84% 22%, #30d158 0%, transparent 52%), radial-gradient(36% 42% at 14% 28%, #ff3b30 0%, transparent 50%), radial-gradient(70% 45% at 48% -8%, #ffd60a 0%, transparent 48%), linear-gradient(180deg, #161412 0%, #2a241c 46%, #c4a574 100%)}.timeline-section{isolation:isolate;color:#1d1d1f;min-height:0;font-family:var(--font-apple);letter-spacing:0;-webkit-font-smoothing:antialiased;background:#161412;flex-direction:column;display:flex;position:relative;overflow:visible}.timeline-section:before{content:"";z-index:0;background:var(--timeline-section-wash);filter:blur(72px);pointer-events:none;position:absolute;inset:-22%}.timeline-section>*{z-index:1;position:relative}.tv-screen-panel .timeline-section .timeline-step-card,.tv-screen-panel .timeline-section .education-card,.timeline-section .timeline-step-card,.timeline-section .education-card{-webkit-backdrop-filter:none;color:#1d1d1f;background:#fff;border:none;border-radius:16px;box-shadow:none!important}.timeline-section .timeline-step-card{height:100%;min-height:24.2rem;overflow:visible}@media (max-width:734px){.timeline-section .timeline-step-card{min-height:17.3rem}}.tv-screen-panel .timeline-section .timeline-step-role,.tv-screen-panel .timeline-section .education-card-name{font-size:19px;line-height:1.21053}.tv-screen-panel .timeline-section .timeline-step-date,.tv-screen-panel .timeline-section .timeline-step-org,.tv-screen-panel .timeline-section .timeline-step-body,.tv-screen-panel .timeline-section .education-card-program{font-size:14px;line-height:1.42859}.timeline-section .timeline-step-date{font-family:var(--font-apple);letter-spacing:-.016em;text-transform:none;color:#1d1d1f;font-size:14px;font-weight:600;line-height:1.2857}.timeline-section .timeline-step-role{font-family:var(--font-apple-display);letter-spacing:.011em;text-transform:none;font-size:21px;font-weight:600;line-height:1.19048}.timeline-section .timeline-step-org{font-family:var(--font-apple);letter-spacing:-.016em;text-transform:none;color:#6e6e73;font-size:14px;font-weight:600;line-height:1.2857}.timeline-section .timeline-step-body{font-family:var(--font-apple);letter-spacing:-.016em;color:#6e6e73;flex:auto;font-size:14px;font-weight:400;line-height:1.42859}.timeline-section .timeline-step-chip{font-family:var(--font-apple);letter-spacing:-.01em;text-transform:none;color:#1d1d1f;background:#f5f5f7;border:none;border-radius:999px;font-size:12px;font-weight:600}.timeline-section .education-card-name{font-family:var(--font-apple-display);letter-spacing:.011em;text-transform:none;font-size:21px;font-weight:600;line-height:1.19048}.timeline-section .education-card-program{font-family:var(--font-apple);letter-spacing:-.016em;text-transform:none;color:#6e6e73;font-size:14px;font-weight:400;line-height:1.42859}.timeline-section .education-card-mark{box-shadow:none;-webkit-backdrop-filter:none;background:#f5f5f7;border:none}.timeline-section .timeline-end-badge{box-shadow:none;-webkit-backdrop-filter:none;color:#1d1d1f;background:#fff;border:none}.timeline-section .timeline-node{background:#fff;border-color:#d2d2d7;border-radius:999px}.timeline-slider{inset-inline:0;height:36px;position:absolute;top:50%;translate:0 -50%}.timeline-slider-track{inset-inline:0;background:#ffffff47;border-radius:999px;height:10px;position:absolute;top:50%;overflow:hidden;translate:0 -50%}.timeline-slider-fill{border-radius:inherit;background:#48161261;height:100%}.timeline-slider-knob{-webkit-backdrop-filter:blur(22px)saturate(1.6);background:#ffffff47;border:.5px solid #ffffff9e;border-radius:999px;width:72px;height:32px;position:absolute;top:50%;translate:-50% -50%;box-shadow:0 6px 18px #50120c2e,inset 0 1px #ffffffc7}@media (max-width:734px){.timeline-section .timeline-step-role,.timeline-section .education-card-name{font-size:19px}}
.tv-screen-panel[data-kind=projects],.projects-section{--projects-section-wash:radial-gradient(48% 55% at 78% 86%, #6c5652 0%, transparent 58%), radial-gradient(38% 42% at 76% 18%, #6c6285 0%, transparent 64%), linear-gradient(155deg, #4a6fa5 0%, #546890 42%, #3f5f92 100%);--projects-ink:#1d1d1f;--projects-muted:#959495;--projects-link:#06c}.projects-section{isolation:isolate;min-height:0;color:var(--projects-ink);font-family:var(--font-apple);letter-spacing:0;-webkit-font-smoothing:antialiased;background:0 0;position:relative}.tv-screen-panel .projects-section .cover-card-face,.projects-section .cover-card-face{-webkit-backdrop-filter:none;color:#1d1d1f;background:#fff;border-radius:18px;box-shadow:none!important;border:none!important}.projects-section .cover-card-media{border-bottom:none}.projects-section .cover-card-date{font-family:var(--font-apple);letter-spacing:-.016em;text-transform:none;color:#1d1d1f;font-size:14px;font-weight:600;line-height:1.2857}.projects-section .cover-card-title{font-family:var(--font-apple-display);letter-spacing:.011em;text-transform:none;font-size:21px;font-weight:600;line-height:1.19048}.projects-section .cover-card-body,.projects-section .cover-card-face p{font-family:var(--font-apple);letter-spacing:-.016em;color:#6e6e73;font-size:14px;font-weight:400;line-height:1.42859}.page-control{background:0 0;justify-content:center;align-items:center;gap:0;max-width:80%;padding:0;display:flex;overflow:hidden}.page-control-hit{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.page-control-dot{background:#1d1d1f;border-radius:999px;width:7px;height:7px;display:block}.dark .page-control-dot{background:#f5f5f7}.projects-desk-controls{justify-content:space-between;align-items:center;width:100%;height:72px;padding:0 16px;display:flex}.projects-below{text-align:center;width:min(100%,760px);margin:0 auto;padding:8px 22px 0}.projects-headline{color:var(--projects-ink,#1d1d1f);font-family:var(--font-apple-display);letter-spacing:0;margin:0;font-size:40px;font-weight:600;line-height:1.1}.dark .projects-headline{color:var(--color-heading-ink)}.projects-intro{max-width:58.333%;color:var(--projects-muted,#959495);font-family:var(--font-apple-display);letter-spacing:.005em;margin:12px auto 0;font-size:21px;font-weight:600;line-height:1.19048}.projects-intro strong{color:var(--projects-ink,#1d1d1f);font-weight:600}.dark .projects-intro strong{color:var(--color-heading-ink)}.projects-intro-link{color:var(--projects-link,#06c);text-decoration:none}.projects-intro-link:after{content:" ›"}.projects-intro-link:hover{text-decoration:underline}@media (max-width:1068px){.projects-headline{font-size:32px}.projects-intro{letter-spacing:-.011em;max-width:80%;font-size:17px;line-height:1.23536}}@media (max-width:734px){.projects-headline{font-size:28px;line-height:1.125}.projects-intro{max-width:none;font-family:var(--font-apple);letter-spacing:-.008em;font-size:14px;font-weight:400;line-height:1.42859}.projects-section .cover-card-title{font-size:19px}}
.rooms-gallery{--rooms-copy:#959495;--rooms-copy-strong:#1d1d1f;--rooms-link:var(--color-primary);--room-projects-t:0;isolation:isolate;color:var(--rooms-copy);font-family:var(--font-apple);-webkit-font-smoothing:antialiased;position:relative}.dark .rooms-gallery{--rooms-copy-strong:var(--color-heading-ink);--rooms-link:var(--color-primary)}.rooms-device{z-index:2;pointer-events:none;justify-content:flex-start;align-items:center;width:71%;height:100vh;margin-left:29%;padding:5vh 2vw 4vh 0;display:flex;position:sticky;top:0;overflow:visible}.rooms-device-column{flex-direction:column;align-items:center;width:100%;max-width:920px;display:flex}.rooms-desk,.rooms-below{pointer-events:auto;width:100%;display:none}.rooms-desk{pointer-events:auto;background:#e8e8ed;width:100%;height:72px;display:block;box-shadow:0 14px 32px #0000001f}.dark .rooms-desk{background:var(--color-surface-container)}.rooms-desk .projects-desk-controls{opacity:var(--room-projects-t,0);pointer-events:none}.rooms-gallery[data-active-kind=projects] .rooms-desk .projects-desk-controls{pointer-events:auto}.rooms-below{width:86%;opacity:var(--room-projects-t,0);pointer-events:none;transform:translate3d(0, calc((1 - var(--room-projects-t,0)) * 16px), 0);padding-top:18px}.rooms-gallery[data-active-kind=projects] .rooms-below{pointer-events:auto}.rooms-track{z-index:1;margin-top:-100vh;position:relative}.rooms-page[data-room-kind=skills] .rooms-page-glass,.rooms-page[data-room-kind=experience] .rooms-page-glass,.rooms-page[data-room-kind=projects] .rooms-page-glass{display:none}.rooms-page-glass{pointer-events:none;background:var(--glass-fill);opacity:var(--glass-enabled);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * var(--glass-enabled))) saturate(calc(1 + (var(--glass-saturate) - 1) * var(--glass-enabled)));position:absolute;inset:0}.rooms-copy{z-index:1;box-sizing:border-box;pointer-events:auto;width:29%;padding:0 20px 0 2.4vw;position:relative}@media (min-width:735px) and (orientation:landscape){.rooms-copy{align-items:center;height:100vh;display:flex;position:sticky;top:0}}.rooms-copy-inner{width:100%;max-width:28rem}.rooms-copy-eyebrow{border-radius:var(--radius-control);background-image:linear-gradient(165deg, var(--color-primary) 0%, var(--color-room-experience) 40%, var(--color-room-projects) 72%, var(--color-secondary) 100%);width:48px;height:48px;margin:0 0 30px;display:block}.rooms-copy-eyebrow[data-kind=skills]{background-image:none;background-color:var(--color-room-skills)}.rooms-copy-eyebrow[data-kind=experience]{background-image:none;background-color:var(--color-room-experience)}.rooms-copy-eyebrow[data-kind=projects]{background-image:none;background-color:var(--color-room-projects)}.rooms-copy-body{color:var(--rooms-copy);font-family:var(--font-apple-display);letter-spacing:.005em;margin:0;font-size:21px;font-weight:600;line-height:1.19048}.rooms-copy-heading{color:var(--rooms-copy-strong);font-weight:600}.rooms-copy-link{color:var(--rooms-link);font-family:var(--font-apple-display);letter-spacing:.005em;margin-top:11px;font-size:21px;font-weight:600;line-height:1.19048;text-decoration:none;display:inline-block}.rooms-copy-link:hover{text-decoration-skip-ink:auto;text-decoration:underline}.rooms-material{background:var(--glass-fill-strong);border-color:var(--glass-hairline);box-shadow:var(--shadow-card-resting);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * var(--glass-enabled))) saturate(calc(1 + (var(--glass-saturate) - 1) * var(--glass-enabled)))}.rooms-tv{aspect-ratio:1000/720;pointer-events:auto;width:100%;position:relative}.rooms-tv-bezel{z-index:1;pointer-events:none;background:color-mix(in srgb, var(--glass-fill) calc(var(--glass-enabled) * 100%), transparent);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * var(--glass-enabled))) saturate(calc(1 + (var(--glass-saturate) - 1) * var(--glass-enabled)));border:5px solid #000;border-radius:0;position:absolute;inset:0;box-shadow:0 18px 48px #00000047}.tv-screen-stack{z-index:2;background:0 0;border-radius:0;position:absolute;inset:5px;overflow:hidden}.tv-screen{isolation:isolate;transform-origin:bottom;will-change:transform;position:absolute;inset:0;overflow:hidden}.tv-screen:not(.is-base){transform:matrix(1,0,0,0,0,0)}.tv-screen-panel{transform-origin:bottom;will-change:transform;justify-content:stretch;align-items:stretch;width:100%;height:100%;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}.tv-screen-panel>*{z-index:1;width:100%;min-width:100%;height:100%;min-height:100%;position:relative}.tv-screen-panel .rooms-material{background:var(--color-surface);box-shadow:none;-webkit-backdrop-filter:none}.tv-screen-panel[data-kind=skills],.tv-screen-panel[data-kind=experience],.tv-screen-panel[data-kind=projects]{isolation:isolate}.tv-screen-panel[data-kind=skills]{background:#5ba3e8}.tv-screen-panel[data-kind=experience]{background:#161412}.tv-screen-panel[data-kind=projects]{background:#4a6fa5}.tv-screen-panel[data-kind=skills]:before,.tv-screen-panel[data-kind=experience]:before,.tv-screen-panel[data-kind=projects]:before{content:"";z-index:0;pointer-events:none;filter:blur(72px);position:absolute;inset:-22%}.tv-screen-panel[data-kind=skills]:before{background:var(--skill-river-wash)}.tv-screen-panel[data-kind=experience]:before{background:var(--timeline-section-wash)}.tv-screen-panel[data-kind=projects]:before{background:var(--projects-section-wash)}.tv-screen-panel .skill-river,.tv-screen-panel .timeline-section,.tv-screen-panel .projects-section{background:0 0;min-height:0}.tv-screen-panel .skill-river:before,.tv-screen-panel .timeline-section:before,.tv-screen-panel .projects-section:before{display:none}@media (max-width:1068px){.rooms-copy-body,.rooms-copy-link{font-family:var(--font-apple);letter-spacing:-.011em;font-size:17px;line-height:1.23536}.rooms-copy-link{margin-top:7px}.rooms-copy-eyebrow{margin-bottom:22px}}@media (min-width:768px){.tv-screen-panel{padding:0}}@media (max-width:734px),(max-width:1024px) and (orientation:portrait){.rooms-device{z-index:30;-webkit-backdrop-filter:none;background:0 0;justify-content:center;align-items:center;width:100%;margin-left:0;padding:12px 14px 8px;overflow:visible}.rooms-tv{aspect-ratio:auto;width:100%;height:40rem}.rooms-tv-bezel{border-width:4px;border-radius:12px}.tv-screen-stack{border-radius:8px;inset:4px}.rooms-track{z-index:1;margin-top:0}.rooms-page{z-index:0;align-items:flex-start;padding-top:0}.rooms-page-glass{z-index:0}.rooms-copy{z-index:4;width:100%;height:auto;padding:16px 20px 32px;display:block;position:relative;top:auto}.rooms-copy-inner{max-width:none}.rooms-copy-body,.rooms-copy-link{letter-spacing:-.008em;font-size:14px;line-height:1.42859}.rooms-copy-eyebrow{width:40px;height:40px;margin-bottom:16px}.tv-screen-panel .skill-river{--skill-poster-pad:4px}.timeline-scroll>div{padding-left:.75rem;padding-right:.75rem}}@media (prefers-reduced-motion:reduce){.tv-screen{transition:none}}
