/* Original motion and navigation enhancements inspired by the supplied examples. */
:root{--ease:cubic-bezier(.16,1,.3,1)}
body{overflow-x:clip}::selection{background:var(--accent);color:#131719}
.read-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;pointer-events:none}.read-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#819da7,var(--accent));transform-origin:left;transform:scaleX(0)}
.intro-wipe{position:fixed;inset:0;background:#101823;color:#fff;z-index:200;pointer-events:none;display:grid;place-items:center;transform:translateY(-105%)}.intro-wipe>span{font:800 clamp(3rem,7vw,6rem) Manrope,sans-serif;letter-spacing:-.12em}.intro-wipe .period{color:#c9a675}.js-motion .intro-wipe{animation:intro-away 1.1s var(--ease) both}@keyframes intro-away{0%,40%{transform:translateY(0)}100%{transform:translateY(-105%)}}
.cursor-glow{position:fixed;z-index:5;width:440px;height:440px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(145,188,192,.08),transparent 65%);opacity:0;transition:opacity .3s}.side-index{position:fixed;right:12px;top:50%;z-index:10;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em;color:var(--faint);display:flex;gap:10px;align-items:center;transform:translateY(-50%);pointer-events:none}.side-index-rule{width:1px;height:75px;background:linear-gradient(var(--accent),transparent)}
.site-header{transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 13px 40px rgba(0,0,0,.12)}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;bottom:-7px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.main-nav a:hover:after,.main-nav a.is-current:after{transform:scaleX(1)}.main-nav a.is-current{color:var(--text)}.nav-intro{display:none}
.hero{min-height:min(790px,calc(100svh - 80px));padding-top:60px;align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,.94fr)}.hero-copy{padding-bottom:25px}.hero-edition{color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.15em}.hero-edition span{color:var(--accent)}.hero h1{font-size:clamp(4.3rem,8.3vw,8.3rem);letter-spacing:-.10em;line-height:.98}.hero-bottom{grid-column:1/-1}.btn{position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}.btn:hover{box-shadow:0 15px 30px rgba(0,0,0,.14)}
.hero-showcase{height:520px;min-height:420px;position:relative;overflow:hidden;perspective:1000px;background:#101923;border:1px solid #43505b;box-shadow:0 38px 90px rgba(0,0,0,.2);transition:transform .35s ease,box-shadow .4s}.hero-showcase:before{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(130deg,rgba(255,255,255,.06),transparent 50%);pointer-events:none}.showcase-stage{position:absolute;inset:0 0 52px;overflow:hidden}.showcase-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateX(12%) scale(.92);transition:opacity .6s,transform .85s var(--ease),visibility .6s;background:radial-gradient(circle at 50% 55%,#283745,#111c27 55%,#0e141b)}.showcase-slide.is-active{visibility:visible;opacity:1;transform:translateX(0) scale(1)}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(216,231,230,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(216,231,230,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(ellipse,#000 10%,transparent 80%)}.stage-ring{position:absolute;top:50%;left:50%;width:290px;height:290px;border:1px solid rgba(210,224,223,.3);border-radius:50%;transform:translate(-50%,-50%)}.stage-ring:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;top:-4px;left:50%;background:#d2b588}.ring-inner{width:205px;height:205px;border-style:dashed;animation:turn 38s linear infinite}.ring-outer{animation:turn 55s linear infinite reverse}@keyframes turn{to{transform:translate(-50%,-50%) rotate(360deg)}}.stage-type{font:800 clamp(4.5rem,9vw,7.7rem)/1 Manrope,sans-serif;letter-spacing:-.15em;color:#edf0ed;text-shadow:0 12px 45px rgba(0,0,0,.2);z-index:2}.stage-type span{color:#d3b58d}.stage-caption{position:absolute;left:24px;color:#a7b8b9;font-size:9px;letter-spacing:.18em;font-weight:700;z-index:2;margin:0}.stage-caption.top{top:24px}.stage-caption.bottom{bottom:22px}.stage-crosshair{position:absolute;font-size:20px;color:#b8c6c4;opacity:.6}.crosshair-one{top:25%;left:20%}.crosshair-two{right:19%;bottom:27%}.showcase-controls{position:absolute;bottom:0;left:0;right:0;z-index:5;height:52px;background:#182530;border-top:1px solid #46525c;display:flex;align-items:center;justify-content:space-between;padding-left:24px;color:#d6dfe0}.showcase-count{font-size:11px;letter-spacing:.12em}.showcase-count b{color:#d9b993}.showcase-count span{color:#90a3ad}.showcase-buttons{display:flex;height:100%}.showcase-buttons button{background:transparent;border:0;border-left:1px solid #46525c;color:#e7eded;font-size:20px;width:52px}.showcase-buttons button:hover{background:#374b59}
.showcase-slide--systems{background:radial-gradient(circle at 60% 45%,#28413f,#111b26 65%)}.stage-diagonal{position:absolute;transform:rotate(-32deg);width:700px;height:1px;background:linear-gradient(90deg,transparent,#b9c9c3,transparent)}.systems-window{position:absolute;width:min(79%,360px);background:#15232b;border:1px solid #658382;color:#e1efeb;transform:rotate(-4deg);box-shadow:25px 25px 0 rgba(169,200,184,.07)}.systems-window-head{padding:12px 13px;border-bottom:1px solid #47605f;color:#acc8c3;font-size:9px;letter-spacing:.15em}.sys-dots{color:#ddb988;padding-right:10px}.systems-row{display:flex;gap:12px;align-items:center;padding:15px;border-bottom:1px solid rgba(190,210,201,.15);font-size:10px;font-weight:700;letter-spacing:.08em}.systems-row:last-child{border:0}.systems-row b{color:#a2bdb9}.systems-row span{margin-left:auto;color:#ddb988}.showcase-slide--curiosity{background:radial-gradient(ellipse,#2c3c48,#101922 70%)}.discovery-disc{width:280px;height:280px;max-width:62vw;max-height:62vw;border:1px solid #a0b4b3;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 25px rgba(179,201,192,.06),0 0 0 60px rgba(179,201,192,.035)}.discovery-inner{text-align:center}.discovery-number{display:block;color:#d5ba95;font:110px/1 Georgia,serif}.discovery-inner small{font-size:9px;letter-spacing:.22em;color:#d5e4df}.discovery-coord{position:absolute;right:24px;top:65px;font-size:10px;color:#b8c8c9;line-height:1.8}
.section-heading h2:after{content:"";display:block;width:35px;height:2px;background:var(--accent);margin-top:18px}.job,.skill-card,.project-card,.credential-card{position:relative;transition:transform .45s var(--ease),box-shadow .45s,border-color .45s}.job:hover{transform:translateX(7px)}.skill-card:hover,.project-card:hover,.credential-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.12);border-color:var(--accent)}.skill-card:before,.credential-card:before{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--accent);transition:width .5s var(--ease)}.skill-card:hover:before,.credential-card:hover:before{width:100%}
.js-motion [data-reveal]{opacity:0;transform:translateY(35px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.js-motion [data-reveal].is-visible{opacity:1;transform:translateY(0)}.js-motion [data-reveal-group]>*{opacity:0;transform:translateY(27px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.js-motion [data-reveal-group].is-visible>*{opacity:1;transform:translateY(0)}.js-motion [data-reveal-group].is-visible>*:nth-child(2){transition-delay:.07s}.js-motion [data-reveal-group].is-visible>*:nth-child(3){transition-delay:.14s}.js-motion [data-reveal-group].is-visible>*:nth-child(4){transition-delay:.21s}
.nav-backdrop{position:fixed;inset:0;z-index:39;background:rgba(5,12,19,.55);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}.nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}.motion-setting{position:fixed;bottom:12px;right:12px;z-index:35}.motion-setting button{padding:8px 12px;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:50px;font-size:10px;opacity:.75}.motion-setting button:hover{opacity:1}
@media(max-width:1050px){.side-index{display:none}.hero{min-height:unset;padding-top:70px}.hero-showcase{height:450px}}
@media(max-width:760px){.site-header{z-index:45}.main-nav{display:flex;position:fixed;right:0;left:auto;top:0;bottom:0;width:min(370px,88vw);height:100dvh;background:var(--panel);padding:105px 28px 40px;border-left:1px solid var(--line);box-shadow:-15px 0 60px rgba(0,0,0,.25);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;transform:translateX(105%);visibility:hidden;transition:transform .55s var(--ease),visibility .55s;z-index:44}.main-nav.open{transform:translateX(0);visibility:visible}.nav-intro{display:block;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:10px;color:var(--accent);font-size:10px;letter-spacing:.16em}.nav-intro span{display:block;font:700 23px Manrope,sans-serif;color:var(--text);letter-spacing:-.05em;margin-top:8px}.main-nav a{font-size:17px;padding:11px 2px}.main-nav a:after{bottom:7px;right:auto;width:40px}.mobile-toggle{z-index:46;position:relative}.mobile-toggle span{transition:transform .3s,opacity .2s}.mobile-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{grid-template-columns:1fr;gap:20px}.hero-copy{padding-bottom:16px}.hero h1{font-size:clamp(4.1rem,14vw,7rem)}.hero-showcase{height:390px;min-height:390px;max-width:580px;width:100%;justify-self:center}.hero-bottom{margin-top:10px}.cursor-glow{display:none}}
@media(max-width:390px){.hero h1{font-size:3.8rem}.hero-showcase{height:335px;min-height:335px}.stage-ring.ring-outer{width:210px;height:210px}.stage-ring.ring-inner{width:145px;height:145px}.stage-type{font-size:75px}.systems-window{width:86%}.systems-row{padding:11px;font-size:9px}}
@media(hover:none),(pointer:coarse){.cursor-glow{display:none}.hero-showcase{transform:none!important}.skill-card:hover,.project-card:hover,.credential-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.intro-wipe{display:none!important}.js-motion [data-reveal],.js-motion [data-reveal-group]>*{opacity:1!important;transform:none!important}.stage-ring{animation:none!important}.hero-showcase,.showcase-slide,.skill-card,.project-card,.credential-card,.job{transition:none!important}}
html.no-decorative-motion .intro-wipe{display:none!important}html.no-decorative-motion .stage-ring{animation:none!important}html.no-decorative-motion.js-motion [data-reveal],html.no-decorative-motion.js-motion [data-reveal-group]>*{opacity:1!important;transform:none!important;transition:none!important}html.no-decorative-motion .hero-showcase{transform:none!important}html.no-decorative-motion .showcase-slide{transition:none!important}
