@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/zen-kaku-gothic-new-latin-500-normal-Dfjj7AIU.woff2)format("woff2"),url(/assets/zen-kaku-gothic-new-latin-500-normal-BIfs0Bhs.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/zen-kaku-gothic-new-latin-700-normal-Dgv0FPyh.woff2)format("woff2"),url(/assets/zen-kaku-gothic-new-latin-700-normal-zPVyND5l.woff)format("woff")}:root{--ink:#17245c;--ink-deep:#101b4f;--ink-soft:#3f4771;--pink-50:#fff9fb;--pink-100:#fcecf2;--pink-200:#f7d7e4;--pink-300:#efb7ce;--lilac-100:#f1effc;--lilac-200:#dddaf5;--blue-100:#e9f1fb;--gold:#c89663;--white:#fff;--line:#1e275921;--shadow:0 22px 60px #4a376e21;--page:min(1440px, calc(100vw - 84px));--header-height:96px;--font-body:"Manrope", sans-serif;--font-display:"Zen Kaku Gothic New", sans-serif;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{color:var(--ink);background:var(--pink-50);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}body.is-welcome-open{overflow:hidden}body::selection{color:var(--white);background:#8d6aa9}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}img,video,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);line-height:1.08}ul{margin:0;padding:0;list-style:none}.welcome-screen{z-index:2000;color:var(--ink-deep);isolation:isolate;clip-path:circle(160% at 79% 76%);background:linear-gradient(125deg,#fff9f6 0%,#fce5ed 36%,#e5e3f6 69%,#d8e7f8 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.welcome-screen__sky{z-index:-3;opacity:.12;filter:blur(8px)saturate(.72);transition:opacity .8s ease, filter 1s ease, transform 1.4s var(--ease);background:linear-gradient(90deg,#fffaf8eb,#fff6f994 43%,#e4e1f826 76%),url(/assets/hero/sakura-city-enhanced-1920.webp) 50%/cover no-repeat;position:absolute;inset:-2%;transform:scale(1.08)}.welcome-screen.is-ready .welcome-screen__sky{opacity:.4;filter:blur(1px)saturate(.92);transform:scale(1.035)}.welcome-screen__sun{z-index:-2;aspect-ratio:1;mix-blend-mode:screen;background:radial-gradient(circle,#ffffe9f5,#ffd2da59 39%,#0000 69%);border-radius:50%;width:58vw;animation:2.8s ease-out both welcome-sunrise;position:absolute;top:-16vw;left:-10vw}.welcome-screen__layout{z-index:2;grid-template-columns:minmax(0,1fr) minmax(300px,390px);align-items:center;gap:70px;width:min(1180px,100% - 80px);min-height:min(760px,100vh - 70px);display:grid;position:relative}.welcome-screen__copy{max-width:660px;padding:45px 0}.welcome-screen__identity{opacity:0;animation:welcome-arrive .72s 80ms var(--ease) forwards;align-items:center;gap:15px;margin-bottom:clamp(60px,9vh,108px);display:flex}.welcome-screen__identity>span{background:#ffffff4d;border:1px solid #17245c7a;border-radius:50%;place-items:center;width:50px;height:50px;font-size:1rem;font-weight:700;display:grid}.welcome-screen__identity p,.welcome-screen__identity small{margin:0;display:block}.welcome-screen__identity p{letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:700}.welcome-screen__identity small{color:#5d6482;letter-spacing:.08em;margin-top:2px;font-size:.48rem}.welcome-screen__eyebrow{color:#aa7089;letter-spacing:.17em;text-transform:uppercase;opacity:0;animation:welcome-arrive .72s .17s var(--ease) forwards;margin-bottom:15px;font-size:.58rem;font-weight:700}.welcome-screen h2{max-width:720px;color:var(--ink-deep);letter-spacing:-.065em;opacity:0;animation:welcome-arrive .82s .24s var(--ease) forwards;margin:0;font-size:clamp(4.4rem,7.2vw,7.5rem);font-weight:500;line-height:.9}.welcome-screen__intro{color:#485173;opacity:0;max-width:590px;animation:welcome-arrive .72s .36s var(--ease) forwards;margin:27px 0 33px;font-size:clamp(.84rem,1.1vw,1rem)}.welcome-screen__status{opacity:0;width:min(470px,100%);animation:welcome-arrive .72s .44s var(--ease) forwards}.welcome-screen__status>div{color:#777793;letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.56rem;font-weight:700;display:flex}.welcome-screen__status strong{color:#9c6e86;font-size:.58rem}.welcome-screen__track{background:#232d6021;height:2px;display:block;overflow:hidden}.welcome-screen__track i{width:100%;height:100%;transform:scaleX(var(--welcome-progress));transform-origin:0;transition:transform .35s var(--ease);background:linear-gradient(90deg,#d98ba9,#9d94cb,#7696c7);display:block}.welcome-screen__skip{cursor:pointer;color:#5b6281;letter-spacing:.08em;text-transform:uppercase;opacity:0;animation:welcome-arrive .72s .52s var(--ease) forwards;background:0 0;border:0;align-items:center;gap:9px;margin-top:21px;padding:8px 0;font-size:.61rem;font-weight:700;display:inline-flex}.welcome-screen__skip svg{transition:transform .24s var(--ease)}.welcome-screen__skip:hover svg{transform:translate(4px)}.welcome-screen__lumi{opacity:0;height:min(70vh,650px);animation:welcome-lumi-arrive .9s .32s var(--ease) forwards;align-self:end;position:relative;transform:translateY(35px)scale(.96)}.welcome-screen__lumi>span{aspect-ratio:1;background:radial-gradient(circle,#fffce0c9,#f0bfd83d 47%,#0000 69%);border-radius:50%;width:116%;animation:4.8s ease-in-out infinite halo-pulse;position:absolute;bottom:4%;right:-10%}.welcome-screen__lumi img{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 32px #3f325c33);width:124%;height:100%;position:absolute;bottom:-2%;right:-12%}.welcome-screen__lumi p{z-index:2;color:#656b87;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffffb8;border-radius:999px;margin:0;padding:7px 12px;font-size:.5rem;font-weight:700;position:absolute;bottom:3%;right:1%}.welcome-screen__petals{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.welcome-screen__petals i{top:-8%;left:var(--welcome-left);width:var(--welcome-size);height:calc(var(--welcome-size) * .58);opacity:.7;animation:welcome-petal var(--welcome-duration) linear var(--welcome-delay) infinite;background:linear-gradient(135deg,#fff1f6,#d98eab);border-radius:80% 15% 70% 25%;position:absolute}.welcome-screen.is-leaving{pointer-events:none;animation:welcome-reveal .76s var(--ease) forwards}.welcome-screen.is-leaving .welcome-screen__copy,.welcome-screen.is-leaving .welcome-screen__lumi{opacity:0;transition:opacity .28s ease, transform .42s var(--ease);transform:translateY(-18px)scale(.98)}.welcome-screen.is-leaving .welcome-screen__lumi{animation:none}.skip-link{z-index:1000;color:var(--white);background:var(--ink-deep);padding:12px 18px;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline-offset:4px;outline:3px solid #d481a8}[data-reveal]{opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);transition-delay:var(--delay,0s);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:none}.site-header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:#fff8fb8a;border-bottom:1px solid #ffffff73;justify-content:space-between;align-items:center;padding:0 max(42px,50vw - 720px);display:flex;position:fixed;inset:0 0 auto}.brand{align-items:center;gap:18px;display:flex}.brand__mark{letter-spacing:-.04em;background:#fff3;border:1.5px solid #17245c8c;border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.25rem;font-weight:600;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.075em;text-transform:uppercase;font-size:.94rem}.brand small{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:.57rem;font-weight:700}.site-nav{align-items:center;gap:7px;display:flex}.site-nav>a{padding:12px 13px;font-size:.76rem;font-weight:600;position:relative}.site-nav>a:not(.resume-link):after{content:"";background:var(--ink);height:1.5px;transition:transform .25s;position:absolute;bottom:5px;left:13px;right:13px;transform:scaleX(0)}.site-nav>a:hover:after{transform:scaleX(1)}.site-nav .resume-link{background:#fffc;border:1px solid #ffffffb3;border-radius:999px;align-items:center;gap:8px;margin-left:12px;padding:12px 22px;display:flex;box-shadow:0 8px 25px #34285e14}.menu-toggle{border:1px solid var(--line);background:#ffffffa6;border-radius:50%;place-items:center;width:46px;height:46px;display:none}.hero{--pointer-x:0;--pointer-y:0;min-height:960px;padding-top:var(--header-height);isolation:isolate;position:relative;overflow:clip}.hero__background{z-index:-5;transform:translate3d(calc(var(--pointer-x) * -9px), calc(var(--pointer-y) * -6px), 0) scale(1.025);will-change:transform;background-color:#f4dce7;background-image:url(/assets/hero/sakura-city-enhanced-1920.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;animation:20s ease-in-out infinite alternate background-breathe;position:absolute;inset:0}.hero:before{content:"";z-index:-4;background:linear-gradient(90deg,#fffafbe8 0%,#fff7fabd 29%,#fff0f64f 53%,#f9deee05 75%),linear-gradient(#0000 63%,#21214a1f);position:absolute;inset:0}.hero__clouds{z-index:-3;opacity:.42;filter:blur(18px);pointer-events:none;background:radial-gradient(at 20% 55%,#ffffffe0,#0000 27%),radial-gradient(at 56% 34%,#fff8fab8,#0000 25%);width:64%;height:48%;animation:30s ease-in-out infinite alternate cloud-drift;position:absolute;top:3%;left:4%}.hero__sunlight{z-index:-2;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle,#fff8d38f,#ffdadb21 39%,#0000 67%);border-radius:50%;width:31vw;height:31vw;animation:8s ease-in-out infinite sunlight;position:absolute;top:28%;left:3%}.hero__content{width:var(--page);min-height:calc(960px - var(--header-height));grid-template-columns:minmax(0,1.07fr) minmax(390px,.93fr);align-items:center;margin:auto;padding:92px 0 60px;display:grid;position:relative}.hero__copy{z-index:4;max-width:750px;position:relative}.hero__hello{font-family:var(--font-display);margin-bottom:2px;font-size:clamp(1.4rem,2.15vw,2.2rem)}.hero h1{color:var(--ink-deep);letter-spacing:-.055em;margin-bottom:14px;font-size:clamp(4rem,6.4vw,7rem);font-weight:500}.hero__headline{margin-bottom:7px;font-size:clamp(.92rem,1vw,1.1rem);font-weight:700}.hero__secondary{color:#394376;font-size:clamp(.96rem,1.1vw,1.16rem);font-weight:500}.hero__summary{color:#303b67;border-left:2px solid #17245c80;max-width:630px;margin:27px 0 29px;padding-left:20px;font-size:1rem}.hero__metrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.hero__metrics article{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#ffffffb8;border:1px solid #ffffffb8;border-radius:12px;align-items:flex-start;gap:12px;min-height:92px;padding:17px 15px;transition:transform .25s,background .25s,box-shadow .25s;display:flex;box-shadow:0 10px 30px #41306314}.hero__metrics article:hover{background:#ffffffe6;transform:translateY(-5px);box-shadow:0 16px 34px #41306324}.hero__metrics svg{flex:none;margin-top:4px}.hero__metrics strong,.hero__metrics span{display:block}.hero__metrics strong{color:var(--ink-deep);font-size:1.28rem;line-height:1.15}.hero__metrics span{color:var(--ink-soft);margin-top:3px;font-size:.68rem;line-height:1.35}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:19px;display:flex}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:0 28px;font-size:.77rem;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button--primary{color:var(--white);background:var(--ink-deep);box-shadow:0 12px 28px #101b4f2e}.button--primary:hover{background:#263375;box-shadow:0 16px 34px #101b4f3d}.button--glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff57;border-color:#17245c73}.field-note{color:#4c5275;max-width:400px;margin-top:54px}.field-note>span{color:#92706f;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:11px;font-size:.61rem;font-weight:700;display:flex}.field-note>span svg{border:1px solid #d28ba58c;border-radius:50%;padding:5px;overflow:visible}.field-note p{margin:12px 0 0 31px;font-size:.74rem;line-height:1.65}.hero__lumi{z-index:3;align-self:end;min-height:690px;position:relative}.lumi-guide{contain:layout style;width:min(590px,40vw);position:absolute;inset:auto 0 1vh auto}.lumi-guide__character{z-index:2;cursor:pointer;isolation:isolate;filter:drop-shadow(0 24px 26px #49375e38);width:100%;transition:transform .42s var(--ease);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:relative}.lumi-guide__character:hover{transform:translateY(-4px)rotate(-.35deg)}.lumi-guide__character:focus-visible{outline:none}.lumi-guide__character:focus-visible .lumi-guide__halo{box-shadow:0 0 0 4px #d481a8bf}.lumi-guide__media{aspect-ratio:15/14;object-fit:contain;object-position:center bottom;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-height:620px}.lumi-guide__media::-webkit-media-controls{-webkit-appearance:none;display:none!important}.lumi-guide__media::-webkit-media-controls-panel{-webkit-appearance:none;display:none!important}.lumi-guide__media::-webkit-media-controls-overlay-play-button{-webkit-appearance:none;display:none!important}.lumi-guide__halo{z-index:-1;aspect-ratio:1;background:radial-gradient(circle,#fff5d78f,#f0c1dc2e 45%,#0000 69%);border-radius:50%;width:66%;animation:5s ease-in-out infinite halo-pulse;position:absolute;bottom:5%;right:9%}.lumi-guide__bubble{z-index:5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 100%;width:265px;transition:opacity .24s ease, transform .34s var(--ease), visibility 0s linear .34s;background:#ffffffe6;border:1px solid #ffffffe6;border-radius:12px 12px 2px;grid-template-columns:auto 1fr auto;gap:10px;padding:17px 15px 17px 19px;display:grid;position:absolute;top:16%;left:-36%;transform:translate(12px,8px)scale(.97);box-shadow:0 18px 40px #41306324}.lumi-guide.is-greeting .lumi-guide__bubble{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.lumi-guide__bubble:after{content:"";border:11px solid #0000;border-bottom-color:#ffffffe6;position:absolute;bottom:-1px;right:-11px;transform:rotate(45deg)}.lumi-guide__bubble svg{color:#d383a5;margin-top:2px}.lumi-guide__bubble p{color:#39416b;margin:0;font-size:.75rem;line-height:1.55}.lumi-guide__bubble button{cursor:pointer;background:#eee3eeb8;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;display:grid}.lumi-guide__bubble button svg{color:#646b8d;margin:0}.lumi-guide__hint{z-index:6;color:#555d85;opacity:.82;background:#ffffffc2;border:1px solid #ffffffa6;border-radius:999px;padding:6px 11px;font-size:.57rem;transition:opacity .25s,transform .25s,background .25s;position:absolute;bottom:4%;right:18%;transform:translateY(2px);box-shadow:0 8px 20px #41306314}.lumi-guide__character:hover .lumi-guide__hint,.lumi-guide__character:focus-visible .lumi-guide__hint{opacity:1;background:#fffffff0;transform:none}.scroll-cue{z-index:7;color:#fffffff2;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 10px #1e1a3e66;justify-items:center;gap:7px;font-size:.61rem;font-weight:700;display:grid;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scroll-cue i{border-bottom:1.5px solid;border-right:1.5px solid;width:10px;height:10px;animation:1.7s ease-in-out infinite scroll-bob;transform:rotate(45deg)}.petals{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.petals i{top:-5%;left:var(--left);width:var(--size);height:calc(var(--size) * .58);opacity:.72;animation:petal-fall var(--duration) linear var(--delay) infinite;background:linear-gradient(135deg,#ffdce9,#de8eae);border-radius:80% 15% 70% 25%;position:absolute;box-shadow:0 0 4px #fff6}.section{padding:125px 0}.section-heading{width:var(--page);grid-template-columns:190px minmax(0,1fr) 430px;align-items:end;gap:28px;margin:0 auto 62px;display:grid}.section-heading>span{color:#b0718b;letter-spacing:.14em;text-transform:uppercase;align-self:start;padding-top:13px;font-size:.62rem;font-weight:700}.section-heading h2{color:var(--ink-deep);letter-spacing:-.045em;margin:0;font-size:clamp(2.7rem,4.3vw,5rem);font-weight:500}.section-heading p{color:#636987;margin:0;font-size:.89rem}.experience{background:linear-gradient(#fffafc,#fff)}.career-progression{width:var(--page);color:#6f6f8c;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:auto minmax(50px,1fr) auto minmax(50px,1fr) auto;align-items:center;gap:14px;margin:-19px auto 37px;font-size:.62rem;font-weight:700;display:grid}.career-progression i{background:linear-gradient(90deg,#e1afc4,#9ba9d4);height:1px}.experience__grid{width:var(--page);border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:auto;display:grid}.experience-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff8f;min-height:520px;padding:35px;transition:transform .35s,box-shadow .35s,background .35s}.experience-card:hover{z-index:2;background:var(--white);box-shadow:var(--shadow);transform:translateY(-8px)}.experience-card__meta{color:#a8788c;justify-content:space-between;align-items:center;margin-bottom:46px;font-size:.65rem;font-weight:700;display:flex}.experience-card__meta>span{border:1px solid var(--pink-300);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.experience-card__company{color:#a16d86;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.62rem;font-weight:700}.experience-card h3{color:var(--ink-deep);margin-bottom:17px;font-size:1.8rem;font-weight:500}.experience-card>p:not(.experience-card__company){color:#636987;font-size:.84rem}.experience-card ul{border-top:1px solid var(--line);gap:12px;margin-top:27px;padding-top:25px;display:grid}.experience-card li{color:#4f577d;grid-template-columns:18px 1fr;gap:9px;font-size:.74rem;display:grid}.experience-card li svg{color:#d482a5}.operations{background:linear-gradient(145deg,#f6f2fb,#fdf7fa 57%,#eef4fb)}.operations__path{width:var(--page);color:#7a6f92;letter-spacing:.09em;text-transform:uppercase;justify-content:center;align-items:center;margin:0 auto 38px;font-size:.62rem;font-weight:700;display:flex}.operations__path i{background:linear-gradient(90deg,#dfadc0,#9aa9d5);width:min(8vw,125px);height:1px;margin:0 12px}.operations__grid{width:var(--page);border:1px solid var(--line);border-bottom:0;border-right:0;grid-template-columns:repeat(3,1fr);margin:auto;display:grid}.operations__grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffffa1;min-height:330px;padding:32px;transition:background .3s,transform .3s;position:relative}.operations__grid article:hover{z-index:2;background:#fffffff0;transform:scale(1.012)}.operations-card__icon{width:48px;height:48px;color:var(--white);background:linear-gradient(145deg,#7e82bd,#bd84aa);border-radius:13px;place-items:center;display:grid;box-shadow:0 10px 25px #564b872e}.operations-card__index{color:#a5a1b7;font-size:.56rem;position:absolute;top:35px;right:32px}.operations__grid h3{margin:28px 0 13px;font-size:1.45rem;font-weight:500}.operations__grid p{color:#626984;font-size:.8rem}.operations__grid ul{flex-wrap:wrap;gap:7px;margin-top:25px;display:flex}.operations__grid li{color:#5a5f7c;background:#efeaf6c7;border:1px solid #68658f1c;border-radius:999px;padding:5px 9px;font-size:.57rem}.projects{background:#fffdfd}.project-browser{width:var(--page);border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:1fr;margin:auto;display:grid;overflow:hidden}.project-list{border-bottom:1px solid var(--line);background:linear-gradient(#faf4f8,#f5f2fb);grid-template-columns:repeat(4,1fr);display:grid}.project-list button{text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:0 0;border-bottom:0;grid-template-columns:52px 1fr 20px;align-items:center;gap:10px;width:100%;min-height:99px;padding:20px 22px;transition:color .25s,background .25s;display:grid}.project-list button:last-child{border-right:0}.project-list button small{color:#a17088;font-size:.55rem}.project-list button span{font-size:.75rem;font-weight:700}.project-list button svg{opacity:.45;transition:transform .25s}.project-list button[aria-selected=true]{color:var(--white);background:linear-gradient(125deg,#303875,#855f8f)}.project-list button[aria-selected=true] small{color:#f3c9dc}.project-list button[aria-selected=true] svg{opacity:1;transform:translate(3px)}.project-detail{grid-template-columns:1.05fr .95fr;min-height:520px;display:grid}.project-detail__visual{background:linear-gradient(135deg,#eef2fb,#faedf4);place-items:center;padding:38px;display:grid;overflow:hidden}.project-detail__visual img{border:8px solid #ffffffbd;border-radius:16px;width:100%;box-shadow:0 24px 50px #3e356533}.project-detail__copy{align-self:center;padding:52px}.project-detail__copy>span{color:#b0728b;letter-spacing:.1em;text-transform:uppercase;font-size:.61rem;font-weight:700}.project-detail__copy h3{letter-spacing:-.035em;margin:17px 0 13px;font-size:clamp(2rem,3vw,3.5rem);font-weight:500}.project-detail__copy>strong{color:#8c5b7d;font-size:1.05rem;display:block}.project-detail__copy>p{color:#626984;margin:25px 0;font-size:.85rem}.project-facts{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;display:grid}.project-facts>div{border:1px solid var(--line);background:#fcf8fb;border-radius:10px;padding:15px}.project-facts small,.project-process>small{color:#a16d86;letter-spacing:.09em;text-transform:uppercase;font-size:.54rem;font-weight:700}.project-facts p{color:#5f6682;margin:7px 0 0;font-size:.66rem;line-height:1.5}.project-process{margin-bottom:20px}.project-process ol{counter-reset:process;flex-wrap:wrap;gap:7px;margin:9px 0 0;padding:0;list-style:none;display:flex}.project-process li{color:#535b7f;counter-increment:process;align-items:center;gap:6px;font-size:.58rem;display:flex}.project-process li:before{content:counter(process);color:#915f79;background:var(--pink-100);border-radius:50%;place-items:center;width:21px;height:21px;font-size:.5rem;font-weight:700;display:grid}.project-process li:not(:last-child):after{content:"→";color:#c189a3;margin-left:2px}.project-tools,.case-tools{flex-wrap:wrap;gap:7px;display:flex}.project-tools li,.case-tools li{background:var(--pink-100);border-radius:999px;padding:6px 10px;font-size:.58rem}.system-visual{grid-template-columns:repeat(4,minmax(80px,1fr));align-items:center;gap:8px;width:100%;display:grid}.system-visual span{min-height:95px;color:var(--ink-deep);text-align:center;background:#fffc;border:1px solid #28306829;border-radius:14px;place-items:center;padding:14px;font-size:.68rem;font-weight:700;display:grid;box-shadow:0 12px 30px #463d6d1a}.system-visual i{display:none}.biometric-case{background:linear-gradient(145deg,#fbfcff,#fff8fb);min-width:0;padding:34px}.biometric-case__hero{grid-template-columns:minmax(250px,.56fr) 1.44fr;align-items:center;gap:34px;display:grid}.biometric-device{background:radial-gradient(circle at 48% 35%,#fffffff5,#e7e7f8d6 48%,#f5deeac7);border:1px solid #3740731c;border-radius:18px;place-items:center;min-height:440px;display:grid;position:relative;overflow:hidden}.biometric-device:before{content:"";aspect-ratio:1;border:1px solid #75699e21;border-radius:50%;width:75%;position:absolute;box-shadow:0 0 0 28px #ffffff26,0 0 0 58px #ffffff1c}.biometric-device>span{z-index:2;color:#8f7793;letter-spacing:.09em;text-transform:uppercase;font-size:.49rem;font-weight:700;position:absolute;top:16px;left:17px}.biometric-device img{z-index:1;object-fit:contain;filter:drop-shadow(0 24px 28px #27284e42);width:min(78%,260px);max-height:400px;position:relative}.biometric-case__intro>span,.architecture header span{color:#ab7088;letter-spacing:.11em;text-transform:uppercase;font-size:.56rem;font-weight:700}.biometric-case__intro h3{letter-spacing:-.04em;max-width:650px;margin:13px 0 12px;font-size:clamp(2.3rem,3.4vw,4.1rem);font-weight:500}.biometric-case__intro>p{color:#5e6684;max-width:680px;font-size:.79rem}.case-scale{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0;display:grid}.case-scale>div{background:#ffffffd1;border:1px solid #2f396f1f;border-radius:10px;padding:13px;box-shadow:0 9px 22px #4036650f}.case-scale strong,.case-scale span{display:block}.case-scale strong{color:var(--ink-deep);font-size:1.2rem}.case-scale span{color:#707692;margin-top:2px;font-size:.52rem}.case-brief{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:19px;display:grid}.case-brief>div{background:#fbf0f6c2;border-left:2px solid #d99ab6;padding:13px}.case-brief small{color:#9b677f;letter-spacing:.08em;text-transform:uppercase;font-size:.5rem;font-weight:700}.case-brief p{color:#606681;margin:6px 0 0;font-size:.61rem;line-height:1.5}.architecture{background:#ffffffc2;border:1px solid #2f396f1f;border-radius:16px;margin-top:28px;padding:24px}.architecture header{grid-template-columns:auto minmax(260px,460px);align-items:end;gap:28px;margin-bottom:22px;display:grid}.architecture header h4{font-family:var(--font-display);margin:4px 0 0;font-size:1.8rem;font-weight:500}.architecture header p{color:#686e89;margin:0;font-size:.66rem}.architecture--online{box-shadow:inset 3px 0 #778bc7}.architecture--offline{background:linear-gradient(145deg,#fff9f5e6,#fff2f7d4);box-shadow:inset 3px 0 #d08a9e}.flow-grid{gap:34px;display:grid}.flow-grid--online{grid-template-rows:repeat(2,auto);grid-template-columns:repeat(4,minmax(0,1fr))}.flow-grid--online .flow-node--step-1{grid-area:1/1}.flow-grid--online .flow-node--step-2{grid-area:1/2}.flow-grid--online .flow-node--step-3{grid-area:1/3}.flow-grid--online .flow-node--step-4{grid-area:1/4}.flow-grid--online .flow-node--step-5{grid-area:2/4}.flow-grid--online .flow-node--step-6{grid-area:2/3}.flow-grid--online .flow-node--step-7{grid-area:2/2}.flow-grid--online .flow-node--step-8{grid-area:2/1}.flow-grid--offline{grid-template-rows:repeat(2,auto);grid-template-columns:repeat(3,minmax(0,1fr))}.flow-grid--offline .flow-node--step-1{grid-area:1/1}.flow-grid--offline .flow-node--step-2{grid-area:1/2}.flow-grid--offline .flow-node--step-3{grid-area:1/3}.flow-grid--offline .flow-node--step-4{grid-area:2/3}.flow-grid--offline .flow-node--step-5{grid-area:2/2}.flow-grid--offline .flow-node--step-6{grid-area:2/1}.flow-node{z-index:1;outline-offset:3px;background:#fff;border:1px solid #323c7124;border-radius:11px;align-content:center;gap:4px;min-height:82px;padding:12px;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;position:relative;box-shadow:0 8px 20px #36325e12}.flow-node:hover,.flow-node:focus-visible{z-index:6;border-color:#5e6bab80;transform:translateY(-3px);box-shadow:0 13px 28px #36325e21}.flow-node--offline{background:#fffafc;border-color:#b2698233}.flow-node small{color:#af7c94;font-size:.47rem;font-weight:700}.flow-node strong{color:#263267;font-size:.62rem;line-height:1.35}.flow-node:after{color:#9ba2c8;font-size:1rem;font-weight:700;position:absolute}.flow-node[data-direction=right]:after{content:"→";top:50%;right:-27px;transform:translateY(-50%)}.flow-node[data-direction=left]:after{content:"←";top:50%;left:-27px;transform:translateY(-50%)}.flow-node[data-direction=down]:after{content:"↓";bottom:-29px;left:50%;transform:translate(-50%)}.flow-node[data-direction=none]:after{display:none}.flow-node [role=tooltip]{z-index:10;color:#fff;opacity:0;visibility:hidden;pointer-events:none;background:#263267;border-radius:8px;width:230px;padding:10px 12px;font-size:.56rem;line-height:1.5;transition:opacity .18s,transform .18s,visibility 0s linear .18s;position:absolute;bottom:calc(100% + 9px);right:0;transform:translateY(5px);box-shadow:0 12px 25px #1d224b3d}.flow-node:hover [role=tooltip],.flow-node:focus-visible [role=tooltip]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.offline-trigger{color:#935e73;background:#ffffffc2;border:1px solid #b46e8738;border-radius:999px;align-items:center;gap:8px;margin:0 0 19px;padding:8px 12px;font-size:.57rem;font-weight:700;display:inline-flex}.case-note{color:#888ba0;text-align:right;margin:13px 0 0;font-size:.53rem}.skills{background:linear-gradient(#fbf8f3,#fffafc)}.skills__grid{width:var(--page);grid-template-columns:1.15fr .85fr;gap:28px;margin:auto;display:grid}.skill-groups{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.skill-groups article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff94;min-height:240px;padding:30px}.skill-groups h3{margin-bottom:23px;font-size:1.35rem;font-weight:500}.skill-groups ul{flex-wrap:wrap;gap:8px;display:flex}.skill-groups li{color:#5b607b;background:#f2edf4;border-radius:7px;padding:7px 10px;font-size:.66rem}.certifications{color:var(--white);box-shadow:var(--shadow);background:linear-gradient(145deg,#202b67,#6f5587);border-radius:18px;padding:38px}.certifications>span{color:#f2bfd2;letter-spacing:.12em;text-transform:uppercase;font-size:.59rem;font-weight:700}.certifications h3{margin:15px 0 25px;font-size:2.2rem;font-weight:500}.certifications p{border-top:1px solid #ffffff21;grid-template-columns:28px 1fr 18px;align-items:center;gap:12px;margin:0;padding:15px 0;font-size:.7rem;display:grid}.certifications p small{color:#f2bfd2}.certifications p svg{color:#efbfd3}.contact{isolation:isolate;background:#f8e8ee;min-height:690px;padding:110px 0 88px;position:relative;overflow:hidden}.contact__background{z-index:-3;opacity:.48;background:url(/assets/hero/sakura-city-enhanced-1920.webp) 50% 62%/cover no-repeat;position:absolute;inset:0;transform:scale(1.012)}.contact:before{content:"";z-index:-2;background:linear-gradient(90deg,#fffafbf5,#fff5f9e0 55%,#f5dae86e);position:absolute;inset:0}.contact__layout{width:var(--page);grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:58px;margin:auto;display:grid}.contact__content{z-index:2;max-width:870px;position:relative}.contact__content>span{color:#a16d86;letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:700}.contact h2{letter-spacing:-.05em;margin:25px 0;font-size:clamp(3rem,5.4vw,6.2rem);font-weight:500}.contact__content>p{color:#5e6480;max-width:690px}.contact__content>div{flex-wrap:wrap;gap:11px;margin-top:31px;display:flex}.contact__content>small{color:#777b93;align-items:center;gap:8px;margin-top:27px;display:flex}.contact__lumi{z-index:1;filter:drop-shadow(0 24px 30px #4d375f2b);align-self:end;width:100%;position:relative}.contact__lumi>span{z-index:-1;background:radial-gradient(circle,#ffffffd1,#f1c8dc47 52%,#0000 72%);border-radius:50%;position:absolute;inset:7% -5% -3%}.contact__lumi img{object-fit:contain;width:100%}.contact footer{z-index:3;color:#757a91;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:.58rem;display:flex;position:absolute;bottom:28px;left:max(42px,50vw - 720px);right:max(42px,50vw - 720px)}@keyframes background-breathe{0%{scale:1}to{scale:1.006}}@keyframes welcome-arrive{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes welcome-lumi-arrive{0%{opacity:0;transform:translateY(35px)scale(.96)}to{opacity:1;transform:none}}@keyframes welcome-lumi-arrive-mobile{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:.7;transform:none}}@keyframes welcome-sunrise{0%{opacity:.35;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes welcome-petal{to{transform:translate(9vw,116vh)rotate(440deg)}}@keyframes welcome-reveal{0%{clip-path:circle(160% at 79% 76%)}68%{opacity:1}to{clip-path:circle(0 at 79% 76%);opacity:.96}}@keyframes cloud-drift{to{transform:translate(7vw,1.5vh)}}@keyframes sunlight{50%{opacity:.68;transform:scale(1.08)}}@keyframes halo-pulse{50%{opacity:.64;transform:scale(1.05)}}@keyframes bubble-float{50%{transform:translateY(-7px)}}@keyframes scroll-bob{50%{transform:translateY(5px)rotate(45deg)}}@keyframes petal-fall{0%{transform:translateY(-5vh)rotate(0)}45%{transform:translate3d(var(--drift),50vh,0) rotate(190deg)}to{transform:translate3d(calc(var(--drift) * -.45),108vh,0) rotate(430deg)}}@media (min-width:1200px) and (min-resolution:1.5x){.hero__background{background-image:url(/assets/hero/sakura-city-enhanced-3840.webp)}}@media (max-width:1180px){:root{--page:min(100% - 48px, 1080px)}.site-nav>a{padding-inline:8px;font-size:.68rem}.hero{min-height:900px}.hero__content{grid-template-columns:1.12fr .88fr;min-height:804px;padding-top:70px}.hero__metrics{grid-template-columns:repeat(2,1fr);max-width:580px}.hero__lumi{min-height:620px}.lumi-guide{width:min(600px,49vw);right:0}.lumi-guide__bubble{width:235px;top:-16%;left:26%}.section-heading{grid-template-columns:145px 1fr 320px}.project-browser,.project-detail{grid-template-columns:1fr}.project-detail__visual{min-height:350px}.project-detail__copy{padding:38px}.biometric-case{padding:26px}.biometric-case__hero{grid-template-columns:minmax(220px,.58fr) 1.42fr;gap:24px}.biometric-device{min-height:410px}}@media (max-width:1120px){.site-header{padding:0 24px}.menu-toggle{display:grid}.site-nav{width:min(340px,100vw - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafcf5;border:1px solid #ffffffb3;border-radius:14px;padding:12px;display:none;position:absolute;top:100%;right:24px}.site-nav.is-open{display:grid}.site-nav>a{padding:13px}.site-nav .resume-link{background:var(--ink-deep);color:var(--white);justify-content:center;margin:5px 0 0}}@media (max-width:900px){:root{--header-height:76px;--page:calc(100% - 36px)}.site-header{height:var(--header-height);padding:0 18px}.brand__mark{width:46px;height:46px;font-size:1rem}.brand small{display:none}.menu-toggle{display:grid}.site-nav{width:min(340px,100vw - 36px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafcf5;border:1px solid #ffffffb3;border-radius:14px;padding:12px;display:none;position:absolute;top:100%;right:18px}.site-nav.is-open{display:grid}.site-nav>a{padding:13px}.site-nav .resume-link{background:var(--ink-deep);color:var(--white);justify-content:center;margin:5px 0 0}.hero{min-height:1270px}.hero:before{background:linear-gradient(#fffafbeb 0%,#fff7fac4 55%,#ffeef62e 78%)}.hero__background{background-position:57%}.hero__content{min-height:auto;padding-top:65px;display:block;position:static}.hero__copy{max-width:680px}.hero h1{font-size:clamp(3.8rem,12vw,6rem)}.hero__lumi{width:54%;min-height:470px;position:absolute;bottom:22px;right:0}.lumi-guide{width:min(540px,65vw);bottom:0;right:0}.lumi-guide__bubble{width:215px;top:24%;left:-25%}.field-note{max-width:340px;margin-top:36px}.scroll-cue{display:none}.section-heading{margin-bottom:42px;display:block}.section-heading>span{margin-bottom:13px;display:block}.section-heading p{max-width:620px;margin-top:20px}.career-progression{grid-template-columns:auto 1fr auto 1fr auto}.experience__grid{border-left:0;grid-template-columns:1fr}.experience-card{border-left:1px solid var(--line);min-height:0}.operations__grid{grid-template-columns:repeat(2,1fr)}.operations__path{flex-wrap:wrap;gap:9px}.operations__path i{width:28px;margin:0}.project-browser{grid-template-columns:1fr}.project-list{border-right:0;grid-template-columns:repeat(2,1fr);display:grid}.project-list button{border-right:1px solid var(--line)}.biometric-case{padding:30px}.biometric-case__hero{grid-template-columns:minmax(210px,.7fr) 1.3fr}.skills__grid{grid-template-columns:1fr}.contact__layout{grid-template-columns:minmax(0,1fr) 250px;gap:30px}.contact__content{max-width:100%}.welcome-screen__layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px;width:calc(100% - 46px)}.welcome-screen h2{font-size:clamp(3.7rem,9vw,5.6rem)}.welcome-screen__lumi{height:min(58vh,540px)}}@media (max-width:620px){:root{--page:calc(100% - 28px)}.brand{gap:10px}.brand strong{font-size:.71rem}.hero{min-height:1450px}.hero__background{background-position:62%}.hero:before{background:linear-gradient(#fffafbf5,#fff7fadb 52%,#ffeef633 78%)}.hero__content{padding-top:45px}.hero__hello{font-size:1.25rem}.hero h1{margin-top:5px;font-size:clamp(3.25rem,16vw,4.8rem);line-height:.96}.hero__headline,.hero__secondary{max-width:95%;font-size:.85rem}.hero__summary{margin-block:20px;font-size:.82rem}.hero__metrics{grid-template-columns:repeat(2,1fr)}.hero__metrics article{min-height:85px;padding:13px 11px}.hero__metrics strong{font-size:1.05rem}.hero__actions{grid-template-columns:1fr 1fr;display:grid}.button{min-height:49px;padding:0 14px;font-size:.67rem}.field-note{max-width:80%;margin-top:29px}.hero__lumi{width:74%;min-height:470px;bottom:-5px;right:0}.lumi-guide{width:94vw;right:0}.lumi-guide__bubble{width:220px;padding:13px;top:-10%;left:-1%}.lumi-guide__bubble p{font-size:.65rem}.section{padding:86px 0}.section-heading h2{font-size:2.65rem}.career-progression{flex-direction:column;align-items:flex-start;gap:8px;margin-top:-12px;display:flex}.career-progression i{width:30px}.experience-card{padding:26px}.experience-card__meta{margin-bottom:30px}.operations__grid{grid-template-columns:1fr}.operations__path{justify-content:flex-start}.operations__grid article{min-height:285px}.project-list{display:block}.project-list button{min-height:84px}.project-detail__visual{min-height:270px;padding:20px}.project-detail__copy{padding:27px}.project-facts{grid-template-columns:1fr}.project-process li:not(:last-child):after{display:none}.biometric-case{padding:17px}.biometric-case__hero{grid-template-columns:1fr}.biometric-device{min-height:330px}.biometric-device img{width:min(68%,230px);max-height:300px}.case-scale{gap:5px}.case-scale>div{padding:10px 8px}.case-brief{grid-template-columns:1fr}.architecture{padding:16px}.architecture header{grid-template-columns:1fr;gap:8px}.flow-grid--online,.flow-grid--offline{grid-template-rows:none;grid-template-columns:1fr}.flow-grid .flow-node{grid-area:auto}.flow-node:after{content:"↓"!important;inset:auto auto -28px 50%!important;transform:translate(-50%)!important}.flow-node:last-child:after{display:none}.flow-node [role=tooltip]{width:min(230px,76vw);left:0;right:auto}.system-visual{grid-template-columns:repeat(2,1fr)}.skill-groups{grid-template-columns:1fr}.skill-groups article{min-height:0}.certifications{padding:28px}.contact{min-height:0;padding:90px 0 40px}.contact__layout{display:block}.contact__content{max-width:100%}.contact h2{font-size:3rem}.contact__lumi{opacity:1;width:min(280px,74vw);margin:46px auto 20px}.contact footer{width:var(--page);gap:5px;margin:52px auto 0;display:grid;position:relative;bottom:auto;left:auto;right:auto}.welcome-screen{place-items:stretch stretch}.welcome-screen__layout{width:calc(100% - 34px);min-height:100%;margin:auto;display:block}.welcome-screen__copy{z-index:3;max-width:100%;padding:28px 0 40px;position:relative}.welcome-screen__identity{margin-bottom:clamp(72px,13vh,116px)}.welcome-screen__eyebrow{margin-bottom:12px}.welcome-screen h2{max-width:340px;font-size:clamp(3.2rem,15.5vw,4.6rem);line-height:.92}.welcome-screen__intro{max-width:82%;margin:20px 0 28px;font-size:.78rem}.welcome-screen__status{width:min(78%,320px)}.welcome-screen__lumi{z-index:1;width:270px;height:48vh;max-height:430px;animation-name:welcome-lumi-arrive-mobile;position:absolute;bottom:2%;right:-54px}.welcome-screen__lumi p{display:none}.welcome-screen__sun{width:105vw;top:-24vw;left:-35vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.petals,.welcome-screen__petals{display:none}}
