:root{--reveal-ease:cubic-bezier(.23,1,.32,1)}
.profile-photo{display:block;width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid #ffffff24;background:#737e8a}.profile-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.4);transform-origin:50% 24%}.intro-photo{width:88px;height:88px;margin:0 auto 18px;border-color:#20231f18}.hero-identity{display:flex;align-items:center;gap:16px;margin-bottom:24px}.hero-identity p{font-size:16px;line-height:1.5;letter-spacing:-.02em}.hero-hello{display:block;font:9px/1.5 var(--mono);color:var(--muted);margin-bottom:3px}@media(max-width:760px){.hero-identity{margin-bottom:24px;gap:14px}.hero-identity .profile-photo{width:56px;height:56px}.hero-identity p{font-size:15px}.intro-photo{width:76px;height:76px;margin-bottom:14px}}
.portfolio-intro[hidden]{display:none}
.portfolio-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#fff;color:#20231f;overflow:hidden;opacity:1;transition:opacity 380ms var(--reveal-ease),transform 380ms var(--reveal-ease)}
.intro-grid{position:absolute;inset:0;background-image:linear-gradient(#20231f06 1px,transparent 1px),linear-gradient(90deg,#20231f06 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000,transparent 78%);pointer-events:none}
.intro-topline,.intro-bottomline{position:absolute;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;font:10px/1.5 var(--mono);color:#747970}
.intro-topline{top:30px;align-items:center}.intro-topline>span{letter-spacing:.09em}.intro-topline button{padding:10px 0 10px 15px;font:10px var(--mono);color:#444b40}.intro-topline button span{color:#52652b;margin-left:12px}.intro-topline button:focus-visible{outline-color:#52652b}.intro-bottomline{bottom:30px}.intro-bottomline>span:first-child{color:#525b49}
.intro-mark{position:relative;text-align:center;transition:opacity 250ms var(--reveal-ease),transform 350ms var(--reveal-ease),filter 250ms ease;z-index:1;max-width:calc(100vw - 48px)}
.intro-greeting{display:flex;gap:22px;align-items:center;justify-content:center;min-height:135px;white-space:nowrap}.greeting-dot{display:block;width:12px;height:12px;background:#242922;border-radius:50%;flex-shrink:0}#intro-greeting-word{display:inline-block;font-size:clamp(52px,7.5vw,104px);font-weight:500;line-height:1.25;letter-spacing:-.06em}#intro-greeting-word:lang(hi),#intro-greeting-word:lang(ja){letter-spacing:0;font-weight:400;font-size:clamp(44px,6.5vw,90px)}.intro-person{font:11px var(--mono);color:#444c3f;margin-top:20px;letter-spacing:.02em}.intro-role{font:9px var(--mono);color:#8a8f85;display:block;margin-top:10px}
.intro-blueprint{position:absolute;inset:90px max(7vw,30px);border:1px solid #a8b09a;opacity:0;transform:scale(.99);transition:opacity 250ms var(--reveal-ease),transform 400ms var(--reveal-ease);pointer-events:none}.blueprint-header{height:60px;border-bottom:1px dashed #c5cbbd;display:flex;justify-content:space-between;align-items:center;padding:0 25px;font:10px var(--mono);color:#5c6751}.blueprint-header>span:last-child{font-size:8px;color:#8a947e}.blueprint-layout{position:absolute;inset:60px 0 48px;display:grid;grid-template-columns:44% 56%}.blueprint-title{align-self:center;padding:30px;border:1px dashed #c8cfc0;min-width:0}.blueprint-caption{display:block;color:#7a876b;font:8px var(--mono);margin-bottom:25px}.wire-text{display:block;font-size:clamp(30px,4.5vw,70px);line-height:1.05;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:.75px #7c886f}.wire-line{width:75%;height:7px;border:1px solid #b8c1ab;margin-top:24px}.wire-line.short{width:47%;margin-top:10px}.wire-button{width:110px;height:26px;border:1px solid #9ca989;margin-top:30px}.blueprint-chart{align-self:center;border:1px solid #aab898;margin:30px;padding:20px 15px;min-width:0}.blueprint-chart svg{width:100%;max-height:300px;fill:none;stroke:#bdc8b0;stroke-width:1}.blueprint-chart circle{stroke:#647b3d;fill:#fff}.blueprint-chart .blueprint-signal{stroke:#647b3d;stroke-width:1.5;stroke-dasharray:700;stroke-dashoffset:700}.blueprint-visible .blueprint-signal{animation:blueprint-draw 550ms var(--reveal-ease) forwards}.blueprint-bottom{position:absolute;left:0;right:0;bottom:0;height:48px;border-top:1px dashed #c5cbbd;display:flex;justify-content:space-between;align-items:center;padding:0 25px;font:8px var(--mono);color:#87927c}.blueprint-visible .intro-mark{opacity:0;transform:translateY(-6px);filter:blur(2px)}.blueprint-visible .intro-blueprint{opacity:1;transform:scale(1)}
.portfolio-intro.intro-exiting{opacity:0;transform:translateY(-8px);pointer-events:none}body.intro-running #site-content{opacity:0;transform:translateY(8px);pointer-events:none}body.intro-running .page-outline{opacity:0;pointer-events:none}body.intro-running .hero-copy,body.intro-running .site-header{filter:blur(4px)}body.intro-revealing #site-content{opacity:1;transform:translateY(0);transition:opacity 400ms var(--reveal-ease),transform 400ms var(--reveal-ease)}body.intro-revealing .hero-copy,body.intro-revealing .site-header{filter:blur(0);transition:filter 400ms ease}body.intro-revealing .page-outline{opacity:1;transition:opacity 400ms ease}#replay-intro{font:inherit;padding:0;color:inherit}#replay-intro:hover{color:var(--lime)}#replay-intro[hidden]{display:none}
.page-outline{position:fixed;z-index:15;right:18px;top:50%;transform:translateY(-50%);width:145px;padding-left:18px;border-left:1px solid #303829}.outline-heading{font:9px var(--mono);color:#939e85;margin:0 0 22px}.outline-links{display:flex;flex-direction:column;gap:0;font-size:11px}.outline-links a{position:relative;display:block;padding:10px 0 10px 10px;color:#8f9982;line-height:1.4}.outline-links a>span{margin:0;color:inherit}.outline-links a:before{content:"";position:absolute;left:-20px;top:12px;width:3px;height:11px;background:var(--lime);opacity:0;transition:opacity 150ms ease}.outline-links a.active,.outline-links a:hover{color:var(--lime)}.outline-links a.active:before{opacity:1}.outline-progress{display:flex;gap:12px;align-items:center;font:8px var(--mono);color:#9ca88e;margin-top:24px}.outline-progress-track{display:block;flex:1;height:1px;background:#3b4532}.outline-progress-track i{display:block;height:100%;width:100%;background:var(--lime);transform-origin:left center;transform:scaleX(0)}.outline-toggle{display:none}
@media(min-width:1200px){#site-content{width:calc(100% - 182px);container-type:inline-size}.hero h1{font-size:clamp(48px,5.2cqw,88px)}.hero-copy{top:32%}.hero-feature{gap:18px}.hero-feature .mini-chart{width:115px}.hero-feature .long-arrow{margin-left:0}.feature-sub{font-size:8px}.hero-feature strong{font-size:17px}.scroll-note{font-size:8px;bottom:30px}.plot-footer{font-size:8px;padding-right:16px}.plot-topline{padding-right:20px}.site-header nav{gap:26px}}
@media(min-width:1200px) and (max-width:1399px){.hero h1{font-size:48px}.plot-wrap{width:60%}.plot-kicker{font-size:9px}.hero-feature .mini-chart{width:90px}.hero-feature .long-arrow{display:none}.site-header nav{font-size:12px;gap:22px}.wordmark{font-size:15px}}
@media(max-width:1199px){.page-outline{width:auto;top:auto;bottom:16px;right:20px;transform:none;padding:0;border:0}.outline-toggle{display:flex;gap:10px;align-items:center;padding:11px 14px;border:1px solid #4b563b;background:#171d13;box-shadow:0 5px 20px #0004;font:10px var(--mono);color:#dce5cf}.outline-toggle-icon{color:var(--lime);font-size:16px;line-height:1;margin-left:8px}.outline-status{width:4px;height:4px;border-radius:50%;background:var(--lime)}#outline-panel{display:none;position:absolute;bottom:calc(100% + 8px);right:0;width:195px;padding:22px 20px;background:#171d13;border:1px solid #4b563b;box-shadow:0 8px 30px #0006;max-height:65svh;overflow-y:auto}.page-outline.is-open #outline-panel{display:block}.page-outline.is-open .outline-toggle-icon{transform:rotate(45deg)}.outline-heading{font-size:9px;margin-bottom:14px}.outline-links{border-left:1px solid #3c482e;padding-left:12px}.outline-links a{font-size:12px;padding:10px}.outline-links a:before{left:-14px}.outline-progress{margin-top:18px}.contact-section{padding-bottom:95px}footer{padding-bottom:80px}}
@media(max-width:760px){.intro-topline{top:18px}.intro-bottomline{bottom:22px;font-size:8px}.intro-mark svg{width:100px;height:64px}.intro-role{font-size:8px}.intro-blueprint{inset:80px 24px}.blueprint-header{height:42px;padding:0 14px;font-size:8px}.blueprint-header>span:last-child{display:none}.blueprint-layout{inset:42px 0 44px;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:20px}.blueprint-title{padding:14px;align-self:stretch}.wire-text{font-size:36px}.wire-line{height:5px;margin-top:16px}.wire-line.short{margin-top:7px}.wire-button{height:20px;margin-top:15px;width:85px}.blueprint-chart{margin:0;padding:12px;align-self:stretch}.blueprint-chart svg{max-height:150px}.blueprint-caption{font-size:7px;margin-bottom:12px}.blueprint-bottom{height:44px;font-size:6px;padding:0 12px}.intro-topline button{font-size:9px}.page-outline{right:16px;bottom:14px}.outline-toggle{padding:10px 12px;font-size:9px}.outline-links a{padding-top:11px;padding-bottom:11px}.outline-links a:before{top:14px}}
@keyframes blueprint-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.portfolio-intro{display:none!important}body.intro-running #site-content{opacity:1;transform:none;pointer-events:auto}body.intro-running .hero-copy,body.intro-running .site-header{filter:none}body.intro-running .page-outline{opacity:1;pointer-events:auto}.outline-links a:before{transition:none}}
.outline-links{position:static;inset:auto;background:transparent;border-bottom:0;margin:0;padding:0}
.portfolio-intro.blueprint-dark{background:#101212;color:#f4f5ef}.blueprint-dark .intro-grid{background-image:linear-gradient(#d6ef3b08 1px,transparent 1px),linear-gradient(90deg,#d6ef3b08 1px,transparent 1px)}.blueprint-dark .intro-topline,.blueprint-dark .intro-bottomline,.blueprint-dark .intro-bottomline>span:first-child{color:#a5aaa4}.blueprint-dark .intro-topline button{color:#f4f5ef}.blueprint-dark .intro-topline button span{color:#d6ef3b}.blueprint-dark .intro-topline button:focus-visible{outline-color:#d6ef3b}.blueprint-dark .intro-blueprint,.blueprint-dark .blueprint-chart,.blueprint-dark .wire-button{border-color:#687550}.blueprint-dark .blueprint-header,.blueprint-dark .blueprint-bottom,.blueprint-dark .blueprint-title,.blueprint-dark .wire-line{border-color:#45503b}.blueprint-dark .blueprint-header,.blueprint-dark .blueprint-bottom,.blueprint-dark .blueprint-caption,.blueprint-dark .blueprint-header>span:last-child{color:#a6b695}.blueprint-dark .wire-text{-webkit-text-stroke-color:#c1d5a7}.blueprint-dark .blueprint-chart svg{stroke:#45503b}.blueprint-dark .blueprint-chart circle{stroke:#d6ef3b;fill:#101212}.blueprint-dark .blueprint-chart .blueprint-signal{stroke:#d6ef3b}
@media(min-width:761px){.hero-copy{top:26%}}
@media(max-width:1199px){.outline-links{padding-left:12px}}
