/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#071019;--paper:#f5f6f2;--blue:#2b7cff;--cyan:#6ce5ff;--line:#cbd2d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-jp),sans-serif;margin:0}a{color:inherit;text-decoration:none}.nav{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f6f2e6;align-items:center;height:78px;padding:0 4vw;display:flex;position:relative}.brand{font-family:var(--font-display);letter-spacing:.05em;align-items:center;gap:10px;font-weight:700;display:flex}.brand span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;display:grid}.nav nav{font:600 12px var(--font-display);letter-spacing:.13em;gap:38px;margin:auto;display:flex}.navCta{font:600 11px var(--font-display);letter-spacing:.12em;border:1px solid var(--ink);padding:11px 16px}.hero{border-bottom:1px solid var(--line);grid-template-columns:55% 45%;min-height:calc(100vh - 78px);display:grid}.heroCopy{padding:12vh 5vw 5vh;position:relative}.eyebrow,.sectionNo{font:600 11px var(--font-display);letter-spacing:.18em}.eyebrow i{background:var(--blue);width:8px;height:8px;box-shadow:0 0 12px var(--blue);border-radius:50%;margin-right:10px;display:inline-block}.hero h1{letter-spacing:-.065em;margin:32px 0;font-size:clamp(45px,6vw,94px);font-weight:900;line-height:1.04}.hero h1 em{color:#0000;-webkit-text-stroke:1.5px var(--blue);font-style:normal}.lead{color:#48535d;font-size:15px;line-height:2}.actions{align-items:center;gap:30px;margin-top:42px;display:flex}.primary{background:var(--blue);color:#fff;justify-content:space-between;min-width:175px;padding:17px 22px;font-size:13px;font-weight:700;display:flex}.textLink{border-bottom:1px solid;padding-bottom:4px;font-size:13px;font-weight:700}.status{font:600 10px var(--font-display);letter-spacing:.12em;position:absolute;bottom:26px}.status span{color:#27d17f}.status small{color:#7a858e;margin-left:18px}.heroVisual{border-left:1px solid var(--line);background:#7f7f7f;position:relative;overflow:hidden}.heroVisual img{object-fit:cover;object-position:50% 35%;width:100%;height:100%;display:block}.vertical{z-index:2;color:#fff;font:500 9px var(--font-display);letter-spacing:.2em;writing-mode:vertical-rl;position:absolute;top:30px;right:12px}.badge{background:var(--blue);color:#fff;text-align:center;width:88px;height:88px;font:700 11px/1.05 var(--font-display);border-radius:50%;place-content:center;display:grid;position:absolute;bottom:5%;left:7%;transform:rotate(-9deg);box-shadow:0 0 0 7px #ffffff38}.badge b{color:var(--cyan)}.about{grid-template-columns:1.1fr .9fr;gap:8vw;padding:110px 5vw 50px;display:grid;position:relative}.about h2,.works h2{letter-spacing:-.05em;margin:24px 0;font-size:clamp(40px,5vw,72px);line-height:1.1}.about h2 span{color:var(--blue)}.aboutText{padding-top:35px}.aboutText p{color:#3f4b55;margin:0 0 22px;font-size:15px;line-height:2.1}.skillMarquee{font:600 13px var(--font-display);letter-spacing:.12em;border-top:1px solid;border-bottom:1px solid;grid-column:1/-1;justify-content:space-between;margin-top:50px;padding:18px 0;display:flex}.skillMarquee span:before{content:"✦";color:var(--blue);margin-right:25px}.works{background:var(--ink);color:#fff;padding:110px 5vw}.worksHead{justify-content:space-between;align-items:end;display:flex}.worksHead>p{color:#9ba7b1;line-height:1.8}.appGrid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:55px;display:grid}.appCard{background:#111d27;border:1px solid #263541;flex-direction:column;min-height:455px;padding:26px;transition:all .25s;display:flex}.appCard:hover{border-color:var(--cyan);transform:translateY(-8px)}.appTop{font:500 10px var(--font-display);letter-spacing:.14em;color:#98a7b2;justify-content:space-between;display:flex}.appTop i{font-style:normal}.appIcon{width:72px;height:72px;font:700 21px var(--font-display);color:var(--cyan);clip-path:polygon(15% 0,100% 0,100% 85%,85% 100%,0 100%,0 15%);border:1px solid #3b5266;place-items:center;margin:55px 0 38px;display:grid}.blue .appIcon{color:#6b8cff}.violet .appIcon{color:#b58cff}.appCard h3{font:600 28px var(--font-display);margin:0 0 15px}.appCard>p{color:#aab4bc;font-size:13px;line-height:1.9}.appActions{gap:20px;margin-top:auto;display:flex}.appActions a{font:600 10px var(--font-display);letter-spacing:.14em;border-bottom:1px solid #6c7a85;padding-bottom:5px}.profile{border-bottom:1px solid var(--line);grid-template-columns:50% 50%;min-height:760px;display:grid}.profileImage{background:#7f7f7f;overflow:hidden}.profileImage img{object-fit:cover;object-position:50% 26%;width:100%;height:100%;display:block}.profileCopy{padding:100px 8vw}.profileCopy .jp{color:var(--blue);letter-spacing:.2em;margin-top:70px;font-weight:700}.profileCopy h2{font:700 clamp(70px,10vw,150px)/.76 var(--font-display);letter-spacing:-.08em;margin:15px 0 50px}.profileCopy h2 span{color:#0000;-webkit-text-stroke:1.5px var(--blue)}.profileCopy>p:last-of-type{line-height:1.9}.profileCopy dl{margin-top:50px}.profileCopy dl div{border-top:1px solid var(--line);font:500 10px var(--font-display);letter-spacing:.12em;padding:14px 0;display:flex}.profileCopy dt{color:#7b858d;width:32%}footer{background:var(--blue);color:#fff;grid-template-columns:1fr 1fr;gap:60px;padding:80px 5vw 25px;display:grid}footer .brand span{color:var(--blue);background:#fff}footer h2{font:700 clamp(55px,8vw,120px)/.82 var(--font-display);letter-spacing:-.07em;margin:65px 0 20px}.footerLinks{flex-direction:column;justify-content:center;display:flex}.footerLinks a{font:600 13px var(--font-display);letter-spacing:.12em;border-top:1px solid #ffffff59;justify-content:space-between;padding:22px 0;display:flex}.footerLinks a:last-child{border-bottom:1px solid #ffffff59}.copyright{font:500 9px var(--font-display);letter-spacing:.16em;opacity:.7;grid-column:1/-1}.subNav{border-bottom:1px solid var(--line);justify-content:space-between;padding:25px 5vw;display:flex}.legalHero,.appHero{background:var(--ink);color:#fff;padding:90px 8vw 60px}.legalHero h1,.appHero h1{font:700 clamp(45px,8vw,105px)/.95 var(--font-display);letter-spacing:-.06em;margin:25px 0}.legalHero p,.appHero p{color:#a9b5bf;max-width:700px;line-height:1.8}.legalBody{max-width:900px;margin:0 auto;padding:70px 5vw 120px}.legalBody h2{margin:48px 0 15px;font-size:23px}.legalBody p,.legalBody li{color:#3e4952;font-size:14px;line-height:2}.legalTabs{gap:12px;margin-top:30px;display:flex}.legalTabs a{font:600 10px var(--font-display);letter-spacing:.12em;border:1px solid #566571;padding:12px 15px}.appPageGrid{grid-template-columns:1.2fr .8fr;gap:30px;padding:60px 5vw 110px;display:grid}.featurePanel,.policyPanel{border:1px solid var(--line);padding:35px}.featurePanel h2,.policyPanel h2{margin-top:0;font-size:28px}.featurePanel ul{padding:0;list-style:none}.featurePanel li{border-top:1px solid var(--line);padding:18px 0}.policyPanel a{border-top:1px solid var(--line);justify-content:space-between;padding:18px 0;font-weight:700;display:flex}@media (width<=800px){.nav nav{display:none}.hero{grid-template-columns:1fr}.heroCopy{min-height:670px}.heroVisual{border-left:0;height:620px}.about,.profile,.appPageGrid,.appGrid{grid-template-columns:1fr}.worksHead{display:block}.skillMarquee{justify-content:flex-start;gap:35px;overflow:hidden}.profileImage{height:650px}.profileCopy{padding:70px 6vw}footer{grid-template-columns:1fr}.copyright{grid-column:1}.navCta{display:none}}.skillMarquee{flex-wrap:wrap;justify-content:center;gap:22px 38px}.skillMarquee span:before{margin-right:14px}.orange .appIcon{color:#ff9e62}.green .appIcon{color:#63e6a5}.ghost{background:#0c151d;border-style:dashed}.ghost .appIcon{color:#7b8b97}.appActions .soon{font:600 10px var(--font-display);letter-spacing:.14em;color:#74838e;border-bottom:1px solid #6c7a85;padding-bottom:5px}.nav{animation:.7s cubic-bezier(.2,.8,.2,1) both nav-drop}.heroCopy>*{animation:.8s cubic-bezier(.16,1,.3,1) both hero-rise}.heroCopy .eyebrow{animation-delay:.12s}.heroCopy h1{animation-delay:.22s}.heroCopy .lead{animation-delay:.34s}.heroCopy .actions{animation-delay:.46s}.heroCopy .status{animation-delay:.58s}.heroVisual{animation:1.05s cubic-bezier(.16,1,.3,1) both visual-wipe}.heroVisual img{animation:5.5s ease-in-out 1.1s infinite character-float}.badge{animation:5s ease-in-out 1.1s infinite badge-orbit}.signal{z-index:2;pointer-events:none;opacity:0;border:1px solid #6ce5ffcc;border-radius:50%;position:absolute}.signal.s1{width:100px;height:100px;animation:2.8s ease-out 1s infinite signal-ping;top:18%;left:10%}.signal.s2{width:180px;height:180px;animation:2.8s ease-out 2s infinite signal-ping;bottom:12%;right:4%}.primary{transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.primary:after{content:"";background:linear-gradient(110deg,#0000 38%,#ffffff73 50%,#0000 62%);transition:transform .65s;position:absolute;inset:-60% -30%;transform:translate(-90%)}.primary:hover{transform:translateY(-4px);box-shadow:0 13px 28px #2b7cff4d}.primary:hover:after{transform:translate(90%)}.nav a,.textLink,.footerLinks a{transition:color .2s,transform .2s}.nav nav a:hover,.textLink:hover{color:var(--blue);transform:translateY(-2px)}.about>div:not(.skillMarquee),.worksHead,.appCard,.profileImage,.profileCopy{animation:linear both scroll-reveal;animation-timeline:view();animation-range:entry 5% cover 30%}.appCard:nth-child(2),.appCard:nth-child(5){animation-name:scroll-reveal-late}.appCard:nth-child(3),.appCard:nth-child(6){animation-name:scroll-reveal-later}.appIcon{transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s}.appCard:hover .appIcon{background:#172735;transform:rotate(-7deg)scale(1.12)}.appCard:hover h3{color:var(--cyan)}.appCard h3{transition:color .25s}.skillMarquee span{animation:linear both skill-pop;animation-timeline:view();animation-range:entry cover 20%}.skillMarquee span:nth-child(2n){animation-delay:80ms}.profileImage img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.profileImage:hover img{transform:scale(1.035)}footer h2{animation:linear both footer-signal;animation-timeline:view();animation-range:entry cover 35%}.footerLinks a:hover{color:#c6f5ff;transform:translate(8px)}.footerLinks a span{transition:transform .25s}.footerLinks a:hover span{transform:translate(4px,-4px)}@keyframes nav-drop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes hero-rise{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes visual-wipe{0%{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0)}}@keyframes character-float{0%,to{transform:scale(1.02)translateY(0)}50%{transform:scale(1.035)translateY(-12px)}}@keyframes badge-orbit{0%,to{transform:rotate(-9deg)translateY(0)}50%{transform:rotate(5deg)translateY(-10px)}}@keyframes signal-ping{0%{opacity:.85;transform:scale(.25)}75%,to{opacity:0;transform:scale(1.5)}}@keyframes scroll-reveal{0%{opacity:0;transform:translateY(55px)}to{opacity:1;transform:none}}@keyframes scroll-reveal-late{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:none}}@keyframes scroll-reveal-later{0%{opacity:0;transform:translateY(105px)}to{opacity:1;transform:none}}@keyframes skill-pop{0%{opacity:0;transform:translateY(14px)scale(.9)}to{opacity:1;transform:none}}@keyframes footer-signal{0%{opacity:0;letter-spacing:.03em;transform:translate(-30px)}to{opacity:1;letter-spacing:-.07em;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-timeline:auto!important}}
