@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+JP:wght@700;900&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;scroll-snap-type:none;overflow-x:clip}body{background:var(--ink);color:var(--cream);max-width:100%;font-family:IBM Plex Mono,monospace;overflow-x:clip}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}}@layer utilities{.visible{visibility:visible}.static{position:static}.contents{display:contents}.inline{display:inline}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}}:root{--green:#315c3f;--deep-green:#173525;--red:#d65055;--red-ink:#a8353a;--cream:#e5ddbc;--ink:#161b18;--line:#e5ddbc57}main>section[id]{scroll-snap-align:start;scroll-margin-top:3px}*{scrollbar-width:thin;scrollbar-color:var(--red) var(--ink)}::selection{background:var(--red);color:var(--cream)}.progress-hud{z-index:100;pointer-events:none;background:#161b1859;width:100%;height:3px;position:fixed;top:0;left:0}.progress-hud span{background:var(--red);transform-origin:0;width:100%;height:100%;display:block}.progress-hud b{color:var(--cream);text-shadow:0 1px 4px var(--ink);font-size:10px;font-weight:400;position:absolute;top:9px;right:12px}.section-transition{z-index:200;pointer-events:none;animation:.9s both transition-shell;position:fixed;inset:0;overflow:hidden}.section-transition:before,.section-transition:after{content:"";position:absolute;inset:0;transform:translate(-102%)}.section-transition:before{background:var(--red);animation:.9s cubic-bezier(.76,0,.24,1) both transition-wipe}.section-transition:after{background:repeating-linear-gradient(125deg,#0000 0 24px,#161b1833 24px 28px),linear-gradient(90deg,#0000,#161b1829);animation:.9s cubic-bezier(.76,0,.24,1) 35ms both transition-wipe}.section-transition>div{z-index:1;color:var(--ink);opacity:0;place-items:center;animation:.9s both transition-copy;display:grid;position:absolute;inset:0}.section-transition span{letter-spacing:.2em;font-size:11.5px;position:absolute;top:7vw;left:5vw}.section-transition b{letter-spacing:-.12em;font-family:Noto Sans JP,sans-serif;font-size:clamp(7rem,22vw,24rem);line-height:.8}.section-transition i{border:1px solid var(--ink);border-radius:50%;width:70px;height:70px;position:absolute;bottom:5vw;right:5vw}.section-transition i:before,.section-transition i:after{content:"";background:var(--ink);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.section-transition i:before{width:2px;height:90px}.section-transition i:after{width:90px;height:1px}.hero{--pointer-x:50%;--pointer-y:50%;--shift-x:0px;--shift-y:0px;isolation:isolate;background:var(--green);border-bottom:1px solid var(--ink);min-height:100svh;position:relative;overflow:hidden}.hero>.noise:after{content:"";background:radial-gradient(circle 220px at var(--pointer-x) var(--pointer-y), #e5ddbc1f, transparent 70%);position:absolute;inset:0}.hero:before{content:"";z-index:-2;background:repeating-linear-gradient(0deg,#0000 0 58px,#0c1b1240 59px 61px),repeating-linear-gradient(90deg,#0000 0 14vw,#0c1b1238 14vw calc(14vw + 3px));position:absolute;inset:0}.hero:after{content:"SYSTEM / CAUTION / HUMAN-MACHINE INTERFACE / SYSTEM / CAUTION";z-index:-1;color:#0d1e1494;letter-spacing:-.08em;max-width:94vw;font-family:Archivo Black,sans-serif;font-size:clamp(4rem,9vw,10rem);line-height:.72;position:absolute;bottom:12%;left:6vw}.noise{z-index:20;opacity:.17;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-image{z-index:-1;filter:grayscale()contrast(1.12)brightness(.62);mix-blend-mode:multiply;clip-path:polygon(10% 0,100% 0,91% 85%,73% 100%,0 90%,5% 20%);transform:translate(var(--shift-x), var(--shift-y)) scale(1.025);background:url(/pfp.png) 55% 30%/cover no-repeat;transition:transform .25s ease-out;position:absolute;inset:7% 5% -22% 20%}.site-header{z-index:2;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 3vw;font-size:13px;display:grid;position:relative}.brand{color:var(--cream);letter-spacing:-.04em;text-transform:lowercase;font-family:Archivo Black,sans-serif;font-size:22px;text-decoration:none}.brand span{color:var(--red)}nav{gap:clamp(12px,2.2vw,34px);display:flex}nav a,.socials a{color:inherit;border-bottom:1px solid #0000;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s}nav a:hover,.socials a:hover{border-color:currentColor}nav a.active{color:var(--red);border-color:var(--red)}.menu-toggle{display:none}.availability{justify-content:flex-end;align-items:center;gap:8px;display:flex}.availability i{background:var(--red);border-radius:50%;width:7px;height:7px;animation:1.8s steps(2,end) infinite blink}.hero-kicker{color:var(--cream);text-transform:uppercase;flex-direction:column;gap:4px;font-size:11.5px;line-height:1.35;display:flex;position:absolute;top:12%;left:3vw}.hero-kicker span:first-child{color:var(--red)}.hero-title{color:var(--red);letter-spacing:-.095em;justify-content:space-between;font-family:Archivo Black,sans-serif;font-size:clamp(5rem,13.4vw,14rem);line-height:.83;display:flex;position:absolute;inset:10% 2.5vw auto;transform:scaleY(1.14)}.hero-title.full-name{grid-template-columns:auto auto;justify-content:space-between;font-size:clamp(4.5rem,11.5vw,12rem);display:grid}.hero-title.full-name span:last-child{grid-column:1/-1;justify-self:end;margin-right:12vw}.vertical-type{writing-mode:vertical-rl;color:var(--cream);align-items:flex-start;gap:10px;display:flex;position:absolute;top:29%;right:3vw}.vertical-type b{letter-spacing:-.12em;font-family:Noto Sans JP,sans-serif;font-size:clamp(4rem,8vw,8rem);line-height:.8}.vertical-type span{letter-spacing:.25em;font-size:11px}.warning-card{width:min(390px,45vw);color:var(--cream);position:absolute;bottom:15%;left:18vw}.warning-card:before{content:"";background:var(--red);width:62px;height:5px;margin-bottom:15px;display:block}.micro-label,.section-tag{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px}.warning-card h1{letter-spacing:-.05em;text-transform:uppercase;margin:12px 0 14px;font-family:Arial,sans-serif;font-size:clamp(1.45rem,2.4vw,2.3rem);font-weight:400;line-height:.96}.warning-card>p:not(.micro-label){max-width:330px;font-size:13px;line-height:1.45}.text-link{color:var(--cream);text-transform:uppercase;align-items:center;gap:14px;margin-top:20px;font-size:12px;text-decoration:none;display:inline-flex}.text-link svg,.project-arrow svg,.footer-actions button svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:22px}.coordinate{text-transform:uppercase;flex-direction:column;font-size:11px;line-height:1.4;display:flex;position:absolute;bottom:4%}.coordinate-left{left:3vw}.coordinate-right{text-align:right;right:3vw}.scroll-cue{color:var(--cream);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;align-items:center;font-size:11px;text-decoration:none;display:flex;position:absolute;bottom:3%;right:17vw}.scroll-cue span{font-size:24px;animation:1.6s ease-in-out infinite drop}.work{isolation:isolate;background:var(--cream);color:var(--ink);padding:9vw 3vw 12vw;position:relative;overflow:hidden}.work:before,.experience:before,.education:before,.toolbox:before,.certifications:before,.awards:before{content:"";z-index:0;background:repeating-linear-gradient(125deg, var(--ink) 0 14px, transparent 14px 24px);opacity:.75;width:100%;height:9px;position:absolute;top:0;left:0}.work:after,.awards:after{content:"CAUTION / CONTROLLED MATERIAL / AUTHORIZED ACCESS ONLY /";z-index:0;color:#161b1812;letter-spacing:-.07em;white-space:nowrap;font-family:Archivo Black,sans-serif;font-size:clamp(3rem,7vw,8rem);position:absolute;bottom:1.5vw;right:-2vw}.section-rail{z-index:2;writing-mode:vertical-rl;pointer-events:none;align-items:center;gap:14px;display:flex;position:absolute;top:5vw;right:1.1vw}.section-rail b{color:var(--red);letter-spacing:-.08em;font-family:Noto Sans JP,sans-serif;font-size:clamp(2.2rem,4vw,4.5rem);line-height:.85}.section-rail span{letter-spacing:.2em;font-size:11px}@media (width<=900px){.section-rail span{letter-spacing:.1em;font-size:10px}}.work>:not(.section-rail),.certifications>:not(.section-rail),.awards>:not(.section-rail){z-index:1;position:relative}.section-heading{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:4vw;margin-bottom:8vw;display:grid}.section-heading>div{text-transform:uppercase;align-items:center;gap:14px;font-size:11.5px;display:flex}.index{border:1px solid var(--ink);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.section-heading h2{color:var(--red);letter-spacing:-.08em;text-transform:uppercase;font-family:Archivo Black,sans-serif;font-size:clamp(4rem,10vw,10rem);line-height:.75}.section-note{text-transform:uppercase;max-width:260px;font-size:12px;line-height:1.5}.projects{border-top:2px solid var(--ink)}.project{border-bottom:1px solid var(--ink);position:relative}.project:before{content:"";background:var(--red);width:4px;height:0;transition:height .25s;position:absolute;top:0;left:0}.project.active:before{height:100%}.project button{width:100%;color:var(--ink);text-align:left;grid-template-columns:.35fr 2fr 1fr 40px;align-items:center;gap:2vw;padding:28px 0;transition:color .25s,padding .25s;display:grid}.project.active button{color:var(--red);padding-left:1vw}.project-id,.project-meta{text-transform:uppercase;font-size:11.5px;line-height:1.5}.project-heading{flex-direction:column;gap:6px;min-width:0;display:flex}.project-title{letter-spacing:-.05em;font-family:Archivo Black,sans-serif;font-size:clamp(1.8rem,4vw,4.5rem);line-height:.9}.project-description{letter-spacing:0;text-transform:none;color:currentColor;opacity:.78;max-width:68ch;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:13.5px;line-height:1.6;display:block}.project.active .project-description{opacity:1}.project-arrow{transition:transform .25s}.project.active .project-arrow{transform:rotate(45deg)}.project-detail{grid-template-rows:0fr;padding-left:calc(35% + 2vw);transition:grid-template-rows .35s,padding-bottom .35s;display:grid;overflow:hidden}.project-detail>*{overflow:hidden}.project-detail p{color:currentColor;opacity:.82;max-width:62ch;font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1.65}.project-link{color:var(--red);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #0000;align-items:center;gap:10px;margin-top:18px;font-size:12px;text-decoration:none;transition:border-color .2s,gap .25s;display:inline-flex}.project-link:hover{border-color:var(--red);gap:16px}.project-link svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:14px;height:14px}.project.active .project-detail{grid-template-rows:1fr;padding-bottom:28px}.about{background:var(--red);color:var(--ink);padding:8vw 3vw;position:relative;overflow:hidden}.experience{isolation:isolate}.experience:after{content:"実務 / 解析 / 攻撃 / 防御";z-index:0;color:#161b181f;letter-spacing:-.1em;white-space:nowrap;font-family:Noto Sans JP,sans-serif;font-size:clamp(5rem,13vw,14rem);font-weight:900;position:absolute;bottom:-2vw;left:-1vw}.experience .section-rail b{color:var(--cream)}.experience>:not(.about-stripe):not(.section-rail){z-index:1;position:relative}.about-stripe{opacity:.16;gap:14px;display:flex;position:absolute;top:-12%;right:-3%;transform:rotate(35deg)}.about-stripe span{background:var(--ink);width:3.5vw;height:48vw;display:block}.about-intro{z-index:1;letter-spacing:-.08em;text-transform:uppercase;max-width:1180px;color:var(--ink);margin:5vw 0 8vw;font-family:Archivo Black,sans-serif;font-size:clamp(4rem,10vw,10rem);line-height:.75;position:relative}.about-intro b{font-weight:400}.about-grid{z-index:1;border-top:1px solid #161b188c;grid-template-columns:1fr 1.3fr .7fr;align-items:end;gap:5vw;padding-top:36px;display:grid;position:relative}.experience-list{z-index:1;background:var(--ink);border:1px solid var(--ink);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;position:relative}.experience-list article{background:var(--red);cursor:pointer;min-height:360px;padding:28px;transition:background .25s,color .25s,transform .25s;position:relative}.experience-list article:after{content:"";border-bottom:1px solid #161b1880;border-right:1px solid #161b1880;width:44px;height:44px;position:absolute;bottom:18px;right:18px}.experience-list article:hover,.experience-list article.active,.experience-list article:focus-visible{z-index:1;background:var(--ink);color:var(--cream);transform:translateY(-8px)}.experience-list article:hover h3,.experience-list article.active h3{color:var(--red)}.experience-list article>span{text-transform:uppercase;font-size:11px}.experience-list h2{letter-spacing:-.055em;text-transform:uppercase;margin-top:70px;font-family:Archivo Black,sans-serif;font-size:clamp(1.6rem,3vw,3.2rem);line-height:.95}.experience-list h3{color:var(--cream);text-transform:uppercase;margin-top:12px;font-size:13px}.experience-list p{max-width:360px;margin-top:32px;font-size:13px;line-height:1.65}.about-jp{color:var(--cream);letter-spacing:-.13em;font-family:Noto Sans JP,sans-serif;font-size:clamp(4rem,9vw,10rem);font-weight:900;line-height:.75}.about-copy{grid-template-columns:1fr 1fr;gap:30px;font-size:12.5px;line-height:1.6;display:grid}.capabilities>span{border-bottom:1px solid var(--ink);text-transform:uppercase;padding-bottom:12px;font-size:11.5px;display:block}.capabilities ul{text-transform:uppercase;padding:12px 0 0;font-size:12.5px;line-height:1.75;list-style:none}.record{background:var(--cream);color:var(--ink);padding:9vw 3vw}.certifications{isolation:isolate;background:var(--ink);color:var(--cream);padding:9vw 3vw;position:relative;overflow:hidden}.education{isolation:isolate;background:var(--green);color:var(--cream);padding:9vw 3vw;position:relative;overflow:hidden}.education:after{content:"";z-index:0;opacity:.22;background:repeating-linear-gradient(0deg, transparent 0 61px, var(--deep-green) 62px 64px), repeating-linear-gradient(90deg, transparent 0 12vw, var(--deep-green) 12vw calc(12vw + 2px));position:absolute;inset:0}.education>:not(.section-rail){z-index:1;position:relative}.education .record-header h2{color:var(--red)}.education-grid{background:var(--cream);border:1px solid var(--cream);grid-template-columns:1fr 1fr;gap:1px;display:grid}.education-grid article{background:var(--green);grid-template-rows:auto 1fr auto;min-height:420px;padding:30px;display:grid}.education-grid article>span{color:var(--red);text-transform:uppercase;font-size:11px}.education-grid article>div{align-self:center}.education-grid h3{letter-spacing:-.06em;text-transform:uppercase;max-width:520px;font-family:Archivo Black,sans-serif;font-size:clamp(2rem,4vw,4.5rem);line-height:.9}.education-grid article>div p{color:var(--cream);text-transform:uppercase;margin-top:18px;font-size:13px}.education-grid small{margin-top:5px;font-size:11px;display:block}.education-grid article>p{text-transform:uppercase;border-top:1px solid #e5ddbc59;max-width:480px;padding-top:20px;font-size:13px;line-height:1.55}.toolbox{isolation:isolate;background:var(--red);color:var(--ink);padding:9vw 3vw;position:relative;overflow:hidden}.toolbox:after{content:"KIT / LOADOUT / ANALYSIS / ATTACK / BUILD";z-index:0;color:#161b181a;letter-spacing:-.08em;white-space:nowrap;font-family:Archivo Black,sans-serif;font-size:clamp(4rem,10vw,11rem);position:absolute;bottom:-1vw;right:-2vw}.toolbox>:not(.section-rail){z-index:1;position:relative}.toolbox .record-header h2,.toolbox .section-tag,.toolbox .section-rail b{color:var(--cream)}.toolbox-console{border:1px solid var(--ink);background:var(--ink);grid-template-columns:.75fr 2fr;gap:1px;min-height:480px;display:grid}.tool-tabs{background:var(--red);flex-direction:column;display:flex}.tool-tabs button{color:var(--ink);text-align:left;text-transform:uppercase;border-bottom:1px solid #161b1873;grid-template-columns:38px 1fr;gap:12px;padding:22px;font-size:11.5px;transition:color .2s,background .2s,padding-left .2s;display:grid}.tool-tabs button span{color:var(--cream)}.tool-tabs button:hover,.tool-tabs button.active{background:var(--ink);color:var(--cream);padding-left:30px}.tool-readout{background:var(--ink);color:var(--cream);grid-template-columns:1fr 1fr;gap:5vw;padding:clamp(28px,5vw,70px);display:grid}.tool-readout>div>span{color:var(--red);letter-spacing:.12em;font-size:11px}.tool-readout strong{letter-spacing:-.06em;text-transform:uppercase;margin-top:60px;font-family:Archivo Black,sans-serif;font-size:clamp(2rem,4vw,4.5rem);line-height:.9;display:block}.tool-readout p{color:#e5ddbc99;max-width:420px;margin-top:24px;font-size:12.5px;line-height:1.6}.tool-readout ul{border-top:1px solid #e5ddbc4d;padding:0;list-style:none}.tool-readout li{text-transform:uppercase;border-bottom:1px solid #e5ddbc33;grid-template-columns:35px 1fr;padding:14px 0;font-size:13px;display:grid}.tool-readout li span{color:var(--red);font-size:11px}.certifications:after{content:"";z-index:0;opacity:.14;background-color:#0000;background-image:linear-gradient(#e5ddbc29 1px,#0000 1px),linear-gradient(90deg,#e5ddbc29 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.certifications:before{background:repeating-linear-gradient(125deg, var(--red) 0 14px, transparent 14px 24px)}.certifications .record-header h2{color:var(--red)}.certification-grid{background:#e5ddbc4d;border:1px solid #e5ddbc4d;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.certification-grid article{background:var(--ink);cursor:pointer;min-height:320px;padding:26px;transition:background .25s,color .25s,transform .25s;position:relative}.certification-grid article:before{content:"";width:30px;height:30px;box-shadow:inset 0 0 0 7px var(--ink), inset 0 0 0 8px var(--red);border:1px solid #e5ddbc4d;border-radius:50%;position:absolute;top:26px;right:26px}.certification-grid article:hover,.certification-grid article.active,.certification-grid article:focus-visible{z-index:1;background:var(--red);color:var(--ink);transform:translateY(-8px)}.certification-grid article.active:before{border-color:var(--cream);box-shadow:inset 0 0 0 7px var(--red), inset 0 0 0 8px var(--cream)}.certification-grid article>span{color:var(--red);text-transform:uppercase;font-size:11px}.certification-grid h3{letter-spacing:-.045em;text-transform:uppercase;margin-top:90px;font-family:Archivo Black,sans-serif;font-size:clamp(1.3rem,2.2vw,2.4rem);line-height:.95}.certification-grid p{color:#e5ddbc99;text-transform:uppercase;margin-top:18px;font-size:11.5px}.certification-grid small{letter-spacing:.1em;font-size:11px;display:block;position:absolute;bottom:22px;right:26px}.education-line{background:#e5ddbc4d;grid-template-columns:1fr 1fr;gap:1px;margin-top:1px;display:grid}.education-line>div{background:var(--ink);padding:24px 26px}.education-line span{color:var(--red);text-transform:uppercase;font-size:12px}.education-line p{margin-top:7px;font-size:12px}.awards{isolation:isolate;background:var(--cream);color:var(--ink);padding:9vw 3vw 12vw;position:relative;overflow:hidden}.awards .section-rail b{color:var(--ink)}.record-header{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:4vw;margin-bottom:7vw;display:grid}.record-header h2{color:var(--red);letter-spacing:-.08em;font-family:Archivo Black,sans-serif;font-size:clamp(4rem,10vw,10rem);line-height:.75}.record-header>p{text-transform:uppercase;max-width:260px;font-size:12px;line-height:1.5}.award-list{border-top:2px solid var(--ink)}.award-row{border-bottom:1px solid var(--ink);text-transform:uppercase;grid-template-columns:.35fr 1.5fr 1fr .5fr;align-items:center;gap:2vw;padding:22px 0;display:grid;position:relative}.award-row:after{content:attr(data-rank);z-index:-1;color:#d650550f;font-family:Archivo Black,sans-serif;font-size:4rem;position:absolute;right:0}.award-row{transition:padding .25s,color .25s}.award-row:hover{color:var(--red);padding-left:1vw;padding-right:1vw}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.75,.25,1);transform:translateY(42px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.award-row strong{color:var(--red);font-family:Archivo Black,sans-serif;font-size:1.8rem}.award-row span{font-size:13px}.award-row span:first-of-type{font-family:Arial,sans-serif;font-size:clamp(1rem,2vw,1.8rem);font-weight:700}.award-row small{text-align:right;font-size:11px}.record-grid{background:var(--ink);border:1px solid var(--ink);grid-template-columns:1fr 1fr 1.35fr;gap:1px;margin-top:7vw;display:grid}.record-grid article{background:var(--cream);min-height:380px;padding:28px}.record-label{color:var(--red);text-transform:uppercase;margin-bottom:60px;font-size:11.5px;display:block}.record-grid h3{letter-spacing:-.04em;margin-top:26px;font-family:Archivo Black,sans-serif;font-size:clamp(1.2rem,2vw,2rem);line-height:1}.record-grid p{margin-top:8px;font-size:12px;line-height:1.55}.toolkit p{text-transform:uppercase;border-bottom:1px solid #161b1859;padding:10px 0}.repo-line{border-top:2px solid var(--ink);text-transform:uppercase;grid-template-columns:.5fr 2fr auto;align-items:center;gap:3vw;margin-top:6vw;padding-top:24px;font-size:12px;line-height:1.5;display:grid}.repo-line>span{color:var(--red)}.repo-line a{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.repo-line svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:22px}.test-point{background:var(--ink);color:var(--cream);grid-template-columns:1.3fr 1fr;gap:8vw;margin-top:8vw;padding:4vw;display:grid}.test-point .record-label{margin-bottom:28px}.test-point h3{letter-spacing:-.05em;text-transform:uppercase;margin-bottom:18px;font-family:Archivo Black,sans-serif;font-size:clamp(1.6rem,3vw,3rem)}.test-point code{color:#e5ddbca6;max-width:620px;font-size:12px;line-height:1.65;display:block}.test-point form{align-self:end}.test-point label{color:var(--red);text-transform:uppercase;margin-bottom:10px;font-size:11px;display:block}.test-point form>div{border-bottom:1px solid var(--cream);grid-template-columns:1fr auto;display:grid}.test-point input{min-width:0;color:var(--cream);letter-spacing:.35em;outline:none;padding:12px 0;font-family:IBM Plex Mono,monospace;font-size:1.5rem}.test-point input::placeholder{color:#e5ddbc4d}.test-point button{color:var(--cream);text-transform:uppercase;font-size:12px}.test-point form p{text-transform:uppercase;margin-top:12px;font-size:11px}.test-point form p.pass{color:#74c991}.test-point form p.fail{color:var(--red)}footer{background:var(--ink);padding:3vw}.footer-top,.footer-bottom,.footer-actions{text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.footer-top{border-bottom:1px solid #e5ddbc40;padding-bottom:5vw}.footer-top p span{color:var(--red)}footer h2{letter-spacing:-.08em;margin:6vw 0;font-family:Archivo Black,sans-serif;font-size:clamp(4rem,11.5vw,12rem);line-height:.78}footer h2 em{color:var(--red);font-style:normal}.footer-actions{border-top:1px solid #e5ddbc40;padding:25px 0 7vw}.footer-actions button{color:var(--cream);align-items:center;gap:20px;font-family:Arial,sans-serif;font-size:clamp(1.2rem,2.5vw,2.5rem);display:flex}.socials{gap:28px;display:flex}.footer-bottom{color:#e5ddbc99;border-top:1px solid #e5ddbc40;padding-top:22px}.footer-bottom a{color:inherit;text-decoration:none}@keyframes blink{50%{opacity:.25}}@keyframes drop{50%{transform:translateY(6px)}}@keyframes transition-shell{0%,to{visibility:hidden}1%,99%{visibility:visible}}@keyframes transition-wipe{0%{transform:translate(-102%)}38%,58%{transform:translate(0)}to{transform:translate(102%)}}@keyframes transition-copy{0%,30%,72%,to{opacity:0}40%,62%{opacity:1}}@media (width<=800px){.site-header{grid-template-columns:1fr auto}nav{background:var(--ink);transform-origin:top;opacity:0;pointer-events:none;flex-direction:column;gap:0;padding:0 5vw;transition:transform .25s,opacity .25s;display:flex;position:absolute;top:100%;left:0;right:0;transform:scaleY(0)}nav.open{opacity:1;pointer-events:auto;transform:scaleY(1)}nav a{border-bottom:1px solid #e5ddbc33;padding:18px 0}.menu-toggle{flex-direction:column;justify-content:center;justify-self:end;gap:6px;width:32px;height:32px;display:flex}.menu-toggle span{background:var(--cream);width:100%;height:1px;display:block}.availability{font-size:11px}.hero-title{flex-direction:column;font-size:22vw;top:15%}.hero-title.full-name{font-size:19vw;display:flex}.hero-title.full-name span:last-child{margin-left:0;margin-right:0}.hero-title span:last-child{margin-left:10vw}.hero-image{inset:20% -20% -5% 0}.hero-kicker{top:10%}.vertical-type{top:45%}.vertical-type b{font-size:17vw}.warning-card{width:66vw;bottom:12%;left:6vw}.warning-card h1{font-size:1.45rem}.scroll-cue{display:none}.section-heading{grid-template-columns:1fr}.section-heading h2{font-size:20vw}.section-note{margin-left:auto}.project button{grid-template-columns:35px 1fr 25px}.project-meta{display:none}.project-description{opacity:.82;max-width:100%;font-size:12.5px;line-height:1.55}.project-detail{padding-left:58px}.project.active .project-detail{padding-bottom:20px}.about{padding-top:16vw}.about-intro{margin:12vw 0 18vw;font-size:20vw}.about-grid,.experience-list{grid-template-columns:1fr}.experience-list article{min-height:auto}.experience-list h2{margin-top:42px}.section-rail{opacity:.65;top:12vw;right:2vw}.section-rail b{font-size:2.4rem}.about-jp{font-size:24vw}.about-copy{font-size:11px}.capabilities{max-width:60%;margin-left:auto}.record,.certifications,.education,.toolbox,.awards{padding-top:16vw}.education-grid{grid-template-columns:1fr}.education-grid article{min-height:360px}.toolbox-console,.tool-readout{grid-template-columns:1fr}.toolbox-console{min-height:auto}.tool-readout strong{margin-top:35px}.section-transition span{top:12vw}.section-transition i{width:48px;height:48px;bottom:12vw;right:8vw}.certification-grid{grid-template-columns:1fr}.certification-grid article{min-height:240px}.certification-grid h3{margin-top:60px}.education-line,.record-header{grid-template-columns:1fr}.record-header h2{font-size:20vw}.award-row{grid-template-columns:55px 1fr auto}.award-row span:nth-of-type(2){display:none}.record-grid{grid-template-columns:1fr}.record-grid article{min-height:auto}.repo-line{grid-template-columns:1fr}.test-point{grid-template-columns:1fr;padding:8vw 6vw}footer{padding:7vw 4vw}.footer-top{padding-bottom:12vw}footer h2{margin:14vw 0;font-size:15vw}.footer-actions{flex-direction:column;align-items:flex-start;gap:30px;padding-bottom:16vw}.footer-actions button{font-size:5.2vw}.footer-bottom span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.work .section-tag,.work .project-link,.record .section-tag,.record .record-label,.awards .section-tag,.awards .award-row strong,.awards .award-row strong{color:var(--red-ink)}.experience-list{background:0 0;border:0;grid-template-columns:none;gap:0;padding-left:30px;display:block;position:relative}.experience-list:before{content:"";background:linear-gradient(#e5ddbcd9 0% 100%);width:1px;height:calc(100% - 96px);position:absolute;top:30px;bottom:auto;left:5px}.experience-list article{margin-bottom:14px;position:relative}.experience-list article:last-child{margin-bottom:0}.exp-node{background:var(--ink);border:1px solid #e5ddbc73;border-radius:50%;width:11px;height:11px;transition:background .25s,border-color .25s,box-shadow .25s;position:absolute;top:34px;left:-31px}@keyframes expPulse{0%{opacity:.8;transform:scale(.85)}70%{opacity:0;transform:scale(1.9)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.experience-list article:first-child .exp-node:after{animation:none}}.exp-period{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exp-now{border:1px solid var(--red);color:var(--red);letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;font-size:10px;font-style:normal;line-height:1.4}.edu-school{background:var(--red);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-top:10px;padding:3px 9px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;line-height:1.5;display:inline-block}.certification-grid h3{letter-spacing:-.035em;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:clamp(1rem,1.35vw,1.45rem);line-height:1.05}@media (width<=1100px){.certification-grid{grid-template-columns:repeat(2,1fr)}.certification-grid h3{font-size:clamp(1.05rem,2.4vw,1.6rem)}}@media (width<=700px){.certification-grid h3{margin-top:44px;font-size:1.15rem;line-height:1.15}}.experience,.education,.toolbox,.awards,.certifications,.work{padding-right:calc(3vw + 52px)}.projects{padding-right:0}@media (width<=900px){.section-rail{display:none}.experience,.education,.toolbox,.awards,.certifications,.work{padding-right:6vw}.projects{padding-right:0}}.section-rail{max-height:calc(100% - 6vw);overflow:hidden}.project-access{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;margin-top:8px;padding:2px 7px;font-size:10px;line-height:1.5;display:inline-block}.project-access.open{color:var(--red);border-color:var(--red)}.project-access.current{color:currentColor;opacity:.7;border-style:dashed;align-items:center;gap:6px;display:inline-flex}.project-access.current:before{content:"";background:var(--red);border-radius:50%;width:5px;height:5px}.work .project-access.current:before{background:var(--red-ink)}.project-current{color:var(--red);letter-spacing:.08em;text-transform:uppercase;opacity:1;align-items:center;gap:10px;margin-top:18px;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.5;display:inline-flex}.work .project-current{color:var(--red-ink)}.work .project-access.open{color:var(--red-ink);border-color:var(--red-ink)}.project-meta .project-access{display:none}.project-access-row{align-items:center;gap:10px;margin-top:2px;padding-bottom:20px;padding-left:18px;transition:padding-left .25s;display:flex}.project.active .project-access-row,.project:hover .project-access-row{padding-left:22px}.project-access{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;padding:2px 8px;font-size:10px;line-height:1.6;display:inline-block}.hero-title.full-name{pointer-events:none;font-size:clamp(4rem,10.4vw,10.5rem);line-height:.8}.warning-card{width:min(390px,45vw);color:var(--cream);max-height:34vh;position:absolute;bottom:13%;left:18vw}@media (width<=900px){.hero-title.full-name{font-size:19vw;top:17%}.warning-card{width:78vw;max-height:none;bottom:14%;left:6vw}}.site-header{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#315c3feb;border-bottom:1px solid #e5ddbc47;transition:background-color .25s,border-color .25s}.site-header.scrolled{border-bottom-color:var(--red);background:#161b18f0}.site-header nav a{text-shadow:0 1px 6px #161b188c;font-weight:500}.hero-title,.hero-title.full-name,.hero-kicker,.vertical-type,.warning-card,.coordinate,.scroll-cue{z-index:3}.site-header{z-index:7}.hero>.noise{z-index:2}.hero-image{z-index:1}.hero-title{text-shadow:0 2px 18px #161b188c}.experience-list article .exp-node{z-index:3}.experience-list article{overflow:visible}.experience-list:before{z-index:1}.experience-list .exp-node{background:var(--ink);border-color:var(--cream);box-shadow:0 0 0 1px var(--cream);left:-30px;transform:none}.experience-list article:hover .exp-node,.experience-list article.active .exp-node{background:var(--red);border-color:var(--cream);box-shadow:0 0 0 1px var(--cream)}.experience-list article:first-child .exp-node{background:var(--cream);border-color:var(--cream);width:15px;height:15px;box-shadow:0 0 0 2px var(--red), 0 0 0 4px var(--cream), 0 0 16px 4px #e5ddbc80;top:30px;left:-32px;transform:none}.experience-list article:first-child .exp-node:before{content:"";background:var(--red);border-radius:50%;position:absolute;inset:3px}.experience-list article:first-child:hover .exp-node,.experience-list article:first-child.active .exp-node{background:var(--red);border-color:var(--cream);box-shadow:0 0 0 2px var(--cream)}.experience-list article:first-child .exp-node:after{border-color:var(--cream);border-width:1px}.vertical-type{top:46%;right:2.2vw}@media (width<=1100px){.hero-kicker{max-width:40vw;top:5%}}@media (width<=900px){.hero-kicker{max-width:52vw;font-size:10.5px;top:4%}.vertical-type{top:58%}}.certifications .record-header,.certifications .certification-grid{max-width:calc(100% - 90px)}.certifications .record-header h2{overflow-wrap:break-word;font-size:clamp(2rem,5.2vw,5.2rem)}@media (width<=1100px){.certifications .record-header,.certifications .certification-grid{max-width:calc(100% - 72px)}.certifications .record-header h2{font-size:clamp(1.9rem,6.4vw,4rem)}}@media (width<=900px){.certifications .record-header,.certifications .certification-grid{max-width:100%}}.projects{width:100%}.project{box-sizing:border-box;width:100%}.project-title-row{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.project-title-row .project-title{margin:0}.project-title-row .project-access{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:.85;border:1px solid;align-self:center;align-items:center;gap:6px;padding:3px 9px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:400;line-height:1.5;display:inline-flex;transform:translateY(-4px)}.project-title-row .project-access.open{color:var(--red-ink);border-color:var(--red-ink)}.project-title-row .project-access.current{color:var(--ink);opacity:.6;border-style:dashed}.project-title-row .project-access.current:before{content:"";background:var(--red);border-radius:50%;flex-shrink:0;width:5px;height:5px}.project-detail{padding-top:2px}.hero-kicker{max-width:30vw;line-height:1.5;top:96px;left:3vw}.hero-title.full-name{top:246px}@media (width<=1100px){.hero-kicker{max-width:40vw;top:96px}.hero-title.full-name{top:226px}}@media (width<=900px){.hero-kicker{max-width:56vw;font-size:10.5px;line-height:1.45;top:96px}.hero-title.full-name{font-size:17vw;top:210px}}@media (width<=600px){.hero-kicker{max-width:62vw;top:88px}.hero-title.full-name{top:205px}}.vertical-type{color:var(--cream);z-index:3;writing-mode:horizontal-tb;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:46%;right:2.2vw}.vertical-type b{writing-mode:vertical-rl;letter-spacing:-.12em;margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(4rem,8vw,8rem);line-height:.8;display:block}.vertical-type span{writing-mode:vertical-rl;letter-spacing:.25em;white-space:nowrap;opacity:.85;font-size:11px;line-height:1.2;display:block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
