/* V10: scroll-driven portfolio, inspired by the user-supplied landing, intro, slider, and timeline references. */
html, body {position:static!important;inset:auto!important;height:auto!important;min-height:100%!important;width:100%!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;scroll-behavior:smooth!important;scroll-snap-type:none!important;scrollbar-width:none;}
html::-webkit-scrollbar,body::-webkit-scrollbar {display:none;}
body{isolation:isolate;}
.site-header{position:sticky!important;top:0;left:auto;right:auto;z-index:60;}
main#main{position:relative!important;inset:auto!important;overflow:visible!important;isolation:auto;display:block!important;}
main#main > section[id],main#main > section[id].deck-active,main#main > section[id].deck-past{
 position:relative!important;inset:auto!important;display:block!important;height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;
 overflow:visible!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:none!important;
 will-change:auto;scroll-margin-top:72px;padding:clamp(80px,10vw,140px) 0!important;
}
main#main > section[id] > .shell{height:auto!important;min-height:0!important;width:min(1140px,calc(100% - 72px));display:block!important;overflow:visible!important;justify-content:initial!important;padding:0!important;}
main#main > section[id].hero{width:min(1140px,calc(100% - 72px));min-height:calc(100svh - 72px)!important;max-height:none!important;display:grid!important;grid-template-columns:1.04fr .96fr;grid-template-rows:1fr auto;align-items:center;gap:38px;padding:clamp(40px,6vh,84px) 0 25px!important;}
main#main > section[id].hero .hero-art{height:min(58vh,540px);min-height:370px;}
main#main > section[id].hero .hero-bottom{align-self:end;}
main#main .section-grid{display:grid!important;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:clamp(35px,5vw,78px);align-items:center;}
main#main .section-grid>.section-body{max-height:none!important;overflow:visible!important;padding:0!important;}
main#main > section#experience > .shell{overflow:visible!important;}
main#main > section#experience .timeline{overflow:visible!important;display:block!important;min-height:0!important;}
#experience .timeline .job,#experience .timeline .job[hidden]{display:block!important;visibility:visible!important;opacity:1!important;}
#experience .experience-pagination{display:none!important;}
.footer{display:block!important;}
.deck-controls,.deck-dots,.chapter-kicker,.side-index{display:none!important;}
.read-progress{z-index:100;}
/* Editorial intro: independent from the user's reference SVG brand. */
.hero-copy .eyebrow:before{content:'';display:inline-block;width:7px;height:7px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 13%, transparent);border-radius:50%;}
.hero-copy h1{position:relative;}
.hero-copy h1:after{content:'';display:block;width:clamp(50px,10vw,118px);height:2px;margin-top:21px;background:var(--accent);transform-origin:left;animation:v10-rule .9s .5s both;}
@keyframes v10-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes v10-enter{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.motion-intro > * {animation:v10-enter .85s cubic-bezier(.2,.8,.2,1) both;}.motion-intro > :nth-child(2){animation-delay:.08s}.motion-intro > :nth-child(3){animation-delay:.16s}.motion-intro > :nth-child(4){animation-delay:.23s}.motion-intro > :nth-child(5){animation-delay:.32s}.motion-intro > :nth-child(6){animation-delay:.4s}}
/* Slider: layered cross-fade plus directional slide, while retaining image placeholders and keyboard/buttons. */
.hero-showcase .showcase-slide{transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1),visibility .7s;transform:translateX(14%) scale(1.06);}
.hero-showcase .showcase-slide.is-active{transform:translateX(0) scale(1);}
.hero-showcase .showcase-slide .stage-caption{transition:opacity .65s,transform .75s;opacity:0;transform:translateY(17px);}
.hero-showcase .showcase-slide.is-active .stage-caption{opacity:1;transform:translateY(0);transition-delay:.22s;}
.hero-showcase .showcase-slide .systems-window,.hero-showcase .showcase-slide .discovery-disc{opacity:0;transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1);}
.hero-showcase .showcase-slide .systems-window{transform:translateX(35px) rotate(-4deg);}
.hero-showcase .showcase-slide.is-active .systems-window{opacity:1;transform:translateX(0) rotate(-4deg);transition-delay:.2s;}
.hero-showcase .showcase-slide .discovery-disc{transform:scale(.84);}
.hero-showcase .showcase-slide.is-active .discovery-disc{opacity:1;transform:scale(1);transition-delay:.2s;}
.hero-showcase .showcase-controls{z-index:9;}
/* Alternating chronology, modeled after supplied responsive vertical timeline. */
#experience .section-heading{margin-bottom:64px!important;}
#experience .timeline-vertical{position:relative;width:100%;padding:8px 0 25px;}
#experience .timeline-vertical:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(to bottom,transparent,var(--line) 3%,var(--line) 97%,transparent);}
#experience .timeline-vertical:after{content:'';position:absolute;top:0;left:50%;width:2px;height:var(--timeline-progress,0%);transform:translateX(-50%);background:linear-gradient(var(--accent),var(--accent));box-shadow:0 0 15px color-mix(in srgb,var(--accent) 40%,transparent);transition:height .16s linear;pointer-events:none;}
#experience .timeline-vertical .job,#experience .timeline-vertical .job[hidden]{position:relative;box-sizing:border-box;width:calc(50% - 40px);margin:0 0 24px;padding:24px 26px 27px;background:var(--bg);border:1px solid var(--line);border-radius:5px;box-shadow:0 18px 48px rgba(0,0,0,.09);transition:border-color .25s,box-shadow .25s,opacity .72s,translate .72s!important;transform:none!important;}
#experience .timeline-vertical .job:nth-child(odd){margin-right:auto;text-align:left;}
#experience .timeline-vertical .job:nth-child(even){margin-left:auto;text-align:left;}
#experience .timeline-vertical .job:before{content:'';position:absolute;top:34px;width:11px;height:11px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:0 0 0 2px var(--accent);z-index:3;}
#experience .timeline-vertical .job:nth-child(odd):before{right:-50px;}
#experience .timeline-vertical .job:nth-child(even):before{left:-50px;}
#experience .timeline-vertical .job:after{content:'';position:absolute;top:41px;width:39px;height:1px;background:var(--line);}
#experience .timeline-vertical .job:nth-child(odd):after{right:-40px;}
#experience .timeline-vertical .job:nth-child(even):after{left:-40px;}
#experience .timeline-vertical .job:hover{border-color:var(--accent);box-shadow:0 20px 55px rgba(0,0,0,.17);}
#experience .timeline-vertical .job-date{display:inline-block;padding:5px 10px;border-radius:2px;background:color-mix(in srgb,var(--accent) 11%,transparent);font-size:12px;color:var(--accent);font-weight:750;}
#experience .timeline-vertical .job-overline{font-size:10px;letter-spacing:.12em;margin-top:16px;line-height:1.55;}
#experience .timeline-vertical .job h3{font-size:clamp(20px,2.1vw,25px);margin:8px 0 12px;line-height:1.28;}
#experience .timeline-vertical .job p{font-size:13px;line-height:1.74;color:var(--muted);margin:0;}
#experience .timeline-vertical .job-tags{display:flex!important;gap:7px;margin-top:20px;}
#experience .timeline-vertical .job-tags span{font-size:9px;padding:5px 7px;}
@media(prefers-reduced-motion:no-preference){html.v10-effects-ready #experience .timeline-vertical .job:not(.is-visible){opacity:.18!important;translate:0 30px!important;}html.v10-effects-ready #experience .timeline-vertical .job.is-visible{opacity:1!important;translate:0 0!important;}}
/* Refined accent underline from the landing-page reference. */
.main-nav a:after{height:2px;bottom:-10px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.section-heading h2:after{width:65px;}
@media(max-width:850px){
main#main > section[id].hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:20px;}
main#main > section[id].hero .hero-art{min-height:300px;height:45vh;max-height:440px;width:100%;}
main#main .section-grid{grid-template-columns:1fr;gap:25px;}
#experience .timeline-vertical:before,#experience .timeline-vertical:after{left:13px;}
#experience .timeline-vertical .job,#experience .timeline-vertical .job[hidden]{width:calc(100% - 52px);margin:0 0 22px 52px!important;padding:23px 23px 25px;}
#experience .timeline-vertical .job:before,#experience .timeline-vertical .job:nth-child(odd):before{left:-47px;right:auto;}
#experience .timeline-vertical .job:after,#experience .timeline-vertical .job:nth-child(odd):after{left:-39px;right:auto;width:39px;}
}
@media(max-width:760px){
main#main > section[id] > .shell,main#main > section[id].hero{width:calc(100% - 36px)!important;}
main#main > section[id]{padding:75px 0!important;scroll-margin-top:62px;}
main#main > section[id].hero{padding:46px 0 25px!important;}
main#main > section[id].hero .hero-art{height:350px;min-height:280px;}
.hero-copy .hero-description{display:block!important;}
.hero-bottom{display:flex!important;}
.site-header,.site-header .header-inner{height:62px;}
#experience .timeline-vertical .job h3{font-size:20px;}
#experience .timeline-vertical .job p{font-size:13px;}
#experience .section-heading{margin-bottom:32px!important;}
}
@media(max-width:420px){#experience .timeline-vertical .job,#experience .timeline-vertical .job[hidden]{width:calc(100% - 40px);margin-left:40px!important;padding:18px;}#experience .timeline-vertical .job:before,#experience .timeline-vertical .job:nth-child(odd):before{left:-35px;}#experience .timeline-vertical .job:after,#experience .timeline-vertical .job:nth-child(odd):after{left:-30px;width:30px;}#experience .timeline-vertical:before,#experience .timeline-vertical:after{left:7px;}}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important;}html.v10-effects-ready #experience .timeline-vertical .job{opacity:1!important;translate:none!important;}.hero-copy>*{animation:none!important;}.hero-showcase *{transition:none!important;}}
