.hero-stage{grid-template-rows:auto minmax(220px,1fr) auto auto;gap:clamp(12px,1.7vh,20px);padding-top:clamp(96px,10.5vh,118px);padding-bottom:18px}.hero-meta .chapter-heading{margin-bottom:0}.hero-system-state{color:var(--text-tertiary);font-size:clamp(.68rem,.11vw + .65rem,.76rem)}.identity-title{font-size:clamp(112px,min(16vw,24svh),270px)}.identity-experience{left:min(78%,calc(100% - 118px))}.hero-professional-deck{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(520px,1.58fr);gap:clamp(24px,3vw,56px);align-items:stretch;padding-top:14px;border-top:1px solid var(--border-strong)}.hero-professional-summary{display:grid;grid-template-columns:minmax(0,.88fr) minmax(175px,1.12fr);gap:clamp(14px,1.5vw,24px);align-items:stretch;min-width:0}.hero-role-block{display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-contact-module:before,.hero-role-block>span{color:var(--text-tertiary);font-size:clamp(.7rem,.12vw + .67rem,.79rem);line-height:1.4}.hero-role-block h2{margin-top:5px;font-size:clamp(1.28rem,1.65vw,2rem);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.hero-opportunity{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:80px;padding:11px 14px 11px 18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--signal) 54%,var(--border));background:linear-gradient(110deg,color-mix(in srgb,var(--signal) 10%,var(--surface-raised)),var(--surface-translucent))}.hero-opportunity:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--signal);box-shadow:0 0 22px color-mix(in srgb,var(--signal) 62%,transparent)}.hero-opportunity-status{display:flex;align-items:center;gap:8px;color:var(--foreground);font-size:clamp(.72rem,.12vw + .69rem,.81rem);line-height:1.35;font-weight:700}.desktop-contact-handle i,.hero-opportunity-status i,.mobile-contact-trigger i{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 13px color-mix(in srgb,var(--signal) 70%,transparent);flex:0 0 auto}.hero-opportunity strong{font-size:clamp(.87rem,.24vw + .82rem,1rem);line-height:1.4;overflow-wrap:normal}.hero-opportunity small{color:var(--text-secondary);font-size:clamp(.74rem,.14vw + .7rem,.84rem);line-height:1.4}.hero-contact-module{position:relative;min-width:0}.hero-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact-cta,.hero-primary-actions .work-cta{min-width:0;min-height:50px;padding:12px 17px;font-size:clamp(.76rem,.14vw + .73rem,.86rem);line-height:1.3;font-weight:650}.contact-cta{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-raised) 88%,transparent)}.contact-cta:focus-visible,.contact-cta:hover{border-color:var(--primary);color:var(--cobalt-light);background:color-mix(in srgb,var(--accent) 76%,var(--surface-raised))}.contact-cta svg{width:16px;height:16px}.hero-contact-rail{display:grid;grid-template-columns:minmax(220px,1.55fr) minmax(125px,.9fr) minmax(95px,.72fr) minmax(95px,.72fr);min-width:0;margin-top:8px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-raised) 82%,transparent)}.hero-contact-rail>a,.hero-contact-rail>button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;min-width:0;min-height:58px;padding:8px 11px;border:0;border-right:1px solid var(--border);color:var(--foreground);background:transparent;text-align:left;overflow:hidden}.hero-contact-rail>:last-child{border-right:0}.hero-contact-rail>a:before,.hero-contact-rail>button:before{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}.hero-contact-rail>a:focus-visible:before,.hero-contact-rail>a:hover:before,.hero-contact-rail>button:focus-visible:before,.hero-contact-rail>button:hover:before{transform:scaleX(1)}.hero-contact-rail .mono{grid-column:1;color:var(--text-tertiary);font-size:clamp(.66rem,.11vw + .63rem,.74rem);line-height:1.2}.hero-contact-rail strong{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.72rem,.12vw + .69rem,.82rem);line-height:1.4;font-weight:600}.hero-contact-rail svg{grid-column:2;grid-row:1/3;width:15px;height:15px;color:var(--cobalt-light)}.hero-exploration-band{display:grid;grid-template-columns:minmax(390px,1.35fr) minmax(270px,.9fr) auto;gap:clamp(22px,3vw,48px);align-items:end}.hero-exploration-band .technology-row{min-height:38px}.hero-exploration-band .technology-row button{min-height:38px;padding-block:5px}.hero-story-bridge{display:flex;flex-direction:column;gap:5px;padding-left:16px;border-left:2px solid var(--primary)}.hero-story-bridge>span{color:var(--cobalt-light);font-size:clamp(.68rem,.1vw + .65rem,.75rem)}.hero-story-bridge a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font-size:clamp(.78rem,.19vw + .74rem,.91rem);line-height:1.45;font-weight:560}.hero-story-bridge svg{color:var(--primary);transition:transform .3s var(--motion-ease)}.hero-story-bridge a:focus-visible svg,.hero-story-bridge a:hover svg{transform:translateX(5px)}.hero-copy-toast{position:fixed;left:50%;bottom:28px;z-index:70;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--border-strong);background:var(--popover);color:var(--popover-foreground);box-shadow:0 14px 40px var(--shadow-color);font-size:.82rem;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .22s ease,transform .3s var(--motion-ease)}.hero-copy-toast[data-visible=true]{opacity:1;transform:translate(-50%)}.hero-copy-toast svg{width:15px;height:15px;color:var(--signal)}.desktop-contact-dock{position:fixed;right:0;bottom:24px;z-index:34;display:flex;width:318px;min-height:202px;border:1px solid var(--border-strong);border-right:0;background:color-mix(in srgb,var(--surface-translucent) 95%,transparent);box-shadow:0 18px 55px var(--shadow-color);backdrop-filter:blur(16px);transform:translateX(266px);transition:transform .48s var(--motion-ease),background-color .4s ease,border-color .35s ease}.desktop-contact-dock:focus-within,.desktop-contact-dock:hover{transform:translateX(0)}.desktop-contact-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:52px;flex:0 0 52px;border-right:1px solid var(--border-strong);background:color-mix(in srgb,var(--accent) 76%,var(--surface-raised))}.desktop-contact-handle span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-geist-mono),monospace;font-size:.68rem;line-height:1;letter-spacing:.08em}.desktop-contact-panel{display:grid;grid-template-columns:1fr 1fr;width:266px;min-width:0;padding:13px}.desktop-contact-panel header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 2px 10px;border-bottom:1px solid var(--border)}.desktop-contact-panel header span{color:var(--signal);font-size:.66rem;font-weight:700}.desktop-contact-panel header strong{font-size:.75rem}.desktop-contact-panel>a,.desktop-contact-panel>button{display:flex;align-items:center;gap:7px;min-width:0;min-height:46px;padding:6px 8px;border:0;border-bottom:1px solid var(--border);color:var(--foreground);background:transparent;font-size:.72rem;text-align:left}.desktop-contact-panel>button{grid-column:1/-1}.desktop-contact-panel>a:first-of-type{border-right:1px solid var(--border)}.desktop-contact-panel>.desktop-contact-cv{grid-column:1/-1}.desktop-contact-panel>a:hover,.desktop-contact-panel>button:hover{color:var(--cobalt-light);background:var(--accent)}.desktop-contact-panel svg{width:14px;height:14px;flex:0 0 auto}.mobile-contact-sheet,.mobile-contact-trigger{display:none}html[data-theme=dark] .hero-opportunity{background:linear-gradient(110deg,rgba(196,245,120,.08),rgba(16,20,28,.94))}html[data-theme=dark] .contact-cta,html[data-theme=dark] .hero-contact-rail{background:rgba(12,16,23,.82)}@media (max-width:1180px) and (min-width:1001px){.hero-professional-deck{grid-template-columns:minmax(250px,.72fr) minmax(500px,1.45fr);gap:24px}.hero-professional-summary{grid-template-columns:1fr}.hero-role-block h2{font-size:1.35rem}.hero-opportunity{min-height:70px}.hero-contact-rail{grid-template-columns:minmax(200px,1.5fr) minmax(118px,.9fr) minmax(92px,.7fr) minmax(92px,.7fr)}.hero-exploration-band{grid-template-columns:minmax(350px,1.25fr) minmax(240px,.8fr) auto;gap:22px}}@media (max-width:1000px) and (min-width:761px){.hero-stage{min-height:100svh;grid-template-rows:auto minmax(230px,1fr) auto auto}.hero-professional-deck{grid-template-columns:1fr;gap:14px}.hero-professional-summary{grid-template-columns:minmax(210px,.7fr) 1fr}.hero-contact-module:before{display:none}.hero-exploration-band{grid-template-columns:1fr minmax(230px,.72fr)}.hero-exploration-band>.visit-controls{grid-column:1/-1;justify-self:end}.desktop-contact-dock{bottom:16px}}@media (max-width:1100px) and (min-width:761px){.hero-contact-rail{grid-template-columns:1fr 1fr}.hero-contact-rail>a,.hero-contact-rail>button{min-height:46px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.hero-contact-rail>:nth-child(2){border-right:0}.hero-contact-rail>:nth-child(3){border-bottom:0}.hero-contact-rail>:last-child{border-right:0;border-bottom:0}}@media (max-height:820px) and (min-width:1001px){.hero-stage{padding-top:94px;gap:10px}.identity-title{font-size:min(15vw,22svh)}.hero-professional-deck{padding-top:10px}.hero-contact-rail>a,.hero-contact-rail>button{min-height:52px}.hero-exploration-band .technology-row,.hero-exploration-band .technology-row button{min-height:34px}}@media (max-width:760px){.hero-stage{min-height:100svh;padding:88px 22px 112px;gap:0}.hero-meta{flex-direction:row;align-items:flex-start;gap:14px}.hero-system-state{display:none}.identity-composition{margin-top:16px}.identity-title{font-size:min(calc((100vw - 48px) / 3.42),112px)}.identity-experience{margin-top:14px}.identity-experience strong{font-size:38px}.identity-experience>span{font-size:.72rem}.hero-professional-deck{display:flex;flex-direction:column;gap:14px;margin-top:16px;padding-top:14px}.hero-professional-summary{display:grid;grid-template-columns:1fr;gap:12px}.hero-role-block h2{margin-top:4px;font-size:clamp(1.35rem,6.2vw,1.72rem);line-height:1.08}.hero-opportunity{min-height:82px;padding:12px 15px 12px 18px}.hero-opportunity-status{font-size:.77rem}.hero-opportunity strong{font-size:.9rem}.hero-opportunity small{font-size:.78rem}.hero-contact-module:before{display:none}.hero-primary-actions{grid-template-columns:1fr 1fr;gap:8px}.contact-cta,.hero-primary-actions .work-cta{min-height:52px;padding:11px 13px;font-size:.78rem}.hero-primary-actions .work-cta{justify-content:space-between}.hero-primary-actions .work-cta svg{width:19px;height:19px}.hero-contact-rail{grid-template-columns:1fr 1fr}.hero-contact-rail>a,.hero-contact-rail>button{min-height:56px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.hero-contact-rail>button:first-child{grid-column:1/-1}.hero-contact-rail>:nth-child(3){border-right:0}.hero-contact-rail>:last-child{grid-column:1/-1;border-bottom:0;padding-right:112px}.hero-contact-rail strong{font-size:.77rem}.hero-exploration-band{display:flex;flex-direction:column;align-items:stretch;gap:15px;margin-top:18px}.hero-exploration-band .technology-signals{order:1;margin-top:0}.hero-story-bridge{order:2;padding-left:13px}.hero-story-bridge a{font-size:.82rem}.hero-exploration-band>.visit-controls{order:3;justify-content:space-between}.desktop-contact-dock{display:none}.mobile-contact-trigger{position:fixed;right:0;bottom:0;z-index:45;display:flex;justify-content:center;align-items:center;gap:8px;width:106px;min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-right:0;border-bottom:0;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);color:var(--foreground);box-shadow:-10px 0 28px var(--shadow-color);backdrop-filter:blur(14px);font-family:var(--font-geist-mono),monospace;font-size:.72rem;font-weight:700;letter-spacing:.06em}.mobile-contact-sheet{top:auto;bottom:0;left:0;display:grid;width:100%;max-width:none;max-height:min(86svh,720px);transform:none;translate:0 0;overflow-y:auto;gap:20px;padding:26px 20px max(28px,env(safe-area-inset-bottom));border:1px solid var(--border-strong);border-bottom:0;border-radius:18px 18px 0 0;background:var(--surface-raised);color:var(--foreground);box-shadow:0 -20px 70px var(--shadow-color)}.mobile-contact-sheet [data-slot=dialog-header]{gap:8px;padding-right:38px;text-align:left}.mobile-contact-sheet [data-slot=dialog-header]>.mono{color:var(--cobalt-light);font-size:.72rem}.mobile-contact-sheet [data-slot=dialog-title]{font-family:var(--display);font-size:clamp(2.7rem,13vw,4.2rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase}.mobile-contact-sheet [data-slot=dialog-description]{color:var(--text-secondary);font-size:.86rem;line-height:1.55}.mobile-contact-sheet [data-slot=dialog-close]{top:22px;right:18px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);background:var(--surface);opacity:1}.mobile-contact-actions{display:grid;border-top:1px solid var(--border-strong)}.mobile-contact-actions>a,.mobile-contact-actions>button{display:grid;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:12px;min-width:0;min-height:64px;padding:9px 4px;border:0;border-bottom:1px solid var(--border);color:var(--foreground);background:transparent;text-align:left}.mobile-contact-actions>a>span,.mobile-contact-actions>button>span{display:flex;min-width:0;flex-direction:column}.mobile-contact-actions small{color:var(--text-tertiary);font-family:var(--font-geist-mono),monospace;font-size:.68rem;letter-spacing:.06em}.mobile-contact-actions strong{min-width:0;overflow-wrap:anywhere;font-size:.88rem;line-height:1.45}.mobile-contact-actions svg{width:17px;height:17px;color:var(--cobalt-light)}.hero-copy-toast{bottom:112px;max-width:calc(100vw - 32px)}}@media (max-width:430px){.hero-stage{padding-inline:20px}.contact-cta,.hero-primary-actions .work-cta{min-height:50px}.hero-contact-rail>a,.hero-contact-rail>button{padding-inline:10px}.mobile-contact-trigger{right:0;bottom:0}}@media (max-width:360px){.hero-stage{padding-inline:18px}.hero-contact-rail strong{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.desktop-contact-dock,.hero-contact-rail>a:before,.hero-contact-rail>button:before,.hero-copy-toast{transition:none!important}}html[data-motion=off] .desktop-contact-dock,html[data-motion=off] .hero-contact-rail>a:before,html[data-motion=off] .hero-contact-rail>button:before,html[data-motion=off] .hero-copy-toast{transition:none!important}@media print{.desktop-contact-dock,.mobile-contact-trigger{display:none!important}}.entity-type-marker{--entity-accent:var(--primary);display:inline-grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:stretch;width:fit-content;max-width:100%;min-height:48px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-raised) 88%,transparent);color:var(--foreground)}.entity-type-marker[data-entity-kind=experience]{--entity-accent:var(--signal)}.entity-type-marker[data-entity-kind=education]{--entity-accent:color-mix(in srgb,var(--primary) 68%,var(--foreground))}.entity-type-marker[data-entity-kind=stack]{--entity-accent:var(--cobalt-light)}.entity-type-glyph{position:relative;display:grid;place-items:center;min-width:46px;border-right:1px solid var(--border-strong);color:var(--entity-accent);font-family:var(--display)}.entity-type-glyph b{position:relative;z-index:1;font-size:1.3rem;line-height:1}.entity-type-glyph i{position:absolute;width:24px;height:24px;border:1px solid var(--entity-accent)}.entity-type-marker[data-entity-kind=project] .entity-type-glyph i:after,.entity-type-marker[data-entity-kind=project] .entity-type-glyph i:before{content:"";position:absolute;background:var(--surface-raised)}.entity-type-marker[data-entity-kind=project] .entity-type-glyph i:before{width:10px;height:3px;top:-2px;right:3px}.entity-type-marker[data-entity-kind=project] .entity-type-glyph i:after{width:3px;height:10px;right:-2px;bottom:3px}.entity-type-marker[data-entity-kind=experience] .entity-type-glyph i{width:30px;height:2px;border:0;background:var(--entity-accent);box-shadow:-7px 0 0 color-mix(in srgb,var(--entity-accent) 35%,transparent)}.entity-type-marker[data-entity-kind=experience] .entity-type-glyph i:after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border:2px solid var(--surface-raised);border-radius:50%;background:var(--entity-accent);translate:50% -50%}.entity-type-marker[data-entity-kind=education] .entity-type-glyph i{width:25px;height:25px;border-radius:50%;box-shadow:inset 0 0 0 5px var(--surface-raised);background:var(--entity-accent)}.entity-type-marker[data-entity-kind=stack] .entity-type-glyph i{width:7px;height:7px;border-radius:50%;background:var(--entity-accent);box-shadow:-10px 8px 0 -1px var(--surface-raised),-10px 8px 0 0 var(--entity-accent),11px 8px 0 -1px var(--surface-raised),11px 8px 0 0 var(--entity-accent)}.entity-type-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:6px 14px}.entity-type-copy small{color:var(--text-tertiary);font-size:clamp(.66rem,.1vw + .64rem,.73rem);line-height:1.2}.entity-type-copy strong{color:var(--foreground);font-size:clamp(.78rem,.16vw + .74rem,.9rem);line-height:1.35;font-weight:750;letter-spacing:.045em;text-transform:uppercase;text-wrap:balance}.entity-type-index{display:grid;place-items:center;min-width:42px;padding-inline:9px;border-left:1px solid var(--border);color:var(--entity-accent);font-size:clamp(.69rem,.1vw + .67rem,.76rem);font-variant-numeric:tabular-nums}.entity-type-marker.is-compact{grid-template-columns:32px minmax(0,1fr) auto;min-height:34px}.entity-type-marker.is-compact .entity-type-glyph{min-width:32px}.entity-type-marker.is-compact .entity-type-glyph b{font-size:.96rem}.entity-type-marker.is-compact .entity-type-glyph i{scale:.66}.entity-type-marker.is-compact .entity-type-copy{padding:4px 9px}.entity-type-marker.is-compact .entity-type-copy small{display:none}.entity-type-marker.is-compact .entity-type-copy strong,.entity-type-marker.is-compact .entity-type-index{font-size:clamp(.72rem,.08vw + .7rem,.78rem);line-height:1.3}.entity-type-marker.is-compact .entity-type-index{min-width:34px;padding-inline:7px}.featured-heading .entity-type-marker{margin-bottom:16px}.featured-primary-label{display:block;margin-bottom:13px;color:var(--text-secondary);font-size:clamp(.7rem,.12vw + .67rem,.8rem);line-height:1.4}.professional-work>header>.entity-type-marker{grid-column:1/-1;margin-bottom:clamp(18px,2vw,32px)}.professional-name>.entity-type-marker{margin-bottom:8px}.professional-index{font-variant-numeric:tabular-nums}.professional-role{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:8px}.professional-role>strong{color:var(--foreground);font-size:clamp(.92rem,.22vw + .86rem,1.08rem);font-weight:650;line-height:1.4;text-wrap:pretty}.engagement-label{display:inline-flex;width:fit-content;min-height:27px;align-items:center;border-left:2px solid var(--signal);padding:4px 9px;background:color-mix(in srgb,var(--signal) 11%,var(--surface-raised));color:color-mix(in srgb,var(--signal) 72%,var(--foreground));font-size:clamp(.7rem,.08vw + .68rem,.76rem);font-weight:720;line-height:1.25;letter-spacing:.045em;text-transform:uppercase;text-wrap:balance}.timeline-type-legend{display:flex;flex-wrap:wrap;gap:10px;margin:calc(clamp(5rem, 8vw, 9rem) * -.55) 0 clamp(2rem,4vw,4rem)}.timeline-band{--timeline-type-accent:var(--signal);min-height:168px;height:max(var(--event-length),168px);gap:5px;overflow:visible}.timeline-band[data-entity-kind=project]{--timeline-type-accent:var(--primary)}.timeline-band:before{background:var(--timeline-type-accent)}.timeline-band[data-active=true]:before{background:var(--timeline-type-accent);box-shadow:0 0 10px var(--timeline-type-accent)}.timeline-band[data-active=true]>i{border-color:var(--timeline-type-accent);background:var(--timeline-type-accent);box-shadow:0 0 9px var(--timeline-type-accent)}.timeline-band>.entity-type-marker{width:100%;min-height:38px;background:color-mix(in srgb,var(--surface-raised) 88%,transparent)}.timeline-band>.entity-type-marker .entity-type-copy{padding-inline:6px}.timeline-band>.entity-type-marker .entity-type-copy strong{white-space:normal;text-wrap:balance;font-size:.72rem;line-height:1.15}.timeline-band>.entity-type-marker .entity-type-index{display:none}.timeline-band>.entity-type-marker .entity-type-glyph{border-right:0}.timeline-band small,.timeline-band>.mono{font-size:clamp(.72rem,.08vw + .7rem,.78rem)}.timeline-band small{line-height:1.35}.timeline-band-context{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}.timeline-band-context span{color:var(--text-secondary);text-wrap:balance}.timeline-band-context em,.timeline-mobile-role em{width:fit-content;color:color-mix(in srgb,var(--signal) 76%,var(--foreground));font-family:var(--font-geist-mono),monospace;font-size:clamp(.7rem,.08vw + .68rem,.76rem);font-style:normal;font-weight:720;line-height:1.35;letter-spacing:.045em;text-transform:uppercase}.timeline-readout>.entity-type-marker{width:100%;margin-bottom:20px}.timeline-readout>header{margin-top:0}.timeline-readout h3{max-width:100%;font-size:clamp(2.65rem,3.35vw,4.65rem);line-height:.88;letter-spacing:-.045em;overflow-wrap:break-word;text-wrap:balance}.timeline-readout{border-top:3px solid var(--signal)}.timeline-readout[data-entity-kind=project]{border-top-color:var(--primary)}.timeline-role{display:flex!important;flex-wrap:wrap;align-items:center;gap:9px 14px}.timeline-role>span{min-width:min(100%,210px);color:var(--foreground);line-height:1.45;text-wrap:pretty}.timeline-role>.engagement-label{flex:0 0 auto}.timeline-mobile-role{display:flex!important;min-width:0;flex-wrap:wrap;align-items:center;gap:5px 10px}.timeline-mobile-role span{color:var(--text-secondary);line-height:1.45;text-wrap:pretty}.education-school>.entity-type-marker{width:min(100%,290px)}.education-school>span:not(.entity-type-marker){margin-top:14px}.education-domain{display:block;color:var(--foreground);font-size:clamp(1.05rem,.5vw + .92rem,1.35rem);line-height:1.4;font-weight:650}html[data-theme=dark] .entity-type-marker{background:color-mix(in srgb,var(--surface-raised) 92%,transparent)}@media (max-width:1180px){.professional-work>header>.entity-type-marker{grid-column:1}.timeline-system-grid{grid-template-columns:minmax(0,1fr)}.timeline-readout{position:relative;top:auto;min-height:0}.timeline-readout h3{font-size:clamp(3.25rem,8vw,6rem)}}@media (max-width:1000px){.timeline-band{overflow:hidden}.timeline-mobile button{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:8px 14px;padding:18px 12px 18px 28px}.timeline-mobile button>.entity-type-marker{grid-column:1;grid-row:1;width:fit-content}.timeline-mobile button time{grid-column:2;grid-row:1;align-self:center;color:var(--text-secondary);font-size:.72rem}.timeline-mobile button strong{grid-column:1/-1;grid-row:2}.timeline-mobile button small{grid-column:1/-1;grid-row:3;font-size:.76rem}.timeline-mobile-role em{font-size:.72rem}.timeline-mobile button>i{left:14px}}@media (max-width:760px){.entity-type-marker{grid-template-columns:40px minmax(0,1fr) auto;width:100%;min-height:44px}.entity-type-glyph{min-width:40px}.entity-type-copy{padding-inline:10px}.entity-type-copy strong{font-size:.76rem}.entity-type-marker.is-compact{width:fit-content;max-width:100%}.entity-type-marker.is-compact .entity-type-copy strong,.entity-type-marker.is-compact .entity-type-index{font-size:.75rem}.featured-heading .entity-type-marker{width:min(100%,295px)}.professional-work>header>.entity-type-marker{width:min(100%,330px)}.professional-name>.entity-type-marker{width:fit-content}.timeline-type-legend{display:grid;grid-template-columns:1fr;margin-top:-24px}.timeline-type-legend .entity-type-marker{width:fit-content}.timeline-mobile button{min-height:154px;padding:20px 10px 20px 31px}.timeline-mobile button>.entity-type-marker{width:fit-content}.timeline-mobile button time{font-size:.75rem}.timeline-mobile button strong{font-size:clamp(2rem,10vw,2.8rem);line-height:.94}.timeline-mobile button small{font-size:.76rem;line-height:1.45}.timeline-readout>.entity-type-marker{width:min(100%,310px)}.timeline-readout h3{font-size:clamp(2.9rem,14vw,4.6rem)}.education-school>.entity-type-marker{width:min(100%,285px)}}@media (max-width:430px){.timeline-mobile button{grid-template-columns:1fr}.timeline-mobile button time{grid-column:1;grid-row:2;justify-self:start}.timeline-mobile button strong{grid-column:1;grid-row:3}.timeline-mobile button small{grid-column:1;grid-row:4}}@media (prefers-reduced-motion:reduce){.entity-type-marker{transition:none!important}}:root{--story-progress:0;--story-velocity:0;--story-stroke:2px;--story-glow:6px;--story-stretch:1;--section-progress:0;--section-shift:0px;--story-dash:1120;--signal-shift:0px;--pointer-drift-x:0px;--pointer-drift-y:0px;--pointer-tilt-x:0deg;--pointer-tilt-y:0deg}body,html{overflow-x:clip}.foreground-filament .foreground-filament-ambient{opacity:.34}.foreground-filament .story-signal-base,.foreground-filament .story-signal-pulse{fill:none;vector-effect:non-scaling-stroke}.foreground-filament .story-signal-base{stroke:var(--primary);stroke-width:1.15;stroke-dasharray:2 11;opacity:.72}.foreground-filament .story-signal-pulse{stroke:var(--signal);stroke-width:var(--story-stroke);stroke-linecap:round;stroke-dasharray:88 1032;stroke-dashoffset:var(--story-dash);opacity:.92;filter:drop-shadow(0 0 var(--story-glow) color-mix(in srgb,var(--signal) 52%,transparent));transform:translateY(var(--signal-shift)) scaleX(var(--story-stretch));transition:stroke .35s ease}.story-signal-head{opacity:.9;transition:opacity .35s ease}.story-signal-head-core{fill:var(--signal);filter:drop-shadow(0 0 6px var(--signal))}.story-signal-head-halo{fill:none;stroke:var(--primary);stroke-width:1;opacity:calc(.28 + var(--story-velocity));transform-box:fill-box;transform-origin:center}html[data-mode=explore][data-motion=on] .story-signal-head-halo{animation:story-head-breathe 1.9s ease-in-out infinite}@keyframes story-head-breathe{50%{transform:scale(1.34);opacity:.08}}html[data-story-direction=up] .foreground-filament .story-signal-pulse{stroke:var(--primary)}.foreground-filament.stage-projets{transform:translateX(-1.8vw) scaleX(.95)}.foreground-filament.stage-experience .story-signal-base,.foreground-filament.stage-experience .story-signal-pulse{stroke-dasharray:34 8}.foreground-filament.stage-stack .story-signal-base{stroke-dasharray:2 6}.foreground-filament.stage-education .story-signal-base{stroke-width:1.7;stroke-dasharray:1 9}.foreground-filament.stage-about .story-signal-base{stroke-dasharray:46 18}.foreground-filament.stage-contact .story-signal-base,.foreground-filament.stage-contact .story-signal-pulse{stroke-width:2.4;opacity:1}.product-stage-wrap{--product-x:0px;--product-y:0px;--product-image-x:0px;--product-image-y:0px;--product-rx:0deg;--product-ry:0deg;perspective:1500px}html[data-mode=explore][data-motion=on] .product-stage-wrap[data-interactive=true] .product-stage{transform:translate3d(var(--product-x),var(--product-y),0) rotateX(var(--product-rx)) rotateY(var(--product-ry));transition:transform .65s cubic-bezier(.16,1,.3,1),border-color .3s ease;transform-style:preserve-3d}html[data-mode=explore][data-motion=on] .product-stage-wrap[data-interactive=true]:hover .product-stage{border-color:color-mix(in srgb,var(--primary) 58%,var(--border))}html[data-mode=explore][data-motion=on] .product-stage-wrap[data-interactive=true] .product-capture[data-active=true] .capture-image{transform:translate3d(var(--product-image-x),var(--product-image-y),16px) scale(1.012);transition:transform .7s cubic-bezier(.16,1,.3,1)}.product-stage:before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 18%,color-mix(in srgb,var(--primary) 18%,transparent) 50%,transparent 82% 100%),repeating-linear-gradient(0deg,transparent 0 54px,color-mix(in srgb,var(--signal) 10%,transparent) 55px,transparent 56px);mask-image:linear-gradient(180deg,transparent,#000 18% 76%,transparent);opacity:calc(.12 + var(--section-progress) * .16);transform:translateY(var(--section-shift))}.product-data-flow{display:grid;grid-template-columns:minmax(9rem,.34fr) 1fr;gap:1rem;align-items:center;margin-top:1.2rem;color:var(--text-tertiary);font-size:clamp(.68rem,.1vw + .66rem,.76rem)}.product-data-flow>span{letter-spacing:.06em}.product-data-flow ol{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.product-data-flow ol:before{content:"";position:absolute;left:2px;right:2px;top:5px;height:1px;background:var(--border)}.product-data-flow li{position:relative;display:grid;gap:.45rem;color:var(--text-tertiary);transition:color .28s ease,opacity .28s ease}.product-data-flow li i{position:relative;z-index:1;width:11px;height:11px;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);transition:border-color .28s ease,background-color .28s ease,box-shadow .28s ease,transform .28s ease}.product-data-flow li b{font-size:inherit;font-weight:500}.product-data-flow li[data-active=true]{color:var(--primary)}.product-data-flow li[data-active=true] i{border-color:var(--primary);background:var(--primary)}.product-data-flow li[data-current=true]{color:var(--foreground)}.product-data-flow li[data-current=true] i{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 5px color-mix(in srgb,var(--signal) 13%,transparent),0 0 15px color-mix(in srgb,var(--signal) 44%,transparent);transform:scale(1.08)}html[data-mode=explore][data-motion=on] .product-data-flow li[data-current=true] i:after{content:"";position:absolute;inset:-6px;border:1px solid var(--signal);border-radius:inherit;animation:product-flow-pulse 1.6s ease-out infinite}@keyframes product-flow-pulse{to{transform:scale(1.8);opacity:0}}.story-chapter{position:relative}.story-chapter:before{content:"";position:absolute;left:-2.1rem;top:50%;width:1.1rem;height:1px;background:linear-gradient(90deg,transparent,var(--primary));opacity:.38}html[data-mode=explore][data-motion=on] .stage-caption [data-stage-value]{animation:stage-value-enter .42s cubic-bezier(.16,1,.3,1) both}@keyframes stage-value-enter{0%{opacity:0;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}html[data-mode=explore][data-motion=on] .timeline-readout{animation:timeline-readout-enter .48s cubic-bezier(.16,1,.3,1) both}@keyframes timeline-readout-enter{0%{opacity:.65;transform:translateY(11px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}.timeline-stack{align-items:center}.timeline-stack small{width:100%;color:var(--text-tertiary);font-size:clamp(.66rem,.08vw + .64rem,.73rem);letter-spacing:.06em}html[data-mode=explore][data-motion=on] .timeline-readout .timeline-stack span{animation:timeline-tech-enter .45s cubic-bezier(.16,1,.3,1) both}html[data-mode=explore][data-motion=on] .timeline-readout .timeline-stack span:nth-of-type(2){animation-delay:45ms}html[data-mode=explore][data-motion=on] .timeline-readout .timeline-stack span:nth-of-type(3){animation-delay:90ms}html[data-mode=explore][data-motion=on] .timeline-readout .timeline-stack span:nth-of-type(4){animation-delay:135ms}html[data-mode=explore][data-motion=on] .timeline-readout .timeline-stack span:nth-of-type(5){animation-delay:.18s}html[data-mode=explore][data-motion=on] .timeline-readout .timeline-stack span:nth-of-type(n+6){animation-delay:225ms}@keyframes timeline-tech-enter{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}.timeline-band-technologies{position:absolute;z-index:5;left:calc(100% + 10px);top:50%;display:flex;width:max-content;max-width:122px;flex-direction:column;align-items:flex-start;gap:4px;opacity:0;transform:translate3d(-8px,-50%,0);pointer-events:none;transition:opacity .24s ease,transform .48s cubic-bezier(.16,1,.3,1)}.timeline-band-technologies>span{display:block;border-left:1px solid var(--timeline-type-accent,var(--signal));padding:3px 6px;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);color:var(--foreground);font-family:var(--font-geist-mono),monospace;font-size:clamp(.66rem,.08vw + .64rem,.72rem);line-height:1.25;white-space:nowrap}html[data-mode=explore] .timeline-band:focus-visible .timeline-band-technologies,html[data-mode=explore] .timeline-band:hover .timeline-band-technologies,html[data-mode=explore] .timeline-band[data-active=true] .timeline-band-technologies{opacity:1;transform:translate3d(0,-50%,0)}html[data-mode=explore][data-motion=on] .timeline-band[data-active=true] .timeline-band-technologies>span{animation:timeline-satellite-enter .46s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--technology-delay)}@keyframes timeline-satellite-enter{0%{opacity:0;transform:translateX(-8px)}}html[data-mode=explore][data-motion=on] .knowledge-canvas{transform:perspective(1800px) rotateX(var(--pointer-tilt-x)) rotateY(var(--pointer-tilt-y));transform-origin:center;transition:transform .85s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}html[data-mode=explore][data-motion=on] .knowledge-canvas:hover{box-shadow:0 28px 90px var(--shadow-color)}.knowledge-canvas .active-edge{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--primary) 50%,transparent))}.education-foundation{position:relative}.education-foundation>:not(.foundation-convergence){position:relative;z-index:1}.foundation-convergence{position:absolute;z-index:0;top:clamp(90px,9vw,155px);left:4%;width:92%;height:min(62vw,720px);overflow:visible;opacity:.66;pointer-events:none}.foundation-convergence circle,.foundation-convergence path{vector-effect:non-scaling-stroke}.foundation-convergence g path{fill:none;stroke:color-mix(in srgb,var(--primary) 31%,transparent);stroke-width:.72;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--section-progress))}.foundation-convergence g circle{fill:var(--primary);opacity:calc(.18 + var(--section-progress))}.foundation-base-line,.foundation-output{fill:none;stroke:color-mix(in srgb,var(--signal) 56%,var(--primary));stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--section-progress))}.foundation-core-node{fill:var(--signal);opacity:calc(.35 + var(--section-progress));filter:drop-shadow(0 0 5px var(--signal));transform-box:fill-box;transform-origin:center}html[data-mode=explore][data-motion=on] .foundation-core-node{animation:foundation-core-breathe 2.6s ease-in-out infinite}@keyframes foundation-core-breathe{50%{transform:scale(1.55)}}.education-foundation:after{content:"";position:absolute;z-index:-1;left:50%;bottom:8%;width:min(62vw,900px);height:min(28vw,340px);border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:50%;transform:translateX(-50%) scaleX(.94);opacity:calc(.25 + var(--section-progress));box-shadow:inset 0 0 70px color-mix(in srgb,var(--primary) 8%,transparent);pointer-events:none}.about-audio-wave{stroke-dasharray:12 5;stroke-dashoffset:calc(var(--section-progress) * -120)}html[data-mode=explore][data-motion=on] .foreground-filament.stage-about{animation:human-field-breath 5.4s ease-in-out infinite}@keyframes human-field-breath{50%{transform:scale(.58) translateY(-5px);opacity:.09}}.personal-side-signal li{font-size:clamp(.72rem,.12vw + .69rem,.82rem);line-height:1.35;transition:color .24s ease,transform .35s cubic-bezier(.16,1,.3,1),opacity .24s ease}.interest-readout{display:block;min-height:1.2em;margin-top:18px;color:var(--signal);font-size:clamp(.68rem,.08vw + .66rem,.74rem);letter-spacing:.06em}.personal-side-signal li button{border:0;padding:5px 0;background:transparent;color:inherit;font:inherit;text-transform:inherit}.personal-side-signal li:has(button[aria-pressed=true]){color:var(--foreground);transform:translateY(-3px)}.personal-side-signal li:has(button[aria-pressed=true]):before{color:var(--signal)}.about-audio-wave,.personal-side-signal circle{transform-box:fill-box;transform-origin:center;transition:stroke .35s ease,stroke-width .35s ease,transform .55s cubic-bezier(.16,1,.3,1),opacity .35s ease}.personal-side-signal[data-interest=physical] .about-audio-wave{stroke:var(--signal);stroke-width:1.65;transform:scaleY(1.18)}.personal-side-signal[data-interest=context] .about-audio-wave{stroke-dasharray:4 7;transform:scaleY(.72)}.personal-side-signal[data-interest=audio] .about-audio-wave{stroke-width:1.75;transform:scaleY(1.34)}.personal-side-signal[data-interest=audio] circle{transform:scale(1.45)}html[data-mode=explore] .personal-side-signal ul:has(li:hover) li:not(:hover){opacity:.48}html[data-mode=explore] .personal-side-signal li:hover{color:var(--foreground);transform:translateY(-3px)}.contact-system:after{content:"";position:absolute;z-index:0;right:-8vw;bottom:-26vw;width:min(70vw,1180px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,color-mix(in srgb,var(--primary) 13%,transparent) 0 1px,transparent 1px 46px);transform:translate3d(var(--contact-target-x,0),var(--contact-target-y,0),0) scale(.88);opacity:calc(.24 + var(--section-progress));transition:transform .28s ease-out;pointer-events:none}html[data-mode=explore][data-motion=on] .foreground-filament.stage-contact{transform:translate3d(var(--contact-target-x,0),var(--contact-target-y,0),0) scale(var(--contact-scale,.25))}.contact-system>*{position:relative;z-index:1}html[data-mode=explore][data-motion=on] .contact-email-target:focus-visible .contact-copy-icon,html[data-mode=explore][data-motion=on] .contact-email-target:hover .contact-copy-icon{transform:scale(1.08) rotate(-4deg);border-color:var(--signal);box-shadow:0 0 0 8px color-mix(in srgb,var(--signal) 8%,transparent)}.contact-copy-icon{transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .25s ease,box-shadow .35s ease}html[data-mode=explore][data-motion=on] .reveal[data-reveal]{transition:opacity .62s ease,transform .78s cubic-bezier(.16,1,.3,1),filter .62s ease,clip-path .82s cubic-bezier(.16,1,.3,1)}html[data-mode=explore][data-motion=on] .reveal[data-reveal=mask][data-revealed=false]{opacity:.76;transform:translateY(.65rem) scaleY(.985);transform-origin:bottom;clip-path:inset(0);filter:blur(.6px)}html[data-mode=explore][data-motion=on] .reveal[data-reveal=focus][data-revealed=false]{opacity:.74;transform:translateX(-.6rem);filter:blur(.8px);clip-path:inset(0)}html[data-mode=explore][data-motion=on] .reveal[data-reveal=graph][data-revealed=false]{opacity:.76;transform:scale(.99);filter:blur(.65px);clip-path:inset(0)}html[data-mode=explore][data-motion=on] .reveal[data-reveal=foundation][data-revealed=false]{opacity:.76;transform:translateY(-.5rem) scaleX(.985);transform-origin:bottom;filter:blur(.6px)}html[data-mode=explore][data-motion=on] .reveal[data-reveal=human][data-revealed=false]{opacity:.76;transform:translateY(.45rem) scale(.995);filter:blur(.65px)}html[data-mode=explore][data-motion=on] .reveal[data-reveal=converge][data-revealed=false]{opacity:.74;transform:scale(1.01);filter:blur(.8px);clip-path:inset(0)}html[data-mode=explore][data-motion=on] .reveal[data-reveal][data-revealed=true]{opacity:1;transform:none;filter:none;clip-path:inset(0)}.visit-toggle [data-slot=toggle-group-item]{flex-direction:column;align-items:flex-start;justify-content:center;height:42px;padding-inline:.7rem;line-height:1.05}.visit-toggle [data-slot=toggle-group-item]>span{display:inline-flex;align-items:center;gap:.38rem;font-size:.72rem}.visit-toggle [data-slot=toggle-group-item] small{max-width:8.5rem;overflow:hidden;color:var(--text-tertiary);font-size:.66rem;font-weight:450;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;text-transform:none}.visit-toggle [data-state=on] small{color:var(--text-secondary)}@media (max-width:1240px){.visit-toggle [data-slot=toggle-group-item]{height:42px}}@media (max-width:1180px){.timeline-band-technologies{display:none}}@media (max-width:360px){.visit-toggle [data-slot=toggle-group-item]{padding-inline:.55rem}.visit-toggle [data-slot=toggle-group-item] small{font-size:.62rem}}@media (max-width:780px){.foreground-filament .story-signal-base,.foreground-filament .story-signal-pulse{opacity:.45}.product-data-flow{grid-template-columns:1fr;gap:.6rem;margin-top:1rem}.product-data-flow>span{display:none}.product-data-flow li b{font-size:.62rem;overflow-wrap:anywhere}.story-chapter:before{display:none}.education-foundation:after{bottom:4%;width:92vw;height:48vw}.foundation-convergence{top:130px;left:-8%;width:116%;height:680px;opacity:.4}.contact-system:after{right:-48vw;bottom:-8vw;width:125vw}}html[data-mode=recruiter] .capture-scanline,html[data-mode=recruiter] .product-data-flow li[data-current=true] i:after,html[data-mode=recruiter] .story-signal-head-halo,html[data-mode=recruiter] .story-signal-pulse{animation:none}html[data-mode=recruiter] .knowledge-canvas,html[data-mode=recruiter] .product-stage{transform:none}html[data-mode=recruiter] .story-chapter{min-height:auto;padding-block:clamp(2.75rem,5vh,4.5rem)}html[data-mode=recruiter] .foundation-base-line,html[data-mode=recruiter] .foundation-convergence g path,html[data-mode=recruiter] .foundation-output{stroke-dashoffset:.35}@media (prefers-reduced-motion:reduce){.about-audio-wave,.foreground-filament,.product-data-flow li i:after,.story-signal-head-halo,.story-signal-pulse,.timeline-readout,.timeline-stack span{animation:none!important;transform:none!important}.capture-image,.knowledge-canvas,.product-stage{transform:none!important}.foundation-base-line,.foundation-convergence g path,.foundation-output{stroke-dashoffset:0!important}.foundation-core-node{animation:none!important;transform:none!important}}.clarity-section{position:relative;z-index:2;min-width:0;overflow:clip;scroll-margin-top:6.5rem;border-top:1px solid var(--border-strong);background:var(--background)}.clarity-about,.clarity-project,.clarity-skills{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 3%,transparent),transparent 32rem),var(--surface)}.clarity-section-header{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(24rem,1.28fr);gap:clamp(3rem,8vw,9rem);align-items:start;margin-bottom:clamp(4rem,8vw,8rem)}.clarity-section .chapter-identity{position:sticky;top:96px;width:100%}.clarity-section .chapter-identity-copy{grid-template-columns:1fr;gap:.25rem}.clarity-section-heading{min-width:0}.clarity-section-heading>.mono{display:block;margin-bottom:1.1rem;color:var(--primary);font-size:clamp(.78rem,.16vw + .74rem,.9rem);font-weight:650}.clarity-section-heading h2{max-width:16ch;font-family:var(--display);font-size:clamp(3.5rem,6.4vw,7.8rem);font-weight:800;letter-spacing:-.035em;line-height:.88;text-wrap:balance}.clarity-section-heading>p{max-width:42rem;margin-top:clamp(1.5rem,2.5vw,2.4rem);color:var(--text-secondary);font-size:clamp(1rem,.32vw + .92rem,1.22rem);line-height:1.7}.clarity-project-case{min-width:0;padding-top:clamp(2rem,4vw,4rem);border-top:2px solid var(--foreground)}.clarity-project-title{display:grid;grid-template-columns:minmax(13rem,.45fr) minmax(22rem,1fr) auto;gap:clamp(2rem,5vw,6rem);align-items:end}.clarity-project-title>div{min-width:0}.clarity-project-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;color:var(--text-secondary);font-size:clamp(.78rem,.16vw + .74rem,.9rem)}.clarity-project-title h3{margin-top:.6rem;font-family:var(--display);font-size:clamp(5rem,10vw,12rem);letter-spacing:-.04em;line-height:.8}.clarity-project-title>div>p:last-child{max-width:42rem;margin-top:1.35rem;color:var(--text-secondary);font-size:clamp(1rem,.3vw + .94rem,1.2rem);line-height:1.65}.clarity-project-title>a{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:12rem;min-height:3.5rem;padding:.8rem 1rem;border:1px solid var(--border-strong);background:var(--surface-raised);font-weight:650}.clarity-project-title>a:focus-visible,.clarity-project-title>a:hover{border-color:var(--primary);color:var(--primary)}.clarity-project-preview{margin:clamp(3rem,6vw,6rem) 0 0;border:1px solid var(--border-strong);background:var(--surface-raised)}.clarity-preview-bar{display:flex;justify-content:space-between;gap:1rem;min-height:3rem;padding:.8rem 1rem;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:clamp(.75rem,.14vw + .72rem,.84rem)}.clarity-preview-image{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--surface-soft)}.clarity-preview-image img{object-fit:cover;object-position:top center}.project-image-mobile{display:none}.clarity-project-preview figcaption{padding:.9rem 1rem;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.875rem}.clarity-project-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3rem,6vw,6rem);border-block:1px solid var(--border-strong)}.clarity-project-details>section{min-width:0;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid var(--border)}.clarity-project-details>section:last-child{border-right:0}.clarity-about-grid .mono,.clarity-project-details .mono,.clarity-technology-context>.mono{color:var(--primary);font-size:clamp(.75rem,.14vw + .72rem,.84rem);font-weight:650}.clarity-about-grid h3,.clarity-project-details h4{margin-top:.8rem;font-size:clamp(1.35rem,1.35vw,1.9rem);line-height:1.25}.clarity-about-grid p,.clarity-project-details li,.clarity-project-details p{color:var(--text-secondary);font-size:clamp(.94rem,.18vw + .9rem,1.05rem);line-height:1.65}.clarity-project-details p,.clarity-project-details ul{margin-top:1rem}.clarity-about-grid ul,.clarity-inline-list,.clarity-project-details ul,.clarity-proof-list,.clarity-skill-groups ul{margin-bottom:0;padding:0;list-style:none}.clarity-project-details>section:not(:last-child) li,.clarity-proof-list li{position:relative;padding-left:1.25rem}.clarity-project-details>section:not(:last-child) li:before,.clarity-proof-list li:before{content:"";position:absolute;top:.72em;left:0;width:.38rem;height:.38rem;background:var(--primary)}.clarity-project-details li+li,.clarity-proof-list li+li{margin-top:.65rem}.clarity-inline-list{display:flex;flex-wrap:wrap;gap:.55rem}.clarity-inline-list li{padding:.45rem .7rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 78%,transparent);color:var(--foreground);font-size:.86rem;line-height:1.3}.clarity-experience-list{border-top:2px solid var(--foreground)}.clarity-experience-entry{display:grid;grid-template-columns:minmax(13rem,.42fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);padding-block:clamp(3rem,6vw,6rem);border-bottom:1px solid var(--border-strong)}.clarity-experience-entry[data-primary=true]{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 5%,transparent),transparent 48%)}.clarity-experience-entry>.entity-type-marker{align-self:start}.clarity-experience-main,.clarity-experience-main header>div{min-width:0}.clarity-experience-main>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:start}.clarity-experience-main h3{font-family:var(--display);font-size:clamp(3.4rem,7vw,8.5rem);letter-spacing:-.035em;line-height:.86;text-wrap:balance}.clarity-experience-main header p{margin-top:.65rem;color:var(--text-secondary);font-size:clamp(1rem,.28vw + .94rem,1.18rem)}.clarity-experience-main time{padding-top:.55rem;color:var(--primary);font-size:clamp(.8rem,.18vw + .76rem,.92rem);font-variant-numeric:tabular-nums;white-space:nowrap}.clarity-experience-role{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:1.6rem;font-size:clamp(1rem,.24vw + .95rem,1.15rem)}.clarity-experience-role span{color:var(--signal);font-weight:700}.clarity-experience-context{max-width:52rem;margin-top:1.15rem;color:var(--text-secondary);font-size:clamp(1rem,.2vw + .95rem,1.1rem);line-height:1.65}.clarity-proof-list{max-width:56rem;margin-top:1.6rem;color:var(--text-secondary)}.clarity-proof-list li{font-size:clamp(.94rem,.15vw + .91rem,1.04rem);line-height:1.6}.clarity-technology-context{margin-top:2rem;padding-top:1.3rem;border-top:1px solid var(--border)}.clarity-technology-context .clarity-inline-list{margin-top:.8rem}.clarity-skill-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--foreground);border-left:1px solid var(--border)}.clarity-skill-groups>section{min-width:0;min-height:18rem;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.clarity-skill-groups>section>.mono{color:var(--primary);font-size:.8rem}.clarity-skill-groups h3{margin-top:.8rem;font-family:var(--display);font-size:clamp(2.2rem,3.4vw,4.2rem);line-height:.9}.clarity-skill-groups ul{margin-top:1.5rem}.clarity-skill-groups li{padding-block:.42rem;color:var(--text-secondary);font-size:clamp(.98rem,.18vw + .94rem,1.08rem);line-height:1.45}.clarity-education-record{display:grid;grid-template-columns:minmax(13rem,.45fr) minmax(14rem,.55fr) minmax(24rem,1fr);gap:clamp(2rem,5vw,6rem);align-items:start;padding-block:clamp(3rem,5vw,5rem);border-block:2px solid var(--foreground)}.clarity-education-name>.mono{color:var(--primary);font-size:.82rem}.clarity-education-name h3{margin-top:.8rem;font-family:var(--display);font-size:clamp(4rem,7vw,8rem);line-height:.82}.clarity-education-name p{margin-top:.8rem;color:var(--text-secondary);font-size:1rem}.clarity-education-record ol{margin:0;padding:0;list-style:none}.clarity-education-record li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.5rem;padding-block:1.6rem;border-top:1px solid var(--border-strong)}.clarity-education-record li:last-child{border-bottom:1px solid var(--border-strong)}.clarity-education-record li>strong{color:var(--primary);font-size:1rem}.clarity-education-record h4{font-size:clamp(1.15rem,.75vw + .95rem,1.6rem);line-height:1.35}.clarity-education-record li p{margin-top:.45rem;color:var(--text-secondary);font-size:.92rem}.clarity-about-grid{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr);border-top:2px solid var(--foreground)}.clarity-about-grid>section{min-width:0;padding:clamp(2rem,4vw,4rem);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.clarity-about-grid>section:last-child{border-right:0}.clarity-about-grid dl{margin:1.5rem 0 0}.clarity-about-grid dl>div{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(8rem,1fr);gap:1rem;padding-block:.8rem;border-top:1px solid var(--border)}.clarity-about-grid dd,.clarity-about-grid dt{font-size:1rem}.clarity-about-grid dd{margin:0;color:var(--text-secondary)}.clarity-about-grid>section>p{max-width:42rem;margin-top:1.2rem}.clarity-about-grid ul{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin-top:1.6rem}.clarity-about-grid li{padding-bottom:.2rem;border-bottom:1px solid var(--border-strong);font-size:.96rem}.clarity-availability{display:inline-flex!important;align-items:center;gap:.65rem;color:var(--signal)!important}.clarity-availability i{width:.48rem;height:.48rem;border-radius:50%;background:var(--signal)}.clarity-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--foreground);border-left:1px solid var(--border)}.clarity-contact-actions a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;min-height:9rem;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 70%,transparent)}.clarity-contact-actions a:focus-visible,.clarity-contact-actions a:hover{background:var(--accent)}.clarity-contact-actions .mono{color:var(--primary);font-size:.8rem}.clarity-contact-actions strong{grid-column:1;min-width:0;font-size:clamp(1.1rem,1vw + .85rem,1.65rem);line-height:1.35;overflow-wrap:anywhere}.clarity-contact-actions small{grid-column:1;color:var(--text-secondary);font-size:clamp(.82rem,.16vw + .78rem,.94rem);line-height:1.45;overflow-wrap:anywhere}.clarity-contact-actions>a:first-child strong{font-size:clamp(.95rem,.7vw + .78rem,1.4rem)}.hero-contact-rail strong,.hero-contact-rail>a,.hero-contact-rail>button{overflow:visible}.hero-contact-rail strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.clarity-contact-actions svg{grid-column:2;grid-row:1/-1;align-self:center}.clarity-contact-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(2rem,4vw,4rem) 0 0;border-block:1px solid var(--border-strong)}.clarity-contact-facts>div{padding:1.25rem 1.5rem;border-right:1px solid var(--border)}.clarity-contact-facts>div:last-child{border-right:0}.clarity-contact-facts dt{color:var(--text-secondary);font-size:.82rem}.clarity-contact-facts dd{margin:.4rem 0 0;font-size:1rem;font-weight:650}.clarity-footer{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center;min-height:7rem;padding-block:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));border-top:1px solid var(--border-strong);background:var(--background)}.clarity-footer>strong{font-family:var(--display);font-size:1.35rem}.clarity-footer>a{display:inline-flex;align-items:center;gap:.7rem;min-height:44px}.clarity-masthead .masthead-links{gap:clamp(.8rem,1.4vw,1.7rem);margin-inline:auto}.clarity-masthead .masthead-links a{color:var(--text-secondary);font-size:clamp(.75rem,.16vw + .71rem,.86rem);font-weight:560;white-space:nowrap}.clarity-masthead .masthead-links a[aria-current]{color:var(--foreground);font-weight:720}.clarity-masthead .masthead-utilities{gap:.8rem}.theme-switch{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding-inline:.75rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 76%,transparent);color:var(--foreground);font-size:.78rem;font-weight:650;white-space:nowrap}.theme-switch:focus-visible,.theme-switch:hover{border-color:var(--primary);color:var(--primary)}.theme-switch svg{width:1rem;height:1rem}.hero-contact-module:before,.theme-switch-mobile{display:none}.hero-contact-label{position:absolute;top:-2rem;right:0;color:var(--text-secondary);font-size:.76rem;letter-spacing:.045em}.hero-core-stack{display:grid;gap:.12rem;margin-top:.75rem;color:var(--text-secondary);font-size:clamp(.8rem,.16vw + .76rem,.9rem);line-height:1.45}.clarity-chapter-indicator{position:fixed;z-index:20;top:50%;bottom:auto;left:1rem;width:8.5rem;height:auto;translate:0 -50%}html[data-theme] .chapter-rail.clarity-chapter-indicator{border:0;background:transparent;box-shadow:none;backdrop-filter:none}.clarity-chapter-indicator>a{display:grid;gap:.35rem;min-height:5.5rem;padding:1rem;border:1px solid var(--border-strong);background:var(--surface-translucent);box-shadow:0 .7rem 2.5rem var(--shadow-color);backdrop-filter:blur(16px)}.clarity-chapter-indicator .mono{color:var(--primary);font-size:.78rem;font-variant-numeric:tabular-nums}.clarity-chapter-indicator strong{font-size:.9rem;line-height:1.25;text-transform:uppercase}.clarity-chapter-indicator i{position:relative;display:block;width:100%;height:2px;margin-top:.35rem;overflow:hidden;background:var(--border)}.clarity-chapter-indicator i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--chapter-progress);background:var(--primary)}@media (min-width:1181px){.clarity-section{padding-left:max(var(--gutter),11rem)}}@media (max-width:1180px){.clarity-masthead .masthead-links{display:none}.clarity-masthead .menu-trigger{display:flex}.theme-switch-desktop{display:none}.navigation-dialog .theme-switch-mobile{display:flex;width:100%;margin-top:1.25rem}.clarity-chapter-indicator{top:auto;right:1rem;bottom:.75rem;left:1rem;width:auto;height:auto;padding:0;translate:0;display:block;border:0;background:transparent;pointer-events:none}.clarity-chapter-indicator>a{grid-template-columns:auto minmax(0,1fr);gap:.2rem .8rem;width:fit-content;max-width:100%;min-height:3.5rem;padding:.65rem .9rem;pointer-events:auto}.clarity-chapter-indicator strong{align-self:center}.clarity-chapter-indicator i{grid-column:1/-1;margin-top:0}.clarity-education-record,.clarity-project-title,.clarity-section-header{grid-template-columns:1fr}.clarity-section .chapter-identity{position:relative;top:auto}.clarity-project-title>a{width:fit-content}.clarity-experience-entry{grid-template-columns:1fr;gap:1.6rem}.clarity-experience-main>header{grid-template-columns:1fr;gap:.7rem}.clarity-skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.clarity-section{overflow:hidden;scroll-margin-top:5.5rem}.clarity-section-header{gap:2.5rem;margin-bottom:3.5rem}.hero-contact-label{display:none}.clarity-section-heading h2{max-width:none;font-size:clamp(3.25rem,15vw,5.5rem);line-height:.9}.clarity-section-heading>p{font-size:1rem}.clarity-project-title{gap:1.5rem}.clarity-project-title h3{font-size:clamp(4.2rem,21vw,7rem);line-height:.84}.clarity-project-title>a{width:100%}.project-image-desktop{display:none}.project-image-mobile{display:block;aspect-ratio:9/16}.clarity-preview-bar span:last-child{display:none}.clarity-about-grid,.clarity-contact-actions,.clarity-contact-facts,.clarity-project-details,.clarity-skill-groups{grid-template-columns:1fr}.clarity-about-grid>section,.clarity-contact-facts>div,.clarity-project-details>section{border-right:0;border-bottom:1px solid var(--border)}.clarity-experience-entry{grid-template-columns:1fr;gap:1.6rem}.clarity-experience-main>header{grid-template-columns:1fr;gap:.7rem}.clarity-experience-main h3{font-size:clamp(3.25rem,15vw,5.2rem);line-height:.9}.clarity-experience-main time{padding-top:0;white-space:normal}.clarity-skill-groups>section{min-height:0}.clarity-education-record{gap:2rem}.clarity-education-record li{grid-template-columns:4.5rem minmax(0,1fr);gap:1rem}.clarity-about-grid dl>div{grid-template-columns:minmax(6rem,.8fr) minmax(8rem,1.2fr)}.clarity-contact-actions a{min-height:7rem}.clarity-contact-facts{border-bottom:0}.clarity-footer{grid-template-columns:1fr auto;padding-bottom:6rem}.clarity-footer>a{grid-column:1/-1}}@media (max-width:430px){.clarity-experience-main h3,.clarity-section-heading h2{overflow-wrap:normal;word-break:normal;hyphens:none}.clarity-about-grid>section,.clarity-contact-actions a,.clarity-project-details>section{padding-inline:1.25rem}}@media (prefers-reduced-motion:reduce){.clarity-chapter-indicator *,.clarity-masthead,.clarity-section *{animation:none!important;transition:none!important}}html[data-motion=off] .clarity-chapter-indicator *,html[data-motion=off] .clarity-masthead,html[data-motion=off] .clarity-section *{animation:none!important;transition:none!important}